2

我目前正在构建一个使用 PHP 库 DOMPDF 从 HTML 生成 PDF 的应用程序。PDF 需要能够更新其内容或下载更新版本(如果可以从站点 API 获得)并完成此操作,我相信我将不得不使用 Acrobat Javascript,但我不知道该怎么做。我编写了以下嵌入在 PDF 中的 javascript,尽管它没有执行任何操作(甚至不显示警告框)。<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);
4

1 回答 1

0

URL 必须转义,openDoc 方法应如下所示:

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

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

CPATH:“要打开的文档的与设备无关的路径。如果指定了 oDoc,则路径可以相对于它。目标文档必须在默认文件系统中可访问。”

CHTTP:“指定源文件系统名称的字符串。支持两个值:(空字符串,默认值),表示默认文件系统,以及“CHTTP”。此参数仅在Web服务器支持时才相关网络视频。”

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

于 2012-09-21T20:14:44.520 回答