IronPDF 和 PDFreactor 的比較
PDF(便攜式文件格式)文件是許多不同工作環境不可或缺的一部分,在製作發票或準備產品文件等任務中,它們往往是必不可少的。 然而,如今市面上有許多不同的 PDF 工具,那麼如何知道哪一款適合你呢? 今天,我們將比較 PDF 庫 PDFreactor 和IronPDF的功能、支援和授權模式。
IronPDF 和 PDFreactor 概述
IronPDF 是一個強大的 .NET 程式庫,旨在為 .NET 生態系統中所有與 PDF 相關的任務提供全面的解決方案。 它支援 HTML、CSS、JavaScript 和各種圖像格式,使其高度適用於基於 Web 的應用程式。 IronPDF 具有豐富的功能,包括 PDF 生成、編輯、簽名和加密,並與現代 .NET 框架完全集成,是 .NET 開發人員的一站式 PDF 解決方案。
另一方面,PDFreactor 是一款專業級的 HTML 轉 PDF 轉換器,擅長產生高品質的可列印 PDF 文件,常用於轉換資料驅動型文件、報告或資料表等文件。 它在處理複雜的 CSS 和 JavaScript 方面尤其強大,確保產生的 PDF 與原始網頁內容完全一致。 它因能夠輕鬆處理複雜的佈局和樣式而備受推崇,因此適用於出版業和其他需要精確控制 PDF 輸出的行業。
跨平台相容性
IronPDF:
IronPDF 支援多種平台,確保您可以在自己喜歡的環境中工作。 以下是其相容性分析:
- .NET 版本:
- C#、VB.NET、F#
- .NET Core(8、7、6、5 和 3.1+)
- .NET Standard (2.0+)
- .NET Framework (4.6.2+)
-應用環境: IronPDF 可在 Windows、Linux、Mac、Docker、Azure 和 AWS 等環境中運作。
-整合開發環境 (IDE):相容於 Microsoft Visual Studio 和 JetBrains Rider & ReSharper 等整合開發環境。
-作業系統和處理器:支援多種作業系統和處理器,包括 Windows、Mac、Linux、x64、x86 和 ARM。
更多信息,請訪問IronPDF 相容性頁面。
PDF反應器
- .NET 版本:
- .NET Core 2.1+
- .NET Framework 4.5+
-支援: HTML5、CSS3、JavaScript、Java、Python、Docker 映像、Node.js 等。
-作業系統:可在 Windows、Linux 和 macOS 作業系統以及 AWS 和 Azure 等雲端系統中運作。
主要功能對比:IronPDF 與 PDFreactor 的 PDF 功能對比
IronPDF 功能
HTML 轉 PDF 轉換: IronPDF 可以處理 HTML 轉 PDF 轉換,它完全支援現代網路標準,您可以放心,IronPDF 將始終從您的 HTML 內容返回像素完美的 PDF。
- PDF 文件轉換:需要將 HTML 以外的文件格式轉換為 PDF 格式嗎? IronPDF 支援多種不同文件格式的轉換,包括: DOCX 轉 PDF、RTF 轉 PDF、圖像轉 PDF、URL 轉 PDF,甚至 PDF 轉 HTML,所有這些都可以在保持所需文件結構的同時實現。
-安全功能:使用 IronPDF 的安全功能,您可以隨時確保任何敏感 PDF 檔案都是安全的。 使用 IronPDF 加密您的 PDF 文件、設定密碼並設定 PDF 文件的權限。
- PDF 編輯功能:使用 IronPDF,您可以輕鬆編輯 PDF 檔案。 IronPDF 提供編輯功能,例如新增頁首和頁尾、在 PDF 頁面上新增文字和影像、新增自訂浮水印、處理 PDF 表單以及合併 PDF 檔案。
有關 IronPDF 提供的功能的詳細功能信息,請訪問IronPDF 功能頁面。
PDF反應器 功能
- HTML 轉 PDF 轉換: PDFreactor 網路服務專門用於伺服器端將 HTML 轉換為 PDF,通常用於轉換動態資料驅動文件(如發票、表格、報告等)以及以電子方式分發複雜和高品質的 PDF。
-互動式支援:由於支援 JavaScript,PDFreactor 支援嵌入按鈕和表單等互動式元素,這些元素可以在 PDF 中保持其功能。
-高級佈局設計: PDFreactor 提供高級佈局和設計功能,例如控制頁面佈局、多列支援、向 PDF 添加元素、縮放和變換元素、添加頁眉和頁腳以及可自訂的頁面大小和方向。
Bootstrap 與現代 CSS 框架的兼容性
從現代 Web 應用程式產生 PDF 時,Bootstrap 和 CSS 框架的支援至關重要。 無需修改程式碼即可將 Bootstrap 樣式的網頁直接轉換為 PDF,這確保了設計的一致性,並顯著縮短了開發時間。
IronPDF:完全支援 Bootstrap 和 CSS 框架
Bootstrap 5:完整的 Flexbox 佈局引擎、CSS Grid、實用類別和所有元件系統
- Bootstrap 4:完整的卡片元件、導航元素、彈性佈局工具和響應式斷點 Tailwind CSS:所有實用優先的類別都能以瀏覽器精確度渲染。 -基礎:完整的網格系統和組件庫支持 現代CSS3: Flexbox、CSS Grid、自訂屬性、動畫、轉換與變換
實際驗證:IronPDF 能夠以像素級的精度成功渲染Bootstrap 主頁和所有官方範例。
程式碼範例:訂單追蹤儀錶板
using IronPdf;
// Set your IronPDF license key
IronPDF.License.LicenseKey = "License-Key goes here";
var renderer = new ChromePdfRenderer();
string bootstrapTracking = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card text-center bg-primary text-white h-100'>
<div class='card-body'>
<h3>Order Placed</h3>
<p class='mb-0'>April 20, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-info text-white h-100'>
<div class='card-body'>
<h3>Processing</h3>
<p class='mb-0'>April 21, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-light h-100'>
<div class='card-body'>
<h3 class='text-muted'>Delivered</h3>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</div>
</div>
</div>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-white'>
<h5 class='mb-0'>Shipping Timeline</h5>
</div>
<div class='card-body'>
<ul class='list-group list-group-flush'>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Confirmed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Payment Processed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Shipped</strong>
<p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
<small class='text-muted'>Tracking: TRK-9876543210</small>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-primary me-3'>→</span>
<div class='flex-grow-1'>
<strong>In Transit</strong>
<p class='mb-0 text-primary'>Currently en route to delivery location</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Out for Delivery</strong>
<p class='mb-0 text-muted'>Pending</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Delivered</strong>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</li>
</ul>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Order Details</h5>
</div>
<div class='card-body'>
<div class='table-responsive'>
<table class='table mb-0'>
<thead class='table-light'>
<tr>
<th>Item</th>
<th>Quantity</th>
<th class='text-end'>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Premium Widget Pro</strong></td>
<td>2</td>
<td class='text-end'>$199.98</td>
</tr>
<tr>
<td><strong>Standard Gadget</strong></td>
<td>1</td>
<td class='text-end'>$49.99</td>
</tr>
<tr>
<td colspan='2'><strong>Subtotal</strong></td>
<td class='text-end'><strong>$249.97</strong></td>
</tr>
<tr>
<td colspan='2'>Shipping</td>
<td class='text-end'>$12.50</td>
</tr>
<tr class='table-primary'>
<td colspan='2'><strong>Total</strong></td>
<td class='text-end'><strong>$262.47</strong></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapTracking);
pdf.SaveAs("order-tracking.pdf");using IronPdf;
// Set your IronPDF license key
IronPDF.License.LicenseKey = "License-Key goes here";
var renderer = new ChromePdfRenderer();
string bootstrapTracking = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card text-center bg-primary text-white h-100'>
<div class='card-body'>
<h3>Order Placed</h3>
<p class='mb-0'>April 20, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-info text-white h-100'>
<div class='card-body'>
<h3>Processing</h3>
<p class='mb-0'>April 21, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-light h-100'>
<div class='card-body'>
<h3 class='text-muted'>Delivered</h3>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</div>
</div>
</div>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-white'>
<h5 class='mb-0'>Shipping Timeline</h5>
</div>
<div class='card-body'>
<ul class='list-group list-group-flush'>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Confirmed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Payment Processed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Shipped</strong>
<p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
<small class='text-muted'>Tracking: TRK-9876543210</small>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-primary me-3'>→</span>
<div class='flex-grow-1'>
<strong>In Transit</strong>
<p class='mb-0 text-primary'>Currently en route to delivery location</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Out for Delivery</strong>
<p class='mb-0 text-muted'>Pending</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Delivered</strong>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</li>
</ul>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Order Details</h5>
</div>
<div class='card-body'>
<div class='table-responsive'>
<table class='table mb-0'>
<thead class='table-light'>
<tr>
<th>Item</th>
<th>Quantity</th>
<th class='text-end'>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Premium Widget Pro</strong></td>
<td>2</td>
<td class='text-end'>$199.98</td>
</tr>
<tr>
<td><strong>Standard Gadget</strong></td>
<td>1</td>
<td class='text-end'>$49.99</td>
</tr>
<tr>
<td colspan='2'><strong>Subtotal</strong></td>
<td class='text-end'><strong>$249.97</strong></td>
</tr>
<tr>
<td colspan='2'>Shipping</td>
<td class='text-end'>$12.50</td>
</tr>
<tr class='table-primary'>
<td colspan='2'><strong>Total</strong></td>
<td class='text-end'><strong>$262.47</strong></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapTracking);
pdf.SaveAs("order-tracking.pdf");輸出:專業的訂單追蹤 PDF,採用 Bootstrap 5 的網格系統、卡片組件、徽章、列表組、響應式表格和 flexbox 佈局——所有元素均以完美的顏色準確性和間距呈現。
PDF反應器:對 Bootstrap 有良好的支持,但依賴 Java
PDFreactor 使用 Prince XML 引擎,提供強大的 Bootstrap 支持,但也存在一些架構方面的限制:
-對 Bootstrap 4/5 的支援良好: Prince XML 對現代框架的處理相當不錯。
- Java 需求: PDFreactor 運行在 Java 平台上,這增加了 .NET 應用程式的部署複雜性。 -基於伺服器的架構:需要專用伺服器基礎設施 -許可模式:按伺服器許可,而不是按開發者許可
開發影響:雖然 PDFreactor 可以有效地處理 Bootstrap,但 Java 依賴項和伺服器要求增加了 .NET 團隊的維運複雜性,需要額外的基礎設施管理和跨平台協調。
有關 Bootstrap 框架和 CSS3 渲染功能的全面指導,請參閱Bootstrap 和 Flexbox CSS 指南。
IronPDF 與 PDFreactor 的主要功能比較
現在,讓我們仔細看看在使用 PDF 文件時可能會遇到的一些常見用例。 在本節中,我們將選取這些用例,並比較 IronPDF 和 PDFreactor 如何處理它們。
HTML 轉 PDF
IronPDF:
using IronPdf;
// Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");using IronPdf;
// Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");PDFreactor:
using System.IO;
using RealObjects.PDFreactor.Webservice.Client;
PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
Timeout = 0
};
var config = new Configuration
{
Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};
Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
FileMode.Create,
FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();using System.IO;
using RealObjects.PDFreactor.Webservice.Client;
PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
Timeout = 0
};
var config = new Configuration
{
Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};
Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
FileMode.Create,
FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();IronPDF利用ChromePdfRenderer並支援現代 Web 標準,從而提供高保真 PDF 文件。 使用 IronPDF 進行HTML 轉 PDF 轉換時,您可以從 HTML 文件、網頁等建立像素級完美的 PDF。 雖然 PDFreactor 以其 HTML 到 PDF 的轉換功能而自豪,並提供高品質的 PDF 文檔,但它採用的是更手動的方法,需要更多的程式碼行。
有關使用 IronPDF 進行 HTML 到 PDF 轉換的更多範例,請造訪IronPDF HTML 到 PDF 。
PDF文檔加密
IronPDF:
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");PDFreactor:
由於 PDFreactor 主要以 HTML 轉 PDF 轉換工具而聞名,因此它不提供任何內建的 PDF 加密支援。
IronPDF 透過清晰的 C# 方法簡化了 PDF 加密,並提供了一個簡單且強大的PDF 加密工具。 使用 IronPDF,您可以完全控制整個流程,甚至包括設定安全設定。 使用 PDFreactor 時,您需要找到一個可以處理 PDF 加密任務的第三方程式庫,因為 PDFreactor 目前不支援該任務。
如需更多加密範例,請造訪 IronPDF 的相關主題操作指南。
編輯 PDF 內容
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");PDFreactor:
PDFreactor 不直接支援編輯,因為它的功能集更專注於從 HTML 內容產生 PDF 文件和設計這些 PDF。
IronPDF 為您提供簡潔易用的編輯工具,只需幾行程式碼即可編輯 PDF 文件中的內容。 然而,PDFreactor 並未提供任何內建的編輯工具。
簽署PDF文件
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");PDFreactor:
PDFreactor 不直接支援數位簽章。
IronPDF 的數位簽章功能為您提供了一個簡單直接的方式來自動簽署 PDF 檔案。 然而,PDFreactor 並未提供對 PDF 文件應用數位簽章的任何支援。
有關如何使用 IronPDF 將數位簽名應用於 PDF 文件的更多信息,請訪問該工具的操作指南。
在PDF頁面上新增浮水印
IronPDF:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");PDFreactor:
PDFreactor 不支援直接添加浮水印。
IronPDF 內建的浮水印工具利用 HTML 和 CSS,提供了一種簡單的方法,可以將浮水印應用到 PDF 頁面,同時讓您完全控制整個過程,而這一切只需幾行程式碼即可完成。
想了解更多關於 IronPDF 浮水印工具的資訊嗎? 請造訪我們提供的關於此工具的實用操作指南!
在PDF文件上新增圖像和文字
IronPDF:
using IronPdf;
using IronPdf.Editing;
using System;
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");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/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;
using System;
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");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");PDFreactor:
PDFreactor 不支援直接新增戳記。
IronPDF 提供了一個強大的工具,可以將文字和圖像添加到 PDF 文件中。 透過與 HTML 和 CSS 非常相似的技術,您可以完全控製印章過程。 然而,PDFreactor 並未提供任何內建的沖壓工具。
如果您想了解更多關於 IronPDF 的圖像和文字加蓋工具的信息,請務必訪問我們的操作指南。
DOCX 轉 PDF 轉換
IronPDF:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");PDFreactor:
PDFreactor 不支援直接將 DOCX 轉換為 PDF,因為它的主要重點是將 HTML 轉換為 PDF。
使用 IronPDF,您可以利用其簡潔易用的 DOCX 轉換工具轉換 DOCX 檔案。 使用 PDFreactor 時,您需要安裝一個 DOCX 到 PDF 的轉換庫來處理轉換,因為 PDFreactor 本身不支援這種轉換。
如需更詳細了解 IronPDF 的 DOCX 轉 PDF 轉換工具,請造訪相關的實用操作指南。
功能對比總結

有關詳細的程式碼範例,請造訪IronPDF 程式碼範例頁面。
定價與授權:IronPDF 與 PDFreactor
IronPDF
IronPDF提供不同等級的許可證和附加功能供用戶購買。 開發者還可以購買Iron Suite ,只需兩份產品的價格即可獲得 Iron Software 的所有產品。 如果您尚未準備好購買許可證,IronPDF 提供 30 天的免費試用期。
-永久許可證:根據您的團隊規模、專案需求和地點數量,提供一系列永久許可證。 每種許可證類型都包含電子郵件支援服務。
- Lite 許可證:此許可證價格為$799 ,支援一名開發者、一個地點和一個專案。
- Plus 授權:支援三個開發者、三個地點和三個項目,這是比精簡版授權更進一步的版本,價格為$1,199 。 Plus 許可證除了提供基本的電子郵件支援外,還提供聊天支援和電話支援。 -專業許可證:此許可證適用於較大的團隊,支援十名開發人員、十個地點和十個項目,價格為$2,399 。 它提供與前幾個層級相同的聯絡支援管道,但也提供螢幕共享支援。 -免版稅再分發: IronPDF 的授權協議還提供免版稅再分發保障,需額外支付$2,399費用。 -不間斷的產品支援: IronPDF 提供持續的產品更新、安全功能升級以及來自其工程團隊的支持,您可以選擇每年支付$1,199或一次性購買$2,399以獲得 5 年的保障。
- Iron Suite:只需$1,498 ,即可存取所有 Iron Software 產品,包括 IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint 和 IronWebScraper。

PDF反應器
- CPU 授權:這是 PDFreactor 的基本費用,定價為 2,950 美元,最多支援 4 個 CPU 代碼,並包含第一年的支援和維護。
-附加元件:除了許可證之外,PDFreactor 還提供以下附加元件: 柵格影像輸出附加元件、一年支援和維護延期以及 CPU 授權升級。
文件和支援:IronPDF 與 PDFreactor
IronPDF
IronPDF 在提供全面的文件和支援方面表現出色:
-全面的文件:涵蓋所有功能的詳盡且用戶友好的文件。
- 24/5 支援:提供線上工程師支援。 -影片教學: YouTube 上提供逐步影片指南。 -社群論壇:活躍的社群成員可獲得更多支援。 -定期更新:每月進行產品更新,以確保最新功能和安全性修補程式。
有關更多信息,請查看 IronPDF 的詳細文檔,並訪問Iron Software 的 YouTube 頻道。
PDF反應器
1.詳細文件:涵蓋 HTML 到 PDF 轉換的各個面向。 2.電子郵件支援:可解答技術和授權相關問題。 3.社群論壇:與其他使用者和開發者互動。 4.知識庫:存取文章和故障排除指南。 5.專業服務:為複雜的實施提供付費支援。
結論
在 HTML 轉 PDF 方面,IronPDF 和 PDFreactor 都是強大的競爭者,它們都完全能夠從 HTML 內容建立 PDF 文件。 但是,如果您正在尋找能夠處理更複雜任務(例如加密、添加浮水印以及將 HTML 以外的文件類型轉換為 PDF)的 PDF 工具,那麼 IronPDF 就是您的理想之選。
IronPDF 功能豐富,相容於現代 .NET 框架,並提供出色的支持,是一款功能強大的工具,值得您擁有。 PDFreactor 雖然在其細分領域功能強大,但缺乏 IronPDF 提供的一些高級功能和靈活性。
您可以嘗試30 天免費試用,以了解其可用功能。
常見問題解答
如何在C#中將HTML轉換為PDF?
您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。您也可以使用RenderHtmlFileAsPdf將 HTML 檔案轉換為 PDF。
IronPDF 和 PDFreactor 的主要差異是什麼?
IronPDF 提供豐富的功能,例如 PDF 生成、編輯、簽名和加密,並強大支援 HTML、CSS、JavaScript 和各種圖像格式。 PDFreactor 專注於高品質的 HTML 轉 PDF 轉換,尤其擅長處理複雜的 CSS 和 JavaScript,產生可用於列印的 PDF 檔案。
IronPDF 可以在多個平台上使用嗎?
是的,IronPDF 支援多種平台,包括 Windows、Linux、macOS、Docker、Azure 和 AWS。它相容於各種 .NET 版本,例如 .NET Core、.NET Standard 和 .NET Framework。
IronPDF 是否提供在 PDF 文件中新增數位簽章的功能?
是的,IronPDF 提供了一種簡單的方法,可以使用其數位簽章功能將數位簽章套用至 PDF 檔案。
IronPDF 用戶可以獲得哪些支援選項?
IronPDF 提供全面的支持,包括豐富的文件、24/5 工程師支援、影片教學、社群論壇和定期更新,以幫助使用者。
IronPDF提供哪些類型的許可證?
IronPDF 提供多種授權選項,包括永久授權和套件選項,並提供電子郵件支援和免版稅再分發等好處。
IronPDF 如何處理 PDF 中複雜的 CSS 和 JavaScript?
IronPDF 支援 PDF 中的複雜 CSS 和 JavaScript,使其成為產生具有複雜設計和互動元素的 Web 文件的理想選擇。
是否可以使用 IronPDF 對 PDF 文件進行加密?
是的,IronPDF 提供內建的 PDF 加密支持,讓您可以使用強大的密碼保護來保護您的文件。
IronPDF除了HTML還有哪些轉換功能?
IronPDF 支援將各種文件格式(如 DOCX、RTF 和影像)轉換為 PDF,同時保持所需的文件結構。
IronPDF 能否在 PDF 文件上新增浮水印和印章?
是的,IronPDF 允許使用者使用 HTML 和 CSS 為 PDF 文件添加浮水印和印章,從而完全控制其外觀。






