機密情報を扱ったりする方は、セキュリティ保護に気をつかわなくてはならないでしょう?それに時々、PDFをパスワードで保護しよう!ってこと結構ありますよね。従って、今からfree Spire.PDF for Javaという無料のライブラリを使ってPDFファイルにパスワードを設定、そしてパスワードを解除する方法を紹介いたします。
下準備
1.E-iceblueの公式サイトからSpire.PDF for Javaをダウンロードしてください。
2.IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire.PDF.jarを参照に追加してください。
パスワードを掛ける
```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 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();
}
}
<p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/l/lendoris/20210831/20210831153724.png" alt="f:id:lendoris:20210831153724p:plain" width="534" height="142" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p>
<h4><strong>パスワードを解除</strong></h4>
```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 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();
}
}