Тема: AHK: изменение свойств редактируемых полей файла pdf
Доброго времени суток.
Суть задачи. Имеется файл pdf с полями для ввода текста. Необходимо изменить названия этих полей. В документации acrobat sdk api reference не описано способа программно изменять названия полей. На их форуме предлагается решение в виде чтения номера страницы, типа поля и его координат (rect), а затем добавления нового поля с новым именем и такими же координатами с последующим удалением "старого" поля. В принципе эта операция делается без проблем. Однако вновь созданное поле обладает свойствами по-умолчанию, а не такими же как у изначального (что не удивительно). Меня конкретно интересует свойство comb, т.е. комбинация символов. В документации приведён пример реализации того, что мне нужно:
var f = myDoc.addField("Name.Last", "text", 0,[ inch, Bbox[1]-inch, 3*inch, Bbox[1]- inch - 14 ] );
f.comb = true; // Declare this is a comb field
f.charLimit = 10; // Max number of characters
Как видно из примера, после свойства comb должно быть charLimit. Свойство comb установить не удаётся никак вообще. Применить charLimit получается, но поле не становится comb, а просто приобретает ограничение на количество символов. Как уже только ни пробовал и как в интернетах ни копался - всё без толку. Буду благодарен, если кто-то сможет помочь или хотя бы что-то посоветовать. Привожу код примера для ahk:
fileName:="test.pdf"
newFieldName:="newF"
oldFieldName:="oldF"
gApp:=ComObjCreate("AcroExch.app")
avDoc:=ComObjCreate("AcroExch.AVDoc")
If avDoc.Open(fileName, "")
{
gApp.show()
pdDoc:=avDoc.GetPDDoc()
jso:=pdDoc.GetJSObject
fdPage:=jso.getField(oldFieldName).Page
fdRect:=jso.getField(oldFieldName).rect
field:=jso.addField(newFieldName,"text",fdPage,fdRect) ; До этого момента всё работает как задумано
field.comb:=true ; Error: 0x80070057 - Параметр задан неверно. Specifically: comb
field.charLimit:=10 ; код срабатывает, но результат не тот, который ожидался
}