Pdf.js: 电子签名未显示在pdf.js查看器中

创建于 2014-05-06  ·  29评论  ·  资料来源: mozilla/pdf.js

我有一个带有电子签名的文档,该文档未显示在pdf.js查看器中。 该文档使用zipLogix Digital Ink作为其电子签名提供者。 该文档会在已签名的情况下上传到我们的应用程序中,但是在我们的应用程序中查看该文档不会显示签名。 随后再次下载文档,确认签名在上传过程中没有丢失。

*注意:我正在获取具有不包含敏感数据的相同特征的文档。

4-annotations

最有用的评论

我认为根本没有实现此功能:

https://github.com/mozilla/pdf.js/blob/master/src/core/annotation.js#L527

    // Hide unsupported Widget signatures.
    if (data.fieldType === 'Sig') {
      warn('unimplemented annotation type: Widget signature');
      this.setFlags(AnnotationFlag.HIDDEN);
    }

如果删除这些行,我可以看到我的文档上印有签名。 对于随附的问题pdf(https://dl.dropboxusercontent.com/u/5681461/dev/test-signature.pdf),我可以看到签名,但它看起来像是旋转的:

test_pdf

所有29条评论

@StevenHarlow谢谢; 我们肯定需要一个示例PDF来研究这个问题。

我现在要关闭此问题,当我们有示例PDF可以测试时,我们将重新打开它。

我有同样的问题。 签名不会显示在查看器中。 问题解决了吗?
这是签名的pdf,
https://dl.dropboxusercontent.com/u/5681461/dev/test-signature.pdf

此签名未验证。 但是,即使具有经过验证的有效签名,pdf.js查看器中也不会显示签名字段。

我有同样的问题。 就我而言,问题仅在于无效签名。 我有一个带有两个签名的pdf文档(一个有效,另一个无效)。 在其他pdf查看器中,我可以看到文档上印有的两个签名,但是在pdf.js中,我看不到。 抱歉,我无法附加示例文档,因为其中包含客户机密数据。

编辑:似乎问题不仅在于无效的签名,在我的情况下,有效的签名是不可见的签名。

我认为根本没有实现此功能:

https://github.com/mozilla/pdf.js/blob/master/src/core/annotation.js#L527

    // Hide unsupported Widget signatures.
    if (data.fieldType === 'Sig') {
      warn('unimplemented annotation type: Widget signature');
      this.setFlags(AnnotationFlag.HIDDEN);
    }

如果删除这些行,我可以看到我的文档上印有签名。 对于随附的问题pdf(https://dl.dropboxusercontent.com/u/5681461/dev/test-signature.pdf),我可以看到签名,但它看起来像是旋转的:

test_pdf

可见签名小部件通常具有外观流,就像其他大多数注解一样,而这个也有它。 翻转可能是#5946的重复。

现在解决了翻转问题,从而解决了#5946问题。

大家好-想知道是否有时间表解决此问题吗? 非常感谢。

#1076中的数字签名验证似乎已取得一些进展。

@timvandermeij非常感谢您的链接。

很奇怪-一年前,我写了《解决翻转问题》,但现在什么都没有显示,即缺少黄色问号。

至少对于zipLogix Digital Ink的文档仍然没有解决:
https://new.zipformplus.com
pdf.worker.js的一些警告:
警告:未实现的窗口小部件字段类型“ Sig”,回落到基本字段类型。

奇怪,同样的问题:未实现的小部件字段类型“ Sig”,回落到基本字段类型。

知道何时可以交付此小部件的实现?
很高兴在解析PDF时知道有一个签名区域。

我们已经实现了基于PKIjs和PDFjs的数字签名解决方案,该解决方案能够验证和创建数字签名。 您可以在此处查看查看美国数字签名法的示例。

image

查看器当前信任eIDAS信任列表上的CA,以及Mozilla信任的S / MIME颁发者。

如果您遇到任何问题,请给我发送电子邮件[email protected]并提供示例文件。

@rmhrisk您要开源解决方案吗?

@sreuter大多数库已经开源,您可以在https://github.com/PeculiarVentures/中找到组件

我想将我们构建的PDF库开源,这使我们可以处理许多不同类型的PDF表示形式,但这需要时间来使其可供公众使用。

我正在与某人合作开发一组改进的PKIjs示例,这将使其他人更容易复制我们所做的工作。

那么是否有启用pdf中电子签名的配置?
我们尝试发表评论

if (data.fieldType === 'Sig') {
      warn('unimplemented annotation type: Widget signature');
      this.setFlags(AnnotationFlag.HIDDEN);
    }

在开发中?
我们如何在npm中在线安装新的pkg?

那没有。

禁用此块不会显示签名或它的繁星点点,而只是显示签名的视觉表示。

在不进行签名验证的情况下启用此块意味着您将给用户一种与所显示文档的正确性有关的错误安全感。

可能是,可以通过配置设置它,而不需要注释此行以渲染签名小部件?
因为否则必须分叉代码以显示签名视觉。

pdf.js
警告:未实现的窗口小部件字段类型“ Sig”,回落到基本字段类型。
如何解决这个问题呢?

电子回发已解决,Chrome无法在“专用工作人员GlobalScope”上执行“ postMessage”:无法克隆。

从三年前开始...有什么进展吗?

@yurydelendik pdf.js只是一个查看器,验证数字签名是否太含糊? 我不明白你为什么要这么做。

@hxlniada我认为至少要显示小部件签名(图形签名)也要不验证签名非常重要。

我们也希望看到它。 说“未经验证”是可以的。

电子签章没显示是为什么?

因为PDF.js不支持数字签名。 查看https://verify.ink。 如果您要进行翻译,我们可以使用它来支持中文。

如果您需要数字签名支持,我们创建了一个Web组件,并使用iframe封装了支持此功能的查看器。 参见https://verify.ink

正在关闭,因为这是#1076的重复项。

此页面是否有帮助?
5 / 5 - 1 等级