跳過到頁腳內容
產品比較

ActivePDF vs IronPDF:HTML到PDF教程和全面對比

IronPDF 和 ActivePDF 在 .NET 中的 PDF 生成比較如何?

IronPDF 提供一個整合的 PDF 解決方案,搭配 Chrome 為基礎的渲染和直觀的 API 設計,而 ActivePDF 提供的則是需要單獨授權的模組化企業元件。 IronPDF 在支持現代網頁標準、跨平台部署以及成本效益方面對大多數 .NET 開發情境表現優越。

當開發者需要在其 .NET 應用程式中可靠的 PDF 生成能力 時,通常會有兩個突出的解決方案:IronPDF 和 ActivePDF。 這兩個程式庫都提供有效的功能來 創建轉換操作 PDF 文件,但在方法、定價和實施複雜性上有顯著不同。

IronPDF 以其直觀的 API 設計 和使用 Chrome 渲染引擎的完整 HTML 轉 PDF 轉換而脫穎而出,而 ActivePDF 則透過多個專門元件(如 WebGrabber 處理 HTML 轉換DocConverter 處理 文件轉換)提供企業解決方案。 本文提供深入的比較,以幫助開發人員為其 PDF 處理需求做出明智的決定。

產品比較概述
IronPDF 和 ActivePDF 的 .NET 開發比較
類別 功能/方面 IronPDF ActivePDF 關鍵優勢
**核心架構** 設計理念 整合的程式庫,對開發者友好 模組化元件,以企業為重點 IronPDF:更簡單的集成
API複雜性 Intuitive methods like ``RenderHtmlAsPdf`()` 元件特定的 API IronPDF:更少的代碼行
學習曲線 通常1-2天 1-2 周典型 IronPDF:更快採用
**平台支持** 跨平台 Windows、Linux、macOS、Docker 主要是 Windows Server IronPDF:真正跨平台
.NET版本 .NET 10、9、8、7、6、5、Core、Framework 4.6.2+ .NET Framework 4.5+、Core 1.0、Standard 1.0 IronPDF:現代 .NET 支持
雲平台 適用於 Azure、AWS、Google Cloud 有限的雲支持 IronPDF:雲原生准備
**HTML到PDF** 渲染引擎 Chrome V8 引擎 本機和 IE 引擎 IronPDF:現代渲染
CSS3/HTML5支持 完全支持 部分支持 IronPDF:現代網頁標準
JavaScript執行 完整的 JavaScript 支持 有限的 JavaScript 支持 IronPDF:動態內容
網頁字體 Google 字體、系統字體 僅系統字體 IronPDF:字體靈活性
**文件轉換** 支持的格式 HTML、DOCX、圖片、RTF、MD 300+ formats (`DocConverter`) ActivePDF:更多格式
DOCX 轉 PDF Built-in ``DocxToPdfRenderer`` 本機 Office 轉換 ActivePDF:更好的保真度
批量處理 程式化的方法 支持監控文件夾 ActivePDF:企業自動化
**性能** HTML 渲染速度 125ms 典型,835ms 複雜 引擎變數 IronPDF:一致的性能
記憶體使用 小於 10MB 典型 以服務為基礎的開銷 IronPDF:較小的佔用空間
執行緒支持 本機 async/await 優化 多執行緒服務 IronPDF:更好的 .NET 集成
**PDF 功能** 表單處理 創建、填寫、扁平化表單 高級表單功能(工具包) ActivePDF:複雜的表單
PDF/A 合規 支持 PDF/A-3B 多個 PDF/A 級別 ActivePDF:更多合規選項
OCR 功能 透過 IronOCR 集成 專用的 OCR 元件 兩者:可用的解決方案
數位簽章 集成的、可視化簽章 高級簽章選項 ActivePDF:企業簽章
**開發者體驗** 文檔 完整的教程,示例 傳統的 API 文件 IronPDF:更好的學習資源
代碼示例 超過100個可運行樣本 GitHub 上的基本示例 IronPDF:廣泛的資源
錯誤消息 描述性,可操作的 服務級別消息 IronPDF:更好的調試
**Licensing & Pricing** 入門級 Lite: $799 (1 dev, 1 project) `WebGrabber`: $2,499+ per component IronPDF:入口價格低 70%
Team License Professional: $2,399 (10 devs) 需要多個元件 IronPDF:全包
套件選項 Iron Suite: $1,498 (9 products) 無套件選擇 IronPDF:卓越的價值
**支持** 包括支持 是的,24/5工程支持 支持門戶訪問 IronPDF:直接的工程支持
響應時間 通常24-48小時 根據問題而定 IronPDF:預測性的 SLA
**最佳使用情境** 使用案件 現代網頁應用,快速開發 企業自動化,舊系統 依情況而異
專案類型 SaaS、網頁應用程序、微服務 文件管理,批處理 根據要求
*注意。* 比較基於截至 2025 年的當前版本。ActivePDF 提供針對特定企業需求的模組化元件,而 IronPDF 提供了一體化解決方案。ActivePDF 的定價根據元件選擇有顯著差異。
## 將 IronPDF 與 ActivePDF 元件進行比較
  • 獲取 IronPDF C# PDF 程式庫
  • 比較 IronPDF 和 ActivePDF 的功能
  • 比較 URL 到 PDF 的代碼
  • 比較 HTML 字串到 PDF 的代碼
  • 比較授權、免費軟體選項等

概述

什麼是 IronPDF C# 程式庫?

Iron Software 是市場領先的組件提供商,提供IronPDF 用於完整的PDF 操作。 IronPDF 提供完整的解決方案,可以從多種格式生成PDF 文件,同時提供對文件屬性的完全程式化控制。 開發者偏愛 IronPDF,因為其輸出穩定可靠,API 語法具直觀性,代碼需求最少,特別是用於現代網頁標準JavaScript 框架時。

IronPDF 支持C#VB.NETASP.NET、MVC、.NET Core、.NET 9、.NET 10。無縫運行於WindowsLinuxmacOSDockerAzureAWS及其他雲平台

什麼是 ActivePDF 元件?

ActivePDF(現為 Apryse 的一部分)透過多個專業元件提供企業專注的 PDF 方案。 不同於 IronPDF 的統一方法,ActivePDF 針對不同的PDF 任務提供分別的產品,需要仔細考慮授權選項企業部署策略。

什麼是 ActivePDF WebGrabber 用於 HTML 到 PDF 轉換?

ActivePDF WebGrabber專門設計用於將HTML 源碼(URL、HTML 文件或HTML 字串)轉換為PDF 格式。 它為頁面屬性提供配置選項,包括頁眉頁腳邊距水印書籤WebGrabber 支持本機和 Internet Explorer 的渲染引擎

什麼是 ActivePDF DocConverter 用於文件轉換?

ActivePDF DocConverter處理 300 多種文件格式的轉換為 PDF,包括Microsoft Office 文件圖片、CAD 文件等。 它具備監控文件夾自動化、批處理能力以及企業級的文件管理功能。

現代 CSS 框架如 Bootstrap 在 PDF 中如何渲染?

現代網頁應用越來越依賴CSS 框架如 Bootstrap、Foundation 和 Tailwind CSS 來進行一致的、響應式的 UI 開發。 PDF 生成程式庫必須準確渲染這些框架,以保證專業的文件質量和設計保真度。 了解每個程式庫如何處理響應式 CSS和現代網頁字體,對於選擇合適的解決方案至關重要。

IronPDF 如何處理 Bootstrap 和現代框架支持?

IronPDF 的Chromium 渲染引擎確保對所有現代 CSS 框架和規範的完整支持,實現像素級精準渲染

  • Bootstrap 5:全面支持 flexbox 和 CSS 網格渲染,具有響應式工具
  • Bootstrap 4:完整的卡片系統、導航元件和表單佈局
  • Tailwind CSS:所有實用至上(Utility-first)類和響應式變種正確渲染
  • Foundation:完整的網格和元件系統支持
  • 現代 CSS3:支持 flexbox、CSS 網格、自定義屬性、動畫、過渡和變換
  • JavaScript 執行:完全支持動態內容和框架交互

經過生產環境示例驗證: Bootstrap 首頁官方模板 使用IronPDF 的渲染選項 進行轉換,保留了瀏覽器準確的保真度。

代碼示例:使用 Bootstrap 的服務定價表

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapPricing = @"
<!DOCTYPE html>
<html>
<head>
    <link href='___PROTECTED_URL_198___ rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Service Plans</h1>

        <div class='row g-4'>
            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-light text-center py-3'>
                        <h3>Starter</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$29</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 100 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Basic templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Email support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 5 GB storage</li>
                            <li class='mb-2 text-muted'><i class='bi bi-x-circle'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-outline-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow border-primary'>
                    <div class='position-absolute top-0 start-50 translate-middle'>
                        <span class='badge bg-primary'>Most Popular</span>
                    </div>
                    <div class='card-header bg-primary text-white text-center py-3'>
                        <h3>Professional</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$99</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 1,000 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Premium templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 50 GB storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-dark text-white text-center py-3'>
                        <h3>Enterprise</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$299</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited conversions</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Custom templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Dedicated support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> SLA guarantee</li>
                        </ul>
                        <button class='btn btn-dark w-100 mt-auto'>Contact Sales</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapPricing);
pdf.SaveAs("pricing-table.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapPricing = @"
<!DOCTYPE html>
<html>
<head>
    <link href='___PROTECTED_URL_198___ rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Service Plans</h1>

        <div class='row g-4'>
            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-light text-center py-3'>
                        <h3>Starter</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$29</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 100 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Basic templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Email support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 5 GB storage</li>
                            <li class='mb-2 text-muted'><i class='bi bi-x-circle'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-outline-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow border-primary'>
                    <div class='position-absolute top-0 start-50 translate-middle'>
                        <span class='badge bg-primary'>Most Popular</span>
                    </div>
                    <div class='card-header bg-primary text-white text-center py-3'>
                        <h3>Professional</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$99</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 1,000 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Premium templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 50 GB storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-dark text-white text-center py-3'>
                        <h3>Enterprise</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$299</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited conversions</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Custom templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Dedicated support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> SLA guarantee</li>
                        </ul>
                        <button class='btn btn-dark w-100 mt-auto'>Contact Sales</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapPricing);
pdf.SaveAs("pricing-table.pdf");
$vbLabelText   $csharpLabel

輸出:一個專業的定價表,其中完全保留了 Bootstrap 的卡片網格、flexbox 佈局、標籤定位和響應式工具—所有這些都在 PDF 中準確保留。

ActivePDF WebGrabber 在現代框架支持方面有何限制?

ActivePDF WebGrabber 提供 HTML 到 PDF 的轉換,但使用舊的渲染引擎,在現代 CSS 框架中有顯著的限制:

  • 本機引擎:自定義渲染,支持有限的 CSS3
  • Internet Explorer 引擎:舊版 IE 渲染,無現代 CSS 功能
  • 不支持 Bootstrap 4/5:不支持 Flexbox 和 CSS 網格功能
  • Bootstrap 3 的限制:僅表格佈局可靠
  • JavaScript 限制:相比現代瀏覽器 JavaScript 執行有限
  • 需要解決方法:複雜的 Bootstrap 元件需要進行顯著的 CSS 修改

開發者常報導的問題:

  • Bootstаp 導航欄渲染出現佈局問題
  • 無法正確顯示 Flexbox 的卡片元件
  • 在 PDF 輸出中響應式網格系統崩潰
  • 需要簡化或重寫 Bootstrap 元件才能兼容

開發影響:建於現代 Bootstrap 版本 (4+) 的應用在使用 ActivePDF WebGrabber 時需要大量額外工作。 團隊必須選擇以下之一:

  1. 保持並行的簡化 CSS 備用,以供 PDF 生成之用(雙重維護負擔)
  2. 將網頁 UI 限定於 Bootstrap 3 或更早版本(犧牲現代響應功能)
  3. 手動測試並修復每個 Bootstrap 元件(耗時且易出錯)

對於大量使用 Bootstrap 或現代 CSS 框架的專案,ActivePDF WebGrabber 的渲染限制可能會大大增加開發成本,並降低設計靈活性。 考慮使用IronPDF 的 Chrome 渲染器 以進行準確的 Bootstrap 渲染。

有關完整的 Bootstrap 框架兼容性指導,請參見 Bootstrap & Flexbox CSS 指南

為什麼開發者選擇 IronPDF 而不是 ActivePDF?

IronPDF 的渲染速度在 835 毫秒內完成靜態網站的 HTML 到 PDF 轉換,為不同內容類型提供一致的性能。該程式庫在內存使用方面已被優化,通常使用不到 10MB,當渲染頁眉和頁腳時,內存使用降低 75%。

開發者欣賞 IronPDF 的API 設計直觀,只需三行代碼即可實現PDF 生成,相較於 ActivePDF 複雜的多步驟過程。 完整的文件包括超過 100 個代碼示例和詳細的教程,使團對能夠快速啟動具有強大功能的功能,如異步 PDF 生成批處理

哪些情況下 ActivePDF 可能是更好的選擇?

ActivePDF 在需要的企業環境中表現出色:

  • 具有監控文件夾的批處理自動化
  • 支持 300 多種文件格式轉換(經由 DocConverter
  • 在 Windows 服務器上集成舊系統
  • 高級表單欄位操作和 XFA 表單支持
  • 多重PDF/A 合規級別以滿足歸檔要求

擁有現有的 ActivePDF 基礎設施或特定企業工作流程需求的組織可能會發現 ActivePDF 的模組化方法有益,儘管比起IronPDF 的功能來說,它的成本和複雜性更高。


比較

ActivePDF 與 IronPDF 機能怎樣比較 ?

哪個程式庫提供更好的 HTML 到 PDF 轉換能力?

IronPDF 使用完整的Chrome V8 渲染引擎,提供超過 98% 的瀏覽器保真度,完全支持HTML5CSS3JavaScript網頁字體。 ActivePDF WebGrabber 提供本機和 Internet Explorer 引擎,但 JavaScript 執行和CSS3 支持有限。 本機引擎不支持 CSS 樣式表,而 IE 引擎依賴於已停產的 Internet Explorer 11,缺乏現代網頁標準如CSS 網格flexbox 佈局

這些程式庫在文件格式支持上怎麼樣?

IronPDF 聚焦於常見格式(HTMLDOCX圖片RTF標記),而 ActivePDF DocConverter 支持超過 300 種文件格式,包括 CAD 文件、遺留文件格式和專門的企業格式。 這使得 ActivePDF 更適合處理不同文件類型的組織,儘管IronPDF 的轉換功能涵蓋了現代應用中最常用的格式。

關於 PDF 操作功能?

這兩個程式庫都提供完整的PDF 操作能力

IronPDF 提供:

ActivePDF 提供:

  • 高級表單欄位操作(透過工具包)
  • 對 PDF 內部的更細化控制
  • 企業級的編輯功能
  • 多重PDF/A 合規級別
  • 適用於特定任務的專用元件

步驟1:安裝

如何安裝 IronPDF?

我應該使用哪種安裝方法來安裝 IronPDF?

開發者可以通過多種方法安裝 IronPDF,以NuGet Package Manager 為最便利:

NuGet Package Manager

在 Visual Studio 中打開 NuGet Package Manager 並搜索 IronPDF:

:InstallCmd
:InstallCmd
SHELL

手動下載 IronPDF.dll

或者,下載 IronPDF.dll 並使用手動安裝方法參考將其添加到專案中。

安裝完成後,通過添加來驗證訪問權限:

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

IronPDF 支持.NET 9 和 10,以及所有現代 .NET 版本,包括CoreStandardFramework 4.6.2+。 有關特定平台安裝,請參閱LinuxmacOSDockerAzureAWS 的指南。


如何安裝 ActivePDF 元件?

如何安裝 ActivePDF WebGrabber

ActivePDF WebGrabber 需要更複雜的安裝過程:

  1. 從 ActivePDF 網站下載安裝程序
  2. 從 ActivePDF 銷售部門申請許可鑰匙(可提供評估鑰匙)
  3. 以管理員權限運行安裝程序
  4. 安裝過程中配置 WebGrabber 服務
  5. 對於 Windows Server 2012+,為該服務創建專用用戶帳戶

安裝完成後,從以下位置添加 WebGrabber 參考: C:\Program Files\ActivePDF\WebGrabber\bin\APWebGrabber.Net45.dll

如何安裝 ActivePDF DocConverter

DocConverter 遵循類似的安裝模式:

  1. 下載 DocConverter 安裝程序
  2. 以管理員權限安裝
  3. 如果使用拖放轉換,請配置監控文件夾
  4. 設置批處理的配置管理器

注意:ActivePDF 元件需要 Windows Server 且不支持跨平台部署,如同 IronPDF 一樣。 對於現代部署場景,請考慮IronPDF 的容器化選項雲原生支持


教程

如何將 HTML 字串轉換為 PDF 文件?

讓我們比較這兩個程式庫如何處理常見任務:將HTML 字串轉換為 PDF 文件

IronPDF 如何將 HTML 字串轉換為 PDF?

/**
 * HTML String to PDF
 * anchor-html-string-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";

    // Convert HTML string to PDF file
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Save the file
    pdf.SaveAs("E:/sample.pdf");
}
/**
 * HTML String to PDF
 * anchor-html-string-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";

    // Convert HTML string to PDF file
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Save the file
    pdf.SaveAs("E:/sample.pdf");
}
$vbLabelText   $csharpLabel

IronPDF 方法的主要優勢:

  • 僅需 3 行代碼即可進行轉換
  • 自動處理編碼和渲染
  • 內建的Chrome 引擎可確保準確渲染
  • 無需單獨的文件路徑和名稱配置

ActivePDF WebGrabber 怎樣將 HTML 字串轉換為 PDF?

using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";

    // Assign source HTML to WebGrabber
    wg.CreateFromHTMLText = html;

    // Specify file directory
    wg.OutputDirectory = "E:/";

    // File name
    wg.NewDocumentName = "sample.pdf";

    // Convert source HTML to PDF file
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";

    // Assign source HTML to WebGrabber
    wg.CreateFromHTMLText = html;

    // Specify file directory
    wg.OutputDirectory = "E:/";

    // File name
    wg.NewDocumentName = "sample.pdf";

    // Convert source HTML to PDF file
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

這兩個程式庫如何處理具有 CSS 樣式的先進 HTML?

該示例顯示了這兩個程式庫如何處理具有CSS 樣式的更複雜的 HTML:

IronPDF 的高級示例:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string advancedHtml = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .invoice { border: 1px solid #ccc; padding: 20px; }
            .header { background-color: #f0f0f0; padding: 10px; }
        </style>
    </head>
    <body>
        <div class='invoice'>
            <div class='header'>
                <h1>Invoice #12345</h1>
            </div>
            <form>
                <input type='text' name='customer' placeholder='Customer Name'>
            </form>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(advancedHtml);
pdf.SaveAs("advanced-invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string advancedHtml = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .invoice { border: 1px solid #ccc; padding: 20px; }
            .header { background-color: #f0f0f0; padding: 10px; }
        </style>
    </head>
    <body>
        <div class='invoice'>
            <div class='header'>
                <h1>Invoice #12345</h1>
            </div>
            <form>
                <input type='text' name='customer' placeholder='Customer Name'>
            </form>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(advancedHtml);
pdf.SaveAs("advanced-invoice.pdf");
$vbLabelText   $csharpLabel

ChromePdfRenderer 類提供對渲染過程的廣泛控制,包括CSS 媒體類型選擇、背景渲染和從 HTML 輸入元素自動創建表單欄位


如何將 HTML 文件轉換為 PDF 文件?

IronPDF 如何將 HTML 文件轉換為 PDF?

/**
 * HTML File to PDF
 * anchor-html-file-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Render HTML file to PDF
    var pdf = renderer.RenderHtmlFileAsPdf("E:/myHtmlFile.html");

    // Save to target location
    pdf.SaveAs("E:/Sample.pdf");
}
/**
 * HTML File to PDF
 * anchor-html-file-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Render HTML file to PDF
    var pdf = renderer.RenderHtmlFileAsPdf("E:/myHtmlFile.html");

    // Save to target location
    pdf.SaveAs("E:/Sample.pdf");
}
$vbLabelText   $csharpLabel

IronPDF 自動處理:

ActivePDF WebGrabber 如何將 HTML 文件轉換為 PDF?

using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify file path to be converted
    wg.URL = "E:/myHtmlFile.html";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Newly generated file name
    wg.NewDocumentName = "Sample.pdf";

    // Convert HTML file to PDF
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify file path to be converted
    wg.URL = "E:/myHtmlFile.html";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Newly generated file name
    wg.NewDocumentName = "Sample.pdf";

    // Convert HTML file to PDF
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

請注意,ActivePDF WebGrabber 使用 URL 屬性用於本地文件,這可能會令開發者對期望的文件特定方法感到困惑。 有關更直觀的文件處理,請參見IronPDF 的 HTML 文件轉換指南


如何將 URL 轉換為 PDF 文件?

IronPDF 如何將 URL 轉換為 PDF?

/**
 * URL to PDF
 * anchor-url-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Specify URL
    var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_199___");

    // Save the file
    pdf.SaveAs("E:/Sample.pdf");
}
/**
 * URL to PDF
 * anchor-url-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Specify URL
    var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_199___");

    // Save the file
    pdf.SaveAs("E:/Sample.pdf");
}
$vbLabelText   $csharpLabel

如何使用 IronPDF 處理異步 URL 轉換?

IronPDF 提供出色的異步支持以提高性能:

using IronPdf;
using System.Threading.Tasks;

static async Task Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure for complex pages
    renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
    renderer.RenderingOptions.WaitFor.JavaScript(1500); // Wait for JS

    // Async conversion
    var pdf = await renderer.RenderUrlAsPdfAsync("___PROTECTED_URL_200___");
    await pdf.SaveAsAsync("E:/async-sample.pdf");
}
using IronPdf;
using System.Threading.Tasks;

static async Task Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure for complex pages
    renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
    renderer.RenderingOptions.WaitFor.JavaScript(1500); // Wait for JS

    // Async conversion
    var pdf = await renderer.RenderUrlAsPdfAsync("___PROTECTED_URL_200___");
    await pdf.SaveAsAsync("E:/async-sample.pdf");
}
$vbLabelText   $csharpLabel

WaitFor 類 提供對渲染時機的精確控制,這對於JavaScript 密集型應用至關重要。 開發人員可以通過網絡空閒狀態或使用JavaScript 消息監聽器等自定義事件來等待特定元素。

ActivePDF WebGrabber 如何將 URL 轉換為 PDF?

using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify URL 
    wg.URL = "___PROTECTED_URL_201___";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Specify file name
    wg.NewDocumentName = "Sample.pdf";

    // Set timeout for conversion
    wg.TimeoutSpan = new TimeSpan(0, 0, 30);

    // Convert specified URL webpage to PDF
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify URL 
    wg.URL = "___PROTECTED_URL_201___";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Specify file name
    wg.NewDocumentName = "Sample.pdf";

    // Set timeout for conversion
    wg.TimeoutSpan = new TimeSpan(0, 0, 30);

    // Convert specified URL webpage to PDF
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

有關更高級的 URL 轉換場景,包括身份驗證自定義標頭,請參見IronPDF 的 URL 至 PDF 指南


如何在 PDF 上創建水印?

IronPDF 如何處理水印?

IronPDF 提供通過 HTML/CSS 的靈活的水印處理

/**
 * Watermark PDF
 * anchor-watermark-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Source HTML string
    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";

    // Create PDF
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Apply watermark with HTML/CSS
    pdf.ApplyWatermark("<h2 style='color:red; opacity:0.5'>CONFIDENTIAL</h2>", 
        rotation: 30, 
        opacity: 50);

    // Save the document
    pdf.SaveAs("E:/Sample.pdf");
}
/**
 * Watermark PDF
 * anchor-watermark-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Source HTML string
    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";

    // Create PDF
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Apply watermark with HTML/CSS
    pdf.ApplyWatermark("<h2 style='color:red; opacity:0.5'>CONFIDENTIAL</h2>", 
        rotation: 30, 
        opacity: 50);

    // Save the document
    pdf.SaveAs("E:/Sample.pdf");
}
$vbLabelText   $csharpLabel

使用 IronPDF 的高級水印功能:

// Image watermark
pdf.ApplyWatermark($@"<img src='logo.png' style='width:200px'>", 
    rotation: 0, 
    opacity: 30, 
    verticalAlignment: VerticalAlignment.Middle);

// Complex HTML watermark with positioning
string complexWatermark = @"
    <div style='text-align:center; font-family:Arial'>
        <h1 style='color:#ff0000'>DRAFT</h1>
        <p>Generated: " + DateTime.Now.ToString() + @"</p>
    </div>";

pdf.ApplyWatermark(complexWatermark, rotation: 45, opacity: 25);
// Image watermark
pdf.ApplyWatermark($@"<img src='logo.png' style='width:200px'>", 
    rotation: 0, 
    opacity: 30, 
    verticalAlignment: VerticalAlignment.Middle);

// Complex HTML watermark with positioning
string complexWatermark = @"
    <div style='text-align:center; font-family:Arial'>
        <h1 style='color:#ff0000'>DRAFT</h1>
        <p>Generated: " + DateTime.Now.ToString() + @"</p>
    </div>";

pdf.ApplyWatermark(complexWatermark, rotation: 45, opacity: 25);
$vbLabelText   $csharpLabel

ActivePDF 如何創建水印?

ActivePDF 需要使用文字印章作為替代方法:

using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
    wg.CreateFromHTMLText = html;

    // Add text stamp as watermark
    wg.AddStampText(270.0f, 350.0f, "WaterMark");

    // Configure stamp appearance
    wg.StampFontSize = 20;
    wg.StampFont = "Times New Roman";
    wg.StampFontTransparency = 1f;
    wg.StampRotation = 45.0f;
    wg.StampColorNET = new ADK.PDF.Color() 
    { 
        Red = 255, 
        Green = 0, 
        Blue = 0, 
        Gray = 0 
    };

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
    wg.CreateFromHTMLText = html;

    // Add text stamp as watermark
    wg.AddStampText(270.0f, 350.0f, "WaterMark");

    // Configure stamp appearance
    wg.StampFontSize = 20;
    wg.StampFont = "Times New Roman";
    wg.StampFontTransparency = 1f;
    wg.StampRotation = 45.0f;
    wg.StampColorNET = new ADK.PDF.Color() 
    { 
        Red = 255, 
        Green = 0, 
        Blue = 0, 
        Gray = 0 
    };

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

ActivePDF的方法僅限於僅文字水印,需要手動計算位置。 想要更高級的水印功能,請參見IronPDF的水印範例


如何為PDF設定頁首和頁尾?

IronPDF如何加入頁首和頁尾?

IronPDF提供簡單文本和複雜的HTML頁首/頁尾

/**
 * Set Header Footers
 * anchor-headers-and-footers-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure text header/footer
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        LeftText = "Company Name",
        CenterText = "{page} of {total-pages}",
        RightText = "{date} {time}",
        DrawDividerLine = true,
        FontSize = 12,
        FontFamily = "Arial"
    };

    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        CenterText = "Copyright © 2025",
        RightText = "Page {page}",
        FontSize = 10
    };

    // HTML content
    string html = "<h1>Document Content</h1><p>Lorem ipsum...</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("E:/document.pdf");
}
/**
 * Set Header Footers
 * anchor-headers-and-footers-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure text header/footer
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        LeftText = "Company Name",
        CenterText = "{page} of {total-pages}",
        RightText = "{date} {time}",
        DrawDividerLine = true,
        FontSize = 12,
        FontFamily = "Arial"
    };

    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        CenterText = "Copyright © 2025",
        RightText = "Page {page}",
        FontSize = 10
    };

    // HTML content
    string html = "<h1>Document Content</h1><p>Lorem ipsum...</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("E:/document.pdf");
}
$vbLabelText   $csharpLabel

要使用更複雜的HTML頁首/頁尾

// HTML headers with dynamic content
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='display: flex; justify-content: space-between; padding: 10px;'>
            <img src='logo.png' style='height: 30px;'>
            <div>{page} / {total-pages}</div>
        </div>",
    Height = 50
};
// HTML headers with dynamic content
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='display: flex; justify-content: space-between; padding: 10px;'>
            <img src='logo.png' style='height: 30px;'>
            <div>{page} / {total-pages}</div>
        </div>",
    Height = 50
};
$vbLabelText   $csharpLabel

IronPDF提供的預定義合併欄位包括:

  • {page} - 當前頁碼
  • {total-pages} - 總頁數
  • {url} - 來源URL(如適用)
  • {date} - 當前日期
  • {time} - 當前時間
  • {html-title} - 從HTML文件中取得的標題
  • {pdf-title} - PDF元數據標題

ActivePDF WebGrabber如何設定頁首和頁尾?

using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = @"<h1 style='text-align:center;'>Page Content</h1>";
    wg.CreateFromHTMLText = html;

    // Configure header
    wg.HeaderHeight = 0.5f;
    wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
    wg.HeaderHTML += $"<div style='float: right;'>{DateTime.Now.ToShortDateString()}</div>";

    // Configure footer
    wg.FooterHeight = 0.5f;
    wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = @"<h1 style='text-align:center;'>Page Content</h1>";
    wg.CreateFromHTMLText = html;

    // Configure header
    wg.HeaderHeight = 0.5f;
    wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
    wg.HeaderHTML += $"<div style='float: right;'>{DateTime.Now.ToShortDateString()}</div>";

    // Configure footer
    wg.FooterHeight = 0.5f;
    wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

注意:ActivePDF使用專有占位符(%tp%表示總頁數),需要手動構建HTML。 欲獲得更靈活的頁首/頁尾選項,請參見IronPDF的頁首和頁尾指南


進階PDF功能如何比較?

我如何創建和操作PDF表單?

IronPDF如何處理表單創建?

using IronPdf;

// Create a PDF with form fields
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string formHtml = @"
    <form>
        <label>Name: <input type='text' name='fullname'></label><br>
        <label>Email: <input type='email' name='email'></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe'></label><br>
        <label>
            Plan:
            <select name='plan'>
                <option>Basic</option>
                <option>Premium</option>
            </select>
        </label>
    </form>";

var pdf = renderer.RenderHtmlAsPdf(formHtml);

// Fill form fields programmatically
pdf.Form.FindFormField("fullname").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";
pdf.Form.FindFormField("subscribe").Value = "Yes";

pdf.SaveAs("filled-form.pdf");
using IronPdf;

// Create a PDF with form fields
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string formHtml = @"
    <form>
        <label>Name: <input type='text' name='fullname'></label><br>
        <label>Email: <input type='email' name='email'></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe'></label><br>
        <label>
            Plan:
            <select name='plan'>
                <option>Basic</option>
                <option>Premium</option>
            </select>
        </label>
    </form>";

var pdf = renderer.RenderHtmlAsPdf(formHtml);

// Fill form fields programmatically
pdf.Form.FindFormField("fullname").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";
pdf.Form.FindFormField("subscribe").Value = "Yes";

pdf.SaveAs("filled-form.pdf");
$vbLabelText   $csharpLabel

了解有關使用IronPDF創建PDF表單以及編輯表單數據的更多信息。

ActivePDF Toolkit如何處理表單?

// ActivePDF requires separate Toolkit component for forms
APToolkitNET.Toolkit toolkit = new APToolkitNET.Toolkit();

// Open existing PDF
toolkit.OpenInputFile("form-template.pdf");

// Set form field values
toolkit.SetFormFieldData("fullname", "John Doe", -997);
toolkit.SetFormFieldData("email", "john@example.com", -997);

// Save filled form
toolkit.CopyForm(0, 0);
toolkit.SaveAs("filled-form.pdf");
// ActivePDF requires separate Toolkit component for forms
APToolkitNET.Toolkit toolkit = new APToolkitNET.Toolkit();

// Open existing PDF
toolkit.OpenInputFile("form-template.pdf");

// Set form field values
toolkit.SetFormFieldData("fullname", "John Doe", -997);
toolkit.SetFormFieldData("email", "john@example.com", -997);

// Save filled form
toolkit.CopyForm(0, 0);
toolkit.SaveAs("filled-form.pdf");
$vbLabelText   $csharpLabel

我如何確保PDF/A合規性?

兩個程式庫都支持PDF/A,但採用不同的方法:

IronPDF如何創建PDF/A?

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Archival Document</h1>");

// Convert to PDF/A-3B
pdf.SaveAsPdfA("archive.pdf", PdfAVersions.PdfA3B);
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Archival Document</h1>");

// Convert to PDF/A-3B
pdf.SaveAsPdfA("archive.pdf", PdfAVersions.PdfA3B);
$vbLabelText   $csharpLabel

IronPDF還支持帶有ZUGFeRD的PDF/A-3來進行電子發票。 請查看PDF/A里程碑更新以獲取更多詳情。

ActivePDF DocConverter 如何創建PDF/A?

// Requires DocConverter component
DocConverter dc = new DocConverter();
dc.SetPDFACompliance(PDFACompliance.PDFA2B);
dc.ConvertToPDF("input.html", "output.pdf");
// Requires DocConverter component
DocConverter dc = new DocConverter();
dc.SetPDFACompliance(PDFACompliance.PDFA2B);
dc.ConvertToPDF("input.html", "output.pdf");
$vbLabelText   $csharpLabel

我如何將數位簽名添加到PDF中?

IronPDF如何處理數位簽名?

using IronPdf;
using IronPdf.Signing;

// Load or create PDF
var pdf = PdfDocument.FromFile("document.pdf");

// Create signature with certificate
var signature = new PdfSignature("certificate.pfx", "password");

// Configure signature appearance
signature.SignatureImage = new PdfSignatureImage("signature.png");
signature.SigningContact = "john@company.com";
signature.SigningReason = "Document Approval";

// Apply signature
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;

// Load or create PDF
var pdf = PdfDocument.FromFile("document.pdf");

// Create signature with certificate
var signature = new PdfSignature("certificate.pfx", "password");

// Configure signature appearance
signature.SignatureImage = new PdfSignatureImage("signature.png");
signature.SigningContact = "john@company.com";
signature.SigningReason = "Document Approval";

// Apply signature
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
$vbLabelText   $csharpLabel

針對高級簽名場景,請參見IronPDF的簽名指南使用HSM進行簽名

我如何處理批量處理?

IronPDF如何處理批量轉換?

using IronPdf;
using System.Threading.Tasks;
using System.IO;

static async Task BatchConvertAsync()
{
    var renderer = new ChromePdfRenderer();
    var tasks = new List<Task>();

    foreach (var file in Directory.GetFiles("input", "*.html"))
    {
        tasks.Add(Task.Run(async () =>
        {
            var pdf = await renderer.RenderHtmlFileAsPdfAsync(file);
            var outputPath = Path.Combine("output", 
                Path.GetFileNameWithoutExtension(file) + ".pdf");
            await pdf.SaveAsAsync(outputPath);
        }));
    }

    await Task.WhenAll(tasks);
}
using IronPdf;
using System.Threading.Tasks;
using System.IO;

static async Task BatchConvertAsync()
{
    var renderer = new ChromePdfRenderer();
    var tasks = new List<Task>();

    foreach (var file in Directory.GetFiles("input", "*.html"))
    {
        tasks.Add(Task.Run(async () =>
        {
            var pdf = await renderer.RenderHtmlFileAsPdfAsync(file);
            var outputPath = Path.Combine("output", 
                Path.GetFileNameWithoutExtension(file) + ".pdf");
            await pdf.SaveAsAsync(outputPath);
        }));
    }

    await Task.WhenAll(tasks);
}
$vbLabelText   $csharpLabel

參見IronPDF的異步指南並行處理範例以獲得更多批量處理技巧。

ActivePDF DocConverter如何處理批量處理?

// DocConverter supports watched folders for automatic conversion
DocConverter dc = new DocConverter();

// Configure watched folder
dc.AddWatchedFolder(@"C:\Input", @"C:\Output", "*.html");
dc.StartWatching();

// Files dropped in the input folder are automatically converted
// DocConverter supports watched folders for automatic conversion
DocConverter dc = new DocConverter();

// Configure watched folder
dc.AddWatchedFolder(@"C:\Input", @"C:\Output", "*.html");
dc.StartWatching();

// Files dropped in the input folder are automatically converted
$vbLabelText   $csharpLabel

性能和資源如何比較?

在性能方面,這些程式庫如何比較?

根據基準測試和實際使用:

IronPDF的性能指標是什麼?

  • HTML渲染:對於簡單內容大約125毫秒
  • 複雜網站:835毫秒(在靜態網站上測試)
  • 記憶體使用:典型情況下小於10MB
  • 初始啟動:2-3秒(Chrome引擎初始化)
  • 頁首/頁尾的記憶體使用減少75%
  • 大型文件的加載時間減少80%

有關性能優化的詳細提示,請參見IronPDF的性能指南

ActivePDF的性能特點是什麼?

  • 根據所選渲染引擎而有所不同
  • 本地引擎:對於簡單HTML更快
  • IE引擎:較慢但兼容性更好
  • 基於服務的架構增加內存負擔
  • 更適合批量處理場景

什麼是內存管理最佳實踐?

如何使用IronPDF優化內存?

// Dispose of resources properly
using (var renderer = new ChromePdfRenderer())
{
    using (var pdf = renderer.RenderHtmlAsPdf(html))
    {
        pdf.SaveAs("output.pdf");
    }
}

// For large documents, use streaming
await pdf.Stream.CopyToAsync(fileStream);
// Dispose of resources properly
using (var renderer = new ChromePdfRenderer())
{
    using (var pdf = renderer.RenderHtmlAsPdf(html))
    {
        pdf.SaveAs("output.pdf");
    }
}

// For large documents, use streaming
await pdf.Stream.CopyToAsync(fileStream);
$vbLabelText   $csharpLabel

有關更多內存優化策略,請參見IronPDF的內存管理指南PDF內存流範例

ActivePDF的內存考量是什麼?

  • 基於服務的架構隔離內存使用
  • 轉換過程之間自動清理
  • 在Windows中配置服務內存限制

可用的ActivePDF組件有哪些?

還有哪些其他的ActivePDF組件?

組件 用途和特點
ActivePDF `DocConverter` 將300多種文件類型轉換為PDF。具有監控文件夾、批量處理和企業自動化功能。
ActivePDF `WebGrabber` HTML到PDF轉換,支持URL、文件和HTML字串。包括本地和IE渲染引擎。
ActivePDF Toolkit 進階PDF操作,包括表單、註解、安全性和低層次PDF操作。
ActivePDF Server 基於服務器的PDF打印解決方案,用於網絡環境。
ActivePDF Meridian 網絡PDF打印機用於將文件打印為PDF,無需每用戶費用。
ActivePDF OCR 光學字符識別,讓掃描的PDF可搜尋。
ActivePDF Xtractor 從PDF文件中提取文本和圖像進行數據處理。
ActivePDF Redactor 永久刪除PDF文件中的敏感信息。

請注意其中許多組件需要單獨的授權,增加了完整PDF功能的總成本。


授權和定價如何比較?

IronPDF和ActivePDF的授權成本如何比較?

2025年IronPDF的授權選項和價格是什麼?

  • Lite License: $799(1位開發者,1個地點,1個專案)
  • Plus License: $1,199(3位開發者,3個地點,3個專案)
  • Professional License: $2,399(10位開發者,10個地點,10個專案)
  • Unlimited License: 自定價格(無限開發者/專案)
  • Iron Suite: $1,498(所有10個Iron Software產品)

所有授權包括24/5的工程支援終身授權有效性以及擴充升級的選項。

  • WebGrabber: 起價$2,499(一次性付款)
  • DocConverter: 起價$2,999(一次性付款)
  • Toolkit: 起價$1,500+(根據特點而異)
  • 支援: 高階支援需另加費用
  • 多個組件: 成本迅速累積

總成本比較是什麼?

小型開發團隊(3位開發者) - 成本比較?

  • IronPDF Plus License: $1,499(包含所有特點)
  • ActivePDF WebGrabber + DocConverter:最低$5,498
  • 使用IronPDF節省:73%

企業團隊(10位開發者) - 成本比較?

  • IronPDF Professional: $2,999(所有功能)
  • ActivePDF套件(多個組件):$10,000+
  • 使用IronPDF節省:70%+

有關與其他競爭者的詳細價格比較,請參見IronPDF vs AsposeIronPDF vs iTextIronPDF vs Syncfusion


哪個程式庫提供更好的開發支援?

哪個程式庫提供更好的開發支援?

IronPDF提供什麼支援?

有關支援的最佳實踐,請參見如何提出工程支援請求獲得最佳支援

ActivePDF提供什麼支援?

  • 支援入口訪問
  • 知識庫文章
  • 社群論壇
  • 高級支援需額外費用
  • 舊版文件的傳統文檔

結論:您應該選擇哪個PDF程式庫?

何時選擇IronPDF:

  • 現代.NET開發:完全支持.NET 9/10和跨平台部署
  • 快速開發:直觀的API需要最少的代碼
  • Web應用程式:使用Chrome引擎出色的HTML/CSS/JavaScript渲染
  • 雲端部署:針對Azure、AWS和容器化環境進行優化
  • 經費考量:較低的入門成本且包含所有特點
  • 學習曲線:有豐富的文檔和範例可快速採用

何時選擇ActivePDF:

  • 傳統系統:現有的ActivePDF基礎架構或Windows Server環境
  • 多樣文件格式:需要將300多種文件類型轉換為PDF
  • 企業工作流程:監控文件夾和自動化批量處理
  • 高級表單:複雜的XFA表單或專門的表單需求
  • 合規要求:特定行業的多個PDF/A級別

最終建議

對於大多數現代.NET開發場景,IronPDF提供了功能性能和價值的最佳組合。 其直觀的API、完整的文檔和透明的定價使其成為尋求快速高效實施PDF功能的團隊的理想選擇。

ActivePDF仍然是對文件格式支持、與傳統系統整合或現有ActivePDF基礎架構有特定需求的企業的可行選擇。 然而,其模塊化定價模式和複雜的安裝過程可能對於較小的團隊或新專案構成挑戰。

準備好開始了嗎?

立即開始在您的項目中使用 IronPDF 並免費試用。

第一步:
green arrow pointer

請注意ActivePDF是其各自所有者的註冊商標。 本網站未與ActivePDF聯繫、認可或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,並反映了撰寫本文時的公開信息。)}]

常見問題解答

IronPDF 和 ActivePDF 在 .NET 中的 PDF 生成比較如何?

IronPDF 提供了一種精簡的 PDF 生成方法,使用基於 Chrome 的渲染引擎和直觀的 API,支持現代 .NET 版本,包括 .NET 9 和 10。ActivePDF 提供了模塊化的組件,如 WebGrabber 和 DocConverter,用於企業場景,但需要更多的配置。

如何使用 C# 將 HTML 轉換為 PDF?

您可以使用 IronPDF 的 RenderHtmlAsPdf 方法快速將 HTML 字串轉換為 PDF。對於基於文件的轉換,可使用 RenderHtmlFileAsPdf 方法,兩者都提供高保真,支持 CSS3 和 JavaScript。

IronPDF 的性能基準是什麼?

IronPDF 展示了快速的 HTML 到 PDF 渲染,完成任務約需 125-835 毫秒,內存使用率低於 10MB。它還提供了標題和頁腳內存和處理的顯著提升。

我可以用 IronPDF 自動批量 PDF 處理嗎?

可以,IronPDF 通過 async/await 模式支持批量處理,允許您使用如 RenderHtmlFileAsPdfAsync 等方法同時處理多個 PDF 轉換。

IronPDF 如何在 PDF 中處理數字簽名?

IronPDF 提供了一個 PdfSignature 類,用於在 PDF 文檔中添加數字簽名。它支持基於證書的簽名,並允許自定義簽名的外觀和元數據。

在 .NET 開發中使用 IronPDF 的成本考量是什麼?

IronPDF 許可證從 $749 起,面向單個開發人員,包括所有功能。相比之下,ActivePDF 組件單獨定價,導致類似功能的總成本更高。

IronPDF 如何確保跨平台兼容性?

IronPDF 支持跨平台部署,包括 Windows、Linux、macOS 和 Docker 環境,適合多樣化的開發需求和基於雲的應用程序。

如何使用 IronPDF 向 PDF 添加標題和頁腳?

IronPDF 提供 TextHeaderFooterHtmlHeaderFooter 類,允許您使用簡單文本和複雜的 HTML/CSS 佈局添加標題和頁腳。

IronPDF 與現代 .NET 版本的集成效果如何?

IronPDF 完全支持現代 .NET 版本,包括 .NET 9 和 10,以及 .NET Core、.NET Standard 和 .NET Framework 4.6.2+,確保廣泛的兼容性和未來的開發。

在 PDF 轉換過程中是否支持 JavaScript 執行?

是的,IronPDF 在渲染 PDF 之前完全執行 JavaScript,並有選項通過 WaitFor.JavaScript()RenderDelay() 控制時機,確保完整和準確的轉換。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron Support Team

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