我有一个自动生成的PDF文件,我需要在HTML中显示该PDF文件。我的问题是:如何在HTML中使用PDF .js显示本地PDF文件?PDF文件是否应该按照某些标准生成?
当前回答
我知道你想使用HTMl显示,但你也可以通过指出路径使用php打开PDF文件,浏览器将在几个简单的步骤中呈现它
<?php
$your_file_name = "url_here";
//Content type and this case its a PDF
header("Content-type: application/pdf");
header("Content-Length: " . filesize($your_file_name ));
//Display the file
readfile($your_file_name );
?>
其他回答
gofilord提供的答案是正确的,但我也可能会补充说,如果你创建一个空桶,将你的pdf倒入,你应该给它一个src=""像…
<embed id="fooEmbed" src="">
...在HTML和javascript…
document.getElementById('fooEmbed').src = 'bar.pdf';
...它会起作用的。如果你这样做…
<embed id="fooEmbed">
...这是行不通的。
这个方法也很有用:
在桌面和移动浏览器上显示pdf文件:
<object data="./filename.pdf" type="application/pdf" width="500px" height="600px"> <p>你的浏览器没有PDF插件。 <a href="./filename.pdf">点击这里下载PDF文件</a></p> . PDF < /对象>
如果你想使用pdf.js,我建议你阅读这个
你也可以把你的pdf文件上传到某个地方(比如谷歌Drive),并在iframe中使用它的URL
or
<object data="data/test.pdf" type="application/pdf" width="300" height="200">
<a href="data/test.pdf">test.pdf</a>
</object>
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;
您可以像这样轻松地在HTML页面中显示
<embed src="path_of_your_pdf/your_pdf_file.pdf" type="application/pdf" height="700px" width="500">
推荐文章
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 在一个CSS宽度的小数点后的位置是尊重?
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?
- 反应:为什么当道具改变时子组件不更新
- 我怎么能检查html元素,从DOM消失失去焦点?
- 在Atom编辑器中是否有格式化HTML的命令?
- 把<script>标签放在</body>标签之后是错误的吗?
- 谷歌Chrome表单自动填充和它的黄色背景