![LaTeX 生成的 PDF 文件中的加密签名](https://linux22.com/image/436687/LaTeX%20%E7%94%9F%E6%88%90%E7%9A%84%20PDF%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E5%8A%A0%E5%AF%86%E7%AD%BE%E5%90%8D.png)
我在 64 位 GNU/Linux 上使用TeXLive
2021(安装在 /usr/local,而不是发行版中)。我目前使用 pdfLaTeX,因为我还不需要任何无法LuaLaTeX
在 中完成的功能pdfLaTeX
,但我会改用它。
为了完成加密数字签名,我目前必须使用digsig.sty
不是来自 CTAN 的版本,而且似乎已经有六年多了。它扩展了 hyperref,但出于某种原因从未包含在 hyperref 中。也许是许可证?
这可以用来添加表单字段,但随后我必须将文件传输到运行 Windows 的 PC 上才能对其进行实际签名 - 这意味着其他人的 PC,这意味着我的私钥在我不管理的机器上使用。
并且 Adobe Reader DC 添加的签名具有非灰度的 Adobe 水印,这意味着印刷店总是愿意收取更多的费用来打印彩色,而您必须告诉他们“不,灰度就可以了”。
我知道LaTeX3
团队正在致力于添加标记的 PDF 功能等,这早就应该做了,我对此表示欢迎,但我还担心这实际上会破坏使用能力digsig.sty
。
目前是否有计划添加digsig.sty
功能以LaTeX
支持正在添加的标记 PDF?
更重要的是,是否有计划制作一个 CLI 工具或任何可以用来直接从 Linux 签署 PDF 的工具?(如果是,那么LaTeX
在打印的签名后面使用灰度蜂鸟作为水印会很棒 - 但请不要使用颜色)。
答案1
您也可以尝试eforms.
以下是同时使用两者的示例:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\pdfobjcompresslevel=0 \pdfcompresslevel=0 %create uncompressed pdf for debugging
\usepackage{eforms}
\usepackage{digsig}
\title{Electronic Signature Specimen}
\author{}
\date{June 2021}
\begin{document}
\maketitle
\section{Address}
\TextField[borderwidth=0,multiline,name=toaddress,width=6cm,charsize=12pt,default={E\string\r %modified on 2017-08-08 by
PO Box\string\r
Cape Town\string\r
8000}]{\mbox{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section{eforms Signature SignatureFieldLab (preferred)}
\sigField[\Lock{/Action/Exclude/Fields [(toaddress)]}]{SignatureFieldLab}{5cm}{1cm}
\section{digsig Signature lab}
\digsigfield{5cm}{1cm}{lab}
Note that download is required to display the {\tt .pdf} fields.
\end{document}