フッターコンテンツにスキップ
製品比較

.NETにおけるPDFに画像を追加するための最良の代替案を探る

PDFファイルを.NET環境で作業する際に、ドキュメントに画像を追加することは、多くのアプリケーションで一般的な要件です。 請求書、レポート、またはカスタムドキュメントを生成する場合でも、画像をPDFに埋め込む機能は不可欠です。 Two of the most popular PDF libraries in C# are IronPDF and iTextSharp. この記事では、PDFに画像を追加する能力に基づいて、両ライブラリの使いやすさ、パフォーマンス、ライセンス、機能を比較します。

IronPDFとiTextSharpの主な違い

画像追加に関連する機能

  • IronPDF: IronPDFはPDFに画像を追加するのを簡単にし、ローカル画像とリモート画像の両方の埋め込みをサポートしています。 そのAPIにより、ドキュメント内で画像の位置、元の幅、スケーリングに細かく制御できます。

    iTextSharp: iTextSharpも画像の埋め込み機能を提供します。 それは柔軟で強力なAPIを提供し、JPGやPNGなどのさまざまな画像タイプを処理できます。 しかし、カスタマイズ、特に画像の位置やサイズ変更を行う場合は、より多くのコード行が必要な場合があります。

パフォーマンスの考慮事項

  • IronPDF: 効率性で知られるIronPDFは、大きなPDFや画像をスムーズに処理します。 埋め込まれたグラフィック付きのPDFを生成または変更する際のパフォーマンスは優れており、高性能を必要とするサーバーアプリケーションに最適です。

    iTextSharp: iTextSharpは信頼性のあるライブラリですが、状況によっては遅くなることがあり、特に大きなファイルや複雑な画像操作で問題があります。 ただし、それでもほとんどのアプリケーションに適しています。

ライセンスと価格モデル

  • IronPDF: IronPDFは永続ライセンスを提供しており、一度購入すれば無期限に使用できます。 これは、定期的なサブスクリプション費用を避けたい開発者に最適です。

    iTextSharp: iTextSharpはオープンソース使用のためのAGPL (Affero General Public License)の下で動作し、プロジェクトで使用する場合はソースコードを公開する必要があります、あるいはこれを避けるために商用ライセンスを選択できます。

IronPDFを使用したPDFへの画像追加

C#プロジェクトでのIronPDFのセットアップ

画像を追加する前に、最新バージョンのC#またはVisual BasicプロジェクトにIronPDFをインストールする必要があります。 これをNuGet経由で行うことができます:

Install-Package IronPdf

インストールが完了したら、PDFドキュメントに画像を追加し始めることができます。

IronPDFを使用したPDFへの画像追加: コード例

次のコード例は、IronPDFを使用してPDFに画像を追加する方法を示しています:

using IronPdf;
using IronPdf.Editing;

class Program
{
    public static void Main(string[] args)
    {
        // Create a renderer to convert HTML to PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render a basic PDF with some HTML content
        PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

        // Create an ImageStamper with the image URL
        ImageStamper stamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"));

        // Apply the stamp (image) to the PDF document
        pdf.ApplyStamp(stamper);

        // Save the modified PDF to a file
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;
using IronPdf.Editing;

class Program
{
    public static void Main(string[] args)
    {
        // Create a renderer to convert HTML to PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render a basic PDF with some HTML content
        PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

        // Create an ImageStamper with the image URL
        ImageStamper stamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"));

        // Apply the stamp (image) to the PDF document
        pdf.ApplyStamp(stamper);

        // Save the modified PDF to a file
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing

Friend Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Create a renderer to convert HTML to PDF
		Dim renderer As New ChromePdfRenderer()

		' Render a basic PDF with some HTML content
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

		' Create an ImageStamper with the image URL
		Dim stamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))

		' Apply the stamp (image) to the PDF document
		pdf.ApplyStamp(stamper)

		' Save the modified PDF to a file
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

.NETでPDFに画像を追加するためのベストな代替手段を探る: 図1

この例では、まずChromePdfRendererクラスを使用して、新しいPDFをHTML文字列からレンダリングします。 次に、IronPDFの画像スタンピングツールを使用して、提供された文字列URLから新しい画像を作成し、それをPDFに適用します。 この例は、わずかのコード行でPDFページに画像を追加するためにIronPDFを使用する方法を示しています。

画像配置とサイズのカスタマイズ

IronPDFは、画像配置に関して広範なカスタマイズが可能です。 ページ上で画像をどこに配置したいかを、スタンピングツールの位置決め機能を通じて、画像の位置とオフセットを設定することで指定できます。

iTextSharpを使用したPDFへの画像追加

C#プロジェクトでのiTextSharpのセットアップ

iTextSharpの使用を開始するには、NuGet経由でライブラリをインストールする必要があります:

Install-Package itext7

セットアップが完了したら、PDFに画像を追加することができます。

iTextSharpを使用したPDFへの画像追加: コード例

以下はiTextSharpを使用して画像を挿入する方法の例です:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    public static void Main(string[] args)
    {
        // Initialize PDF writer
        var pdfWriter = new PdfWriter("output.pdf");

        // Initialize PDF document
        var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);

        // Initialize document
        var document = new Document(pdfDocument);

        // Create ImageData from image file
        ImageData imageData = ImageDataFactory.Create("iText.png");

        // Create an Image instance
        Image image = new Image(imageData);

        // Set fixed position for the image in the PDF
        image.SetFixedPosition(50, 100);  // x, y coordinates

        // Scale image to fit within specified dimensions
        image.ScaleToFit(200, 200);  // Width, Height

        // Add image to document
        document.Add(image);

        // Close the document
        document.Close();
    }
}
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    public static void Main(string[] args)
    {
        // Initialize PDF writer
        var pdfWriter = new PdfWriter("output.pdf");

        // Initialize PDF document
        var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);

        // Initialize document
        var document = new Document(pdfDocument);

        // Create ImageData from image file
        ImageData imageData = ImageDataFactory.Create("iText.png");

        // Create an Image instance
        Image image = new Image(imageData);

        // Set fixed position for the image in the PDF
        image.SetFixedPosition(50, 100);  // x, y coordinates

        // Scale image to fit within specified dimensions
        image.ScaleToFit(200, 200);  // Width, Height

        // Add image to document
        document.Add(image);

        // Close the document
        document.Close();
    }
}
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.IO.Image

Friend Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Initialize PDF writer
		Dim pdfWriter As New PdfWriter("output.pdf")

		' Initialize PDF document
		Dim pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfWriter)

		' Initialize document
		Dim document As New Document(pdfDocument)

		' Create ImageData from image file
		Dim imageData As ImageData = ImageDataFactory.Create("iText.png")

		' Create an Image instance
		Dim image As New Image(imageData)

		' Set fixed position for the image in the PDF
		image.SetFixedPosition(50, 100) ' x, y coordinates

		' Scale image to fit within specified dimensions
		image.ScaleToFit(200, 200) ' Width, Height

		' Add image to document
		document.Add(image)

		' Close the document
		document.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

.NETでPDFに画像を追加するためのベストな代替手段を探る: 図2

この例では、画像は座標(50, 100)に追加され、200x200ピクセル以内に収まるようスケーリングされます。 PdfWriterは出力ファイルを作成するために使用され、画像を扱うためのPDFライター機能を操作可能にします。

画像配置とサイズのカスタマイズ

iTextSharpは画像の位置とサイズに対してより多くの制御を提供します。アスペクト比を維持しつつ画像をスケーリングすることも、特定の寸法に引き伸ばすことも可能です。 SetFixedPositionメソッドは配置を正確に制御し、画像の整列や回転の操作も可能です。

パフォーマンス比較: IronPDF対iTextSharp

パフォーマンスにおいて、両ライブラリはPDFに画像を追加するタスクを処理しますが、次のような違いがあります:

  • IronPDFはパフォーマンスに最適化されており、大量の画像を含む大きなドキュメントを効率的に処理できます。 特に重いグラフィカルコンテンツが必要なドキュメントのPDFをレンダリングする際に高速です。

  • iTextSharpは十分なパフォーマンスを提供しますが、非常に大きなPDFや高解像度画像が多数ある場合には苦労することがあります。 それでもかなり効率的ですが、一部の開発者はより複雑なユースケースでIronPDFと比較して遅いレンダリング時間を報告しています。

ライセンスと価格モデル

  • IronPDF: IronPDFは簡潔な永続ライセンスを提供しており、一度の購入で済みます。 これはオープンソースのライセンス要件や継続費用を扱いたくない開発者にとって有益です。

  • iTextSharp: iTextSharpはAGPLライセンスを厳守しており、オープンソースプロジェクトに無料で使用できますが、商用利用する場合はAGPLの制限を回避するために有料の商用ライセンスを提供しています。 .NETでPDFに画像を追加するためのベストな代替手段を探る: 図3 - 比較サマリーテーブル

結論

IronPDFとiTextSharpはどちらもC#でPDFに画像を追加するための強力なツールを提供しますが、それぞれ異なる利点があります。

IronPDFはその使いやすさ、パフォーマンス、およびライセンスの柔軟性で際立っており、より少ないコードで複雑なPDFや画像を扱いたい開発者にとって理想的な選択肢です。 また、大きなPDFに対する優れたスケーラビリティを提供し、継続的な費用や複雑なオープンソースライセンスの制限を避けるための一度の購入ライセンスモデルを提供しています。 一方で、iTextSharpはオープンソースプロジェクトに適しているかもしれませんが、同じ結果を達成するためにはより多くのコードを要し、より大きなPDFではパフォーマンスの問題に遭遇する可能性があります。

PDF画像処理を簡単にできますか? IronPDFは、わずかのコード行でPDFに画像を追加するためのシームレスで効率的な体験を提供します。

IronPDFを試して、C#プロジェクトに画像サポートを統合するのがどれほど簡単かを確認してください。 IronPDFを使用することで、時間を節約し、複雑さを軽減し、PDF生成ワークフローを改善できます。 With IronPDF, you’ll save time, reduce complexity, and enhance your PDF generation workflow.

ご注意iTextSharpはその所有者の登録商標です。 このサイトはiTextSharpと関係がない、または推奨、スポンサーされていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者の財産です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

.NETアプリケーションでPDFに画像を追加するにはどうすればいいですか?

ImageStamper機能を利用して、IronPDFを使用してPDFに画像を追加できます。これは、配置やスケーリングを正確に制御しながら、簡単に画像を埋め込むことができます。

大きなPDFファイルにおけるIronPDFのパフォーマンス向上は何ですか?

IronPDFは特に大きなPDFファイルや高解像度画像の処理が必要なサーバーベースアプリケーションに最適な高パフォーマンスに最適化されています。

IronPDFはPDFへの画像埋め込みプロセスをどのように簡素化しますか?

IronPDF は、最小限のコードで PDF 文書に画像を配置する直感的な API により、画像埋め込みを簡素化し、生産性を向上させます。

iTextSharpと比較した時のIronPDFのライセンスモデルは何ですか?

IronPDFは継続的なサブスクリプションコストを排除した、一度の購入での永続ライセンスを提供します。一方、iTextSharpはAGPLライセンスを使用し、プロプライエタリプロジェクトに商業オプションを提供しています。

IronPDFを使用してPDFに画像を追加するためのコード例を提供できますか?

もちろん!IronPDFのPdfDocumentおよびImageStamperクラスを使用し、記事内の例で示されるように、わずか数行のコードでPDFに画像を埋め込むことができます。

IronPDFとiTextSharpの間で画像の配置カスタマイズはどのように異なりますか?

IronPDFはアラインメントやオフセット設定を用いた単純な画像配置カスタマイズを提供しますが、iTextSharpはSetFixedPositionのようなメソッドを使用して画像の位置を詳細に制御します。

IronPDFとiTextSharpの選択における重要な考慮事項とは何ですか?

IronPDFとiTextSharpの選択は、使いやすさ、大きなファイルでのパフォーマンス、ライセンスニーズなどに依存します。IronPDFは使いやすさとスケーラビリティで好まれ、iTextSharpはオープンソースプロジェクトに適しています。

IronPDFが高パフォーマンスサーバーアプリケーションに推奨される理由は何ですか?

IronPDFのアーキテクチャは高性能用に設計され、大きな文書や画像を効率的に処理できるため、速度と信頼性を求めるサーバーアプリケーションに最適です。

PDFに画像を追加する際の一般的なトラブルシューティング手順は何ですか?

PDFで画像埋め込みの問題をトラブルシューティングする際、画像パスが正しいことを確認し、ファイルアクセス権限を確認し、画像形式が使用しているPDFライブラリでサポートされていることを確認します。

IronPDFのトライアル版が開発者にどのように役立つか?

IronPDFのトライアル版は、その機能を探求し、PDF画像の埋め込みを処理する能力を試す機会を提供し、C#プロジェクトでのPDFプロセシングを簡素化します。

Curtis Chau
テクニカルライター

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

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