產品比較 探索PDFsharp向PDF添加水印的最佳替代方案 Curtis Chau 更新:2026年1月18日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 在 PDF 文件中添加浮水印是文件安全、品牌推廣和版本控制的常見需求。 無論是將文件標記為機密、為官方報告添加浮水印,還是防止未經授權的複製,水印都是不可或缺的功能。 在 C# 中,開發人員有多個庫可供選擇,其中IronPDF和PDFSharp是最受歡迎的兩個選擇。 然而,它們的方法、易用性、性能和許可結構卻大相逕庭。 本文對IronPDF和 PDFsharp 在為現有 PDF 添加浮水印方面的功能進行了詳細比較,深入探討了它們的功能、實施過程和自訂功能。 閱讀本文,您將清楚了解哪個函式庫最適合您的專案需求,並根據易用性、效能和功能可用性進行判斷。 了解PDF浮水印 什麼是水印? 水印是指在文件上添加的圖形或文字疊加層,用作標識、威懾或品牌元素。 水印可以是可見的,也可以是不可見的,這取決於其用途。 水印類型 *文字浮水印*– 通常是一個半透明的疊加層,上面有"機密"或"草稿"之類的訊息。 圖片浮水印– 嵌入到文件中的標誌、標誌或圖形。 透明水印– 一種不影響文件可讀性的微妙品牌標誌。 印章水印**– 更醒目、更粗體的標記,確保可見性。 常見用例 *安全與保護*– 透過將文件標記為專有資訊來防止未經授權的複製。 品牌識別**– 新增公司標誌或簽名,以保持文件中的品牌一致性。 *版本控制– 標記草稿、最終版本或文件修訂。 IronPDF和 PDFsharp 概述 IronPDF IronPDF是一個功能豐富的優質.NET庫,旨在簡化 PDF 處理。 它對於希望輕鬆實現 PDF 操作任務(包括添加浮水印)的開發人員來說尤其有用。 主要特點: 簡單直覺的API,所需程式碼量極少。 支援文字和圖片浮水印,並提供自訂選項。 提供不透明度控制、定位和旋轉功能,可精確放置。 相容.NET 6+、. .NET Core和.NET Framework。 提供永久授權模式,可供長期使用。 其他功能包括PDF 註解、 HTML 轉 PDF和數位簽章。 PDFsharp PDFsharp 是一個開源程式庫,允許開發人員使用 C# 建立、編輯和操作 PDF。 雖然水印功能非常靈活,但與IronPDF相比,它需要更多的手動操作。 主要特點: 免費開源,對於注重預算的專案來說,性價比很高。 提供 PDF 繪圖操作的底層控制,包括輪廓圖形路徑和透明圖形路徑。 支援文字和圖像浮水印,但轉換需要額外的程式碼。 可與.NET Framework和.NET Core (透過 PDFSharpCore)搭配使用。 缺少內建的進階浮水印功能,需要開發者手動實現不透明度和旋轉等功能。 使用IronPDF添加浮水印 IronPDF提供了一個簡單的 API,使開發人員能夠透過幾行程式碼有效地套用浮水印,從而輕鬆有效地簡化 PDF 浮水印任務,而無需任何複雜的或手動設定。 IronPDF 的浮水印工具可以使用 HTML/CSS 字串作為浮水印,如下所示,讓您可以完全控制浮水印的顯示方式。 文字浮水印範例 using IronPdf; const string filename = "existing.pdf"; // Load the existing PDF file PdfDocument pdf = PdfDocument.FromFile(filename); // Create a simple HTML-based watermark string watermark = "<h1 style='color:red'>Confidential!</h1>"; // Apply the watermark to the PDF pdf.ApplyWatermark(watermark); // Save the updated document with the applied watermark pdf.SaveAs("watermarked.pdf"); using IronPdf; const string filename = "existing.pdf"; // Load the existing PDF file PdfDocument pdf = PdfDocument.FromFile(filename); // Create a simple HTML-based watermark string watermark = "<h1 style='color:red'>Confidential!</h1>"; // Apply the watermark to the PDF pdf.ApplyWatermark(watermark); // Save the updated document with the applied watermark pdf.SaveAs("watermarked.pdf"); $vbLabelText $csharpLabel 在這個程式碼範例中,我們可以看到使用IronPDF將浮水印應用於現有 PDF 檔案是多麼容易。 在這裡,我們使用 FromFile 方法來載入現有的 PDF。 然後,我們創建一個簡單的字串,將其格式化為 HTML 元素作為浮水印,並使用 ApplyWatermark 將其應用於 PDF。 如輸出圖像所示,這會在我們的 PDF 上添加一個簡單的文字字串"機密"作為浮水印。 圖片浮水印範例 using IronPdf; // Load the PDF document PdfDocument pdf = PdfDocument.FromFile("existing.pdf"); // Create an HTML-based watermark containing the image string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"; // Apply the watermark to the PDF with rotation and opacity pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80); // Save the watermarked document pdf.SaveAs("watermarked.pdf"); using IronPdf; // Load the PDF document PdfDocument pdf = PdfDocument.FromFile("existing.pdf"); // Create an HTML-based watermark containing the image string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"; // Apply the watermark to the PDF with rotation and opacity pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80); // Save the watermarked document pdf.SaveAs("watermarked.pdf"); $vbLabelText $csharpLabel 添加圖片作為浮水印與添加文字一樣簡單,因為它們都使用相同的方法。 就像文字範例中那樣,我們創建一個新的水印字串變量,其中包含指向圖像 URL 的 HTML 圖像標籤,並應用它。 這次,我們加入了自訂旋轉和不透明度變換。 這種方法是在指定位置疊加影像浮水印,允許自訂位置和透明度。 使用 PDFsharp 新增浮水印 PDFsharp 要求開發人員使用其 GDI+ 繪圖 API 手動渲染文字和圖像。 若要為現有的 PDF 檔案新增浮水印,請建立一個用於繪圖的 XGraphics 對象,並套用所需的內容。 文字浮水印範例 using PdfSharp.Pdf; using PdfSharp.Drawing; using PdfSharp.Pdf.IO; const string filename = "existing.pdf"; // Open the PDF document in modify mode var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify); foreach (var page in document.Pages) { // Create an XGraphics object for drawing var gfx = XGraphics.FromPdfPage(page); // Move the origin to the center of the page for rotation purposes gfx.TranslateTransform(page.Width / 2, page.Height / 2); // Rotate for diagonal watermark placement gfx.RotateTransform(Math.Atan(page.Height / page.Width)); // Define font and brush for drawing the watermark text var font = new XFont("Arial", 40); var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red)); // Semi-transparent red // Draw the watermark text centered on the page gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0)); } // Save modified document document.Save("watermarked.pdf"); using PdfSharp.Pdf; using PdfSharp.Drawing; using PdfSharp.Pdf.IO; const string filename = "existing.pdf"; // Open the PDF document in modify mode var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify); foreach (var page in document.Pages) { // Create an XGraphics object for drawing var gfx = XGraphics.FromPdfPage(page); // Move the origin to the center of the page for rotation purposes gfx.TranslateTransform(page.Width / 2, page.Height / 2); // Rotate for diagonal watermark placement gfx.RotateTransform(Math.Atan(page.Height / page.Width)); // Define font and brush for drawing the watermark text var font = new XFont("Arial", 40); var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red)); // Semi-transparent red // Draw the watermark text centered on the page gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0)); } // Save modified document document.Save("watermarked.pdf"); $vbLabelText $csharpLabel 此實現方式是在每頁上手動繪製浮水印,需要精確定位和自訂。 雖然 PDFsharp 能夠處理與IronPDF範例類似的輸出任務,但它需要更多的程式碼和更複雜的方法來處理將文字浮水印應用於現有內容或新 PDF 檔案。 圖片浮水印範例 using PdfSharp.Pdf; using PdfSharp.Drawing; using PdfSharp.Pdf.IO; // Open the existing PDF document in modify mode var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify); // Load the watermark image XImage watermark = XImage.FromFile("watermark.png"); foreach (var page in document.Pages) { // Create a graphics object from the page XGraphics gfx = XGraphics.FromPdfPage(page); // Draw the image watermark at the specified position and size gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2); } // Save the modified PDF document document.Save("watermarked.pdf"); using PdfSharp.Pdf; using PdfSharp.Drawing; using PdfSharp.Pdf.IO; // Open the existing PDF document in modify mode var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify); // Load the watermark image XImage watermark = XImage.FromFile("watermark.png"); foreach (var page in document.Pages) { // Create a graphics object from the page XGraphics gfx = XGraphics.FromPdfPage(page); // Draw the image watermark at the specified position and size gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2); } // Save the modified PDF document document.Save("watermarked.pdf"); $vbLabelText $csharpLabel 此方法會在影像上添加浮水印; 但是,與IronPDF不同,透明度處理必須單獨管理。 與文字浮水印範例類似,使用 PDFsharp 將基於影像的浮水印套用到現有 PDF 需要比 IronPDF 簡化的浮水印 API 更複雜、更精細的設定。 IronPDF和 PDFsharp 浮水印功能對比 易用性 IronPDF:提供進階功能,以最少的程式碼簡化浮水印添加。 它抽象化了複雜的操作,因此非常適合需要快速且有效率解決方案的開發人員。 PDFSharp:需要使用圖形 API 手動實現,這會增加複雜性和開發時間。它更適合需要對渲染進行精細控制但又樂於編寫額外程式碼的開發人員。 表現 IronPDF:針對高速 PDF 處理進行了最佳化,能夠高效處理大型文檔,而不會出現明顯的效能下降。 PDFSharp:雖然體積小巧,但處理大型 PDF 檔案時可能需要額外的最佳化。 與IronPDF相比,具有多個轉換的複雜水印任務可能會導致效能下降。 自訂選項 IronPDF:內建支援不透明度、旋轉、定位和字體大小自訂。 使用者無需深入了解複雜的渲染邏輯即可輕鬆調整設定。 PDFSharp:需要額外的編碼來實現不透明度、透明效果和變換處理。 雖然功能強大,但它對開發者提出了更高的客製化要求,包括使用 var 格式進行特定的渲染任務。 相容性 IronPDF:完全相容.NET 6+、. .NET Core和.NET Framework,使其適用於現代和傳統應用程式。 PDFSharp:支援.NET Framework和.NET Core (透過 PDFSharpCore),但可能缺少較新框架中提供的某些現代功能。 許可證和成本 IronPDF:商業產品,需要付費許可,但包含永久許可選項、客戶支援和持續更新。 PDFSharp:開源且免費使用,對於喜歡不受限制的授權模式但願意自行處理支援和更新的開發人員來說,這是一個經濟高效的解決方案。 結論 對於需要一種簡單且有效率的方式來為 PDF 添加浮水印的開發人員來說, IronPDF是最佳選擇,因為它具有用戶友好的 API 和內建功能。 然而,如果預算有限且您不介意編寫額外的程式碼, PDFSharp是一個可靠的開源替代方案。最終,最佳選擇取決於您的專案需求、編碼技能和可用資源。 立即下載IronPDF免費試用版,親自體驗它如何將您的 C# PDF 專案提升到一個新的水平! 請注意PDFsharp 是其各自所有者的註冊商標。 本網站與PDFsharp無任何關聯,亦未獲得其認可或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,反映的是撰寫本文時可公開取得的資訊。 常見問題解答 如何使用 .NET 庫将水印添加到 PDF ? 您可以通過利用 IronPDF 的簡单 API 添加水印,支持帶有可自定义選項(如不透明度和旋轉)的文本和图像水印。 使用高级 .NET PDF 庫進行水印具有哪些优势? 类似 IronPDF 的高级 .NET PDF 庫提供了高级功能的簡便水印、与現代 .NET Framework的兼容性,以及其他功能,如 PDF 注释和 HTML 轉 PDF 轉换。 為何水印在 PDF 文檔中很重要? 水印對于文件安全、品牌和版本控制很重要。它有助于防止未经授權的复制,确保品牌一致性,并将文件標记為机密。 IronPDF 和 PDFsharp 在 PDF 水印方面有何区别? IronPDF 提供了更直观的 API,用最少的代碼實現簡便水印,而 PDFsharp 需要更多的手動操作和额外的代碼進行轉换和不透明度設置。 IronPDF 如何在 PDF 操作中相比于開源選項有所提升? IronPDF 提供了內置的高级功能,使得执行水印、注释和轉换等 PDF 操作更加簡便,而这在像 PDFsharp 这样的開源選項中需要更复杂的编碼。 使用 .NET 庫可以将哪些类型的水印添加到 PDF 中? 使用类似 IronPDF 的庫,您可以添加文本水印、图像水印和透明水印,并可選择自定义定位、不透明度和旋轉。 IronPDF 適合處理大容量 PDF 文檔嗎? 是的,IronPDF 针對高速處理進行了优化,能够高效地處理大量 PDF 文檔而不会出現性能問题。 選择高级和開源 .NET PDF 庫時應該考虑什么? 考虑易用性、可用功能、兼容性、性能和支持。类似 IronPDF 的高级庫提供了廣泛的功能和支持,而类似 PDFsharp 的開源庫虽免费但需要更复杂的编碼并且缺乏官方支持。 我可以使用 IronPDF 和 .NET Core 嗎? 是的,IronPDF 兼容 .NET 6+ 、 .NET Core 和 .NET Framework,使其適用于不同的開發环境。 IronPDF 除了水印之外还提供哪些附加功能? 除了水印, IronPDF 还支持 PDF 注释、 HTML 轉 PDF 轉换、數字签名等,提供了全面的 PDF 操作能力。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 更新2026年3月1日 在 ASP.NET MVC 中生成 PDF:iTextSharp vs IronPDF 指南 比較在 ASP.NET MVC 中使用 iTextSharp vs IronPDF 的 PDF 產生方法。發現哪個函式庫能提供更好的 HTML 呈現以及更容易的實作。 閱讀更多 更新2026年2月1日 Ghostscript GPL vs IronPDF:技術比較指南 探索 Ghostscript GPL 與 IronPDF 的主要差異。比較 AGPL 授權與商業授權、指令列開關與本機 .NET API,以及 HTML-to-PDF 功能。 閱讀更多 更新2026年3月1日 ASP PDF 庫:比較 IronPDF、Aspose 和 Syncfusion 發現適用於 ASP.NET Core 應用程式的最佳 PDF 庫。比較 IronPDF 的 Chrome 引擎與 Aspose 和 Syncfusion 的替代方案。 閱讀更多 發現.net中QuestPDF水印的最佳替代方案iTextSharp:將圖像添加到PDF中
更新2026年3月1日 在 ASP.NET MVC 中生成 PDF:iTextSharp vs IronPDF 指南 比較在 ASP.NET MVC 中使用 iTextSharp vs IronPDF 的 PDF 產生方法。發現哪個函式庫能提供更好的 HTML 呈現以及更容易的實作。 閱讀更多
更新2026年2月1日 Ghostscript GPL vs IronPDF:技術比較指南 探索 Ghostscript GPL 與 IronPDF 的主要差異。比較 AGPL 授權與商業授權、指令列開關與本機 .NET API,以及 HTML-to-PDF 功能。 閱讀更多
更新2026年3月1日 ASP PDF 庫:比較 IronPDF、Aspose 和 Syncfusion 發現適用於 ASP.NET Core 應用程式的最佳 PDF 庫。比較 IronPDF 的 Chrome 引擎與 Aspose 和 Syncfusion 的替代方案。 閱讀更多