JavaでPDFにデジタル署名を追加する方法
この記事では、Javaプログラム内でIronPDFを使用してPDFにデジタル署名を追加する方法を学びます。
IronPDF - Java用PDFライブラリ
IronPDF for Java PDFライブラリの概要は、開発者がHTML文字列をPDFに変換、HTMLファイルをPDFに変換、WordをPDFに変換、またはURLから新しいPDFドキュメントを作成できるJavaライブラリです。 それは、PDFにコンテンツを追加または削除することで、簡単にPDFを操作するのに役立ちます。 それは、デジタル署名と共にセキュリティとデジタル署名オプションをPDFドキュメントに提供します。
IronPDFは、PDF関連のタスクを実行するのに他のサードパーティライブラリを必要としません。 それはまた、さまざまなファイル形式間の変換の機能を提供します。 Java、Scala、Kotlinに特に設計され、クロスプラットフォームのサポートを提供します。
JavaでPDFドキュメントにデジタル署名を追加する手順
前提条件
PDFドキュメントにデジタル署名を行うには、以下の前提条件が必要です:
- Java IDE(NetBeans、Eclipse、IntelliJのいずれかがインストールされている) - 本記事ではIntelliJを使用します。 Oracle Java SEダウンロードページからJava開発キットを個別にダウンロードできます。
- Maven Javaプロジェクトを作成 - これにより、Javaプログラム内で依存関係をダウンロードおよび管理するのに役立ちます。 Apache MavenダウンロードページからMavenをダウンロードできます。
- IronPDFライブラリをダウンロードしてインストール - IronPDFをダウンロードしてインストールするには、Maven依存関係アーティファクトを含めます。 以下のコードスニペットを
pom.xmlファイルの依存関係タグに追加できます:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2023.2.0</version>
</dependency><dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2023.2.0</version>
</dependency>もう1つ必要な依存関係はSlf4j-simpleです。 それはオプションであり、
pom.xmlファイルに次の依存関係を追加することで追加できます:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency>XML
pom.xmlファイル
IronPDFインポートJavaパッケージ
メインファイルには次のインポートが必要です。これにより、PDFドキュメントにデジタル署名を追加するためのIronPDF機能の使用が可能になります。
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import java.io.IOException;
import java.nio.file.Paths;import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import java.io.IOException;
import java.nio.file.Paths;これで、必要なものはすべて揃っており、JavaでIronPDFを使用してPDFドキュメントにデジタル署名を追加する準備が整いました。
PDFファイルを作成または既存のPDFファイルを開く
PDFにデジタル署名する方法を学ぶためには、ゼロからPDFドキュメントを作成するか、既存のPDFドキュメントを開く必要があります。 この記事では、[renderHtmlAsPdfメソッド](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String))を使用してPDF署名用の新しいPDFドキュメントを作成します。 コードは次の通りです:
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");PDFドキュメントは作成されましたが、まだ保存されていません。 次のステップは、デジタル署名を作成し、このPDFドキュメントに追加して最終的に保存することです。
デジタル署名を作成する
Adobe Readerを使用してデジタル署名証明書を作成する必要があります。これをJavaコードで使用して、これらの詳細でPDFドキュメントにデジタル署名します。 Adobe Readerでデジタル署名を作成する方法を確認できます。
Adobe Readerを開き、編集 > 環境設定をクリックします。 次に署名をクリックし、さらに"Identities and Trusted Certificates"に進んでください。
プロジェクトの環境設定
.pfxまたは.p12ファイルドキュメントを作成するために、次の署名フィールドを追加してください。
デジタルIDダイアログを追加
次のコードサンプルは、Windows用の.pfx証明書ファイルとMac用の.p12ファイルを使用し、そのプライベートキー(パスワード)を伴ったJavaコード内で新しい署名を作成します。
Signature signature = new Signature("Iron.pfx", "123456");Signature signature = new Signature("Iron.pfx", "123456");PDFファイルにデジタル署名をする
IronPDFは、SignatureManagerクラスを使用して署名証明書を追加するのに役立ちます。 [getSignatureメソッド](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#getSignature()はPDFドキュメントの以前の署名を取得するのに役立ち、その後新しい署名を[SignPdfWithSignatureメソッド](/java/object-reference/api/com/Iron Software/ironpdf/signature/SignatureManager.html#SignPdfWithSignature(com.Iron Software.ironpdf.signature.Signature)を使用して署名ファイルを引数として追加できます。 コードは次の通りです:
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);PDF署名ファイルを保存
最後に、PDFファイルを保存しましょう。そうでないと、[saveAsメソッド](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#saveAs(java.lang.String))を使用してPDFは署名されません。 コードは簡単で次の通りです:
pdf.saveAs("signed.pdf");pdf.saveAs("signed.pdf");コードの完全なコンパイルおよび実行に成功した場合、出力にはデジタル署名されたPDFが生成されます。
出力PDFファイル
IronPDFは他の署名オプションも提供しており、デジタル署名に使用することもできます。 手書き、コンピューター生成のテキストイメージ、またはデジタル化されたイメージの形式で署名イメージを含みます。 以下のコードサンプルでは、デジタル署名のためにいくつかの追加のセキュリティオプションを追加するのに役立ちます:
signature.setSigningContact("support@ironsoftware.com");
signature.setSigningLocation("Chicago, USA");
signature.setSigningReason("To show how to sign a PDF");
BufferedImage signatureImage = ImageIO.read(new File("handwriting.png"));
WritableRaster raster = signatureImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
signature.setSignatureImage(data.getData());signature.setSigningContact("support@ironsoftware.com");
signature.setSigningLocation("Chicago, USA");
signature.setSigningReason("To show how to sign a PDF");
BufferedImage signatureImage = ImageIO.read(new File("handwriting.png"));
WritableRaster raster = signatureImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
signature.setSignatureImage(data.getData());完全なコードは以下の通りです:
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
public class DigitalSignatureExample {
public static void main(String[] args) throws IOException {
// Step 1. Create a PDF File Doc
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
Signature signature = new Signature("Iron.pfx", "123456");
// Step 3. Sign the PDF with the PdfSignature.
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
pdf.saveAs("signed.pdf");
}
}import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
public class DigitalSignatureExample {
public static void main(String[] args) throws IOException {
// Step 1. Create a PDF File Doc
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
Signature signature = new Signature("Iron.pfx", "123456");
// Step 3. Sign the PDF with the PdfSignature.
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
pdf.saveAs("signed.pdf");
}
}PDF署名のコード例からデジタル署名に関するさらなる情報を確認できます。 セキュリティをさらに追加しメタデータを編集したい場合は、セキュリティとメタデータのコード例をご覧ください。
結論
この記事では、Java用IronPDFを使用してPDFドキュメントにデジタル署名を追加する方法をステップバイステップで説明しました。
まず、IronPDFを使用してJavaでPDFを操作するために必要なコンポーネントを紹介しました。 次に、HTML文字列を使用して簡単なPDFドキュメントを作成しました。 Adobe Readerから証明書ファイルが作成され、これを使用して元のPDFドキュメントに署名しました。 IronPDFは、証明書を追加し署名フィールドを持つPDFに署名するのに役立つSignatureおよび[SignatureManager](/java/object-reference/api/com/Iron Software/ironpdf/signature/SignatureManager.html)クラスを提供しています。
IronPDFは、開発者がPDF関連のタスクを簡単かつ迅速に実行するのを支援します。 それは、ピクセルパーフェクトなPDFで正確な結果を提供します。 Javaのような多用途で広く使用されているプログラミング言語にとって、IronPDFはPDFドキュメントの操作に適しており、ほとんどすべてのPDF操作をサポートしています。 さらに、.NETの成功した機能を基に構築されています。
IronPDFは、Java専用に設計された高速なIronPDFEngineを使用してさまざまなファイル形式からの簡単な変換も提供しています。 テキストを抽出または追加、イメージの読み込みと抽出、PDFにヘッダーとフッターを追加、注釈、チャートとグラフをPDFにレンダリング、PDFフォームの操作などが可能です。
Java PDFコード例ページからIronPDFの使用方法についての詳細情報を入手できます。
IronPDFは個人の開発には無料であり、透かしのない無料トライアルを提供してPDFドキュメントを生成します。 商用利用向けにライセンスが取得でき、ユーザーはこの詳しいライセンス情報ページからライセンスに関する詳細情報を入手できます。
よくある質問
JavaでPDFにデジタル署名を追加するにはどうすればよいですか?
IronPDFを使用してJavaでPDFにデジタル署名を追加するには、PDFドキュメントを作成または開き、証明書ファイルでデジタル署名を生成し、IronPDFの`SignatureManager`クラスを使用して署名を適用します。最後に、署名済みのPDFドキュメントを保存します。
Javaライブラリを使用してHTMLをPDFに変換する手順は何ですか?
JavaでIronPDFを使用してHTMLをPDFに変換するには、PdfDocument.renderHtmlAsPdfメソッドを使用します。これにより、HTML文字列を直接PDFドキュメントに変換でき、その後PdfDocument.saveAsメソッドを使用して保存できます。
JavaプロジェクトでIronPDFを使用するために必要な前提条件は何ですか?
JavaプロジェクトでIronPDFを使用するには、IntelliJのようなJava IDE、依存関係を管理するためのMavenプロジェクト、そしてIronPDFライブラリが必要です。さらに、デジタル署名を追加するには、デジタル署名証明書が必要です。
JavaでIronPDFは他のファイル形式をPDFに変換できますか?
はい、HTMLのほかにも、IronPDFはWord文書やURLなどのさまざまなファイル形式をJavaアプリケーションでPDFに変換できます。
IronPDFはPDF機能に第三者ライブラリを必要としますか?
いいえ、IronPDFはそのコアPDF機能に第三者ライブラリを必要としないため、JavaにおけるPDF作成と操作の独立したソリューションです。
PDFに署名するためのデジタル署名証明書をどのように生成しますか?
デジタル署名証明書は、Adobe Readerを使用して「編集」>「環境設定」>「署名」へ進み、身元情報と信頼済み証明書を管理することで作成できます。
Javaでデジタル署名を管理するためにIronPDFで使用されるクラスは何ですか?
Javaでのデジタル署名管理に使用されるIronPDFのクラスはSignatureManagerです。これにより、新しい署名を追加し、PDFドキュメントから既存の署名を取得できます。
JavaでIronPDFを使用したデジタル署名の追加オプションは何ですか?
JavaでのIronPDFは、署名画像の追加、署名者の連絡先や場所、理由の指定、手書きやデジタル化された画像をデジタル署名に追加するオプションを提供します。
Java用のIronPDFの無料バージョンはありますか?
IronPDFは個人開発者向けに無料のトライアルを提供しており、透かしなしで使用できます。商用利用にはライセンスオプションが用意されています。
Java用のIronPDFの高度な機能には何がありますか?
IronPDF for Javaには、テキストと画像の抽出、ヘッダーとフッターの追加、グラフやチャートのレンダリング、PDFフォームの操作などの機能があります。










