C#を使用してPDFにテキストとビットマップを描画する方法
IronPDFを使用すると、DrawBitmapメソッドを使用して既存のPDFにテキストや画像を描画し、ウォーターマークやロゴ、注釈でカスタマイズし、元の内容を変更せずにビジュアルを改善することができます。
PDFにテキストや画像を描くには、既存の文書にコンテンツを追加する必要があります。 IronPDFはこの機能をシームレスに実現します。 テキストや画像を組み合わせることで、ウォーターマーク、ロゴ、および注釈を含む PDF をカスタマイズし、ドキュメントの視覚的外観とブランドを改善します。 また、テキストと画像により、情報の提示、データの視覚化、インタラクティブなフォームの作成が容易になります。
クイックスタート: IronPDFを使用して PDF にテキストと画像を追加するテキストと画像でPDF文書を迅速かつ効率的に強化しましょう。 DrawBitmapメソッドを使用すれば、水印やロゴ、注釈を追加してPDFを簡単にカスタマイズできます。 この例では、特定の座標にテキストを描画し、画像をPDFにシームレスに挿入する方法を示します。
-
1Install IronPDF with NuGet Package Manager
-
2このコード スニペットをコピーして実行します。
new ChromePdfRenderer() .RenderHtmlAsPdf("<h1>Doc</h1>") .DrawText("Hello World", FontTypes.TimesNewRoman.Name, 12, 0, 100, 100, Color.Black, 0) .DrawBitmap(AnyBitmap.FromFile("logo.png"), 0, 50, 250, 500, 300) .SaveAs("annotated.pdf");C# -
3実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
最小限のワークフロー(5ステップ)
- PDFにテキストや画像を描画するIronPDF用C#ライブラリをダウンロードする。
- 対象のPDFドキュメントをインポートする
- 取り込んだPDFに希望のフォントでテキストを追加するには、
DrawTextメソッドを使います。 DrawBitmapメソッドを使ってPDFに画像を追加します。- 編集した PDF ドキュメントをエクスポートします。
PDFにテキストを描くには?
PdfDocumentオブジェクトで利用可能で、元の内容を変更せずに既存のPDFにテキストを追加することができます。 この方法は、より複雑なオーバーレイのためのスタンプテキストと画像機能と同様に、PDFに動的なコンテンツを追加する場合に特に便利です。
座標系の理解
テキストを描く前に、PDF座標系を理解してください。 原点(0,0)はページの左下に位置し、X値は右へ、Y値は上へ増加します。 これは、原点が左上にある多くのグラフィックシステムとは異なります。
using IronPdf;
using IronSoftware.Drawing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);
pdf.SaveAs("drawText.pdf");Imports IronPdf
Imports IronSoftware.Drawing
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize:=12, PageIndex:=0, X:=100, Y:=100, Color.Black, Rotation:=0)
pdf.SaveAs("drawText.pdf")どのようなフォントを使用できますか?
現在、このDrawTextメソッドは、IronPDFの標準フォントすべてをサポートしており、ZapfDingbatsが含まれます。 これらのフォントタイプのイタリック、太字、斜体のバリアントについては、フォント管理の記事の"IronPDFの標準フォント"セクションを参照してください。
ZapfDingbatsフォントは、▲などの記号を表示できます。 サポートされている記号の包括的なリストについては、Wikipedia on Zapf Dingbatsをご覧ください。
PDF上の出力フォントサンプル

改行を使用してテキストを追加するにはどうすればよいですか?
描画テキストアクションは改行文字をサポートしており、より良いフォーマットと視覚的な明瞭さのために組み込みの改行でテキストをレンダリングできます。 これは、複数行の注釈を追加したり、構造化されたテキストレイアウトを作成したりする場合に役立ちます。
これを実現するには、テキスト文字列にnewline characters (\n)を追加します。 上記の例で言うと
// Multi-line text example with proper spacing
string textWithNewlines = "Some text\nSecond line\nThird line with more content";
pdfDoc.DrawText(textWithNewlines, font, position);
// You can also use Environment.NewLine for platform-specific line breaks
string platformText = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3";
pdfDoc.DrawText(platformText, font, position);' Multi-line text example with proper spacing
Dim textWithNewlines As String = "Some text" & vbLf & "Second line" & vbLf & "Third line with more content"
pdfDoc.DrawText(textWithNewlines, font, position)
' You can also use Environment.NewLine for platform-specific line breaks
Dim platformText As String = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3"
pdfDoc.DrawText(platformText, font, position)カスタムフォントを使用するにはどうすればよいですか?
カスタムフォントはDrawTextメソッドでサポートされており、標準フォントを超えてタイポグラフィの選択肢を広げます。 この機能は、ブランドの一貫性を維持したり、特殊なフォントを使用したりする場合に不可欠です。 高度なフォント管理については、PDFのフォント管理に関するガイドを参照してください。
以下は、Pixelify Sans Font をテキストに追加した例です:
using IronPdf;
using IronSoftware.Drawing;
using System.IO;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Add custom font to the PDF
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var addedFont = pdf.Fonts.Add(fontByte);
// Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 600, Color.Black, Rotation: 0);
pdf.SaveAs("drawCustomFont.pdf");Imports IronPdf
Imports IronSoftware.Drawing
Imports System.IO
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Add custom font to the PDF
Private fontByte() As Byte = File.ReadAllBytes(".\PixelifySans-VariableFont_wght.ttf")
Private addedFont = pdf.Fonts.Add(fontByte)
' Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize:= 12, PageIndex:= 0, X:= 100, Y:= 600, Color.Black, Rotation:= 0)
pdf.SaveAs("drawCustomFont.pdf")高度なテキスト ポジショニング
テキストを正確に配置する際には、以下のヒントを参考にしてください:
- ページ寸法:
pdf.Pages[pageIndex].Heightを使用してページ寸法を取得します。 - 回転: 回転パラメータは、角度のあるテキストのために度数(0~360)を受け入れます。
- 色のオプション: 基本色を超えて、RGB値を使用します:
Color.FromArgb(255, 100, 100)
PDFに画像を描くには?
IronPDFのDrawBitmapメソッドにより、既存のPDFドキュメントにビットマップを追加できます。 この方法はImage Stamper機能と同様に機能し、既存のPDFに画像をスタンプすることができます。 複雑な画像操作が必要な場合は、PDFに画像を追加するガイドをご覧ください。
DrawBitmapメソッドは、大きな画像で最も効果的に動作します。 解像度の低い画像を使用すると、次の例外が発生する場合があります: **IronPdf.Exceptions.IronPdfNativeException: "画像の描画中にエラーが発生しました:データ長(567000)が予想値(756000)より小さいです。"**この問題を解決するには、あらゆるサイズの画像に対応できるイメージスタンパーを使用してください。サンプル画像

実装はどのようなものですか?
using IronPdf;
using IronSoftware.Drawing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Open the image from file
AnyBitmap bitmap = AnyBitmap.FromFile("ironSoftware.png");
// Draw the bitmp on PDF
pdf.DrawBitmap(bitmap, 0, 50, 250, 500, 300);
pdf.SaveAs("drawImage.pdf");Imports IronPdf
Imports IronSoftware.Drawing
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Open the image from file
Dim bitmap As AnyBitmap = AnyBitmap.FromFile("ironSoftware.png")
' Draw the bitmap on PDF
pdf.DrawBitmap(bitmap, 0, 50, 250, 500, 300)
pdf.SaveAs("drawImage.pdf")出力PDF
どのような追加パラメータがありますか?
-
PixelFormat:
PixelFormatプロパティは、ビットマップのカラーデータ形式を指定し、主に透明性サポートを制御します。 デフォルト値はFormat32bppArgbです。 ピクセル列挙形式のFormat32bppArgbの間でパラメータをオプションとして渡すことで選択します。 これは、PDFの背景と前景要素を扱うときに役立ちます。 -
IgnorePageRotation: この
boolプロパティは、ビットマップを描画する際にページの回転を無視するかどうかを決定します。デフォルトでは、値はfalseです。 特に、回転に関係なく、すべてのページに一貫して透かしを適用する場合に役立ちます。
一般的な使用例とベストプラクティス
PDFにテキストや画像を描画する場合は、以下の実用的なアプリケーションを考慮してください:
1.動的透かし:機密文書に会社のロゴや"CONFIDENTIAL"のスタンプを追加します。 2.ページ番号:すべてのページで一貫した位置にページ番号を引く 3.署名の配置:フォームの指定位置に署名画像を追加する 4.ヘッダー/フッターの強化:既存のヘッダーを動的コンテンツで補完する
PDF操作のデバッグと監視のために、カスタムロギングを実装して、描画操作を追跡し、適切な実行を確実にします。
パフォーマンスの考慮事項
複数のページや大きなドキュメントを扱う場合:
- メモリ使用量を最小限に抑えるため、可能な限りバッチ処理を行うこと。
- リソースを解放するために、使用後にビットマップオブジェクトを破棄する。
- パフォーマンスを向上させるために、頻繁に使用する画像のプリロードを検討してください。
次に何ができるのかを見てみましょうか? こちらのチュートリアルページをご覧ください: PDFの編集
よくある質問
既存のPDFにテキストや画像を追加するには、どのような方法がありますか?
IronPDFは既存のPDFにコンテンツを追加するための2つの主要なメソッドを提供します: テキストを追加するためのDrawTextメソッドと画像を追加するためのDrawBitmapメソッドです。これらのメソッドにより、元のドキュメントの内容を変更することなく、透かし、ロゴ、注釈でPDFをカスタマイズすることができます。
テキストを描画するとき、PDF座標系はどのように機能しますか?
IronPDFでは、PDF座標系はページの左下隅に原点(0,0)を持ちます。Xの値は右に行くほど大きくなり、Yの値は上に行くほど大きくなります。これは原点が左上にある多くのグラフィックシステムとは異なります。
PDFにテキストを描画する際にサポートされているフォントは何ですか?
IronPDFのDrawTextメソッドはCourier、Arial (Helvetica)、Times New Roman、Symbol、ZapfDingbatsを含むすべての標準フォントに対応しています。これらのフォントはイタリック、ボールド、斜体のバリエーションもあります。ZapfDingbatsフォントは、特殊な記号を表示するために使用することができます。
1回の操作でPDFにテキストと画像の両方を追加できますか?
はい、IronPDFではメソッドを連結することができます。ChromePdfRendererを使ってPDFを作成し、DrawTextメソッドとDrawBitmapメソッドを1行のコードで連続して適用することができます。
PDFにテキストや画像を描画する一般的な使用例とは?
IronPDFの描画機能は一般的に、ドキュメントを保護するための透かしの追加、ブランディングのための企業ロゴの挿入、ドキュメントレビューのための注釈の作成、視覚的な外観の改善、データの視覚化の促進、インタラクティブなフォームの作成などに使用されます。
How is the PDF coordinate system structured in IronPDF?
In IronPDF, the PDF coordinate system originates at the bottom-left corner of the page. X values increase to the right, and Y values increase upward, differing from many graphics systems where the origin is at the top-left.
What fonts are supported by the DrawText method in IronPDF?
The DrawText method in IronPDF supports several standard fonts, including Courier, Arial (Helvetica), TimesNewRoman, Symbol, and ZapfDingbats. Additionally, it offers italic, bold, and oblique variants of these fonts.
How can I add text with line breaks in IronPDF?
You can add text with line breaks in IronPDF by including newline characters '\n' within the text string. This feature is useful for creating multi-line annotations or structured text layouts in PDFs.
What are some performance considerations when using IronPDF for large documents?
When handling large documents in IronPDF, consider batching operations to reduce memory usage, disposing of bitmap objects after use to free resources, and pre-loading frequently used images to boost performance.
How does the DrawBitmap method handle small resolution images?
For smaller resolution images causing exceptions with DrawBitmap, using the Image Stamper is recommended as it effectively handles images of all sizes and avoids errors like the 'IronPdfNativeException'.

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