【问题标题】:View a PDF file in HTML not to download it以 HTML 格式查看 PDF 文件不要下载它
【发布时间】:2012-03-20 18:37:58
【问题描述】:

我有一个非常简单的纯 html 文件,其中有许多 PDF 文件。我有这样的链接:

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

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

【问题讨论】:

标签: html pdf


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果文件未缓存,则必须下载。也就是说,如果您使用 HTTP 获取它。如果它在您的本地文件系统上,您可以使用file URI scheme

    【讨论】:

    • 他的意思是他希望它显示在浏览器中,而不是通过 Adob​​e Reader 下载和查看。
    • 从其他答案和投票来看,你是对的。但随后他的问题应该是“如何在浏览器窗口中打开 PDF,而不是在另一个应用程序中”。他的意思不是很明显。
    • 你是对的,这并不明显。我已经编辑了这个问题来详细说明。
    【解决方案3】:

    2018 年更新

    几乎所有现代浏览器都内置了 PDF 查看器。您可以直接链接到 PDF 文件,浏览器会查看它。如果您想在 HTML 页面中查看它(例如,使用您的网站标题等),您也可以使用 &lt;iframe&gt;

    另一种方法,但更复杂且除非常特殊的情况外没有必要,是将 PDF 文件转换为 HTML(如下面 2012 答案的 #1 中所述)。

    原始答案(过时,从 2012 年开始)

    在浏览器中查看 PDF 文件(无需下载)需要客户端浏览器的插件。例如,谷歌 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/

    【讨论】:

    • 我认为这个答案最接近我的问题。谢谢@Aziz
    • 2018 年,基于 Flash 的任何东西都不是最好的。
    • @FrankSeifert:那个答案是在 2012 年 .. Flash 是当时的东西 :) 我会更新它
    【解决方案4】:

    我用这个

    HTML

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

    以及用于通过 PDF 查看的 view.php 文件。

    <?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 插件。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

        右击 打开用 选择默认程序 选择 Adobe 阅读器 好的 如果您想打开 chrome 任何其他应用程序 相同的步骤 最后一步 选择 铬

        【讨论】:

        • 在打开之前右键单击文件单击打开方式单击以选择默认程序选择 Adob​​e Reader 单击确定按钮如果要打开 chrome 任何其他应用程序相同的步骤最后一步选择 Chrome
        • 你可以编辑你的答案并在那里添加更多信息而不是评论。
        猜你喜欢
        • 2021-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多