Przejdź do treści stopki
PORóWNANIA PRODUKTóW

IronPDF i DynamicPDF - Kompleksowe porównanie

1. Wprowadzenie

PDF oznacza Portable Document Format, stworzony przez Adobe do prezentowania dokumentów zawierających formatowany tekst i obrazy. Potrzebujemy osobnej aplikacji do otwierania plików w formacie PDF. PDF odgrywa ważną rolę we współczesnym świecie; Pliki PDF są używane w większości sektorów przemysłu do fakturowania i generowania dokumentów. Deweloperzy używają plików PDF do spełniania wymagań klientów dotyczących generowania dokumentów. Obecnie generowanie plików PDF stało się znacznie łatwiejsze dzięki bibliotekom dostępnym na rynku. Korzystając z takiej biblioteki w projekcie, powinniśmy rozważyć czynniki takie jak jak tworzyć, czytać i konwertować; to pomoże nam zdecydować, która biblioteka najlepiej się nadaje.

W tym artykule porównamy dwie najbardziej popularne biblioteki PDF dla komponentów .NET. Te dwie biblioteki to:

  • IronPDF
  • DynamicPDF

Biblioteki IronPDF i DynamicPDF są wykorzystywane do tworzenia, czytania lub modyfikacji plików PDF w aplikacjach Microsoft .NET, aplikacjach internetowych ASP.NET oraz tradycyjnych aplikacjach Windows. Teraz możemy porównać te dwie biblioteki. Aby zdecydować, która z nich jest najlepsza do użycia w naszej aplikacji, najpierw porównamy funkcje dwóch bibliotek, a następnie przejdziemy do analizy poziomów wydajności przy konwersji i manipulacji plikami PDF. Obie biblioteki są wspierane przez frameworki Microsoft .NET Core.

1.1 Funkcje IronPDF

IronPDF to potężny konwerter HTML, który może obsłużyć niemal wszystko, co oferuje przeglądarka internetowa. .NET biblioteka dla programistów może być łatwo używana do tworzenia, czytania lub modyfikacji plików PDF. IronPDF używa silnika Chromium do renderowania HTML na PDF i wspiera różne komponenty internetowe, takie jak HTML, ASPX, Razor HTML oraz MVC View. IronPDF wspiera pliki w twoich aplikacjach Microsoft .NET (zarówno aplikacjach internetowych ASP.NET, jak i tradycyjnych aplikacjach Windows).

IronPDF umożliwia tworzenie plików z HTML5, JavaScript, CSS oraz obrazów. Możemy również dodawać nagłówki i stopki do plików, a ogólnie czytanie plików PDF staje się bardzo proste. Dodatkowo, IronPDF zawiera potężny konwerter HTML na PDF, który może obsłużyć wszystkie pliki PDF.

Pliki PDF można tworzyć z różnych typów plików, w tym HTML, HTML5, ASPX i Razor/MVC View. Możemy również konwertować pliki obrazów na PDF.

Generowanie dokumentu z linku URL. Pozwala nam również używać niestandardowych poświadczeń logowania do sieci, User-Agents, Proxy, Cookies, nagłówków HTTP i zmiennych formularza umożliwiających logowanie za formularzami logowania HTML.

  • IronPDF pozwala nam czytać i wypełniać formularze w istniejących dokumentach PDF.
  • Może wyodrębniać obrazy z dokumentów.
  • Pozwala nam dodawać nagłówki, stopki, tekst, obrazy, zakładki, znaki wodne itp. do dokumentów.
  • Pozwala nam łączyć i dzielić nowe lub istniejące strony dokumentów.
  • Możemy konwertować dokumenty na obiekty PDF bez Acrobat Reader.
  • Możemy konwertować pliki CSS i pliki mediów na dokumenty.

1.2 Funkcje DynamicPDF

DynamicPDF for .NET to narzędzie do manipulacji plikami PDF, które pomaga jego użytkownikom tworzyć, edytować, łączyć, dzielić, raportować i pisać, wśród innych funkcji, na platformie .NET. DynamicPDF oferuje siedem różnych funkcji lub produktów, które pomagają użytkownikom w ich pracy związanej z PDF. Zobacz poniższe produkty oferowane przez DynamicPDF.

DynamicPDF HTML Converter for .NET

DynamicPDF HTML Converter konwertuje HTML na PDF i tablice bajtów PDF.

DynamicPDF Core Suite for .NET

DynamicPDF Core Suite to ich główny produkt, który obsługuje całą manipulację plikami PDF, jak tworzenie PDF, tworzenie raportów PDF, pakowanie PDF, kompatybilne PDF/A, kompatybilne PDF/X, stemplowanie PDF, oznakowane PDF i szablon.

DynamicPDF PrintManager for .NET

Ta funkcja oferuje drukowanie PDF, faksowanie PDF, drukowanie PDF z tablicy bajtów i drukowanie wielu plików PDF.

DynamicPDF Converter for .NET

Ta opcja pozwala konwertować różne formaty plików na PDF przy użyciu platform .NET, takich jak HTML, Excel, PowerPoint, Tiff i Word na PDF.

DynamicPDF Rasterizer for .NET

Ten produkt pozwala użytkownikom konwertować PDF na różne formaty obrazów, takie jak JPG, TIFF, BMP, PNG i GIF.

DynamicPDF Viewer for .NET

DynamicPDF Viewer oferuje sposoby otwierania i przeglądania plików PDF.

  • Otwórz Zaszyfrowany PDF
  • Otwórz PDF z tablicy bajtów
  • Otwórz PDF z lokalizacji pliku

DynamicBarcode Creator for .NET

Ta funkcja pozwala deweloperom tworzyć kody kreskowe różnych typów.

  • Kod kreskowy 2D
  • Liniowy kod kreskowy
  • Pocztowy kod kreskowy

2. Tworzenie nowego projektu w Visual Studio

Otwórz oprogramowanie Visual Studio, przejdź do menu plik i wybierz nowy projekt. Następnie wybierz aplikację konsolową. W tym artykule wykorzystamy aplikację konsolową do generowania dokumentów PDF.

Wpisz nazwę projektu i wybierz ścieżkę do pliku w odpowiednim polu tekstowym. Następnie kliknij przycisk Utwórz. Również wybierz wymagany .NET Framework.

Projekt Visual Studio teraz wygeneruje strukturę dla wybranej aplikacji, a jeśli wybierzesz konsolę, Windows i aplikację internetową, otworzy plik program.cs, gdzie możesz wpisać kod i skompilować/uruchomić aplikację.

Następnie możemy dodać bibliotekę, aby przetestować kod.

3. Zainstaluj bibliotekę IronPDF

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

Są to:

  • Korzystanie z programu Visual Studio.
  • Korzystanie z wiersza poleceń programu Visual Studio.
  • Bezpośrednie pobranie ze strony NuGet.
  • Bezpośrednie pobranie ze strony internetowej IronPDF.

3.1 Korzystanie z programu Visual Studio

Oprogramowanie Visual Studio zapewnia opcję menedżera pakietów NuGet do zainstalowania pakietu bezpośrednio do rozwiązania.

Zapewnia pole wyszukiwania do wyświetlania listy pakietów z witryny NuGet. W menedżerze pakietów musimy wyszukać słowo kluczowe "IronPDF".

3.2 Korzystanie z wiersza poleceń programu Visual Studio

  • W Microsoft Visual Studio przejdź do Tools -> NuGet Package Manager -> Package Manager Console
  • Wprowadź następujący wiersz w zakładce Konsola menedżera pakietów:
Install-Package IronPdf

Teraz pakiet zostanie pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.

3.3 Pobieranie bezpośrednie z witryny NuGet

Trzecim sposobem jest pobranie pakietu NuGet bezpośrednio ze strony internetowej.

  • Przejdź do Pakietu IronPdf NuGet.
  • Wybierz opcję pakietu do pobrania z menu po prawej stronie.
  • Kliknij dwukrotnie pobrany pakiet. Zostanie zainstalowany automatycznie.
  • Teraz załaduj ponownie rozwiązanie i zacznij używać go w projekcie.

3.4 Pobieranie bezpośrednie ze strony internetowej IronPDF

Odwiedź Oficjalną stronę internetową IronPDF, aby pobrać najnowszy pakiet bezpośrednio ze strony internetowej. Po pobraniu, postępuj według poniższych kroków, aby dodać pakiet do projektu.

  • Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
  • Następnie wybierz opcję odniesienia i przeglądam lokalizację pobranego odniesienia.
  • Kliknij OK, aby dodać odniesienie.

4. Instalacja biblioteki DynamicPDF

Pakiet NuGet

DynamicPDF Core Suite jest dostępny na NuGet i jest częścią pakietu ceTe.DynamicPDF.CoreSuite.NET. Najłatwiejszym sposobem na zainstalowanie pakietu jest użycie Menedżera Pakietów Visual Studio. Można także pobrać pakiet bezpośrednio z NuGet.

NuGet Package ID: ceTe.DynamicPDF.CoreSuite.NET

DynamicPDF Core Suite Informacje

Więcej informacji można znaleźć w Dokumentacji DynamicPDF Core Suite.

Dostępne na innych platformach. DynamicPDF Core Suite jest dostępny dla platform Java i COM/ActiveX. Proszę odnieść się do odpowiednich stron produktów po więcej szczegółów.

4.1 Dokumentacja

Dokumentacja jest dostępna zarówno online, jak i w plikach .chm, które są zainstalowane lokalnie na komputerze hosta.

4.2 Przykłady

Aplikacja przykładowa demonstruje funkcje oferowane przez DynamicPDF. Są one również instalowane lokalnie na komputerze hosta.

Odwiedź Repozytorium GitHub DynamicPDF dla aplikacji przykładowych.

4.3 Narzędzia

Inne narzędzia mogą być wymagane do zainstalowania, aby używać produktu. Na przykład narzędzie do dodawania HTML do PDF.

4.3.1 Dodawanie pakietu odniesienia NuGet DynamicPDF

DynamicPDF HTML Converter, DynamicPDF Core Suite i DynamicPDF Converter są dostępne przez NuGet. Najłatwiejszym sposobem na zainstalowanie pakietów jest poprzez Visual Studio Package Manager.

DynamicPDF HTML Converter jest dostępny na NuGet w pakiecie ceTe.DynamicPDF.HtmlConverter.NET.

DynamicPDF Core Suite jest dostępny na NuGet oraz w pakiecie ceTe.DynamicPDF.CoreSuite.NET.

DynamicPDF Converter jest dostępny na NuGet oraz w pakiecie ceTe.DynamicPDF.Converter.NET.

Przykładowy Projekt GitHub

Sklonuj lub przejrzyj przykładowy projekt na GitHub: Przykładowy Projekt DynamicPDF.

Informacje o DynamicPDF Converter i Generator

Więcej informacji o wszystkich trzech produktach jest dostępnych poprzez:

5. Tworzenie formatu Portable Document Format z linku URL

Obie biblioteki PDF mają konwertery, które mogą obsłużyć potężną konwersję HTML na PDF. Zobaczmy poniżej, jak możemy tworzyć pliki PDF.

5.1 Korzystanie z IronPDF

IronPDF ułatwia nam tworzenie plików PDF. Renderuje pliki HTML z URL i konwertuje je na dokumenty PDF.

Poniższe metody pomagają nam łatwo tworzyć dokumenty PDF:

// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
' Initialize a new instance of the ChromePdfRenderer class.
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render a PDF from a given URL and save it as "result.pdf".
Dim Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")

' Alternatively, chain the method calls
Call (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

W powyższym przykładzie używamy dwóch metod, aby przekonwertować link na dokument. Jedna z metod polega na utworzeniu obiektu IronPDF, podczas gdy druga metoda polega na bezpośrednim łańcuchowaniu wywołania RenderUrlAsPdf.

5.2 Korzystanie z DynamicPDF

Potężny konwerter HTML na PDF jest funkcją oferowaną przez DynamicPDF. Konwertuje dowolny plik HTML lub znacznik na PDF. Poniżej znajduje się przykład, jak łatwo tworzyć PDF za pomocą DynamicPDF.

// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
' Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath)
$vbLabelText   $csharpLabel

Ten przykład demonstruje prostą konwersję pliku z HTML (określony URL) do PDF.

6. Tworzenie formatu Portable Document Format z HTML

Zarówno IronPDF, jak i DynamicPDF zapewniają łatwą metodę konwersji ciągu HTML na PDF.

6.1 Korzystanie z IronPDF

Za pomocą IronPDF możemy konwertować ciągi HTML na dokumenty PDF. Poniżej znajduje się przykład konwersji ciągu HTML na dokumenty. Pozwala także na konwersję dowolnego znacznika HTML na dokumenty PDF.

// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
' Convert an HTML string to a PDF and save it as "result.pdf".
Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

Powyższy przykład pokazuje, że jesteśmy w stanie konwertować ciągi HTML przy użyciu RenderHtmlAsPdf.

6.2 Korzystanie z DynamicPDF

DynamicPDF również pomaga nam konwertować ciągi HTML na dokumenty. Poniżej znajduje się przykład konwersji ciągów HTML.

// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +  
                    "<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +  
                    "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";

// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath); 
// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +  
                    "<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +  
                    "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";

// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath); 
' Define a simple HTML string with a table.
Dim sampleHtml As String = "<html><body><p>This is a very simple HTML string including a Table below.</p>" & "<h4>Two rows and three columns:</h4><table border=""1""><tr><td>100</td><td>200</td>" & "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>"

' Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath)
$vbLabelText   $csharpLabel

Poniższy przykład demonstruje konwersję określonego ciągu HTML na PDF.

7. Czytanie dokumentów Portable Document Format

Możemy czytać dokumenty PDF za pomocą both IronPDF, jak i DynamicPDF.

7.1 Korzystanie z IronPDF

IronPDF pomaga nam czytać istniejące pliki PDF. Poniżej znajduje się przykład czytania istniejących plików PDF za pomocą IronPDF.

// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
' Read an existing PDF file and convert it into a PDF document object.
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")
$vbLabelText   $csharpLabel

Powyższy kod wywołuje metodę FromFile, która jest używana do odczytywania PDF z istniejącego pliku i konwertowania go na obiekt dokumentu PDF.

7.2 Korzystanie z DynamicPDF

DynamicPDF również pomaga nam czytać istniejące pliki PDF w aplikacjach Microsoft .NET, jak również aplikacjach internetowych ASP.NET i tradycyjnych aplikacjach Windows. Poniżej znajduje się przykład odczytania danych z dokumentów PDF.

Poniższe kroki i przykładowy kod ilustrują otwieranie PDF z lokalizacji pliku przy użyciu produktu Rasterizer.

Kroki otwierania PDF z lokalizacji pliku

  1. Otwórz Dokument PDF za pomocą PDF Viewer, podając ścieżkę pliku.

Przykładowy Kod - C#

// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
' Open the PDF from a specified file path.
pdfViewer.Open("C:\DocumentA.pdf")
$vbLabelText   $csharpLabel

Porównanie funkcji Bootstrap PDF

Nowoczesne generowanie PDF wymaga solidnego wsparcia dla współczesnych technologii webowych. To interaktywne porównanie demonstruje, jak IronPDF wykorzystuje Bootstrap 5 do tworzenia profesjonalnych dokumentów PDF z zaawansowanymi układami i stylizacją.

using IronPdf;

var renderer = new ChromePdfRenderer();

string pdfFeaturesTable = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-danger'>Not Supported</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string pdfFeaturesTable = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-danger'>Not Supported</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim pdfFeaturesTable As String = "
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-danger'>Not Supported</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable)
pdf.SaveAs("pdf-features-comparison.pdf")
$vbLabelText   $csharpLabel

Wynik: Profesjonalny dokument PDF z kartami Bootstrap 5, tabelami responsywnymi i kolorowymi plakietkami pokazującymi porównania funkcji. IronPDF renderuje wszystkie komponenty Bootstrap z dokładnością do pikseli, w tym układy flexbox, klasy użytkowe i nowoczesne systemy kart.

Więcej informacji na temat kompatybilności z Bootstrapem znajdziesz w Przewodniku CSS Bootstrap & Flexbox.

8. Łączenie dokumentów Portable Document Format

Obie IronPDF i DynamicPDF pomagają w łączeniu wielu dokumentów w jeden dokument w twojej aplikacji Microsoft .NET. Za pomocą tych bibliotek możemy łatwo łączyć dokumenty.

8.1 Korzystanie z IronPDF

IronPDF pomaga nam połączyć wiele dokumentów w jeden dokument.

// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));

// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));

// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
' Create a list of PDF documents to merge.
Dim pdfDocuments = New List(Of IronPdf.PdfDocument)()
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))

' Merge the list of documents and save the merged document.
Dim mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf")
$vbLabelText   $csharpLabel

8.2 Korzystanie z DynamicPDF

DynamicPDF również pomaga nam połączyć wiele dokumentów w jeden dokument. Poniżej znajduje się przykład, jak łączyć dokumenty.

// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");

// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");

// Draw the merged document to an output file.
document.Draw("output.pdf");
// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");

// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");

// Draw the merged document to an output file.
document.Draw("output.pdf");
' Create a MergeDocument object to begin merging.
Dim document As New MergeDocument("DocumentA.pdf")

' Append additional documents.
document.Append("DocumentB.pdf")
document.Append("DocumentC.pdf")

' Draw the merged document to an output file.
document.Draw("output.pdf")
$vbLabelText   $csharpLabel

9. Dzielenie dokumentów Portable Document Format

Biblioteki IronPDF i DynamicPDF pozwalają użytkownikom dzielić strony na osobne dokumenty. Obie oferują prostą metodę ukończenia tego procesu.

9.1 Korzystanie z IronPDF

IronPDF pozwala nam konwertować pojedyncze i wiele stron na osobne dokumenty. Poniżej znajduje się przykład tworzenia podzielonych stron na osobny dokument.

// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");

// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");

// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
' Load the PDF document to be split.
Dim Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf")

' Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf")
$vbLabelText   $csharpLabel

9.2 Korzystanie z DynamicPDF

DynamicPDF również pozwala nam dzielić pojedynczą stronę dokumentu na wiele dokumentów. Poniżej znajduje się przykład dzielenia określonych stron dokumentu na inny dokument.

// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");

// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");

// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
' Create a PdfDocument object for the original document.
Dim pdf As New PdfDocument("DocumentA.pdf")

' Split the document into parts and save each part as a separate PDF.
Dim part1 As New MergeDocument(pdf, 1, 4)
part1.Draw("output-part1.pdf")
Dim part2 As New MergeDocument(pdf, 5, 8)
part2.Draw("output-part2.pdf")
$vbLabelText   $csharpLabel

10. Licencjonowanie

DynamicPDF to biblioteka, która pozwala nam tworzyć dokumenty PDF z różnych źródeł, takich jak ciągi HTML i linki HTML, a także dzielić i łączyć dokumenty. DynamicPDF pochodzi z różną strukturą cenową, najniższa cena zaczyna się od $799 za jedną licencję. Licencja dla dewelopera jest darmowa, więc możemy ją przetestować. Sprawdź strukturę cenową DynamicPDF na Stronie cenowej DynamicPDF.

IronPDF to również biblioteka i posiada darmową licencję dla deweloperów. IronPDF również posiada różną strukturę cenową. Pakiet Lite zaczyna się od $799 bez dodatkowych kosztów, w tym SaaS i redystrybucji OEM. Wszystkie licencje obejmują 30-dniową gwarancję zwrotu pieniędzy, roczne wsparcie produktu i aktualizacje, ważność dla dev/staging/production. Istnieje również licencja na stałe (zakup jednorazowy). Odwiedź Stronę cenową IronPDF, aby sprawdzić pełną strukturę cenową i licencjonowanie dla IronPDF.

11. Wniosek

W tym artykule porównaliśmy IronPDF i DynamicPDF. Zbadaliśmy niektóre z wspólnych funkcji dostępnych w obu bibliotekach. IronPDF uwzględnia ustawienia Chrome użytkownika podczas renderowania HTML, podczas gdy DynamicPDF działa na osobnym silniku, który ignoruje aktualne ustawienia użytkownika przy renderowaniu HTML. IronPDF potrafi szybko renderować HTML w porównaniu do DynamicPDF.

Pod względem wydajności, IronPDF jest szybszy niż DynamicPDF, co demonstrują powyższe wyniki testów. Redystrybucja bez opłat licencyjnych jest dostępna z IronPDF za dodatkową opłatą, ale nie jest dostępna z DynamicPDF. IronPDF oferuje również więcej funkcji niż DynamicPDF.

Podsumowując, preferujemy IronPDF ze względu na jego wysokie poziomy wydajności i liczne funkcje dostępne dla deweloperów pracujących z plikami PDF. IronPDF zapewnia również dobrą obsługę i bogatą dokumentację, co pomaga nam w pełni wykorzystać jego możliwości.

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

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w aplikacji .NET?

Możesz użyć metody RenderHtmlAsPdf w IronPDF, aby konwertować ciągi HTML na PDF-y. Ta metoda wykorzystuje silnik oparty na Chromium, aby zapewnić wysokiej jakości renderowanie.

Jakie są zalety używania IronPDF do manipulacji PDF?

IronPDF oferuje lepszą szybkość i wydajność, zwłaszcza w konwersji HTML na PDF, dzięki wykorzystaniu silnika Chromium. Wspiera również rozległe manipulacje PDF, takie jak dodawanie nagłówków, stopek i zakładek, oraz łączenie i dzielenie dokumentów.

Jakie opcje instalacji są dostępne dla IronPDF?

IronPDF można zainstalować za pośrednictwem Menedżera Pakietów NuGet w Visual Studio, z linii poleceń Visual Studio lub pobrać bezpośrednio ze stron NuGet lub IronPDF.

Czy mogę scalać dokumenty PDF za pomocą IronPDF?

Tak, IronPDF oferuje funkcjonalność łączenia wielu dokumentów PDF w jeden, co ułatwia zarządzanie i manipulację dokumentami.

Jakie opcje licencyjne oferuje IronPDF?

IronPDF oferuje bezpłatną licencję deweloperską oraz różne opcje komercyjnego licencjonowania. Zapewnia korzystną strukturę cenową, co czyni go dostępnym dla programistów na różnych poziomach.

Czy IronPDF dostarcza wsparcia i dokumentacji dla programistów?

Tak, IronPDF zapewnia solidne wsparcie i wyczerpującą dokumentację, aby pomóc programistom w efektywnym wykorzystaniu jego funkcji.

Jak IronPDF porównuje się do DynamicPDF pod względem szybkości konwersji HTML na PDF?

IronPDF jest zazwyczaj szybszy niż DynamicPDF w konwersji HTML na PDF, ponieważ używa silnika Chromium, co zapewnia wydajne i wysokowydajne renderowanie.

Dlaczego programiści mogą wybierać IronPDF zamiast DynamicPDF?

Programiści mogą wybierać IronPDF ze względu na jego rozległe funkcje, szybkie możliwości renderowania przy użyciu silnika Chromium oraz korzystne opcje licencjonowania, co czyni go lepszym wyborem do obsługi PDF w .NET.

Jakie są kluczowe funkcje IronPDF do przetwarzania PDF?

IronPDF wspiera konwersję HTML, ASPX i Razor HTML na PDF oraz oferuje funkcje takie jak dodawanie nagłówków i stopek, tworzenie zakładek oraz integrację z CSS i obrazami.

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

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie