在一个文件中使用数字签名和图像输入按钮
Using digital signature and image input button in one file
我需要使用 Antenna House Formatter 创建 PDF 表单。
表格需要同时具有数字签名和图像输入字段。
带有 AHF-CSS 的数字签名是独立工作的:
input.signature{
display: -ah-form-field;
-ah-field-type: signature;
}
图像输入也是如此 HTML/JavaScript:
<meta name="openaction"
content="#JavaScript=
var f = this.getField('imageInput');
f.setAction('MouseUp', 'event.target.buttonImportIcon();');
"/>
但是如果我同时使用两者并尝试输入数字签名,我会收到消息:
The document cannot be signed in its current state. Please save the
document, close it, reopen it, and then attempt to sign again.
保存并重新打开不能解决问题。有办法解决这个问题吗?
我不得不向 Antenna House Support 询问此事。 (如果您的维护是最新的,您可以这样做。)他们的回答:
我认为 Formatter 和 CSS 不可能实现。 'OpenAction' 脚本使用此代码修改文档:
f.setAction('MouseUp', 'event.target.buttonImportIcon();');
即使您保存文档,'OpenAction' 脚本也会 运行 再次修改它。
使用 XSL-FO,您可以通过直接设置 'MouseUp' 值来避免 OpenAction 脚本:
<axf:form-field-event name="MouseUp" action-type="javascript">
event.target.buttonImportIcon();
</axf:form-field-event>
'form-field-event' 不适用于 CSS。
一个糟糕的解决方法是在 'OpenAction' 脚本中添加检查以查看按钮是否已被修改。例如:
var f = this.getField('imageInput');
if (color.equal(f.fillColor, color.red)) {
/* do nothing, this will happen after document is saved */
} else {
f.fillColor = color.red;
f.setAction('MouseUp', 'event.target.buttonImportIcon();');
}
您可以'save'在Acrobat中使用Formatter生成PDF,然后保存的结果可以得到签名。
可能还有一个地方可以设置 this.dirty = false;
,这样文档就不会被视为已修改。 (我之前在 JavaScript 函数中使用 this.dirty = false;
来关闭和打开图层:我不想因为某些图层改变了可见性而提示我在关闭时保存文档。)
我需要使用 Antenna House Formatter 创建 PDF 表单。 表格需要同时具有数字签名和图像输入字段。
带有 AHF-CSS 的数字签名是独立工作的:
input.signature{
display: -ah-form-field;
-ah-field-type: signature;
}
图像输入也是如此 HTML/JavaScript:
<meta name="openaction"
content="#JavaScript=
var f = this.getField('imageInput');
f.setAction('MouseUp', 'event.target.buttonImportIcon();');
"/>
但是如果我同时使用两者并尝试输入数字签名,我会收到消息:
The document cannot be signed in its current state. Please save the document, close it, reopen it, and then attempt to sign again.
保存并重新打开不能解决问题。有办法解决这个问题吗?
我不得不向 Antenna House Support 询问此事。 (如果您的维护是最新的,您可以这样做。)他们的回答:
我认为 Formatter 和 CSS 不可能实现。 'OpenAction' 脚本使用此代码修改文档:
f.setAction('MouseUp', 'event.target.buttonImportIcon();');
即使您保存文档,'OpenAction' 脚本也会 运行 再次修改它。
使用 XSL-FO,您可以通过直接设置 'MouseUp' 值来避免 OpenAction 脚本:
<axf:form-field-event name="MouseUp" action-type="javascript">
event.target.buttonImportIcon();
</axf:form-field-event>
'form-field-event' 不适用于 CSS。
一个糟糕的解决方法是在 'OpenAction' 脚本中添加检查以查看按钮是否已被修改。例如:
var f = this.getField('imageInput');
if (color.equal(f.fillColor, color.red)) {
/* do nothing, this will happen after document is saved */
} else {
f.fillColor = color.red;
f.setAction('MouseUp', 'event.target.buttonImportIcon();');
}
您可以'save'在Acrobat中使用Formatter生成PDF,然后保存的结果可以得到签名。
可能还有一个地方可以设置 this.dirty = false;
,这样文档就不会被视为已修改。 (我之前在 JavaScript 函数中使用 this.dirty = false;
来关闭和打开图层:我不想因为某些图层改变了可见性而提示我在关闭时保存文档。)