我有一个自动生成的PDF文件,我需要在HTML中显示该PDF文件。我的问题是:如何在HTML中使用PDF .js显示本地PDF文件?PDF文件是否应该按照某些标准生成?


当前回答

这个方法也很有用:

在桌面和移动浏览器上显示pdf文件:

<object data="./filename.pdf" type="application/pdf" width="500px" height="600px"> <p>你的浏览器没有PDF插件。 <a href="./filename.pdf">点击这里下载PDF文件</a></p> . PDF < /对象>

其他回答

我使用谷歌Docs嵌入式PDF查看器。这些文档不必上传到谷歌docs,但必须在网上可用。

<iframe src="https://docs.google.com/gview?url=https://path.com/to/your/pdf.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>

在html页面的pc很容易实现

<embed src="study/sample.pdf" type="application/pdf"   height="300px" width="100%">

但PDF显示在移动的这段代码是不可能的,你必须需要一个插件

如果你没有响应你的网站。然后上面的代码pdf不显示在手机上,但你可以把下载选项后的代码

<embed src="study/sample.pdf" type="application/pdf"   height="300px" width="100%" class="responsive">
<a href="study/sample.pdf">download</a>

您可以像这样轻松地在HTML页面中显示

<embed src="path_of_your_pdf/your_pdf_file.pdf" type="application/pdf" height="700px" width="500">

1. 浏览器原生HTML内联嵌入:

<embed
    src="http://infolab.stanford.edu/pub/papers/google.pdf#toolbar=0&navpanes=0&scrollbar=0"
    type="application/pdf"
    frameBorder="0"
    scrolling="auto"
    height="100%"
    width="100%"
></embed>
<iframe
    src="http://infolab.stanford.edu/pub/papers/google.pdf#toolbar=0&navpanes=0&scrollbar=0"
    frameBorder="0"
    scrolling="auto"
    height="100%"
    width="100%"
></iframe>

Pro:

没有PDF文件大小限制(甚至数百MB) 这是最快的解决方法

缺点:

它不能在移动浏览器上运行


2. 谷歌文档查看器:

<iframe
    src="https://drive.google.com/viewerng/viewer?embedded=true&url=http://infolab.stanford.edu/pub/papers/google.pdf#toolbar=0&scrollbar=0"
    frameBorder="0"
    scrolling="auto"
    height="100%"
    width="100%"
></iframe>

Pro:

适用于桌面和移动浏览器

缺点:

25MB文件限制 需要额外的时间下载查看器


3.嵌入PDF的其他解决方案:

https://mozilla.github.io/pdf.js https://pdfobject.com https://viewerjs.org


重要提示:

请检查X-Frame-Options HTTP响应报头。它应该是SAMEORIGIN。

X-Frame-Options SAMEORIGIN;

gofilord提供的答案是正确的,但我也可能会补充说,如果你创建一个空桶,将你的pdf倒入,你应该给它一个src=""像…

<embed id="fooEmbed" src="">

...在HTML和javascript…

document.getElementById('fooEmbed').src = 'bar.pdf';

...它会起作用的。如果你这样做…

<embed id="fooEmbed">

...这是行不通的。