1
1

More than 3 years have passed since last update.

Java PDFファイルにパスワードを設定とそれを解除

Posted at

機密情報を扱ったりする方は、セキュリティ保護に気をつかわなくてはならないでしょう?それに時々、PDFをパスワードで保護しよう!ってこと結構ありますよね。従って、今からfree Spire.PDF for Javaという無料のライブラリを使ってPDFファイルにパスワードを設定、そしてパスワードを解除する方法を紹介いたします。

下準備

1.E-iceblueの公式サイトからSpire.PDF for Javaをダウンロードしてください。

f:id:lendoris:20210831153539p:plain

2.IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire.PDF.jarを参照に追加してください。

f:id:lendoris:20210831153646p:plain

パスワードを掛ける

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("input.pdf");

        //パスワードをかけます。
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
        String openPassword = "e-iceblue";
        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();        

    }
}

f:id:lendoris:20210831153724p:plain

パスワードを解除

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", "test");

        //パスワードを解除します。
        doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "test");

        //保存します。
        doc.saveToFile("Decrypt.pdf");
        doc.close();
    }

}

f:id:lendoris:20210831153734p:plain

 

1
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
1
1