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

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

によって チャクニット・ビン

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

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

IronPDFを始めましょう

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

最初のステップ:
green arrow pointer



テキストのスタンプ例

まず、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")
VB   C#

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");
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")
VB   C#

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")
VB   C#

PDFを出力


スタンプの場所

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

スタンプの場所
  • HorizontalAlignment: ページに対するスタンプの水平位置揃え。 デフォルト設定はHorizontalAlignment.Centerです。
  • VerticalAlignment: ページに対するスタンプの垂直方向の配置。 デフォルト設定は VerticalAlignmentCenter.Middle です。
  • 水平オフセット: 水平方向のオフセット。 デフォルト値は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),
};
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)
}
VB   C#

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")
VB   C#
  • 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");
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")
VB   C#
  • : バーコードの文字列値。
  • BarcodeType: バーコードのエンコーディングタイプ。サポートされるタイプには、QRCode、Code128、Code39が含まれます。デフォルトはQRCodeです。
  • : レンダリングされたバーコードの幅(ピクセル単位)。 デフォルトは250pxです。
  • 高さ: レンダリングされたバーコードの高さ(ピクセル単位)。 デフォルトは250pxです。

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

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

  • 不透明度: スタンプを透明にすることができます。 0は完全に透明であり、100は完全に不透明です。
  • 回転: 指定された0から360度の範囲でスタンプを時計回りに回転させます。
  • MaxWidth: 出力スタンプの最大幅。
  • MaxHeight: 出力スタンプの最大高さ。
  • MinWidth: 出力スタンプの最小幅。
  • MinHeight: 出力スタンプの最小高さ。
  • ハイパーリンク: このスタンパーのスタンプ要素にクリック時のハイパーリンクを設定します。 注: リンクによって作成されたHTMLリンク(a)被スタンプによって予約されていません。
  • スケール: スタンプにパーセンテージスケールを適用して、サイズを大きくしたり小さくしたりします。 デフォルトは100です(パーセント)効果がありません。
  • IsStampBehindContent: コンテンツの背後にスタンプを適用するにはtrueに設定します。 コンテンツが不透明な場合、スタンプが見えないことがあります。
  • WaitFor: さまざまなイベントを待機したり、一定の時間待機するための便利なラッパー。
  • タイムアウト: 秒単位のレンダータイムアウト。 デフォルト値は60です。
Chaknith related to スタンパーオプションを探索する

チャクニット・ビン

ソフトウェアエンジニア

チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。