Wie man von Pdfium zu IronPDF in C# migriert
Durch die Migration von Pdfium.NET zu IronPDF wird Ihr .NET-PDF-Workflow von einer auf das Rendering ausgerichteten Bibliothek mit nativen Binärabhängigkeiten zu einer umfassenden PDF-Lösung, die die Erstellung, Bearbeitung und das Rendering ohne plattformspezifische Komplexität ermöglicht. Dieser Leitfaden bietet einen vollständigen, schrittweisen Migrationspfad, der das native Abhängigkeitsmanagement eliminiert und gleichzeitig Funktionen hinzufügt, die Pdfium nicht bieten kann.
Warum von Pdfium zu IronPDF migrieren
Pdfium.NET kennenlernen
Pdfium.NET ist ein .NET-Wrapper für die PDFium-Bibliothek von Google, die für ihre Effizienz und Geschwindigkeit beim Rendern von PDF-Dokumenten bekannt ist. Sie hat sich zu einer bedeutenden Bibliothek für Entwickler entwickelt, die sich mit den Feinheiten der PDF-Wiedergabe in C#-Anwendungen befassen und bietet eine originalgetreue Replikation von PDF-Inhalten in .NET-Umgebungen.
Allerdings sind die Möglichkeiten von Pdfium.NET zur Erstellung und Bearbeitung von PDF-Dokumenten trotz seiner hervorragenden Rendering-Fähigkeiten begrenzt. Sie ist hauptsächlich für Anwendungen gedacht, die eine genaue Anzeige von PDF-Inhalten erfordern und weniger auf die Änderung oder Erstellung neuer PDFs ausgerichtet sind.
Kritische Pdfium-Einschränkungen
-
Fokus auf reines Rendern: Es können keine PDFs aus HTML, Bildern oder programmatisch erstellt werden. Die Fähigkeiten von Pdfium beschränken sich auf das Anzeigen und Rendern von PDFs.
-
Keine PDF-Manipulation: PDF-Inhalte können nicht zusammengeführt, aufgeteilt oder verändert werden. PDF-Zusammenführung wird nicht nativ unterstützt - Sie müssten eine andere Bibliothek wie iTextSharp oder PdfSharp verwenden.
-
Native Binary Dependencies: Erfordert plattformspezifische PDFium-Binärdateien. Entwickler müssen native PDFium-Binärdateien verwalten, ein Aspekt, der die Komplexität bei der Bereitstellung und Verteilung erhöht.
-
Bereitstellungskomplexität: Es müssen native DLLs pro Plattform mit x86-, x64- und Laufzeitordnern gebündelt und verwaltet werden.
-
Eingeschränkte Textextraktion: Extraktion von einfachem Text ohne Formatierung. Die Textextraktion erfordert zusätzliche Arbeit mit Pdfium.NET.
-
Kein HTML zu PDF: Webinhalte können nicht in PDF konvertiert werden. Die Konvertierung von HTML in PDF wird in Pdfium.NET nicht nativ unterstützt.
-
Keine Kopf-/Fußzeilen: Es können keine Seitenzahlen oder sich wiederholende Inhalte hinzugefügt werden.
-
Keine Wasserzeichen: Dokumente dürfen nicht mit Overlays versehen werden.
-
Keine Formularunterstützung: PDF-Formulare können weder ausgefüllt noch gelesen werden.
- Keine Sicherheitsfunktionen: PDFs können nicht verschlüsselt oder mit einem Passwort geschützt werden.
Vergleich zwischen Pdfium und IronPDF
| Aspekt | Pdfium.NET | IronPDF |
|---|---|---|
| Primärer Schwerpunkt | Rendering/Betrachtung | Vollständige PDF-Lösung |
| Wiedergabetreue | Naturgetreues Rendering | Hoch, insbesondere für HTML/CSS/JS |
| PDF-Erstellung | ✗ | ✓(HTML, URL, Bilder) |
| PDF-Bearbeitung | ✗ | ✓(zusammenführen, teilen, bearbeiten) |
| HTML zu PDF | ✗ | ✓(Chromium-Engine) |
| Wasserzeichen | ✗ | ✓ |
| Kopf-/Fußzeilen | ✗ | ✓ |
| Formularausfüllen | ✗ | ✓ |
| Sicherheit | ✗ | ✓ |
| Native Abhängigkeiten | Erforderlich | Keine (vollständig verwaltet) |
| Plattformübergreifend | Komplexe Einrichtung | Automatisch |
| Benutzerfreundlichkeit | Kompliziert durch native Abhängigkeiten | Einfacher; weniger Komplikationen durch Abhängigkeiten |
Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietet IronPDF eine vollständig verwaltete Grundlage, die das native Binärmanagement überflüssig macht und gleichzeitig umfassende Funktionen zur Erstellung und Bearbeitung von PDF-Dateien bietet.
Bevor Sie beginnen
Voraussetzungen
- .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
- IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.
NuGet-Paketänderungen
# Remove Pdfium packages
dotnet remove package Pdfium.NET
dotnet remove package Pdfium.Net.SDK
dotnet remove package PdfiumViewer
# Install IronPDF
dotnet add package IronPdf
# Remove Pdfium packages
dotnet remove package Pdfium.NET
dotnet remove package Pdfium.Net.SDK
dotnet remove package PdfiumViewer
# Install IronPDF
dotnet add package IronPdf
Lizenz-Konfiguration
// 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";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Pdfium-Verwendung identifizieren
# Find Pdfium usage
grep -r "Pdfium\|PdfDocument\.Load\|\.Render\(" --include="*.cs" .
# Find native binary references
grep -r "pdfium\.dll\|pdfium\.so\|pdfium\.dylib" --include="*.csproj" --include="*.config" .
# Find platform-specific code
grep -r "#if.*64\|WIN32\|WIN64\|LINUX\|OSX" --include="*.cs" .
# Find Pdfium usage
grep -r "Pdfium\|PdfDocument\.Load\|\.Render\(" --include="*.cs" .
# Find native binary references
grep -r "pdfium\.dll\|pdfium\.so\|pdfium\.dylib" --include="*.csproj" --include="*.config" .
# Find platform-specific code
grep -r "#if.*64\|WIN32\|WIN64\|LINUX\|OSX" --include="*.cs" .
Komplette API-Referenz
Namensraumänderungen
// Pdfium.NET
using Pdfium;
using Pdfium.Net;
using PdfiumViewer;
// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
// Pdfium.NET
using Pdfium;
using Pdfium.Net;
using PdfiumViewer;
// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
Imports Pdfium
Imports Pdfium.Net
Imports PdfiumViewer
Imports IronPdf
Imports IronPdf.Rendering
Imports IronPdf.Editing
Kernklassen-Zuordnungen
| Pdfium.NET | IronPDF |
|---|---|
PdfDocument |
PdfDocument |
PdfPage |
PdfPage |
PdfPageCollection |
PdfPageCollection |
| (nicht verfügbar) | ChromePdfRenderer |
| (nicht verfügbar) | HtmlHeaderFooter |
Zuordnungen beim Laden von Dokumenten
| Pdfium.NET | IronPDF |
|---|---|
PdfDocument.Load(path) |
PdfDocument.FromFile(path) |
PdfDocument.Load(stream) |
PdfDocument.FromStream(stream) |
PdfDocument.Load(bytes) |
PdfDocument.FromBinaryData(bytes) |
new PdfDocument(path) |
PdfDocument.FromFile(path) |
Zuordnungen von Dokumenteigenschaften
| Pdfium.NET | IronPDF |
|---|---|
document.PageCount |
document.PageCount |
document.Pages |
document.Pages |
document.Pages[index] |
document.Pages[index] |
document.GetPageSize(index) |
document.Pages[index].Width/Height |
Textextraktions-Zuordnungen
| Pdfium.NET | IronPDF |
|---|---|
document.GetPdfText(pageIndex) |
document.Pages[index].Text |
| (manuelle Schleife)_ | document.ExtractAllText() |
page.GetTextBounds() |
page.Text |
Zuordnungen von Dokumenten speichern
| Pdfium.NET | IronPDF |
|---|---|
document.Save(path) |
document.SaveAs(path) |
document.Save(stream) |
document.Stream |
| (nicht verfügbar) | document.BinaryData |
Seiten-Rendering-Zuordnungen
| Pdfium.NET | IronPDF |
|---|---|
page.Render(width, height) |
pdf.RasterizeToImageFiles(path, dpi) |
page.Render(width, height, flags) |
DPI-Parameter |
document.Render(index, width, height) |
pdf.RasterizeToImageFiles() |
page.RenderToScale(scale) |
DPI: 72 * scale |
Neue Funktionen, die in Pdfium nicht verfügbar sind
| IronPDFMerkmal | Beschreibung |
|---|---|
ChromePdfRenderer.RenderHtmlAsPdf() |
Aus HTML erstellen |
ChromePdfRenderer.RenderUrlAsPdf() |
Von URL erstellen |
ChromePdfRenderer.RenderHtmlFileAsPdf() |
Aus HTML-Datei erstellen |
PdfDocument.Merge() |
PDFs kombinieren |
pdf.CopyPages() |
Seiten extrahieren |
pdf.RemovePages() |
Seiten löschen |
pdf.InsertPdf() |
PDF an dieser Stelle einfügen |
pdf.ApplyWatermark() |
Wasserzeichen hinzufügen |
pdf.AddHtmlHeaders() |
Kopfzeilen hinzufügen |
pdf.AddHtmlFooters() |
Fußzeilen hinzufügen |
pdf.SecuritySettings |
Passwortschutz |
pdf.SignWithDigitalSignature() |
Digitale Signaturen |
pdf.Form |
Ausfüllen von Formularen |
Beispiele für die Code-Migration
Beispiel 1: Textextraktion aus PDF
Vor (Pdfium):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
using (var document = PdfDocument.Load(pdfPath))
{
StringBuilder text = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
// Note: PdfiumViewer has limited text extraction capabilities
// Text extraction requires additional work with Pdfium.NET
string pageText = document.GetPdfText(i);
text.AppendLine(pageText);
}
Console.WriteLine(text.ToString());
}
}
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
using (var document = PdfDocument.Load(pdfPath))
{
StringBuilder text = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
// Note: PdfiumViewer has limited text extraction capabilities
// Text extraction requires additional work with Pdfium.NET
string pageText = document.GetPdfText(i);
text.AppendLine(pageText);
}
Console.WriteLine(text.ToString());
}
}
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Text
Module Program
Sub Main()
Dim pdfPath As String = "document.pdf"
Using document = PdfDocument.Load(pdfPath)
Dim text As New StringBuilder()
For i As Integer = 0 To document.PageCount - 1
' Note: PdfiumViewer has limited text extraction capabilities
' Text extraction requires additional work with Pdfium.NET
Dim pageText As String = document.GetPdfText(i)
text.AppendLine(pageText)
Next
Console.WriteLine(text.ToString())
End Using
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
var pdf = PdfDocument.FromFile(pdfPath);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
var pdf = PdfDocument.FromFile(pdfPath);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdfPath As String = "document.pdf"
Dim pdf = PdfDocument.FromFile(pdfPath)
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
End Sub
End Class
Der Unterschied ist hier signifikant. Pdfium erfordert eine manuelle Schleife durch jede Seite mit GetPdfText(pageIndex), wobei eine StringBuilder erstellt und die using-Anweisung für die ordnungsgemäße Entsorgung verwaltet wird. Der Code weist darauf hin, dass "PdfiumViewer nur begrenzte Möglichkeiten zur Textextraktion hat" und dass "die Textextraktion zusätzliche Arbeit erfordert."
IronPDF vereinfacht dies auf drei Zeilen: Laden mit PdfDocument.FromFile(), Extrahieren mit ExtractAllText() und Ausgabe. Die Methode ExtractAllText() verarbeitet alle Seiten automatisch und verfügt über erweiterte Textextraktionsfunktionen. Falls Sie eine seitenweise Extraktion benötigen, können Sie pdf.Pages[index].Text verwenden. Weitere Optionen finden Sie in der Dokumentation zur Textextraktion .
Beispiel 2: PDF-Zusammenführung
Vor (Pdfium):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;
// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
// PdfiumViewer is primarily for rendering/viewing
// PDF merging is not natively supported
// You would need to use another library like iTextSharp or PdfSharp
Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
}
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;
// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
// PdfiumViewer is primarily for rendering/viewing
// PDF merging is not natively supported
// You would need to use another library like iTextSharp or PdfSharp
Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
}
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Collections.Generic
' Note: PdfiumViewer does not have native PDF merging functionality
' You would need to use additional libraries or implement custom logic
Class Program
Shared Sub Main()
Dim pdfFiles As New List(Of String) From {
"document1.pdf",
"document2.pdf",
"document3.pdf"
}
' PdfiumViewer is primarily for rendering/viewing
' PDF merging is not natively supported
' You would need to use another library like iTextSharp or PdfSharp
Console.WriteLine("PDF merging not natively supported in PdfiumViewer")
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
var pdf = PdfDocument.Merge(pdfFiles);
pdf.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
var pdf = PdfDocument.Merge(pdfFiles);
pdf.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Module Program
Sub Main()
Dim pdfFiles As New List(Of String) From {
"document1.pdf",
"document2.pdf",
"document3.pdf"
}
Dim pdf = PdfDocument.Merge(pdfFiles)
pdf.SaveAs("merged.pdf")
Console.WriteLine("PDFs merged successfully")
End Sub
End Module
Dieses Beispiel verdeutlicht eine grundlegende Fähigkeitslücke. Pdfium kann PDFs nicht zusammenführen - im Code heißt es ausdrücklich: "PDF-Zusammenführung wird in PdfiumViewer nicht nativ unterstützt" und "Sie müssten eine andere Bibliothek wie iTextSharp oder PdfSharp verwenden."
IronPDF bietet natives Merge mit der statischen Methode PdfDocument.Merge(), die eine Liste von Dateipfaden direkt akzeptiert. Das Ergebnis ist ein neues PdfDocument, das Sie mit SaveAs() speichern. Erfahren Sie mehr über das Zusammenführen und Aufteilen von PDFs.
Beispiel 3: Konvertierung von HTML in PDF
Vor (Pdfium):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
static void Main()
{
// Pdfium.NET does not have native HTML to PDF conversion
// You would need to use a separate library to convert HTML to PDF
// then use Pdfium for manipulation
string htmlContent = "<h1>Hello World</h1>";
// This functionality is not directly available in Pdfium.NET
Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
}
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
static void Main()
{
// Pdfium.NET does not have native HTML to PDF conversion
// You would need to use a separate library to convert HTML to PDF
// then use Pdfium for manipulation
string htmlContent = "<h1>Hello World</h1>";
// This functionality is not directly available in Pdfium.NET
Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
}
}
Imports PdfiumViewer
Imports System.IO
Imports System.Drawing.Printing
' Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
' For HTML to PDF with Pdfium.NET, you would need additional libraries
' This example shows a limitation of Pdfium.NET
Class Program
Shared Sub Main()
' Pdfium.NET does not have native HTML to PDF conversion
' You would need to use a separate library to convert HTML to PDF
' then use Pdfium for manipulation
Dim htmlContent As String = "<h1>Hello World</h1>"
' This functionality is not directly available in Pdfium.NET
Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET")
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = "<h1>Hello World</h1>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully")
End Sub
End Class
Dieses Beispiel verdeutlicht den größten Unterschied in den Fähigkeiten. Pdfium weist ausdrücklich darauf hin, dass die Konvertierung von HTML in PDF in Pdfium.NET nicht nativ unterstützt wird und dass Sie eine separate Bibliothek verwenden müssen, um HTML in PDF zu konvertieren
IronPDF bietet eine native HTML-zu-PDF-Konvertierung über ChromePdfRenderer, die intern eine Chromium-Engine für die genaue Darstellung von HTML, CSS und JavaScript verwendet. Die Methode RenderHtmlAsPdf() konvertiert HTML-Strings direkt in PDF-Dokumente.IronPDF kann auch URLs mit RenderUrlAsPdf() und HTML-Dateien mit RenderHtmlFileAsPdf() rendern. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.
Natives Entfernen von Abhängigkeiten
Einer der wichtigsten Vorteile der Migration von Pdfium zu IronPDF ist der Wegfall der nativen Binärverwaltung.
Vor (Pdfium) - Komplexe Bereitstellung
MyApp/
├── bin/
│ ├── MyApp.dll
│ ├── Pdfium.NET.dll
│ ├── x86/
│ │ └── pdfium.dll
│ └── x64/
│ └── pdfium.dll
├── Laufzeiten/
│ ├── win-x86/native/
│ │ └── pdfium.dll
│ └── win-x64/native/
│ └── pdfium.dll
Nach (IronPDF) - Saubere Bereitstellung
MyApp/
├── bin/
│ ├── MyApp.dll
│ └── IronPDF.dll # Alles enthalten
Native binäre Referenzen entfernen
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/
# Remove from .csproj
# Delete any <Content Include="pdfium.dll" /> entries
# Delete any <None Include="x86/pdfium.dll" /> entries
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/
# Remove from .csproj
# Delete any <Content Include="pdfium.dll" /> entries
# Delete any <None Include="x86/pdfium.dll" /> entries
Kritische Hinweise zur Migration
Umwandlung von Skala in DPI
Pdfium verwendet Skalierungsfaktoren;IronPDF verwendet DPI:
// Formula:IronPDFDPI = 72 × Pdfium scale
// Pdfium scale 2.0 →IronPDFDPI 144
pdf.RasterizeToImageFiles("*.png", DPI: 144);
// Formula:IronPDFDPI = 72 × Pdfium scale
// Pdfium scale 2.0 →IronPDFDPI 144
pdf.RasterizeToImageFiles("*.png", DPI: 144);
' Formula: IronPDFDPI = 72 × Pdfium scale
' Pdfium scale 2.0 → IronPDFDPI 144
pdf.RasterizeToImageFiles("*.png", DPI:=144)
Änderung der Methode zum Laden von Dokumenten
// Pdfium
PdfDocument.Load(path)
// IronPDF
PdfDocument.FromFile(path)
// Pdfium
PdfDocument.Load(path)
// IronPDF
PdfDocument.FromFile(path)
Methodenänderung speichern
// Pdfium
document.Save(path)
// IronPDF
pdf.SaveAs(path)
// Pdfium
document.Save(path)
// IronPDF
pdf.SaveAs(path)
Vereinfachung von Entsorgungsmustern
// Pdfium: Erforderlichexplicit disposal
using (var document = PdfDocument.Load(path))
using (var page = document.Pages[0])
using (var bitmap = page.Render(1024, 768))
{
bitmap.Save("output.png");
}
// IronPDF: Simplified
var pdf = PdfDocument.FromFile(path);
pdf.RasterizeToImageFiles("output.png");
// Pdfium: Erforderlichexplicit disposal
using (var document = PdfDocument.Load(path))
using (var page = document.Pages[0])
using (var bitmap = page.Render(1024, 768))
{
bitmap.Save("output.png");
}
// IronPDF: Simplified
var pdf = PdfDocument.FromFile(path);
pdf.RasterizeToImageFiles("output.png");
Imports PdfiumViewer
' Pdfium: Erforderlichexplicit disposal
Using document = PdfDocument.Load(path)
Using page = document.Pages(0)
Using bitmap = page.Render(1024, 768)
bitmap.Save("output.png")
End Using
End Using
End Using
' IronPDF: Simplified
Dim pdf = PdfDocument.FromFile(path)
pdf.RasterizeToImageFiles("output.png")
Plattformspezifische Code-Entfernung
// Pdfium: Erforderlichplatform detection
#if WIN64
// Load x64 pdfium.dll
#else
// Load x86 pdfium.dll
#endif
// IronPDF: Remove all platform-specific code
// Just use the API directly
// Pdfium: Erforderlichplatform detection
#if WIN64
// Load x64 pdfium.dll
#else
// Load x86 pdfium.dll
#endif
// IronPDF: Remove all platform-specific code
// Just use the API directly
#If WIN64 Then
' Load x64 pdfium.dll
#Else
' Load x86 pdfium.dll
#End If
' IronPDF: Remove all platform-specific code
' Just use the API directly
Zusammenfassung des Funktionsvergleichs
| Feature | Pdfium.NET | IronPDF |
|---|---|---|
| PDF laden | ✓ | ✓ |
| Ins Bild rendern | ✓ | ✓ |
| Text extrahieren | ✓(basic) | ✓(fortgeschritten) |
| Seite Info | ✓ | ✓ |
| Aus HTML erstellen | ✗ | ✓ |
| Von URL erstellen | ✗ | ✓ |
| PDFs zusammenführen | ✗ | ✓ |
| PDFs teilen | ✗ | ✓ |
| Wasserzeichen hinzufügen | ✗ | ✓ |
| Kopf-/Fußzeilen | ✗ | ✓ |
| Formular ausfüllen | ✗ | ✓ |
| Digitale Signaturen | ✗ | ✓ |
| Passwortschutz | ✗ | ✓ |
| Native Abhängigkeiten | Erforderlich | Keine |
| Plattformübergreifend | Komplex | Automatisch |
| Speicherverwaltung | Handbuch Entsorgung | Vereinfacht |
Migrations-Checkliste
Vor der Migration
- Identifizieren Sie alle Pdfium-Verwendungen im Quellcode
- Dokumentieren Sie die aktuell verwendeten Rendering-Abmessungen/Maßstäbe.
- Liste der nativen Binärspeicherorte im Projekt
- Prüfen Sie auf plattformspezifischen Ladecode
- Bedarf an PDF-Erstellung ermitteln (werden derzeit separate Tools verwendet?)
- Entsorgungsmuster im Hinblick auf die Umwandlung prüfen -IronPDF-Lizenzschlüssel erhalten
Paketänderungen
- Entfernen Sie die NuGet Pakete
Pdfium.NET,Pdfium.Net.SDK,PdfiumViewer - Löschen Sie die nativen pdfium.dll-Binärdateien aus den Ordnern x86/, x64/ und runtimes/.
- Plattformspezifische bedingte Kompilierung entfernen
- Aktualisieren Sie die .csproj-Datei, um native Binärreferenzen zu entfernen.
- Installieren Sie das NuGet Paket
IronPdf:dotnet add package IronPdf
Code-Änderungen
- Lizenzschlüsselkonfiguration beim Start hinzufügen
- Ersetzen Sie
PdfDocument.Load()durchPdfDocument.FromFile() - Ersetzen Sie
document.Save()durchpdf.SaveAs() - Ersetzen Sie
document.GetPdfText(i)Schleifen durchpdf.ExtractAllText() - Skalierungsfaktoren in DPI-Werte umrechnen (DPI = 72 × Skalierung)
- Vereinfachung der Entsorgungsmuster (Entfernen verschachtelter using-Anweisungen)
- Plattformspezifischen Code entfernen
Nach der Migration
- Test der Ausgabequalität des Renderings
- Vergleichen Sie die Ergebnisse der Textextraktion
- Test der plattformübergreifenden Bereitstellung
- Neue Funktionen hinzufügen (HTML zu PDF, Zusammenführen, Wasserzeichen, Sicherheit)
- Dokumentation aktualisieren

