C#でPDFにスタンプと透かしを追加する方法

How to Stamp Text & Image on PDFs

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDFにテキストや画像をスタンプすることは、既存のPDFドキュメントに追加のコンテンツをオーバーレイすることを意味します。 このコンテンツは通常「スタンプ」と呼ばれ、テキスト、画像、またはその両方の組み合わせで構成されます。 スタンプは通常、PDFに情報、ラベル、透かし、または注釈を追加するために使用されます。

IronPdfで使用できるスタンパーは合計4つあります。 この記事では、TextStamperImageStamperHTMLStamper、およびBarcodeStamperについて説明します。 HTMLStamperは特に強力で、すべてのHTML機能とCSSスタイリングを利用できます。

副見出し:2(クイックスタート: PDFにテキストを瞬時にスタンプする)

このクイックガイドは、IronPDFを使用して少ない手間でテキストをPDFファイルにスタンプする方法を示しています。 TextStamperクラスを活用することで、開発者は透かしやラベルのようなテキスト注釈を簡単にPDFドキュメントに追加できるようになります。 以下の例は、ApplyStampメソッドを使用してPDFにテキストをスタンプするシンプルな実装を示し、迅速かつ効率的なスタンピングプロセスを確保します。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var pdf = new IronPdf.PdfDocument("input.pdf");
    var stamper = new IronPdf.TextStamper("Confidential", 50, 50);
    pdf.ApplyStamp(stamper);
    pdf.SaveAs("stamped.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小限のワークフロー(5ステップ)

  1. テキストと画像をスタンプするためのC#ライブラリをダウンロード
  2. 目的のスタンパークラスを作成して構成する
  3. ApplyStampメソッドを使用してスタンプをPDFに適用する
  4. ApplyMultipleStampsメソッドを使用して複数のスタンプを適用する
  5. 特定のページにスタンプを適用するよう指定する


テキストスタンプ例

まず、TextStamperクラスからオブジェクトを作成します。 このオブジェクトには、テキストスタンパーをどのように表示させたいかを指定するためのすべての設定が含まれます。 TextStamperオブジェクトをApplyStampメソッドに渡します。 Textプロパティが表示されるテキストになります。 さらに、フォントファミリ、フォントスタイル、スタンプの場所を指定できます。

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);

pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create text stamper
Private textStamper As New TextStamper() With {
	.Text = "Text Stamper!",
	.FontFamily = "Bungee Spice",
	.UseGoogleFont = True,
	.FontSize = 30,
	.IsBold = True,
	.IsItalic = True,
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the text stamper
pdf.ApplyStamp(textStamper)

pdf.SaveAs("stampText.pdf")
$vbLabelText   $csharpLabel

出力PDF

TextStamperで複数行のテキストを実現するには、HTMLのように<br>タグを使用します。 たとえば、「line 1
line 2」は、1行目に「line 1」、2行目に「line 2」を表示します。


画像スタンプ例

テキストスタンパーと同様に、まずImageStamperクラスからオブジェクトを作成し、それからApplyStampメソッドを使用してドキュメントに画像を適用します。 このメソッドの第二パラメーターは、スタンプを単一または複数ページに適用するために使用できるページインデックスも受け入れます。 以下の例では、画像がPDFの1ページ目にスタンプされるべきであると指定しています。

ヒントすべてのページインデックスは0ベースのインデックスに従います。

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-image.cs
using IronPdf;
using IronPdf.Editing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);

pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}

' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)

pdf.SaveAs("stampImage.pdf")
$vbLabelText   $csharpLabel

出力PDF


複数スタンプの適用

ApplyMultipleStampsメソッドを使用して、スタンパーの配列を渡すことで、ドキュメント上に複数のスタンプを適用します。

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
    Text = "Text stamp 1",
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Left,
};

TextStamper stamper2 = new TextStamper()
{
    Text = "Text stamp 2",
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Right,
};

Stamper[] stampersToApply = { stamper1, stamper2 };

// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);

pdf.SaveAs("multipleStamps.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create two text stampers
Private stamper1 As New TextStamper() With {
	.Text = "Text stamp 1",
	.VerticalAlignment = VerticalAlignment.Top,
	.HorizontalAlignment = HorizontalAlignment.Left
}

Private stamper2 As New TextStamper() With {
	.Text = "Text stamp 2",
	.VerticalAlignment = VerticalAlignment.Top,
	.HorizontalAlignment = HorizontalAlignment.Right
}

Private stampersToApply() As Stamper = { stamper1, stamper2 }

' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)

pdf.SaveAs("multipleStamps.pdf")
$vbLabelText   $csharpLabel

出力PDF


スタンプロケーション

スタンプの配置を定義するために、3水平コラムと3垂直列の3x3グリッドを利用します。 水平配置は左、中央、右、垂直配置は上、中、下を選択できます。 さらに精密さを追加するために、各ポジションに対して水平および垂直オフセットを調整できます。 この概念の視覚的表現については、以下の画像を参照してください。

class="content-img-align-center">
class="center-image-wrapper"> スタンプロケーション
  • HorizontalAlignment: ページに対するスタンプの水平配置。 デフォルト設定はHorizontalAlignment.Centerです。
  • VerticalAlignment: ページに対するスタンプの垂直配置。 デフォルト設定はVerticalAlignment.Middleです。
  • HorizontalOffset: 水平オフセット。 デフォルト値は0で、デフォルト単位はIronPdf.Editing.MeasurementUnit.Percentageです。 正の値は右方向へのオフセットを示し、負の値は左方向へのオフセットを示します。
  • VerticalOffset: 垂直オフセット。 デフォルト値は0で、デフォルト単位はIronPdf.Editing.MeasurementUnit.Percentageです。 正の値は下方向へのオフセットを示し、負の値は上方向へのオフセットを示します。

HorizontalOffsetVerticalOffsetプロパティを指定するためにLengthクラスをインスタンス化します。 Lengthのデフォルト測定単位はパーセンテージですが、インチ、ミリメートル、センチメートル、ピクセル、ポイントなどの測定単位も使用可能です。

コード

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-location.cs
using IronPdf.Editing;
using System;

// Create text stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,

    // Specify offsets
    HorizontalOffset = new Length(10),
    VerticalOffset = new Length(10),
};
Imports IronPdf.Editing
Imports System

' Create text stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {
	.HorizontalAlignment = HorizontalAlignment.Center,
	.VerticalAlignment = VerticalAlignment.Top,
	.HorizontalOffset = New Length(10),
	.VerticalOffset = New Length(10)
}
$vbLabelText   $csharpLabel

HTMLスタンプ例

私たちはテキストと画像の両方をスタンプするために使用できる別のスタンパークラスがあります。 HtmlStamperクラスを使用してCSSスタイリングとともにHTMLデザインをレンダリングし、PDFドキュメントにスタンプします。 HtmlBaseUrlプロパティは、CSSや画像ファイルなどのHTML文字列資産の基本URLを指定するために使用されます。

コード

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-html.cs
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create HTML stamper
HtmlStamper htmlStamper = new HtmlStamper()
{
    Html = @"<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper);

pdf.SaveAs("stampHtml.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create HTML stamper
Private htmlStamper As New HtmlStamper() With {
	.Html = "<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper)

pdf.SaveAs("stampHtml.pdf")
$vbLabelText   $csharpLabel
  • Html: PDFにスタンプされるHTMLフラグメント。 JavaScript、CSS、画像ファイルへのすべての外部参照は、StamperクラスのHtmlBaseUrlプロパティに対して相対的になります。
  • HtmlBaseUrl: 外部CSS、JavaScript、画像ファイルへの参照が相対的になるHTML基本URL。
  • CssMediaType: Media="screen" CSSスタイルとスタイルシートを有効にします。 AllowScreenCss=falseに設定することにより、IronPdfはブラウザ印刷ダイアログでのWebページの印刷としてCSS for media="print"を使用してHTMLからスタンプをレンダリングします。 デフォルト値はPdfCssMediaType.Screenです。

バーコードスタンプ例

BarcodeStamperクラスを使用して、既存のPDFドキュメントに直接バーコードをスタンプできます。 スタンパーは、QRCode、Code128、Code39を含むバーコードタイプをサポートしています。

コード

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-barcode.cs
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create barcode stamper
BarcodeStamper barcodeStamper = new BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39)
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper);

pdf.SaveAs("stampBarcode.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create barcode stamper
Private barcodeStamper As New BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39) With {.VerticalAlignment = VerticalAlignment.Top}

' Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper)

pdf.SaveAs("stampBarcode.pdf")
$vbLabelText   $csharpLabel
  • Value: バーコードの文字列値。
  • BarcodeType: バーコードのエンコーディングタイプで、サポートされているタイプとしてQRCode、Code128、Code39があります。デフォルトはQRCodeです。
  • Width: ピクセル単位のレンダリングされたバーコードの幅。 デフォルトは250pxです。
  • Height: ピクセル単位のレンダリングされたバーコードの高さ。 デフォルトは250pxです。

スタンパーオプションの探求

上記で説明したオプションに加えて、スタンパークラスに利用できるさらに多くのオプションがあります。

  • Opacity: スタンプが透明になることを許可します。 0は完全に見えない、100は完全に不透明です。
  • Rotation: スタンプを指定された0から360度まで時計回りに回転させます。
  • MaxWidth: 出力スタンプの最大幅。
  • MaxHeight: 出力スタンプの最大高さ。
  • MinWidth: 出力スタンプの最小幅。
  • MinHeight: 出力スタンプの最小高さ。
  • Hyperlink: このスタンパーのスタンプされた要素をクリック時にハイパーリンク化します。 注意: link(a)タグによって作成されたHTMLリンクは、スタンプでは保持されません。
  • Scale: スタンプを大または小さくするためにパーセントスケールを適用します。 デフォルトは100(パーセント)で、効果はありません。
  • IsStampBehindContent: コンテンツの後ろにスタンプを適用するにはtrueに設定します。 コンテンツが不透明な場合、スタンプは見えないかもしれません。
  • WaitFor: 様々なイベントを待機したり、単に一定の時間待機するための便利なラッパー。
  • Timeout: 秒単位のレンダータイムアウト。 デフォルト値は60です。

よくある質問

PDFにテキストや画像をスタンプする目的は何ですか?

PDFにテキストや画像をスタンプすることで、ラベル、透かし、注釈などの追加コンテンツを既存のPDFドキュメントに重ね合わせることができます。これは、`TextStamper`や`ImageStamper`などのIronPDFのさまざまなスタンパークラスを使用して実現されます。

C#を使用してPDFにテキストや画像をスタンプするにはどうすればよいですか?

C#を使用してPDFにテキストや画像をスタンプするには、NuGetからIronPDFライブラリをインストールし、適切なスタンパークラスを設定し、`ApplyStamp`メソッドを使ってPDFにスタンプを適用します。

IronPDFでPDFスタンピングに使用できるスタンパーの種類は何ですか?

IronPDFは、テキスト用の`TextStamper`、画像用の`ImageStamper`、CSSを含むHTMLコンテンツ用の`HTMLStamper`、QRコードや他のバーコードタイプ用の`BarcodeStamper`といった、いくつかのスタンパータイプを提供しています。

IronPDFを使用して特定のページにテキストのスタンプを適用するにはどうすればよいですか?

IronPDFでは、`TextStamper`オブジェクトを作成し、そのプロパティを設定し、ページインデックスパラメーターを使って特定のページをターゲットに指定して`ApplyStamp`メソッドを使用することで、特定のページにテキストのスタンプを適用できます。

PDFに複数のスタンプを同時に適用することは可能ですか?

はい、IronPDFでは、設定されたスタンパーオブジェクトの配列を渡すことで、`ApplyMultipleStamps`メソッドを使用して複数のスタンプを一度に適用できます。

PDFでスタンプの位置をカスタマイズするためのオプションは何ですか?

IronPDFは、左、中、右の水平位置、そして上、中、下の垂直位置といった配置オプションを備えた3x3グリッドを使用してスタンプの位置をカスタマイズでき、加えてオフセットの設定も可能です。

PDFにスタンプを付けるためにHTMLコンテンツを使用することは可能ですか?

はい、IronPDFの`HTMLStamper`クラスは、CSSスタイルを含むHTMLコンテンツをPDFにスタンプとして付けられるようにし、複雑なデザインにも対応できるスマートなソリューションを提供します。

PDFにスタンプする際にIronPDFが対応するバーコードの種類は何ですか?

IronPDFの`BarcodeStamper`は、QRコード、Code128、Code39を含むさまざまなバーコードタイプをサポートしており、PDFドキュメントにバーコード情報を組み込むことができます。

IronPDFが提供するPDFスタンプをカスタマイズするための高度なオプションは何ですか?

IronPDFは、Opacity、Rotation、MaxWidth、MaxHeight、Hyperlink、Scale、IsStampBehindContent、WaitFor、Timeoutといったプロパティを含むPDFスタンプの高度なカスタマイズオプションを提供しています。

IronPDFでPDFスタンピングをする際の一般的なトラブルシューティングのヒントは何ですか?

IronPDFの正しいバージョンがインストールされていることを確認し、スタンパーオブジェクトの設定を検証し、スタンプが適用される頁番号や領域が正しく指定されていることを確認してください。

IronPDF は、PDF にテキストや画像をスタンプする際に .NET 10 と完全に互換性がありますか?

はい。IronPDFは.NET 10と完全に互換性があります。`TextStamper`、`ImageStamper`、`ApplyStamp`、`ApplyMultipleStamps`などのスタンプ機能、および配置/カスタマイズオプションは、追加の設定なしで.NET 10プロジェクトですぐに使用できます。これらの機能は、.NET 10のすべてのプラットフォームとプロジェクトタイプでサポートされています。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました