有胆有识的作业本 · Vue.nextTick在动态更新ifram ...· 2 周前 · |
淡定的墨镜 · 重新加载/刷新iframe的最佳方法是什么? ...· 2 周前 · |
胡子拉碴的卤蛋 · Internet Explorer 8 ...· 2 周前 · |
纯真的木瓜 · YouTube Player ...· 5 天前 · |
烦恼的紫菜汤 · 前端常见的安全问题及防范措施 - 前端南玖 ...· 4 天前 · |
有爱心的杯子 · 2023 未来城市·杭州论坛成功举办· 5 月前 · |
没人理的砖头 · vue使用axios读取本地json文件来显 ...· 1 年前 · |
慷慨大方的苹果 · [ C# winform ] USB ...· 1 年前 · |
失望的鸡蛋面 · VS Code Remote SSH ...· 1 年前 · |
我有一个自动生成的PDF文件由 itext ,我需要显示该PDF文件在超文本标记语言。我的问题是:如何使用 pdf.js 在HTML中显示本地PDF文件?该PDF文件是否应该由某些标准生成?
在pc上html页面很容易实现。
<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>
可移植文档格式()。
在
iframe
.中使用
pluginspage=http://www.adobe.com/products/acrobat/readstep2.html
。
示例Sippet:
<html>
<head></head>
<body style=" height: 100%;">
<div style=" position: relative;">
<div style="width: 100%; /*overflow: auto;*/ position: relative;height: auto; margin-top: 70px;">
<a href="https://en.wikipedia.org/wiki/Image_file_formats" >image</a> is an artifact that depicts visual perception
<!-- To make div with scroll data [max-height: 500;]-->
<div style="/* overflow: scroll; */ max-height: 500; float: left; width: 49%; height: 100%; ">
<img width="" height="400" src="https://peach.blender.org/wp-content/uploads/poster_bunny_bunnysize.jpg?x11217" title="Google" style="-webkit-user-select: none;background-position: 0px 0px, 10px 10px;background-size: 20px 20px;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%),linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee 100%);cursor: zoom-in;" />
<p>Streaming an Image form Response Stream (binary data) « This buffers the output in smaller chunks of data rather than sending the entire image as a single block.
<a href="http://www.chestysoft.com/imagefile/streaming.asp" >StreamToBrowser</a>
<div style="float: left; width: 10%; background-color: red;"></div>
<div style="float: left;width: 49%; ">
<img width="" height="400" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot"/>
<p>Streaming an Image form Base64 String « embedding images directly into your HTML.
<a href="https://en.wikipedia.org/wiki/Data_URI_scheme">
<sup>Data URI scheme</sup>
<a href="https://codebeautify.org/image-to-base64-converter">
<sup>, Convert Your Image to Base64</sup>
<pre>data:[<media type>][;base64],<data></pre>
<div style="width: 100%;overflow: auto;position: relative;height: auto; margin-top: 70px;">
<video style="height: 500px;width: 100%;" name="media" controls="controls">
<!-- autoplay -->
<source src="http://download.blender.org/peach/trailer/trailer_400p.ogg" type="video/mp4">
<source src="http://download.blender.org/peach/trailer/trailer_400p.ogg" type="video/ogg">
</video>
<p>Video courtesy of
<a href="https://www.bigbuckbunny.org/" >Big Buck Bunny</a>.
<div style="width: 100%;overflow: auto;position: relative;height: auto; margin-top: 70px;">
<p>Portable Document Format
<a href="https://acrobat.adobe.com/us/en/acrobat/about-adobe-pdf.html?promoid=CW7625ZK&mv=other" >(PDF)</a>.
<div style="float: left;width: 49%; overflow: auto;position: relative;height: auto;">
<embed type="application/pdf" src="http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf" width="100%" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html" background-color="0xFF525659" top-toolbar-height="56" full-frame="" internalinstanceid="21" title="CHROME">
<p>Chrome PDF viewer
<a href="https://productforums.google.com/forum/#!topic/chrome/MP_1qzVgemo">
<sup>extension</sup>
<a href="https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc">
<sup> (surfingkeys)</sup>
<div style="float: left; width: 10%; background-color: red;"></div>
<div style="float: left;width: 49%; ">
<iframe src="https://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true#:page.7" style="" width="100%" height="500px" allowfullscreen="" webkitallowfullscreen=""></iframe>
<p>Embeddable
<a href="https://googlesystem.blogspot.in/2009/09/embeddable-google-document-viewer.html" >Google</a> Document Viewer. Here's the code I used to embed the PDF file:
<iframe
src="http://docs.google.com/gview?
url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true"
style="width:600px; height:500px;" frameborder="0"></iframe>
</body>
</html>
所有浏览器都支持该元素,并在HTML文档中定义了一个嵌入对象。
底线: OBJECT是好的,EMBED是旧的。除了IE的PARAM标签之外,如果浏览器不支持OBJECT的引用插件,则将呈现OBJECT标签之间的任何内容,显然,无论是否呈现内容,都会获得http请求。 Reference
工作代码: https://www.w3schools.com/code/tryit.asp?filename=G7L8BK6XC0A6
<!DOCTYPE html>
<object width="400px" height="400px" data="https://s3.amazonaws.com/dq-blog-files/pandas-cheat-sheet.pdf"></object>
</body>
</html>
HTML1.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>
优点:
缺点:
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>
优点:
上运行
缺点:
下载查看器limit
PDF 3.嵌入 的其他解决方案:
重要说明:
请检查X-Frame-Options HTTP响应头。应该是SAMEORIGIN。
X-Frame-Options SAMEORIGIN;
更新- Adobe PDF Embed API
奥多比发布了他们的 Adobe PDF Embed API ,这是完全免费的。因为他们自己创建了PDF格式,所以他们的API可能是最好的。
您所要做的就是创建一个
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"});
纯真的木瓜 · YouTube Player 常用参数-CSDN博客 5 天前 |
有爱心的杯子 · 2023 未来城市·杭州论坛成功举办 5 月前 |