在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
水印在 PDF 文檔中作為重要元素,提供所有權、真實性或機密性的視覺指示。 它們能夠阻止未經授權的使用,並幫助保護知識產權,對於企業和個人來說都是至關重要的。在本文中,我們將比較兩個強大的庫—IronPDF 和 QuestPDF—重點介紹它們在 C# 中向 PDF 文件添加水印的功能。
損壞的圖片 從Pixabay添加,從你的文件中選擇或拖放圖片到這裡。
IronPDF 是一個強大的 PDF 程式庫,使開發人員能夠無縫地創建、編輯和操作 PDF 文件。 與浮水印相關的主要功能包括:
要開始使用IronPDF,請按照以下步驟操作:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
using IronPdf;
using IronPdf;
Imports IronPdf
IronPDF 使用HTML字符串和CSS样式為您的PDF文件添加完全可自定義的水印。 浮水印工具可以接受任何 HTML 字串,即使它包含圖像和 CSS 樣式等資產,也可以將其作為浮水印應用到 PDF 文件中。
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
Dim pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")
Dim watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>"
pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)
pdf.SaveAs("watermarked.pdf")
End Sub
End Class
損壞的圖片 從Pixabay添加,從你的文件中選擇或拖放圖片到這裡。
如您所見,我們已經創建了一個包含浮水印內容的新字串變數。 這是一個由標頭和圖片組成的 HTML 字串。 當我們使用ApplyWatermark方法時,我們可以設置自訂的旋轉和不透明度。
如果您想查看更多高級範例和其他 IronPDF 提供的功能,請務必查看操作指南!
損壞的圖片 從Pixabay添加,從你的文件中選擇或拖放圖片到這裡。
QuestPDF 是一個現代化的 PDF 庫,強調易用性和對開發者友好的設計。 與浮水印相關的主要功能包括:
要安裝QuestPDF,請按照以下步驟進行:
Install-Package QuestPDF
Install-Package QuestPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package QuestPDF
using QuestPDF;
using QuestPDF;
Imports QuestPDF
QuestPDF對於將水印應用於PDF文件有不同的方法。 在 QuestPDF 中,這是通過浮水印插槽(在背景和前景)完成的,用於在 PDF 的特定頁面或所有頁面中添加浮水印內容。
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
public class WatermarkExample
{
public static void Main()
{
QuestPDF.Settings.License = LicenseType.Community;
Document.Create(container =>
{
container.Page(page =>
{
page.Margin(50);
// Add a watermark
page.Foreground().Element(watermark =>
{
watermark.Text("DRAFT")
.FontSize(40)
.FontColor(Colors.Red.Medium)
.AlignLeft();
});
// Main content of the page
page.Content().Element(ComposeContent);
});
})
.GeneratePdf("watermarked_document.pdf");
}
private static IContainer ComposeContent(IContainer container)
{
// No need to return the container here; you can just define the layout.
container.Column(column =>
{
column.Spacing(10);
column.Item().Text("This is the main content of the PDF.");
column.Item().Text("Add more content as needed.");
});
return container; // Return the container to maintain method signature.
}
}
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
public class WatermarkExample
{
public static void Main()
{
QuestPDF.Settings.License = LicenseType.Community;
Document.Create(container =>
{
container.Page(page =>
{
page.Margin(50);
// Add a watermark
page.Foreground().Element(watermark =>
{
watermark.Text("DRAFT")
.FontSize(40)
.FontColor(Colors.Red.Medium)
.AlignLeft();
});
// Main content of the page
page.Content().Element(ComposeContent);
});
})
.GeneratePdf("watermarked_document.pdf");
}
private static IContainer ComposeContent(IContainer container)
{
// No need to return the container here; you can just define the layout.
container.Column(column =>
{
column.Spacing(10);
column.Item().Text("This is the main content of the PDF.");
column.Item().Text("Add more content as needed.");
});
return container; // Return the container to maintain method signature.
}
}
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Public Class WatermarkExample
Public Shared Sub Main()
QuestPDF.Settings.License = LicenseType.Community
Document.Create(Sub(container)
container.Page(Sub(page)
page.Margin(50)
' Add a watermark
page.Foreground().Element(Sub(watermark)
watermark.Text("DRAFT").FontSize(40).FontColor(Colors.Red.Medium).AlignLeft()
End Sub)
' Main content of the page
page.Content().Element(AddressOf ComposeContent)
End Sub)
End Sub).GeneratePdf("watermarked_document.pdf")
End Sub
Private Shared Function ComposeContent(ByVal container As IContainer) As IContainer
' No need to return the container here; you can just define the layout.
container.Column(Sub(column)
column.Spacing(10)
column.Item().Text("This is the main content of the PDF.")
column.Item().Text("Add more content as needed.")
End Sub)
Return container ' Return the container to maintain method signature.
End Function
End Class
損壞的圖片 從Pixabay添加,從你的文件中選擇或拖放圖片到這裡。
在 Main 方法中,我們首先創建一個文件,該文件的頁面具有 50 單位的邊距。 接著我們創建想要使用的浮水印,即紅色的簡單文字 "DRAFT",字型大小為 40,並向左對齊。 相比於 IronPDF 精簡化的方式,此方法在將浮水印應用於 PDF 文件時,其設置更為僵化和複雜。 使用QuestPDF時,您對浮水印的外觀和位置可能控制較少。
IronPDF 提供簡單明了的方法,配以豐富的文檔和範例,使其對初學者來說易於使用。 QuestPDF 透過其聲明式 API 進一步簡化了過程,允許使用更簡潔的代碼,這可以提高生產力。
這兩個程式庫都提供廣泛的浮水印自訂功能。 IronPDF允許對文本和圖像進行詳細的樣式設定,而QuestPDF提供了更靈活的方式來排列元素並支持複雜設計,這使其適合創意應用。
就性能而言,兩個程式庫都表現良好,但由於其高效設計,QuestPDF 在速度上可能更具優勢。 建議在真實場景中測試這些庫,以確定哪一個最符合您的特定使用案例。
IronPDF 運行在商業授權模式上。
QuestPDF 提供開源授權,並可選擇商業支援。 這使其成為尋求強大功能又不希望有重大財務投入的開發人員的經濟選擇。

IronPDF 和 QuestPDF 都是功能強大的庫,可以在 C# 中將浮水印添加到 PDF。 IronPDF 在詳細的自訂選項和用戶友好的方法上表現出色,非常適合需要特定格式的用戶。 另一方面,QuestPDF 以其現代化的 API 設計和效率的性能脫穎而出,吸引了尋求快速且直觀解決方案的開發人員。
在需要大量自訂的情況下,IronPDF 可能是首選。相反,QuestPDF 非常適合優先考慮速度和易用性的專案。
🚀立即下載免費試用版,親自體驗 IronPDF,探索其如何將您的 C# PDF 專案提升到下一個層次!