跳過到頁腳內容
遷移指南

如何在 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的比較

範疇PdfiumViewerIronPDF
主要焦點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
SHELL

授權組態

// 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
$vbLabelText   $csharpLabel

辨識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" .
SHELL

完整的 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
$vbLabelText   $csharpLabel

核心類對應

PdfiumViewerIronPDF筆記
<編碼>PDF 文件</編碼<編碼>PDF 文件</編碼相同的名稱,不同的功能
<編碼>PdfViewer</編碼(無對應詞)IronPdf 以後台為重點
PdfRenderer<代碼>ChromePdfRenderer</代碼PDF 建立
(不可用)<編碼>HtmlHeaderFooter</編碼標題/頁腳

文件載入映射

PdfiumViewerIronPDF筆記
<代碼>PdfDocument.Load(path)</代碼PdfDocument.FromFile(path)從檔案載入
<代碼>PdfDocument.Load(stream)</代碼PdfDocument.FromStream(stream)從串流載入
<代碼>PdfDocument.Load(bytes)</代碼<代碼>PdfDocument.FromBinaryData(bytes)</代碼從字節載入

文件屬性對應

PdfiumViewerIronPDF筆記
<編碼>document.PageCount</編碼<編碼>document.PageCount</編碼內容相同
<編碼>document.PageSizes</編碼<編碼>document.Pages[i].寬度/高度</編碼每頁存取
document.GetPageSize(index)<編碼>document.Pages[index].寬度/高度</編碼直接屬性

頁面渲染對應

PdfiumViewerIronPDF筆記
document.Render(pageIndex,dpiX,dpiY,forPrinting)pdf.ToBitmap(pageIndex)返回位圖陣列
document.Render(pageIndex, width, height, dpiX, dpiY, flags)<br<代碼>pdf.RasterizeToImageFiles(路徑, dpi)</ 代碼批量渲染

儲存文件映射

PdfiumViewerIronPDF筆記
<編碼>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.com
$vbLabelText   $csharpLabel

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

這個範例突顯了一個基本的能力差距。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.com
$vbLabelText   $csharpLabel

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

本範例展示了兩個函式庫最顯著的功能差異。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.com
$vbLabelText   $csharpLabel

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

這是PdfiumViewer的優勢之一-PDF 圖檔渲染為影像是它的主要強項。 這兩個函式庫都能有效處理這項任務,但模式不同。

PdfiumViewer 使用document.Render(pageIndex,dpiX,dpiY,forPrinting)搭配嵌套的 using 語句進行適當的處理。 您需要匯入 System.DrawingSystem.Drawing.Imaging 以取得 ImageFormat 枚舉。

IronPDF 使用pdf.ToBitmap(pageIndex)。產生位圖陣列。 模式較簡單,沒有嵌套處置的要求。 對於批次作業,ToBitmap() 不含參數會返回所有頁面。 您也可以使用 RasterizeToImageFiles() 直接輸出檔案。 請參閱 PDF轉圖像文件,以瞭解其他渲染選項。


原生依賴移除

從PdfiumViewer轉移到IronPDF的顯著好處之一,就是省去原生二進位管理。

之前 (PdfiumViewer) - 複雜的部署。

MyApp/
├─── bin/
│ ├── MyApp.dll
│ ├── PdfiumViewer.dll
│ ├── x86/
│ │ └── pdfium.dll
│ └── x64/
│ └── pdfium.dll

After (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" />
SHELL

關鍵遷移注意事項

無內建檢視器控制

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
$vbLabelText   $csharpLabel

針對檢視需求,可考慮使用 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
$vbLabelText   $csharpLabel

儲存方法變更

// PdfiumViewer
document.Save(path)

// IronPDF
pdf.SaveAs(path)
// PdfiumViewer
document.Save(path)

// IronPDF
pdf.SaveAs(path)
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

渲染方法變更

// 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
$vbLabelText   $csharpLabel

頁面大小存取變更

// 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
$vbLabelText   $csharpLabel

功能比較摘要

特點PdfiumViewerIronPDF
載入 PDF
渲染至圖片
內建檢視器
列印 PDF
擷取文字
從 HTML 建立
從 URL 建立
合併 PDF
分割 PDF
添加水印
頁首/頁尾
表格填寫
密碼保護
WinForms 支援
ASP.NET 支援
.NET Core 支援限額
主動維護不確定

遷移清單

預遷移

  • [確認程式碼中所有PdfiumViewer的用法
  • [ ] 使用 PdfViewer 控件列出 WinForms
  • [ ] 記錄目前的渲染 DPI 設定
  • [ ] 檢查本機二進位參考
  • [ ] 識別列印功能用法
  • [ ] 計劃檢視器控制取代策略
  • [ ] 獲得 IronPdf 授權金鑰

套件變更

  • [ ] 移除 PdfiumViewer NuGet 套件
  • [ ] 移除 PdfiumViewer.Native.x86.v8-xfa 套件
  • [ ] 移除 PdfiumViewer.Native.x64.v8-xfa 套件
  • [ ] 刪除 x86/ 和 x64/ 資料夾中的原生 pdfium.dll 二進位檔
  • [ ] 安裝 IronPDF NuGet 套件: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、合併、水印、安全性、表單等功能

探索完整的 IronPDF文件教程API參考,加速您的PdfiumViewer遷移。

Curtis Chau
技術作家

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

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