如何在 C# 中從 Telerik Document Processing 遷移到 IronPDF
Migrating fromTelerik 文件處理to IronPDF:完整的開發人員指南
Telerik Document Processing 作為 DevCraft 套件的一部分,為 .NET 生態系統提供服務,除了 Word、Excel 和 PowerPoint 處理之外,還為開發人員提供 PDF 生成功能。 然而,隨著現代網頁標準的演進,以及專案需要完整的 CSS3、Flexbox 和 Bootstrap 支援,許多開發團隊發現 Telerik 的 HTML-to-PDF 渲染架構存在基本限制。
本指南提供了從Telerik 文件處理到IronPDF的完整遷移路徑,包括逐步說明、程式碼比較,以及直接取自真實遷移情境的實用範例。
為何要從 Telerik 文件處理轉移過來?
從Telerik 文件處理遷移的決定通常來自於在處理現代網頁內容時所顯現的技術限制。 瞭解這些限制有助於證明轉移工作的合理性,並為IronPDF所解決的問題設定期望值。
關鍵技術限制
Telerik Document Processing 在處理現代 HTML 和 CSS 時有一些基本問題:
| 問題 | 影響力 | IronPdf 解決方案 |
|---|---|---|
| CSS 解析限制 | 現代 CSS 框架(如 Bootstrap)失效 | 完整的 Chromium CSS 支援 |
| 分段轉換 | HTML 結構扁平化,佈局破裂 | 直接 HTML 渲染 |
| 流程文件模型 | 強制中間轉換 | 原生 HTML 至 PDF |
| 外部 CSS 問題 | 忽略複雜的選擇器 | 完整的 CSS 檔案支援 |
| 記憶體問題 | 大型文件上的 OutOfMemoryException | 高效率的串流 |
核心問題:HTML 未正確渲染
Telerik Document Processing 在產生 PDF 之前會將 HTML 轉換為中間的"Flow Document"模型。 此架構決定會產生連鎖問題:
1.Flattens HTML structure - <div> 元素變成段落 2.忽略現代 CSS - Flexbox 和 Grid 佈局完全失敗 3.Breaks Bootstrap - 欄系統不會呈現為列 4.失去格式化 - 忽略複雜的 CSS 選擇器
考慮這個使用標準 CSS 佈局的現代 HTML:
<!-- This modern HTML/CSS BREAKS inTelerik 文件處理-->
<div class="container">
<div class="row">
<div class="col-md-6">Column 1</div>
<div class="col-md-6">Column 2</div>
</div>
</div>
<div style="display: flex; gap: 20px;">
<div style="flex: 1;">Flex Item 1</div>
<div style="flex: 1;">Flex Item 2</div>
</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
<div>Grid Item 1</div>
<div>Grid Item 2</div>
<div>Grid Item 3</div>
</div><!-- This modern HTML/CSS BREAKS inTelerik 文件處理-->
<div class="container">
<div class="row">
<div class="col-md-6">Column 1</div>
<div class="col-md-6">Column 2</div>
</div>
</div>
<div style="display: flex; gap: 20px;">
<div style="flex: 1;">Flex Item 1</div>
<div style="flex: 1;">Flex Item 2</div>
</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
<div>Grid Item 1</div>
<div>Grid Item 2</div>
<div>Grid Item 3</div>
</div>在Telerik 文件處理中,所有這些版面都會呈現為連續的段落。兩欄式的 Bootstrap 排版會變成兩行文字。 flexbox 項目垂直堆疊。 CSS Grid 項目一個接一個地出現。
在 Telerik 文件處理中失敗的 CSS 功能。
開發人員已記錄了廣泛的 CSS 相容性問題:
/* ❌ These CSS features DON'T WORK inTelerik 文件處理*/
/* Flexbox -不支援*/
.container { display: flex; }
.item { flex: 1; }
/* CSS Grid -不支援*/
.grid { display: grid; grid-template-columns: repeat(3, 1fr); }
/* Bootstrap columns - Converted to paragraphs */
.col-md-6 { /* Ignored, becomes linear text */ }
/* CSS Variables -不支援*/
:root { --primary: #007bff; }
.btn { color: var(--primary); }
/* Complex selectors - Often ignored */
.container > .row:first-child { }
.item:hover { }
.content::before { }
/* Modern units - Limited support */
.box { width: calc(100% - 20px); }
.text { font-size: 1.2rem; }大型文件的效能問題
除了 CSS 限制之外,Telerik Document Processing 還記錄了處理大型檔案時的 OutOfMemoryException 錯誤。 開發團隊在處理大量文件產生時,會遇到其他程式庫能更有效率處理的穩定性問題。
IronPDFvs Telerik Document Processing:功能比較
瞭解功能差異有助於技術決策者評估遷移投資:
| 特點 | Telerik 文件處理 | IronPDF |
|---|---|---|
| HTML 渲染 | 流程文件轉換 | 直接 Chromium 渲染 |
| CSS3 支援。 | 功能有限,許多功能失敗 | 完整的 CSS3 |
| <強>Flexbox</強 | 不支援 | 全面支援 |
| CSS 網格 | 不支援 | 全面支援 |
| Bootstrap | 破損(div 平面化) | 完整支援包括 Bootstrap 5 |
| 外部 CSS。 | 部分的 | 全面支援 |
| JavaScript。 | 不支援 | 完全支援 ES2024 |
| 大型文件 | 記憶體問題 | 高效率的串流 |
| API複雜性 | 複雜(提供者、模型) | 簡單(一級) |
| 授權模式 | 商業,DevCraft 的一部分 | 簡單的獨立授權 |
快速開始遷移:5 分鐘完成您的第一份 PDF。
從Telerik 文件處理遷移到IronPDF的工作可以立即開始。 以下是使用IronPDF生成您的第一份 PDF 的最快途径。
步驟 1:更新 NuGet 套件
移除所有 Telerik 文件處理套件:
# Remove Telerik packages
dotnet remove package Telerik.Documents.Core
dotnet remove package Telerik.Documents.Flow
dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf
dotnet remove package Telerik.Documents.Fixed# Remove Telerik packages
dotnet remove package Telerik.Documents.Core
dotnet remove package Telerik.Documents.Flow
dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf
dotnet remove package Telerik.Documents.Fixed安裝 IronPDF:
# Install IronPDF
dotnet add package IronPdf# Install IronPDF
dotnet add package IronPdf步驟 2:更新 Using 語句
用 IronPdf 命名空間取代 Telerik 命名空間:
// Before (Telerik Document Processing)
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Documents.Primitives;
// After (IronPDF)
using IronPdf;// Before (Telerik Document Processing)
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Documents.Primitives;
// After (IronPDF)
using IronPdf;IRON VB CONVERTER ERROR developers@ironsoftware.com步驟 3:新增授權金鑰
在應用程式啟動時初始化授權:
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IRON VB CONVERTER ERROR developers@ironsoftware.com步驟 4:更新您的 PDF 生成程式碼
從Telerik 文件處理到IronPDF的轉換可大幅簡化您的程式碼庫。
之前 (Telerik 文件處理):
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(htmlContent);
PdfFormatProvider pdfProvider = new PdfFormatProvider();
byte[] pdfBytes = pdfProvider.Export(document);
File.WriteAllBytes("output.pdf", pdfBytes);using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(htmlContent);
PdfFormatProvider pdfProvider = new PdfFormatProvider();
byte[] pdfBytes = pdfProvider.Export(document);
File.WriteAllBytes("output.pdf", pdfBytes);IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (IronPDF):
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com差異立即顯現:3 行IronPDF程式碼取代 15 行以上的 Telerik 文件處理程式碼。 更重要的是,IronPDF 版本將正確呈現 Telerik 的 Flow Document 模型無法處理的現代 CSS。
程式碼遷移範例
將 HTML 轉換為 PDF
這是 PDF 生成最常見的用例。Telerik 文件處理和IronPDF在架構上的差異在這次比較中變得很清楚。
Telerik 文件處理方法:
// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);
PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("output.pdf"))
{
pdfProvider.Export(document, output);
}// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);
PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("output.pdf"))
{
pdfProvider.Export(document, output);
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDF 方法:
// NuGet: Install-Package IronPdf
using IronPdf;
string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");// NuGet: Install-Package IronPdf
using IronPdf;
string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comTelerik 版本需要建立<代碼>HtmlFormatProvider</代碼、匯入至<編碼>RadFlowDocument</編碼、建立<代碼>PdfFormatProvider</代碼以及手動管理檔案流。IronPDF的<代碼>ChromePdfRenderer</代碼只需呼叫一個方法即可處理整個過程。
如需更進階的 HTML 至IronPDF方案,請參閱 HTML 至 PDF 轉換指南。
將 URL 轉換為 PDF
將網頁擷取成 PDF 會顯示出兩個資料庫的另一個重大差異。
Telerik 文件處理方法:
// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
string url = "https://example.com";
using HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);
PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("webpage.pdf"))
{
pdfProvider.Export(document, output);
}// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
string url = "https://example.com";
using HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);
PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("webpage.pdf"))
{
pdfProvider.Export(document, output);
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDF 方法:
// NuGet: Install-Package IronPdf
using IronPdf;
string url = "https://example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");// NuGet: Install-Package IronPdf
using IronPdf;
string url = "https://example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comTelerik Document Processing 沒有原生 URL-to-PDF 功能。 您必須使用 HttpClient 手動取得 HTML 內容,在此過程中會遺失外部 CSS、JavaScript 執行和動態內容。IronPDF的 RenderUrlAsPdf 方法可擷取完整的渲染頁面,就像在瀏覽器中一樣。
探索 URL 至 PDF 文件 以獲得其他選項,包括驗證和自訂標頭。
合併多個 PDF 文件
PDF 合併展示了這些 .NET PDF 函式庫之間的語言差異。
Telerik 文件處理方法:
// NuGet: Install-Package Telerik.Documents.Fixed
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using System.IO;
PdfFormatProvider provider = new PdfFormatProvider();
RadFixedDocument document1;
using (FileStream input = File.OpenRead("document1.pdf"))
{
document1 = provider.Import(input);
}
RadFixedDocument document2;
using (FileStream input = File.OpenRead("document2.pdf"))
{
document2 = provider.Import(input);
}
RadFixedDocument mergedDocument = new RadFixedDocument();
foreach (var page in document1.Pages)
{
mergedDocument.Pages.Add(page);
}
foreach (var page in document2.Pages)
{
mergedDocument.Pages.Add(page);
}
using (FileStream output = File.OpenWrite("merged.pdf"))
{
provider.Export(mergedDocument, output);
}// NuGet: Install-Package Telerik.Documents.Fixed
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using System.IO;
PdfFormatProvider provider = new PdfFormatProvider();
RadFixedDocument document1;
using (FileStream input = File.OpenRead("document1.pdf"))
{
document1 = provider.Import(input);
}
RadFixedDocument document2;
using (FileStream input = File.OpenRead("document2.pdf"))
{
document2 = provider.Import(input);
}
RadFixedDocument mergedDocument = new RadFixedDocument();
foreach (var page in document1.Pages)
{
mergedDocument.Pages.Add(page);
}
foreach (var page in document2.Pages)
{
mergedDocument.Pages.Add(page);
}
using (FileStream output = File.OpenWrite("merged.pdf"))
{
provider.Export(mergedDocument, output);
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDF 方法:
// NuGet: Install-Package IronPdf
using IronPdf;
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");// NuGet: Install-Package IronPdf
using IronPdf;
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comTelerik 版本需要分開匯入每個文件,手動反覆檢視頁面,將頁面加入新文件,並管理多個檔案流。IronPDF的<代碼>PdfDocument.Merge()</代碼方法只需一次調用即可處理一切。
如需進階合併情境,包括選擇性抽取頁面,請參閱 合併與分割 PDF 指南。
Telerik 文件處理 API 到IronPDF的映射
此參考表格透過顯示直接的 API 對應詞,加快了轉換的速度:
| Telerik 文件處理 | IronPDF | 筆記 |
|---|---|---|
| <代碼>HtmlFormatProvider</代碼 | <代碼>ChromePdfRenderer</代碼 | 建立 PDF 生成的渲染器 |
| <編碼>RadFlowDocument</編碼 | 不需要 | IronPdf 可直接渲染 HTML |
| <代碼>PdfFormatProvider</代碼 | <代碼>pdf.SaveAs()</代碼 | 直接儲存,無需提供者 |
| <編碼>RadFlowDocumentEditor</編碼 | HTML 操作 | 在呈現之前編輯 HTML |
| <編碼>部分</編碼 | HTML <section> | 使用語意 HTML |
段落 | HTML <p> | 標準 HTML 元素 |
| <代碼>PDFExportSettings</代碼 | 渲染選項 | 設定輸出設定 |
| <編碼>RadFixedDocument</編碼 | <編碼>PDF 文件</編碼 | 使用現有的 PDF |
| 手動迭代頁面 | <代碼>PdfDocument.Merge()</代碼 | 內建合併方法 |
處理頁首和頁尾。
Telerik 文件處理使用程式化模式來處理頁眉、頁腳。 IronPdf 提供基於 HTML 的標題,並具有動態占位符。
Telerik 文件處理:
section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDF:
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
MaxHeight = 25
};renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
MaxHeight = 25
};IRON VB CONVERTER ERROR developers@ironsoftware.comIronPdf 基於 HTML 的方法允許在頁首和頁尾使用完整的 CSS 設定,Plus 動態頁碼和日期占位符。 在 headers and footers 文件中瞭解更多資訊。
單位轉換:DIP 至毫米。
Telerik 文件處理使用裝置獨立像素 (DIP) 進行測量。 IronPdf 使用毫米。 這需要在轉換過程中進行轉換:
// Telerik uses DIPs (device-independent pixels)
//IronPDFuses millimeters
// 1 inch = 25.4mm
renderer.RenderingOptions.MarginTop = 25.4; // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;
// Or use the helper method for paper size
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);// Telerik uses DIPs (device-independent pixels)
//IronPDFuses millimeters
// 1 inch = 25.4mm
renderer.RenderingOptions.MarginTop = 25.4; // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;
// Or use the helper method for paper size
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);IRON VB CONVERTER ERROR developers@ironsoftware.comTelerik 文件處理遷移清單
遷移前的任務
審核您的程式碼庫,找出所有Telerik 文件處理的用法:
grep -r "using Telerik.Windows.Documents" --include="*.cs" .
grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .grep -r "using Telerik.Windows.Documents" --include="*.cs" .
grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .記錄現有的實作,包括使用的格式提供者、頁首/頁尾設定、自訂頁面設定,以及任何 Flow Document 模型修改。
遷移期間
1.移除 Telerik NuGet 套件 2.安裝 IronPdf NuGet 套件 3.更新使用語句從 Telerik.Windows.Documents 到 IronPdf 4.在啟動時加入授權金鑰初始化 5.將<代碼>HtmlFormatProvider</代碼替換為 ChromePdfRenderer 6.移除<編碼>RadFlowDocument</編碼的中間步驟 7.將<代碼>PdfFormatProvider</代碼匯出改為直接呼叫 SaveAs() 8.更新標頭/標腳以使用 HtmlHeaderFooter 9.將頁面設定轉換為 RenderingOptions 10.將邊界單位從 DIP 更新為毫米
後遷移驗證
轉移後,驗證這些改進:
- CSS 渲染應大幅改善
- Bootstrap 佈局應正確呈現 (在 Telerik 中不會)
- Flexbox 與 Grid 佈局應該可以運作 (在 Telerik 中無法運作)
- JavaScript 執行功能應適用於動態內容
- 大型文件生成應在無記憶體異常的情況下完成
遷移到IronPDF的主要優點。
從Telerik 文件處理轉移到IronPDF可立即提供優勢:
Modern Chromium Rendering Engine:IronPDF 使用與 Google Chrome 相同的渲染引擎,可確保 PDF 的渲染效果與現代瀏覽器中的內容一模一樣。 這可以消除 Telerik 的流程文件模型固有的 CSS 相容性問題。
完整的 CSS3 與 JavaScript 支援:Flexbox、Grid、Bootstrap 5、CSS 變數和現代 JavaScript 都能正常運作。IronPDFfor .NET 10 和 C# 14 在 2026 年之前的採用率將會增加,IronPDF 的現代化渲染可確保與當代網路標準相容。
更簡單的 API:更少的程式碼行數、無中間文件模型,以及直覺的方法名稱,可減少開發時間與維護負擔。
Standalone License:IronPDF 提供直接的 License,而不需要購買全面的套件,為只需要 PDF 功能的團隊提供符合成本效益的解決方案。
主動開發:定期更新確保與目前及未來的 .NET 版本、安全修補程式及功能增強相容。
結論
Telerik Document Processing 在較早的 .NET 開發時代發揮了作用,但其 Flow Document 架構無法處理開發人員現在視為標準的現代 CSS 佈局。 div 到段落的轉換、Flexbox 支援的缺失以及 Bootstrap 的不相容,對於建立當代應用程式的團隊造成了實際的限制。
IronPdf 使用基於 Chromium 的渲染引擎解決了這些限制,該引擎可以完全按照瀏覽器的方式處理現代網頁內容。 遷移路徑很直接:取代 NuGet 套件、更新名稱空間,並簡化程式碼。 大多數團隊在數天而非數週內完成遷移。
今天就開始遷移 免費試用 IronPDF 並體驗真正基於瀏覽器的渲染為您的 PDF 生成工作流程帶來的不同。
如需全面的 API 文件,請造訪 IronPDF API 參考。 探索教學以獲得其他實作模式和最佳實務。






