Jak przeprowadzić migrację z PDFView4NET do IronPDF w języku C#
Przejście zPDFView4NETnaIronPDFzmienia proces pracy z plikami PDF z komponentu do przeglądania skupionego na interfejsie użytkownika w kompleksową bibliotekę do generowania i edycji plików PDF. Niniejszy przewodnik zawiera kompletną, krok po kroku ścieżkę migracji, która umożliwia przetwarzanie po stronie serwera, obsługę aplikacji internetowych oraz pełne możliwości zarządzania cyklem życia plików PDF, których nie zapewnia PDFView4NET.
Dlaczego warto przejść zPDFView4NETna IronPDF
Zrozumienie PDFView4NET
PDFView4NET to popularny wybór wśród programistów skupiających się głównie na funkcjach przeglądania plików PDF w języku C#.PDFView4NETzapewnia solidne kontrolki do przeglądania plików PDF dostosowane do aplikacji Windows Forms (WinForms) i Windows Presentation Foundation (WPF). Nacisk, jaki biblioteka kładzie na zapewnienie płynnego przeglądania plików PDF, sprawia, że jest to idealny wybór do tworzenia aplikacji desktopowych.
Pomimo swoich zalet,PDFView4NETma ograniczenia, które mogą skłonić programistów do poszukiwania bardziej wszechstronnych bibliotek, takich jak IronPDF, która oferuje kompleksowe rozwiązanie do obsługi plików PDF, obejmujące funkcje tworzenia, przeglądania i edycji, bez ograniczeń do konkretnych komponentów interfejsu użytkownika.
Ograniczenie do trybu tylko do odczytu
PDFView4NET to przede wszystkim komponent do wyświetlania interfejsu użytkownika dla aplikacji WinForms i WPF. Skupia się na wyświetlaniu plików PDF, a nie na ich tworzeniu lub modyfikowaniu. Główne powody migracji:
-
Ograniczenia dotyczące wyłącznie przeglądania:PDFView4NETjest przeznaczony do przeglądania, a nie do tworzenia plików PDF.
-
Zależność od frameworka UI: Wymaga środowiska WinForms lub WPF. Wymóg środowiska WinForms lub WPF może ograniczać użycie w innych kontekstach, takich jak aplikacje konsolowe lub usługi internetowe, które nie są obsługiwane przez PDFView4NET.
-
Brak konwersji HTML do PDF: Nie można konwertować HTML ani adresów URL do formatu PDF. Biblioteka koncentruje się wyłącznie na przeglądaniu i nie posiada wbudowanych funkcji tworzenia ani edycji plików PDF.
-
Ograniczone możliwości edycji: Podstawowe funkcje edycji w porównaniu z pełnym zestawem funkcji IronPDF.
-
Brak obsługi po stronie serwera: Nie można uruchamiać w usługach internetowych ani w Azure Functions.
- Technologia starszego pokolenia: mniej aktywny rozwój i brak aktualizacji o nowoczesne funkcje.
PorównaniePDFView4NETi IronPDF
| Funkcja | PDFView4NET | IronPDF |
|---|---|---|
| Główny cel | Przeglądanie plików PDF | Kompletne rozwiązanie do obsługi plików PDF (tworzenie, przeglądanie, edycja) |
| Wymagane frameworki UI | WinForms, WPF | None |
| Tworzenie plików PDF | Nie | Tak |
| Manipulacja plikami PDF | Ograniczone (adnotacje) | Tak |
| Po stronie serwera | Nieobsługiwane | Pełne wsparcie |
| Aplikacje internetowe | Nie | Tak |
| Aplikacje konsolowe | Ograniczone | Pełne wsparcie |
| Azure/Docker | Nie | Tak |
| HTML do PDF | Nie | Tak |
| Kontekst wieloplatformowy | Nie | Tak |
| Łatwość integracji | Medium | High |
IronPDF wyróżnia się wszechstronnością i bogatym zestawem funkcji, co czyni go szczególnie atrakcyjnym dla programistów potrzebujących kompleksowego podejścia do obsługi plików PDF w języku C#. Biblioteka obsługuje tworzenie, przeglądanie i edycję plików PDF oraz wiele innych funkcji, odpowiadając na potrzeby wykraczające daleko poza możliwości przeglądania oferowane przez PDFView4NET.
Dla zespołów planujących wdrożenie .NET 10 i C# 14 w latach 2025 i 2026,IronPDFzapewnia niezależność kontekstową — może być używany w różnych kontekstach, w tym w aplikacjach internetowych, usługach i aplikacjach konsolowych. Ta elastyczność ma kluczowe znaczenie dla projektów wymagających obsługi wielu platform i różnorodnych scenariuszy wdrożeniowych.
Zanim zaczniesz
Wymagania wstępne
- Środowisko .NET: .NET Framework 4.6.2+ lub .NET Core 3.1+ / .NET 5/6/7/8/9+
- Dostęp do NuGet: Możliwość instalowania pakietów NuGet
- Licencja IronPDF: Uzyskaj klucz licencyjny na stronie ironpdf.com
Zmiany w pakiecie NuGet
<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />
<PackageReference Include="IronPdf" Version="2024.*" />
<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />
<PackageReference Include="IronPdf" Version="2024.*" />
Lub za pomocą CLI:
dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
Konfiguracja licencji
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Kompletna dokumentacija API
Zmiany w przestrzeni nazw
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;
// After: IronPDF
using IronPdf;
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;
// After: IronPDF
using IronPdf;
Imports IronPdf
Mapowania podstawowych interfejsów API
| PDFView4NET | IronPDF |
|---|---|
PDFFile.Open(path) |
PdfDocument.FromFile(path) |
PDFFile.Open(stream) |
PdfDocument.FromStream(stream) |
pdfFile.GetPage(index) |
pdf.Pages[index] |
pdfFile.PageCount |
pdf.PageCount |
PDFPrintDocument |
pdf.Print() |
pdfFile.Close() |
pdf.Dispose() |
HtmlToPdfConverter |
ChromePdfRenderer |
| Nie dotyczy | PdfDocument.Merge() |
| Nie dotyczy | pdf.ApplyWatermark() |
| Nie dotyczy | pdf.SecuritySettings |
Przykłady migracji kodu
Przykład 1: Konwersja adresu URL do formatu PDF
Przed (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.NavigateUri = new Uri("https://example.com");
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.NavigateUri = new Uri("https://example.com");
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
}
}
Imports O2S.Components.PDFView4NET
Imports O2S.Components.PDFView4NET.HtmlToPdf
Imports System
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdfConverter()
converter.NavigateUri = New Uri("https://example.com")
converter.ConvertHtmlToPdf()
converter.SavePdf("output.pdf")
End Sub
End Class
Po (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("output.pdf")
End Sub
End Class
PDFView4NET używa HtmlToPdfConverter z właściwością NavigateUri ustawioną na obiekt Uri, po czym wywołuje ConvertHtmlToPdf(), a następnie SavePdf().IronPDFupraszcza to do pojedynczego ChromePdfRenderer z RenderUrlAsPdf(), który akceptuje bezpośrednio ciąg znaków URL, zwracając PdfDocument, który zapisujesz za pomocą SaveAs(). PodejścieIronPDFoferuje bardziej przejrzystą składnię i lepszą integrację z nowoczesnymi aplikacjami .NET. Kompleksowe przykłady można znaleźć w dokumentacji dotyczącej konwersji HTML do PDF.
Przykład 2: Konwersja ciągu znaków HTML do formatu PDF
Przed (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.HtmlContent = htmlContent;
converter.ConvertHtmlToPdf();
converter.SavePdf("document.pdf");
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.HtmlContent = htmlContent;
converter.ConvertHtmlToPdf();
converter.SavePdf("document.pdf");
}
}
Imports O2S.Components.PDFView4NET
Imports O2S.Components.PDFView4NET.HtmlToPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim converter As New HtmlToPdfConverter()
converter.HtmlContent = htmlContent
converter.ConvertHtmlToPdf()
converter.SavePdf("document.pdf")
End Sub
End Class
Po (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("document.pdf")
End Sub
End Class
PDFView4NET używa właściwości HtmlContent do ustawienia ciągu HTML, a następnie wymaga wywołania ConvertHtmlToPdf(), po którym następuje SavePdf().IronPDFzapewnia bardziej płynny interfejs API, w którym RenderHtmlAsPdf() akceptuje bezpośrednio ciąg HTML i zwraca PdfDocument. Nazwy metod są bardziej intuicyjne: RenderHtmlAsPdf vs ConvertHtmlToPdf. Dowiedz się więcej z naszych samouczków.
Przykład 3: Wyodrębnianie tekstu z pliku PDF
Przed (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
string text = "";
for (int i = 0; i < document.Pages.Count; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
}
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
string text = "";
for (int i = 0; i < document.Pages.Count; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
}
}
}
Imports O2S.Components.PDFView4NET
Imports System
Imports System.IO
Class Program
Shared Sub Main()
Using fs As FileStream = File.OpenRead("document.pdf")
Dim document As New PDFDocument(fs)
Dim text As String = ""
For i As Integer = 0 To document.Pages.Count - 1
text &= document.Pages(i).ExtractText()
Next
Console.WriteLine(text)
End Using
End Sub
End Class
Po (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
End Sub
End Class
Ten przykład podkreśla istotną różnicę w API.PDFView4NETwymaga ręcznego utworzenia FileStream, instancjonowania PDFDocument ze strumieniem, a następnie przechodzenia w pętli przez document.Pages.Count i łączenia Pages[i].ExtractText() dla każdej strony.
IronPDF znacznie to upraszcza: PdfDocument.FromFile() ładuje plik PDF bezpośrednio ze ścieżki, a ExtractAllText() wyodrębnia tekst ze wszystkich stron za pomocą jednego wywołania metody. Bez ręcznego zarządzania strumieniem, bez pętli, bez łączenia ciągów znaków — wystarczą dwie linijki kodu.
Ważne uwagi dotyczące migracji
Zmiana klasy konwertera
PDFView4NET używa HtmlToPdfConverter;IronPDFużywa ChromePdfRenderer:
// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' PDFView4NET
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer = New ChromePdfRenderer()
API oparte na właściwościach a API oparte na metodach
PDFView4NET ustawia właściwości przed konwersją:
// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
' PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent
converter.NavigateUri = New Uri(url)
converter.ConvertHtmlToPdf()
converter.SavePdf("output.pdf")
' IronPDF: Method parameters with fluent API
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("output.pdf")
Zmiana w ładowaniu dokumentów
// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
}
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
}
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
Imports System.IO
Imports PDFView4NET
Imports IronPDF
' PDFView4NET: Requires FileStream
Using fs As FileStream = File.OpenRead("document.pdf")
Dim document As New PDFDocument(fs)
End Using
' IronPDF: Direct file path
Dim pdf = PdfDocument.FromFile("document.pdf")
Zmiana dostępu do strony
// PDFView4NET: document.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
// PDFView4NET: document.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
' PDFView4NET: document.Pages.Count and Pages(i)
For i As Integer = 0 To document.Pages.Count - 1
document.Pages(i).ExtractText()
Next
' IronPDF: pdf.PageCount and Pages(i) or ExtractAllText()
Dim text As String = pdf.ExtractAllText()
' Or per-page: pdf.ExtractTextFromPage(0)
Zmiana metody zapisywania
// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
Nowe możliwości po migracji
Po migracji doIronPDFzyskujesz możliwości, którychPDFView4NETnie jest w stanie zapewnić:
Łączenie plików PDF
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");
Dim pdf1 = PdfDocument.FromFile("chapter1.pdf")
Dim pdf2 = PdfDocument.FromFile("chapter2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("complete_book.pdf")
Znaki wodne w HTML
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>")
pdf.SaveAs("watermarked.pdf")
Ochrona hasłem
var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.SecuritySettings.OwnerPassword = "owner123"
pdf.SecuritySettings.UserPassword = "user456"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
Wypełnianie formularzy
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
Dim pdf = PdfDocument.FromFile("form.pdf")
pdf.Form.GetFieldByName("FirstName").Value = "John"
pdf.Form.GetFieldByName("LastName").Value = "Doe"
pdf.SaveAs("filled_form.pdf")
Przetwarzanie po stronie serwera
PDFView4NET nie może działać w środowiskach serwerowych.IronPDFwyróżnia się w tym zakresie:
// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
<HttpGet>
Public Function GeneratePdf() As IActionResult
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(GetReportHtml())
Return File(pdf.BinaryData, "application/pdf", "report.pdf")
End Function
Podsumowanie porównania funkcji
| Funkcja | PDFView4NET | IronPDF |
|---|---|---|
| Wyświetl pliki PDF | Tak (UI) | Nie (użyj przeglądarki) |
| Załaduj pliki PDF | Tak | Tak |
| Zapisz pliki PDF | Ograniczone | Tak |
| HTML do PDF | Nie | Tak |
| URL do pliku PDF | Nie | Tak |
| Łączenie plików PDF | Nie | Tak |
| Podział plików PDF | Ograniczone | Tak |
| Znaki wodne | Nie | Tak |
| Nagłówki/stopki | Nie | Tak |
| Ochrona hasłem | Nie | Tak |
| Podpisy cyfrowe | Nie | Tak |
| Ekstrakcja tekstu | Ograniczone | Tak |
| Wypełnij formularze | Ograniczone | Tak |
| WinForms | Tak | Tak |
| WPF | Tak | Tak |
| Konsola | Ograniczone | Tak |
| ASP.NET | Nie | Tak |
| Azure | Nie | Tak |
| Docker | Nie | Tak |
Lista kontrolna migracji
Przed migracją
- Określ wymagania dotyczące przeglądania (ustal, czy możliwościIronPDFmogą zastąpić przeglądanie plików PDF w interfejsie użytkownika)
- Procesy drukowania dokumentów
- Wymagania dotyczące obróbki plików PDF
- W razie potrzeby zaplanuj wymianę przeglądarki (IronPDF koncentruje się na generowaniu/manipulacji)
- Uzyskaj klucz licencyjnyIronPDFze strony ironpdf.com
Zmiany w pakiecie
- Usuń pakiet NuGet
O2S.Components.PDFView4NET - Zainstaluj pakiet NuGet
IronPdf:dotnet add package IronPdf
Zmiany w kodzie
- Zaktualizuj importy przestrzeni nazw (
using O2S.Components.PDFView4NET;→using IronPdf;) - Zastąp
HtmlToPdfConverterprzezChromePdfRenderer - Zastąp
converter.HtmlContent+ConvertHtmlToPdf()przezrenderer.RenderHtmlAsPdf(html) - Zastąp
converter.NavigateUri+ConvertHtmlToPdf()przezrenderer.RenderUrlAsPdf(url) - Zastąp
converter.SavePdf()przezpdf.SaveAs() - Zastąp
PDFDocument(stream)przezPdfDocument.FromFile(path) - Zastąp ręczne wyodrębnianie pętli stron za pomocą
pdf.ExtractAllText() - Dodaj inicjalizację licencji podczas uruchamiania aplikacji
Po migracji
- Sprawdź ładowanie i zapisywanie plików PDF
- Sprawdź funkcjonalność wyodrębniania tekstu
- Przetestuj konwersję HTML do PDF
- Sprawdź, czy wdrożenie serwera działa (nowa funkcja)
- W razie potrzeby przetestuj na różnych platformach (nowa funkcja)
- Usuń kod PDF dotyczący interfejsu użytkownika, jeśli jest to wersja tylko dla serwera

