如何在 C# 中為 PDFs 添加印章和水印

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# 中的 HTMLStamperBarcodeStamper 類,透過精確的定位控制,將文字、圖像、HTML 內容和條碼新增至現有的 PDF 文件中。

蓋章功能是在現有 PDF 文件上疊加額外內容。 圖章可以為 PDF 檔案添加資訊、標籤、浮水印或註解。 使用 IronPDF 的全面圖章功能,您可以新增頁首和頁腳,或建立自訂浮水印。

IronPDF提供四張印章:HTMLStamperBarcodeStamperHTMLStamper 利用所有 HTML 功能和 CSS 樣式,類似於將 HTML 字串轉換為 PDF

快速入門:立即在 PDF 上新增文字

使用 IronPDF 的 TextStamper 類別為 PDF 文件添加文字註釋、浮水印或標籤。 下面的範例示範如何使用 ApplyStamp 方法在 PDF 上新增文字。

  1. 使用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上新增文字印章?

建立一個包含所有顯示配置的 TextStamper 物件。 將 TextStamper 物件傳遞給 ApplyStamp 方法。 Text 屬性設定顯示的文字。 配置字體系列、字體樣式和圖章位置。

TextStamper 提供類似於在 PDF 文件中管理字體的廣泛自訂選項。 將 UseGoogleFont 設為 true,即可使用系統字型或 Google 字型。

: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> 標籤表示多行文字。 例如,"第 1 行
"第 2 行"會在第一行產生"第 1 行",在第二行產生"第 2 行"。這樣就可以建立地址印章或多行浮水印。


如何在PDF上新增圖片印章?

建立一個 ImageStamper 對象,並使用 ApplyStamp 方法將圖像應用於文件。 此方法的第二個參數接受一個頁面索引,用於在單一或多個頁面上加蓋戳記。 下面的範例會在 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 儲存體中的映像


如何同時使用多個印章?

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

郵票重疊會發生什麼事?

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

ApplyMultipleStamps 接受包含任何印章類型的陣列。將 HTMLStamperBarcodeStamper 合併為一個操作。 同時建立包含頁首、頁尾、浮水印和識別碼的複雜文件版面。


如何控製印章位置?

使用 3x3 網格定義印章位置,其中有三列和三行。 選擇水平對齊方式:左對齊、居中對齊、右對齊。 選擇垂直對齊方式:上、中、下。 調整水平和垂直偏移量以實現精確定位。 請看下圖的直覺表示。

IronPDF沖壓API對齊網格,顯示水平/垂直定位選項和偏移範例

關鍵定位屬性有哪些?

  • HorizontalAlignment: 相對於頁面的水平對齊方式。 預設值:HorizontalAlignment.Center
  • VerticalAlignment: 相對於頁面的垂直對齊方式。 預設值:VerticalAlignment.Middle
  • HorizontalOffset: 水平偏移。 預設值:0,單位:MeasurementUnit.Percentage。 正值向右偏移,負值向左偏移。
  • VerticalOffset: 垂直偏移。 預設值:0,單位:MeasurementUnit.Percentage。 正值向下偏移,負值向上偏移。

如何設定精確偏移量?

使用 Length 類別指定 HorizontalOffsetVerticalOffset。 預設計量單位為百分比。 可用單位包括英吋、毫米、公分、像素和點。 這樣就可以精確定位,例如在 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 使用 CSS 樣式渲染 HTML 設計,然後將其新增至 PDF 文件中。 HtmlBaseUrl 屬性指定 HTML 字串資源(如 CSS 和圖片檔案)的基本 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 Stamper 的基本屬性有哪些?

  • Html: 若要新增至 PDF 中的 HTML 片段。 對JavaScript、CSS 和圖像的外部引用是相對於 HtmlBaseUrl 的。
  • HtmlBaseUrl: 外部 CSS、 JavaScript和圖片檔案引用的基本 URL。
  • CssMediaType: 啟用 Media="screen" CSS 樣式。 設定 AllowScreenCss=false 使用 CSS media="print" 渲染印章。 預設值:PdfCssMediaType.Screen

為什麼要使用 HTML Stamper 而不是 Text Stamper?

HTMLStamper 為複雜的佈局、多種字體、顏色和嵌入式圖像提供完整的 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

條碼有哪些設定選項?

  • Value: 條碼的字串值。
  • BarcodeType: 支援 QRCode、Code128 和 Code39 的編碼類型。預設值:QRCode。
  • Width: 以像素為單位的渲染條碼寬度。 預設值:250px。
  • Height: 以像素為單位的渲染條碼高度。 預設值:250px。

我應該在什麼情況下使用哪種條碼?

二維碼可以處理網址和大型資料集(最多 4,296 個字母數字字元)。 Code128 適用於高密度要求的字母數字資料。 Code39 適用於簡單的數字或大寫字母組合。 選擇條碼類型時,請考慮掃描設備的相容性。


還有哪些其他沖壓器可選?

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

如何控製印章外觀?

  • Opacity: 控制透明度。 0 表示不透明,100 表示不透明。
  • Rotation: 將印章順時針旋轉 0 到 360 度。
  • MaxWidth: 輸出戳記的最大寬度。
  • MaxHeight: 輸出戳記的最大高度。
  • MinWidth: 輸出戳記的最小寬度。
  • MinHeight: 輸出戳記的最小高度。
  • Hyperlink: 為有戳記的元素新增點擊超連結。 注意:HTML 連結(a 標籤)不會被浮水印保留。
  • Scale: 對郵票套用百分比刻度。 預設值:100(無效果)。
  • IsStampBehindContent: 將印章放置在內容後方。 如果內容不透明,則印章可能不可見。
  • WaitFor: 等待事件或時間。請參閱使用 WaitFor 延遲 PDF 渲染
  • 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 內容和條碼。 四種專業印章類別,提供豐富的自訂選項,可建立帶有浮水印、頁首、頁尾和註釋的專業文件。 此定位系統具有多種測量單位和對準選項,可確保像素級精確定位。 使用簡單的文字圖章或具有 CSS 樣式的複雜 HTML 佈局。 IronPDF 的沖壓 API 為企業級 PDF 操作提供了靈活性和控制。

常見問題解答

如何用 C# 在 PDF 文件中加入文字水印?

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

我可以在現有的 PDF 檔案中加入圖片作為圖章嗎?

是的,IronPDF 提供 ImageStamper 類,用於在 PDF 中添加圖片。創建一個 ImageStamper 物件,指定圖片檔案,並使用 ApplyStamp 方法。您可以控制定位,並使用基於零的頁面索引指定要加蓋圖章的頁面。

哪些類型的內容可以印製到 PDF 上?

IronPDF 支援四種圖章:TextStamper 用於文字註解和水印,ImageStamper 用於影像,HTMLStamper 用於 HTML 內容與完整的 CSS 定型,BarcodeStamper 用於條碼。每個圖章類別都提供精確的定位控制。

如何建立多行文字戳記?

在 TextStamper 的 Text 屬性中使用
標籤來建立多行戳記。例如,「line 1
line 2」會在兩行分開顯示文字,非常適合建立地址戳記或多行水印。

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

是的,IronPDF 中的 TextStamper 支持系统字体和 Google 字体。將 UseGoogleFont 屬性設為 true 即可使用 Google 字體,或使用 FontFamily 屬性指定任何已安裝的系統字體,以獲得完整的排版控制。

是否可以僅在特定頁面上添加圖章?

絕對可以。ApplyStamp 方法接受一個頁面索引參數,可讓您對特定頁面加蓋圖章。IronPDF 使用基於零的索引,所以第 1 頁就是索引 0。您也可以使用 ApplyMultipleStamps 一次為多個頁面加上圖章。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 17,920,939 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 變成 PDF。