从使用 Adobe Sign 签名的 PDF 中提取签名图像

问题描述 投票:0回答:1

我正在尝试从使用 Adobe Sign 签名的 PDF 中提取签名图像。不知道 Adobe 如何添加此图像。

我已经使用 iText 和 PDFBox 在 Java 中进行了测试。通常,当您使用某些工具(例如 iText RUPS)遍历 PDF 结构时,您可以找到诸如可见签名之类的图像,甚至可以直接在工具中下载它。我在这个案例中没有找到它。我确实找到了 XObject,我认为它保存着签名图像。

流看起来像这样:

q
    q
        0.07843 0.45098 0.90196 RG
        0.07843 0.45098 0.90196 rg
        1 w
        q
            BT
                1 0 0 1 0 1.78 Tm
                /F1 6 Tf
                0.07843 0.45098 0.90196 rg
                ({0009002000270027002a00010018002a002d0027001f00010497000200300022000104400443047600010441043f044104420001044004410477043f044300010008000e001506d404410498}) Tj
                0 g
            ET
        Q
        0 8.28 m
            103.55 8.28 l
        S
    Q
    0 0 0 RG
    0 0 0 rg
    q
        1 0 0 1 0 0 cm
        /Xf2 Do
    Q
Q

并且有对 Xf2 的引用,如下所示:

1 J
1 j
1.000 w
30.315 10.580 m
    30.315 10.580 30.315 10.580 30.315 10.587 c
S
1.000 w
30.315 10.587 m
    30.315 10.594 30.315 10.608 30.315 10.627 c
S
1.000 w
30.315 10.627 m
    30.315 10.646 30.315 10.670 30.315 10.683 c
S
...

可以将其提取为图像吗?

java itext pdfbox adobe-sign adobe-pdfservices
1个回答
0
投票

您的问题是可以将签名曲线(矢量图形)提取为图像吗?

因此,在这样的问题中,未知数多于答案,比如您需要提取或转换到哪里?

在左侧我们可以看到签名注释的多个组成部分。一旦我们知道艺术品是什么嵌套对象(这里是编号 14 0 obj),我们就可以将流数据复制到另一个 PDF 中。如右图所示。

由于它是屏幕图形,我们可以复制并粘贴到任何图形应用程序,并以您希望的任何图像格式保存。然而,为了保持源代码的简单性,最好将其复制到 SVG 编辑器(如 Inkscape)中。

或更简单,因为它现在是一个独立的 PDF 对象,只需转换为 SVG 以便在网页等中进行取证使用。

mutool convert -o output.svg input.pdf

© www.soinside.com 2019 - 2024. All rights reserved.