使用 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 設計和動態條形碼。 本文將探討三個主要印章工具的功能:使用 TextStamper 添加文字, 使用 ImageStamper 放置圖像,和將 HTML 與 HtmlStamper 集成. HTMLStamper 特別強大,因為它可以利用所有 HTML 功能,結合 CSS 樣式,為蓋章過程增添額外的多樣性。

如何在 PDF 上加蓋文字和圖像

  1. 下載 C# 程式庫以標記文本和影像。

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

  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 類別創建一個物件,然後使用ImageStamper 套用方法將圖像應用到文件中。 此方法的第二個參數也包含頁面索引,可使蓋章應用於單個或多個頁面。 此特定實例可以指示系統將圖像作為印章應用,特別是在 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 中通過傳遞一組 stampers。 它讓你可以一次添加各種元素,例如文字、圖片或標籤。 在此範例中,創建了兩個文字印章,具有不同的文字和對齊方式,使用 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 標記定位

  • 水平對齊:相對於頁面的Stamp的水平對齊方式。
  • 垂直對齊:印章相對於頁面的垂直對齊方式。
  • 水平偏移量:水平偏移。 預設值為 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 類別用於 HTML 整合可以將帶有 CSS 樣式的 HTML 設計渲染並將其印在 PDF 文件上。 InnerHtmlBaseUrl 屬性用於指定 HTML 字串資產的基本 URL,例如 CSS 和圖像文件。

HtmlStamper 類別應用於 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 選項

除了上述提到和解釋的選項,下面還有更多可用於加蓋類別的選項。

  • 不透明度:允許蓋章具有透明效果。 0 是完全透明的,而 100 是完全不透明的。
  • 旋轉:根據指定,將印章順時針旋轉0到360度。
  • MaxWidth:輸出印章的最大寬度。
  • MaxHeight:輸出印章的最大高度。
  • MinWidth:輸出標籤的最小寬度。
  • MinHeight:輸出印章的最小高度。
  • 超連結:使此Stamper的蓋章元素具有點擊超連結。 注意:HTML 連結由鏈接創建(一)標籤不是通過蓋章來保留的。
  • 比例:將百分比應用於圖章,以使其變大或變小。 預設值為 100(百分比),這沒有任何效果。
  • IsStampBehindContent:設定為 true 以將印章應用在內容後面。 如果內容不透明,印章可能是不可見的。
  • WaitFor:一個方便的封裝器,用於等待各種事件或一段時間。
  • 超時:渲染超時(以秒為單位)。 預設值為60。

    IronPDF 的蓋章選項提供高級自訂功能,允許用戶使用透明度、精確旋轉和可控尺寸來增強 PDF。 像 Hyperlink 和 Scale 這樣的功能有助於整合所有互動元素,遵循文件規範並僅強調內容。 IsStampBehindContent 選項會策略性地放置郵票,確保它們屬於同一個對象,而不是屬於欄位。 同時,WaitFor 功能能夠有效管理渲染事件,使 IronPDF 成為PDF自定義的多功能工具,包括原始頁面的旋轉。

結論

總之,IronPDF 的蓋章功能提供了一個多功能且易於使用的解決方案,用於增強 PDF 文件。 無論是添加簡單的文字標籤、插入圖片,還是利用 HTML 和 CSS 的 HTMLStamper 功能,IronPDF 都能滿足各種自訂需求。

使用方便以及展示文字和圖片印章應用程式的實用範例,使各種技術水平的使用者皆可輕易掌握。印章選項,包括不透明度、旋轉和縮放,為尋求輕鬆自定義 PDF 的使用者提供了一套完整的工具。 IronPDF 的蓋章功能以其可靠且高效的工具特性脫穎而出,使用戶能夠輕鬆提升其 PDF 文件。

基本上,掌握使用 IronPDF 進行 PDF 增強輕鬆提升PDF以滿足基本和高級需求,包括提取嵌入的文本和圖像, 輕鬆處理 PDF 表單, 高效合併或拆分 PDF 文件,和使用自訂頁首和頁尾格式化PDF程式化地。 如有疑問或功能請求,IronPDF 支援團隊準備好協助。

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >