使用DomPDF / PHP使用Acrobat Javascript生成PDF

时间:2011-02-15 16:47:42

标签: php javascript acrobat dompdf

我目前正在构建一个使用PHP库DOMPDF从HTML生成PDF的应用程序。 PDF需要能够更新他们的内容或下载更新的版本,如果它可以从站点API获得并实现这一点我相信我将不得不使用Acrobat Javascript,但我不知道如何做到这一点。我已经写了下面的javascript,它嵌入在PDF中虽然它什么都不做(甚至没有显示警告框)。它是使用html头中的<script type="text/javascript">标记嵌入的。

对此的任何帮助将不胜感激:)

// 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 :(得分:0)

必须对网址进行转义,并且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