如何在 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 可透過 以及 類別,並具備精確的定位控制功能。

蓋章功能可在現有 PDF 文件上疊加額外內容。 印章功能可將資訊、標籤、浮水印或註解添加至 PDF 檔案中。 利用 IronPDF 完善的印章功能,可透過印章添加頁首與頁尾,或建立自訂浮水印。

IronPDF 提供四種印章工具:,以及。 `` 運用所有 HTML 功能並搭配 CSS 樣式,類似於將 HTML 字串轉換為 PDF

快速入門:立即在 PDF 上加蓋文字印章 using IronPDF 的 類別,可在 PDF 文件中添加文字註解、浮水印或標籤。 以下範例展示如何使用 方法將文字蓋印至 PDF 檔案。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf

    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 上加蓋文字?

建立一個 物件,其中包含所有顯示設定。 將 物件傳遞給 方法。 屬性用於設定顯示的文字。 設定字型家族、字型樣式及水印位置。

提供豐富的自訂選項,類似於[管理](https://ironpdf.com/how-to/manage-fonts/) 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 檔案會是什麼樣子?

如何建立多行文字印章?


標籤中,請使用 來處理多行文字。 例如,輸入"第 1 行 第
2 行"會產生第一行顯示"第 1 行"、第二行顯示"第 2 行"的結果。此功能可用於建立地址戳記或多行浮水印。


如何在 PDF 上加蓋圖片?

建立一個 物件,並使用 方法將圖片套用至文件中。 此方法的第二個參數接受頁碼,用於對單一或多頁進行加蓋。 以下範例將圖像蓋印至 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");
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 中的圖片


如何套用多個印章?

using `` 並傳入一個印章陣列,即可套用多個印章。 此方法能透過單一操作高效處理多個印章。

: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

當印章重疊時會發生什麼情況?

我可以混合使用不同類型的印章嗎?

接受包含任何類型印章的陣列。 可將 以及 `` 於單一操作中。 同時建立包含頁首、頁尾、浮水印及識別碼的複雜文件版面配置。


如何控制水印位置?

請使用 3x3 網格(包含三列與三行)來定義水印位置。 請選擇水平對齊方式:左對齊、居中、右對齊。 請選擇垂直對齊方式:頂部、中間、底部。 調整水平與垂直偏移量以實現精確定位。 請參閱下圖以獲取視覺呈現。

IronPDF 蓋章 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 內容上加蓋水印?

using 類別來對文字和圖片進行加蓋標記。 會渲染帶有 CSS 樣式的 HTML 設計,然後將其烙印至 PDF 文件中。 `` 屬性指定 HTML 字串資產(如 CSS 和圖片檔案)的基礎 URL。 此工具採用與 HTML 轉 PDF/A 相同的渲染引擎。

程式碼

: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" 渲染水印。 預設:``.

為何選擇 HTML Stamper 而非 Text Stamper?

`` 提供完整的 HTML 和 CSS 支援,可在單一印章中處理複雜版面配置、多種字型、顏色及嵌入式圖片。非常適合用於豐富內容的水印或頁首。 保持品牌形象的一致性,並能配合響應式 CSS 設計


如何印製BarCode?

`` 類別可將 BarCode 直接蓋印至現有的 PDF 文件上。 支援 QRCode、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的字串值。
  • ``:支援 QRCode、Code128 及 Code39 的編碼類型。預設值:QRCode。
  • ``:渲染後BarCode的寬度(單位:像素)。 預設值:250px。
  • ``:渲染後BarCode的高度(單位:像素)。 預設值:250px。

何時該使用哪種BarCode類型?

QRCode 可處理 URL 及大型資料集(最多 4,296 個英數字元)。 適用於對高密度要求較高的字母數字資料。 適用於簡單的數字或大寫字母組合。 選擇BarCode類型時,請考量掃描設備的相容性。


還有哪些其他"Stamper"選項可用?

這些屬性可精細控制印章的外觀與行為,類似於建立自訂浮水印

如何控制水印的外觀?

  • ``:控制透明度。 0 代表透明,100 代表不透明。
  • ``:將印章順時針旋轉 0 至 360 度。
  • ``:輸出時間戳記的最大寬度。
  • ``:輸出印章的最大高度。
  • ``:輸出時間戳記的最小寬度。
  • ``:輸出印章的最小高度。
  • ``:為已標記的元素新增點擊即跳轉的超連結。 注意:HTML 連結(a 標籤)在翻譯過程中不會被保留。
  • ``:將百分比縮放比例套用至圖章。 預設值:100(無影響)。
  • ``:將水印置於內容後方。 若內容不透明,水印可能會無法顯示。
  • ``:等待事件或時間。請參閱使用 WaitFor 來延遲 PDF 渲染
  • ``:渲染超時時間(單位:秒)。 預設值: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 的加蓋功能可將文字、圖片、HTML 內容及 BarCode 加入現有的 PDF 文件中。 四種具備豐富自訂選項的Professional印章類別,可協助您建立帶有浮水印、頁首、頁尾及註解的Professional文件。 具備多種測量單位與對齊選項的定位系統,可確保精準至像素的定位。 可使用簡單的文字標籤,或搭配 CSS 樣式的複雜 HTML 版面配置。 IronPDF 的加蓋 API 為企業級 PDF 處理提供靈活性與控制力。

常見問題

如何在 C# 中為 PDF 文件添加文字浮水印?

using IronPDF 的 TextStamper 類別來新增文字浮水印。建立 TextStamper 物件,設定 Text、FontSize 和 Opacity 等屬性,然後使用 ApplyStamp 方法。您可以透過 VerticalAlignment 和 HorizontalAlignment 屬性來精確定位浮水印。

我可以將圖片作為水印添加到現有的 PDF 檔案中嗎?

是的,IronPDF 提供了 ImageStamper 類別,用於將圖片添加至 PDF 文件。請建立一個 ImageStamper 物件,指定圖片檔案,並使用 ApplyStamp 方法。您可以控制定位位置,並透過以零為起點的頁面索引來指定要加蓋印章的頁面。

哪些類型的內容可以加蓋在 PDF 檔案上?

IronPDF 支援四種印章類型:用於文字註解和浮水印的 TextStamper、用於圖像的 ImageStamper、支援完整 CSS 樣式的 HTML 內容的 HTMLStamper,以及用於 BARCODE 的 BarCodeStamper。每個印章類別皆提供精確的定位控制。

如何建立多行文字印章?

請在 TextStamper 的 Text 屬性中使用
標籤來建立多行印章。例如,'line 1
line 2' 將在兩行獨立的文字上顯示內容,非常適合製作地址印章或多行浮水印。

在 PDF 上加蓋文字時,可以使用自訂字型嗎?

是的,IronPDF 中的 TextStamper 同時支援系統字型與 Google Fonts。若要使用 Google Fonts,請將 UseGoogleFont 屬性設為 true;若要完全掌控排版,則可透過 FontFamily 屬性指定任何已安裝的系統字型。

是否可以僅在特定頁面上添加水印?

沒問題。ApplyStamp 方法接受一個頁面索引參數,讓您能對特定頁面加蓋印章。IronPDF 採用從零開始的索引方式,因此第 1 頁的索引為 0。您也可以使用 ApplyMultipleStamps 一次對多頁添加印章。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 18,926,724 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。