Pdfbox-javascript-in-pdf-document
PDFBox-PDFドキュメントのJavaScript
前の章では、PDFドキュメントに画像を挿入する方法を学びました。 この章では、PDFドキュメントにJavaScriptを追加する方法について説明します。
JavaScriptをPDFドキュメントに追加する
*PDActionJavaScript* クラスを使用して、PDFドキュメントにJavaScriptアクションを追加できます。 これはJavaScriptアクションを表します。
JavaScriptアクションを既存のPDFドキュメントに追加する手順は次のとおりです。
ステップ1:既存のPDFドキュメントの読み込み
*PDDocument* クラスの静的メソッド* load()*を使用して、既存のPDFドキュメントを読み込みます。 このメソッドは、以下に示すようにクラス名を使用して呼び出すことができる静的メソッドであるため、パラメーターとしてファイルオブジェクトを受け入れます。
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
ステップ2:PDActionJavaScriptオブジェクトの作成
以下に示すように、 PDActionJavaScript オブジェクトをインスタンス化します。 このクラスのコンストラクターに、以下に示すように、必要なJavaScriptをStringの形式で渡します。
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
+ " nType: 0,cTitle: 'PDFBox Javascript example' } );";
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
ステップ3:ドキュメントにJavaスクリプトを埋め込む
以下に示すように、必要な文字列をPDFドキュメントに埋め込みます。
document.getDocumentCatalog().setOpenAction(PDAjavascript);
ステップ4:ドキュメントを保存する
必要なコンテンツを追加したら、次のコードブロックに示すように、 PDDocument クラスの* save()*メソッドを使用してPDFドキュメントを保存します。
document.save("Path");
ステップ5:ドキュメントを閉じる
最後に、以下に示すように、 PDDocument クラスの* close()*メソッドを使用してドキュメントを閉じます。
document.close();
例
以下に示すように、 sample.pdf という名前のPDFドキュメントが C:/PdfBox_Examples/ というパスにあり、空のページがあるとします。
この例は、上記のPDFドキュメントにJavaScriptを埋め込む方法を示しています。 ここでは、 sample.pdf という名前のPDFドキュメントをロードし、JavaScriptを埋め込みます。 このコードを* AddJavaScript.java。*という名前のファイルに保存します
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.interactive.action.PDActionJavaScript;
public class AddJavaScript {
public static void main(String args[]) throws Exception {
//Loading an existing file
File file = new File("C:/PdfBox_Examples/new.pdf");
PDDocument document = PDDocument.load(file);
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
+ " nType: 0, cTitle: 'PDFBox Javascript example’} );";
//Creating PDActionJavaScript object
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
//Embedding java script
document.getDocumentCatalog().setOpenAction(PDAjavascript);
//Saving the document
document.save( new File("C:/PdfBox_Examples/new.pdf") );
System.out.println("Data added to the given PDF");
//Closing the document
document.close();
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
javac AddJavaScript.java
java AddJavaScript
実行すると、上記のプログラムは、指定されたPDFドキュメントにJavaScriptを埋め込み、次のメッセージを表示します。
Data added to the given PDF
ドキュメント new.pdf を開こうとすると、次のような警告メッセージが表示されます。