【问题标题】:pe:documentViewer not displaying digital signatures in PDFpe:documentViewer 不在 PDF 中显示数字签名
【发布时间】:2020-04-22 21:43:06
【问题描述】:

我有一个多格式文档查看器,为了显示 PDF,我使用了 PF Extension 的 p:documentViewer 组件。提供 PDF 的 StreamedContent 的支持 bean 是阶段渲染的,并且按预期工作。然而,尽管 PDF 本身可以很好地呈现,查看器不会在其中显示数字签名。在使用p:documentViewer 时是否需要添加任何额外的配置?这是我的用法:

<pe:documentViewer id="pdfVw" height="600" width="800" value="#{viewerController4.pdfDocumentStream}">                                           
    <f:param name="id" value="#{viewerController4.currentDocId}" /> 
</pe:documentViewer> 

为 PDF 内容提供服务的支持 bean 方法:

public StreamedContent getPdfDocumentStream() throws IOException {
        FacesContext context = FacesContext.getCurrentInstance();

        if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
            return new DefaultStreamedContent();
        } else {
            String id = context.getExternalContext().getRequestParameterMap().get("id");
            Doc doc = pdfDocMap.get(id);

            return new DefaultStreamedContent(new FileInputStream(new File(doc.getDocPath())), "application/pdf", doc.getDocName());

        }
    }

顺便说一句,我在 UI 上还有一个功能,可以显示文档的缩略图——对于 PDF,我使用 PDFBox 提取第一页并将其转换为 PNG 图像并显示在 p:graphicImage 中。我观察到,在这张图片中,数字签名显示得很好!

我在 SpringBoot + PF 6.2 + JoinFaces

【问题讨论】:

标签: pdf primefaces pdf.js primefaces-extensions


【解决方案1】:

如果您需要显示带有数字签名的 PDF,PDF.js 目前不支持,并且该票自 2012 年开始开放。

见:https://github.com/mozilla/pdf.js/issues/1076

我建议您使用这些免费且在浏览器中运行的服务来显示带有签名的 PDF:https://verify.ink/

【讨论】:

  • 我想知道p:media 是否可以作为替代选择。我尝试了一些签名文档。它可以很好地显示签名......并且查看器上出现的消息似乎也表明它也尝试验证签名,这是一个加号。
  • 关于 verify.ink ,许可证似乎对任何使用 verify.ink 的代码分发都有限制(在我的例子中,它是为客户开发的代码)。另外,从示例用法中,我假设文档实际上会被转移到 verify.ink...否?
  • 我对@9​​87654325@ 的担心是,浏览器的外观在 IE 和 Chrome 之间是不同的,但我想这可以通过 CSS 来解决。
  • Verify.ink 发生在所有客户端,除非您启用与 Hancock 的集成,否则文档不会发送到服务器,它是与之集成的签名产品。至于您的许可证问题,Verify 不是 OSS,但可以免费使用。在充分披露中,我的公司同时生产 Hancock 和 Verify。
  • @brlaranjeira p:media 也将在未来消失。它已被 PrimeTek 标记为弃用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-22
  • 2018-01-09
  • 1970-01-01
  • 2022-07-16
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
相关资源
最近更新 更多