IronPDF vs SelectPdf: Kompleksowe porównanie bibliotek PDF Net Core dla konwersji HTML na PDF
Format PDF został stworzony przez firmę Adobe w celu dystrybucji dokumentów zawierających formatowanie tekstu i grafiki. Potrzebujemy osobnej aplikacji do otwierania plików PDF. W dzisiejszym świecie pliki PDF są absolutnie niezbędne. W wielu różnych firmach do fakturowania i generowania dokumentów używa się plików w formacie PDF. Programiści używają formatu PDF do tworzenia dokumentów dostosowanych do potrzeb swoich klientów. Dzięki dzisiejszym bibliotekom tworzenie plików PDF nigdy nie było łatwiejsze. Korzystając z tego typu bibliotek w projekcie, musimy wziąć pod uwagę takie czynniki, jak możliwości kompilacji, odczytu i konwersji, aby określić, która biblioteka jest najlepsza na rynku.
W niniejszym artykułe porównamy dwie najpopularniejsze biblioteki PDF dla komponentów .NET. Te dwie biblioteki to:
- IronPDF
- Kontrolki przeglądarki PDF DevExpress
IronPDF i DevExpress PDF to dwie biblioteki, które można wykorzystać w aplikacji Microsoft .NET. IronPDF może służyć do tworzenia, odczytywania i modyfikowania plików PDF, zarówno online, jak i w aplikacji desktopowej. DevExpress zapewnia zarówno kontrolkę PDF Viewer do wyświetlania dokumentów, jak i DevExpress.Pdf — pełną bibliotekę PDF do programowego tworzenia i manipulowania plikami PDF.
Funkcje IronPDF
IronPDF to wydajny konwerter plików PDF, który potrafi praktycznie wszystko to, co przeglądarka. Jest to przyjazna dla programistów biblioteka PDF, która sprawia, że tworzenie, odczytywanie i edycja plików PDF jest niezwykle łatwa. IronPDF konwertuje HTML na PDF przy użyciu silnika Chrome. IronPDF obsługuje między innymi aplikacje Windows Forms, HTML, ASPX, Razor HTML, .NET Core, ASP.NET, Windows Form, WPF, Xamarin, Blazor, Unity i HoloLens, a także inne komponenty internetowe. Aplikacje Microsoft .NET i .NET Core są obsługiwane przez IronPDF (zarówno aplikacje internetowe ASP.NET, jak i tradycyjne aplikacje Windows). IronPDF może być również wykorzystywany do tworzenia atrakcyjnych wizualnie plików PDF.
IronPDF może konwertować HTML5, JavaScript, CSS i obrazy na dokumenty PDF. W pliku można również umieścić nagłówek i stopkę. Może to również ułatwić czytanie plików PDF. IronPDF zawiera również solidny konwerter HTML na PDF, który obsługuje pliki PDF. IronPDF oferuje potężny silnik konwersji plików PDF. IronPDF nie ma żadnych zewnętrznych zależności.
- Źródła, które można wykorzystać do utworzenia pliku PDF, obejmują HTML, HTML5, ASPX oraz Razor/MVC View. Możemy nie tylko konwertować pliki HTML do formatu PDF, ale także pliki graficzne.
- Tworzenie interaktywnych dokumentów PDF, wypełnianie i przesyłanie interaktywnych formularzy, łączenie i dzielenie dokumentów PDF, wyodrębnianie tekstu i obrazów z dokumentów PDF, wyszukiwanie tekstu w dokumentach PDF, rasteryzacja stron PDF do obrazów oraz konwersja dokumentów PDF to tylko niektóre z czynności, które możemy wykonać za pomocą IronPDF.
- Na początek utwórz dokument, korzystając z oficjalnej strony internetowej IronPDF. Obsługuje również niestandardowe dane logowania do sieci, agenty użytkownika, serwery proxy, pliki cookie, nagłówki HTTP oraz zmienne formularzy służące do logowania za pomocą formularzy logowania HTML.
- Po podaniu nazwy użytkownika i hasła IronPDF umożliwia nam otwieranie dokumentów chronionych.
- IronPDF to program, który odczytuje i wypełnia puste pola w istniejących dokumentach PDF.
- Posiada możliwość wyodrębniania obrazów z dokumentów.
- Pozwala nam dostosowywać dokumenty za pomocą nagłówków, stopek, tekstu, obrazów, zakładek, znaków wodnych i innych elementów.
- Pozwala nam to dzielić i łączyć strony w nowym lub istniejącym dokumencie.
- Nawet bez programu Acrobat Reader możemy konwertować dokumenty na obiekty PDF.
- Plik CSS można przekonwertować na dokumenty PDF.
- Pliki typu media CSS można przekształcić w dokumenty.
- Wypełnij istniejące formularze PDF i dodaj nowe.
Funkcje DevExpress PDF
DevExpress udostępnia kontrolki WinForms, które można wykorzystać w aplikacjach Windows dostępnych w Visual Studio. Zawiera listę elementów sterujących WinForms, które umożliwiają użytkownikom dostęp do plików PDF. Zapewnia również kontrolki dla kontrolek WPF i kontrolek formularzy ASP.NET.
Przeglądarka PDF wyświetla pliki PDF bezpośrednio w aplikacji WinForms bez konieczności instalowania zewnętrznej przeglądarki PDF na komputerze. Kontrolka PDF Viewer w Windows Forms umożliwia przeglądanie, edycję i drukowanie dokumentów PDF bezpośrednio z poziomu aplikacji. Przeglądarka plików PDF nie tylko wyświetla dokumenty — pozwala również użytkownikom na zmianę pól formularzy, dodawanie adnotacji do dokumentów oraz korzystanie ze schowka. DevExpress jest dostępny dla wszystkich frameworków i bibliotek .NET. Zapewnia również kontrolki i rozszerzenia dla ASP.NET, MVC, ASP.NET Core itp.
PDF Viewer obsługuje bogaty zestaw typów treści dokumentów, w tym:
- Obrazy JPX / JBIG2
- Wzorce
- Grupy przezroczystości
- Czcionki typu 3
- Formularze interaktywne
Tak, kontrolka DevExpress WinForms PDF jest obsługiwana przez DirectX — z wyjątkową obsługą renderowania tekstu i inicjalizowania tekstu.
Pełny interfejs użytkownika jest dołączony do widoku PDF dla WinForms. Może być używany do zmiany sposobu wyświetlania dokumentu, takiego jak obracanie go zgodnie z ruchem wskazówek zegara i przeciwnie do ruchu wskazówek zegara, powiększanie treści na stronie i przełączanie się między ostatnio używanymi stylami wyświetlania stron.
Narzędzia do pracy ręcznej, narzędzia do powiększania kadru i różne tryby interakcji z klawiaturą i kursorem są dostępne w kontrolkach PDF Viewer. W menu kontekstowym zmień tryb kursora lub wybierz narzędzie w interfejsie poleceń.
Okienko nawigacji pozwala szybko przemieszczać się pomiędzy zapisanymi stronami, nawigować do konkretnej strony za pomocą miniatur oraz organizować plik i adnotacje.
DevExpress pozwala na przekazywanie opinii i oferuje ciągłe wsparcie w odpowiedzi na zapytania. Z zespołem wsparcia można się skontaktować, jeśli potrzebna jest bardziej szczegółowa opinia.
2. Tworzenie nowego projektu w Visual Studio
Otwórz oprogramowanie Visual Studio i przejdź do menu plików. Wybierz "nowy projekt", a następnie wybierz "Aplikacja konsolowa". W tym artykułe 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 Tworzenie i wybierz wymagane środowisko .NET Framework, jak na poniższym zrzucie ekranu:
Projekt Visual Studio wygeneruje teraz strukturę dla wybranej aplikacji, a jeśli wybrano aplikację konsolową, okienkową i sieciową, otworzy teraz plik program.cs, w którym można wprowadzić kod i zbudować/uruchomić aplikację.
Następnie możemy dodać bibliotekę, aby przetestować kod.
3.0 Instalacja biblioteki IronPDF
Bibliotekę IronPDF można pobrać i zainstalować na cztery 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 IronPDF
3.1 Korzystanie z programu Visual Studio
Oprogramowanie Visual Studio oferuje opcję menedżera pakietów NuGet do bezpośredniego zainstalowania pakietu w rozwiązaniu. Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet.
Zapewnia pole wyszukiwania do wyświetlenia listy pakietów z witryny NuGet. W menedżerze pakietów należy wyszukać słowo kluczowe "IronPDF", jak na poniższym zrzucie ekranu:
Na powyższym obrazie otrzymujemy listę powiązanych elementów wyszukiwania. Musimy wybrać odpowiednią opcję, aby zainstalować pakiet w rozwiązaniu.
3.2 Korzystanie z wiersza poleceń programu Visual Studio
W Visual Studio przejdź do Narzędzia-> Menedżer pakietów NuGet -> Konsola menedżera pakietów
Wprowadź następujący wiersz w zakładce konsoli menedżera pakietów:
Install-Package IronPdf
Pakiet zostanie teraz 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 strony pakietu NuGet
- Wybierz opcję pakietu do pobrania z menu po prawej stronie.
- Kliknij dwukrotnie pobrany pakiet. Zostanie zainstalowany automatycznie.
- Następnie odśwież rozwiązanie i zacznij z niego korzystać w projekcie.
3.4 Pobieranie bezpośrednie ze strony internetowej IronPDF
Pobierz najnowszy pakiet bezpośrednio z strony IronPDF. Po pobraniu wykonaj poniższe kroki, aby dodać pakiet do projektu.
- Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
- Następnie wybierz opcję odniesienia i przeszukaj lokalizację pobranego odniesienia.
- Następnie kliknij OK, aby dodać odniesienie.
4.0 Instalacja biblioteki PDF Viewer
Biblioteka PDF Viewer może być pobrana i zainstalowana na cztery sposoby.
Są to:
- Korzystanie z programu Visual Studio
- Korzystanie z wiersza poleceń programu Visual Studio
- Bezpośrednie pobieranie z witryny DevExpress
Zarejestruj DevExpress NuGet
Aby używać NuGet do instalacji pakietów DevExpress, musisz najpierw zarejestrować kanał NuGet DevExpress jako źródło pakietu.
- Mając URL kanału NuGet lub klucz autoryzacji, możesz uzyskać dostęp do pakietów NuGet DevExpress. Więcej informacji lub aktualizacji możesz znaleźć w dokumentacji DevExpress.
- W Visual Studio otwórz panel Opcje (Narzędzia -> Opcje) i zarejestruj kanał NuGet DevExpress jako źródło pakietu. Znajdź opcję Menedżera pakietów w tym dialogu i, jak pokazano poniżej, dodaj kanał DevExpress do źródła pakietu.
- Jeśli używasz klucza autoryzacji, użyj
https://nuget.devexpress.com/apijako źródła pakietu. - Jeśli używasz URL kanału NuGet, określ go jako źródło pakietu.
- Jeśli używasz klucza autoryzacji, użyj
4.1 Korzystanie z programu Visual Studio
Jak powyżej, po prostu przejdź do menedżera pakietów NuGet i wybierz menedżera pakietów NuGet DevExpress. Następnie wyszukaj słowo kluczowe "Win.PdfViewer". Zapewni to wszystkie powiązane wyniki wyszukiwania jak poniżej.
Wybierz pierwszą opcję wyników, aby zainstalować pakiet w projekcie.
4.2 Korzystanie z wiersza poleceń programu Visual Studio
W Visual Studio przejdź do Narzędzia -> Menedżer pakietów NuGet -> Konsola menedżera pakietów
Wprowadź następujący wiersz w zakładce konsoli menedżera pakietów:
Install-Package DevExpress.Win.PdfViewer
Następnie naciśnij Enter. Spowoduje to wyświetlenie okna logowania, jak pokazano poniżej. Musimy wprowadzić nazwę użytkownika jako DevExpress, a hasło można uzyskać z URL DevExpress. To autoryzuje DevExpress do kontaktu z serwerem w celu pobrania.
Następnie pakiet zostanie pobrany/zainstalowany do bieżącego projektu i będzie gotowy do użycia.
4.3 Bezpośrednie pobieranie z witryny DevExpress
Odwiedź stronę wersji próbnej produktu DevExpress, a zostaniesz przekierowany na listę opcji DLL dostępnych do pobrania najnowszego pakietu bezpośrednio z witryny dla różnych środowisk framework .NET; możesz wybrać wymagany pakiet do pobrania. Po pobraniu wykonaj poniższe kroki, aby dodać pakiet do projektu.
Po pobraniu pliku, kliknij dwukrotnie pobrany plik, a rozpocznie się konfiguracja, jak na poniższym obrazku:
Następnie kliknij przycisk instalacji, a pojawi się nowe okno pop-up.
Wybierz wymaganą opcję do instalacji.
Następnie zaakceptuj licencję, a instalacja zostanie ukończona po kilku minutach.
5.0 Tworzenie pliku PDF za pomocą IronPDF
Możemy łatwo generować dokumenty PDF za pomocą IronPDF — wygeneruje on plik HTML z adresu URL i przekształci go na PDF.
Poniższe kroki ułatwiają generowanie dokumentów PDF.
using IronPdf;
// Create an instance of the ChromePdfRenderer
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// Render a URL as a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, do the above in a single line
new ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
using IronPdf;
// Create an instance of the ChromePdfRenderer
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// Render a URL as a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, do the above in a single line
new ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
Imports IronPdf
' Create an instance of the ChromePdfRenderer
Private Renderer As New ChromePdfRenderer()
' Render a URL as a PDF and save it
Private Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")
' Alternatively, do the above in a single line
Call (New ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
W powyższym przykładzie możemy użyć dwóch metod do przekształcenia linku w dokument. Jedną z metod jest wygenerowanie dokumentu poprzez utworzenie obiektu IronPDF, a drugą metodą jest utworzenie obiektu dla RenderUrlAsPdf.
Powyższe pokazuje, że możemy przekształcić to na dokument za pomocą RenderUrlAsPdf. Potrzebujemy jedynie podać link i lokalizację zapisu.
6.0 Tworzenie PDF z ciągów HTML za pomocą IronPDF
Możemy przekształcać ciągi HTML w dokumenty PDF przy pomocy IronPDF. Poniżej znajduje się przykład jak przekształcić ciąg HTML w dokument. Posiada także możliwość przekształcenia dowolnego tagu HTML na PDF.
using IronPdf;
// Render an HTML string as a PDF and save it
new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
using IronPdf;
// Render an HTML string as a PDF and save it
new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
Imports IronPdf
' Render an HTML string as a PDF and save it
Call (New ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
Poprzedni przykład pokazuje, jak użyć RenderHtmlAsPdf do przekształcenia ciągu HTML. Dodatkowo, możemy podać dowolną liczbę kodów HTML do funkcji konwertującej HTML na ciąg. Możemy zapisać dokument po pobraniu ciągu, korzystając z funkcji 'zapisz jako'.
Macierz możliwości Bootstrap
Narzędzia do generowania PDF muszą wspierać nowoczesne frameworki internetowe dla aplikacji korporacyjnych. Demonstracja Bootstrap 5 pokazuje kompleksowy zestaw funkcji IronPDF używając grup list i odznak statusu.
using IronPdf;
var renderer = new ChromePdfRenderer();
string capabilityMatrix = @"
<!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>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(capabilityMatrix);
pdf.SaveAs("capability-matrix.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string capabilityMatrix = @"
<!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>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(capabilityMatrix);
pdf.SaveAs("capability-matrix.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim capabilityMatrix 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>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(capabilityMatrix)
pdf.SaveAs("capability-matrix.pdf")
Wyjście: Kompletna macierz możliwości PDF z grupami list, odznakami i układami kart w Bootstrap 5. IronPDF doskonale renderuje wszystkie klasy narzędziowe, uzasadnienie flexbox i systemy siatki responsywnej, pokazując znakomite wsparcie dla frameworka Bootstrap.
Więcej informacji na temat wsparcia Bootstrap znajduje się w Przewodniku CSS Bootstrap & Flexbox.
7.0 Odczyt PDF za pomocą IronPDF
IronPDF to program, który pozwala nam czytać istniejące pliki PDF. Poniżej znajduje się przykład wykorzystania IronPDF do odczytania istniejącego pliku PDF.
using IronPdf;
// Read an existing PDF file
var pdfDocument = PdfDocument.FromFile("result.pdf");
// Extract all text from the PDF
string AllText = pdfDocument.ExtractAllText();
using IronPdf;
// Read an existing PDF file
var pdfDocument = PdfDocument.FromFile("result.pdf");
// Extract all text from the PDF
string AllText = pdfDocument.ExtractAllText();
Imports IronPdf
' Read an existing PDF file
Private pdfDocument = PdfDocument.FromFile("result.pdf")
' Extract all text from the PDF
Private AllText As String = pdfDocument.ExtractAllText()
Metoda FromFile jest używana do odczytu PDF z istniejącego pliku i przekształcenia go w obiekt PdfDocument, jak pokazano w powyższym kodzie. Możemy czytać tekst i obrazy dostępne na stronach PDF za pomocą tego obiektu. Obiekt posiada metodę o nazwie ExtractAllText, która wyodrębnia cały tekst z dokumentu PDF do ciągu.
8.0 Tworzenie aplikacji do przeglądania PDF
Aplikację do przeglądania PDF można utworzyć za pomocą następujących kroków:
- Utwórz nowy projekt aplikacji Windows Forms w Microsoft® Visual Studio.
- Na formularzu przeciągnij element wstawki PDF Viewer z menu narzędziowego DX.21.2: Common Controls.
- W menu zadań kontrolki PDF Viewer kliknij inteligentną etykietę dla PDF Viewer i wybierz opcję 'Zadokuj w kontenerze nadrzędnym'. Powoduje to powiększenie PDF Viewer do rozmiaru formularza.
- Aby używać kontrolki PDF Viewer, musisz najpierw załadować dokument. Aby uzyskać dostęp do listy działań PDF Viewer, kliknij jej inteligentną etykietę. Kliknij opcję Ładuj PDF na liście działań.
- Zostanie wyświetlone okno dialogowe 'Otwórz'. Znajdź dokument do otwarcia w tym oknie dialogowym i kliknij Otwórz.
Możemy wykonywać następujące zadania za pomocą kontrolek:
Nawigacja po plikach PDF
Łatwe nawigowanie i eksplorowanie pliku PDF. Kontrolki Viewer wyposażone są w szeroki zakres opcji nawigacji po dokumentach, w tym:
- Zakładki i linki
- Panel nawigacji (dostosowany interfejs nawigacji po dokumentach)
- Miniatury dla wszystkich stron
- Interfejs z wstążką
Viewer śledzi wszystkie odwiedzane strony i umożliwia użytkownikom przełączanie się między nimi w miarę potrzeby. Można także korzystać z panelu znajdywania, aby szukać treści PDF, dokładnie tak jak w Adobe Reader (opcje obejmują wyszukiwanie rozróżniające wielkość liter i wyszukiwanie całych słów).
Badanie i komentowanie
Użytkownicy mają możliwość dodawania, edytowania i usuwania komentarzy. Viewer dla WinForms ma pełny zestaw funkcji adnotacji, w tym podkreślacz tekstu i samoprzylepne karteczki.
- Współpracuj bez trudności
- Dodatkowe funkcje/opcje obejmują:
- Można dodawać odpowiedzi i recenzje
- Skonfiguruj opcje narzędzia adnotacji (kolor i przezroczystość)
- Komentarze można sortować, filtrować i wyszukiwać
- Kompleksowe API
- Powiększ i pomniejsz za pomocą DevExpress.
Formularz PDF do wypełnienia
AcroForms pozwalają na edycję dokumentów. Po dodaniu Viewera do projektu WinForms, użytkownicy będą mogli edytować każdy PDF, który zawiera dane pól formularza. Każde pole w Viewerze jest wyświetlane zgodnie z typem formularza, do którego należy, np. pole tekstowe, przycisk radiowy, pole kombi z autouzupełnianiem, pole wyboru i listy.
Można importować i eksportować do następujących formatów, jeśli PDF zawiera dane AcroForm: FDF, XFDF, XML i TXT.
Otwieranie i zapisywanie załączonych plików
W panelu nawigacji DevExpress PDF Viewers wyświetlane są powiązane pliki. PDF załączony do pliku można otworzyć i zapisać na dysku. Podczas otwierania pliku powiązanego z PDF Viewer ma także opcję wyświetlenia ostrzeżenia o bezpieczeństwie.
Drukowanie PDF
Viewer posiada dialog podglądu wydruku zawierający pełen zestaw opcji druku inspirowanych Adobe. Należą do nich podgląd w czasie rzeczywistym, wybór zakresu stron, ustawienia DPI i orientacja.
9.0 Wniosek
W tym artykule porównaliśmy IronPDF i DevExpress. Istnieje wiele wspólnych cech dostępnych w obu bibliotekach. IronPDF uwzględnia ustawienia Chrome użytkownika, aby renderować HTML, ale DevExpress działa na oddzielnym silniku, który ignoruje bieżące ustawienia użytkownika do renderowania HTML. IronPDF może renderować HTML szybciej niż DevExpress.
Pod względem wydajności IronPDF jest szybszy niż DevExpress w zadaniach generowania HTML-do-PDF. Kontrolka PDF Viewer DevExpress skupia się na wyświetlaniu dokumentów, podczas gdy DevExpress.Pdf zapewnia programatyczne możliwości PDF. Zasięg redystrybucji bez opłat licencyjnych jest dostępny w IronPDF za dodatkową opłatą; sprawdź warunki licencyjne DevExpress dla szczegółów dotyczących redystrybucji. IronPDF oferuje znacznie więcej funkcji generowania HTML-do-PDF w porównaniu z kontrolkami PDF DevExpress.
W konkluzji, preferujemy IronPDF ze względu na jego wysoki poziom wydajności i szeroką gamę dostępnych funkcji dla deweloperów pracujących z PDF. IronPDF także zapewnia dobre wsparcie i dokumentację, które zapewniają użytkownikom pełne i efektywne wykorzystanie imponującego zestawu oferowanych funkcji.
Często Zadawane Pytania
Jak mogę przekonwertować HTML na PDF w języku C#?
Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Możesz również konwertować pliki HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.
Jakie są różnice między IronPDF a DevExpress PDF Viewer?
IronPDF to wszechstronne narzędzie do tworzenia, odczytu i edycji plików PDF na wielu platformach, oferujące rozbudowane możliwości konwersji HTML do PDF. Natomiast DevExpress PDF Viewer koncentruje się przede wszystkim na przeglądaniu plików PDF i obsługuje dodawanie adnotacji do dokumentów oraz wypełnianie formularzy.
Czy mogę wyodrębnić tekst i obrazy z istniejącego pliku PDF za pomocą biblioteki?
Tak, IronPDF umożliwia wyodrębnianie tekstu i obrazów z istniejących plików PDF za pomocą swojego kompleksowego interfejsu API.
Jakie platformy obsługują IronPDF do zarządzania plikami PDF?
IronPDF obsługuje szeroki zakres platform, w tym aplikacje Windows Forms, ASP.NET, .NET Core, WPF, Xamarin, Blazor, Unity i HoloLens.
Jak zainstalować IronPDF w projekcie .NET?
IronPDF można zainstalować w projekcie .NET za pomocą menedżera pakietów NuGet w Visual Studio, wiersza poleceń Visual Studio lub pobierając go bezpośrednio ze stron internetowych NuGet lub IronPDF.
Dlaczego programiści mieliby wybrać IronPDF zamiast DevExpress PDF Viewer?
Programiści mogą preferować IronPDF ze względu na jego rozbudowane funkcje, w tym konwersję HTML do PDF, tworzenie interaktywnych plików PDF oraz wysoką wydajność. Oferuje on również doskonałe wsparcie techniczne i dokumentację, co sprawia, że jest preferowanym wyborem w porównaniu z DevExpress.
Jakie są typowe scenariusze rozwiązywania problemów podczas korzystania z bibliotek PDF?
Typowe scenariusze rozwiązywania problemów obejmują zapewnienie prawidłowej instalacji biblioteki, sprawdzenie zgodności z Wersją .NET oraz obsługę wyjątków związanych ze ścieżkami plików lub uprawnieniami podczas tworzenia lub konwersji plików PDF.
Na jakie funkcje należy zwrócić uwagę w bibliotece do zarządzania plikami PDF?
Kluczowe funkcje, które należy wziąć pod uwagę, to konwersja HTML do PDF, wyodrębnianie tekstu i obrazów, interaktywne formularze, opcje dostosowywania dokumentów oraz obsługa różnych platform. IronPDF oferuje wszystkie te funkcje, co czyni go kompleksowym rozwiązaniem do zarządzania plikami PDF.



