Как предотвратить печать PDF-форм?
У меня есть форма PDF, и мне нужно запретить печать этой формы PDF, если ее поля не заполнены.
Чтобы изменить мою форму, я использую Adobe LiveCycle Designer ES3.
О том, как это можно сделать, написано здесь: http://forms.stefcameron.com/2008/04/13/prevent-printing-pdf-forms-in-acrobat-8/
Единственное, что мне нужно больше, чем в этой статье, - это подавить сообщение "Печать отменена", или перевесить его другим текстом.
Итак, если кто-то знает, как это можно сделать, пожалуйста, помогите мне.
2 ответа
Установите в качестве средства выбора событий "PrePrint", добавьте свой сценарий проверки.
Введите: xfa.event.cancelAction = (true) в конце вашего оператора "Если".
У вас есть кнопка печати в форме, на которую нажимают, чтобы распечатать форму? Если вы это сделаете, то есть способ подавить печать. В противном случае, я не знаю ни одного способа решения вашей проблемы.
Если у вас есть кнопка печати, добавьте следующий код в событие нажатия кнопки:
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.
Пожалуйста, дайте мне знать, если у вас есть другие вопросы.
Спасибо, Армаган.