Jak przeprowadzić migrację z PDFView4NET do IronPDF w języku C#
Migracja zPDFView4NETdo IronPDF przenosi twoj przeplyw pracy PDF z komponentu przegladania WinForms/WPF do biblioteki generowania i manipulacji PDF bez glowy. Ten przewodnik zapewnia szczegolowy szlak migracji, ktory umozliwia przetwarzanie po stronie serwera, wsparcie aplikacji webowych i szersze zarzadzanie cyklem zycia PDF poza zakresem widoku/renderowania/druku PDFView4NET.
Dlaczego warto przejść zPDFView4NETna IronPDF
Zrozumienie PDFView4NET
PDFView4NET (O2 Solutions, o2sol.com) to narzedzie do przegladania/renderowania/druku dla aplikacjiWinFormsi WPF. Jest dostarczany jako dwa pakiety NuGet — O2S.Components.PDFView4NET.Win i O2S.Components.PDFView4NET.WPF — i zawiera własny silnik renderujący PDF. O2 Solutions sprzedaje oddzielną bibliotekę, PDF4NET, do programatycznego tworzenia/manipulacji; ten przewodnik obejmuje tylko PDFView4NET.
Zespoly, ktore potrzebuja generowania PDF, renderowania HTML-to-PDF lub przeplywow pracy po stronie serwera czesto laczaPDFView4NETz inna biblioteka lub migruja calkowicie do narzedzia takiego jak IronPDF, ktore pokrywa tworzenie i manipulacje oraz scenariusze wdrazania bez glowy.
Zakres Przegladania / Renderowania / Druku
PDFView4NET jest zbudowany wokol wyswietlania, renderowania i drukowania PDF, a takze anotacji i wypelniania formularzy. Powszechne powody do migracji:
-
Skoncentrowanie na przegladaniu / renderowaniu / druku:PDFView4NETladuje istniejace PDF do wyswietlania, drukowania lub renderowania obrazow. Nie generuje PDF z HTML ani URL.
-
Zaleznosc od struktury UI: Rozprowadzany w wersjachWinFormsi WPF; obie celuja w pulpit Windows, co ogranicza uzycie w pracownikach konsoli lub hostach po stronie serwera.
-
Brak HTML do PDF: Nie ma
HtmlToPdfConverterani API renderującego HTML wO2S.Components.PDFView4NET. -
Ograniczona Manipulacja: Manipulacja koncentruje sie na anotacjach i polach formularzy zamiast pelnego tworzenia tresci.
-
Brak Sciezki dla Linux /Docker/Serwer: Narzedzie jest tylko dla Windows przez WinForms/WPF i nie jest zaprojektowane dla hostow ASP.NET na Linux czy zadan kontenerowych.
- Aktywne, ale waskie: O2 Solutions nadal wydaje wydania; produkt jest utrzymywany, ale jego zakres jest intencjonalnie waski.
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 wielopłatformowy | Nie | Tak |
| Łatwość integracji | Medium | Wysoka |
IronPDF obejmuje tworzenie, manipulacje i renderowanie PDF ponad przeplywami pracy bliskimi przegladaniu, adresujac przypadki uzycia, ktore wykraczaja poza zakres widoku/renderowania/druku PDFView4NET.
IronPDF jest rowniez niezalezne od kontekstu — dziala w aplikacjach webowych, uslugach i aplikacjach konsolowych na Windows, Linux, macOS,Dockeri Azure, co moze miec znaczenie dla projektow wymagajacych wsparcia cross-platformowego lub hostingu po stronie serwera.
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.Win" Version="*" Remove />
<PackageReference Include="IronPdf" Version="*" />
<PackageReference Include="O2S.Components.PDFView4NET.Win" Version="*" Remove />
<PackageReference Include="IronPdf" Version="*" />
Lub za pomocą CLI:
dotnet remove package O2S.Components.PDFView4NET.Win
# (use O2S.Components.PDFView4NET.WPF for theWPFedition)
dotnet add package IronPdf
dotnet remove package O2S.Components.PDFView4NET.Win
# (use O2S.Components.PDFView4NET.WPF for theWPFedition)
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;
// After: IronPDF
using IronPdf;
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
// After: IronPDF
using IronPdf;
Imports IronPdf
Mapowania podstawowych interfejsów API
| PDFView4NET | IronPDF |
|---|---|
new PDFDocument(); doc.Load(path) |
PdfDocument.FromFile(path) |
new PDFDocument(); doc.Load(stream) |
PdfDocument.FromStream(stream) |
document.Pages[index] |
pdf.Pages[index] |
document.PageCount |
pdf.PageCount |
document.Print(...) |
pdf.Print() |
document.Close() |
pdf.Dispose() |
| N/A wPDFView4NET | ChromePdfRenderer (HTML do PDF) |
| N/A wPDFView4NET | PdfDocument.Merge() |
| N/A wPDFView4NET | pdf.ApplyWatermark() |
document.SecurityManager |
pdf.SecuritySettings |
Przykłady migracji kodu
Przykład 1: Konwersja adresu URL do formatu PDF
Przed (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
//PDFView4NETcannot fetch a URL and emit a PDF; it can only consume one.
PDFDocument document = new PDFDocument();
document.Load("input.pdf");
Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.");
document.Close();
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
//PDFView4NETcannot fetch a URL and emit a PDF; it can only consume one.
PDFDocument document = new PDFDocument();
document.Load("input.pdf");
Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.");
document.Close();
}
}
Imports O2S.Components.PDFView4NET
Imports System
Class Program
Shared Sub Main()
' PDFView4NET cannot fetch a URL and emit a PDF; it can only consume one.
Dim document As New PDFDocument()
document.Load("input.pdf")
Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.")
document.Close()
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 nie ma powierzchni do renderowania HTML/URL — nie ma HtmlToPdfConverter w O2S.Components.PDFView4NET, więc URL musi być najpierw renderowany do PDF przez inne narzędzie, a następnie ładowany do przeglądania/druku.IronPDF obsługuje całą konwersję za pomocą jednego wywołania ChromePdfRenderer.RenderUrlAsPdf(), które zwraca PdfDocument, który można zapisać za pomocą SaveAs(). 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.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
// The HTML string cannot be rendered by PDFView4NET. Assume an upstream
// tool produced "document.pdf";PDFView4NETcan then display or print it.
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).");
document.Close();
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
// The HTML string cannot be rendered by PDFView4NET. Assume an upstream
// tool produced "document.pdf";PDFView4NETcan then display or print it.
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).");
document.Close();
}
}
Imports O2S.Components.PDFView4NET
Imports System
Class Program
Shared Sub Main()
' The HTML string cannot be rendered by PDFView4NET. Assume an upstream
' tool produced "document.pdf"; PDFView4NET can then display or print it.
Dim document As New PDFDocument()
document.Load("document.pdf")
Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).")
document.Close()
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
Nie ma właściwości HtmlContent ani API renderującego HTML w O2S.Components.PDFView4NET, więc ciąg HTML musi być wygenerowany jako PDF w innym miejscu, a następnie załadowany do przeglądarki.IronPDF akceptuje ciąg HTML bezpośrednio za pomocą RenderHtmlAsPdf() i zwraca PdfDocument. 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.Win
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();
document.Load(fs);
string text = "";
for (int i = 0; i < document.PageCount; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
document.Close();
}
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
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();
document.Load(fs);
string text = "";
for (int i = 0; i < document.PageCount; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
document.Close();
}
}
}
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()
document.Load(fs)
Dim text As String = ""
For i As Integer = 0 To document.PageCount - 1
text &= document.Pages(i).ExtractText()
Next
Console.WriteLine(text)
document.Close()
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 utworzenia FileStream, zainicjowania PDFDocument i wywołania Load(fs), a następnie iteracji document.PageCount i konkatenacji Pages[i].ExtractText() na stronę.
IronPDF upraszcza to znacznie: PdfDocument.FromFile() ładuje PDF bezpośrednio z ścieżki, a ExtractAllText() wyodrębnia tekst ze wszystkich stron w jednym wywołaniu 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
Powierzchnia Renderowania HTML
PDFView4NET nie ma API HTML-to-PDF.IronPDF wprowadza ChromePdfRenderer dla wejścia HTML/URL:
// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// or: renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// or: renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
' or: renderer.RenderUrlAsPdf(url)
pdf.SaveAs("output.pdf")
Zmiana w ładowaniu dokumentów
// PDFView4NET: instantiate then Load(path) or Load(stream)
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
// PDFView4NET: instantiate then Load(path) or Load(stream)
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
' PDFView4NET: instantiate then Load(path) or Load(stream)
Dim document As New PDFDocument()
document.Load("document.pdf")
' IronPDF: Direct file path
Dim pdf = PdfDocument.FromFile("document.pdf")
Zmiana dostępu do strony
// PDFView4NET: document.PageCount and document.Pages[i]
for (int i = 0; i < document.PageCount; 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.PageCount and document.Pages[i]
for (int i = 0; i < document.PageCount; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
Imports PDFView4NET
Imports IronPDF
' PDFView4NET: document.PageCount and document.Pages(i)
For i As Integer = 0 To document.PageCount - 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
//PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
//PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
'PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
' IronPDF: SaveAs()
pdf.SaveAs("output.pdf")
Nowe możliwości po migracji
Po migracji do IronPDF zyskujesz 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.FindFormField("FirstName").Value = "John";
pdf.Form.FindFormField("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.FindFormField("FirstName").Value = "John";
pdf.Form.FindFormField("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
Dim pdf = PdfDocument.FromFile("form.pdf")
pdf.Form.FindFormField("FirstName").Value = "John"
pdf.Form.FindFormField("LastName").Value = "Doe"
pdf.SaveAs("filled_form.pdf")
Przetwarzanie po stronie serwera
PDFView4NET nie może działać w środowiskach serwerowych.IronPDF wyróż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ści IronPDF mogą 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 licencyjny IronPDF ze strony ironpdf.com
Zmiany w pakiecie
- Usuń pakiet NuGet
O2S.Components.PDFView4NET.Win(lub.WPF) - Zainstaluj pakiet NuGet
IronPdf:dotnet add package IronPdf
Zmiany w kodzie
- Zaktualizuj importy przestrzeni nazw (
using O2S.Components.PDFView4NET;→using IronPdf;) - Wprowadź
ChromePdfRendererdla dowolnego wejścia HTML lub URL (brak odpowiednika w PDFView4NET) Zastapnew PDFDocument(); document.Load(path)withPdfDocument.FromFile(path)Zastapnew PDFDocument(); document.Load(stream)withPdfDocument.FromStream(stream) - Zastap reczne
for (int i = 0; i < document.PageCount; i++)(orpdf.ExtractTextFromPage(i)) - Zastąp
document.Close()przezpdf.Dispose()(lub blokusing) - 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

