如何在 C# 中從 PdfiumViewer 轉移到 IronPDF
從PdfiumViewer遷移到 IronPdf:完整的 C# 遷移指南。
從PdfiumViewer轉換到 IronPDF,可將您的 .NET PDF 工作流程從一個具有本機二進位依賴關係的 Windows Forms 檢視專用函式庫,轉換為一個全面的 PDF 解決方案,可在所有 .NET 應用程式類型中處理建立、處理、文字萃取和渲染。本指南提供了一個完整、逐步的遷移路徑,可消除平台限制,同時增加PdfiumViewer無法提供的功能。
為何要從PdfiumViewer轉移到 IronPDF?
瞭解 PdfiumViewer
PdfiumViewer 是 PDFium 的 .NET wrapper,PDFium 是 Google 在 Chrome 瀏覽器中使用的 PDF 渲染引擎。 它提供了一個簡單但強大的解決方案,可將 PDF 檢視直接整合到 Windows Forms 應用程式中,提供高效能、高逼真度的 PDF 呈現能力。
然而,重要的是要記住PdfiumViewer只是一個檢視器。 它不支援 PDF 的建立、編輯或處理,這可能會限制對檢視功能有更多需求的應用程式。 此外,其不確定的維護狀態也為生產應用程式帶來風險 - 其持續開發與維護存在一定的不確定性,這可能是長期專案的顧慮。
PdfiumViewer的關鍵限制
1.僅檢視功能:無法從 HTML、影像或程式化方式建立 PDF。PdfiumViewer的功能僅限於檢視 PDF - 與IronPDF等函式庫不同,它不支援 PDF 的建立、編輯、合併或其他操作功能。
2.Windows Forms Specific:本庫專注於 Windows Forms 應用程式,不提供其他使用者介面框架的支援。
3.無 PDF 操作:無法合併、分割或修改 PDF 內容。
4.原生二進位相依性:需要特定平台的 PDFium 二進位檔案 (x86 和 x64 pdfium.dll 檔案)。
5.不確定的維護:更新有限,長期支援不明確。
6.無文字萃取:PdfiumViewer 沒有內建文字擷取功能,您需要使用 OCR 或其他函式庫。 它只能將頁面呈現為影像。
7.No HTML to PDF:PdfiumViewer 主要是 PDF 檢視器/渲染器,而不是產生器。 無法直接將 HTML 轉換成 PDF。 您需要使用 wkhtmltopdf 或類似的其他函式庫。
8.無標題/頁腳:不能添加頁碼或重複內容。
9.無水印:無法在文件上蓋上覆蓋圖章。
10.無安全功能:無法加密或以密碼保護 PDF。
PdfiumViewer與IronPDF的比較
| 範疇 | PdfiumViewer | IronPDF |
|---|---|---|
| 主要焦點 | WinForms PDF 檢視器 | 完整的 PDF 解決方案 |
| 執照 | Apache 2.0 | 商業的 |
| PDF製作 | ✗ | ✓(HTML、URL、圖片) |
| PDF 操作 | ✗ | ✓(合併、分割、編輯) |
| HTML至PDF | ✗ | ✓(Chromium 引擎) |
| 文字萃取 | ✗ | ✓ |
| 水印。 | ✗ | ✓ |
| 頁首/頁腳 | ✗ | ✓ |
| 安全性 | ✗ | ✓ |
| 內建檢視器 | ✓ | ✗(注重後端) |
| 平台支援 | 僅限 Windows Forms | 控制台、Web、桌面 |
| 框架支援 | .NET Framework | .NET Framework, Core, 5+。 |
| 維護 | 不確定 | 積極的 |
對於計劃在 2025 年和 2026 年之前採用 .NET 10 和 C# 14 的團隊而言,IronPDF for .NET 提供了一個全面的、積極維護的基礎,可在所有 .NET 應用程式類型中運作,消除了 Windows Forms 限制和本機二進位的複雜性。
開始之前
先決條件
1..NET 環境:.NET Framework 4.6.2+ 或 .NET Core 3.1+ / .NET 5/6/7/8/9+ 2.NuGet存取:安裝 NuGet 套件的能力 3.IronPDF 授權:從IronPdf.com取得您的授權金鑰。
NuGet 套件變更
# RemovePdfiumViewerpackages
dotnet remove package PdfiumViewer
dotnet remove package PdfiumViewer.Native.x86.v8-xfa
dotnet remove package PdfiumViewer.Native.x64.v8-xfa
# Install IronPDF
dotnet add package IronPdf# RemovePdfiumViewerpackages
dotnet remove package PdfiumViewer
dotnet remove package PdfiumViewer.Native.x86.v8-xfa
dotnet remove package PdfiumViewer.Native.x64.v8-xfa
# Install IronPDF
dotnet add package IronPdf授權組態
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IRON VB CONVERTER ERROR developers@ironsoftware.com辨識PdfiumViewer使用方式
# FindPdfiumViewerusage
grep -r "PdfiumViewer\|PdfViewer\|PdfDocument\.Load" --include="*.cs" .
# Find native binary references
grep -r "pdfium\.dll\|Native\.x86\|Native\.x64" --include="*.csproj" .
# Find viewer control usage
grep -r "PdfViewer" --include="*.cs" --include="*.Designer.cs" .# FindPdfiumViewerusage
grep -r "PdfiumViewer\|PdfViewer\|PdfDocument\.Load" --include="*.cs" .
# Find native binary references
grep -r "pdfium\.dll\|Native\.x86\|Native\.x64" --include="*.csproj" .
# Find viewer control usage
grep -r "PdfViewer" --include="*.cs" --include="*.Designer.cs" .完整的 API 參考資料
命名空間變更
// PdfiumViewer
using PdfiumViewer;
// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;// PdfiumViewer
using PdfiumViewer;
// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;IRON VB CONVERTER ERROR developers@ironsoftware.com核心類對應
| PdfiumViewer | IronPDF | 筆記 |
|---|---|---|
| <編碼>PDF 文件</編碼 | <編碼>PDF 文件</編碼 | 相同的名稱,不同的功能 |
| <編碼>PdfViewer</編碼 | (無對應詞) | IronPdf 以後台為重點 |
PdfRenderer | <代碼>ChromePdfRenderer</代碼 | PDF 建立 |
| (不可用) | <編碼>HtmlHeaderFooter</編碼 | 標題/頁腳 |
文件載入映射
| PdfiumViewer | IronPDF | 筆記 |
|---|---|---|
| <代碼>PdfDocument.Load(path)</代碼 | PdfDocument.FromFile(path) | 從檔案載入 |
| <代碼>PdfDocument.Load(stream)</代碼 | PdfDocument.FromStream(stream) | 從串流載入 |
| <代碼>PdfDocument.Load(bytes)</代碼 | <代碼>PdfDocument.FromBinaryData(bytes)</代碼 | 從字節載入 |
文件屬性對應
| PdfiumViewer | IronPDF | 筆記 |
|---|---|---|
| <編碼>document.PageCount</編碼 | <編碼>document.PageCount</編碼 | 內容相同 |
| <編碼>document.PageSizes</編碼 | <編碼>document.Pages[i].寬度/高度</編碼 | 每頁存取 |
document.GetPageSize(index) | <編碼>document.Pages[index].寬度/高度</編碼 | 直接屬性 |
頁面渲染對應
| PdfiumViewer | IronPDF | 筆記 |
|---|---|---|
document.Render(pageIndex,dpiX,dpiY,forPrinting) | pdf.ToBitmap(pageIndex)。 | 返回位圖陣列 |
document.Render(pageIndex, width, height, dpiX, dpiY, flags)<br | <代碼>pdf.RasterizeToImageFiles(路徑, dpi)</ 代碼 | 批量渲染 |
儲存文件映射
| PdfiumViewer | IronPDF | 筆記 |
|---|---|---|
| <編碼>document.Save(路徑)</編碼 | <代碼>pdf.SaveAs(路徑)</代碼 | 不同的方法名稱 |
document.Save(stream)。 | <代碼>pdf.Stream</代碼 | 存取流 |
| (不可用) | <編碼>pdf.BinaryData</編碼 | 取得 bytes |
PdfiumViewer中沒有的新功能
| IronPdf 特點 | 說明 |
|---|---|
| <代碼>pdf.ExtractAllText()</代碼 | 從所有頁面中擷取文字 |
pdf.ExtractTextFromPage(index)。 | 從特定頁面擷取文字 |
| <代碼>ChromePdfRenderer.RenderHtmlAsPdf()</代碼 | 從 HTML 建立 |
| <代碼>ChromePdfRenderer.RenderUrlAsPdf()</代碼 | 從 URL 建立 |
| <代碼>PdfDocument.Merge()</代碼 | 結合 PDF |
| <代碼>pdf.CopyPages()</代碼 | 摘錄頁面 |
| <代碼>pdf.RemovePages()</代碼 | 刪除頁面 |
| <代碼>pdf.ApplyWatermark()</代碼 | 加入水印 |
| <代碼>pdf.AddHtmlHeaders()</代碼 | 新增標頭 |
| <代碼>pdf.AddHtmlFooters()</代碼 | 新增頁腳 |
| <編碼>pdf.SecuritySettings</編碼 | 密碼保護 |
| <代碼>pdf.Form</代碼 | 表格填寫 |
程式碼遷移範例
範例 1:從 PDF 擷取文字
之前 (PdfiumViewer):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;
string pdfPath = "document.pdf";
// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
int pageCount = document.PageCount;
Console.WriteLine($"Total pages: {pageCount}");
// PDFiumViewer does not have built-in text extraction
// You would need to use OCR or another library
// It can only render pages as images
for (int i = 0; i < pageCount; i++)
{
var pageImage = document.Render(i, 96, 96, false);
Console.WriteLine($"Rendered page {i + 1}");
}
}// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;
string pdfPath = "document.pdf";
// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
int pageCount = document.PageCount;
Console.WriteLine($"Total pages: {pageCount}");
// PDFiumViewer does not have built-in text extraction
// You would need to use OCR or another library
// It can only render pages as images
for (int i = 0; i < pageCount; i++)
{
var pageImage = document.Render(i, 96, 96, false);
Console.WriteLine($"Rendered page {i + 1}");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string pdfPath = "document.pdf";
// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);
// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");
Console.WriteLine($"\nTotal pages: {pdf.PageCount}");// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string pdfPath = "document.pdf";
// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);
// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");
Console.WriteLine($"\nTotal pages: {pdf.PageCount}");IRON VB CONVERTER ERROR developers@ironsoftware.com這個範例突顯了一個基本的能力差距。PdfiumViewer 明確指出它"沒有內建文字擷取功能",而且"您需要使用 OCR 或其他函式庫"- 它只能將頁面呈現為影像。 如果您需要使用PdfiumViewer從 PDF 中取得文字,您必須渲染為影像並執行 OCR。
IronPDF 提供原生文字擷取功能,可使用 ExtractAllText() 擷取整個文件的文字,或使用 ExtractTextFromPage(index) 擷取特定頁面的文字。 無需 OCR、無需變通 - 直接從 PDF 內容擷取文字。 請參閱 文字萃取文件,以瞭解其他選項。
範例 2:HTML 到 PDF 的轉換
之前 (PdfiumViewer):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:
string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
// Can only render/display existing PDF
var image = document.Render(0, 300, 300, true);
}// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:
string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
// Can only render/display existing PDF
var image = document.Render(0, 300, 300, true);
}IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");IRON VB CONVERTER ERROR developers@ironsoftware.com本範例展示了兩個函式庫最顯著的功能差異。PdfiumViewer明確指出"PDFiumViewer 並無此功能"以及"您需要不同的函式庫,例如 wkhtmltopdf 或類似的函式庫"-PdfiumViewer 只能開啟並顯示現有的 PDF。
IronPDF 透過<代碼>ChromePdfRenderer</代碼提供原生 HTML 至 PDF 的轉換,其內部使用 Chromium 引擎來精確呈現 HTML、CSS 和 JavaScript。 RenderHtmlAsPdf() 方法可將 HTML 字串直接轉換為 PDF 文件。IronPDF也可以使用 RenderUrlAsPdf() 渲染 URL,以及使用 RenderHtmlFileAsPdf() 渲染 HTML 檔案。 請參閱 HTML to PDF 文件,以瞭解全面的範例。
範例 3:PDF 至圖片轉換
之前 (PdfiumViewer):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
// Render first page at 300 DPI
int dpi = 300;
using (var image = document.Render(0, dpi, dpi, true))
{
// Save as PNG
image.Save(outputImage, ImageFormat.Png);
Console.WriteLine($"Page rendered to {outputImage}");
}
// Render all pages
for (int i = 0; i < document.PageCount; i++)
{
using (var pageImage = document.Render(i, 150, 150, true))
{
pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
}
}
}// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
// Render first page at 300 DPI
int dpi = 300;
using (var image = document.Render(0, dpi, dpi, true))
{
// Save as PNG
image.Save(outputImage, ImageFormat.Png);
Console.WriteLine($"Page rendered to {outputImage}");
}
// Render all pages
for (int i = 0; i < document.PageCount; i++)
{
using (var pageImage = document.Render(i, 150, 150, true))
{
pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
}
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Linq;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");
// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
allPageImages[i].Save($"page_{i + 1}.png");
Console.WriteLine($"Saved page {i + 1}");
}
Console.WriteLine($"Total pages converted: {pdf.PageCount}");// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Linq;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");
// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
allPageImages[i].Save($"page_{i + 1}.png");
Console.WriteLine($"Saved page {i + 1}");
}
Console.WriteLine($"Total pages converted: {pdf.PageCount}");IRON VB CONVERTER ERROR developers@ironsoftware.com這是PdfiumViewer的優勢之一-PDF 圖檔渲染為影像是它的主要強項。 這兩個函式庫都能有效處理這項任務,但模式不同。
PdfiumViewer 使用document.Render(pageIndex,dpiX,dpiY,forPrinting)搭配嵌套的 using 語句進行適當的處理。 您需要匯入 System.Drawing 和 System.Drawing.Imaging 以取得 ImageFormat 枚舉。
IronPDF 使用pdf.ToBitmap(pageIndex)。產生位圖陣列。 模式較簡單,沒有嵌套處置的要求。 對於批次作業,ToBitmap() 不含參數會返回所有頁面。 您也可以使用 RasterizeToImageFiles() 直接輸出檔案。 請參閱 PDF轉圖像文件,以瞭解其他渲染選項。
原生依賴移除
從PdfiumViewer轉移到IronPDF的顯著好處之一,就是省去原生二進位管理。
之前 (PdfiumViewer) - 複雜的部署。
MyApp/
├─── bin/
│ ├── MyApp.dll
│ ├── PdfiumViewer.dll
│ ├── x86/
│ │ └── pdfium.dll
│ └── x64/
│ └── pdfium.dllAfter (IronPDF) - 乾淨部署。
MyApp/
├─── bin/
│ ├── MyApp.dll
│ └─── IronPdf.dll # 包含的所有內容移除原生二進位引用
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/
# Remove from .csproj native package references
# <PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" />
# <PackageReference Include="PdfiumViewer.Native.x64.v8-xfa" /># Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/
# Remove from .csproj native package references
# <PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" />
# <PackageReference Include="PdfiumViewer.Native.x64.v8-xfa" />關鍵遷移注意事項
無內建檢視器控制
IronPDF 著重於後端,不包含可視化 PDF 檢視器控制:
// PdfiumViewer: Built-in viewer control
pdfViewer.Document = document;
// IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath);
Process.Start(new ProcessStartInfo(tempPath) { UseShellExecute = true });// PdfiumViewer: Built-in viewer control
pdfViewer.Document = document;
// IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath);
Process.Start(new ProcessStartInfo(tempPath) { UseShellExecute = true });IRON VB CONVERTER ERROR developers@ironsoftware.com針對檢視需求,可考慮使用 Process.Start() 在預設的 PDF 檢視器、具有 PDF 路徑的 WebBrowser 控制項,或 Syncfusion、DevExpress 或 Telerik 等第三方檢視器控制項中開啟。
文件載入方法變更
// PdfiumViewer
PdfDocument.Load(path)
// IronPDF
PdfDocument.FromFile(path)// PdfiumViewer
PdfDocument.Load(path)
// IronPDF
PdfDocument.FromFile(path)IRON VB CONVERTER ERROR developers@ironsoftware.com儲存方法變更
// PdfiumViewer
document.Save(path)
// IronPDF
pdf.SaveAs(path)// PdfiumViewer
document.Save(path)
// IronPDF
pdf.SaveAs(path)IRON VB CONVERTER ERROR developers@ironsoftware.com渲染方法變更
// PdfiumViewer: Returns image with nested using
using (var image = document.Render(0, 150, 150, true))
{
image.Save("page.png", ImageFormat.Png);
}
// IronPDF: Returns bitmap array
var images = pdf.ToBitmap(0);
images[0].Save("page.png");// PdfiumViewer: Returns image with nested using
using (var image = document.Render(0, 150, 150, true))
{
image.Save("page.png", ImageFormat.Png);
}
// IronPDF: Returns bitmap array
var images = pdf.ToBitmap(0);
images[0].Save("page.png");IRON VB CONVERTER ERROR developers@ironsoftware.com頁面大小存取變更
// PdfiumViewer
var size = document.PageSizes[index];
Console.WriteLine($"{size.Width} x {size.Height}");
// IronPDF
var page = pdf.Pages[index];
Console.WriteLine($"{page.Width} x {page.Height}");// PdfiumViewer
var size = document.PageSizes[index];
Console.WriteLine($"{size.Width} x {size.Height}");
// IronPDF
var page = pdf.Pages[index];
Console.WriteLine($"{page.Width} x {page.Height}");IRON VB CONVERTER ERROR developers@ironsoftware.com功能比較摘要
| 特點 | PdfiumViewer | IronPDF |
|---|---|---|
| 載入 PDF | ✓ | ✓ |
| 渲染至圖片 | ✓ | ✓ |
| 內建檢視器 | ✓ | ✗ |
| 列印 PDF | ✓ | ✓ |
| 擷取文字 | ✗ | ✓ |
| 從 HTML 建立 | ✗ | ✓ |
| 從 URL 建立 | ✗ | ✓ |
| 合併 PDF | ✗ | ✓ |
| 分割 PDF | ✗ | ✓ |
| 添加水印 | ✗ | ✓ |
| 頁首/頁尾 | ✗ | ✓ |
| 表格填寫 | ✗ | ✓ |
| 密碼保護 | ✗ | ✓ |
| WinForms 支援 | ✓ | ✓ |
| ASP.NET 支援 | ✗ | ✓ |
| .NET Core 支援 | 限額 | ✓ |
| 主動維護 | 不確定 | ✓ |
遷移清單
預遷移
- [確認程式碼中所有PdfiumViewer的用法
- [ ] 使用 PdfViewer 控件列出 WinForms
- [ ] 記錄目前的渲染 DPI 設定
- [ ] 檢查本機二進位參考
- [ ] 識別列印功能用法
- [ ] 計劃檢視器控制取代策略
- [ ] 獲得 IronPdf 授權金鑰
套件變更
- [ ] 移除
PdfiumViewerNuGet 套件 - [ ] 移除
PdfiumViewer.Native.x86.v8-xfa套件 - [ ] 移除
PdfiumViewer.Native.x64.v8-xfa套件 - [ ] 刪除 x86/ 和 x64/ 資料夾中的原生 pdfium.dll 二進位檔
- [ ] 安裝
IronPDFNuGet 套件:dotnet add package IronPdf。
程式碼變更
- [ ] 在啟動時加入授權金鑰組態
- [ ] 使用
PdfDocument.FromFile()取代PdfDocument.Load()。 - [ ] 將
document.Save()替換為pdf.SaveAs()。 - [ ] 將
document.Render()替換為pdf.ToBitmap()或RasterizeToImageFiles()。 - [ ] 將
document.PageSizes[i]替換為pdf.Pages[i].Width/Height。 - [ ] 使用外部檢視器或 Process.Start() 取代 PdfViewer 控件
- [ ] 新增功能 (文字擷取、HTML 至 PDF 等)
後遷移
- [ ] 測試渲染輸出品質
- [ ] 測試列印功能
- [ ] 在目標平台上進行測試
- [ ] 新增功能(HTML 至 PDF、合併、水印、安全性)
- [ ] 更新文件
結論
從PdfiumViewer轉換到 IronPDF,可將您的 PDF 工作流程從僅用 Windows Forms 檢視的函式庫,轉換為具有跨所有 .NET 應用程式類型的建立、操作、文字萃取和渲染功能的全面 PDF 解決方案。
本次轉換的主要變更如下 1.範圍:僅供檢視 → 完整的 PDF 解決方案 2.平台:僅限 Windows 窗體 → 所有 .NET 應用程式類型 3.檢視器:內建控制 → 重於後端 (使用外部檢視器) 4.載入:PdfDocument.Load() → PdfDocument.FromFile() 5.儲存:Save() → SaveAs() 6.渲染:Render(index, dpi, dpi, flag) → ToBitmap(index) 或 RasterizeToImageFiles() 。 7.新功能:文字萃取、HTML 至 PDF、合併、水印、安全性、表單等功能






