【问题标题】:View PDFs with forms in Firefox在 Firefox 中查看带有表单的 PDF
【发布时间】:2019-10-16 21:10:42
【问题描述】:

我正在开发一个 Web 应用程序,需要在 Firefox 中预览 PDF。

显然我已将 PDF 嵌入到 HTML 代码中。问题是这些 PDF 包含表单,我知道内置的 Firefox 查看器无法显示表单。除了表单(包含数字签名)之外,文档的其余部分都能正常显示,并且在 Chrome 中一切正常(也显示签名)。

我想问在 Firefox 中支持查看整个文档的最佳方法是什么。我正在开发的当前版本是 52.7.3,但我希望系统可针对未来版本进行扩展。

我正在考虑将 PDF 转换为 Base64 字符串并像这样嵌入,但尝试使用一些在线演示也不起作用(也许文档很大?)。

我想到的另一种可能性是将 PDF 转换为 JPEG(或类似格式)并像这样进行预览。你怎么看?

是否有任何库可以处理来自不使用嵌入式查看器的 Java/Javascript 代码的 PDF 文件?我尝试了 PDF.js,但我意识到它使用的是内置查看器。如果我错了,请纠正我。

【问题讨论】:

  • 用户是否需要与表单交互,例如填写或以某种方式编辑它们?或者他们只需要“查看”表单字段和签名?
  • 看看他们。 PDF 已经电子签名。

标签: javascript java pdf firefox


【解决方案1】:

是否必须使用 Firefox 专门打开文件?如果没有,您可以使用 Desktop.open(File) 使用 PDF 文件的默认应用程序打开文件。 (https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html)

【讨论】:

    【解决方案2】:
    Desktop.open(File)
    

    如果 PDF 文件不必使用 Firefox 打开,您可以使用它来打开该文件。

    【讨论】:

      【解决方案3】:

      你可以做一些叫做“扁平化”的事情。这涉及获取表单域外观(图形)并将它们直接移动到页面中,然后删除表单域本身。也经常在注释上完成。

      这样可以确保每个 PDF 阅读器都可以看到(呈现)这些字段,但也可以确保用户无法编辑这些字段(因为该字段已被删除)。

      这当然会使任何电子签名无效,因为您正在修改 PDF,但如果您保留原始 PDF,这应该不是问题。

      一旦字段被展平,Firefox/Pdf.js 将显示一切正常。

      【讨论】:

        猜你喜欢
        • 2013-02-20
        • 1970-01-01
        • 1970-01-01
        • 2020-06-16
        • 2014-04-04
        • 2011-05-29
        • 2011-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多