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 は、正確な位置制御を備えた HTMLStamper、および BarcodeStamper クラスを使用して、C# で既存の PDF ドキュメントにテキスト、画像、HTML コンテンツ、およびバーコードをスタンプします。

スタンプは、既存のPDF文書に追加コンテンツをオーバーレイします。 スタンプは、PDFに情報、ラベル、透かし、注釈を追加します。 ヘッダーとフッターの追加や、IronPdfの包括的なスタンプ機能でカスタム透かしを作成するためにスタンプを使用してください。

IronPDF は、4 つのスタンパーを提供します: HTMLStamper、および BarcodeStamperHTMLStamper、HTML 文字列を PDF に変換するのと同様に、すべての HTML 機能を CSS スタイルで利用します。

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

IronPDF の TextStamper クラスを使用して、PDF ドキュメントにテキスト注釈、透かし、またはラベルを追加します。 以下の例は、ApplyStamp メソッドを使用して 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にテキストをスタンプするには?

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

TextStamper は、PDF ドキュメント内のフォントの管理と同様の広範なカスタマイズ オプションを提供します。 UseGoogleFont を 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");
$vbLabelText   $csharpLabel

出力PDFはどのように見えますか?

複数行のテキストスタンプはどのように作成できますか?

TextStamper 内の複数行テキストには、<br> タグを使用します。 例えば、"line 1
line 2 "とすると、1行目に "line 1"、2行目に "line 2 "となります。これにより、住所スタンプや複数行の透かしが作成されます。


PDFに画像をスタンプするには?

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

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

複雑な画像操作については、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");
$vbLabelText   $csharpLabel

イメージスタンプの出力はどのように見えますか?

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

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


どのように複数のスタンプを適用できますか?

スタンパーの配列を渡して複数のスタンプを適用するには、ApplyMultipleStamps を使用します。 この方法では、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");
$vbLabelText   $csharpLabel

スタンプが重なるとどうなりますか?

異なる種類のスタンプを混ぜてもよいですか?

ApplyMultipleStamps は、任意のスタンパータイプを含む配列を受け入れます。HTMLStamper、および BarcodeStamper を 1 つの操作で結合します。 ヘッダー、フッター、透かし、識別コードを含む複雑なドキュメントレイアウトを同時に作成します。


スタンプの位置を制御するにはどうすればよいですか?

横3列、縦3行の3x3グリッドを使用して、スタンプの配置を定義します。 水平アライメント:左、中央、右を選択してください。 縦方向のアライメント:トップ、ミドル、ボトムを選択してください。 正確な位置決めのために、水平方向と垂直方向のオフセットを調整してください。 視覚的な表現については、以下の画像を参照してください。

IronPDF Stamping APIのアライメントグリッドで水平/垂直の位置決めオプションとオフセットの例を示す

主なポジショニング特性は何ですか?

  • HorizontalAlignment: ページに対する水平方向の配置。 デフォルト: HorizontalAlignment.Center
  • VerticalAlignment: ページに対する垂直方向の配置。 デフォルト: VerticalAlignment.Middle
  • HorizontalOffset: 水平オフセット。 デフォルト: 0、単位: MeasurementUnit.Percentage。 正の値は右に、負の値は左にオフセットされます。
  • VerticalOffset: 垂直オフセット。 デフォルト: 0、単位: MeasurementUnit.Percentage。 正の値は下に、負の値は上にオフセットされます。

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

Length クラスを使用して、HorizontalOffset および VerticalOffset を指定します。 デフォルトの測定単位はパーセンテージです。 使用可能な単位は、インチ、ミリメートル、センチメートル、ピクセル、ポイントです。 これにより、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),
};
$vbLabelText   $csharpLabel

HTMLコンテンツにスタンプを押すには?

テキストと画像をスタンプするには、HtmlStamper クラスを使用します。 HtmlStamper は HTML デザインを CSS スタイルでレンダリングし、それを PDF ドキュメントにスタンプします。 HtmlBaseUrl プロパティは、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");
$vbLabelText   $csharpLabel

HTMLスタンパーに不可欠なプロパティは何ですか

  • Html: PDF にスタンプする HTML フラグメント。 JavaScript、CSS、画像への外部参照は、HtmlBaseUrl を基準とします。
  • HtmlBaseUrl: 外部 CSS、 JavaScript、および画像ファイル参照のベース URL。
  • CssMediaType: Media="screen" CSS スタイルを有効にします。 AllowScreenCss=false を設定すると、CSS media="print" を使用してスタンプがレンダリングされます。 デフォルト: PdfCssMediaType.Screen

なぜテキスト スタンパーではなく HTML スタンパーを使用するのですか?

HTMLStamper は、複雑なレイアウト、複数のフォント、カラー、埋め込み画像を1つのスタンプに統合するためのHTMLとCSSをフルサポートします。リッチコンテンツの透かしやヘッダーに最適です。 一貫したブランディングを維持し、レスポンシブCSSデザインに対応します。


バーコードにスタンプを押すには?

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

コード

: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");
$vbLabelText   $csharpLabel

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

  • Value: バーコードの文字列値。
  • BarcodeType: QRCode、Code128、Code39をサポートするエンコーディングタイプ。デフォルト: QRCode。
  • Width: レンダリングされたバーコードの幅(ピクセル単位)。 デフォルト:250px
  • Height: レンダリングされたバーコードの高さ(ピクセル単位)。 デフォルト:250px

各バーコードタイプはいつ使用すべきですか?

QRCodeは、URLと大規模なデータセット(最大4,296文字の英数字)を処理します。 Code128 は高密度要件のある英数字データに適しています。 Code39 は単純な数字または大文字の組み合わせに機能します。 バーコードの種類を選択する際には、スキャン機器の互換性を考慮してください。


どのような追加スタンパーオプションがありますか?

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

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

  • Opacity: 透明度を制御します。 0は不可視、100は不透明です。
  • Rotation: スタンプを時計回りに 0 度から 360 度まで回転します。
  • MaxWidth: 出力スタンプの最大幅。
  • MaxHeight: 出力スタンプの最大高さ。
  • MinWidth: 出力スタンプの最小幅。
  • MinHeight: 出力スタンプの最小高さ。
  • Hyperlink: スタンプされた要素にクリック時のハイパーリンクを追加します。 注:HTMLリンク(aタグ)は、スタンプによって保存されません。
  • Scale: スタンプにパーセンテージスケールを適用します。 デフォルト:100(効果なし)。
  • IsStampBehindContent: コンテンツの背後にスタンプを配置します。 内容が不透明な場合、スタンプが見えないことがあります。
  • WaitFor: イベントまたは時間を待機します。PDFレンダリングを遅延させるには、WaitForの使用を参照してください。
  • Timeout: レンダリングのタイムアウト(秒単位)。 デフォルト:60。

どのプロパティが最も一般的に使用されていますか?

OpacityIsStampBehindContent は透かしを作成します。 ScaleRotation は視覚的な位置とサイズを調整します。 例:

// 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
};
$vbLabelText   $csharpLabel

まとめ

IronPDFのスタンプ機能は既存のPDFドキュメントにテキスト、画像、HTMLコンテンツ、BarCodeを追加します。 豊富なカスタマイズオプションを備えた4つの専用スタンパー・クラスにより、透かし、ヘッダー、フッター、注釈付きのプロフェッショナルなドキュメントを作成できます。 さまざまな測定単位と配置オプションを備えた位置決めシステムにより、ピクセルパーフェクトな配置が保証されます。 シンプルなテキストスタンプまたはCSSスタイリングによる複雑なHTMLレイアウトを使用してください。 IronPDFのスタンピングAPIはエンタープライズグレードの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 ダウンロード 17,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

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

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