跳過到頁腳內容
產品比較

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#、 .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");
$vbLabelText   $csharpLabel

輸出:專業的訂單追蹤 PDF,採用 Bootstrap 5 的網格系統、卡片組件、徽章、列表組、響應式表格和 flexbox 佈局——所有元素均以完美的顏色準確性和間距呈現。

PDF反應器:對 Java 依賴項有良好的 Bootstrap 支持

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");
$vbLabelText   $csharpLabel

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();
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

PDFreactor:

PDFreactor 不支援直接將 DOCX 轉換為 PDF,因為它的主要重點是將 HTML 轉換為 PDF。

使用IronPDF,您可以利用其簡潔易用的 DOCX 轉換工具轉換 DOCX 檔案。 使用 PDFreactor 時,您需要安裝一個 DOCX 到 PDF 的轉換庫來處理轉換,因為 PDFreactor 本身不支援這種轉換。

如需更詳細了解 IronPDF 的 DOCX 轉 PDF 轉換工具,請造訪相關的實用操作指南

功能對比總結

Pdfreactor Html To Pdf Alternative 1 related to 功能對比總結

有關詳細的程式碼範例,請造訪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。

Pdfreactor Html To Pdf Alternative 2 related to IronPDF

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 天免費試用,以了解其可用功能。

請注意PDFreactor 是其各自所有者的註冊商標。 本網站與 PDFreactor 無任何關聯,也未獲得其認可或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,反映的是撰寫本文時可公開取得的資訊。

常見問題解答

怎樣在 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 支持將多種文件格式轉換為 PDF,如 DOCX、RTF 和圖像,同時保持所需的文檔結構。

IronPDF 可以對 PDF 文件應用水印和印章嗎?

可以,IronPDF 允許用戶使用 HTML 和 CSS 向 PDF 文檔添加水印和印章,賦予完全的外觀控制。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me