2012-03-02 77 views
7

我有一个非常简单的纯HTML文件,其中有很多PDF文件。我有这样的链接:查看HTML格式的PDF文件无法下载它

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

当我点击链接,PDF文件是downaloaded,并在本机读者程序中查看。我希望它在浏览器的另一个窗口中打开,并在那里阅读,而不是手动将副本保存到我的计算机并打开它。

+0

似乎这是一个已知的Chrome问题。你在其他地方也看到过相同的问题吗?对于Chrome修复程序,您可以使用此https://chrome.google.com/webstore/detail/nnbmlagghjjcbdhgmkedmbmedengocbn – 2012-03-02 08:45:04

回答

8

在浏览器中查看PDF文件(无需下载)需要客户端浏览器的附件。例如,Google Chrome浏览器内置PDF阅读器,可以直接打开文件,而IE和Firefox则要求您安装插件(Adobe Reader附带的插件)。

还有其他两种方法:

  1. 将文件转换为HTML,图像,或者可以在浏览器中直接观看的任何其它格式。这种转换可以使用服务器端(用PHP,Python,ASP,任何语言编写)即时即时转换,或者您可以将所有文件预先转换为可读文件。

  2. 另一种方法是使用基于Flash的PDF查看器(例如http://flexpaper.devaldi.com/),该方法是最佳。这很简单,灵活,不需要编写服务器端代码。这种方法被许多文件共享网站(如http://www.scribd.com/http://www.slideshare.net/http://www.docstoc.com/

+0

我认为这个答案对我的问题有最接近的解决方案。谢谢@Aziz – woninana 2012-03-02 09:09:24

1

您的浏览器需要一个PDF阅读器才能在浏览器中阅读PDF。快速谷歌搜索应该为您提供一个适用于您使用的任何浏览器。

0

如果文件没有被缓存,它必须被下载。也就是说,如果你使用HTTP抓取它。如果它位于本地文件系统上,则可以使用file URI scheme

+0

他意味着他希望它在浏览器中显示,而不是由Adobe Reader下载和查看。 – 2012-03-02 08:44:49

+1

从其他答案和选票判断,你是对的。但是接下来他的问题应该是:“如何在浏览器窗口中打开PDF,而不是在另一个应用中打开”。他的意思并不那么明显。 – 2012-03-02 08:54:58

+0

你说得对,这并不明显。我编辑了这个问题来详细说明。 – 2012-03-02 08:57:19

2

我用这个

为HTML

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

和观看view.php文件它通过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; 
?> 

确保您的浏览器上有PDF加载项。

3

Mozilla创建了PDF.js库。它在没有外部阅读器或插件的网页中显示PDF文件。