我有一个非常简单的纯html文件,其中有很多PDF文件。我有这样的链接:
<a href="pdffile.pdf"> PDF 1 here </a>
当我点击链接时,PDF文件被下载并在原生Reader程序中查看。我希望它在浏览器的另一个窗口中打开,然后在那里阅读,而不是手动将副本保存到我的计算机并打开它。
答案 0 :(得分:10)
几乎所有现代浏览器都有内置的PDF查看器。您可以直接链接到PDF文件,浏览器将查看它。如果您想在HTML页面中查看(例如,使用您的网站标题等),也可以使用<iframe>
。
另一种方法,但更复杂,除了非常特殊的情况外,没有必要将PDF文件转换为HTML(如下面2012年答案的#1中所述)。
在浏览器中查看PDF文件(无需下载)需要客户端浏览器的附加组件。例如,谷歌浏览器有一个内置的PDF查看器,可以直接打开文件,而IE和Firefox要求你安装一个插件(Adobe Reader附带的插件)。
还有另外两种方法:
将文件转换为HTML,图像或可在浏览器中直接查看的任何其他格式。这种转换可以使用服务器端(用PHP,Python,ASP,无论什么语言编写)即时转换,或者您可以将所有文件预转换为可读文件。
另一种最好的方法是使用基于Flash的PDF查看器(例如http://flexpaper.devaldi.com/)。这很简单,灵活,不需要编写服务器端代码。许多文档共享网站都使用此方法(例如http://www.scribd.com/,http://www.slideshare.net/,http://www.docstoc.com/)
答案 1 :(得分:3)
我用这个
用于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插件。
答案 2 :(得分:3)
Mozilla创建了PDF.js库。它在没有外部阅读器或插件的网页中显示pdf文件。
答案 3 :(得分:1)
您的浏览器需要插入PDF阅读器才能在浏览器中阅读PDF。快速谷歌搜索应该为您提供任何浏览器使用。
答案 4 :(得分:0)
如果文件未缓存,则必须下载。也就是说,如果你使用HTTP获取它。如果它位于您的本地文件系统上,则可以使用file URI scheme。
答案 5 :(得分:0)
右键单击 打开用 选择默认程序 选择 Adobe Reader 好 如果您想打开Chrome其他任何应用 相同步骤 最后一步 选择 铬