IronPDF與Devexpress PDF查看器的比較
可攜式文件格式(PDF)是由Adobe建立的,用於以文字和圖形格式分發文件。 我們需要一個單獨的應用程式來開啟PDF文件。在現今的文化中,PDF文件是絕對必要的。 對於發票和文件生成,各種企業中都會使用可攜式文件格式文件。 開發人員使用PDF格式來建立符合客戶需求的文件。 感謝當今的程式庫,建立PDF從未如此容易。 在專案中使用這種型別的程式庫時,我們必須考慮構建、讀取和轉換能力等因素,以確定哪個程式庫是市場上最好的。
在這篇文章中,我們將比較兩個最常用的.NET元件的PDF程式庫。 這兩個程式庫是:
* IronPDF
- DevExpress PDF Viewer Controls
IronPDF和DevExpress PDF是可以用於Microsoft .NET應用程式的兩個程式庫。 IronPDF可用於建立、讀取和更改PDF,無論是線上還是在桌面應用程式。 DevExpress提供了一個PDF Viewer控制項用於顯示文件,以及DevExpress.Pdf — 一個完整的PDF程式庫,用於程式化的PDF建立和操作。
IronPDF功能
IronPDF是一個功能強大的PDF轉換工具,可以做幾乎每個瀏覽器能做的事情。 它是一個開發人員友好的PDF程式庫,使建立、讀取和操作PDF文件變得極為簡單。 IronPDF使用Chrome引擎將HTML轉換為PDF。IronPDF支援Windows Forms、HTML、ASPX、Razor HTML、.NET Core、ASP.NET、Windows Form、WPF、Xamarin、Blazor、Unity和HoloLens應用程式等網頁元件。 Microsoft .NET和.NET Core應用程式由IronPDF支援(包括ASP.NET Web應用程式和傳統的Windows應用程式)。 IronPDF還可以用於建立視覺上引人注目的PDF。
IronPDF可以將HTML5、JavaScript、CSS和圖片轉換為PDF文件。 文件中還可以包含頁首和頁尾。它還可以使PDF易於閱讀。 IronPDF還附帶了一個強大的HTML到PDF轉換器,這個轉換器可以與PDF文件一起使用。 IronPDF擁有強大的PDF轉換引擎。IronPDF無需外部依賴。
- 可以用來建立PDF的來源包括HTML、HTML5、ASPX和Razor/MVC View。 我們不但可以將一個HTML文件轉換為PDF,也可以轉換圖片文件。
- 建立互動式PDF文件、填寫並提交互動式表單、合併和拆分PDF文件、從PDF文件中提取文字和圖片、在PDF文件中搜尋文字、將PDF頁面光柵化為圖片,並轉換PDF文件只是我們可以用IronPDF執行的一部分操作。
- 作為起點,使用IronPDF官方網站建立一個文件。 它還支援自定義網路登錄憑證、使用者代理、代理伺服器、Cookie、HTTP頭以及用於HTML登錄表單後的登錄條件。
- 通過指定使用者名和密碼,IronPDF允許我們打開受保護的文件。 * IronPDF是一個程式,可以讀取並填補現有PDF文件中的空白。
- 它能夠從文件中提取圖片。
- 允許我們使用頁首、頁尾、文字、圖片、書籤、水印等自定義文件。
- 允許我們在新建或現有文件中分割和合併頁面。
- 無需使用Acrobat閱讀器,我們仍然可以將文件轉換為PDF物件。
- 可以將CSS文件轉換為PDF文件。
- CSS文件媒體型別文件可以轉換為文件。
- 填寫現有的PDF表單並新增新的表單。
DevExpress PDF功能
DevExpress提供了可在Visual Studio中使用於Windows應用程式的WinForms控制項。 它提供了一個WinForms控制列表以供使用者存取PDF。 它還提供控制項給WPF控制項和ASP.NET表單控制項。
PDF Viewer在您的WinForms應用程式中直接顯示PDF文件,而不需要在電腦上安裝外部PDF查看器。 Windows Forms中的PDF Viewer控制項允許您直接從應用程式中查看、修改和列印PDF文件。 PDF Viewer不僅僅是顯示文件,還允許使用者更改表單字段、註解文件和使用剪貼簿。 DevExpress可供所有.NET架構和程式庫使用。 它還提供了ASP.NET、MVC、ASP.NET Core等的控制項和擴展。
PDF Viewer支援豐富的文件內容型別,包括:
- JPX / JBIG2圖片
- 圖案
- 透明度群組
- 3級字體
- 互動式表單
是的,DevExpress WinForms PDF控制項由DirectX提供支持,具備卓越的文字渲染和文字初始化支持。
全使用者介面包括在WinForms的PDF視圖中。 它可以用來改變文件的顯示方式,例如順時針或逆時針旋轉、放大頁面內容,以及在最近使用的頁面顯示樣式之間切換。
PDF Viewer控制項提供了手動工具、模板放大工具和各種鍵盤和光標交互模式。 在上下文選單中更改光標模式,或者在命令UI中選擇工具。
導航窗格允許您跳轉到保存的頁面,使用縮略圖圖像導航到特定頁面,以及組織文件和附註。
DevExpress允許我們提供反饋並在答覆查詢時提供持續支持。 如果需要更詳細的反饋,可以聯繫支持團隊。
2. 在Visual Studio中建立新專案
打開Visual Studio軟體並進入文件選單。 選擇"新專案",然後選擇"控制台應用程式"。 在本文中,我們將使用控制台應用程式生成PDF文件。
輸入專案名稱,然後在適當的文字框中選擇文件路徑。 然後,單擊建立按鈕並選擇所需的.NET框架,如下圖所示:
Visual Studio專案將為選擇的應用程式生成結構,如果您選擇了控制台、windows和web應用程式,現在將打開program.cs文件,您可以在其中輸入程式碼並構建/運行應用程式。
接下來,我們可以新增程式庫以測試程式碼。
3.0 安裝IronPDF程式庫
IronPDF程式庫可以通過四種方式下載和安裝。
這些是:
* 使用Visual Studio * 使用Visual Studio命令行 * 從NuGet網站直接下載 * 從IronPDF網站直接下載
3.1 使用Visual Studio
Visual Studio軟體提供NuGet package manager選項,可以將package直接安裝到solution。 下面的截圖顯示了如何打開NuGet Package Manager。
它提供了一個搜尋框,用於顯示來自NuGet網站的package列表。在package manager中,我們需要搜尋關鍵字'IronPDF',如下圖所示:
在上面的圖片中,我們得到相關搜尋項的列表。 我們需要選擇所需的選項將package安裝到solution。
3.2 使用Visual Studio命令行
在Visual Studio中,轉到工具-> NuGet Package manager -> package manager console
在package manager console標籤中輸入以下行:
Install-Package IronPdf
現在將下載/安裝package到當前專案中,並可供使用。
3.3 從NuGet網站直接下載
第三種方式是從網站直接下載NuGet package。
- 瀏覽至NuGet包頁面
- 從右側選單中選擇下載package選項。
- 雙擊已下載的package。 將自動安裝。
- 接下來,重新載入solution並開始在專案中使用它。
3.4 從IronPDF網站直接下載
直接從IronPDF網站下載最新package。 下載完成後,按照以下步驟將package新增到專案中。
- 右擊solution窗口中的專案。
- 然後,選擇選項引用並瀏覽已下載引用的位置。
- 接下來,點擊確定以新增引用。
4.0 安裝PDF Viewer程式庫
PDF Viewer程式庫可以通過四種方式下載和安裝。
這些是: * 使用Visual Studio * 使用Visual Studio命令行
- 從DevExpress網站直接下載
註冊DevExpress NuGet
要使用NuGet安裝DevExpress packages,必須首先將DevExpress NuGet反饋註冊為的包來源。
- 使用NuGet反饋網址或授權金鑰,您可以存取DevExpress NuGet packages。 如需更多資訊或更新,請檢查DevExpress文件。
- 在Visual Studio中打開選項面板(工具->選項),並將DevExpress NuGet反饋註冊為package來源。 在此對話框中找到Package Manager選項,並如下所示,將DevExpress反饋新增到package來源。
- 如果您使用授權金鑰,使用
https://nuget.devexpress.com/api作為package來源。 - 如果您使用NuGet反饋網址,請將其指定為package來源。
- 如果您使用授權金鑰,使用
4.1 使用Visual Studio
如上所述,只需轉到NuGet package manager並選擇DevExpress NuGet package manager。 然後,搜尋關鍵字"Win.PdfViewer"。 將提供所有相關搜尋結果如下。
選擇第一個結果選項以在專案中安裝package。
4.2 使用Visual Studio命令行
在Visual Studio中,轉到工具-> NuGet Package manager -> package manager console
在package manager console標籤中輸入以下行:
Install-Package DevExpress.Win.PdfViewer
然後,按Enter鍵。 這將提示一個登入窗口,如下所示。 我們需要輸入使用者名為DevExpress,密碼可以從DevExpress URL獲得。 這將授權DevExpress通過伺服器下載。
接下來,package將在當前專案中下載/安裝並可供使用。
4.3 從DevExpress網站直接下載
造訪DevExpress產品試用頁面,它將重定向到DLL選項列表,以便從網站直接下載最新package,適用於多個.NET框架環境; 您可以選擇所需的packages進行下載。 下載完成後,按照以下步驟將package新增到專案中。
文件下載完成後,雙擊已下載文件,它將開始設置,如下面圖片所示:
接下來,點擊安裝按鈕,將會出現一個新的彈出窗口。
選擇所需的選項進行安裝。
然後接受授權,安裝將在幾分鐘後完成。
5.0 使用IronPDF建立PDF
我們可以輕鬆地使用IronPDF生成PDF文件——它將從URL生成HTML文件並轉換為PDF。
以下步驟使生成PDF文件變得容易。
using IronPdf;
// Create an instance of the ChromePdfRenderer
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// Render a URL as a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, do the above in a single line
new ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
using IronPdf;
// Create an instance of the ChromePdfRenderer
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// Render a URL as a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, do the above in a single line
new ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
Imports IronPdf
' Create an instance of the ChromePdfRenderer
Private Renderer As New ChromePdfRenderer()
' Render a URL as a PDF and save it
Private Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")
' Alternatively, do the above in a single line
Call (New ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
在上面的範例中,我們可以使用兩種方法將連結轉換為文件。 一種方法是通過建立IronPDF物件來生成文件,另一種方法是建立RenderUrlAsPdf物件。
上面顯示的是我們可以使用RenderUrlAsPdf將其轉換為文件。 我們只需要傳遞連結和保存位置。
6.0 使用IronPDF從HTML字串建立PDF
我們可以在IronPDF的幫助下將HTML字串轉換為PDF文件。 以下是一個將HTML字串轉換為文件的範例。 它還有能力將任何HTML標籤轉換為PDF。
using IronPdf;
// Render an HTML string as a PDF and save it
new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
using IronPdf;
// Render an HTML string as a PDF and save it
new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
Imports IronPdf
' Render an HTML string as a PDF and save it
Call (New ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
上例展示了如何使用RenderHtmlAsPdf將HTML字串轉換。 此外,我們可以將任何數量的HTML程式碼提供給將HTML轉換為字串的函式。 我們可以在使用'另存為'功能檢索字串後保存文件。
Bootstrap功能矩陣
PDF生成工具必須支持企業應用程式的新式網頁框架。 此Bootstrap 5演示展示了IronPDF使用列表群組和狀態徽章的完整功能集。
using IronPdf;
var renderer = new ChromePdfRenderer();
string capabilityMatrix = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(capabilityMatrix);
pdf.SaveAs("capability-matrix.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string capabilityMatrix = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(capabilityMatrix);
pdf.SaveAs("capability-matrix.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim capabilityMatrix As String = "
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(capabilityMatrix)
pdf.SaveAs("capability-matrix.pdf")
輸出:帶有Bootstrap 5列表群組、徽章和卡片佈局的綜合功能矩陣PDF。 IronPDF完美呈現所有實用類、彈性盒對齊和響應式網格系統,展示了卓越的Bootstrap框架支持。
有關Bootstrap支持的更多資訊,請參閱Bootstrap & Flexbox CSS指南。
7.0 使用IronPDF讀取PDF
IronPDF是一個允許我們讀取現有PDF文件的程式。 以下是如何使用IronPDF讀取現有PDF的範例。
using IronPdf;
// Read an existing PDF file
var pdfDocument = PdfDocument.FromFile("result.pdf");
// Extract all text from the PDF
string AllText = pdfDocument.ExtractAllText();
using IronPdf;
// Read an existing PDF file
var pdfDocument = PdfDocument.FromFile("result.pdf");
// Extract all text from the PDF
string AllText = pdfDocument.ExtractAllText();
Imports IronPdf
' Read an existing PDF file
Private pdfDocument = PdfDocument.FromFile("result.pdf")
' Extract all text from the PDF
Private AllText As String = pdfDocument.ExtractAllText()
使用FromFile方法從現有文件中讀取PDF並將其轉換為PdfDocument物件,如上面的程式碼所示。 我們可以使用該物件讀取PDF頁面上可存取的文字和圖片。 該物件有一個名為ExtractAllText的方法,將所有文字從PDF文件中提取到字串中。
8.0 建立PDF查看器應用程式
可以按照以下步驟建立一個PDF查看器應用程式:
- 在Microsoft® Visual Studio中建立新的Windows Forms應用程式專案。
- 在表單上,從DX.21.2通用控制項工具箱選單中拖出PDF Viewer項。
- 在PDF Viewer控制項任務選單中,點擊其智能標記並選擇"停靠在父容器"。 這導致PDF Viewer擴展到表單的大小。
- 為了使用PDF Viewer控制項,您首先必須載入一個文件。 要存取PDF Viewer的活動列表,點擊其智能標記。 在操作列表中點擊"載入PDF"選項。
- 對話框"打開"顯示。 在此對話框中找到要打開的文件並點擊"打開"。
我們可以使用這些控制來執行以下任務:
瀏覽PDF文件
輕鬆地導航和探索PDF文件。查看器控制項提供了多種文件導航選項,包括:
- 書籤和連結
- 導航窗格(可自定義的文件導航UI)
- 所有頁面的縮略圖
- 帶有功能區的UI
查看器記錄了所有造訪過的頁面,並允許使用者在需要時在它們之間來回切換。 您還可以使用查找面板來搜尋PDF內容,就像在Adobe Reader中(選項包括區分大小寫和全字搜尋)。
檢查和註解
使用者可以新增、編輯和刪除註釋。 WinForms的查看器具有完整的註解功能,包括文字高亮器和便簽。
- 輕鬆協作
- 其他能力/選項包括:
- 可以新增回覆和評論
- 配置標記工具的選項(顏色和不透明度)
- 可以對註解進行排序、過濾和搜尋
- 一個全面的API
- 使用DevExpress放大和縮小。
可以填寫的PDF表單
AcroForms允許您編輯文件。 在將查看器新增到WinForms專案後,您的使用者將能夠編輯包含表單字段資料的任何PDF。 查看器中的每個字段都會根據其所屬的表單型別顯示,例如文字框、單選按鈕、帶自動完成的下拉框、複選框和列表。
如果您的PDF包含AcroForm資料,您可以從以下格式中匯入或匯出:FDF、XFDF、XML和TXT。
打開和保存已附加的文件
在DevExpress PDF Viewers的導航窗格中,顯示關聯的文件。 附加到文件的PDF可以打開並保存到磁盤上。 當打開與PDF連接的文件時,查看器還可以選擇顯示安全警告。
PDF列印
查看器配備了一個列印預覽對話框,其中包含一套完整的列印選項,靈感來自Adobe。 實時預覽、頁面範圍選擇、DPI設置和方向是其中的一部分。
9.0 結論
在本文中,我們比較了IronPDF和DevExpress。 這兩個程式庫中都有許多常見功能。 IronPDF考慮了使用者的Chrome設置來呈現HTML,但DevExpress在一個單獨的應引擎上運行,忽略當前使用者設置來呈現HTML。 IronPDF能夠比DevExpress更快地呈現HTML。
就性能而言,IronPDF在HTML-to-PDF生成任務中比DevExpress更快。 DevExpress PDF Viewer控制專注於顯示文件,而DevExpress.Pdf提供程式化的PDF功能。 IronPDF附帶了免版稅再分發範圍,需額外付費;請查看DevExpress授權條款以了解再分發詳情。 與DevExpress PDF控件相比,IronPDF提供了顯著更多的HTML-to-PDF生成功能。
總之,我們更喜歡IronPDF,因為它具有高性能和供開發人員使用的PDF廣泛多樣的功能。 IronPDF還提供良好的支持和文件確保使用者能夠充分有效地利用其提供的豐富功能集。
常見問題
如何在C#中將HTML轉換為PDF?
您可以使用IronPDF的RenderHtmlAsPdf方法將HTML字串轉換成PDF。也可以使用RenderHtmlFileAsPdf將HTML文件轉換為PDF。
IronPDF和DevExpress PDF Viewer有什麼不同?
IronPDF是一個多功能工具,用於在多個平台上建立、讀取和修改PDF,具有強大的HTML到PDF轉換能力。相反,DevExpress PDF Viewer主要側重於查看PDF,並支持文件註釋和表單填寫。
我可以使用程式庫從現有的PDF中提取文字和圖片嗎?
是的,IronPDF允許您通過其全面的API從現有的PDF文件中提取文字和圖片。
哪些平台支持IronPDF進行PDF管理?
IronPDF支持包括Windows Forms、ASP.NET、.NET Core、WPF、Xamarin、Blazor、Unity以及HoloLens應用程式在內的多個平台。
如何在.NET專案中安裝IronPDF?
可以使用Visual Studio的NuGet Package Manager、Visual Studio命令行,或直接從NuGet或IronPDF網站下載,在.NET專案中安裝IronPDF。
為什麼開發人員可能會選擇IronPDF而不是DevExpress PDF Viewer?
開發人員可能更喜歡IronPDF,因為其廣泛的功能,包括HTML到PDF轉換、互動式PDF建立和穩健的性能。它還提供了優秀的支持和文件,使其成為比DevExpress更受青睞的選擇。
使用PDF程式庫時一些常見的故障排除場景是什麼?
常見的故障排除場景包括確保正確安裝程式庫、驗證與.NET版本的相容性,以及在PDF建立或轉換期間處理與文件路徑或權限相關的例外情況。
在選擇PDF管理程式庫時,我應該關注哪些功能?
關鍵功能包括HTML到PDF轉換、文字和圖片提取、互動式表單、文件自定義選項以及對各種平台的支持。IronPDF提供了所有這些功能,使其成為PDF管理的綜合選擇。



