Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Có cách nào để buộc các tệp PDF mở trong trình duyệt khi tùy chọn "Hiển thị PDF trong trình duyệt" không được chọn không?

Tôi đã thử sử dụng thẻ nhúng và iframe, nhưng nó chỉ hoạt động khi tùy chọn đó được kiểm tra.

Tôi có thể làm gì?

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Đã hỏi ngày 9 tháng 6 năm 2011 lúc 13:54Jun 9, 2011 at 13:54

Elloalisboaelloalisboaelloalisboa

2.8432 Huy hiệu vàng16 Huy hiệu bạc10 Huy hiệu đồng2 gold badges16 silver badges10 bronze badges

Để chỉ ra cho trình duyệt rằng tệp nên được xem trong trình duyệt, phản hồi HTTP nên bao gồm các tiêu đề này:

Content-Type: application/pdf
Content-Disposition: inline; filename="filename.pdf"

Để tải xuống tệp thay vì đã xem:

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"

Các trích dẫn xung quanh tên tệp là bắt buộc nếu tên tệp chứa các ký tự đặc biệt như

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
4 có thể phá vỡ khả năng của trình duyệt để xử lý phản hồi.

Cách bạn đặt các tiêu đề phản hồi HTTP sẽ phụ thuộc vào máy chủ HTTP của bạn (hoặc, nếu bạn đang tạo phản hồi PDF từ mã phía máy chủ: ngôn ngữ lập trình phía máy chủ của bạn).

Quentin

881K121 Huy hiệu vàng1179 Huy hiệu bạc1293 Huy hiệu Đồng121 gold badges1179 silver badges1293 bronze badges

Đã trả lời ngày 10 tháng 8 năm 2012 lúc 2:45Aug 10, 2012 at 2:45

7

Loại chính xác là

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
5 cho PDF, không phải
Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
6. Điều này trông giống như một hack cho một số trình duyệt di sản. Luôn luôn sử dụng đúng kiểu mẫu nếu bạn có thể.

Nếu bạn có quyền kiểm soát mã máy chủ:

  • Tải xuống cưỡng bức/nhắc nhở: Sử dụng
    Content-Type: application/pdf
    Content-Disposition: attachment; filename="filename.pdf"
    
    7
  • Trình duyệt cố gắng mở nó: Sử dụng
    Content-Type: application/pdf
    Content-Disposition: attachment; filename="filename.pdf"
    
    8

Không kiểm soát mã máy chủ:

  • Sử dụng thuộc tính tải xuống HTML5. Nó sử dụng tên tệp tùy chỉnh được chỉ định ở phía chế độ xem.

Lưu ý: Tôi thích đặt tên tệp ở phía máy chủ vì bạn có thể có thêm thông tin và có thể sử dụng mã chung.

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Đã trả lời ngày 4 tháng 2 năm 2015 lúc 14:13Feb 4, 2015 at 14:13

0

.

Nếu bạn đang sử dụng HTML5 (và tôi đoán ngày nay mọi người đều sử dụng nó), có một thuộc tính gọi là

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
9.

Ví dụ,


Ở đây


0 là tùy chọn, nhưng nếu được cung cấp, nó sẽ lấy tên này cho tệp đã tải xuống.

CHỈNH SỬA

Tôi biết đây là điều ngược lại với những gì câu hỏi được hỏi. Tôi đang giữ câu trả lời ngược lại cho những người (như tôi), người đã tìm kiếm câu hỏi ngược lại (bằng chứng: Câu trả lời này có nhiều upvote hơn sau đó là downvote)

Đã trả lời ngày 1 tháng 10 năm 2014 lúc 10:00Oct 1, 2014 at 10:00

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

AkshayakshayAkshay

3.3483 Huy hiệu vàng38 Huy hiệu bạc73 Huy hiệu đồng3 gold badges38 silver badges73 bronze badges

7

Tôi đã có cùng một vấn đề và hầu hết các câu trả lời trên sẽ giải quyết vấn đề của bạn. Thật không may, ngay cả khi tôi đã nhận được các tiêu đề loại bỏ nội dung & nội dung trong phản hồi nhưng bản PDF của tôi vẫn được tải xuống thay vì xem. Sau khi động não và cố gắng trong nhiều giờ.same issue and most of the above answers should resolve your issue. Unfortunately, even if i was receiving the content-type & content-disposition headers in the response but still my pdf was being downloaded rather than viewed. After brainstorming and trying for many hours.

Thủ phạm là Firefox, theo cách đó là tôi. Tiếng cười lo lắngfirefox, well in a way it was me. Nervous Laughter

Theo mặc định, khi bạn mở tệp PDF trong Firefox, nó sẽ cung cấp cho bạn một cửa sổ bật lên để lưu tệp PDF hoặc mở trực tiếp nó., when you open a pdf file in firefox, it will provide you with a popup to either save the pdf file or to open it directly and there is also a check box which says do this action automatically from now on and guess who selected it.

Do sai lầm này, PDF của tôi đã được tải xuống thay vì xem, ngay cả khi có tất cả các tiêu đề cần thiết để đáp ứng. Đây là một sai lầm đơn giản nhưng khiến tôi mất một khoảng thời gian tốt.my pdf was being downloaded rather than viewed, even if had all the required headers in response. This is a simple mistake but cost me a good amount of time.

Để giải quyết vấn đề này, chỉ cần chuyển đến Cài đặt và tìm kiếm các ứng dụng và thay đổi cài đặt PDF thành bất cứ điều gì bạn cần.go to settings and search for applications and change pdf setting to whatever you need.

Đã trả lời ngày 7 tháng 6 năm 2021 lúc 5:15Jun 7, 2021 at 5:15

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Ashfaq Nisarashfaq NisarAshfaq nisar

2.21910 Huy hiệu bạc19 Huy hiệu đồng10 silver badges19 bronze badges

1

Đây là dành cho ASP.NET MVC

Trong trang CSHTML của bạn:

@Model.Name

Your browser does not support viewing PDFs, click on the link above to download the document.

Trong bộ điều khiển của bạn:

public ActionResult Download(Guid id)
    {
        if (id == Guid.Empty)
            return null;

        var model = GetModel(id);

        return File(model.FilePath, "application/pdf", model.FileName);
    }

public FileStreamResult View(Guid id)
    {
        if (id == Guid.Empty)
            return null;

        var model = GetModel(id);

        FileStream fs = new FileStream(model.FilePath, FileMode.Open, FileAccess.Read);

        return File(fs, "application/pdf");
    }

Đã trả lời ngày 29 tháng 11 năm 2016 lúc 11:05Nov 29, 2016 at 11:05

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Nếu bạn có Apache, hãy thêm điều này vào tệp


1:


    ForceType application/octet-stream
    Header set Content-Disposition attachment

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Đã trả lời ngày 11 tháng 8 năm 2015 lúc 10:20Aug 11, 2015 at 10:20

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

AlexanderalexanderAlexander

511 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

2

Mặc dù sau đây hoạt động tốt trên Firefox, nhưng nó không hoạt động trên các trình duyệt Chrome và di động.

Content-Type: application/pdf
Content-Disposition: inline; filename="filename.pdf"

Để sửa lỗi trình duyệt Chrome & Mobile, hãy làm như sau:

  • Lưu trữ các tệp của bạn trên một thư mục trong dự án của bạn
  • Sử dụng Trình xem Google PDF

Trình xem Google PDF có thể được sử dụng như vậy:


Đã trả lời ngày 11 tháng 5 năm 2020 lúc 13:55May 11, 2020 at 13:55

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Nick Arnienick ArnieNick Arnie

Huy hiệu vàng 1311 Huy hiệu bạc10 Huy hiệu đồng1 gold badge2 silver badges10 bronze badges

1

Rất tiếc, đã có lỗi gõ trong bài viết trước của tôi.

    header("Content-Type: application/force-download");
    header("Content-type: application/pdf");
    header("Content-Disposition: inline; filename=\"".$name."\";");

Nếu bạn không muốn trình duyệt nhắc người dùng thì hãy sử dụng "nội tuyến" cho chuỗi thứ ba thay vì "tệp đính kèm". Nội tuyến hoạt động rất tốt. Màn hình PDF ngay lập tức mà không yêu cầu người dùng nhấp vào Mở. Tôi đã sử dụng "tệp đính kèm" và điều này sẽ nhắc người dùng mở, lưu. Tôi đã cố gắng thay đổi đai ốc cài đặt trình duyệt, nó không ngăn được lời nhắc.

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Đã trả lời ngày 22 tháng 11 năm 2014 lúc 15:38Nov 22, 2014 at 15:38

1

Đối với các tệp lớn, bạn cần khởi động bộ đệm đầu ra của mình, thêm:-


2 // khi bắt đầu

..//ma cua ban

________ 23 // ở cuối tệp của bạn

Đã trả lời ngày 6 tháng 5 lúc 11:59May 6 at 11:59

1

Bạn có thể làm điều này theo cách sau:

Open PDF

Nếu tệp PDF nằm trong một số thư mục và thư mục đó không có quyền truy cập các tệp trong thư mục đó thì bạn phải bỏ qua một số hạn chế truy cập tệp bằng cách sử dụng cài đặt tệp


1 bằng cách này:

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
0

Nhưng bây giờ chỉ cho phép một số tập tin cần thiết nhất định.

Tôi đã sử dụng mã này và nó hoạt động hoàn hảo.

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Đã trả lời ngày 9 tháng 11 năm 2012 lúc 10:33Nov 9, 2012 at 10:33

1

Mở tải xuống.php từ rootfile.

Sau đó chuyển đến dòng 186 và thay đổi nó thành phần sau:

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
1

Cleb

23.6K18 Huy hiệu vàng105 Huy hiệu bạc143 Huy hiệu đồng18 gold badges105 silver badges143 bronze badges

Đã trả lời ngày 12 tháng 11 năm 2014 lúc 14:29Nov 12, 2014 at 14:29

2

Dưới đây là một phương pháp khác để buộc một tệp để xem trong trình duyệt trong PHP:

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
2

Hướng dẫn how do i open pdf in browser instead of download html? - Làm cách nào để mở pdf trong trình duyệt thay vì tải xuống html?

Đã trả lời ngày 25 tháng 2 năm 2015 lúc 11:15Feb 25, 2015 at 11:15

user28864user28864user28864

3.3031 Huy hiệu vàng24 Huy hiệu bạc19 Huy hiệu đồng1 gold badge24 silver badges19 bronze badges

1

Nếu bạn liên kết đến .pdf, nó sẽ mở trong trình duyệt. Nếu hộp không được kiểm soát, nó sẽ liên kết đến .zip để buộc tải xuống.
If the box is unchecked it should link to a .zip to force the download.

Nếu một .zip không phải là một tùy chọn, thì hãy sử dụng các tiêu đề trong PHP để buộc tải xuống

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"
3

Đã trả lời ngày 9 tháng 6 năm 2011 lúc 13:56Jun 9, 2011 at 13:56

Kirk Strobeckkirk StrobeckKirk Strobeck

17.4K18 Huy hiệu vàng74 Huy hiệu bạc110 Huy hiệu đồng18 gold badges74 silver badges110 bronze badges

3

Làm cách nào để nhận được bản PDF để hiển thị thay vì tải xuống trong HTML?

Sử dụng Trình xem Google PDF..

Làm cách nào để buộc PDF mở trong trình duyệt thay vì tải xuống?

Ở phía trên bên phải, nhấp vào nhiều cài đặt.Ở phía dưới, nhấp vào Hiển thị cài đặt nâng cao.Dưới sự riêng tư của người Viking, nhấp vào Cài đặt nội dung.Trong các tài liệu PDF PDF, "Kiểm tra hộp bên cạnh" Mở tệp PDF trong ứng dụng Trình xem PDF mặc định.(Bỏ chọn hộp này nếu bạn muốn PDFS tự động mở khi bạn nhấp vào chúng.)

Làm cách nào để ngăn chrome tải pdf dưới dạng html?

Chrome> Cài đặt> Quyền riêng tư & Bảo mật> Cài đặt trang web> Cài đặt nội dung bổ sung> Tài liệu PDF> Bỏ chọn Tải xuống các tệp PDF thay vì tự động mở chúng trong Chrome..

Tại sao Chrome tải xuống HTML thay vì PDF?

Sự kết luận.Tệp PDF thay đổi thành Chrome vì bạn có thể đã chọn trình duyệt Chrome làm trình xem PDF mặc định của bạn.Bạn có thể khắc phục sự cố từ các thuộc tính tệp của các tệp PDF hoặc từ cài đặt của hệ thống.you may have selected the chrome browser as your default PDF viewer. You can fix the issue from the file properties of PDF files or from the system's settings.