问题描述
在寻找解决方案数小时后,我决定在 stackoverflow 上提出我的第一个问题。
我们的应用程序使用 pdf-lib (https://www.npmjs.com/package/pdf-lib) 来修改现有的 PDF,例如添加图像。我们现在正在寻找一种方法来将签名表单字段也添加到 PDF 中。 使用 pdf-lib,可以添加一堆表单字段,签名字段除外。可以获取它们 (https://pdf-lib.js.org/docs/api/classes/pdfform#getsignature),但与其他字段不同的是,没有创建方法(例如 https://pdf-lib.js.org/docs/api/classes/pdfform#createtextfield)。
我深入研究了代码,发现可以访问 PDFForms AcroForm (https://pdf-lib.js.org/docs/api/classes/pdfform#acroform)。可以使用它添加字段,但我无法事先创建正确的字段(我认为它必须是 PDFSignature 或 PDFAcroSignature)。
我发现 PDFAcroText 等其他字段也有 create 方法
class PDFAcroText extends PDFAcroTerminal {
static fromDict = (dict: PDFDict,ref: PDFRef) => new PDFAcroText(dict,ref);
static create = (context: PDFContext) => {
const dict = context.obj({
FT: 'Tx',Kids: [],});
const ref = context.register(dict);
return new PDFAcroText(dict,ref);
};
那些被包装函数调用的(比如前面提到的 createTextfield):
createTextField(name: string): PDFTextField {
assertIs(name,'name',['string']);
const nameParts = splitFieldName(name);
const parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);
const text = PDFAcroText.create(this.doc.context);
text.setPartialName(nameParts.terminal);
addFieldToParent(parent,[text,text.ref],nameParts.terminal);
return PDFTextField.of(text,text.ref,this.doc);
}
我寻找了其他可以添加签名表单字段的 js 库,但我无法找到答案 - 除了付费使用 pdfjs.express 之类的库。
假设他们能够添加这样的字段,那么一定有办法做到这一点!
如果你们中有人想出如何做到这一点,或者是否有其他解决方案,请告诉我。
先谢谢你!
您好 亚历克斯
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)