2012-03-02 55 views
7

Tôi có tệp html thuần túy rất đơn giản, trong đó tôi có nhiều tệp PDF. Tôi có liên kết nó như thế này:Xem tệp PDF bằng HTML không tải xuống tệp

<a href="pdffile.pdf"> PDF 1 here </a> 

Khi tôi nhấp vào liên kết, tệp PDF sẽ được tải xuống và xem trong chương trình Reader gốc. Tôi muốn nó mở trong một cửa sổ khác của trình duyệt, và đọc nó ở đó, thay vì sau đó lưu một bản sao theo cách thủ công vào máy tính của tôi và mở nó.

+0

Dường như đây là sự cố đã biết đối với Chrome. Bạn có thấy cùng một vấn đề ở nơi khác không? Để khắc phục sự cố Chrome, bạn có thể sử dụng https://chrome.google.com/webstore/detail/nnbmlagghjjcbdhgmkedmbmedengocbn –

Trả lời

8

Xem tệp PDF trong trình duyệt (không tải xuống) yêu cầu bổ trợ cho trình duyệt của khách hàng. Google Chrome, ví dụ, có trình xem PDF tích hợp và có thể mở tệp trực tiếp, trong khi IE và Firefox yêu cầu bạn cài đặt trình cắm (trình cắm kèm theo Adobe Reader).

Có hai cách tiếp cận khác:

  1. Chuyển đổi tập tin sang HTML, hình ảnh, hoặc bất kỳ định dạng khác có thể được xem trực tiếp trong trình duyệt. Chuyển đổi này có thể được on-the-fly bằng cách sử dụng một phía máy chủ (viết bằng PHP, Python, ASP, bất cứ ngôn ngữ nào), hoặc bạn chỉ có thể chuyển đổi trước tất cả các tập tin thành một tập tin có thể đọc được.

  2. Cách tiếp cận khác, là tốt nhất, là sử dụng trình xem PDF dựa trên Flash (chẳng hạn như http://flexpaper.devaldi.com/). Điều này rất dễ dàng, linh hoạt và không yêu cầu viết mã phía máy chủ. Cách tiếp cận này được sử dụng bởi nhiều trang web chia sẻ tài liệu (ví dụ http://www.scribd.com/, http://www.slideshare.net/, http://www.docstoc.com/)

+0

Tôi nghĩ câu trả lời này có giải pháp gần nhất cho vấn đề của tôi. Cảm ơn @Aziz – woninana

1

Trình duyệt của bạn cần trình đọc PDF để đọc tệp PDF trong trình duyệt. Tìm kiếm nhanh trên google sẽ cung cấp cho bạn một tìm kiếm cho bất kỳ trình duyệt nào bạn đang sử dụng.

0

Nếu tệp không được lưu trong bộ nhớ cache, tệp đó phải được tải xuống. Nghĩa là, nếu bạn lấy nó bằng cách sử dụng HTTP. Nếu nó nằm trong hệ thống tệp cục bộ của bạn, bạn có thể sử dụng file URI scheme.

+0

Điều này có nghĩa là anh ấy muốn nó hiển thị trong trình duyệt và không được tải xuống và xem bởi Adobe Reader. –

+1

Đánh giá bởi các câu trả lời và phiếu bầu khác, bạn nói đúng. Nhưng sau đó câu hỏi của ông nên đọc một cái gì đó như "làm thế nào để có một PDF mở trong một cửa sổ trình duyệt, không phải trong một ứng dụng khác". Nó không phải là điều hiển nhiên. –

+0

Bạn nói đúng, không rõ ràng. Tôi đã chỉnh sửa câu hỏi để xây dựng. –

2

tôi sử dụng này

cho HTML

<a href="view.php?download_file=MIKOGO Remote Support.pdf"><img src="images/view.png" alt=" " border="0"/></a> 

và file view.php để xem thông qua PDF.

<?php 

$path = $_SERVER['DOCUMENT_ROOT']."/demo/documents/"; // change the path to fit your websites document structure 
$fullPath = $path.$_GET['download_file']; 

if ($fd = fopen ($fullPath, "r")) { 
$fsize = filesize($fullPath); 
$path_parts = pathinfo($fullPath); 
$ext = strtolower($path_parts["extension"]); 
switch ($ext) { 
    case "pdf": 
    header("Content-type: application/pdf"); // add here more headers for diff. extensions 
    header("Content-Disposition: inline; filename=\"".$path_parts["basename"]."\"");  
    break; 
    default; 
    header("Content-type: application/octet-stream"); 
    header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); 
} 
header("Content-length: $fsize"); 
header("Cache-control: private"); //use this to open files directly 
while(!feof($fd)) { 
    $buffer = fread($fd, 2048); 
    echo $buffer; 
} 
} 
fclose ($fd); 
exit; 
?> 

Đảm bảo trình duyệt của bạn có tiện ích bổ sung PDF trên đó.

3

Mozilla đã tạo thư viện PDF.js. Nó hiển thị các tập tin pdf trong một trang web mà không cần một trình đọc hoặc plugin bên ngoài.

Các vấn đề liên quan