【问题标题】:Retrieve blob from object/embed/iframe that loads a fillable PDF从加载可填充 PDF 的对象/嵌入/iframe 中检索 blob
【发布时间】:2020-01-01 17:12:18
【问题描述】:
我能够将可填充的 PDF 加载到对象、嵌入或 iframe 标记中。这些方法中的任何一种都可以在屏幕上很好地呈现 PDF。用户填写 PDF 后,我希望他们单击一个按钮(在对象/嵌入/iframe 之外),在该按钮中我从元素中检索 PDF 作为 blob(使用 javascript,而不是 jquery)并将其发送到服务器。我唯一想不通的部分是从对象/嵌入/iframe中提取编辑后的PDF。
我该怎么做?
【问题讨论】:
标签:
javascript
html
pdf
iframe
blob
【解决方案1】:
如果你确实让浏览器通过它自己的插件来处理 pdf 的呈现和编辑,那么你几乎不可能做这样的事情,至少不是以跨浏览器的方式。
没有关于在浏览器中显示 pdf 的标准。大多数会启动一个插件,而一些(例如基于 FF)确实内置了这样的查看器。
使用插件的可以通过
所以你最好的选择是不要让浏览器处理这个问题,而是完全控制。
像pdf.js 这样的库,由 Mozilla 开发,是一种以跨浏览器方式显示 pdf 的好方法,并且可以访问文档名称等一些设置,虽然我不知道是否有一个简单的方法,您也可以很可能导出到 Blob。
但是,AcroForms are still to get implemented 在此库中,因此您将无法将其用于您的目的。
但请注意,这也意味着您的 Firefox 用户也无法使用本机查看器,因为它实际上是此浏览器中的 pdf.js。
【解决方案2】:
可以使用 .getBlob 功能或默认说明符轻松识别 BLOB 标识符。