チュートリアル

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

チュートリアル»Java»Spire.PDF for Java»保護»Java:PDF ドキュメントの暗号化・復号化
2022-08-30

Java:PDF ドキュメントの暗号化・復号化

機密情報や重要な情報を含む PDF ドキュメントには、パスワードを使って保護し、指定された人だけがドキュメント内の情報にアクセスできるようにすることができます。この記事では、Spire.PDF for Java を使用して PDF ドキュメントを暗号化し、パスワードで保護されたドキュメントを復号化する方法を説明します。

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

まず、Spire. PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>8.8.3</version>
    </dependency>
</dependencies>

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

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

Spire.PDF for Java が提供する PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet<PdfPermissionsFlags> permissions, PdfEncryptionKeySize keySize) メソッドは PDF ファイルを暗号化するのに開くパスワードと権限パスワード両方を設定できるようにします。詳細な手順は次のとおりです。

  • PdfDocument クラスのインスタンスを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ファイルを読み込みます。
  • 開くパスワード、権限パスワード、暗号化キーサイズと権限を設定します。
  • PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet<PdfPermissionsFlags> permissions, PdfEncryptionKeySize keySize) メソッドを使用して PDF ファイルを暗号化します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import java.util.EnumSet;

import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;

public class encryptPDF {

    public static void main(String[] args) {

        //PdfDocumentクラスのインスタンスを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/例.pdf");

        //ドキュメントを暗号化する
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
        String openPassword = "e-iceblue";
        String permissionPassword = "permission";
        EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
        pdf.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);

        //ドキュメントを保存する
        pdf.saveToFile("ドキュメントの暗号化.pdf");
        pdf.close();

    }

}

Java:PDF ドキュメントの暗号化・復号化

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

PDF ファイルのパスワードを削除する必要がある場合、PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet<PdfPermissionsFlags> permissions, PdfEncryptionKeySize keySize, java.lang.String originalPermissionPassword) メソッドを用いて開くパスワードと権限パスワードを空に設定することが可能です。詳細な手順は以下の通りです。

  • PdfDocument クラスオブジェクトを作成します。
  • PdfDocument.loadFromFile(java.lang.String filename, java.lang.String password) メソッドを使用して、暗号化された PDF ドキュメントをパスワード付きで読み込んでいます。
  • PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet<PdfPermissionsFlags> permissions, PdfEncryptionKeySize keySize, java.lang.String originalPermissionPassword) メソッドを用いて開くパスワードと権限パスワードを空に設定し PDF ファイルを復号化します。
  • PdfDocument.saveToFile() メソッドを使用して、結果のファイルを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;

public class decryptPDF {

    public static void main(String[] args) throws Exception {

        //PdfDocumentクラスのインスタンスを作成する
        PdfDocument pdf = new PdfDocument();

        //パスワードで暗号化されたPDFドキュメントを読み込む
        pdf.loadFromFile("ドキュメントの暗号化.pdf", "e-iceblue");

        //ドキュメントを復号化する
        pdf.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "permission");

        //ドキュメントを保存する
        pdf.saveToFile("ドキュメントの復号化.pdf");
        pdf.close();
    }
}

Java:PDF ドキュメントの暗号化・復号化

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

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

Read 792 times