PDFは、汎用性と機能の点で豊富なドキュメント形式です。 PDFの主な利点の1つは、異種プラットフォーム間での一貫したレイアウトです。さらに、デスクトップアプリケーションとWebブラウザで同時に表示する機能があります。これが、PDFファイルがJavaScriptを実行できる理由です。この記事では、C#を使用してPDFファイルでJavaScriptを追加または削除する方法を示します。
- PDFでJavaScriptを追加または削除する.NET API
- PDFファイルにJavaScriptを追加する
- PDFでドキュメントレベルのJavaScriptを追加
- PDFからJavaScriptを削除する
PDFでJavaScriptを追加または削除するC#.NET API
Aspose.PDF for .NETは、.NETアプリケーション内でPDFの生成と操作を実行するように設計されています。 APIを使用すると、単純なレイアウトと複雑なレイアウトのPDFファイルをシームレスに作成、処理、および変換できます。 APIのバイナリをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.PDF
C#でPDFファイルにJavaScriptを追加する
PDFファイルはAcrobatJavaScriptをサポートします。これは、以前はECMAScriptと呼ばれていたISO-16262のJavaScriptバージョン1.5のコアに基づいています。これは、NetscapeCommunicationsによって開発されたオブジェクト指向のスクリプト言語です。 PDFファイルにJavaScriptを追加する前に、AcrobatJavaScriptとWebブラウザーで使用されるHTMLJavaScriptの違いを見てみましょう。
- Acrobat JavaScriptは、HTMLページ内のオブジェクトにアクセスできません。同様に、HTMLJavaScriptはPDFファイル内のオブジェクトにアクセスできません。
- HTML JavaScriptは、Windowなどのオブジェクトを操作できます。ただし、Acrobat JavaScriptはこれらの特定のオブジェクトにアクセスできませんが、PDF固有のオブジェクトを操作することはできます。
以下は、C#でJavaScriptをPDFファイルに追加する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- JavascriptActionクラスのインスタンスを作成し、目的のスクリプトで初期化します。
- ドキュメントレベルのJavaScriptのDocument.OpenActionプロパティにJavascriptActionオブジェクトを割り当てます。
- ページレベルのJavaScriptを追加するには、Document.Pages [index].Actionsプロパティを使用します。
- Document.Save(String)メソッドを使用してPDFを保存します。
次のコードサンプルは、JavaScriptをPDFに追加する方法を示しています。
// PDFファイルをロードする
Document doc = new Document("input.pdf");
// 目的のJavaScriptステートメントを使用してJavascriptActionをインスタンス化します
JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");
// JavascriptActionオブジェクトをドキュメントの目的のアクションに割り当てます
doc.OpenAction = javaScript;
// ページレベルでのJavaScriptの追加
doc.Pages[2].Actions.OnOpen = new JavascriptAction("app.alert('page 1 opened')");
doc.Pages[2].Actions.OnClose = new JavascriptAction("app.alert('page 1 closed')");
// PDFドキュメントを保存
doc.Save("output.pdf");
C#でPDFにドキュメントレベルのJavaScriptを追加する
Document.JavaScriptプロパティを使用して、JavaScriptをドキュメントレベルに追加することもできます。以下は、JavaScriptをC#のドキュメントレベルに追加する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- Document.JavaScriptコレクションを使用して、JavaScript関数を追加します。
- Document.Save(String)メソッドを使用してPDFを保存します。
次のコードサンプルは、C#でJavaScriptをPDFに追加する方法を示しています。
// PDFファイルをロードまたは作成します
Document doc = new Document();
// ページを追加
doc.Pages.Add();
// ドキュメントレベルのJavaScriptを追加する
doc.JavaScript["func1"] = "function func1() { hello(); }";
doc.JavaScript["func2"] = "function func2() { hello(); }";
// PDFドキュメントを保存
doc.Save("output.pdf");
C#でPDFからJavaScriptを削除する
以下は、C#でPDFからJavaScriptを削除する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- Document.JavaScript.Remove(String)メソッドを使用して、目的のJavaScriptモジュールを削除します。
- Document.Save(String)メソッドを使用してPDFを保存します。
次のコードサンプルは、C#でPDFからJavaScriptを削除する方法を示しています。
// ドキュメントを読み込む
Document doc1 = new Document("input.pdf");
// JavaScriptキーを取得して印刷する
IList keys = (System.Collections.IList)doc1.JavaScript.Keys;
foreach (string key in keys)
{
Console.WriteLine(key + " ==> " + doc1.JavaScript[key]);
}
// キーを使用してJavaScriptを削除する
doc1.JavaScript.Remove("func1");
// PDFドキュメントを保存
doc1.Save("output.pdf");
無料ライセンスを取得する
評価の制限なしにAspose.PDF for .NETを使用するには、無料の一時ライセンスを取得できます。
結論
この記事では、C#でJavaScriptをPDFファイルに追加する方法を学びました。さらに、プログラムでPDFからJavaScriptを削除する方法を見てきました。さらに、ドキュメントを使用して.NETPDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。