0
1

More than 5 years have passed since last update.

Java暗号化と復号化PDF

Posted at

この文章は、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();             
    }
}

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

Encrypted.png

【例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();
    }
}

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1