PDFにテキストと画像をスタンプする方法

Chaknith related to PDFにテキストと画像をスタンプする方法
チャクニット・ビン
2023年10月9日
更新済み 2025年2月5日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

PDFにテキストや画像をスタンプすることは、既存のPDFドキュメントに追加のコンテンツを重ねる作業を含みます。 このコンテンツは、「スタンプ」とも呼ばれ、テキスト、画像、またはその両方の組み合わせで構成されることがあります。 スタンプは通常、情報、ラベル、ウォーターマーク、または注釈をPDFに追加するために使用されます。

IronPDF では、合計4つのスタンパーを使用できます。 この記事では、TextStamperImageStamperHTMLStamperBarcodeStamperについて説明します。 HTMLStamperは、CSSスタイリングとともにすべてのHTML機能を利用できるため、特に強力です。

IronPDFを始めましょう

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



テキストのスタンプ例

まず、TextStamper クラスからオブジェクトを作成します。 このオブジェクトには、テキストスタンパーの表示方法を指定するためのすべての設定が含まれます。 ApplyStamp メソッドに TextStamper オブジェクトを渡します。 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");

PDFを出力

TextStamperで複数行のテキストを実現するには、HTMLのように <br> タグを使用してください。 例えば、「line 1 <br> line 2」は、最初の行に「line 1」を、第二行に「line 2」を表示します。


スタンプ画像の例

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

ヒント
すべてのページインデックスはゼロベースのインデックスを使用します。

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

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");

PDFを出力


スタンプの場所

スタンプの配置を定義するために、3列3行のグリッドを利用します。 水平位置の調整には、左、中央、右を選択できます。また、垂直位置の調整には、上、中、下を選択できます。 さらなる精度を求める場合、それぞれの位置に対して水平オフセットと垂直オフセットの両方を調整できます。 このコンセプトの視覚的表現については、下の画像をご参照ください。

スタンプの場所
  • HorizontalAlignment: ページに対するスタンプの水平配置。 デフォルト設定はHorizontalAlignment.Centerです。
  • VerticalAlignment: スタンプのページに対する垂直位置合わせ。 デフォルト設定は VerticalAlignmentCenter.Middle です。
  • HorizontalOffset: 水平方向のオフセット。 デフォルト値は0で、デフォルトの単位はIronPdf.Editing.MeasurementUnit.Percentageです。 正の値は右方向へのオフセットを示し、負の値は左方向へのオフセットを示します。
  • VerticalOffset: 垂直オフセット。 デフォルト値は0で、デフォルトの単位はIronPdf.Editing.MeasurementUnit.Percentageです。 正の値は下方向のオフセットを示し、負の値は上方向のオフセットを示します。

    水平オフセット (HorizontalOffset) および垂直オフセット (VerticalOffset) プロパティを指定するために、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),
};

HTML スタンプの例

テキストと画像の両方をスタンプするために使用できる別のサンプラクラスがあります。 HtmlStamper クラスは、HTMLデザインをCSSスタイルでレンダリングし、それを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");
  • Html: PDFにスタンプされるHTMLフラグメント。 JavaScript、CSS、および画像ファイルへのすべての外部参照は、StamperクラスのHtmlBaseUrlプロパティに対して相対的になります。
  • HtmlBaseUrl: 外部CSS、Javascript、画像ファイルへの参照を基準にするHTMLベースURL。
  • CssMediaType: Media="screen" CSSスタイルおよびスタイルシートを可能にします。 AllowScreenCss=falseを設定すると、IronPDFは Stamp をHTMLからCSSを使用し、media="print"の際にレンダリングします。これは、ブラウザの印刷ダイアログでウェブページを印刷する場合と同様です。 デフォルト値はPdfCssMediaType.Screenです。

スタンプバーコードの例

BarcodeStamper クラスを使用すると、既存のPDFドキュメントに直接バーコードをスタンプすることができます。 スタンパーは、QRコード、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");
  • : バーコードの文字列値。
  • BarcodeType: バーコードのエンコードタイプです。サポートされているタイプには、QRCode、Code128、Code39 があります。デフォルトは QRCode です。
  • : レンダリングされたバーコードの幅(ピクセル単位)。 デフォルトは250pxです。
  • 高さ: レンダリングされたバーコードの高さをピクセル単位で指定します。 デフォルトは250pxです。

スタンパーオプションを探索する

上記で言及および説明されたオプションに加えて、スタンプクラスには以下のような他のオプションも利用可能です。

  • 不透明度: スタンプを透明にすることができます。 0は完全に透明であり、100は完全に不透明です。
  • 回転: 指定されたとおり、スタンプを時計回りに0度から360度まで回転させます。
  • MaxWidth: 出力スタンプの最大幅。
  • MaxHeight: 出力スタンプの最大高さ。
  • MinWidth: 出力スタンプの最小幅。
  • MinHeight: 出力スタンプの最小高さ。
  • ハイパーリンク: このスタンパーの押印要素にクリック時のハイパーリンクを設定します。 注意: link(a)タグによって作成されたHTMLリンクは、スタンプ処理で保存されません。
  • スケール: スタンプにパーセンテージスケールを適用して、大きくしたり小さくしたりします。 デフォルトは100(パーセント)で、効果はありません。
  • IsStampBehindContent: スタンプをコンテンツの背面に適用するには true に設定します。 コンテンツが不透明な場合、スタンプが見えないことがあります。
  • WaitFor: 様々なイベントを待つ、または一定時間待機するための便利なラッパーです。
  • タイムアウト: 秒単位でのレンダータイムアウト。 デフォルト値は60です。
Chaknith related to スタンパーオプションを探索する
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。