Генерация PDF с помощью Acrobat Jascript с использованием DomPDF / PHP - PullRequest
2 голосов
/ 15 февраля 2011

В настоящее время я создаю приложение, которое генерирует PDF-файлы из HTML с использованием библиотеки PHP DOMPDF.В PDF-файлах требуется возможность обновлять свой контент или загружать более новую версию, если она доступна из API сайтов, и для этого я считаю, что мне придется использовать Acrobat Javascript, но я не уверен, как это сделать.Я написал следующий javascript, который встроен в PDF, хотя он ничего не делает (даже не показывает окно предупреждения).Он встроен с помощью тега <script type="text/javascript"> в заголовке html.

Любая помощь по этому вопросу будет принята с благодарностью:)

// The JS that needs to be inserted in to a PDF file to self update

app.alert('checking for updates');

var version = "1";
var book_id = "1234";
var update_url = "http://localhost/koolbookz/"+book_id+"/"+version;


// Open the source documents:
var source1 = app.openDoc(update_url);

// Obtain the OCG order array for each source document:
var mergedOCGArray = new Array();
var source1OCGArray = source1.getOCGOrder();

// Merge the OCG order arrays into the target array:
for (var i=0; i<source1OCGArray.length; i++) mergedOCGArray[i] = source1OCGArray[i];
var offset = source1OCGArray.length;

// Create the target document:
var target = app.newDoc(book_id+".pdf");

// Insert source1.pdf:
target.insertPages({
    nPage : -1,
    cPath : update_url,
});

// Set the OCG order array in the target document
target.setOCGOrder(mergedOCGArray);

// Save the target document:
target.saveAs(book_id+".pdf");

// Close the target document without notifying the user:
//target.closeDoc(true);

1 Ответ

0 голосов
/ 22 сентября 2012

URL должен быть экранирован, а метод openDoc должен выглядеть следующим образом:

var myURL = encodeURI ("http://www.example.com");

app.openDoc ({cPath: myURL, cFS:" CHTTP "});

CPATH: "Независимый от устройства путь к документу, который нужно открыть. Если указан oDoc, путь может быть относительно него. Целевой документ должен быть доступен в файловой системе по умолчанию."

CHTTP: "Строка, которая задает имя исходной файловой системы. Поддерживаются два значения: (пустая строка, которая является значением по умолчанию), представляющая файловую систему по умолчанию, и« CHTTP ». Этот параметр имеет значение, только есливеб-сервер поддерживает WebDAV . "

http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Acrobat9_HTMLHelp&file=JS_API_AcroJS.88.131.html#1995988

...