2015-07-14 2 views
0

Я пытался внедрить javascript в кнопку pdf. Как только вы нажмете ее, это позволит вам. Я знаю, что есть проблемы с безопасностью, которые не позволяют использовать эту функцию в формате pdf. И это требует, чтобы вы поместили SaveAs Javascript, чтобы он доверял функциям на компьютере. Поэтому я поставил следующий код в качестве доверенной функции на своем компьютере.Как использовать функцию SaveAs в Adobe Acrobat

var mySaveAs = app.trustedFunction(
    function(oDoc,cPath,cFlName) 
    { 
     // Ensure path has trailing "/" 
     cPath = cPath.replace(/([^/])$/, "$1/"); 
     try{ 
     oDoc.saveAs(cPath + cFlName); 
     }catch(e){ 
     app.alert("Error During Save"); 
     } 
    } 
); 

И у меня есть эти коды в кнопке моего PDF-файл, который позволяет мне SAVEAS другой файл в формате PDF, имя которого «123.pdf».

var doc = app.activeDocs; 
var aMyPath = this.path.split("/"); 
aMyPath.pop(); 
var pathname = aMyPath.join("/") 
if(typeof(mySaveAs) == "function"){ 
    mySaveAs(doc,pathname,"345.pdf") 
}else{ 
    app.alert("Missing Save Fucntion" + "Please contact forms administrator"); 
} 

Я не знаю почему, но он по-прежнему дает мне сообщение об ошибке «Ошибка во время сохранения». Кто-нибудь знает причину? Или есть более простой способ использования функции SaveAs с использованием JavaScript в Acrobat. Заранее спасибо.

+0

Вы отслеживаете [этот учебник?] (Https://acrobatusers.com/tutorials/how-save-pdf-acrobat-javascript) –

+0

@ Jean-philippeEmond это то, что я сделал. –

+0

проверьте путь до сохранения, например 'app.alert (cPath + cFlName);' и проверьте, можете ли вы там написать или если путь хорош .. –

ответ

0

У меня есть старый код для аналогичной вещи, и он использовал приведенный ниже код для сохранения текущего файла в новой папке. Я использовал это в Adobe 6. Проверьте, работает ли это для вас.

this.saveAs(destfolder+filename); 
0

app.activeDocs - это массив объектов Doc. Поэтому переменная doc (которая не имеет самого умного имени, BTW) является массивом.

Однако функция сохранения требует, чтобы один объект Doc работал.

Попробуйте ли заменить

mySaveAs(doc,pathname,"345.pdf") 

с

mySaveAs(this,pathname,"345.pdf") 

будет работать.