JavaScriptの操作
JavaScriptの追加 (DOM)
Acrobat JavaScriptとは?
Acrobat JavaScriptは、ISO-16262のJavaScriptバージョン1.5を基にした言語で、以前はECMAScriptとして知られていた、Netscape Communicationsによって開発されたオブジェクト指向スクリプト言語です。JavaScriptは、Webベースのアプリケーションにおいて、Webページ処理をサーバーからクライアントにオフロードするために作成されました。Acrobat JavaScriptは、JavaScript言語に新しいオブジェクトとそれに伴うメソッドおよびプロパティの形で拡張機能を実装します。これらのAcrobat特有のオブジェクトにより、開発者は文書のセキュリティを管理し、データベースと通信し、ファイル添付を処理し、PDFファイルをインタラクティブでWeb対応のフォームのように操作することができます。Acrobat特有のオブジェクトはコアJavaScriptの上に追加されるため、Math、String、Date、Array、RegExpなどの標準クラスにもアクセスできます。
Acrobat JavaScriptとHTML (Web) JavaScriptの違い
PDF文書は、Acrobatソフトウェア内およびWebブラウザ内の両方で表示できるため、Acrobat JavaScriptとWebブラウザで使用されるJavaScript(HTML JavaScriptとも呼ばれる)の違いを理解することが重要です:
- Acrobat JavaScriptは、HTMLページ内のオブジェクトにアクセスできません。同様に、HTML JavaScriptはPDFファイル内のオブジェクトにアクセスできません。
- HTML JavaScriptは、Windowなどのオブジェクトを操作できます。Acrobat JavaScriptはこの特定のオブジェクトにアクセスできませんが、PDF特有のオブジェクトを操作できます。
Aspose.PDF for .NETを使用して、文書およびページレベルの両方でJavaScriptを追加できます。JavaScriptを追加するには:
文書またはページアクションにJavaScriptを追加する
- 希望するJavaScript文をコンストラクタ引数として持つJavascriptActionオブジェクトを宣言し、インスタンス化します。
- JavascriptActionオブジェクトをPDF文書またはページの希望するアクションに割り当てます。
以下の例は、特定の文書にOpenActionを適用します。
文書レベルにJavaScriptを追加/削除する
DocumentクラスにJavaScriptという新しいプロパティが追加され、JavaScriptコレクションタイプを持ち、そのキーによってJavaScriptシナリオにアクセスできます。このプロパティは、文書レベルのJavaScriptを追加するために使用されます。JavaScriptコレクションには、以下のプロパティとメソッドがあります:
- string this(string key)– 名前によってJavaScriptを取得または設定します。
- IList Keys – JavaScriptコレクション内の既存のキーのリストを提供します。
- bool Remove(string key) – キーによってJavaScriptを削除します。
JavaScriptアクションを使用してPDF文書の有効期限を設定する
Aspose.PDFを使用すると、JavaScriptアクションを埋め込むことによってPDF文書の有効期限を設定できます。この機能により、指定された日時以降にPDFがアクセスできなくなり、文書のセキュリティと制御が強化されます。JavaScriptアクションを活用することで、秒単位で正確な有効期限条件を定義でき、文書のアクセス可能性が厳密に制御されます。
これを達成するには、以下の手順に従ってください
- 文書の初期化: 新しいPDF文書を作成し、空白のページを追加するか、既存のPDF文書を開きます。
- 有効期限の日付と時間を定義: 文書が期限切れになる日時を設定します。
- JavaScriptコードの準備:
- 現在の日付と時間を取得します。
- 有効期限の日付と時間を正確に定義します。JavaScriptでは月がゼロベースであることを考慮してください。
- 現在の日付と時間を有効期限の日付と時間と比較します。
- 現在の日付と時間が有効期限の日付と時間を超えた場合、アラートを表示し、文書を閉じます。
- オープンアクションの設定: JavaScriptアクションを文書のオープンアクションに関連付けます。
- 文書の保存: 有効期限条件を強制する埋め込まれたJavaScriptを持つPDFを保存します。
以下は、C# (.NET)およびJavaの両方でこの機能を示すコードスニペットです。
以下のC#コードスニペットは、Aspose.PDFを使用してPDF文書の有効期限の日付と時間を設定する方法を示しています。
-
JavaScript日付オブジェクト: JavaScriptでは、月のインデックスは1月が0
、12月が11
で始まります。有効期限の日付と時間を設定する際に、月の値が適切に調整されていることを確認してください。
-
セキュリティに関する考慮事項: JavaScriptアクションはPDF文書の動作を制御できますが、PDFビューアのJavaScriptサポートに依存します。すべてのPDFビューアがこれらのスクリプトを尊重するわけではなく、ユーザーがセキュリティ上の理由からJavaScriptの実行を無効にしている可能性があります。
-
カスタマイズ: 有効期限が切れた際に、特定の機能を無効にしたり、特定のページにリダイレクトしたり、イベントをログに記録したりするなど、追加のアクションを実行するためにJavaScriptコードを修正します。また、必要に応じて、時間を指定せずに有効期限の日付のみを確認することもできます。