IRONSOFTWAREHOME
NARZĘDZIA PDF

Porównanie IronPDF i PDFNet

Curtis Chau
Curtis Chau
Updated: 19 lipca 2026

1. Wprowadzenie

Szukasz idealnych narzędzi do obsługi plików PDF dla platformy .NET Framework?

W tym artykułe przyjrzymy się, jak pracować z plikami PDF w języku C# (jednym z najpopularniejszych języków programowania). Omówimy dwa wiodące w branży narzędzia do obsługi plików PDF dla języka C# w środowisku .NET Framework, wykorzystując przykłady kodu do porównania ich pod kątem wydajności i funkcji. Na koniec przyjrzymy się szczegółom licencji i dowiemy się, jak uzyskać klucze licencyjne.

Dwie biblioteki PDF to:

  • PDFNet
  • IronPDF

2. IronPDF

IronPDF to biblioteka C# .NET opracowana przez Iron Software w celu rozwiązania wszystkich problemów związanych z plikami PDF dla programistów C# .NET przy użyciu jednej biblioteki. IronPDF jest oparty na silniku Chromium i oferuje szereg przydatnych i zaawansowanych funkcji, takich jak konwersja plików HTML5, JavaScript, CSS i obrazów do formatu PDF, tworzenie niestandardowych nagłówków i stopek oraz wyświetlanie plików PDF dokładnie tak, jak wyglądają w przeglądarce. IronPDF umożliwia odczytywanie danych z plików PDF i automatyczne wstawianie ich do aplikacji .NET oraz systemów przechowywania danych. Możesz importować, przenosić i indeksować treści ze starego magazynu dokumentów PDF do swoich aplikacji do zarządzania dokumentami i aplikacji biznesowych.

2.1. Funkcje IronPDF

2.1.1. Konwersje PDF

Ta funkcja pozwala generować pliki PDF z różnych formatów, takich jak HTML, widoki MVC, formularze internetowe, ciągi znaków HTML i adresy URL.

2.1.2. Pobieranie treści z plików PDF

W wielu przypadkach można łatwo wyodrębnić tekst osadzony w plikach PDF. Jeśli jednak to nie zadziała, najprawdopodobniej tekst jest osadzony w obrazie. Aby skanować dokumenty w poszukiwaniu tekstu wizualnego, a nie zwykłego tekstu, należy użyć biblioteki IronOCR.

2.1.3 Nagłówki i stopki

Nagłówki i stopki można dodawać podczas tworzenia plików PDF lub do istniejących plików PDF. Za pomocą właściwości Opcje drukowania można utworzyć nagłówek i stopkę dla każdej strony dokumentu. Te parametry są dostępne w obiekcie ChromePdfRenderer. Ten przykład działa w aplikacji konsolowej .NET Core.

2.1.4. Przetwarzanie obrazów w formacie PDF

Umożliwia to użytkownikom generowanie obrazów z plików PDF, a także plików PDF ze zdjęć. Obsługuje wyodrębnianie obrazów, różne rozszerzenia obrazów oraz drukowanie plików PDF.

2.1.5. Dokumenty PDF IO

IronPDF oferuje również 128-bitowe szyfrowanie plików PDF, blokowanie plików PDF za pomocą hasła oraz podpisywanie cyfrowym podpisem.

2.1.6. Edycja plików PDF

Narzędzie IronPDF pozwala dodawać do plików PDF znaki wodne, dodawać i usuwać strony, tła, elementy pierwszego planu i wiele więcej.

2.1.7. Kompatybilność

IronPDF obsługuje prawie wszystkie systemy operacyjne i frameworki kompatybilne z C#, takie jak:

  • Windows
  • .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
  • .NET Standard 2.0 zgodność dla uniwersalnej kompatybilności
  • Azure
  • AWS
  • Docker
  • Linux

3. PDFNet

PDFNet .NET SDK firmy PDFTron zapewnia precyzyjne przetwarzanie, adnotowanie, edycję i tworzenie plików PDF w dowolnym środowisku lub aplikacji w sieci, na urządzeniach mobilnych, komputerach stacjonarnych lub serwerach. Zarządza całym procesem zarządzania dokumentami i informacjami w ramach Twojej infrastruktury i eliminuje konieczność korzystania z serwerów stron trzecich. Platforma internetowa PDFTron zawiera wersję JS z obsługiwanymi platformami oraz klucz licencyjny do wersji demonstracyjnej wszystkich zestawów SDK do obsługi plików PDF.

Jedną z najważniejszych zalet PDFNet jest to, że jest to rozwiązanie prawdziwie wielopłatformowe, pozwalające naszym użytkownikom w prosty sposób dodać obsługę plików PDF i odpowiednie funkcje biznesowe do swoich procesów i aplikacji w wielu różnych środowiskach mobilnych i stacjonarnych, a wszystko to przy użyciu praktycznie tego samego interfejsu.

3.1. Funkcje PDFNet SDK

3.1.1. Kompatybilność

Pakiet PDFNet SDK jest kompatybilny z wieloma platformami i frameworkami. Aby zapewnić spójność platformy, interfejs API JavaScript jest wykorzystywany w taki sam sposób jak interfejs API PDFNet. Dostępne są również wersje SDK dla Node.js i Electron. Ten pakiet wymaga niezarządzanych plików binarnych dodatków.

3.1.2. Edycja i przeglądanie

Zapewnia użytkownikom korzystającym z platform internetowych, mobilnych i stacjonarnych bezpieczne, skalowalne i wysokiej jakości możliwości czytania i edycji plików PDF.

3.1.3. Podpisywanie

Stwórz spersonalizowane procedury podpisywania. Dokumenty podpisane cyfrowo mogą być certyfikowane, weryfikowane i pieczętowane.

3.1.4. Prawdziwa redakcja

Należy usunąć z dokumentów dane wrażliwe, takie jak dane osobowe lub informacje dotyczące zdrowia, zachowując jednocześnie możliwość przeszukiwania dokumentu.

3.1.5. Manipulowanie stroną

Strony mogą być dodawane, usuwane lub zmieniane. Dokumenty mogą być łączone, scałane lub dzielone na części. Wyświetlaj kilka dokumentów jednocześnie w tym samym czytniku lub obok siebie.

4. Tworzenie nowego projektu w Visual Studio

W tym artykułe wykorzystamy aplikację konsolową do generowania dokumentów PDF.

Otwórz oprogramowanie Visual Studio i przejdź do menu Plik. Wybierz "nowy projekt", a następnie wybierz aplikację konsolową.

Wpisz nazwę projektu i wybierz ścieżkę w odpowiednim polu tekstowym. Następnie kliknij przycisk utwórz. Wybierz wymagany framework .NET, jak na poniższym zrzucie ekranu:

A Comparison Between IronPDF and PDFNet, Figure 1

Projekt Visual Studio wygeneruje teraz strukturę aplikacji konsolowej. Po zakończeniu, otworzy plik Program.cs, w którym możesz pisać i wykonywać kod źródłowy.

A Comparison Between IronPDF and PDFNet, Figure 2

Teraz możemy dodać bibliotekę i przetestować program.

5. Instalacja biblioteki IronPDF

Biblioteka IronPDF może być pobrana i zainstalowana na cztery różne sposoby. Są to:

5.1 Korzystanie z Menedżera Pakietów NuGet w Visual Studio

Oprogramowanie Visual Studio udostępnia opcję NuGet Package Manager, która pozwala zainstalować pakiet bezpośrednio w rozwiązaniu. Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet.

A Comparison Between IronPDF and PDFNet, Figure 3

Po otwarciu interfejsu graficznego menedżera pakietów kliknij kartę Przeglądaj i wyszukaj "IronPDF:".

A Comparison Between IronPDF and PDFNet, Figure 4

Na powyższym obrazie możemy zobaczyć listę powiązanych pakietów z wyszukiwania. Wybierz opcję IronPDF i zainstaluj pakiet w naszym rozwiązaniu.

5.2 Korzystanie z wiersza poleceń Visual Studio

  • W menu Visual Studio przejdź do Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów
A Comparison Between IronPDF and PDFNet, Figure 5

  • Wpisz następującą linię w zakładce konsoli menedżera pakietów:

PM > Install-Package IronPdf

Pakiet IronPDF zostanie teraz zainstalowany w projekcie.

A Comparison Between IronPDF and PDFNet, Figure 6

5.3 Bezpośrednie pobranie ze strony NuGet

Trzecim sposobem jest pobranie pakietu NuGet bezpośrednio z galerii NuGet IronPDF Package.

  • Wybierz opcję pakietu do pobrania z menu po prawej stronie.
  • Kliknij dwukrotnie pobrany pakiet; zostanie zainstalowany automatycznie.
  • Następnie przeładuj rozwiązanie i zacznij z niego korzystać w projekcie.

5.4 Bezpośrednie pobranie z strony IronPDF

Pobierz najnowszy pakiet bezpośrednio ze strony pobierania IronPDF. Po pobraniu, postępuj zgodnie z poniższymi krokami, aby dodać pakiet do projektu.

  • Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
  • Następnie wybierz opcję "Odwołania" i przejdź do lokalizacji pobranego odwołania.
  • Następnie kliknij OK, aby dodać odwołanie.

6. Zainstaluj pakiet PDFNet SDK

Pakiet PDFNet SDK można pobrać i zainstalować na cztery różne sposoby.

  • Korzystanie z menedżera pakietów NuGet w Visual Studio.
  • Korzystanie z wiersza poleceń programu Visual Studio.
  • Bezpośrednie pobranie z pakietu PDFNet w galerii NuGet.
  • Korzystanie z biblioteki PDFNetLoader.dll

6.1. Używając Menedżera Pakietów NuGet Visual Studio

Jak wyjaśniono powyżej, przejdź do narzędzi w Visual Studio i otwórz menedżera pakietów NuGet. Pojawi się lista — kliknij opcję zarządzania pakietem NuGet, aby uzyskać rozwiązania.

A Comparison Between IronPDF and PDFNet, Figure 7

Pojawi się okno z paskiem wyszukiwania. Wyszukaj PDFNet i zainstaluj w projekcie.

6.2. Używanie linii poleceń Visual Studio

  • W menu Visual Studio przejdź do Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów
  • Wpisz następującą linię w zakładce konsoli menedżera pakietów:

PM > Install-Package PDFNet -Version 9.2.0

A Comparison Between IronPDF and PDFNet, Figure 8

6.3. Bezpośrednie pobranie ze strony NuGet

Trzeci sposób to pobranie pakietu NuGet bezpośrednio z Galerii Pakietów PDFNet na NuGet.

  • Wybierz opcję pobierania pakietu z menu po prawej stronie.
  • Kliknij dwukrotnie pobrany pakiet, aby rozpocząć proces instalacji.

6.4. Korzystanie z PDFNetLoader.dll

Możesz również zainstalować API PDFNet przy użyciu pliku PDFNetLoader.dll. Pobierz go z GitHub Releases dla pliku PDFNetLoader.dll.

Pobierz pakiet, umieść go w pliku bin projektu i uruchom. W swoim projekcie Visual Studio dodaj PDFNetLoader.dll jako referencję.

Renderowanie Bootstrap i CSS Framework

Nowoczesne aplikacje webowe polegają w dużej mierze na frameworkach Bootstrap i CSS dla spójnego, responsywnego designu. Podczas generowania PDF-ów z treści webowych, zdolność do dokładnego renderowania tych frameworków bez modyfikacji jest kluczowa do utrzymania spójności designu i zmniejszenia wysiłku developerskiego.

IronPDF: Kompleksowa obsługa frameworku Bootstrap

  • Bootstrap 5: Pełny system układu flexbox, siatka CSS, klasy użytkowe i wszystkie biblioteki komponentów
  • Bootstrap 4: Kompleksowe komponenty kart, nawigacja, narzędzia flex i responsywny design
  • Tailwind CSS: Wszystkie klasy użytkowe renderują się z dokładnością przeglądarki
  • Foundation: Kompletny system siatki i wsparcie dla komponentów
  • Nowoczesny CSS3: Flexbox, CSS Grid, zmienne zwyczajowe, animacje, przejścia i transformacje

Weryfikacja w świecie rzeczywistym: IronPDF renderuje stronę główną Bootstrap i wszystkie oficjalne przykłady z idealną wiernością w pikselach.

Przykład kodu: Dashboard systemu zarządzania nauką

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapLMS = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <div>
                <h1 class='display-6 mb-1'>Student Learning Dashboard</h1>
                <p class='text-muted mb-0'>Spring Semester 2025</p>
            </div>
            <span class='badge bg-success fs-5'>92% Overall Progress</span>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-primary'>
                    <div class='card-body'>
                        <div class='text-primary mb-2' style='font-size: 2rem;'>📚</div>
                        <h3 class='mb-1'>6/8</h3>
                        <p class='text-muted mb-0'>Courses Completed</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-success'>
                    <div class='card-body'>
                        <div class='text-success mb-2' style='font-size: 2rem;'>🎯</div>
                        <h3 class='mb-1'>24/28</h3>
                        <p class='text-muted mb-0'>Assignments Submitted</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-warning'>
                    <div class='card-body'>
                        <div class='text-warning mb-2' style='font-size: 2rem;'>⏱</div>
                        <h3 class='mb-1'>48hrs</h3>
                        <p class='text-muted mb-0'>Study Time This Week</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-info'>
                    <div class='card-body'>
                        <div class='text-info mb-2' style='font-size: 2rem;'>⭐</div>
                        <h3 class='mb-1'>A- Average</h3>
                        <p class='text-muted mb-0'>Current GPA: 3.7</p>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-primary text-white'>
                        <h5 class='mb-0'>Current Courses</h5>
                    </div>
                    <div class='card-body p-0'>
                        <div class='list-group list-group-flush'>
                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Advanced Web Development</h6>
                                        <small class='text-muted'>Prof. Johnson | Mondays & Wednesdays, 2:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 95%'></div>
                                </div>
                                <small class='text-muted'>95% Complete | Final Project Due: May 15</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Database Systems</h6>
                                        <small class='text-muted'>Prof. Chen | Tuesdays & Thursdays, 10:00 AM</small>
                                    </div>
                                    <span class='badge bg-primary'>Grade: A-</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-primary' style='width: 88%'></div>
                                </div>
                                <small class='text-muted'>88% Complete | Midterm: April 28</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Artificial Intelligence Fundamentals</h6>
                                        <small class='text-muted'>Prof. Martinez | Fridays, 1:00 PM</small>
                                    </div>
                                    <span class='badge bg-warning text-dark'>Grade: B+</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-warning' style='width: 75%'></div>
                                </div>
                                <small class='text-muted'>75% Complete | Research Paper Due: May 5</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Computer Networks</h6>
                                        <small class='text-muted'>Prof. Davis | Mondays & Wednesdays, 4:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 92%'></div>
                                </div>
                                <small class='text-muted'>92% Complete | Lab Exam: April 30</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm mb-3'>
                    <div class='card-header bg-warning text-dark'>
                        <h5 class='mb-0'>Upcoming Deadlines</h5>
                    </div>
                    <div class='card-body p-0'>
                        <ul class='list-group list-group-flush'>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-danger me-2'>Today</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Assignment 4</strong></small>
                                        <br><small class='text-muted'>Neural Networks Lab</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-warning text-dark me-2'>Apr 28</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Database Midterm</strong></small>
                                        <br><small class='text-muted'>Chapters 1-8</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-info me-2'>Apr 30</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Networks Lab Exam</strong></small>
                                        <br><small class='text-muted'>Practical Assessment</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-primary me-2'>May 5</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Research Paper</strong></small>
                                        <br><small class='text-muted'>15-20 pages</small>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>

                <div class='card shadow-sm'>
                    <div class='card-header bg-info text-white'>
                        <h5 class='mb-0'>Study Resources</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-outline-primary btn-sm'>📖 Course Materials</button>
                            <button class='btn btn-outline-primary btn-sm'>💬 Discussion Forums</button>
                            <button class='btn btn-outline-primary btn-sm'>🎥 Recorded Lectures</button>
                            <button class='btn btn-outline-primary btn-sm'>📝 Practice Quizzes</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapLMS);
pdf.SaveAs("lms-dashboard.pdf");

Wynik: Profesjonalny system zarządzania nauką PDF z systemem siatkowym Bootstrap 5, komponentami kart, paskami postępu, odznakami, układami flexbox i grupami list—all rendering with pefect spacing, typography and color accuracy.

PDFNet (Apryse): Częściowe wsparcie dla nowoczesnych CSS

PDFNet używa niestandardowego silnika renderowania HTML z selektywnym wsparciem dla CSS3:

  • Ograniczona implementacja flexbox: Układy oparte na flexach w Bootstrap 4/5 mogą renderować się niespójnie
  • Częściowe wsparcie siatki CSS: Projektowane na siatce często wymagają alternatyw
  • Ograniczenia JavaScript: Minimalne wykonanie w porównaniu do pełnych środowisk przeglądarkowych
  • Konieczne testowanie frameworku: Komponenty Bootstrap wymagają weryfikacji przed uruchomieniem

Wpływ na rozwój: Zespoły muszą testować każdy komponent Bootstrap indywidualnie i często tworzyć uproszczone układy lub alternatywne CSS dla PDFNet, dodając złożoność i zmniejszając spójność designu.

Dla kompleksowych wskazówek dotyczących frameworku Bootstrap i możliwości renderowania nowoczesnych CSS, zobacz Przewodnik po Bootstrap & Flexbox CSS.

7. Drukowanie pliku PDF (Przykłady kodu)

Drukowanie pliku PDF jest niezbędną funkcją w nowoczesnych aplikacjach zajmujących się PDF-ami. Tutaj omówimy, jak drukować pliki PDF za pomocą obu narzędzi.

7.1. Drukowanie pliku PDF za pomocą IronPDF

IronPDF drukuje PDF przez wysłanie go do domyślnej drukarki w komputerze. Otworzy się interfejs drukowania Windows—wystarczy kliknąć drukuj, aby to zrobić.

using IronPdf;

class PrintPDF
{
    static void Main(string[] args)
    {
        // Create a new PDF and print it
        var Renderer = new IronPdf.ChromePdfRenderer();
        PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

        // Send the PDF to the default printer to print
        Pdf.Print(300, false);
    }
}

7.2. Drukowanie pliku PDF za pomocą PDFNet

PDFTron's PDFNet SDK również udostępnia funkcję drukowania. Poniżej znajduje się fragment kodu źródłowego do drukowania pliku PDF w PDFNet.

using System;
using pdftron;
using pdftron.PDF;
using pdftron.Common;
using pdftron.Filters;

namespace PDFPrintTestCS
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Opening the input file...");
            using (PDFDoc pdfdoc = new PDFDoc("tiger.pdf"))
            {
                pdfdoc.InitSecurityHandler();
                Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...");
                PrinterMode printerMode = new PrinterMode();
                printerMode.SetAutoCenter(true);
                printerMode.SetAutoRotate(true);
                printerMode.SetCollation(true);
                printerMode.SetCopyCount(1);
                printerMode.SetDPI(300); // Set print quality to 300 DPI
                printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto);
                printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom);
                printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait);
                printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations);
                printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale);
                printerMode.SetOutputPageBorder(false);
                printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium);
                printerMode.SetPaperSize(new Rect(0, 0, 612, 792));
                PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all);
                Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null);
            }
        }
    }
}

8. Tworzenie PDF-ów z HTML

Obie biblioteki posiadają funkcje konwersji HTML na PDF, ale metody są nieco inne.

8.1. Tworzenie PDF-ów z HTML za pomocą IronPDF

IronPDF nie wymaga użycia plików JSON ani mechanizmów szyfrowania. IronPDF obsługuje szeroki zakres metod. Na przykład:

Pliki HTML na PDF

using IronPdf;

class HtmlToPdf
{
    static void Main(string[] args)
    {
        var Renderer = new IronPdf.ChromePdfRenderer();
        Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
    }
}

URL do pliku PDF

using IronPdf;

class UrlToPdf
{
    static void Main(string[] args)
    {
        IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
        var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
        Pdf.SaveAs("url.pdf");
    }
}
A Comparison Between IronPDF and PDFNet, Figure 9

8.2. Tworzenie PDF-ów z HTML za pomocą PDFNet

PDFNet również udostępnia funkcje konwersji HTML na PDF, używając zarówno konwersji stron, jak i konwersji URL. Ze względu na długi kod, damy tutaj tylko jeden przykład.

class HTML2PDFSample
{
    private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
    static HTML2PDFSample() {}
    
    static void Main(string[] args)
    {
        string output_path = "../../../../TestFiles/Output/html2pdf_example";
        string host = "https://www.pdftron.com";
        HTML2PDF.SetModulePath("../../../../../Lib");
        
        if (!HTML2PDF.IsModuleAvailable())
        {
            Console.WriteLine();
            Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.");
            return;
        }
        
        try
        {
            using (PDFDoc doc = new PDFDoc())
            {
                if (HTML2PDF.Convert(doc, host + "/"))
                    doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized);
                else
                    Console.WriteLine("Conversion failed.");
            }
        }
        catch (PDFNetException e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
A Comparison Between IronPDF and PDFNet, Figure 10

9. Licencjonowanie

IronPDF to biblioteka, która oferuje darmową licencję developerską. IronPDF oferuje również specjalną strukturę cenową: pakiet light rozpoczyna się od $999 bez ukrytych kosztów. Również możliwe jest redystrybucja produktów SaaS i OEM. Wszystkie licencje obejmują 30-dniową gwarancję zwrotu pieniędzy, rok wsparcia i aktualizacji oprogramowania, ważność na etapy rozwijania/testowania/wdrażania/produkcji oraz licencję wieczystą (jednorazowy zakup). Licencje IronPDF zapewniają maksymalną wydajność dla potrzeb użytkowników. Przejdź na tę Stronę o Licencjach IronPDF aby zobaczyć całą strukturę cenową i licencje IronPDF.

A Comparison Between IronPDF and PDFNet, Figure 11

PDFTron PDFNet SDK posiada kilka opcji licencjonowania dostosowanych do Twoich biznesowych potrzeb. Trzy rodzaje licencji z redystrybucją enterprise i OEM. Licencje Enterprise są tylko do użytku organizacyjnego i nie mogą być używane w dystrybucji aplikacji. Dodatkowe API wymagające dostępu do systemu plików są również zawarte w licencjach. Wszystkie licencje mają klucz licencyjny. Trzy rodzaje licencji to:

  • Viewer
  • Viewer & Annotation
  • Core SDK

Więcej informacji o ich strukturze licencji można znaleźć na tej Stronie Informacyjnej o Licencjach PDFTron.

10. Wnioski

IronPDF oferuje wiele funkcji i zdolności do przetwarzania plików PDF i konwersji ich do różnych formatów. Konwersje z HTML do PDF są tworzone w formacie wektorowym, który jest odpowiedni do wysokiej jakości komercyjnego druku. W rezultacie otrzymasz klarowny, wysokiej jakości PDF. Informacje o licencjach i cenach można znaleźć na stronie internetowej.

Podobnie jak IronPDF, PDFNet wspomaga przejście, anotację, podpis, wypełnienie, konwersję i edycję plików PDF. Obsługuje wiele platform, w tym Windows, iOS, Android, WEB i Linux. Do użytku produkcyjnego, SDK PDFNet potrzebuje klucza produktu.

Licencje IronPDF są centryczne na deweloperze, co oznacza, że musisz uzyskać licencję w oparciu na ilość deweloperów, którzy będą używać produktu. Z drugiej strony, licencje PDFNet nie działają w ten sam sposób, działając zamiast tego na licencji opartej na funkcjach. Oznacza to, że musisz uzyskać licencję, która wspiera wymagane funkcje. Licencje IronPDF zawierają wszystkie funkcje out of the box. W przypadku PDFNet, niektóre funkcje, takie jak konwersja dokumentów, muszą być zakupione jako dodatki.

Biblioteka IronPDF oferuje funkcje w uporządkowany sposób, co sprawia, że łatwo jest pisać kod, który wykonuje duże zadania za pomocą kilku linijek. Iron Software obecnie oferuje pakiet pięciu narzędzi za cenę zaledwie dwóch. Narzędzia zawarte w Iron Suite to:

Odwiedź tę Stronę Informacyjną Iron Suite, aby Zbadać Iron Suite.

Zwróć uwagę: PDFTron jest zarejestrowanym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z, popierana ani sponsorowana przez PDFTron. 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.

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