PdfiumViewer vs IronPDF: Przewodnik po porównaniu technicznym
Kiedy programiści .NET potrzebują funkcji obsługi plików PDF w aplikacjach Windows Forms, często natrafiają naPdfiumViewer— nakładkę .NET dla silnika renderującego PDFium firmy Google. W niniejszym porównaniu przeanalizowanoPdfiumVieweroraz IronPDF, oceniając różnice w ich architekturze, kompletność funkcji oraz przydatność w kontekście współczesnych wymagań aplikacji.
Czym jest PdfiumViewer?
PdfiumViewer to nakładka .NET dla PDFium, silnika renderującego pliki PDF firmy Google używanego w przeglądarce Google Chrome. Biblioteka zapewnia wysokowydajne renderowanie PDF specjalnie zaprojektowane dla aplikacji Windows Forms, oferując kontrolę PdfViewer, którą można osadzić bezpośrednio w interfejsach WinForms.
Dystrybuowany na licencji Apache 2.0,PdfiumViewerzapewnia ekonomiczne możliwości przeglądania plików PDF. Jednak jego zakres jest zasadniczo ograniczony do przeglądania i renderowania — biblioteka nie może tworzyć, edytować ani modyfikować dokumentów PDF. Ponadto status utrzymaniaPdfiumViewerjest niepewny, co stwarza ryzyko dla aplikacji produkcyjnych wymagających długoterminowego wsparcia.
Najważniejsze cechyPdfiumViewerto:
- Tryb tylko do przeglądania: Zaprojektowany specjalnie do wyświetlania treści PDF
- Specyficzne dla Windows Forms: Ograniczone do aplikacji WinForms
- Oprogramowanie open source: licencja Apache 2.0 bez kosztów licencyjnych
- Natywne zależności binarne: Wymaga plików binarnych PDFium specyficznych dla platformy (x86/x64)
- Niepewna obsługa techniczna: ograniczone aktualizacje i niejasne długoterminowe wsparcie
Czym jest IronPDF?
IronPDF to kompletna biblioteka .NET zapewniająca pełne zarządzanie cyklem życia plików PDF. Klasa ChromePdfRenderer wykorzystuje nowoczesny silnik oparty na Chromium do tworzenia PDF-ów z HTML, CSS i JavaScript, podczas gdy klasa PdfDocument oferuje rozbudowane możliwości manipulacji i ekstrakcji.
W przeciwieństwie do PdfiumViewer, który skupia się wyłącznie na przeglądaniu,IronPDFobsługuje tworzenie plików PDF, wyodrębnianie tekstu, manipulowanie nim, scałanie, dodawanie znaków wodnych i zabezpieczenia — wszystko w ramach jednej biblioteki. Biblioteka działa w aplikacjach konsolowych, internetowych i desktopowych, wykraczając daleko poza ograniczenia Windows Forms.
Porównanie architektury
Podstawowa różnica międzyPdfiumVieweraIronPDFpolega na ich zakresie: rozwiązanie służące wyłącznie do przeglądania kontra kompletne rozwiązanie do obsługi plików PDF.
| Aspekt | PdfiumViewer | IronPDF |
|---|---|---|
| Główny cel | Przeglądarka plików PDF dla WinForms | Kompletne rozwiązanie PDF |
| Tworzenie plików PDF | ✗ | ✓(HTML, URL, obrazy) |
| Wyodrębnianie tekstu | ✗ | ✓ |
| Manipulacja plikami PDF | ✗ | ✓(scal, podziel, edytuj) |
| Wbudowana przeglądarka | ✓ | ✗(skupione na backendzie) |
| Obsługa platform | Tylko Windows Forms | Konsola, Internet, Komputer stacjonarny |
| Obsługa frameworków | .NET Framework | .NET Framework, Core, 5+ |
| Konserwacja | Niepewne | Aktywne |
W przypadku aplikacji wymagających jedynie przeglądania plików PDF w Windows Forms, wystarczające może być narzędzie PdfiumViewer. Dla aplikacji wymagających generowania plików PDF, wyodrębniania tekstu lub jakichkolwiek funkcji tworzenia,IronPDFzapewnia kompletne rozwiązanie.
Konwersja HTML do PDF
Konwersja HTML do PDF pokazuje podstawową różnicę w możliwościach tych bibliotek.
PodejściePdfiumViewerdo konwersji HTML na PDF:
// 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);
}
Imports PdfiumViewer
Imports System.IO
Imports 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:
Dim htmlContent As String = "<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:
Dim existingPdfPath As String = "output.pdf"
Using document = PdfDocument.Load(existingPdfPath)
' Can only render/display existing PDF
Dim image = document.Render(0, 300, 300, True)
End Using
PodejścieIronPDFdo konwersji HTML na PDF:
// 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!");
Imports IronPdf
Imports System
Module Program
Sub Main()
Dim htmlContent As String = "<h1>Hello World</h1><p>This is a test document.</p>"
' Create a PDF from HTML string
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Module
PdfiumViewer nie może tworzyć plików PDF z HTML — po prostu nie obsługuje tej funkcji. Biblioteka może jedynie otwierać i wyświetlać istniejące pliki PDF. Aplikacje wymagające konwersji HTML do PDF musiałyby łączyćPdfiumViewerz dodatkowymi bibliotekami, co powodowałoby złożoność i potencjalne problemy z kompatybilnością.
ChromePdfRenderer wIronPDFużywa nowoczesnego silnika Chromium do konwersji treści HTML z pełnym wsparciem dla CSS3, Flexbox, Grid i wykonania JavaScript, produkując PDF-y wysokiej jakości z zawartości internetowej.
Wyodrębnianie tekstu
Wyodrębnianie tekstu pokazuje kolejną istotną różnicę w możliwościach tych bibliotek.
Podejście do ekstrakcji tekstu w 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}");
}
}
Imports PdfiumViewer
Imports System
Imports System.Text
Dim pdfPath As String = "document.pdf"
' PDFiumViewer has limited text extraction capabilities
' It's primarily designed for rendering, not text extraction
Using document = PdfDocument.Load(pdfPath)
Dim pageCount As Integer = 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 i As Integer = 0 To pageCount - 1
Dim pageImage = document.Render(i, 96, 96, False)
Console.WriteLine($"Rendered page {i + 1}")
Next
End Using
PodejścieIronPDFdo ekstrakcji tekstu:
// 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}");
Imports IronPdf
Imports System
Module Program
Sub Main()
Dim pdfPath As String = "document.pdf"
' Open and extract text from PDF
Dim pdf As PdfDocument = PdfDocument.FromFile(pdfPath)
' Extract text from all pages
Dim allText As String = pdf.ExtractAllText()
Console.WriteLine("Extracted Text:")
Console.WriteLine(allText)
' Extract text from specific page
Dim pageText As String = pdf.ExtractTextFromPage(0)
Console.WriteLine(vbCrLf & "First page text: " & pageText)
Console.WriteLine(vbCrLf & "Total pages: " & pdf.PageCount)
End Sub
End Module
PdfiumViewer jest przeznaczony przede wszystkim do renderowania, a nie do ekstrakcji tekstu. W dokumentacji wyraźnie zaznaczono, że "nie posiada wbudowanej funkcji wyodrębniania tekstu" i że konieczne będzie użycie OCR lub innej biblioteki. Biblioteka może renderować strony wyłącznie jako obrazy.
Metoda ExtractAllText() wIronPDFwyodrębnia cały tekst ze wszystkich stron w jednym wywołaniu. Dla bardziej szczegółowej kontroli, ExtractTextFromPage() dostarcza tekst z określonych stron. Ta wbudowana funkcja wyodrębniania tekstu eliminuje potrzebę stosowania OCR lub dodatkowych bibliotek.
Konwersja plików PDF na obrazy
Renderowanie plików PDF do obrazów to obszar, w którymPdfiumViewerwyróżnia się — jest to jego główna zaleta jako silnika renderującego.
PdfiumViewer – podejście "PDF do obrazu":
// 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);
}
}
}
Imports PdfiumViewer
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Module Module1
Sub Main()
Dim pdfPath As String = "document.pdf"
Dim outputImage As String = "page1.png"
' PDFiumViewer excels at rendering PDFs to images
Using document = PdfDocument.Load(pdfPath)
' Render first page at 300 DPI
Dim dpi As Integer = 300
Using image = document.Render(0, dpi, dpi, True)
' Save as PNG
image.Save(outputImage, ImageFormat.Png)
Console.WriteLine($"Page rendered to {outputImage}")
End Using
' Render all pages
For i As Integer = 0 To document.PageCount - 1
Using pageImage = document.Render(i, 150, 150, True)
pageImage.Save($"page_{i + 1}.png", ImageFormat.Png)
End Using
Next
End Using
End Sub
End Module
PodejścieIronPDFdo konwersji plików PDF na obrazy:
// 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}");
Imports IronPdf
Imports System
Imports System.Linq
Module Module1
Sub Main()
Dim pdfPath As String = "document.pdf"
Dim outputImage As String = "page1.png"
' Open PDF and convert to images
Dim pdf As PdfDocument = PdfDocument.FromFile(pdfPath)
' Convert first page to image
Dim firstPageImage = pdf.ToBitmap(0)
firstPageImage(0).Save(outputImage)
Console.WriteLine($"Page rendered to {outputImage}")
' Convert all pages to images
Dim allPageImages = pdf.ToBitmap()
For i As Integer = 0 To allPageImages.Length - 1
allPageImages(i).Save($"page_{i + 1}.png")
Console.WriteLine($"Saved page {i + 1}")
Next
Console.WriteLine($"Total pages converted: {pdf.PageCount}")
End Sub
End Module
Metoda Render() wPdfiumViewerzapewnia renderowanie oparte na DPI z precyzyjną kontrolą jakości wyjściowej. Metoda wymaga ręcznych wzorców zwalniania zasobów z zagnieżdżonymi instrukcjami using.
Metoda ToBitmap() wIronPDFzapewnia prostsze API, zwracające tablice bitmap, które można zapisać lub przetworzyć. Obie biblioteki skutecznie radzą sobie z tym zadaniem, choć wykorzystują różne wzorce API.
Przewodnik po mapowaniu API
Dla zespołów rozważających migrację zPdfiumViewerdoIronPDFzrozumieniuiuiuiuie mapowań API pomaga oszacować nakład pracy.
Ładowanie dokumentów
| PdfiumViewer | IronPDF |
|---|---|
PdfDocument.Load(path) |
PdfDocument.FromFile(path) |
PdfDocument.Load(stream) |
PdfDocument.FromStream(stream) |
document.PageCount |
document.PageCount |
document.PageSizes[index] |
document.Pages[index].Width/Height |
Renderowanie
| PdfiumViewer | IronPDF |
|---|---|
document.Render(index, dpiX, dpiY, flag) |
pdf.ToBitmap(index) |
document.Render(index, width, height, dpiX, dpiY, flags) |
pdf.RasterizeToImageFiles(path, dpi) |
Funkcje niedostępne w PdfiumViewer
| FunkcjaIronPDF | Opis |
|---|---|
ChromePdfRenderer.RenderHtmlAsPdf() |
Utwórz plik PDF z HTML |
ChromePdfRenderer.RenderUrlAsPdf() |
Utwórz plik PDF z adresu URL |
pdf.ExtractAllText() |
Wyodrębnij cały tekst |
pdf.ExtractTextFromPage(index) |
Wyodrębnij tekst z określonej strony |
PdfDocument.Merge() |
Łączenie wielu plików PDF |
pdf.ApplyWatermark() |
Dodaj znaki wodne |
pdf.SecuritySettings |
Ochrona hasłem |
Natywne zależności binarne
Istotna różnica architektoniczna polega na zarządzaniu zależnościami.
Struktura wdrożenia PdfiumViewer:
MyApp/
├── bin/
│ ├── MyApp.dll
│ ├── PdfiumViewer.dll
│ ├── x86/
│ │ └── pdfium.dll
│ └── x64/
│ └── pdfium.dll
Struktura wdrożenia IronPDF:
MyApp/
├── bin/
│ ├── MyApp.dll
│ └── IronPdf.dll # Wszystko w zestawie
PdfiumViewer wymaga dołączania i zarządzania natywnymi plikami binarnymi specyficznymi dla danej platformy. Powoduje to złożoność wdrożenia, zwłaszcza w przypadku aplikacji przeznaczonych na wiele platform. Każde środowisko docelowe wymaga odpowiedniej natywnej biblioteki DLL, a aplikacja musi poprawnie załadować odpowiednią wersję w czasie wykonywania.
W pełni zarządzana architekturaIronPDFeliminuje te obawy. Biblioteka wewnętrznie zarządza swoimi zależnościami, co upraszcza wdrażanie.
Podsumowanie porównania funkcji
Różnica w zakresie funkcjonalności międzyPdfiumVieweraIronPDFobejmuje praktycznie każdą operację na plikach PDF wykraczającą poza podstawowe przeglądanie.
| Funkcja | PdfiumViewer | IronPDF |
|---|---|---|
| Pobierz plik PDF | ✓ | ✓ |
| Renderuj do obrazu | ✓ | ✓ |
| Wbudowana przeglądarka | ✓ | ✗ |
| PRINT PDF | ✓ | ✓ |
| Wyodrębnij tekst | ✗ | ✓ |
| Utwórz z HTML | ✗ | ✓ |
| Utwórz z adresu URL | ✗ | ✓ |
| Łączenie plików PDF | ✗ | ✓ |
| Podział plików PDF | ✗ | ✓ |
| Dodaj znaki wodne | ✗ | ✓ |
| Nagłówki/stopki | ✗ | ✓ |
| Ochrona hasłem | ✗ | ✓ |
| Obsługa WinForms | ✓ | ✓ |
| Obsługa ASP.NET | ✗ | ✓ |
| Obsługa .NET Core | Ograniczone | ✓ |
| Aktywna konserwacja | Niepewne | ✓ |
Aplikacje wymagające wyodrębniania tekstu, łączenia plików PDF lub dodawania znaków wodnych nie mogą osiągnąć tych celów przy użyciu samego PdfiumViewer.
Uwagi dotyczące wbudowanej przeglądarki
Jednym z obszarów, w którymPdfiumViewerma przewagę, jest jego wbudowana kontrola PdfViewer dla aplikacji Windows Forms.IronPDFkoncentruje się na zapleczu i nie zawiera kontrolki przeglądarki.
W przypadku aplikacji migrujących z PdfiumViewer, które wymagają przeglądania plików PDF, alternatywami są:
- Domyślny przeglądarka systemu: Użyj
Process.Start(), aby otworzyć PDF-y w domyślnej aplikacji PDF użytkownika. - Kontrolka WebBrowser: Wyświetlanie plików PDF w kontrolce WebBrowser w WinForms (wymagańa wtyczka PDF)
- Przeglądarki innych producentów: Specjalistyczne kontrolki przeglądarek od dostawców takich jak Syncfusion, DevExpress lub Telerik
- Wyświetlanie w przeglądarce: w przypadku aplikacji internetowych należy udostępnić plik PDF i pozwolić przeglądarce na jego wyświetlenie
// Open in default PDF viewer
Process.Start(new ProcessStartInfo(pdfPath) { UseShellExecute = true });
// Open in default PDF viewer
Process.Start(new ProcessStartInfo(pdfPath) { UseShellExecute = true });
Kiedy zespoły rozważają przejście zPdfiumViewerna IronPDF
Kilka czynników skłania zespoły do rozważeniaIronPDFjako alternatywy dla PdfiumViewer:
Wymagania dotyczące tworzenia plików PDF:PdfiumViewernie może tworzyć plików PDF. Aplikacje wymagające generowania plików PDF na podstawie szablonów HTML, raportów lub treści internetowych wymagają dodatkowych bibliotek.IronPDFzapewnia kompleksowe tworzenie plików PDF dzięki nowoczesnemu silnikowi Chromium.
Wymagania dotyczące wyodrębniania tekstu:PdfiumViewernie może wyodrębniać tekstu z plików PDF — może jedynie renderować strony jako obrazy. Aplikacje wymagające wyszukiwania tekstu, indeksowania lub analizy treści potrzebują natywnych funkcji ekstrakcji tekstu IronPDF.
Rozszerzenie platformy:PdfiumViewerjest ograniczony do aplikacji Windows Forms. Organizacje tworzące aplikacje internetowe ASP.NET, narzędzia konsolowe lub rozwiązania wielopłatformowe potrzebują szerszej obsługi platform przez IronPDF.
Kwestie związane z utrzymaniem: Niepewny status utrzymaniaPdfiumViewerstwarza ryzyko dla aplikacji produkcyjnych wymagających długoterminowego wsparcia.IronPDFzapewnia aktywny rozwój i profesjonalne wsparcie.
Rozszerzenie funkcji: W miarę dojrzewania aplikacji wymagania często wykraczają poza zwykłe przeglądanie i obejmują scałanie dokumentów, dodawanie znaków wodnych lub ustawienia zabezpieczeń.IronPDFzapewnia te możliwości w sposób natywny.
Porównanie instalacji
Instalacja PdfiumViewer:
Install-Package PdfiumViewer
Install-Package PdfiumViewer.Native.x86.v8-xfa
Install-Package PdfiumViewer.Native.x64.v8-xfa
Install-Package PdfiumViewer
Install-Package PdfiumViewer.Native.x86.v8-xfa
Install-Package PdfiumViewer.Native.x64.v8-xfa
Plus natywne zarządzanie plikami binarnymi.
Instalacja IronPDF:
Install-Package IronPdf
Install-Package IronPdf
IronPDF wymaga konfiguracji klucza licencyjnego podczas uruchamiania aplikacji:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Obie biblioteki obsługują platformę .NET Framework, aIronPDFobsługuje również .NET Core, .NET 5+ oraz nowsze wersje, takie jak .NET 10 i C# 14.
Podejmowanie decyzji
Wybór międzyPdfiumVieweraIronPDFzależy od wymagań aplikacji:
Rozważ PdfiumViewer, jeśli: potrzebujesz jedynie przeglądania plików PDF w Windows Forms, nie potrzebujesz tworzenia plików PDF ani wyodrębniania tekstu, chcesz skorzystać z bezpłatnego rozwiązania open source i nie przeszkadza Ci niepewność co do długoterminowej konserwacji.
Rozważ IronPDF, jeśli: potrzebujesz tworzyć pliki PDF z HTML lub adresów URL, potrzebujesz funkcji wyodrębniania tekstu, chcesz mieć wsparcie wykraczające poza Windows Forms, potrzebujesz funkcji manipulacji plikami PDF (łączenie, dzielenie, znak wodny), potrzebujesz aktywnej konserwacji i wsparcia lub tworzysz aplikacje o rosnących wymaganiach dotyczących plików PDF.
W przypadku większości nowoczesnych aplikacji niezbędna jest możliwość tworzenia, wyodrębniania i edycji plików PDF. Skupienie sięPdfiumViewerwyłącznie na przeglądaniu sprawia, że bez dodatkowych bibliotek nie nadaje się on do kompleksowych procesów pracy z plikami PDF. Kompleksowe rozwiązanieIronPDFeliminuje potrzebę łączenia bibliotek, zapewniając jednocześnie ujednolicony interfejs API dla wszystkich operacji związanych z plikami PDF.
Pierwsze kroki z IronPDF
Aby ocenićIronPDFpod kątem swoich potrzeb związanych z plikami PDF:
- Zainstaluj pakiet NuGet IronPDF:
Install-Package IronPdf - Zapoznaj się z samouczkiem dotyczącym tworzenia wzorców z HTML do PDF
- Poznaj możliwości ekstrakcji tekstu do przetwarzania treści
- Zapoznaj się z sekcją samouczków, aby uzyskać wyczerpujące przykłady
Dokumentacja IronPDF zawiera szczegółowe wskazówki dotyczące typowych scenariuszy, a Dokumentacja API opisuje wszystkie dostępne klasy i metody.
Wnioski
PdfiumViewer iIronPDFsłużą zasadniczo różnym celom w ekosystemie PDF .NET.PdfiumViewerdoskonale sprawdza się w przeglądaniu plików PDF w aplikacjach Windows Forms — wyświetla dokumenty z wysoką wiernością przy użyciu silnika PDFium firmy Google.IronPDFzapewnia kompletne rozwiązanie do obsługi plików PDF, obejmujące tworzenie, wyodrębnianie tekstu, manipulowanie i renderowanie w jednej bibliotece.
W przypadku aplikacji wymagających jedynie przeglądania plików PDF w Windows Forms, odpowiednie może być ukierunkowane podejście PdfiumViewer. W przypadku aplikacji wymagających generowania plików PDF, wyodrębniania tekstu, łączenia dokumentów lub innych funkcji tworzenia,IronPDFzapewnia te funkcje natywnie, bez konieczności korzystania z dodatkowych bibliotek.
Decyzja wykracza poza obecne wymagania i uwzględnia przewidywane potrzeby oraz kwestie związane z utrzymaniem. Niepewny status utrzymaniaPdfiumViewerstwarza ryzyko dla projektu, podczas gdy aplikacje często zaczynają się od przeglądania, ale rozszerzają się, wymagając tworzenia i manipulacji. WybórIronPDFod samego początku stanowi podstawę dla tych rozszerzonych wymagań, zapewniając jednocześnie długoterminowe wsparcie i aktywny rozwój.
Przy wyborze jednej z tych bibliotek należy ocenić wszystkie swoje obecne i przewidywane wymagania dotyczące plików PDF. Fakt, żePdfiumViewersłuży wyłącznie do przeglądania, powoduje ograniczenia architektoniczne, które stają się widoczne w miarę dojrzewania aplikacji i rozszerzania się wymagań.