我有一个自动生成的PDF文件,我需要在HTML中显示该PDF文件。我的问题是:如何在HTML中使用PDF .js显示本地PDF文件?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>

其他回答

我以前有过类似的东西,通常使用标签

<a href="path_of_your_pdf/your_pdf_file.pdf" tabindex="-1"><strong>click here</strong></a>

但是像上面提到的,找到一些其他的方法是很有趣的!

这个方法也很有用:

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

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

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

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

更新- adobepdf嵌入API

Adobe发布了他们的adobepdf嵌入API,这是完全免费的。由于他们自己创建了PDF格式,他们的API可能是最好的。

它提供了最高质量的PDF渲染。 您可以完全自定义用户体验并选择如何显示PDF。 您还可以分析PDF的使用情况,以便了解用户如何与PDF交互,包括在页面和搜索上花费的时间。

你所要做的就是创建一个api_key并在代码片段中使用它。

将PDF显示为缓冲区(例如本地文件)

下面是代码片段的示例,如果您有缓冲区(例如本地文件),您可以将其添加到HTML中,并利用它们的API来显示PDF。

<div id="adobe-dc-view"></div>

<script src="https://documentcloud.adobe.com/view-sdk/main.js"></script>

<script type="text/javascript">
  document.addEventListener("adobe_dc_view_sdk.ready", function(){
    var adobeDCView = new AdobeDC.View({clientId: "api_key", divId: "adobe-dc-view"});
    adobeDCView.previewFile({
      content: { promise: <FILE_PROMISE> }
      metaData: { fileName: "file_name_to_display" }
    }, {});
  });
</script>

最简单的方法是,

<iframe src="pdf-link">
</iframe>

如果它仍然下载而不是查看,检查服务器响应头,它应该有,Content-Disposition:内联,而不是,Content-Disposition:附件。