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

Stamp Text & Image on PDFs using C# and IronPDF

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

IronPDFは、C#を使用して、および クラスを使用して、正確な位置制御で既存のPDF文書にテキスト、画像、HTMLコンテンツ、およびバーコードをスタンプします。

スタンプ機能は、既存のPDF文書に追加コンテンツを重ねて表示します。 スタンプは、PDFに情報、ラベル、透かし、または注釈を追加します。 IronPDFの包括的なスタンプ機能を活用して、ヘッダーやフッターの追加、あるいはカスタム透かしの作成を行ってください。

IronPDFは、4種類のスタンプ機能を提供しています:、および です。 `` は、HTML文字列をPDFに変換する場合と同様に、CSSスタイリングを用いてHTMLのすべての機能を活用します。

クイックスタート:PDFにテキストを即座にスタンプ

IronPDFのクラスを使用すると、PDFドキュメントにテキスト注釈、透かし、またはラベルを追加できます。 以下の例は、 メソッドを使用して、PDF にテキストをスタンプする方法を示しています。

  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    var pdf = new IronPdf.PdfDocument("input.pdf");
    var stamper = new IronPdf.Editing.TextStamper()
    {
        Text = "Confidential",
        FontSize = 50,
        Opacity = 50,
        VerticalAlignment = IronPdf.Editing.VerticalAlignment.Middle,
        HorizontalAlignment = IronPdf.Editing.HorizontalAlignment.Center
    };
    pdf.ApplyStamp(stamper);
    pdf.SaveAs("stamped.pdf");
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル

    arrow pointer


PDFにテキストをスタンプするにはどうすればよいですか?

すべての表示設定を含む オブジェクトを作成します。 オブジェクトを メソッドに渡します。 プロパティは、表示されるテキストを設定します。 フォントファミリー、フォントスタイル、およびスタンプの位置を設定します。

は、PDF ドキュメントでの[フォント管理](https://ironpdf.com/how-to/manage-fonts/)と同様に、幅広いカスタマイズオプションを提供します。 を true に設定することで、システムフォントまたは Google Fonts を使用できます。

: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はどのようなものですか?

複数行のテキストスタンプを作成するにはどうすればよいですか?

`` 内の複数行テキストを記述してください。 例えば、"line 1
line 2"と指定すると、1行目に"line 1"、2行目に"line 2"が表示されます。これにより、住所スタンプや複数行の透かしを作成できます。


PDFに画像をスタンプするにはどうすればよいですか?

オブジェクトを作成し、 メソッドを使用して、ドキュメントに画像を適用します。 このメソッドの 2 番目のパラメータには、1 ページまたは複数ページにスタンプを付けるためのページインデックスを指定します。 以下の例は、PDFの1ページ目の画像にスタンプを押すものです。

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

複雑な画像処理については、PDFへの画像の追加や、Base64エンコードされた画像の取り扱いについて検討してください。

: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

画像スタンプの出力例はどのようなものですか?

どの画像形式がサポートされていますか?

`` は、URI 参照またはファイルパスを通じて、PNG、JPEG、GIF、および SVG をサポートしています。 リモート画像については、適切なネットワーク接続を確保してください。 Azure環境では、Azure Blob Storageの画像を使用することを検討してください。


複数のスタンプを適用するにはどうすればよいですか?

`` を使用し、スタンプの配列を渡すことで複数のスタンプを適用します。 この方法により、1回の操作で複数のスタンプを効率的に処理できます。

: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

スタンプが重なった場合はどうなりますか?

異なる種類のスタンプを組み合わせて使用することはできますか?

は、あらゆるスタンプタイプを含む配列を受け付けます。、および `` を1つの操作で組み合わせることができます。 ヘッダー、フッター、透かし、識別コードを同時に使用して、複雑なドキュメントレイアウトを作成できます。


スタンプの位置はどのように制御しますか?

スタンプの配置は、横3列、縦3行の3×3グリッドを使用して定義してください。 水平方向の配置を選択してください:左、中央、右。 縦方向の配置を選択してください:上、中央、下。 正確な配置を行うために、水平および垂直方向のオフセットを調整してください。 視覚的なイメージについては、以下の画像を参照してください。

IronPDF Stamping API の配置グリッド。水平/垂直の位置決めオプションとオフセットの例を示しています。

主なポジショニング要素は何ですか?

  • : ページに対する水平方向の位置合わせ。 デフォルト:.
  • : ページに対する垂直方向の位置合わせ。 デフォルト:.
  • : 水平オフセット。 デフォルト: 0, 単位:. 正の値は右寄せ、負の値は左寄せになります。
  • : 垂直オフセット。 デフォルト: 0, 単位:. 正の値は下方向にオフセットされ、負の値は上方向にオフセットされます。

正確なオフセットを設定するにはどうすればよいですか?

および を `` クラスを使用して指定してください。 デフォルトの測定単位はパーセンテージです。 利用可能な単位には、インチ、ミリメートル、センチメートル、ピクセル、ポイントがあります。 これにより、PDF文書でカスタム余白を設定するなど、正確な配置が可能になります。

コード

: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コンテンツにスタンプを押すにはどうすればよいですか?

クラスを使用して、テキストや画像にスタンプを付けます。は、CSSスタイルを適用したHTMLデザインをレンダリングし、それをPDF文書にスタンプします。 `` プロパティは、CSS や画像ファイルなどの HTML 文字列アセットのベース URL を指定します。 これは、HTMLをPDFに変換する際と同じレンダリングエンジンを使用しています。

コード

: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

HTML Stamperの必須プロパティとは?

  • : PDF/Aにスタンプとして追加するHTMLフラグメント。 JavaScript、CSS、および画像への外部参照は、を基準としています。
  • ``: 外部のCSS、JavaScript、および画像ファイルへの参照用のベースURL。
  • : Media=&quot;screen&quot; CSS スタイルを有効にします。 を設定すると、CSS media="PRINT" を使用してスタンプが表示されます。 デフォルト: ``.

なぜ Text Stamper ではなく HTML Stamper を使うべきなのか?

`` は、1つのスタンプ内で複雑なレイアウト、複数のフォント、色、埋め込み画像に対応する完全なHTMLおよびCSSサポートを提供します。リッチコンテンツの透かしやヘッダーに最適です。 ブランドイメージの一貫性を保ち、レスポンシブCSSデザインに対応しています。


BarCodeの印字方法は?

`` クラスは、既存の PDF 文書に BarCode を直接スタンプします。 QRコード、Code128、Code39のBARCODE形式に対応しています。

コード

: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

BARCODEにはどのような設定オプションがありますか?

  • ``: BARCODEの文字列値。
  • ``: QRコード、Code128、およびCode39をサポートするエンコーディングタイプ。デフォルト: QRコード。
  • ``: レンダリングされたBarCodeの幅(ピクセル単位)。 デフォルト: 250px。
  • ``: レンダリングされたBARCODEの高さ(ピクセル単位)。 デフォルト: 250px。

各BARCODEタイプはどのような場合に使用すべきですか?

QRCodeはURLや大規模なデータセット(最大4,296文字の英数字)を処理します。 は、高密度が求められる英数字データに適しています。 は、単純な数字や大文字の組み合わせに適しています。 BARCODEの種類を選択する際は、スキャン機器との互換性を考慮してください。


他にどのようなスタンプオプションがありますか?

これらのプロパティを使用すると、カスタム透かしを作成する場合と同様に、スタンプの外観や動作を細かく制御できます。

スタンプの外観を調整するにはどうすればよいですか?

  • ``: 透明度を制御します。 0は透明、100は不透明です。
  • ``: スタンプを0度から360度まで時計回りに回転させます。
  • ``: 出力スタンプの最大幅。
  • ``: 出力スタンプの最大高さ。
  • ``: 出力スタンプの最小幅。
  • ``: 出力スタンプの最小高さ。
  • ``: スタンプされた要素にクリック可能なハイパーリンクを追加します。 注:HTMLリンク(aタグ)はスタンプ処理では保持されません。
  • ``: スタンプにパーセンテージによる拡大縮小を適用します。 デフォルト: 100(効果なし)。
  • ``: スタンプをコンテンツの背面に配置します。 コンテンツが不透明な場合、スタンプが表示されないことがあります。
  • ``: イベントまたは時間を待機します。PDFのレンダリングを遅延させるには、WaitForの使用を参照してください。
  • ``: レンダリングのタイムアウト(秒単位)。 デフォルト: 60.

最もよく使用されるプロパティはどれですか?

および を使用すると、透かしを作成できます。 ``は、視覚的な配置とサイズを調整します。 例:

// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
    Text = "CONFIDENTIAL",
    FontSize = 60,
    FontColorCode = "#CCCCCC",
    Opacity = 25,
    Rotation = -45,
    IsStampBehindContent = true,
    VerticalAlignment = VerticalAlignment.Middle,
    HorizontalAlignment = HorizontalAlignment.Center
};
// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
    Text = "CONFIDENTIAL",
    FontSize = 60,
    FontColorCode = "#CCCCCC",
    Opacity = 25,
    Rotation = -45,
    IsStampBehindContent = true,
    VerticalAlignment = VerticalAlignment.Middle,
    HorizontalAlignment = HorizontalAlignment.Center
};
' Create a semi-transparent watermark behind content
Dim watermark As New TextStamper() With {
    .Text = "CONFIDENTIAL",
    .FontSize = 60,
    .FontColorCode = "#CCCCCC",
    .Opacity = 25,
    .Rotation = -45,
    .IsStampBehindContent = True,
    .VerticalAlignment = VerticalAlignment.Middle,
    .HorizontalAlignment = HorizontalAlignment.Center
}
$vbLabelText   $csharpLabel

概要

IronPDFのスタンプ機能は、既存のPDF文書にテキスト、画像、HTMLコンテンツ、およびBARCODEを追加します。 豊富なカスタマイズオプションを備えた4つの専用スタンプクラスにより、透かし、ヘッダー、フッター、注釈付きのProfessionalドキュメントを作成できます。 様々な測定単位と配置オプションを備えた位置決めシステムにより、ピクセル単位での正確な配置が保証されます。 シンプルなテキストスタンプから、CSS スタイルを適用した複雑な HTML レイアウトまで、自由に使用してください。 IronPDFのスタンプAPIは、EnterpriseレベルのPDF操作において柔軟性と制御性を提供します。

よくある質問

C# で PDF 文書にテ キ ス ト 透かしを追加す る 方法は?

テキストの透かしを追加するにはIronPDFのTextStamperクラスを使ってください。TextStamperオブジェクトを作成し、Text、FontSize、Opacityなどのプロパティを設定し、ApplyStampメソッドを使用します。VerticalAlignmentとHorizontalAlignmentプロパティを使って透かしを正確に配置することができます。

既存のPDFファイルにスタンプとして画像を追加できますか?

はい、IronPDFはPDFに画像を追加するためのImageStamperクラスを提供します。ImageStamperオブジェクトを作成し、画像ファイルを指定し、ApplyStampメソッドを使用します。位置の制御や、ゼロベースのページインデックスを使用してスタンプを押すページを指定することができます。

PDFにスタンプできるコンテンツの種類は?

IronPDFは4種類のスタンプをサポートしています:テキスト注釈や透かし用のTextStamper、画像用のImageStamper、完全なCSSスタイリングを持つHTMLコンテンツ用のHTMLStamper、そしてバーコード用のBarCodeStamperです。各スタンパークラスは、正確な位置制御を提供します。

複数行のテキストスタンプを作成する方法を教えてください。

複数行のスタンプを作成するには、TextStamper の Text プロパティ内で
タグを使用します。例えば、'line 1
line 2' とすると、2行に分けてテキストが表示され、住所スタンプや複数行の透かしを作成するのに最適です。

PDFにテキストをスタンプする際、カスタムフォントを使用できますか?

はい、IronPDFのTextStamperはシステムフォントとGoogleフォントの両方をサポートしています。Googleフォントを使用するにはUseGoogleFontプロパティをtrueに設定します。完全な組版コントロールのためにはFontFamilyプロパティを使ってインストールされたシステムフォントを指定してください。

特定のページだけにスタンプを追加することは可能ですか?

もちろんです。ApplyStampメソッドはページインデックスパラメータを受け付け、特定のページにスタンプを押すことができます。IronPDFはゼロベースのインデックスを使用するので、ページ1はインデックス0です。また、ApplyMultipleStampsを使って一度に複数のページにスタンプを追加することもできます。

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 19,014,616 | バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。