如何以編程方式將JavaScript注入PDF文件?如何以編程方式將JavaScript注入PDF文件?
可以在沒有Adobe Professional的情況下完成嗎?
我的目標是:我想在打開PDF時立即顯示打印對話框。
我知道這可以通過嵌入在文檔中的JavaScript代碼完成。
如何以編程方式將JavaScript注入PDF文件?如何以編程方式將JavaScript注入PDF文件?
可以在沒有Adobe Professional的情況下完成嗎?
我的目標是:我想在打開PDF時立即顯示打印對話框。
我知道這可以通過嵌入在文檔中的JavaScript代碼完成。
如果你正在用Java開發看看iText:http://www.lowagie.com/iText/ 我認爲它支持你在找什麼。
也有一些版本的.Net圍繞:http://www.ujihara.jp/iTextdotNET/en/
我所做的STUDING PDF Specifications。
原來,PDF文件格式並不難。
它有一個很好的功能,可以通過在文件末尾附加新內容來修改文檔。
如果你正在嘗試做同樣的事情...不要害怕!去看看規格。
iText(和iText_Sharp_)能夠將JS添加到現有的PDF ...頁面操作,鏈接,文檔級別腳本中,您可以將其命名。
The JavaDoc can be found here。
這是用Java編寫的,但C#代碼看起來幾乎完全相同(如果不完全一樣,異常處理就像這樣去掉)。
PdfReader myReader = new PdfReader(myFilePath); // throws IOException
PdfStamper myStamper = new PdfStamper(myReader, new FileOutputStream(outPath)); // throws IOE, DocumentException
// add a document script
myStamper.addJavaScript(myScriptString);
// add a page-open script, 1 is the first page, not zero0
PdfAction jsAction = PdfAction.javaScript(someScriptString);
myStamper.setPageAction(PdfWriter.PAGE_OPEN, jsAction, myStamper.getWriter(), pageNumber); // throws PdfException (for bad first param)
PdfFormField button = PdfFormField.createButton(myWriter, PdfFormField.FF_PUSHBUTTON);
button.setWidget(myRectangle, PdfAnnotation.HIGHLIGHT_INVERT);
// the important part, adding jsAction
jsAction = PdfAction.javaScript(buttonScriptString);
button.setAdditionalActions(PdfAnnotation.AA_DOWN, jsAction); // mouse down
myStamper.addAnnotation(pageNum, button);
myStamper.close(); // write everything out, throws DocumentException, IOE
你可以在文檔中指出它嗎? – 2008-10-16 20:14:29
這裏有一個簡單的例子:http://itextdocs.lowagie.com/tutorial/objects/anchors/index.php 看看JavaScript部分。 – 2008-10-16 20:44:06