У меня в настоящее время есть два текстовых поля в Adobe Acrobat.Я хочу, чтобы одно текстовое поле (AdditionalComments) переполнилось вторым (AdditionalComments2).Я написал собственный сценарий нажатия клавиш для поля AdditionalComments, который успешно позволил переполнение при вводе вручную в Adobe Reader.Вот этот сценарий:
var f2 = this.getField("AdditionalComments2");
if(event.fieldFull) // the event is on AdditionalComments
{
// write to AdditionalComments2 what didn't fit in AdditionalComments
f2.value = event.changeEx;
// don't commit the text that didn't fit into AdditionalComments
event.rc = false;
// start writing exclusively to AdditionalComments2
f2.setFocus();
}
Несмотря на то, что это работало при вводе вручную, цель состоит в том, чтобы использовать этот документ PDF с пользовательским сценарием в качестве шаблона, в который я напишу использование ABCPdf в C #.Однако, когда я программно пишу слишком много текста в AdditionalComments и генерирую pdf с текстом, текст не переполняется дополнительными комментариями 2.
Несколько примечаний:
Doc.HtmlOptions.UseScript = true;
- Шаблон PDF имеет фиксированную ширину и высоту текстового поля
- У меня нет доступа к Adobe LiveCycle для динамической высоты поля
- Я знаю, что сценарий нажатия клавиш не будет выполненПо крайней мере, потому что это не нажатие клавиши.Значение записывается в поле в C # с помощью
field.Value = [text]
- Даже если выполнялся сценарий нажатия клавиш, одновременное написание текста привело бы к тому, что значение
event.changeEx
будет полным текстом, поэтомуничего не будет записано в AdditionalComments, и все будет записано в AdditionalComments2
Есть ли какой-нибудь способ получить событие нажатия клавиши для запуска?Есть ли лучший способ получить переполнение от одного текстового поля к другому, используя ABCPdf10?
Другой подход, о котором я думал, так как шрифт исправлен, это получить количество строк и вручную переключиться на второе текстовое поле.после этого количество строк.Однако я знаю, как измерить количество строк только в том случае, если нажата клавиша ввода и в строке находится символ новой строки.Я не знаю, что делать, когда новая строка из-за переноса.