如何防止打印 PDF 表单?

Posted

技术标签:

【中文标题】如何防止打印 PDF 表单?【英文标题】:How to prevent printing PDF forms? 【发布时间】:2012-09-19 21:38:06 【问题描述】:

我有一个 PDF 表单,如果它的字段为空白,我需要阻止打印此 PDF 表单。

要修改我的表单,我使用 Adob​​e LiveCycle Designer ES3。

关于如何做到这一点写在这里:http://forms.stefcameron.com/2008/04/13/prevent-printing-pdf-forms-in-acrobat-8/

除了本文之外,我唯一需要做的就是抑制消息“打印已取消”,或者用另一个文本覆盖它。

所以,如果有人知道怎么做,请帮助我。

【问题讨论】:

【参考方案1】:

您是否在单击以打印表单的表单上的打印按钮? 如果你这样做了,那么有一种方法可以抑制打印。否则,我不知道有什么方法可以解决您的问题。

如果你有打印按钮,在按钮的点击事件中添加如下代码:

var result = form1.MainPage.execValidate();
        if(result==false)
            xfa.host.messageBox("Please ensure that all validations are complete before printing.");
        
        else
            xfa.host.print(1, "0", (xfa.host.numPages -1).toString(), 0, 0, 0, 0, 0);
        

其中“form1”是表单的根节点,“MainPage”是包含表单中所有子表单的页面。 exeValidate() 方法触发表单中的所有验证消息,如果所有验证都通过测试,则返回 true。否则返回 false。

如果您有任何其他问题,请告诉我。

谢谢, 阿玛汉。

【讨论】:

【参考方案2】:

将您的事件选择器设置为“PrePrint”,添加您的验证脚本。

在“If”语句的末尾输入:xfa.event.cancelAction = (true)。

【讨论】:

以上是关于如何防止打印 PDF 表单?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止按钮提交表单

如何防止按钮提交表单

如何防止表单重复提交

单击按钮时如何防止表单提交? [复制]

如何使用表单验证防止重复提交

如何在表单提交时防止表单在刷新时重新提交