このグループのサンプルでは、パスワードを指定せずに、パスワードで保護されたPDFを
操作(編集、注釈の追加、ドキュメントプロパティの取得など)する方法を紹介しています。
しかし、パスワードで保護されたPDFの操作では、以下のような固有の制限があることに留意してください。
- PDFの文字列オブジェクトに基づくプロパティ(基本的にはDocumentInfo.Creatorなどの文字列プロパティ)の読み取り/書き込みはできません。
- ストリームオブジェクトの読み取り/書き込みはできません。PDFのストリームに依存するためサポートされていない操作には、次のようなものがあります。
- PDFページのレンダリング
- ページコンテンツの追加や変更
- フォントの埋め込み
- 注釈の外観ストリームの作成または編集
- PDFファイルには「オブジェクトストリーム」が含まれる場合があります。「オブジェクトストリーム」は、最も外側のファイルレベルに格納される代わりに、
一連の間接オブジェクトを格納できるストリームオブジェクトです。暗号化されたPDFでは、「オブジェクトストリーム」も暗号化されるため、
その中のPDFオブジェクトにはアクセスできません。よって、オブジェクトストリームを使用したPDFファイルは、パスワードを指定せずに開くことはできず、
例外が発生します。
パスワードで保護されたPDFに対して、パスワードを指定せずに実行できる操作は以下の通りです。
- PDFの文字列オブジェクトまたはストリームオブジェクトに基づいていないプロパティの読み取り/書き込み
- PDFの文字列やストリームを使用せずに定義できる新しいオブジェクトの追加
なお、このグループのサンプルのほとんどは、ライセンスなしでの使用では動作しないことに注意してください(5ページの読み込み制限とウォーターマークの追加の影響)。
パスワードで保護されたPDFをパスワードなしで操作するためのいくつかの有用な例を、以下のサンプルで紹介しています。
参考までに、これらのサンプルにて使用されているパスワードで保護されたPDFにはすべて、ユーザーパスワードに「user」とオーナーパスワードに「owner」が設定されています。