C#でPDFを抽出および復号化

PDF暗号化は、PDFドキュメントを不正アクセスから保護するために使用されます。 PDFドキュメントが暗号化されている場合は、そのコンテンツにアクセスするために復号化する必要があります。そうしないと、読み取り不能のままになります。ほとんどの場合、PDFドキュメントは、ドキュメントを開くために必要なパスワードで暗号化されます。一方、アクセス許可を印刷、編集、コピーなどのさまざまな操作に制限することもできます。AsposeのPDFライブラリAspose.PDF for .NETは、暗号化および復号化するための簡単な方法をいくつか提供します。 C#およびVB.NETを使用したPDFファイル。この記事では、C#を使用してPDFの暗号化および復号化操作を実行する方法を紹介します。

C#PDF暗号化および復号化API-インストール

Aspose.PDF for .NETは、NuGetでホストされており、NuGetパッケージマネージャーを使用して簡単にインストールできます。または、ダウンロードセクションからAPIのDLLをダウンロードすることもできます。

PDFファイルをC#で暗号化する

PDFファイルを暗号化するには、ドキュメントを開いて表示するために必要なパスワードを設定する必要があります。さらに、暗号化方法として目的の暗号化アルゴリズムを指定する必要があります。 Aspose.PDF for .NETは、次の暗号化方式をサポートしています。

  • 40ビットキーのRC4。
  • 128ビットキーのRC4。
  • 128ビットキーのAES。
  • 256ビットキーのAES。

PDFファイルを暗号化する手順

以下は、C#を使用してPDFドキュメントを暗号化する簡単な手順です。

  • Documentクラスを使用してPDFドキュメントをロードします。
  • Document.Encryptメソッドを使用して、パスワードと暗号化アルゴリズムを使用してPDFドキュメントを暗号化します。
  • Document.Saveメソッドを使用して暗号化されたPDFドキュメントを保存します。

次のコードサンプルは、C#を使用してPDFドキュメントを暗号化する方法を示しています。

// ドキュメントを開く
Document document = new Document("Encrypt.pdf");
// PDFを暗号化する  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// 更新されたPDFを保存
document.Save("Encrypted PDF.pdf");

この暗号化されたPDFドキュメントをAdobeReaderで開くと、次のダイアログがポップアップ表示されます。

暗号化されたPDFドキュメント

C#を使用してPDFファイルを復号化する

PDFドキュメントを復号化するには、ドキュメントのユーザーまたは所有者のパスワードが必要です。以下は、PDFドキュメントを復号化するための簡単な手順です。

  • ユーザーまたは所有者のパスワードを指定して、Documentクラスを使用してPDFドキュメントをロードします。
  • Document.Decrypt()メソッドを呼び出します。
  • 復号化されたPDFドキュメントを保存します。

次のコードサンプルは、C#を使用してPDFドキュメントを復号化する方法を示しています。

// ユーザーまたは所有者のパスワードを指定してドキュメントを開く
Document document = new Document("Encrypted PDF.pdf", "user_password");
// PDFを復号化  
document.Decrypt();
// 更新されたPDFを保存
document.Save("Decrypted PDF.pdf");

C#でPDFファイルのセキュリティ権限を変更する

ユーザーの許可を制限することにより、PDFドキュメントのセキュリティを強化できます。このような場合、ユーザーに許可される操作を指定できます。以下は、ユーザーに許可するために設定できる権限のリストです。

  • ドキュメントの印刷-ドキュメントの印刷を許可します。
  • コンテンツの変更-ドキュメントのコンテンツを変更できます。
  • コンテンツの抽出-ドキュメントからコンテンツをコピーできます。
  • テキスト注釈の変更-テキスト注釈を追加または変更できます。
  • フォームに入力-インタラクティブフォームフィールドに入力できます。
  • 障害のあるコンテンツの抽出-テキストとグラフィックを抽出できます(障害のあるユーザー向け)。
  • ドキュメントの組み立て-ページを挿入、回転、または削除し、ブックマークまたはサムネイル画像を作成できます。
  • 印刷品質-高解像度でドキュメントを印刷できます。

PDFファイルのセキュリティ権限を変更する手順

以下は、PDFドキュメントのセキュリティ権限を変更する手順です。

  • PDFドキュメントをロードします。
  • Document.Encryptメソッドを使用してセキュリティ権限を設定します。
  • 暗号化されたPDFドキュメントを保存します。

次のコードサンプルは、C#を使用してPDFドキュメントのアクセス許可を変更する方法を示しています。

// ドキュメントを開く
Document document = new Document("Encrypt.pdf");
// 印刷許可を得てPDFを暗号化する
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// 更新されたPDFを保存
document.Save("Encrypted PDF.pdf");

PDFドキュメントの権限を設定または変更する別の方法は、DocumentPrivilegeクラスを使用することです。 DocumentPrivilegeクラスを使用すると、ユーザーの権限または特権を定義できます。次のコードサンプルは、C#でDocumentPrivilegeクラスを使用してPDFドキュメントのセキュリティアクセス許可を設定する方法を示しています。

// ドキュメントを開く
Document document = new Document("Encrypt.pdf");
// すべての特権に制限を適用する
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// 必要な特権を許可する
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// PDFを暗号化する
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// 更新されたPDFを保存
document.Save("Encrypted PDF.pdf");

以下は、このセクションで暗号化したPDFドキュメントのセキュリティの詳細です。

PDFのセキュリティ権限を変更しました

結論

この記事では、C#を使用してPDFドキュメントを暗号化および復号化する方法の手順を説明しました。さらに、C#でPDFドキュメントのセキュリティ権限を設定または変更する方法も学習しました。これらのセキュリティ機能を使用すると、パスワードと暗号化アルゴリズムを使用して機密性の高いPDFドキュメントを保護したり、ドキュメント関連の操作へのユーザーのアクセスを制限したりできます。 .NET PDFライブラリの詳細については、ドキュメントを参照してください。

関連項目