iTextSharp: PDFに画像を追加する
IronPDF は、より少ないコード行数と永続ライセンスでよりシンプルな画像追加を提供しますが、iTextSharp はよりきめ細かな制御を提供しますが、より多くのコードが必要であり、商用利用には AGPL に基づく複雑なライセンスが適用されます。
.NET環境でPDFファイルを扱う場合、ドキュメントに画像を追加することは多くのアプリケーションで一般的な要件です。 会社のロゴが入った請求書を生成したり、グラフが埋め込まれたレポートを作成したり、透かしが入ったカスタム ドキュメントを作成したりする場合でも、PDF に画像を埋め込む機能は不可欠です。 C# で人気のある 2 つの PDF ライブラリはIronPDFとiTextSharpです。 この記事では、使いやすさ、パフォーマンス、ライセンス モデル、画像圧縮や形式のサポートなどの高度な機能を考慮して、PDF に画像を追加する機能について両方のライブラリを比較します。
IronPDF と iTextSharp の主な違いは何ですか?
各ライブラリはどのような画像機能を提供していますか?
IronPDF: IronPDF は、URL からのローカル画像とリモート画像の両方に対する組み込みサポートにより、PDF への画像の追加を簡素化します。 API は位置、幅、スケーリングを制御できます。 ライブラリは、JPEG、PNG、GIF、 SVG 、 WebGL コンテンツをサポートしています。 スタンプ機能は、透かし、レターヘッド、画像のオーバーレイなどの方法を提供します。 Chrome レンダリング エンジンにより、複雑なグラフィックやレスポンシブな画像を正確にレンダリングできます。
iTextSharp: iTextSharp は、低レベル API を通じて画像の埋め込みを提供します。 JPG および PNG 形式を処理する柔軟なインターフェースを提供します。 ただし、特に画像を正確に配置したり、透明度や回転を実装したりする場合には、カスタマイズのためにさらに多くのコードが必要になります。 ライブラリでは、座標系とスケーリングの計算を手動で処理する必要があります。 多くの場合、レスポンシブなサイズ設定のために独自のビューポート コントロールを実装する必要があります。
大きなファイルや複雑な操作をどのように処理するのでしょうか?
IronPDF: IronPDF は、メモリ管理を改善することで、大きな PDF や画像を効率的に処理します。 埋め込みグラフィックを含む PDF を生成または変更する場合のパフォーマンスが優れており、サーバー アプリケーションやAzure 展開に適しています。 このライブラリは、バッチ処理のための非同期操作とマルチスレッドをサポートしています。 パフォーマンス最適化機能には、インテリジェント キャッシュと並列 PDF 生成が含まれます。
iTextSharp:大きなファイルや複雑な画像操作の場合、iTextSharp の動作が遅くなる可能性があります。 複数の画像を同時に処理したり、高解像度の画像を操作したりする場合には、メモリの使用量が問題になります。 ただし、適切に構成されていれば、ほとんどのアプリケーションに適しています。 ライブラリには、バッチ操作用の組み込み圧縮最適化がありません。
商用利用の場合のコストへの影響はどのようなものですか?
IronPDF: IronPDF は、1 回の購入で透明な価格設定の永続ライセンスを提供します。 これにより、定期的なサブスクリプションコストを回避できます。 ライブラリには、無料試用オプションと完全なテクニカル サポートが含まれています。 ライセンス キーの管理は、複数の構成オプションにより簡単に行えます。
iTextSharp: iTextSharp はオープンソースの使用に AGPL を使用し、ソースコードのリリースを必要とします。 商用ライセンスではこの要件は回避されます。 ライセンスの複雑さは商用アプリケーションにとって課題となる可能性があります。 ライセンスのアップグレードと拡張を理解するには、慎重な計画が必要です。
IronPDF を使用して PDF に画像を追加するにはどうすればよいですか?
IronPDF をインストールして設定するにはどうすればよいですか?
NuGet経由で C# または Visual Basic プロジェクトに IronPDF をインストールします。 ライブラリは、Windows インストーラーやDocker デプロイメントを含む複数のインストール方法をサポートしています。
Install-Package IronPdf
インストールが完了したら、IronPDF のAPI リファレンスを使用して画像の追加を開始できます。 このライブラリは、 Windows 、 Linux 、 macOSプラットフォーム間でシームレスに動作します。
IronPDF での基本的な画像追加はどのようになりますか?
クイックスタート: IronPDF で PDF に画像を追加する
IronPDF を使用して PDF に画像を追加するには、スタンプ API を使用する最小限のコードが必要です。
今すぐ NuGet で PDF を作成してみましょう:
NuGet パッケージ マネージャーを使用して IronPDF をインストールします
このコード スニペットをコピーして実行します。
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("___PROTECTED_URL_61___")); // Configure image position and size stamper.HorizontalAlignment = HorizontalAlignment.Center; stamper.VerticalAlignment = VerticalAlignment.Middle; stamper.Width = 200; // Width in pixels stamper.Height = 100; // Height in pixels // Apply the stamp (image) to the PDF document pdf.ApplyStamp(stamper); // Save the modified PDF to a file pdf.SaveAs("output.pdf"); } }実際の環境でテストするためにデプロイする
透かしや背景画像を追加するにはどうすればいいですか?
IronPDF は、既存の PDF に透かしや背景画像を追加するのに優れています。 ライブラリは複数のスタンプ操作とカスタム配置をサポートしています。
using IronPdf;
using IronPdf.Editing;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
Opacity = 30, // 30% opacity for subtle watermarking
Rotation = -45, // Diagonal watermark
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Middle
};
// Apply watermark to all pages
pdf.ApplyStamp(watermark);
// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
HorizontalOffset = Length.Millimeters(10),
VerticalOffset = Length.Millimeters(10),
Width = 150,
Height = 50
};
pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");using IronPdf;
using IronPdf.Editing;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
Opacity = 30, // 30% opacity for subtle watermarking
Rotation = -45, // Diagonal watermark
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Middle
};
// Apply watermark to all pages
pdf.ApplyStamp(watermark);
// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
HorizontalOffset = Length.Millimeters(10),
VerticalOffset = Length.Millimeters(10),
Width = 150,
Height = 50
};
pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");複数の画像を使った複雑なレイアウトを作成することもできます。
// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);この例では、 ChromePdfRendererクラスを使用して、 HTML 文字列から新しい PDF をレンダリングします。 IronPDF の画像スタンプ ツールを使用して、指定された URL から画像を作成し、それを PDF に適用します。 これは、最小限のコードを使用してPDF ページに画像を追加する方法を示しています。 レンダリング オプションを使用すると、出力品質を完全に制御できます。
IronPDF で画像の位置と寸法を制御するにはどうすればよいでしょうか?
IronPDF は、画像配置の広範なカスタマイズを提供します。 スタンプ ツールの位置決め機能を使用して位置合わせとオフセットを設定することで、ページの位置を指定します。 ライブラリは、座標を使用した絶対的な位置決めと、配置オプションを使用した相対的な位置決めの両方をサポートします。 高度な機能には、正確なレイアウトのためのカスタム用紙サイズと余白制御が含まれます。
iTextSharp を使用して PDF に画像を追加するにはどうすればよいですか?
iTextSharp をインストールして構成するにはどうすればよいですか?
NuGet 経由で iTextSharp をインストールします。 IronPDF の完全なプラットフォーム サポートとは異なり、iTextSharp の展開オプションは限られています。
Install-Package itext7
設定が完了したら、iTextSharp のドキュメント操作機能を使用して画像を追加します。 ライブラリでは、フォント管理とUTF-8 サポートのために追加の構成が必要です。
iTextSharp での基本的な画像追加はどのようになりますか?
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();
}
}複数の画像を追加して複雑なレイアウトを処理するにはどうすればよいでしょうか?
製品カタログやフォトアルバムの作成などの複雑なシナリオでは、レイアウトを手動で管理します。 IronPDF の目次機能とブックマーク サポートにより、複数ページのドキュメントを整理できます。
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;
// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);
// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;
string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg",
"product4.jpg", "product5.jpg", "product6.jpg" };
foreach (string imagePath in imageFiles)
{
ImageData imageData = ImageDataFactory.Create(imagePath);
Image image = new Image(imageData);
// Calculate position
int column = currentImage % imagesPerRow;
int row = currentImage / imagesPerRow;
float x = xPosition + (column * 180);
float y = yPosition - (row * 250);
image.SetFixedPosition(x, y);
image.ScaleToFit(150, 200);
document.Add(image);
currentImage++;
}
document.Close();using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;
// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);
// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;
string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg",
"product4.jpg", "product5.jpg", "product6.jpg" };
foreach (string imagePath in imageFiles)
{
ImageData imageData = ImageDataFactory.Create(imagePath);
Image image = new Image(imageData);
// Calculate position
int column = currentImage % imagesPerRow;
int row = currentImage / imagesPerRow;
float x = xPosition + (column * 180);
float y = yPosition - (row * 250);
image.SetFixedPosition(x, y);
image.ScaleToFit(150, 200);
document.Add(image);
currentImage++;
}
document.Close();! PDF ビューアで、空白のページに ITEXT ロゴと"CORE"テキストが中央に表示されている - iTextSharp の画像挿入の出力例で、基本的な配置と拡大縮小機能を示しています
画像は座標 (50, 100) に追加され、200x200 ピクセル内に収まるように拡大縮小されます。 PdfWriter出力ファイルを作成し、画像を処理するためのPDF ライター機能を有効にします。 整理しやすくするために、ページ番号とヘッダー/フッターの使用を検討してください。
iTextSharp で画像の位置と寸法を制御するにはどうすればよいでしょうか?
iTextSharp は、手動の座標計算を通じて位置とサイズを制御できます。 アスペクト比を維持しながら画像を拡大縮小したり、特定の寸法に拡大縮小したりできます。 SetFixedPositionメソッドは正確な配置制御を提供し、配置と回転を操作できます。 ただし、IronPDF のビューポート コントロールとレスポンシブ サイズ調整オプションがありません。
IronPDF と iTextSharp のパフォーマンスを比較するとどうなりますか?
どちらのライブラリも PDF への画像の追加を処理しますが、次のような顕著な違いがあります。
IronPDF のパフォーマンスが向上し、複数の画像を含む大きなドキュメントを効率的に処理できるようになりました。 特にグラフィックを多用するドキュメントの場合、PDF のレンダリングが高速化されます。 このライブラリは、スループットを向上させるために非同期操作と並列処理をサポートしています。 メモリ ストリーム操作によりディスク I/O が削減され、パフォーマンスが向上します。
- iTextSharp は優れたパフォーマンスを提供しますが、非常に大きな PDF や多数の高解像度画像では動作が遅くなる可能性があります。 効率的ではありますが、複数のページ操作を伴う複雑なユースケースでは、IronPDF に比べてレンダリング時間が遅くなると報告する開発者もいます。 このライブラリには、Web 最適化のための組み込み線形化サポートがありません。
利用できる高度な画像機能は何ですか?
さまざまな画像形式をどのように処理するのでしょうか?
IronPDF は完全な画像形式をサポートしています: -品質最適化されたJPEG/JPG -透明度をサポートするPNG
- GIF(静止画とアニメーションフレーム) -ベクターグラフィックのSVG -複数ページのTIFFファイルを含むTIFF
- 最新のウェブ画像用のWebP
- Base64でエンコードされた画像
- Azure Blob Storage からの画像
iTextSharp は標準形式をサポートしています:
- JPEG/JPG
- アルファチャンネル付きPNG
- GIF(最初のフレームのみ)
- TIFF(1ページ)
- BMPおよびその他のビットマップ形式
画像の品質と圧縮はどうですか?
IronPDF には、ファイル サイズと品質のバランスをとる組み込みの圧縮オプションが用意されています。 このライブラリは、サニタイズ機能とフラット化機能を提供します。
// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale
// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");
// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewing// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale
// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");
// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewingiTextSharp では、画像データの操作による手動の圧縮処理が必要なため、品質管理の実装の複雑さが増します。 独自のグレースケール変換とDPI 調整を実装する必要があります。
既存の PDF から画像を抽出するにはどうすればよいでしょうか?
IronPDF は信頼性の高い画像抽出機能を提供します。
// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();
foreach (var image in images)
{
// Save extracted images
image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}
// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First page// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();
foreach (var image in images)
{
// Save extracted images
image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}
// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First pageライセンスと価格モデルは何ですか?
IronPDF: IronPDF は、一度だけ購入するだけで簡単に永久ライセンスを入手できます。 このアプローチは、継続的なコストやオープンソースのライセンス要件を回避するという明確なメリットをもたらします。 ライブラリには完全なサポートと定期的なアップデートが含まれています。 ライセンス検証は自動化されており、複数の展開シナリオをサポートします。
- iTextSharp: iTextSharp は AGPL ライセンスに従っており、オープンソース プロジェクトでは無料ですが、Web アプリケーションでは公開ソース コードのリリースが必要です。 商用ライセンスは AGPL の制限を回避します。 ライセンス モデルによりクラウドの展開が複雑になる可能性があります。
PDF に画像を追加するにはどのライブラリを選択すればよいですか?
IronPDFと iTextSharp はどちらも C# で PDF に画像を追加するための効果的なツールを提供しており、それぞれに独自の利点があります。 IronPDF は、使いやすさ、パフォーマンス、ライセンスの柔軟性に優れており、最小限のコードで複雑な PDF や画像を処理するのに最適です。 大規模な PDFに対して優れたスケーラビリティを提供し、ライセンスを 1 回限り購入することで、定期的なコストや複雑なオープンソースの制限を回避できます。
ライブラリはSVGや WebP などの最新形式をサポートし、組み込みの圧縮機能と直感的な位置決め API と組み合わされているため、高品質のドキュメント生成を必要とするエンタープライズ アプリケーションに適しています。 IronPDF のChrome レンダリング エンジンは、すべてのプラットフォームでピクセル完璧な出力を保証します。
iTextSharp はオープンソース プロジェクトに適していますが、同等の結果を得るにはより多くのコードが必要となり、PDF のサイズが大きい場合はパフォーマンスの問題が発生する可能性があります。 低レベルの API によりきめ細かな制御が可能になりますが、開発の複雑さが増します。 このライブラリには、レスポンシブ CSS サポートやJavaScript レンダリングなどの最新機能が欠けています。
エンタープライズ アプリケーションの場合、IronPDF の利点には、 Docker サポート、 AWS Lambda 互換性、 Azure Functions 統合などがあります。 このライブラリは、規制要件に応じてPDF/A 準拠とPDF/UA アクセシビリティも提供します。
PDF 画像処理を簡素化する準備はできていますか? IronPDF は、最小限のコードで PDF に効率的に画像を追加します。 IronPDFを試して、C# プロジェクトでの簡素化された画像統合を体験してください。 この実装により、複雑な処理が自動的に行われ、時間が節約され、 PDF 生成ワークフローが改善されます。 完全な機能セットを探索し、PDF 操作を簡素化した何千人もの開発者に加わってください。
BRACKET-i-OPEN--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プロセシングを簡素化します。






