チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.PDF for .NET»保護»C#/VB.NET:PDF を暗号化または復号化する方法
2022-09-15

C#/VB.NET:PDF を暗号化または復号化する方法

PDF ファイルの暗号化は、インターネット上で機密ドキュメントを共有する際に非常に重要です。強力なパスワードで PDF ファイルを暗号化することで、ファイルのデータが不正にアクセスされないように保護することができます。また、場合によっては、ドキュメントを公開するために、パスワードを削除する必要があることもあります。この記事では、Spire.PDF for .NET を使用して、プログラムで PDF ファイルを暗号化または復号化する方法について学びます。

Spire.PDF for.NET をインストールします

まず、Spire.PDF for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

PDF ファイルをパスワードで暗号化する

PDF ファイルを暗号化するためのパスワードには、「開くパスワード」と「権限パスワード」の2種類があります。前者は PDF ファイルを開くために設定し、後者は印刷や 内容のコピー、コメント付けなどを制限するために設定します。2種類のパスワードで PDF ファイルを保護した場合、どちらかのパスワードで開くことができます。

Spire.PDF for .NET が提供する PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) メソッドは、開くパスワードと権限パスワードを設定して、PDF ファイルを暗号化できるようにするものです。詳細な手順は次のとおりです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルを読み込みます。
  • PdfDocument.Security 属性を使用して、ドキュメントのセキュリティパラメータを取得します。
  • PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) メソッドを使用して開くパスワードと権限パスワードで PDF ファイルを暗号化します。
  • PdfDocument.SaveToFile() メソッドを使用して、結果のファイルを保存します。
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Security;

namespace EncryptPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocument クラスのオブジェクトを作成する
            PdfDocument pdf = new PdfDocument();

            //PDFファイルを読み込む
            pdf.LoadFromFile(@"C:\Users\YDY_17628305272oEgOG\Desktop\Sample1.pdf");

            //パスワードでPDFファイルを暗号化する
            pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);

            //のファイルを保存する
            pdf.SaveToFile("PDFの暗号化.pdf", FileFormat.PDF);
        }
    }
}
Imports Spire.Pdf
Imports Spire.Pdf.Security

Namespace EncryptPDF
    Class Program
        Shared Sub Main(ByVal args() As String)
            'PdfDocument クラスのオブジェクトを作成する
            Dim pdf As PdfDocument = New PdfDocument()

            'PDFファイルを読み込む
            pdf.LoadFromFile("C:\Users\YDY_17628305272oEgOG\Desktop\Sample1.pdf")

            'パスワードでPDFファイルを暗号化する
            pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit)

            'のファイルを保存する
            pdf.SaveToFile("PDFの暗号化.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

C#/VB.NET:PDF を暗号化または復号化する方法

パスワードを削除して PDF ファイルを復号化する

PDF ファイルからパスワードを削除する必要がある場合、PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword) メソッドを呼び出して、開くパスワードと権限パスワードを空に設定することができます。詳細な手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.LoadFromFile (string filename, string password) メソッドを使用して、パスワード付き暗号化 PDF ファイルを読み込みます。
  • PdfDocument.Security 属性を使用して、ドキュメントのセキュリティパラメータを取得します。
  • PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword) メソッドを使用して開くパスワードと権限パスワードを空に設定し、PDF ファイルを復号化します。
  • PdfDocument.SaveToFile() メソッドを使用して結果のファイルを保存します。
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Security;

namespace DecryptPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocument クラスのオブジェクトを作成する
            PdfDocument pdf = new PdfDocument();

            //パスワードを使って暗号化されたPDFファイルを読み込む
            pdf.LoadFromFile(@"C:/PDFの暗号化.pdf", "open");

            //パスワードを空に設定し、PDFファイルを復号化する
            pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");

            //結果のファイルを保存する
            pdf.SaveToFile("PDFの復号化.pdf", FileFormat.PDF);
        }
    }
}
Imports Spire.Pdf
Imports Spire.Pdf.Security

Namespace DecryptPDF
    Class Program
        Shared Sub Main(ByVal args() As String)
            'PdfDocument クラスのオブジェクトを作成する
            Dim pdf As PdfDocument = New PdfDocument()

            'パスワードを使って暗号化されたPDFファイルを読み込む
            pdf.LoadFromFile("C:/PDFの暗号化.pdf", "open")

            'パスワードを空に設定し、PDFファイルを復号化する
            pdf.Security.Encrypt(String.Empty, String.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission")

            '結果のファイルを保存する
            pdf.SaveToFile("PDFの復号化.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

C#/VB.NET:PDF を暗号化または復号化する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 1374 times