Java暗号化と復号化PDF


この文章は、JavaプログラムでPDF文書の保護を設定する方法を紹介する。私たちは、ドキュメントを参照するためのパスワードを表示することができます。すなわち、このパスワードを介してドキュメントを読むだけで、編集できない、ドキュメントの編集権限のパスワードを設定することができます。

使用ツール: Free Spire.PDF for Java V2.0.0

【例1】PDFドキュメントを暗号化する

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 doc = new PdfDocument();
        // PDFファイルをロードする
        doc.loadFromFile("sample.pdf");

        // PDFファイルを暗号化する
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;

        //ドキュメントを開くときは、ドキュメントを見るだけです。
        String openPassword = "123456";

        //ドキュメントを開いた場合、ドキュメントを編集することができます。
        String permissionPassword = "test"; 
        EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
        doc.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);

        //ファイルを保存する
        doc.saveToFile("Encrypt.pdf");
        doc.close();             
    }
}

コードを完了した後、プログラムを実行し、ドキュメントを生成する。ドキュメントを開く場合、パスワードを入力して、ドキュメントの暗号化の具体的な状況を調べることができます。以下のように:

【例2】PDFパスワードの保護を解除

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 doc = new PdfDocument();
        //パスワード保護のPDFファイルをロードする
        doc.loadFromFile("Encrypt.pdf", "123456");

        //ドキュメント中のパスワードの保護を解除する
        doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "test");

        //ファイルを保存する
        doc.saveToFile("Decrypt.pdf");
        doc.close();
    }
}

プログラムを実行した後、生成されたドキュメントは、もはやパスワードで保護されません.