Comparaisons de produits avec IronPDF
Cet article a été écrit par Jeff Fritz, une autorité bien reconnue dans le développement .NET.
Dans cet article, Jeff passe en revue et compare la bibliothèque IronPDF avec trois autres bibliothèques PDF leaders pour C#.NET : Aspose, SyncFusion et iTextPdf
Je suis en train d'examiner l'expérience complète des développeurs dans l'interaction avec trois produits de gestion PDF commerciaux pour développeurs et de les comparer à l'expérience IronPDF. Nous comparerons et évaluerons chaque produit dans les domaines suivants :
- Expérience de découverte et d'acquisition
- Clarté des licences
- Compatibilité
- Expérience de prise en main
- Facilité d'utilisation de l'API pour un développeur C#
- Qualité de la documentation, y compris des exemples de code et des tutoriels
- Capacités HTML vers PDF
- Conformité CSS3
- Conformité HTML 5
- Conformité JavaScript
- Prise en charge des formulaires de génération
- Fidélité du rendu
- Support technique
- Cadence des versions et développement des fonctionnalités
Nous conclurons avec une fiche d'évaluation finale pour les outils.
Découverte et Acquisition
Les développeurs ont un monde de produits PDF parmi lesquels choisir. Comment peuvent-ils séparer les produits et choisir celui qui convient à leur projet ? Les développeurs C# regardent dans trois endroits principaux lorsqu'ils recherchent des outils logiciels : les moteurs de recherche, GitHub et NuGet. Nous allons rechercher " Logiciel PDF C# " sur DuckDuckGo, un moteur de recherche privé, et rechercher ces outils PDF sur GitHub ainsi que sur NuGet.org. NuGet est le dépôt de paquets .NET.
| Produit | DuckDuckGo | GitHub | NuGet |
|---|---|---|---|
| IronPDF | 5 | Pas trouvé | 5 |
| Aspose | 22 | 37 | 3 |
| SyncFusion | 49 | N/A | 8 |
| iTextPDF | Pas trouvé | 40 | 7 |
Notes : J'ai limité la recherche aux 100 premiers résultats sur chaque service et je n'ai pas réussi à localiser le dépôt GitHub d'IronPDF ainsi que le site web d'iText sur DuckDuckGo. SyncFusion n'a pas de dépôt GitHub avec des exemples de création de PDF.
Acquisition
Chacun des produits a une approche différente de l'acquisition de produit depuis leurs sites Web.
IronPDF le rend clair avec un bouton de téléchargement sur la page d'accueil
Figure 1- Découverte du téléchargement d'IronPDF
Le bouton de téléchargement redirige vers NuGet.org et les instructions standard d'installation de package .NET.
Aspose propose un clic sur la page d'accueil où vous devez choisir une langue, puis vous êtes présenté avec des détails sur cette version du produit et un bouton de téléchargement
Figure 2 - Sélecteur de langue Aspose.PDF
Figure 3 - Découverte du téléchargement d'Aspose.PDF C#
Aspose vous invite ensuite à télécharger les outils avec une page contenant des instructions NuGet et plusieurs paragraphes de matériel promotionnel
Figure 4 - Page de téléchargement d'Aspose
SyncFusion a sa bibliothèque de gestion des PDF classée sous "Traitement des documents - PDF". Leur sous-site ressemble à ceci :
Figure 5 - Découverte de PDF par Syncfusion
Vous devez ensuite remplir un formulaire pour créer un compte sur leur site Web, avec une adresse e-mail, un numéro de téléphone et le nom de l'entreprise. SyncFusion vérifie votre email avec un message texte puis vous permet de télécharger un installateur pour leur logiciel. Vous pouvez également installer un package d'essai depuis NuGet, mais ils disent que l'installateur fournit le "produit complet". Dans les jours suivant l'inscription sur le site Web de SyncFusion, j'ai reçu deux e-mails et deux appels téléphoniques proposant de m'aider à démarrer. Les e-mails et les appels téléphoniques étaient amicaux en ton, mais j'ai trouvé les appels téléphoniques un peu envahissants.
iTextPDF le rend clair avec un produit et un lien vers leur produit :
Figure 7 - Découverte d'iTextPDF
L'écran de téléchargement propose trois options pour télécharger, avec l'exigence de s'inscrire avec numéro de téléphone, e-mail, titre du poste et nom de l'entreprise.
Figure 7 - Écran de téléchargement d'iText
J'ai trouvé la quantité de choix de iText accablante et je ne savais pas quoi télécharger. J'ai choisi iText 7 puis j'ai été dirigé vers un autre écran pour choisir parmi neuf produits liés au PDF à télécharger. Encore une fois, j'ai trouvé cela déroutant et cela m'a laissé incertain des bibliothèques et outils dont j'avais besoin pour mon projet.
J'ai reçu un e-mail de suivi de iText avec un lien vers leur portail client et un mot de passe généré. J'ai essayé de me connecter à leur site portail avec les identifiants fournis mais je n'ai pas pu accéder au site.
Clarté des licences
Avec toute bibliothèque qu'un développeur télécharge, la licence déterminera si et comment il peut utiliser le produit avec son projet. Une licence plus permissive permettra à l'outil d'être expédié avec une application mobile ou de bureau, et des licences plus restrictives peuvent limiter l'utilisation de l'outil à une exécution uniquement sur un serveur protégé.
IronPDF propose un bouton clair sur la page d'accueil, à côté du bouton 'Téléchargement gratuit NuGet', qui lie aux termes de la licence. La page résultante précise clairement combien de développeurs sont couverts et combien de projets le produit peut être utilisé avec. Il y a une restriction sur le nombre de bureaux qu'une organisation a. La redistribution du logiciel en tant que produit SaaS ou application native nécessite un coût de licence supplémentaire.
Aspose a six modèles de licence différents disponibles, emballés sans support, avec support, ou avec support et conseil. J'ai trouvé leurs options assez déroutantes, car il y a aussi des limitations sur les types de projets avec lesquels vous pouvez utiliser le produit, le nombre de développeurs sous licences et la taille de l'organisation.
Projets de sites Web publics avec support :
| Inclusion | IronPDF | Syncfusion | AsposePDF | iText |
|---|---|---|---|---|
| 1 site web, 1 développeur, 1 lieu, Support | **$799** | **2 495 $** | **5 394 $** | |
| 10 sites web, 10 développeurs, 10 lieux, **Support** | **$2,399** | **13 990 $** | **28 771 $** | |
| Nombre de sites illimité, **Support** | $4,799 | **N / A** | <25 785$+ (par an) |
Figure 8 - Modèle de licence Aspose
SyncFusion propose un tarif unique pour leur produit Formats de fichier qui inclut le support pour tous les types d'applications .NET. La redevance est facturée par développeur, avec une réduction du tarif pour la deuxième année d'un contrat. Il n'y a pas de limitations basées sur la taille d'une organisation, ou le nombre de projets auxquels le produit est utilisé. Ils ont aussi une licence communautaire gratuite disponible pour les entreprises en phase de démarrage.
Figure 9 - Licence SyncFusion
iText propose plusieurs produits en open source, mais ils font apparaître qu'il est nécessaire d'acheter une licence pour utiliser le produit.
Figure 10 - Produit Open Source iText
L'option d'acheter une licence commerciale conduit à un écran sans options d'achat immédiatement listées. Il existe un outil de configuration que vous devez compléter avec des informations sur votre emplacement, langue, volume d'utilisation et les produits que vous souhaitez utiliser. L'outil donne ensuite un devis pour la licence commerciale.
Figure 11 - Outil de configuration de la licence iText
Si le produit est disponible en open source, puis-je l'utiliser sans aucune option de support commercial ? Ce n'est pas clair jusqu'à ce que vous cliquiez sur leur site communautaire iText 7 et découvriez qu'il est couvert par la licence AGPL, qui vous oblige à publier le code source des applications que vous écrivez qui utilisent leur bibliothèque dans ce modèle. C'est une option intéressante, mais pourrait embrouiller les développeurs.
Compatibilité
Avec les différents modèles de déploiement disponibles pour chaque produit, il existe différents niveaux de compatibilité qui sont promis sur chaque site web. Une recherche plus approfondie est nécessaire pour déterminer la compatibilité avec différents fournisseurs d'hébergement et outils d'hébergement comme Docker.
| Environnement | IronPDF | Aspose | SyncFusion | iText |
|---|---|---|---|---|
| AVEC | Oui | |||
| .NET Framework | Oui | Oui | Oui | Oui |
| .NET 5 | Oui | Oui | Oui | |
| .NET 6 | Oui | Oui | Oui | |
| .NET Standard | Oui | Oui | Oui | |
| Xamarin | Oui | Oui | ||
| MAUI | Oui | |||
| Azure | Oui | |||
| AWS | Oui | Oui | ||
| Mac | Oui | |||
| Linux | Oui | |||
| Docker | Oui |
Aspose est le seul produit qui prétend fonctionner avec les applications AVEC, typiquement un besoin hérité pour les développeurs. iText ne répertorie pas leurs plateformes supportées sur leur site web, et un examen rapide de leurs paquets NuGet indique un support pour les plateformes indiquées. SyncFusion liste le support pour plusieurs frameworks d'interface utilisateur mais pas de versions spécifiques d'exécution. iText était le seul produit en plus d'IronPDF à prétendre prendre en charge un service cloud, avec une bannière mettant en avant le support pour AWS.
Figure 12 - Prise en charge d'iText sur AWS
Expérience de prise en main
J'ai passé en revue chacun des produits et leur expérience 'Prise en main' telle que décrite sur leurs sites web. Ce sont les instructions " construisez votre première application avec le produit " pour chacun de ces produits.
IronPDF
J'ai pu installer et commencer avec une version d'essai de IronPDF en utilisant NuGet, et une ligne de code. Très pratique, et n'encombrait pas mon système.
L'exemple IronPDF sur la page Prise en main de IronPDF fonctionne avec une simple application console ou native en utilisant .NET 6 et les versions antérieures. Il crée et charge un nouveau PDF avec un simple bloc de texte " Hello World ", complétant un exemple de code en 5 lignes avec l'écriture du fichier.
Le code exemple est clair et fonctionne bien avec le formatage .NET 6 / C# 10. Le bloc de code en ligne a un bouton " copier dans le presse-papier " qui le rend rapide à exécuter.
Le fichier est écrit dans le dossier bin/ sous le projet, et pour un exemple rapide, cela fonctionne. J'aurais aimé que ce soit écrit à côté du fichier de code que je viens d'écrire, car certaines personnes pourraient ne pas savoir qu'il faut regarder dans le dossier bin/ pour le contenu.
Aspose
J'ai dû installer un téléchargement volumineux, de 217 Mo, pour commencer à utiliser les bibliothèques Aspose sur mon système. Cela n'a pas installé d'applications, mais n'a fait que placer les bibliothèques pour Aspose sur le disque.
L'exemple Aspose se trouve dans leur documentation sous une section 'Prise en main', ce qui le rend un peu plus difficile à localiser. L'exemple de code à L'Exemple Hello World d'Aspose inclut un peu de prose autour qui explique ce que le code tente de faire et semble un peu répétitif avec les commentaires dans le code.
L'exemple Aspose ne fonctionne pas tel quel et nécessite d'être amélioré. Dans ma revue de leur produit, j'ai rencontré les problèmes suivants :
- La bibliothèque .NET 6 est distribuée sous forme de DLL et stockée sur disque dans
C:\Program Files (x86)\Aspose\Aspose.PDF for .NET\Bin\net6.0-- Ce n'est plus ainsi que les développeurs .NET chargent les bibliothèques en 2022, préférant désormais les packages NuGet . - Il n'y a pas d'indications expliquant comment ajouter la référence, et quelles références ajouter.
- Lorsque j'ai ajouté une référence au fichier
Aspose.Pdf.dll, le code du projet présenté sur la page n'a pas compilé.- J'ai ajouté les instructions using manquantes et ajusté le code pour qu'il se compile et il ne pouvait pas s'exécuter en raison d'autres références manquantes.
- Le projet tente d'écrire dans un dossier 'Samples'. Dans ma tentative de faire fonctionner ce projet, je n'avais pas ce dossier sur le disque, et mon projet d'exemple s'est arrêté à cause de l'absence du dossier.
- Le PDF généré de démonstration contient un bloc de texte 'Hello World' et a un filigrane fuchsia indiquant qu'il s'agit d'une version de démonstration du logiciel.
SyncFusion
J'ai dû télécharger un fichier volumineux de 874 Mo pour commencer, et l'installation m'a nécessité de me connecter à un serveur Syncfusion pour extraire et travailler avec les bibliothèques. L'installateur a créé une application 'Tableau de bord' qui m'a permis de naviguer autour de plusieurs démonstrations sur disque.
Figure 13 - Application du panneau de contrôle de SyncFusion
La démonstration de SyncFusion se trouve environ à mi-hauteur de leur page produit à Le Framework PDF de Syncfusion for .NET avec un fond bleu et un texte bleu clair dessus. Selon Lighthouse, c'est un faible contraste et n'est pas accessible à certains utilisateurs.
J'ai collé le code Syncfusion dans Visual Studio et n'ai pas pu avoir Visual Studio générer une instruction "using" appropriée pour les objets référencés dans le code de démonstration. En fait, quand j'ai demandé à Visual Studio de tenter de localiser et de générer une instruction using, il m'a référé pour installer un paquet concurrent :
Figure 14 - Visual Studio me suggère d'installer iTextSharp pour utiliser SyncFusion
Le code pour l'exemple de SyncFusion ne fait rien tel qu'il est présenté à l'écran. Le code de démonstration écrit un PDF dans un MemoryStream, un objet qui gère les contenus de fichiers en mémoire. J'ai modifié le code pour écrire dans un fichier sur disque et cela a généré correctement un fichier contenant " Hello World ".
iText
La démonstration iText est écrite dans un éditeur de code clair au milieu de leur page d'accueil produit. iText 7 Community Contrairement aux autres démonstrations, iText a inclus un lien pour voir le PDF généré pour ce code.
J'ai dû télécharger un paquet d'installation depuis leur portail client, et un jour après l'inscription, j'ai reçu un e-mail à 5h du matin avec des instructions pour s'inscrire. Les informations d'identification n'ont pas fonctionné, et j'ai plutôt téléchargé et installé les paquets communautaires disponibles sur NuGet.
Le code exemple fourni pour iText7 ne fonctionne pas tel quel. Il manque également à ce code quelques instructions using, mais une fois qu'elles ont été ajoutées, l'application a généré un fichier PDF et l'a écrit dans le dossier bin/ du projet.
Facilité d'utilisation pour un développeur C
Cet élément de revue examine l'API et les interactions que les développeurs auront avec la bibliothèque. Chacun de ces outils a plusieurs façons de créer et d'interagir avec les documents PDF. Examinons chacun d'eux.
Documentation
La documentation pour le produit est ce qui fera ou défera à long terme chez les développeurs. Au fur et à mesure qu'ils plongent plus en profondeur et ont besoin de fonctionnalités avancées, à quelle vitesse peuvent-ils trouver ce matériel et y a-t-il des exemples fournis qui aident à enseigner ces concepts.
Dans chacun de ces produits, j'ai cherché leur documentation API pour la capacité d'ajouter des signatures numériques à un PDF.
IronPDF
Les documents API sont clairs et bien organisés avec un panneau gauche sommaire avec un filtre vivant. La boîte de recherche en haut à droite comprend également un filtre en direct et a rapidement retourné plusieurs articles sur les différents composants qui fournissent des fonctionnalités de signature. Le site API a un mode clair et sombre, une fonctionnalité agréable que les développeurs préfèrent.
Figure 15 - Résultats de la recherche de l'API IronPDF pour la signature
Le document de classe PdfSignature décrit l'objet mais ne contient aucun lien vers un exemple de code. J'ai recherché " signature " sur le site web IronPDF et j'ai trouvé un exemple de code qui fait référence à l'objet PdfSignature dans l'exemple de signature numérique d'un PDF IronPDF .
Aspose
Les docs API d'Aspose m'ont dirigé vers leur classe PdfFileSignature lorsque j'ai cherché Signature. Cette page, comme celle d'IronPDF, montre les détails de la classe PdfFileSignature, mais ne contient aucun lien vers des démos ni ne décrit comment utiliser la classe.
Je suis retourné à la page de base de la documentation Aspose à Documentation Aspose PDF for .NET et j'ai cherché signature. J'ai consulté une liste d'articles et cliqué sur 'Ajouter une signature dans le fichier PDF' à Aspose.
SyncFusion
La page de documentation de base de SyncFusion pour le produit de formats de fichiers PDF se trouve à Aperçu des formats de fichiers PDF Syncfusion et il a fallu quelques clics sur leur site pour la trouver. Je n'ai pas eu besoin de chercher loin pour trouver l'exemple de signature car la page d'accueil de la documentation.
Il n'y a pas de documents API qui prennent en charge la fonctionnalité de signature numérique disponible sur le site de SyncFusion.
iText
La documentation API pour iText est très complète et générée à partir de chaque version publiée. C'est un aparence et une sensation standards que vous verrez d'autres bibliothèques sur Internet. La recherche d'une signature a trouvé quelques classes avec quelques excellentes descriptions sur ces fonctionnalités, mais encore une fois aucun lien vers des exemples.
J'ai recherché sur le site iText un exemple de signature sans être capable d'en localiser un, et j'ai plutôt été présenté avec plusieurs articles de blog annonçant de nouveaux partenariats.
API
L'API mise à disposition par chacun des outils est très descriptive et chacun prend son propre style d'approche pour donner au développeur un accès complet à la création et à la gestion du contenu d'un document PDF. Tous les frameworks disposent de suggestions d'autocomplétion complètes qui fournissent une excellente documentation en ligne dans un éditeur comme Visual Studio.
IronPDF
Les API IronPDF rendent les interactions très difficiles et complexes faciles à réaliser avec des commandes simplifiées comme "RenderHtmlAsPdf", mais offrent toujours un accès approfondi à la création et au placement de contenu, à la sécurité, aux métadonnées et aux formulaires du document. En tant que développeur, ces APIs " parlent de la manière dont je pense " au rendu du contenu.
Les noms et termes utilisés par les APIs IronPDF clarifient que vous rendez un document ou bâtissez un document. Les propriétés de temps sur certains des paramètres sont des entiers représentant des millisecondes où j'aurais préféré un type TimeSpan natif. Enfin, j'aimerais voir des types Paramètres et Options fournis avec une API de configuration fluide moderne comme celle-ci :
var renderer = new IronPdf.ChromePdfRenderer(options => {
options.RenderDelay = TimeSpan.FromSeconds(1);
});
var renderer = new IronPdf.ChromePdfRenderer(options => {
options.RenderDelay = TimeSpan.FromSeconds(1);
});
Dim renderer = New IronPdf.ChromePdfRenderer(Sub(options)
options.RenderDelay = TimeSpan.FromSeconds(1)
End Sub)
SyncFusion
Les API SyncFusion sont claires et offrent un contrôle très descriptif sur la façon d'interagir avec leurs outils de conversion. Aucun raccourci ici, tout est requis, et vous devez leur indiquer quels outils vous utilisez sans valeurs par défaut disponibles. Les Paramètres sont étendus avec un contrôle finement granulé sur tout, y compris l'emplacement du rendu WebKit sur le disque.
Cette configuration supplémentaire, bien que non nécessaire dans certaines installations, a causé des problèmes pour certains dans le passé et dans les futures versions SyncFusion promet qu'il n'y a pas de problème.
Aspose
L'API Aspose est extrêmement verbeuse et je me demande si elle essaie vraiment de rendre les développeurs plus productifs. La quantité de configuration nécessaire pour charger un document à partir d'un site Web est stupéfiante, dix lignes de code ou deux fois plus de lignes que SyncFusion (cinq).
Un exemple de cela est qu'Aspose n'a pas d'API vous permettant de spécifier une URL à récupérer et à convertir.
iText
iText a une API similaire à celle d'Aspose, très verbeuse et permettant une interaction directe avec l'écriture dans le document avec différents types de données, mais il n'est pas clair comment créer des sections du document. Avec la nature explicite des API et la faible qualité de la documentation, travailler avec iText est difficile au mieux.
HTML en PDF
Je voulais ensuite tester les capacités de rendu et de vitesse de chaque outil pour convertir du contenu HTML en PDF. J'ai écrit du code disponible à partir du dépôt GitHub de Jeff pour les Comparaisons PDF que vous pouvez consulter pour en savoir plus sur la façon dont j'ai effectué chacun de ces tests. J'ai aussi mis de côté une copie de chacun des résultats PDF là-bas pour vous permettre de les examiner. Je vais tester chaque produit pour :
- Facilité de conversion d'une page d'un site Web statique qui livre du HTML brut. Nous utiliserons le site statique KlipTok utilisé pour alimenter la consommation du moteur de recherche du site de clips Twitch KlipTok.com. (Note : Le site Web est indisponible à la date de la modification la plus récente de cet article)
- Rendu de ESPN.com, un site avec beaucoup de JavaScript et de CSS3 qui livre la page d'accueil du site.
- Rendu d'un formulaire sur un site local pour tester l'utilisation et la présentation de chacun des champs dans le PDF résultant.
Scénario 1 : Tests de sites Web statiques
Le site de référence est très simple sans CSS et juste du texte avec des liens et des images.
Figure 16 - Le site web de référence pour les tests statiques du web
IronPDF
Cela était une simple exécution de trois lignes de code, et la performance semblait bonne à 835 ms. Cependant, lorsque j'ai ouvert le PDF, j'ai constaté qu'aucune des images n'était incluse dans le rendu, un résultat décevant avec la configuration par défaut.
Après un peu d'exploration, j'ai appris que je pouvais ajouter un retard de rendu, et avec cette configuration, j'ai pu rendre un PDF qui incluait les images appropriées sur la page.
Avec la version de test de l'outil, il y a un filigrane inclus dans le PDF rendu. Dans la version entièrement licenciée, ce filigrane n'est pas présent.
Figure 17 - Rendu IronPDF du site statique
SyncFusion
SyncFusion a été un voyage curieux et confus. Leur documentation fait référence à plusieurs façons de rendre et fournir du HTML et du PDF avec différents numéros de version et différents frameworks nécessitant différents codes et configurations ainsi que des installations d'outils binaires pour fonctionner correctement.
Comme la démo d'IronPDF, SyncFusion n'a pas rendu les images pour la page et a livré un PDF avec des marges très petites.
Avec la version de test de l'outil, il y a un filigrane inclus dans le PDF rendu. Dans la version entièrement licenciée, ce filigrane n'est pas présent.
Figure 18 - Rendu SyncFusion du site statique.
Aspose
Aspose a un ensemble de directions très claires concernant l'utilisation de leurs outils. Cependant, d'après les instructions sur leur site web pour convertir un site web en PDF, ils ont un bug significatif qui empêche la fonctionnalité de fonctionner. De plus, leur outil en ligne qui convertit un site web en PDF ne fonctionne plus.
iText
La documentation d'iText n'est pas aussi facile à trouver, et nous avons dû lire un eBook pour obtenir le code exemple que nous recherchions pour exécuter cet exemple. Sans changements de code, sans configuration supplémentaire et quatre lignes de code, nous avons rendu un PDF d'apparence très plaisante sans filigranes et avec de bonnes marges.
Figure 19 - Rendu iText du site statique.
| Outil utilisé | Vitesse en millisecondes (plus elle est faible, mieux c'est) |
|---|---|
| IronPDF | 835 ms |
| SyncFusion | 1799 ms |
| Aspose | N/A |
| iText | 2975 ms |
Scénario 2 : Site Web complet multimédia – ESPN.com
Pour ce test, nous utilisons ESPN.com, un site internet sportif qui contient beaucoup de CSS, d'images et de JavaScript sur la page. Étant donné qu'Aspose n'a pas fonctionné pour le test simple, nous les sauterons à l'avenir. Nous utiliserons le même code que nous avons utilisé pour la dernière démo pour créer ces captures, en remplaçant simplement l'adresse du site web.
Pour référence, voici l'apparence d'ESPN au moment de ce test :
Figure 20 - Rendu complet d'ESPN.com dans le navigateur
Les scores en haut et le rapport de l'état du jeu au milieu de l'écran sont placés avec JavaScript, et toute la disposition et les couleurs sont traitées avec CSS3.
IronPDF
Le rendu IronPDF a pu fidèlement dupliquer et charger le contenu dynamique, cependant, il semble que la page ait été rendue pour un appareil mobile avec des éléments de contenu divisés en segments séparés et carrelés.
Figure 21 - Rendu IronPDF de ESPN
SyncFusion
SyncFusion a réalisé un rendu similaire de 'style mobile' avec un contenu carrelé verticalement. Cependant, nous avons perdu plusieurs images qui ont été chargées dynamiquement par le site ESPN et une partie du formatage des polices est également perdue :
Figure 22 - Rendu SyncFusion de ESPN
iText
Pour ce test, iText a refusé de fonctionner et a levé une NullReferenceException, l'empêchant d'essayer de rendre le site web.
| Outil utilisé | Vitesse en millisecondes (plus elle est faible, mieux c'est) |
|---|---|
| IronPDF | 835 ms |
| SyncFusion | 1799 ms |
| Aspose | N/A |
| iText | 2975 ms |
Site Web basé sur des formulaires
Le test final consiste à générer un PDF avec des champs de saisie de formulaire basés sur un site Web. Le simple formulaire d'inscription à la newsletter que j'ai écrit est disponible dans le dépôt GitHub et se rend avec Bootstrap 5 dans Firefox comme suit :
Figure 23 - Site web de formulaire dans Firefox
Note : l'État est une boîte combinée, le champ Téléphone est un champ téléphone, l'Email est un champ email et la Taille de la chaussure est un champ numérique.
IronPDF
Iron brille vraiment dans ce test, rendant rapidement dans une disposition conviviale semblable à celle de l'interface mobile comme en témoigne le bouton de menu hamburger en haut à droite. Les filigranes à travers la page sont gênants dans une version de test, mais supprimés dans la version entièrement licenciée.
Tous les champs de texte sont rendus en tant que champs de formulaire PDF avec lesquels je peux interagir, à l'exception des boutons radio et de la case à cocher à la fin. Les boîtes de texte n'ont pas de validation particulière ou de contrainte de contenu comme elles le font dans le navigateur.
Figure 24 - Rendu IronPDF du formulaire
SyncFusion
SyncFusion a rendu ce qui semble être la version complète du site Web sur le bureau, car il n'y a pas de bouton de menu hamburger présent. Les éléments de formulaire rendus apparaissent sous forme de carrés, de boutons et de boîtes à l'écran mais aucun d'entre eux n'est un champ standard de saisie de données PDF. Les liens dans l'en-tête et le pied de page, bien que masqués par le filigrane, sont cliquables.
Figure 25 - Site de formulaire rendu par SyncFusion
iText
iText était de loin le plus rapide des trois frameworks pour rendre le contenu. Cependant, cette rapidité a eu un prix. Leur rendu a livré des balises d'ancre qui naviguaient lorsqu'elles étaient cliquées, mais n'atteignaient pas le site Web d'origine. Tout le formatage de bootstrap était perdu, et tous les champs de formulaire ont été rendus comme des boîtes simples.
Figure 26 - Site de formulaire rendu par iText
| Outil utilisé | Vitesse en millisecondes (plus elle est faible, mieux c'est) |
|---|---|
| IronPDF | 835 ms |
| SyncFusion | 1799 ms |
| Aspose | N/A |
| iText | 2975 ms |
Assistance technique
Chacun de ces frameworks a des capacités de support distinctes disponibles et un rythme de mise à jour. Pour un framework viable, actuellement développé et en croissance qui prendra en charge davantage de la norme PDF, nous aimerions voir une assistance en ligne disponible et des plannings de publication réguliers.
IronPDF
D'après le site web NuGet, il semble qu'IronPDF publie une version toutes les 2-4 semaines. Support disponible par chat en direct et email. Ce serait bien de voir un forum en ligne ou un serveur Discord / Slack pour discuter avec le support et d'autres membres de la communauté IronPDF.
SyncFusion
Selon NuGet, ils publient une mise à jour de leurs bibliothèques PDF une fois par semaine. SyncFusion a des forums en ligne, et un système de billetterie d'assistance en ligne. Il n'y a pas d'options de support de chat en direct avec SyncFusion.
Aspose
Selon NuGet, Aspose.PDF publie une version une fois par mois. Ils offrent un helpdesk gratuit, un helpdesk payant et du conseil payant. Je ne vois aucune interaction en direct ou interaction communautaire disponible.
iText
NuGet rapporte qu'iText met à jour ses packages tous les 2-3 mois. Leur seul support disponible se fait par le biais d'un tracker de problèmes JIRA en ligne et d'un formulaire " contactez-nous ". Il n'y a pas d'interactions en direct ou de forums hébergés disponibles.
Tableau de bord final
Dans chaque section de ce document, j'ai classé les produits les uns par rapport aux autres, quatre étant le rang le plus élevé.
| Catégorie | IronPDF | Aspose | SyncFusion | iText |
|---|---|---|---|---|
| Découverte | 3 | 4 | 2 | 1 |
| Acquisition | 4 | 3 | 2 | 1 |
| Licence | 3 | 2 | 4 | 1 |
| Compatibilité | 4 | 1 | 2 | 3 |
| Commencer | 4 | 1 | 2 | 3 |
| API | 4 | 2 | 3 | 1 |
| Documentation | 4 | 4 | 3 | 2 |
| Rendre des sites web | 4 | 0 | 3 | 2 |
| Support | 3 | 4 | 2 | 1 |
| Total (plus il est élevé, mieux c'est) | 33 | 21 | 23 | 15 |
Notes :
- Dans la découverte, le manque d'une bibliothèque d'exemples claire sur GitHub a mis Syncfusion à la dernière place, et j'ai priorisé la capacité à trouver le produit sur le moteur de recherche au-dessus de le trouver sur GitHub.
- L'acquisition était claire de la part de IronPDF avec un bouton qui conduisait immédiatement à une page de téléchargement. Les autres avaient divers niveaux d'inscription et de processus pour trouver la bibliothèque dont vous aviez besoin. iText avait le processus le plus déroutant et trop d'options à la fin.
- La licence était très claire pour Syncfusion tandis que Aspose et IronPDF avaient plusieurs limitations. Le volume de choix pour Aspose l'a mis en troisième place tandis que les options open source / commerciales déroutantes avec le besoin d'un outil pour calculer votre licence ont mis iText en dernière position.
- La compatibilité est un peu déroutante en fonction des affirmations sur les sites Web. IronPDF prétend fonctionner sur les différents clouds, et les autres outils ne font pas de telles affirmations. Une enquête plus approfondie est nécessaire pendant le processus de test pour déterminer si les trois outils peuvent être exécutés dans ces environnements.
- La prise en main a placé IronPDF en premier, car leur code a fonctionné tel quel sans modifications. iText a nécessité quelques mises à jour mineures, et Aspose n'a pas du tout fonctionné et j'ai dû complètement réécrire l'exemple.
- La structure de l'API fournie par IronPDF est claire et permet aux développeurs de travailler avec un approche de type "donnez-moi les paramètres par défaut et vous choisissez le reste" très productive. SyncFusion propose une approche similaire, mais commence à devenir verbeux. Aspose et iText sont très verboses dans leur API, et le manque de bonne documentation a poussé iText à la fin de mes classements.
- Les scores de documentation sont marqués comme IronPDF et Aspose ayant égalé pour la meilleure expérience car ils avaient les mêmes fonctionnalités, tandis que SyncFusion et iText manquaient tous les deux d'exemples ou de documentation API. SyncFusion obtient un léger avantage grâce au contenu exhaustif de leur site de documentation.
- Le test de rendu des sites Web a révélé que bien qu'iText ait été le plus rapide, il n'a pas pu reproduire l'apparence du site qui lui a été soumis. IronPDF a pu offrir une fidélité complète en CSS et JavaScript avec des champs de formulaire interactifs tandis que SyncFusion avait un rendu JavaScript, certaines capacités CSS mais aucun champ de formulaire interactif.
Questions Fréquemment Posées
Comment puis-je convertir HTML en PDF en C# ?
Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.
Quels sont les principaux avantages d'utiliser IronPDF ?
IronPDF offre une installation simple via NuGet, une API intuitive, des vitesses de rendu HTML en PDF rapides et une documentation bien organisée. Il propose également des options de licence claires et une compatibilité robuste avec les environnements .NET.
Comment la documentation d'IronPDF améliore-t-elle l'expérience des développeurs ?
IronPDF fournit une documentation bien organisée avec une API consultable et des exemples, permettant aux développeurs de trouver facilement les informations dont ils ont besoin et de mettre en œuvre des solutions efficacement.
Quels sont les défis de la bibliothèque PDF de SyncFusion ?
La bibliothèque PDF de SyncFusion nécessite une configuration initiale lourde, y compris la création de compte et des communications de suivi, que certains utilisateurs trouvent envahissants. Elle a également des performances de rendu sous-optimales par rapport à IronPDF.
Comment IronPDF gère-t-il CSS et JavaScript lors de la conversion ?
IronPDF excelle à maintenir la fidélité lors du rendu de CSS et JavaScript pendant la conversion HTML en PDF, garantissant que le résultat coïncide étroitement avec le contenu original.
Qu'est-ce qui fait d'IronPDF un choix privilégié pour les développeurs dans les environnements C# .NET ?
IronPDF est préféré pour son acquisition simplifiée, sa clarté de licence, son API intuitive, sa vitesse de conversion rapide et sa documentation complète. Il offre une expérience développeur supérieure avec des fonctionnalités avancées, le rendant fiable pour des solutions PDF dans les environnements C# .NET.
Quel est un problème courant avec la bibliothèque PDF d'Aspose selon l'article ?
La bibliothèque PDF d'Aspose est critiquée pour son modèle de licence complexe et déroutant et sa conversion HTML non fonctionnelle, ce qui peut être difficile pour les utilisateurs à naviguer et à mettre en œuvre efficacement.
Comment iText se comporte-t-il avec des pages Web complexes ?
iText est remarqué pour sa vitesse lors du rendu de contenu statique ; cependant, il a des difficultés avec des pages Web complexes, offrant un support limité pour les développeurs traitant des structures HTML complexes.



