プログラムで PDF ファイルに JavaScript を挿入する方法は?
Adobe Professional がなくてもできますか?
私の目標は、PDF を開いたときにすぐに印刷ダイアログを表示したいということです。
これは、ドキュメントに埋め込まれた JavaScript コードで実行できることを知っています。
プログラムで PDF ファイルに JavaScript を挿入する方法は?
Adobe Professional がなくてもできますか?
私の目標は、PDF を開いたときにすぐに印刷ダイアログを表示したいということです。
これは、ドキュメントに埋め込まれた JavaScript コードで実行できることを知っています。
Java で開発している場合は、iText をご覧ください: http://www.lowagie.com/iText/ あなたが探しているものをサポートしていると思います。
いくつかの .Net バージョンもあります: http://www.ujihara.jp/iTextdotNET/en/
iText (および iText_Sharp_) は、既存の PDF に JS を追加する能力が非常に高く、ページ アクション、リンク、ドキュメント レベルのスクリプトなど、名前を付けることができます。
これは 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
私はPDF仕様の勉強をしました。
PDF ファイル形式はそれほど難しくないことがわかりました。
ファイルの最後に新しいコンテンツを追加するだけでドキュメントを変更できるという優れた機能があります。
もしあなたが同じことをしようとしているのなら...心配しないでください!行ってスペックを見ます。