JAVA向けIRONPDFの使用

JavaでPDFにデジタル署名を追加する方法

更新済み 3月 26, 2023
共有:

この記事では、JavaプログラムでIronPDFを使用してPDFにデジタル署名を追加する方法を学びます。

IronPDF - Java PDF ライブラリ

IronPDF は、開発者がゼロから新しいPDFドキュメントを作成することができるJavaライブラリです。 HTML文字列, HTMLファイル, ワードファイル、またはURL。 PDFからコンテンツを追加または削除して簡単に操作するのに役立ちます。 それを提供します セキュリティオプション PDFドキュメントとデジタル署名用。

IronPDFは、PDF関連のタスクを実行するために他のサードパーティライブラリを必要としません。 また、異なるファイル形式間の変換機能も提供します。 クロスプラットフォーム対応を提供し、特にJava、Scala、およびKotlin向けに設計されています。

JavaでPDFドキュメントにデジタル署名を追加する手順

前提条件

PDFドキュメントにデジタル署名するには、以下の前提条件が必要です:

  • 任意のJava IDE (NetBeans、Eclipse、IntelliJ)インストール済み**- この記事ではIntelliJを使用します。 Java Development Kit は別途ダウンロードできます: オラクルウェブサイト.
  • 自動化のためのMaven Javaプロジェクト - これは、Javaプログラムで依存関係をダウンロードおよび管理するのに役立ちます。 Mavenをダウンロードできます Apache Maven のウェブサイト.

  • IronPDF ライブラリのダウンロードとインストール - IronPDF をダウンロードしてインストールするには、その Maven 依存関係アーティファクトを含めます。 pom.xmlファイルのdependenciesタグに次のコードスニペットを追加することができます:

    申し訳ありませんが、xml-mvn-install-aoは技術的な名前またはコードスニペットのように見えます。このテキストに関する追加の文脈情報や具体的な文章があれば、より正確な翻訳を提供できます。正確な翻訳を提供するためには、文全体や文脈を知る必要があります。例えば、IronPDF、IronOCRなどの製品についての説明や指示の場合、それらを翻訳いたしますので、具体的な文章を送ってください。

また、エラーメッセージ、インストールガイド、または特定のコードに関する説明がある場合、その文脈に基づいて翻訳を行うことが可能です。何か他にお手伝いできることがあれば、お知らせください。 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

  • 追加の依存関係として必要なのは、Slf4j-simpleです。 以下の依存関係を pom.xml ファイルに追加することで、オプションとして追加できます:
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
XML

JavaでPDFにデジタル署名を追加する方法、図1:pom.xmlファイル

pom.xmlファイル

IronPDF ジャバパッケージのインポート

メインファイルに以下のインポートが必要です。これにより、IronPDFの機能を使用してPDFドキュメントにデジタル署名を追加できます:

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を使用してJavaでPDFドキュメントにデジタル署名を追加するために必要なすべての準備が整いました。

PDFファイルを作成するか、既存のPDFファイルを開く

以下の内容を日本語に翻訳してください:

To 電子署名 PDFを扱うには、新規でPDF文書を作成するか、既存のPDF文書を開く必要があります。 この記事では、使用して PDF署名のための新しいPDFドキュメントを作成します renderHtmlAsPdf 方法 PdfDocument(PDFドキュメント) クラス。 コードは次のようになります:

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
JAVA

PDFドキュメントは作成されていますが、まだ保存されていません。 次のステップはデジタル署名を作成し、それをこのPDFドキュメントに追加し、最終的に保存することです。

デジタル署名を作成

Adobe Readerを使用してデジタル署名証明書を作成し、その詳細でPDFドキュメントにデジタル署名するためにJavaコードで使用します。 こちらをご覧ください: デジタル署名の作成方法.

Adobe Readerを開き、編集 > 環境設定をクリックします。 その後、「署名」をクリックし、「個人情報」および「信頼された証明書」を選択します。

JavaでPDFにデジタル署名を追加する方法、図2:プロジェクトの設定

プロジェクトの設定

以下の署名フィールドを追加して、.pfx または .p12 ファイルドキュメントを作成してください。

JavaでPDFにデジタル署名を追加する方法、図3:デジタルID追加ダイアログ

デジタルIDを追加するダイアログ

以下のコードサンプルは、Windows向けの.pfx証明書ファイルとMac向けの.p12ファイル、およびその秘密鍵を使用してJavaコードで新しい署名を作成します。 (パスワード):

Signature signature = new Signature("Iron.pfx", "123456");
JAVA

デジタル署名でPDFファイルに署名

IronPDF は、SignatureManager クラスを使用して署名証明書を追加するのに役立ちます。 [getSignature](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()) このメソッドはPDF文書の以前の署名を取得するのに役立ち、その後、新しい署名を追加することができます。 SignPdfWithSignature シグネチャファイルを引数としてメソッドを使用します。 コードは次のようになります:

SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
JAVA

PDF署名ファイルを保存

最後に、PDFファイルを保存しましょう。そうしないと、PDFは署名されません。 保存として PdfDocumentクラスのメソッド。 コードはシンプルで、次の通りです:

pdf.saveAs("signed.pdf");
JAVA

コードのコンパイルと実行が成功すると、出力はデジタル署名されたPDFを生成します。

JavaでPDFにデジタル署名を追加する方法、図4:出力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());
JAVA

コード全体は次のようになります:

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 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");
}
JAVA

以下からデジタル署名に関する詳細情報を確認できます PDF署名コード例. さらにセキュリティを強化し、メタデータを編集したい場合は、 例のコードはこちら.

結論

この記事では、IronPDF for Javaを使用してPDFドキュメントにデジタル署名を追加する方法をステップバイステップで説明しました。

まず、この記事では、IronPDFを使用してJavaでPDFを扱うために必要なコンポーネントについて説明しました。 次に、HTML文字列を使用してシンプルなPDFドキュメントを作成しました。 Adobe Reader から証明書ファイルが作成され、この証明書ファイルを使用して元のPDFドキュメントに署名しました。 IronPDFはSignatureを提供します SignatureManager 証明書を追加し、署名欄でPDFに署名するためのクラス。

IronPDFは、開発者がPDF関連の作業を簡単かつ迅速に行うことを可能にします。 それはピクセルパーフェクトなPDFで正確な結果を提供します。 Javaのような多用途で広く使用されているプログラミング言語に対して、IronPDFは多用途であり、ほぼすべてのPDF操作をサポートしているため、PDFドキュメントの処理に最適です。 さらに、これはすでに成功している.NETの機能に基づいて構築されています。

IronPDFは、Java用に特別に設計された高速なIronPDFEngineを使用して、さまざまなファイル形式から簡単に変換することもできます。 IronPDFライブラリを使用して テキストの抽出または追加, 画像を読み込みおよび抽出します, ヘッダーとフッターを追加する、注釈、 チャートとグラフをレンダリング、使用する PDF フォームそして多くの他のもの。

IronPDFの使用方法に関する詳細情報は、 コード例 ページ。

IronPDFは個人の開発には無料で提供され、 無料トライアル 透かしなしでPDFドキュメントを生成するために。 商業利用のためにライセンス供与されることができ、ユーザーはこのライセンスに関する詳細情報を得ることができます。 詳細ライセンスページ.

< 以前
Java PDFコンバーター (コード例チュートリアル)
次へ >
JavaでPDFファイルを読み取る方法

準備はできましたか? バージョン: 2024.9 新発売

無料のMavenダウンロード View Licenses >