使用 IRONPDF

如何在 C# 中添加 PDF Stamper

已更新 2024年3月24日
分享:

在 PDF 上加蓋文字和圖像涉及將額外的內容覆蓋到現有的 PDF 文件上。這些內容通常稱為“印章”,可以是文字、圖像或兩者的結合。通常,使用者使用印章將資訊、標籤、水印或註釋添加到 PDF 中。

IronPDF 提供一個用戶友好且多功能的解決方案來自訂PDF內容以滿足各種需求。Stamper抽象類是IronPDF裡印章方法的一個重要組成部分,用於一系列專用的印章類,每一類都設計用於特定目的。

  1. TextStamper:TextStamper是您為PDF添加描述性文本的解決方案。無論您是在增強現有文檔、在同一頁面放置文本,還是從其他PDF文檔中整合細節,這個印章都允許您使用文件描述和信息來自訂您的文件。

  2. ImageStamper:ImageStamper是用於在您的PDF中放置圖像的工具。無論是一個用於文件描述的標誌、一個現有文檔的插圖,還是用於同一頁面或其他PDF文檔的視覺元素,此印章都能確保無縫地整合圖像。

  3. HtmlStamper:HtmlStamper將自訂提升到新的水平,允許您將HTML內容印製到您的PDF上。這包括創建動態元素如互動內容、描述和文件規格,提供超越傳統PDF自訂的靈活性。

  4. BarcodeStamper印製條形碼:BarcodeStamper簡化了在您的PDF中添加條形碼的過程。無論是在簽署文檔中用於跟蹤,臨時文件,還是文件附件,此印章確保條形碼高效地整合到您的PDF中。

  5. BarcodeStamper印製QR碼:BarcodeStamper專門用於在您的PDF上放置QR碼。完美用於創建互動內容或文件附件,此印章允許您在同一頁面或其他PDF文檔上嵌入QR碼,確保輕鬆訪問其他信息。

這些專用的印章類別使用戶能夠輕鬆地用各種元素強化PDF文檔,從基本文本到複雜的HTML設計和動態條形碼。這篇文章將探討三個主要印章的功能: 文字蓋章器, 圖像加蓋章工具,和 HTMLStamperHTMLStamper 特別強大,因為它可以利用所有 HTML 功能,結合 CSS 樣式,為蓋章過程增加額外的靈活層。

如何在 PDF 上蓋文字和圖片

  1. 下載用于蓋文字和圖片的 C# 庫。

  2. 創建並配置所需的蓋章類。

  3. 使用 'ApplyStamp' 方法將蓋章應用於 PDF。

  4. 使用 'ApplyMultipleStamps' 方法應用多個蓋章。

  5. 指定特定頁面來應用蓋章。

在 PDF 中配置和應用文字印章

首先,從 TextStamper 類創建一個對象以支援在 PDF 中進行文字印章。這個類的對象包含所有配置,以指定文字印章的呈現方式。將 textStamper 對象傳遞給 'ApplyStamp' 方法。Text 屬性定義要在 PDF 上顯示的內容。

此外,可以指定字體家族、字體樣式以及印章的位置。這種自訂擴展到互動元素、文件描述以及相同或其他 PDF 上的現有內容。然後,導出具有實際文件名稱的 PDF。

完成配置後,使用指定的文件名稱導出輸出 PDF 文件,封裝所有設置並為您的文檔提供專業的觸感。

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");
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 中的圖片印章

與文字印章相似,從 ImageStamper 類建立一個對象,然後使用 ApplyStamp 將圖像應用到文檔的方法。此方法的第二個參數還能夠指定頁面索引,使得可以將圖章應用於單個或多個頁面。此具體實例可以指示系統將圖像作為圖章應用,特別是在PDF的首頁。

所有頁面索引都採用從零開始的索引。

using IronPdf;
using IronPdf.Editing;

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");
using IronPdf;
using IronPdf.Editing;

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

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#

多重添加印章

要在文檔上添加多個印章,請使用 應用多個標記 在 IronPDF 中通過傳遞一個印章的數組來使用此方法。它允許您一次性添加各種元素,如文本、圖片或標籤。在此示例中創建了兩個具有不同文本和對齊方式的文本印章,pdf.ApplyMultipleStamps 將兩個印章應用到 PDF 上,最終文件保存為 multipleStamps.pdf。此方法簡化了添加各種印章的過程,提供了一種方便的方法來增強您的 PDF,包括在同一頁面、另一個 PDF 甚至是空白頁面上添加多個元素。

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");
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文件上指定印章位置

為了定義印章的位置,請使用具有三個水平欄和三個垂直行的3x3網格。您可以選擇水平對齊方式:左、中、右,和垂直對齊方式:上、中、下。您可以調整水平和垂直偏移來增加每個位置的精確度。請參考下圖來直觀地了解這個概念。

如何在 C# 中添加 PDF 印章器,圖 1:PDF 印章器定位

PDF 蓋章定位

  • HorizontalAlignment: 蓋章相對於頁面的水平對齊。
  • VerticalAlignment: 蓋章相對於頁面的垂直對齊。
  • HorizontalOffset: 水平偏移。默認值為 0,默認單位是 IronPDF.Editing.MeasurementUnit.Percentage。正值表示向右偏移,負值表示向左偏移。
  • VerticalOffset: 垂直偏移。默認值為 0,默認單位是 IronPDF.Editing.MeasurementUnit.Percentage。正值表示向下偏移,負值表示向上偏移。

要指定 HorizontalOffsetVerticalOffset 屬性,請實例化 長度 類別。 Length 的預設計量單位是百分比,但也可以使用比如英吋、毫米、釐米、像素和點等計量單位。

using IronPdf.Editing;

// 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),
};
using IronPdf.Editing;

// 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

' 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#

在 PDF 中配置和應用 HTML 印章

還有另一個印章類,可以用來同時蓋上文字和圖像印章。 HtmlStamper class 能夠用 HTML 設計和 CSS 樣式將它們渲染並蓋在 PDF 文件上。InnerHtmlBaseUrl 屬性用於指定 HTML 字串資產的基本 URL,例如 CSS 和圖像文件。

HtmlStamper class 被應用於 PDF。此蓋印對象包含影像和文字,您可以在要蓋印到 PDF 的 HTML 片段中定義這些內容。所有對 JavaScript、CSS 和圖像文件的外部引用都將相對於內部的 Html 屬性。此代碼允許您根據 HTML 內容中提到的具體文件規格來自定義 PDF。最後,修改後的 PDF 以 'stampHtml.pdf' 文件名保存。

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");
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 Stamper 選項

除了上述提到和解釋的選項之外,下面是更多可用於 Stamper 類別的選項。

  • Opacity: 允許 Stamp 具有透明度。0 是完全不可見,100 是完全不透明。
  • Rotation: 順時針旋轉 Stamp,範圍從 0 到 360 度。
  • MaxWidth: 輸出 Stamp 的最大寬度。
  • MaxHeight: 輸出 Stamp 的最大高度。
  • MinWidth: 輸出 Stamp 的最小寬度。
  • MinHeight: 輸出 Stamp 的最小高度。
  • Hyperlink: 讓此 Stamper 的加蓋元素具有點擊超連結。注意:由 link 創建的 HTML 連結。(一) 標籤不會因為蓋章而保留。
  • 比例:對標籤應用百分比比例,以使其變大或變小。預設值為 100 (百分比), 這沒有任何效果。
  • IsStampBehindContent: 設置為 true 以將印章應用在內容後面。如果內容是不透明的,印章可能會不可見。
  • WaitFor: 一個方便的包裹,用於等待各種事件或一些時間。

  • Timeout: 渲染超時,以秒為單位。默認值為60。

IronPDF的印章選項提供了高級定制化功能,允許用戶通過透明度、精確旋轉和控制尺寸來增強PDF。像超鏈接和縮放這樣的功能有助於整合所有互動元素,遵守文件規範並僅強調內容。IsStampBehindContent選項戰略性地定位印章,確保它們是同一對象的一部分,而不是字段。同時,WaitFor功能高效管理渲染事件,使IronPDF成為一種適應性強的PDF定制工具,包括原始頁面的旋轉。

結論

總之, IronPDF 的印章功能 功能性提供了一個多用途且使用者友善的解決方案,用於增強 PDF 文件。不論是添加簡單的文本標籤、整合圖片,還是利用 HTML 和 CSS 的強大功能與 HTMLStamper,IronPDF 都能滿足廣泛的自定義需求。

實用的範例展示了文本和圖片印章應用的便利性,使得具有不同技術專長的用戶都能輕鬆上手。印章選項包括不透明度、旋轉和縮放,這些都提升了工具包的全面性,讓用戶可以輕鬆定制他們的 PDF 文件。IronPDF 的印章功能作為一個可靠高效的工具,讓用戶能輕鬆提升他們的 PDF 文件。 IronPDF 輕鬆提升PDF以滿足基本和高級需求,包括 提取嵌入的文本和圖像, 處理PDF表單, 合併或拆分 PDF 文件,並格式化 PDF 文件 自訂頁首和頁尾 以程式設計方式。若有疑問或功能請求, 我們的支援團隊 準備好協助。

< 上一頁
如何在 .NET 中將 PDF 轉換為 Tiff 文件
下一個 >
如何在 C# 中讀取 PDF 檔案

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 NuGet 下載 總下載次數: 10,746,704 查看許可證 >