Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Dieser Artikel wurde von Jeff Fritz verfasst, einer anerkannten Autorität auf dem Gebiet der .NET-Entwicklung
In diesem Artikel überprüft und vergleicht Jeff die IronPDF-Bibliothek mit drei anderen führenden PDF-Bibliotheken für C#.NET: Aspose, SyncFusion und iTextPdf
Ich untersuche die gesamte Erfahrung der Entwickler bei der Interaktion mit drei kommerziellen PDF-Verwaltungsprodukten für Entwickler und vergleiche sie mit der Erfahrung von IronPDF. Wir werden jedes Produkt in den folgenden Bereichen vergleichen und bewerten:
Erfahrung im Bereich Entdeckung und Akquisition
Klarheit bei der Lizenzvergabe
Kompatibilität
Erste Erfahrungen
Benutzerfreundlichkeit der API für einen C#-Entwickler
Qualität der Dokumentation, einschließlich Codebeispiele und Tutorials
HTML-zu-PDF-Funktionen
CSS3-Konformität
Einhaltung von HTML 5
JavaScript-Konformität
Generation Form Unterstützung
Technische Unterstützung
Veröffentlichungsrhythmus und Funktionsentwicklung
Abschließend werden wir eine abschließende Scorecard für die Tools erstellen.
Entwicklern steht eine Vielzahl von PDF-Produkten zur Verfügung. Wie können sie die Produkte unterscheiden und das richtige für ihr Projekt auswählen? C#-Entwickler suchen bei der Recherche nach Software-Tools vor allem an drei Orten: Suchmaschinen, GitHub und NuGet. Wir suchen nach "PDF Software C#" auf DuckDuckGo, einer privaten Suchmaschine, und suchen nach diesen PDF-Tools auf GitHub sowie NuGet.org. NuGet ist das Repository für .NET-Pakete.
Produkt | DuckDuckGo | GitHub | NuGet |
---|---|---|---|
IronPDF | Nicht gefunden | ||
Aspose | 2 | ||
SyncFusion | 9 | K.A | |
iTextPDF | Nicht gefunden | 0 |
Hinweise: Ich habe die Suche auf die ersten 100 Ergebnisse jedes Dienstes beschränkt und konnte weder das GitHub-Repository von IronPDF noch die iText-Website auf DuckDuckGo finden. SyncFusion hat kein GitHub-Repository mit Beispielen für die PDF-Erstellung.
Jedes der Produkte hat einen anderen Ansatz für den Produkterwerb auf ihren Websites.
IronPDF macht dies mit einer Download-Schaltfläche auf der Titelseite deutlich
Abbildung 1- IronPDF Download-Erkennung
Die Download-Schaltfläche führt zu NuGet.org und den Standard-Installationsanweisungen für .NET-Pakete.
bei Aspose** muss auf der Startseite eine Sprache ausgewählt werden, woraufhin Details zu dieser Produktversion und eine Schaltfläche zum Herunterladen angezeigt werden
Abbildung 2 - Aspose.PDF Language Selector
Abbildung 3 - Aspose.PDF C# Download Entdeckung
Aspose fordert Sie dann auf, die Tools mit einer Seite herunterzuladen, die NuGet-Anweisungen und mehrere Absätze mit Werbematerial enthält
Abbildung 4 - Aspose Download Seite
SyncFusion hat seine PDF-Verwaltungsbibliothek unter "Document Processing - PDF" abgelegt. Ihre Unterseite sieht wie folgt aus:
Abbildung 5 - SyncFusion PDF-Erkennung
Anschließend müssen Sie ein Formular ausfüllen, um ein Konto auf der Website einzurichten, und eine E-Mail-Adresse, eine Telefonnummer und den Firmennamen angeben. SyncFusion verifiziert Ihre E-Mail mit einer Textnachricht und ermöglicht Ihnen dann den Download eines Installationsprogramms für ihre Software. Sie können auch ein Testpaket von NuGet installieren, aber sie sagen, dass das Installationsprogramm das "vollständige Produkt" bietet. In den Tagen nach der Anmeldung auf der SyncFusion-Website habe ich zwei E-Mails und zwei Anrufe erhalten, in denen mir Hilfe bei den ersten Schritten angeboten wurde. Die E-Mails und Telefonanrufe waren freundlich im Ton, allerdings empfand ich die Telefonanrufe als ein wenig aufdringlich.
iTextPDF macht es mit einem Produkt und einem Link zu ihrem Produkt deutlich:
Abbildung 7 - iTextPDF-Erkennung
Der Download-Bildschirm bietet drei Optionen zum Herunterladen, wobei Sie sich mit Telefonnummer, E-Mail, Berufsbezeichnung und Firmenname anmelden müssen.
Abbildung 7 - iText-Download-Bildschirm
Ich fand das Angebot von iText überwältigend und war mir nicht sicher, was ich herunterladen sollte. Ich entschied mich für iText 7 und wurde dann zu einem weiteren Bildschirm geführt, auf dem ich aus neun PDF-bezogenen Produkten auswählen konnte, die ich herunterladen wollte. Auch hier fand ich das verwirrend und wusste nicht, welche Bibliotheken und Werkzeuge ich für mein Projekt benötigte.
Ich erhielt eine Folge-E-Mail von iText mit einem Link zu ihrem Kundenportal und einem generierten Passwort. Ich habe versucht, die Portalseite mit den angegebenen Anmeldeinformationen zu nutzen, konnte aber nicht auf die Seite zugreifen.
Bei jeder Bibliothek, die ein Entwickler herunterlädt, bestimmt die Lizenzierung, ob und wie er das Produkt in seinem Projekt verwenden kann. Eine freizügigere Lizenz erlaubt es, das Tool mit einer mobilen oder Desktop-Anwendung auszuliefern, und restriktivere Lizenzen können die Nutzung des Tools auf einen geschützten Server beschränken.
IronPDF bietet auf der Startseite neben der Schaltfläche "Free NuGet Download" eine eindeutige Schaltfläche, die auf die Lizenzbedingungen verweist. Die resultierende Seite macht sehr deutlich, wie viele Entwickler abgedeckt sind und für wie viele Projekte das Produkt verwendet werden kann. Die Anzahl der Büros einer Organisation ist begrenzt. Für die Weitergabe der Software als SaaS-Produkt oder native Anwendung ist eine zusätzliche Lizenzgebühr erforderlich.
Aspose hatsechs verschiedene Lizenzierungsmodelle verfügbardie Pakete sind entweder ohne Support, mit Support oder mit Support und Beratung erhältlich. Ich fand die Optionen recht verwirrend, denn es gibt auch Beschränkungen hinsichtlich der Art der Projekte, für die man das Produkt verwenden kann, der Anzahl der lizenzierten Entwickler und der Größe des Unternehmens.
Website-Projekte für die Öffentlichkeit, einschließlich Support:
Eingliederung | IronPDF | Syncfusion | AsposePDF | iText |
---|---|---|---|---|
Website, 1 Entwickler, 1 Standort, Support | $749 | ,495 | ,394 | |
0 Websites, 10 Entwickler, 10 Standorte, Unterstützung | $ProfessionalLicense` | ,990 | ,771 | |
Unbegrenzte Anzahl von Websites, Unterstützung | $5,999 | K.A | ,785+ (pro Jahr) |
Abbildung 8 - Aspose-Lizenzierungsmodell
SyncFusion erhebt eine einmalige Gebühr für sein Produkt Dateiformate, das Unterstützung für alle .NET-Anwendungstypen bietet. Die Gebühr wird pro Entwickler erhoben, wobei die Gebühr für das zweite Vertragsjahr reduziert wird. Es gibt keine Einschränkungen in Bezug auf die Größe eines Unternehmens oder die Anzahl der Projekte, für die das Produkt verwendet wird. Sie haben auch eine kostenlosecommunity-Lizenz für Unternehmen in der Startphase verfügbar.
Abbildung 9 - SyncFusion-Lizenzierung
iText hat mehrere Open-Source-Produkte im Angebot, die jedoch den Anschein erwecken, dass Sie eine Lizenz erwerben müssen, um das Produkt nutzen zu können.
Abbildung 10 - iText Open Source Produkt
Die Option, eine kommerzielle Lizenz zu erwerben, führt zu einem Bildschirm, auf dem keine unmittelbaren Kaufoptionen aufgeführt sind. Es gibt ein Konfigurationstool, das Sie mit Informationen über Ihren Standort, Ihre Sprache, Ihr Nutzungsvolumen und die Produkte, die Sie verwenden möchten, ausfüllen müssen. Das Tool gibt dann ein Angebot für die kommerzielle Lizenz ab.
Abbildung 11 - iText-Lizenzkonfigurationswerkzeug
Wenn das Produkt als Open-Source-Produkt verfügbar ist, kann ich es dann einfach ohne kommerzielle Support-Optionen verwenden? Das wird erst klar, wenn man sich zu deren Website durchklicktiText 7 Gemeinschaftsseite und entdecken, dass sie unter der AGPL-Lizenz steht, die Sie verpflichtet, den Quellcode von Anwendungen, die Sie schreiben und die ihre Bibliothek in diesem Modell verwenden, zu veröffentlichen. Das ist eine interessante Option, könnte aber die Entwickler verwirren.
Mit den verschiedenen Bereitstellungsmodellen, die für jedes Produkt verfügbar sind, gibt es unterschiedliche Kompatibilitätsstufen, die auf jeder Website versprochen werden. Es sind weitere Untersuchungen erforderlich, um die Kompatibilität mit verschiedenen Hosting-Anbietern und Hosting-Tools wie Docker zu ermitteln.
Umwelt | IronPDF | Aspose | SyncFusion | iText |
---|---|---|---|---|
COM | Ja | |||
.NET-Framework | Ja | Ja | Ja | Ja |
.NET 5 | Ja | Ja | Ja | |
.NET 6 | Ja | Ja | Ja | |
.NET-Standard | Ja | Ja | Ja | |
Xamarin | Ja | Ja | ||
MAUI | Ja | |||
Azurblau | Ja | |||
AWS | Ja | Ja | ||
Mac | Ja | |||
Linux | Ja | |||
Docker | Ja |
Aspose ist das einzige Produkt, das den Anspruch erhebt, mit COM-Anwendungen zu arbeiten, was für Entwickler in der Regel ein alter Hut ist. iText listet die unterstützten Plattformen nicht auf seiner Website auf, und ein Scan seiner NuGet-Pakete zeigt Unterstützung für die angegebenen Plattformen. SyncFusion listet die Unterstützung für mehrere Benutzeroberflächen-Frameworks auf, nicht aber für bestimmte Laufzeitversionen. iText war neben IronPDF das einzige Produkt, das die Unterstützung eines Cloud-Dienstes für sich reklamierte, wobei ein Banner die Unterstützung von AWS hervorhob.
Abbildung 12 - iText-Unterstützung auf AWS
Ich habe jedes der Produkte und die auf den jeweiligen Websites beschriebenen "Erste Schritte" überprüft. Dies ist die Anleitung für die Erstellung Ihrer ersten App mit dem Produkt" für jedes dieser Produkte.
Ich konnte eine Beispielversion von IronPDF mit NuGet und einer Zeile Code installieren und in Betrieb nehmen. Sehr praktisch, und es hat mein System nicht überladen.
Das IronPDF-Beispiel aufIronPDFs Seite "Erste Schritte funktioniert mit einer einfachen Konsolen- oder nativen Anwendung mit .NET 6 und früher. Es erstellt und lädt eine neue PDF-Datei mit einem einfachen "Hello World"-Textblock und vervollständigt ein 5-zeiliges Codebeispiel mit dem Schreiben der Datei.
Der Beispielcode ist klar und funktioniert gut mit .NET 6 / C# 10 Formatierung. Der Online-Codeblock verfügt über eine Schaltfläche zum Kopieren in die Zwischenablage", die die Ausführung zum Kinderspiel macht.
Die Datei wird in den Ordner bin/ unter dem Projekt geschrieben, und für ein kurzes Beispiel funktioniert sie. Ich hätte es gerne neben der Codedatei, die ich gerade geschrieben habe, geschrieben, da einige Leute vielleicht nicht wissen, dass sie im Ordner bin/ nach Inhalten suchen müssen.
Ich musste einen großen Download (217 MB) installieren, um die Aspose-Bibliotheken auf meinem System nutzen zu können. Dabei wurden keine Anwendungen installiert, sondern nur die Bibliotheken für Aspose auf der Festplatte abgelegt.
Das Aspose-Beispiel befindet sich in den Dokumenten der Firma unter dem Abschnitt "Get Started" und ist daher etwas schwerer zu finden. Das Codebeispiel unterHello World-Beispiel von Aspose enthält etwas Prosa, die erklärt, was der Code zu tun versucht, und fühlt sich ein wenig repetitiv mit den Kommentaren im Code.
Das Aspose-Beispiel funktioniert nicht wie geschrieben und muss verbessert werden. Bei meiner Prüfung des Produkts stieß ich auf folgende Probleme:
Ich musste eine große Datei von 874 MB herunterladen, um loslegen zu können, und für die Installation musste ich mich bei einem Syncfusion-Server anmelden, um die Bibliotheken zu extrahieren und mit ihnen zu arbeiten. Das Installationsprogramm erstellte eine "Control Panel"-Anwendung, mit der ich durch eine Reihe von Demos auf der Festplatte navigieren konnte.
Abbildung 13 - SyncFusion's Control Panel Anwendung
Die Demo von SyncFusion befindet sich etwa auf halber Höhe der Produktseite unterPDF-Framework für .NET von Syncfusion mit blauem Hintergrund und hellblauem Text darauf. Nach Ansicht von Lighthouse ist dies kontrastarm und für manche Nutzer nicht zugänglich.
Ich habe den Syncfusion-Code in Visual Studio eingefügt und konnte nicht erreichen, dass Visual Studio eine entsprechende "using-Anweisung" für die Objekte generiert, auf die im Demo-Code verwiesen wird. Als ich Visual Studio aufforderte, eine using-Anweisung zu suchen und zu generieren, verwies es mich auf die Installation eines konkurrierenden Pakets:
Abbildung 14 - Visual Studio schlägt vor, dass ich iTextSharp installieren soll, um SyncFusion zu verwenden
Der Code für das Beispiel von SyncFusion tat nichts, was auf dem Bildschirm zu sehen war. Der Demo-Code schreibt eine PDF-Datei in einen MemoryStream, ein Objekt, das Dateiinhalte im Speicher verwaltet. Ich habe den Code so geändert, dass er in eine Datei auf der Festplatte schreibt, und es wurde ordnungsgemäß eine Datei erzeugt, die "Hello World" enthält.
Die iText-Demo wird in einem übersichtlichen Code-Editor in der Mitte der Produkt-Homepage geschrieben. iText 7 Gemeinschaft Im Gegensatz zu den anderen Demos enthält iText einen Link, über den man die generierte PDF-Datei für diesen Code sehen kann.
Ich musste ein Installationspaket von ihrem Kundenportal herunterladen, und einen Tag nach der Anmeldung erhielt ich um 5 Uhr morgens eine E-Mail mit Anweisungen zur Anmeldung. Die Anmeldedaten haben nicht funktioniert, und ich habe stattdessen die Community-Pakete heruntergeladen und installiert, die auf NuGet verfügbar sind.
Der für iText7 bereitgestellte Beispielcode funktioniert nicht wie geschrieben. Diesem Code fehlt auch eine Handvoll using statements, aber sobald sie hinzugefügt wurden, hat die Anwendung eine PDF-Datei generiert und in den Ordner bin/ des Projekts geschrieben.
Dieses Überprüfungselement untersucht die API und die Interaktionen, die Entwickler mit der Bibliothek haben werden. Jedes dieser Werkzeuge bietet mehrere Möglichkeiten zur Erstellung von und Interaktion mit PDF-Dokumenten. Werfen wir einen Blick auf die beiden.
Die Dokumentation für das Produkt ist das, was bei den Entwicklern langfristig über Erfolg oder Misserfolg entscheidet. Wie schnell können sie das Material finden, wenn sie in die Materie eintauchen und fortgeschrittenere Funktionen benötigen, und gibt es Beispiele, die ihnen helfen, diese Konzepte zu erlernen?
Bei jedem dieser Produkte habe ich in der API-Dokumentation nach der Möglichkeit gesucht, digitale Signaturen zu einer PDF-Datei hinzuzufügen.
Die API-Dokumente sind übersichtlich und gut organisiert, mit einem Inhaltsverzeichnis auf der linken Seite und einem Live-Filter. Das Suchfeld oben rechts enthält auch einen Live-Filter und lieferte schnell mehrere Artikel über die verschiedenen Komponenten, die Signature-Funktionen bieten. Die API-Website verfügt über einen hellen und einen dunklen Modus, eine nette Funktion, die Entwickler bevorzugen.
Abbildung 15 - IronPDF API-Suchergebnisse für die Signatur
Das Klassendokument PdfSignature
beschreibt das Objekt, enthält aber keine Links zu Beispielcode. Ich habe auf der ironpdf.com-Website nach "Signatur" gesucht und Beispielcode gefunden, der auf das Objekt "PdfSignature" verweistIronPDF Beispiel für digitales Signieren einer PDF-Datei.
Die Aspose-API-Dokumente haben mich auf die PdfFileSignature-Klasse verwiesen, als ich nach Signature suchte. Diese Seite zeigt, wie die von IronPDF, die Details der Klasse PdfFileSignature
, enthält aber keine Links zu Demos oder beschreibt, wie man die Klasse benutzt.
Ich habe die Aspose-Dokumentationsseite unterAspose PDF für .NET Dokumentation und suchte nach einer Unterschrift. Daraufhin wurde mir eine Liste einschlägiger Artikel angezeigt, und ich klickte mich zu dem Artikel "Signatur in PDF-Datei hinzufügen" unterAspose Unterschrift hinzufügen in PDF.
Die Basisdokumentationsseite von SyncFusion für das Produkt PDF-Dateiformate finden Sie unterSyncfusion PDF-Dateiformate Übersicht und brauchte ein paar Klicks auf ihrer Website, um sie zu finden. Ich brauchte nicht lange zu suchen, um das Unterschriftsmuster auf der Titelseite der Dokumentation zu finden.
Auf der SyncFusion-Website sind keine API-Dokumente zur Unterstützung der digitalen Signatur verfügbar.
Die API-Dokumentation für iText ist sehr ausführlich und wird mit jeder neuen Version erstellt. Es handelt sich um ein Standarddesign, das Sie auch von anderen Bibliotheken im Internet kennen. Bei der Suche nach einer Signatur wurden einige Klassen mit großartigen Beschreibungen zu diesen Funktionen gefunden, aber wieder keine Links zu Beispielen.
Ich habe auf der iText-Website nach einer Unterschriftsprobe gesucht und konnte keine finden. Stattdessen wurde ich mit mehreren Blogartikeln konfrontiert, in denen neue Partnerschaften angekündigt wurden.
Die von den einzelnen Werkzeugen zur Verfügung gestellte API ist sehr anschaulich und jedes verfolgt seinen eigenen Ansatz, um dem Entwickler vollen Zugang zur Erstellung und Verwaltung des Inhalts eines PDF-Dokuments zu geben. Glücklicherweise verfügen alle Frameworks über vollständige Autovervollständigungshinweise, die bei der Arbeit mit ihren Tools in einem modernen Code-Editor wie Visual Studio oder Visual Studio Code, der Autovervollständigungsfunktionen bietet, eine hervorragende Inline-Dokumentation bieten.
Die IronPDF-APIs machen sehr schwierige und komplexe Interaktionen mit vereinfachten Befehlen wie "RenderHtmlAsPdf" leicht, bieten aber dennoch einen tiefgreifenden Zugriff auf die Erstellung und Platzierung von Inhalten, Sicherheit, Metadaten und Formen des Dokuments. Für mich als Entwickler sprechen diese APIs die Art und Weise an, wie ich über das Rendern von Inhalten denke".
Die von den IronPDF-APIs verwendeten Namen und Begriffe machen deutlich, dass es sich um das Rendern eines Dokuments oder die Erstellung eines Dokuments handelt. Die Zeiteigenschaften einiger Einstellungen sind Integerwerte, die Millisekunden darstellen, wo ich einen nativen TimeSpan-Typ bevorzugt hätte. Schließlich würde ich mir wünschen, dass die Typen Einstellungen und Optionen mit einer modernen, flüssigen Konfigurations-API wie dieser ausgestattet werden:
var Renderer = new IronPdf.ChromePdfRenderer(options => {
RenderDelay = TimeSpan.FromSeconds(1)
});
var Renderer = new IronPdf.ChromePdfRenderer(options => {
RenderDelay = TimeSpan.FromSeconds(1)
});
IRON VB CONVERTER ERROR developers@ironsoftware.com
Die SyncFusion-APIs sind klar und bieten eine sehr anschauliche Kontrolle über die Interaktion mit den Konverter-Tools. Hier gibt es keine Abkürzungen, alles ist erforderlich, und Sie müssen dem Programm mitteilen, welche Werkzeuge Sie verwenden, da es keine Standardeinstellungen gibt. Die Einstellungen sind umfangreich und bieten eine fein abgestufte Kontrolle über alles, einschließlich des Speicherorts des WebKit-Renderers auf der Festplatte.
Diese zusätzliche Konfiguration ist zwar bei einigen Installationen nicht erforderlich, hat aber in der Vergangenheit zu Problemen geführt, und SyncFusion verspricht, dass dies in zukünftigen Versionen nicht mehr der Fall sein wird.
Die Aspose-API ist extrem langatmig, und ich frage mich, ob sie überhaupt versuchen, Entwickler produktiver zu machen. Die Menge an Konfiguration, die zum Laden eines Dokuments von einer Website erforderlich ist, ist erstaunlich: zehn Zeilen Code oder doppelt so viele Zeilen wie SyncFusion(fünf).
Ein Beispiel dafür ist, dass Aspose keine APIs hat, mit denen Sie eine URL zum Abrufen und Konvertieren angeben können.
iText hat eine ähnliche API wie Aspose, ist sehr ausführlich und ermöglicht eine direkte Interaktion mit dem Schreiben in das Dokument mit verschiedenen Datentypen, aber es ist nicht klar, wie man Abschnitte des Dokuments erstellen kann. Aufgrund der Eindeutigkeit der APIs und der geringen Qualität der Dokumentation ist die Arbeit mit iText bestenfalls schwierig.
Als Nächstes wollte ich die Rendering- und Geschwindigkeitsfähigkeiten der einzelnen Tools bei der Konvertierung von HTML-Inhalten in ein PDF-Dokument testen. Ich habe einen Code geschrieben, der unterJeffs GitHub-Repository für PDF-Vergleiche die Sie einsehen können, um mehr darüber zu erfahren, wie ich jeden dieser Tests durchgeführt habe. Ich habe aucheine Kopie jedes der PDF-Ergebnisse dort versteckt für Sie zu überprüfen. Ich werde jedes Produkt testen:
Die Referenz-Website ist sehr einfach, ohne CSS und nur mit Text, Links und Bildern.
Abbildung 16 - Die Referenz-Website für statische Webtests
Es handelte sich um drei einfache Codezeilen, die auszuführen waren, und die Leistung sah mit 835 ms gut aus. Als ich die PDF-Datei öffnete, stellte ich jedoch fest, dass keines der Bilder in die Darstellung einbezogen wurde - ein enttäuschendes Ergebnis bei der Standardkonfiguration.
Nach ein wenig Recherche erfuhr ich, dass ich eine Renderverzögerung hinzufügen konnte, und mit dieser Konfiguration war ich in der Lage, eine PDF-Datei zu rendern, die die richtigen Bilder auf der Seite enthielt.
In der Testversion des Tools ist ein Wasserzeichen in der gerenderten PDF-Datei enthalten. In der voll lizenzierten Version ist dieses Wasserzeichen nicht vorhanden.
Abbildung 17 - IronPDF-Rendering der statischen Website
SyncFusion war eine seltsame und verwirrende Reise. Die Dokumentation verweist auf verschiedene Möglichkeiten, HTML und PDF zu rendern und zu liefern, mit unterschiedlichen Versionsnummern und verschiedenen Frameworks, die unterschiedliche Codes und Konfigurationen sowie Installationen von Binärwerkzeugen erfordern, um richtig zu funktionieren.
Wie die IronPDF-Demo renderte SyncFusion die Bilder für die Seite nicht und lieferte ein PDF mit sehr kleinen Rändern.
In der Testversion des Tools ist ein Wasserzeichen in der gerenderten PDF-Datei enthalten. In der voll lizenzierten Version ist dieses Wasserzeichen nicht vorhanden.
Abbildung 18 - SyncFusion-Rendering der statischen Website.
Aspose hat eine sehr klare Anleitung für die Verwendung ihrer Tools. Allerdings ist aufgrund deranweisungen auf ihrer Website für die Konvertierung einer Website in ein PDF-Dokumenthaben sie einen schwerwiegenden Fehler, der verhindert, dass die Funktion funktioniert. Außerdem sind ihreonline-Tool, das eine Website in ein PDF-Dokument umwandelt nicht mehr funktioniert.
die Dokumentation von iText ist nicht so leicht zu finden, und wir mussten ein eBook lesen, um den Beispielcode zu finden, den wir für die Ausführung dieses Beispiels suchten. Ohne Codeänderungen, ohne zusätzliche Konfiguration und mit nur vier Zeilen Code haben wir eine sehr gut aussehende PDF-Datei ohne Wasserzeichen und mit guten Rändern erstellt.
Abbildung 19 - iText-Rendering der statischen Website.
Verwendetes Werkzeug | Geschwindigkeit in Millisekunden (niedriger ist besser) |
---|---|
IronPDF | 35ms |
SyncFusion | 799ms |
Aspose | K.A |
iText | 975ms |
Für diesen Test verwenden wir ESPN.com, eine Sport-Website, die eine Menge CSS, Bilder und JavaScript auf der Seite hat. Da Aspose für den einfachen Test nicht funktioniert hat, werden wir sie in Zukunft weglassen. Wir verwenden denselben Code, den wir für die letzte Demo verwendet haben, um diese Captures zu erstellen, indem wir einfach die Website-Adresse ersetzen.
Als Referenz finden Sie hier das Aussehen von ESPN zum Zeitpunkt dieses Tests:
Abbildung 20 - Vollständiges Rendering von ESPN.com im Browser
Die Spielstände am oberen Rand und der Bericht über den Spielstand in der Mitte des Bildschirms werden mit JavaScript platziert, und alle Positionierungen und Farben werden mit CSS3 behandelt.
Das IronPDF-Rendering war in der Lage, den dynamischen Inhalt originalgetreu zu duplizieren und zu laden, allerdings sieht es so aus, als ob die Seite für ein mobiles Gerät gerendert wurde, wobei die Inhaltselemente in separate Segmente aufgeteilt und gekachelt wurden.
Abbildung 21 - IronPDF-Rendering von ESPN
SyncFusion führte ein ähnliches "mobiles" Rendering mit vertikal gekachelten Inhalten durch. Wir haben jedoch mehrere Bilder verloren, die von der ESPN-Website dynamisch geladen wurden, und auch einige der Schriftformatierungen sind verloren gegangen:
Abbildung 22 - SyncFusion-Rendering von ESPN
Bei diesem Test verweigerte iText die Ausführung und löste eine NullReferenceException aus, so dass es nicht versuchen konnte, die Website zu rendern.
Verwendetes Werkzeug | Geschwindigkeit in Millisekunden (niedriger ist besser) |
---|---|
IronPDF | 35ms |
SyncFusion | 799ms |
Aspose | K.A |
iText | 975ms |
Der letzte Test besteht darin, ein PDF mit Formularfeldern auf der Grundlage einer Website zu generieren. Das einfache Newsletter-Anmeldeformular, das ich geschrieben habe, ist im GitHub-Repository verfügbar und wird mit Bootstrap 5 in Firefox wie folgt gerendert:
Abbildung 23 - Formular-Website in Firefox
Hinweis: Das Bundesland ist ein Kombinationsfeld, das Feld Telefon ist ein Telefonfeld, die E-Mail ist ein E-Mail-Feld und die Schuhgröße ist ein Zahlenfeld.
Iron glänzt in diesem Test wirklich und rendert schnell in einem ähnlich mobilfreundlichen Layout, wie die Hamburger-Menü-Schaltfläche oben rechts beweist. Die Wasserzeichen quer über die Seite sind in einer Testversion störend, werden aber in der Vollversion entfernt.
Alle Textfelder werden als PDF-Formularfelder gerendert, mit denen ich interagieren kann, außer den Optionsfeldern und dem Kontrollkästchen am Ende. Die Textfelder haben keine besondere Validierung oder Inhaltserzwingung, wie es im Browser der Fall ist.
Abbildung 24 - IronPDF-Rendering des Formulars
SyncFusion hat eine vollständige Desktop-Version der Website gerendert, da keine Hamburger-Menü-Schaltfläche vorhanden ist. Die gerenderten Formularelemente erscheinen als Quadrate, Schaltflächen und Kästchen auf dem Bildschirm, aber keines dieser Elemente ist ein Standard-PDF-Dateneingabefeld. Die Links in der Kopf- und Fußzeile werden zwar durch das Wasserzeichen verdeckt, sind aber anklickbar.
Abbildung 25 - Von SyncFusion gerenderte Formularseite
iText war mit Abstand das schnellste der drei Frameworks beim Rendern der Inhalte. Diese Geschwindigkeit hatte jedoch ihren Preis. Ihr Rendering lieferte zwar Anker-Tags, die beim Anklicken navigierten, aber nicht die ursprüngliche Website erreichten. Alle Formatierungen von Bootstrap gingen verloren, und alle Formularfelder wurden als einfache Felder dargestellt.
Abbildung 26 - Von iText gerenderte Formularseite
Verwendetes Werkzeug | Geschwindigkeit in Millisekunden (niedriger ist besser) |
---|---|
IronPDF | 35ms |
SyncFusion | 799ms |
Aspose | K.A |
iText | 975ms |
Jedes dieser Frameworks verfügt über eigene Support-Funktionen und eine eigene Release-Kadenz. Für ein tragfähiges, derzeit entwickeltes und wachsendes Framework, das mehr PDF-Standards unterstützt, wünschen wir uns Online-Support und regelmäßige Veröffentlichungszeitpläne.
Von derNuGet-Websitehat es den Anschein, dass IronPDF alle 2-4 Wochen eine neue Version herausbringt. Es stehen Live-Chat- und E-Mail-Support-Optionen zur Verfügung. Es wäre schön, wenn es ein Online-Forum oder einen Discord-/Slack-Server gäbe, um mit dem Support und anderen Mitgliedern der IronPDF-Community zu chatten.
Nach Angaben vonNuGetsie veröffentlichen einmal pro Woche eine Aktualisierung ihrer PDF-Bibliotheken. SyncFusion verfügt über Online-Foren und ein Online-Support-Ticketing-System. Es gibt keine Live-Chat-Support-Optionen von SyncFusion.
Nach Angaben vonNuGetaspose.PDF wird einmal im Monat veröffentlicht. Sie bieten einen kostenlosen Helpdesk, einen kostenpflichtigen Helpdesk und kostenpflichtige Beratung. Ich sehe keine Live-Interaktionen oder Gemeinschaftsinteraktionen.
NuGet berichtet, dass iText seine Pakete alle 2-3 Monate aktualisiert. Der einzige verfügbare Support ist ein Online-JIRA-Problemverfolgungssystem und ein "Kontakt"-Formular. Es sind keine Live-Interaktionen oder gehostete Foren verfügbar.
In jedem Abschnitt dieses Dokuments habe ich die Produkte gegeneinander abgewogen, wobei vier Produkte den höchsten Rang einnahmen.
Kategorie | IronPDF | Aspose | SyncFusion | iText |
---|---|---|---|---|
Entdeckung | ||||
Akquisition | ||||
Lizenzvergabe | ||||
Kompatibilität | ||||
Erste Schritte | ||||
API | ||||
Dokumentation | ||||
Websites rendern | ||||
Unterstützung | ||||
Insgesamt (höher ist besser) | 3 | 1 | 3 | 5 |
Anmerkungen:
10 .NET API-Produkte für Ihre Bürodokumente