Adobe Javascript в действии мастера против кнопки формы
Я писал javascript для заполнения полей формы PDF. Сначала я написал код в "Мастере действий" в Adobe. В то время я не понимал, что добавляю его в свое местное приложение, а не в форму. Поэтому я затем скопировал его на кнопку на стороне, и теперь он не работает.
Код:
/* Test to read in a file and update the fields*/
var dataFrom = null;
//Grab the current path and update it to indicate the TempInfo location
var strPath = this.path;
strPath = strPath.slice(0,-12);
strPath = strPath + "TempInfo.txt"
//Get data from TempFile into array, display message if no file found
try{
var dataStream = util.readFileIntoStream(strPath);
var dataFrom = util.stringFromStream(dataStream);
}catch(e){
app.alert("Temp file not found");
}
//Put the data into an array and update the fields
var strTest = new Array();
strTest = dataFrom.split(/\n/);
getField("Username").value = strTest[0];
getField("UID").value = strTest[1];
//Clear the data
dataStream = null;
dataFrom = null;
strTest = null;
Я получаю app.alert "Temp файл не найден", поэтому "var dataStream = readFileInfoStream (strPath)"; не читается в файле. Я сделал app.alerts, чтобы проверить, что переменная strPath имеет правильный путь, и один, чтобы проверить, что dataStream имеет значение null. Будучи тем, что я скопировал его из Мастера действий, я не уверен, почему он не работает.
Просто, чтобы сделать это немного странным (по крайней мере, для меня), если я открою редактор JavaScript и выделим код, он отлично работает.
Для метода util.readFileIntoStream, когда указан параметр cDIPath, метод может быть выполнен только в привилегированном контексте, что означает во время пакетного события консоли или Action. Он не будет работать при выполнении в контексте документа, если вы не создадите доверенную функцию.
Прочтите это, чтобы понять, как выполнять привилегированные методы в непривилегированном контексте... http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_Dev_Contexts%2FExecuting_privileged_methods_in_a_non- privileged_context.htm & rhsearch = доверенный %20function & rhsyns = 20%