IRONSOFTWAREHOME
FILMY

Konwersja CSHTML do formatu PDF w ASP.NET Core MVC za pomocą IronPDF

Curtis Chau
Curtis Chau
Updated: 19 lipca 2026

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:

  1. **Skoncentrowanie na przegladaniu / renderowaniu / druku:**PDFView4NETladuje istniejace PDF do wyswietlania, drukowania lub renderowania obrazow. Nie generuje PDF z HTML ani URL.

  2. Zaleznosc od struktury UI: Rozprowadzany w wersjachWinFormsi WPF; obie celuja w pulpit Windows, co ogranicza uzycie w pracownikach konsoli lub hostach po stronie serwera.

  3. Brak HTML do PDF: Nie ma HtmlToPdfConverter ani API renderującego HTML w O2S.Components.PDFView4NET.

  4. Ograniczona Manipulacja: Manipulacja koncentruje sie na anotacjach i polach formularzy zamiast pelnego tworzenia tresci.

  5. 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.

  6. Aktywne, ale waskie: O2 Solutions nadal wydaje wydania; produkt jest utrzymywany, ale jego zakres jest intencjonalnie waski.

PorównaniePDFView4NETi IronPDF

FunkcjaPDFView4NETIronPDF
Główny celPrzeglądanie plików PDFKompletne rozwiązanie do obsługi plików PDF (tworzenie, przeglądanie, edycja)
Wymagane frameworki UIWinForms, WPFNone
Tworzenie plików PDFNieTak
Manipulacja plikami PDFOgraniczone (adnotacje)Tak
Po stronie serweraNieobsługiwanePełne wsparcie
Aplikacje internetoweNieTak
Aplikacje konsoloweOgraniczonePełne wsparcie
Azure/DockerNieTak
HTML do PDFNieTak
Kontekst wielopłatformowyNieTak
Łatwość integracjiMediumWysoka

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

  1. Środowisko .NET: .NET Framework 4.6.2+ lub .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Dostęp do NuGet: Możliwość instalowania pakietów NuGet
  3. Licencja IronPDF: Uzyskaj klucz licencyjny na stronie ironpdf.com

Zmiany w pakiecie NuGet

<!-- RemovePDFView4NET(the actual NuGet IDs are split by UI framework) -->
<PackageReference Include="O2S.Components.PDFView4NET.Win" Version="*" Remove />
<!-- or for WPF: O2S.Components.PDFView4NET.WPF -->

<!-- Add IronPDF-->
<PackageReference Include="IronPdf" Version="*" />
XML

Lub za pomocą CLI:

dotnet remove package O2S.Components.PDFView4NET.Win
# (use O2S.Components.PDFView4NET.WPF for theWPFedition)
dotnet add package IronPdf
SHELL

Konfiguracja licencji

// 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;

Mapowania podstawowych interfejsów API

PDFView4NETIronPDF
new PDFDocument(); doc.Load(path)PdfDocument.FromFile(path)
new PDFDocument(); doc.Load(stream)PdfDocument.FromStream(stream)
document.Pages[index]pdf.Pages[index]
document.PageCountpdf.PageCount
document.Print(...)pdf.Print()
document.Close()pdf.Dispose()
N/A wPDFView4NETChromePdfRenderer (HTML do PDF)
N/A wPDFView4NETPdfDocument.Merge()
N/A wPDFView4NETpdf.ApplyWatermark()
document.SecurityManagerpdf.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();
    }
}
C#

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");
    }
}

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();
    }
}
C#

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");
    }
}

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();
        }
    }
}

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);
    }
}

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");

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");

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);

Zmiana metody zapisywania

//PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
C#

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");

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");

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");

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");

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");
}

Podsumowanie porównania funkcji

FunkcjaPDFView4NETIronPDF
Wyświetl pliki PDFTak (UI)Nie (użyj przeglądarki)
Załaduj pliki PDFTakTak
Zapisz pliki PDFOgraniczoneTak
HTML do PDFNieTak
URL do pliku PDFNieTak
Łączenie plików PDFNieTak
Podział plików PDFOgraniczoneTak
Znaki wodneNieTak
Nagłówki/stopkiNieTak
Ochrona hasłemNieTak
Podpisy cyfroweNieTak
Ekstrakcja tekstuOgraniczoneTak
Wypełnij formularzeOgraniczoneTak
WinFormsTakTak
WPFTakTak
KonsolaOgraniczoneTak
ASP.NETNieTak
AzureNieTak
DockerNieTak

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ź ChromePdfRenderer dla dowolnego wejścia HTML lub URL (brak odpowiednika w PDFView4NET) Zastapnew PDFDocument(); document.Load(path) with PdfDocument.FromFile(path) Zastapnew PDFDocument(); document.Load(stream) with PdfDocument.FromStream(stream)
  • Zastap reczne for (int i = 0; i < document.PageCount; i++) (or pdf.ExtractTextFromPage(i))
  • Zastąp document.Close() przez pdf.Dispose() (lub blok using)
  • 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

Zwróć uwagę: PDFView4NET jest zarejestrowanym znakiem towarowym swojego wlasciciela. Ta strona nie jest powiazana, zatwierdzona ani sponsorowana przez O2 Solutions. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta