Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

JavaでPDFファイルを暗号化する

v2026.05

PDFの暗号化はドキュメントの内容へのアクセスを制限し、正しいパスワードを持つ受信者のみがファイルを開いて読めるようにします。JPedalは、Javaでパスワード保護を適用し、暗号化の設定をプログラムから行うためのシンプルなAPIを提供しています。

このチュートリアルでは、JPedalのPDF Manipulator クラスを使用します。このクラスには、ドキュメント処理ワークフローに役立つ多くの機能が含まれています。

JavaでPDFファイルを暗号化する

JPedalをMaven またはGradle の依存関係としてプロジェクトに追加し、PdfManipulatorを使用してPDFを読み込み、暗号化して書き出します。

final PdfManipulator pdf = new PdfManipulator();
pdf.loadDocument(new File("inputFile.pdf"));
pdf.writeDocument(new File("outputFile.pdf"), "password".getBytes(StandardCharsets.UTF_8));
pdf.closeDocument();

writeDocument()に渡したパスワードが、ドキュメントを開く際に必要なパスワードとして設定されます。このメソッドにはbyte[]およびOutputStreamを引数に取るバージョンも用意されています。

詳細はPdfManipulator Javadoc を参照してください。

暗号化の設定を行う

writeDocument()を呼び出す前に、EncryptionSettingsを使用して追加の暗号化動作を設定できます。

たとえば、ドキュメントのメタデータを暗号化するかどうかを設定できます。

pdf.getEncryptionSettings().setEncryptMetadata(false);

利用可能なすべてのオプションについては、EncryptionSettings Javadoc を参照してください。

パスワードで保護されたPDFを開く

JPedalで暗号化されたPDFを読み込むには、loadDocument()にパスワードを渡します。

pdf.loadDocument(new File("encryptedFile.pdf"), "password".getBytes(StandardCharsets.UTF_8));

これは、既存のドキュメントを新しいパスワードで再暗号化する際に役立ちます。

よくある質問

既存の暗号化されたPDFを開いて、新しいパスワードで再暗号化できますか?

はい。loadDocument()に既存のパスワードを渡し、変更を加えた後、新しいパスワードを指定してwriteDocument()を呼び出してください。

なぜメタデータの暗号化を無効にするのですか?

ドキュメント管理システムの中には、ファイルを完全に開かずにPDFのメタデータ(タイトル、作成者、件名)を読み取るものがあります。メタデータの暗号化を無効にすることで、そのようなシステムがファイルをインデックス化できるようになりながら、ドキュメントの内容は引き続き保護された状態を維持できます。

PDFを暗号化すると、既存の注釈やブックマークに影響しますか?

いいえ。暗号化は書き込み時に適用され、既存のドキュメント構造をラップする形で行われます。注釈、ブックマーク、その他のコンテンツはそのまま維持されます。

関連チュートリアル