フッターコンテンツにスキップ
PDF ツール

IronPDF vs Docusign - PDFにデジタル署名を追加する方法

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against QuestPDF on pricing, HTML support, and licensing.

View Full Comparison

デジタル署名は、署名者の身元を認証し、文書の整合性を確保するために使用される数学的アルゴリズムです。 文書にリンクされた一意の識別子を作成し、署名者のみが知っている秘密鍵を使用して署名します。 デジタル署名された文書の信頼性を検証するために、受信者は公開鍵を使用して署名を復号化し、その有効性を確認します。

この記事では、C# で QuestPDF と IronPDF ライブラリを使用して PDF ドキュメントにデジタル署名を追加する方法を比較します。 どちらのライブラリも、デジタル署名機能を含む PDF 操作のための強力な機能を提供します。

デジタル署名はなぜ重要ですか?

デジタル署名は、文書の内容が改ざんされていないことを確認し、署名者の身元を証明します。 これにより、従来の署名に比べて高いレベルのセキュリティが実現します。 デジタル署名は多くの国で法的拘束力を持ち、契約書、合意書、その他の法的文書によく使用されます。

前提条件

始める前に、C# と .NET Framework の基本を理解していることを確認してください。 QuestPDFIronPDF の両方をインストールする必要があります。 QuestPDF は NuGet からインストールでき、IronPDF は IronPDF Web サイトまたは NuGet パッケージ マネージャーからダウンロードできます。

また、デジタル署名を準備しておく必要もありますが、デジタル署名がない場合は、新しい署名を作成するのに役立つリソースが多数あります。

QuestPDFとIronPDFの署名付きPDFドキュメント(コード例):図1

C#でのデジタル署名をPDF文書に追加する比較:QuestPDF vs IronPDF

それでは、これら 2 つのライブラリと、これらが PDF ドキュメントにデジタル署名を適用するタスクをどのように処理するかを詳しく見てみましょう。

QuestPDFは、PDFドキュメントの生成に特化したオープンソースライブラリです。包括的なレイアウトエンジンを搭載し、複雑なレイアウトもスムーズに作成できるAPIを備えています。PDFの操作性はそれほど高くありませんが、他のPDF署名ツールと組み合わせて使用できます。 また、ユーザーが PDF のドキュメント構造を簡単に調べることができるコンパニオン アプリも付属しており、ホット リロード機能を使用して、コードを再コンパイルすることなくライブ ドキュメント プレビューを提供します。

IronPDF は、PDFドキュメントの生成、操作、署名のための強力な機能を提供する強力な .NET ライブラリです。 包括的で使いやすいソリューションを求める .NET 開発者向けに設計されています。 IronPDF を使用すると、 PDF ドキュメントの暗号化注釈の追加、 HTML から PDF への変換、コンテンツの抽出などを簡単に行うことができます。

クエストPDF

QuestPDFとIronPDFの署名付きPDFドキュメント(コード例):図2

QuestPDF はデジタル署名をネイティブにサポートしていません。 ただし、この機能のために他のライブラリ(BouncyCastlePDFSharpのようなもの)と組み合わせることができます。 QuestPDFでドキュメントを生成した後、iTextのようなPDF署名ツールを提供するライブラリを使って署名できますが、QuestPDFライブラリ自体はPDF署名を処理しません。

PDF 暗号化という形で他の基本的な PDF セキュリティ形式を提供するほか、高度な PDF 作成機能や PDF ドキュメントのデザイン機能も備えているため、余計な機能なしで基本的な PDF タスクを処理できる PDF ライブラリを探している人にとっては、依然として有効な選択肢となり得ます。

IronPDF

IronPDF は、デジタル証明書を使用して PDF に署名するための簡単な API を提供します。 次のコードは、IronPDF を使用して PDF ファイルにデジタル署名を適用する方法を示しています。

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

public class Program
{
    static void Main(string[] args)
    {
        // Load an existing PDF document
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");

        // Load a certificate from a .pfx file
        X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);

        // Create a PDF signature using the certificate
        var sig = new PdfSignature(cert);

        // Sign the PDF document
        pdf.Sign(sig);

        // Save the signed PDF document
        pdf.SaveAs("signed.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

public class Program
{
    static void Main(string[] args)
    {
        // Load an existing PDF document
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");

        // Load a certificate from a .pfx file
        X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);

        // Create a PDF signature using the certificate
        var sig = new PdfSignature(cert);

        // Sign the PDF document
        pdf.Sign(sig);

        // Save the signed PDF document
        pdf.SaveAs("signed.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

Public Class Program
	Shared Sub Main(ByVal args() As String)
		' Load an existing PDF document
		Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")

		' Load a certificate from a .pfx file
		Dim cert As New X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable)

		' Create a PDF signature using the certificate
		Dim sig = New PdfSignature(cert)

		' Sign the PDF document
		pdf.Sign(sig)

		' Save the signed PDF document
		pdf.SaveAs("signed.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

QuestPDFとIronPDFの署名付きPDFドキュメント(コード例):図4

このコードは、IronPDF と X.509 証明書を使用して PDF ドキュメントにデジタル署名する方法を示しています。 まず、既存のPDF(PdfDocumentオブジェクトに読み込みます。 次に、X509KeyStorageFlags.Exportableを設定します。

次に、読み込んだ証明書を使用してPdfSignatureオブジェクトを作成します。 この署名は PDF ドキュメントに適用され、効果的に署名されます。 最後に、署名付きPDFをsigned.pdfという新しいファイルとして保存します。 このプロセスにより、PDF が安全に署名され、その信頼性と整合性が検証されます。

IronPDFを使って署名を検証する方法

IronPDF は、デジタル署名を検証する簡単な方法も提供します。 ドキュメント内の署名の有効性を確認するには、VerifyPdfSignaturesメソッドを呼び出すことができます。

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");

// Verify the digital signatures in the PDF document
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
    Console.WriteLine("The digital signature is valid.");
}
else
{
    Console.WriteLine("The digital signature is invalid or missing.");
}
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");

// Verify the digital signatures in the PDF document
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
    Console.WriteLine("The digital signature is valid.");
}
else
{
    Console.WriteLine("The digital signature is invalid or missing.");
}
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("signed_test_document.pdf")

' Verify the digital signatures in the PDF document
Private isValid As Boolean = pdf.VerifyPdfSignatures()
If isValid Then
	Console.WriteLine("The digital signature is valid.")
Else
	Console.WriteLine("The digital signature is invalid or missing.")
End If
$vbLabelText   $csharpLabel

このメソッドは、ドキュメント内のすべての署名が有効である場合falseを返します。

QuestPDFとIronPDFの違いのまとめ

使いやすさ: IronPDF は、QuestPDF と比較して、PDF に署名するためのよりシンプルな API を提供します。 QuestPDF はデジタル署名のネイティブ サポートを提供していないため、この機能には外部ライブラリ (BouncyCastle など) が必要です。 対照的に、IronPDF には PDF に署名および検証するためのメソッドが組み込まれているため、デジタル署名の実装がより簡単になります。

証明書管理:どちらのライブラリも証明書を処理できますが、IronPDF は組み込みメソッド (SignWithFile など) を通じて証明書を直接処理し、プロセスを簡素化します。 また、QuestPDF では提供されていない署名権限を指定することもできます。 わずか数行のコードで IronPDF を使用して PDF ドキュメントに署名します。

デジタル署名の検証: IronPDFはPDF内のデジタル署名の有効性を確認するための使いやすいメソッド(VerifyPdfSignatures)を提供しますが、QuestPDFにはこの機能がなく、署名の検証には外部ライブラリに依存します。

ライセンスとコスト: QuestPDF は無料で使用できるオープンソース ライブラリです。 これには、デジタル署名のサポートなどの高度な機能が欠けているというコストが伴います。 IronPDF は開発には無料で、さらに、購入前に試用できるように商用ライセンスのさまざまな価格帯が用意されています。

結論

要約すると、QuestPDF は複雑なレイアウトの PDF の作成に優れていますが、デジタル署名のネイティブ サポートがないため、この機能には BouncyCastle などの外部ライブラリが必要です。 対照的に、IronPDF はデジタル署名の署名と検証のための統合ソリューションを提供し、よりシンプルで効率的なプロセスを実現します。

デジタル署名機能が組み込まれた完全な PDF ソリューションを必要とする開発者にとって、幅広い機能詳細なドキュメントなどを備えた IronPDF はより適切な選択肢です。 ただし、QuestPDF は PDF 生成のための強力なオープン ソース オプションとして残っていますが、デジタル署名には追加の複雑さが伴います。 最終的な決定は、プロジェクトのニーズと望ましいシンプルさのレベルによって決まります。

ご注意QuestPDF および BouncyCastle は、それぞれの所有者の登録商標です。 このサイトは、QuestPDF または BouncyCastle と提携、承認、または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

C# を使用して PDF にデジタル署名を追加するにはどうすればよいですか?

C# で PDF にデジタル署名を追加するには、IronPDF のビルトインメソッドを使用して、デジタル証明書を使用したドキュメントへの署名を行うことができます。このライブラリは、PDF ドキュメントへの署名と検証を容易に行うためのシンプルな API を提供します。

デジタル署名に IronPDF を使用する利点は何ですか?

IronPDF は、PDF にデジタル署名を追加して検証するための包括的な API を提供しており、ユーザーフレンドリーで効率的です。証明書管理と署名検証のためのビルトインメソッドを含んでおり、開発者にシームレスな体験を提供します。

QuestPDF はデジタル署名をネイティブでサポートしていますか?

QuestPDF はデジタル署名をネイティブではサポートしていません。この機能を実装するには、BouncyCastle や PdfSharp などの外部ライブラリを統合する必要があります。

IronPDF は署名の検証プロセスをどのように簡素化していますか?

IronPDF はビルトインメソッドを提供することで署名の検証を簡素化し、PDF 上のすべての署名が有効であるかどうかを簡単にチェックし、ドキュメントの整合性と署名者の信頼性を確保します。

QuestPDF を使用してデジタル署名付きの PDF を生成できますか?

QuestPDF は複雑なレイアウトを持つ PDF の生成に優れていますが、デジタル署名のネイティブサポートがありません。QuestPDF で生成されたドキュメントに署名を追加し、検証するには追加のライブラリが必要です。

デジタル署名を扱う点で IronPDF が QuestPDF より優れた選択肢である理由は何ですか?

IronPDF は統合されたデジタル署名機能とユーザーフレンドリーな API により、デジタル署名を扱うのに優れた選択肢です。外部ライブラリを必要とせずに、容易にデジタル署名を実装、管理、および検証できます。

IronPDF はデジタル署名の実装に無料で利用できますか?

IronPDF は開発目的に無料で提供されており、そのデジタル署名機能をテストできます。商業利用の場合、完全な機能にアクセスするためのさまざまなライセンスオプションを提供します。

IronPDF はデジタル証明書の管理をどのように行っていますか?

IronPDF はデジタル証明書を管理するためのビルトインメソッドを提供しており、ドキュメントに署名し、署名を簡単に検証できるようにします。これにより、ドキュメントの一貫性と署名者の信頼性を確保するプロセスが簡素化されます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

QuestPDF Logo

高額な更新や古い製品アップデートに疲れましたか?

QuestPDFからの簡単な切り替えを、当社のエンジニアリング移行サポートとより良い取引で実現してください。

IronPDF Logo

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね