C#.NETのPDFファイルにJavaScriptを追加する

PDFは、汎用性と機能の点で豊富なドキュメント形式です。 PDFの主な利点の1つは、異種プラットフォーム間での一貫したレイアウトです。さらに、デスクトップアプリケーションとWebブラウザで同時に表示する機能があります。これが、PDFファイルがJavaScriptを実行できる理由です。この記事では、C#を使用して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#のドキュメントレベルに追加する手順です。

次のコードサンプルは、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を削除する手順です。

次のコードサンプルは、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の詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。

関連項目