无法在Chrome中加载PDF文档

时间:2017-08-02 17:07:54

标签: google-chrome pdf iis http-headers

我的服务器上存有PDF文件。我无法通过网址“sitename / pdfName.pdf”使用Google Chrome(或Ubuntu Chromium)访问该文件;虽然我能够毫无问题地在Internet Explorer或FireFox中访问相同的PDF。

Chrome正在提供此错误:“无法加载PDF文档”

在此链接Error Image中找到附加错误。

4 个答案:

答案 0 :(得分:2)

当我们遇到此问题时,起作用和不起作用的PDF文件之间的唯一区别是PDF文档本身的第一行。 这是导致错误的旧PDF与固定版本之间的区别,如在启用了二进制文件的文本编辑器(在本例中为vim -b)中所见:

原始PDF文件:

%PDF-1.6^M%<e2><e3><cf><d3>^M

修复的PDF文件:

%PDF-1.6^M
%<e2><e3><cf><d3>^M

因此问题从根本上得到解决,无需通过安装额外的软件或重新安装chrome来给​​受害者带来负担。

我不知道这是PDF生成器还是chrome插件出现问题。 根据PDF规范,PDF文档的第一行必须包含PDF版本,但对于^ M是否为有效的行分隔符,我还是不太清楚。

答案 1 :(得分:1)

我们的安全策略中没有object:none,它导致chrome拒绝打开它,并在chrome中按f12键,然后单击“控制台”显示错误消息。

将web.config安全策略更改为object:self解决了该问题

在我们的案例中,我们可以在firefox和IE中打开PDF,但不能在Chrome中打开,因此Chrome对安全策略的执行更为严格。

以下是我未测试过的建议修改:

您可能还会发现Chrome的标题标题为:Content-Type值:charset=utf-8。删除它可能会解决它。

另外,在测试时,请继续将请求URL更改为新的sitename/pdfName.pdf?val=1,然后再进行下一个测试?val=2,以确保缓存不会干扰响应。上...

答案 2 :(得分:0)

这可能是由于Chrome的内置PDF Viewer无法打开Firmex受保护的PDF文档。

尝试:

  1. 打开谷歌浏览器(显然)
  2. 点击右上角的“More Untitled.png”,然后点击“设置”。
  3. 点击底部的“显示高级设置”。
  4. 在隐私下,点击内容设置
  5. 在“PDF文档”下,选中“在默认PDF查看器应用程序中打开PDF文件”旁边的框。
  6. 完成更改后,PDF文件应在Adobe Reader或Adobe Acrobat中打开,而不是在Google Chrome中打开。
  7. 虽然它可能不太理想,但它现在是一个很好的选择。

答案 3 :(得分:0)

您可能还会发现Chrome的标题标题为:Content-Type值:charset=utf-8。对于IIS,您可以通过将此web.config文件放在PDF所在的位置来将其删除:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <remove name="Content-Type" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

另外,在测试时,请继续将请求URL更改为新的sitename/pdfName.pdf?val=1,然后再进行下一个测试?val=2,以确保缓存不会干扰响应。上...