Python - 将JPG放在签名PDF中

时间:2015-05-22 10:15:05

标签: python pdf digital-signature

我在Python中创建应用程序,我必须对某些PDF文件进行数字签名。

我设法使用以下代码对文件进行签名:os.system('java -jar PortableSigner.jar -n -t /Users/pfp/Desktop/unsigned.pdf -o /Users/pfp/Desktop/signed.pdf -s /Users/pfp/Desktop/pfp.p12 -p MySecretPassword')(我在this link中学到了这一点)

问题是我需要在PDF文件的第一页顶部放置一个可点击的JPG图像,以便客户可以单击它并查看PDF的签名属性。

我试图寻找一些东西但却无法找到真正符合我需求的东西。

有人能指出我正确的道路吗?

1 个答案:

答案 0 :(得分:1)

如果相关文件已经签名,并且您想要事后添加这样一个按钮...... ,如果不使原始签名失效,则无法进行此操作。

如果您需要该按钮才能创建新签名... 根据您链接到的PortableSigner site,可以添加此类活动签名可视化,默认情况下是位于另一个新页面上。

记录GUI以允许将其交替放置在给定位置的第一个或最后一个现有页面上。我在网站上找不到任何文档,表明在命令行中可以使用相同的文档,目前只记录下列参数:

 -b <arg>              Append signature block [german|english|polish] as
                       parameter
 -c <arg>              Comment under signature block (text)
 -f                    If this is set, the document is NOT finalized
 -h                    Help (this page)
 -i <arg>              Image file for signature block
 -l <arg>              Contents of "Location" - field (text)
 -n                    Without GUI
 -o <arg>              Outputfile (PDF)
 -ownerpwd <arg>       Owner password
 -ownerpwdfile <arg>   Owner password file
 -p <arg>              Signaturepassword
 -pwdfile <arg>        Password file
 -r <arg>              Contents of "Reason" - field (text)
 -s <arg>              Signaturefile (P12 or PFX)
 -t <arg>              Inputfile (PDF)

但可能这部分文档已经过时了。乍一看,源码似乎也知道-e(嵌入参数:用逗号分隔的3个浮点数:垂直位置,左边距,右边距)和-z(第一页)选项。

所以我假设添加选项

-z
-e 15,3,3
-i imagefile

会做到这一点。 (也许-b也是必需的。)

PS:有关允许或禁止对已签名PDF进行更改的概述,请参阅this answer