Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
PDFreactor et IronPDF offrent aux ingénieurs les outils nécessaires pour générer, manipuler, éditer, formater, et imprimer des documents PDF à partir de différentes données. En travaillant dans .NET et .NET Core, nous devons choisir les outils qui conviennent le mieux à nos projets et à nos exigences, et l'utilisation d'échantillons de code et de tutoriels de cheminement est toujours utile.
Tout développeur .NET vous dira que les projets font l'objet de nombreuses recherches avant d'être lancés. Un vieil adage dit qu'il faut utiliser le bon outil pour le bon travail. Les bibliothèques PDF ne font pas exception à cette règle. En tant que développeur, vous devez être correctement informé des bibliothèques et des outils disponibles. Il est vrai que tous les outils ou bibliothèques ne sont pas créés égaux - certains ont des forces différentes, certains ont plus de faiblesses que d'autres, mais en fin de compte, c'est votre prérogative d'utiliser l'outil qui vous convient le mieux, à vous et à votre entreprise, et plus important encore, à votre projet.
Cet article va comparer deux des bibliothèques PDF les plus populaires pour les développeurs .NET et .NET Core. Ces deux bibliothèques sont :
PDFreactor
Dans tout article de comparaison, il est bon d'essayer de comparer le bon, le mauvais et le laid dans la mesure du possible. Malheureusement, dans le paysage technologique actuel, certaines bibliothèques ne sont pas à la hauteur, alors que d'autres excellent et prospèrent. La technologie évolue à un rythme si rapide qu'il est difficile de rester à jour. Cela s'applique non seulement aux créateurs de bibliothèques tierces, mais aussi aux développeurs. Manger ou être mangé, et s'adapter très rapidement.
Examinons les deux offres.
IronPDF est une bibliothèque de génération de PDF de qualité commerciale pour la plate-forme .NET, écrite en C#. Le concept clé est d'éviter les API de génération de PDF qui prennent beaucoup de temps en rendant les PDF à partir de HTML, CSS, images et JavaScript. Il fonctionne aussi bien dans les applications de formulaires, les applications et services de serveur, les applications Web, les intranets sécurisés, les applications de console, les applications WPF et les sites Web de type MVC. IronPDF est compatible avec tout projet Framework .NET à partir de la version 4, et .NET Core à partir de la version 2.
Voici quelques-unes des grandes caractéristiques d'IronPDF :
Fusionner, diviser et manipuler des PDF
Les améliorations prévues en 2020 sont les suivantes
Prise en charge de CentOS 8 et Ubuntu 20
Les licences commencent à partir de $749.
C# est l'un des langages de programmation les plus utilisés dans tous les secteurs d'activité. Si vous êtes à la recherche d'un convertisseur PDF de haute qualité qui fonctionne de manière transparente avec C# et .NET, alors avec PDFreactor vous avez accès à un outil puissant pour rendre des pages HTML en PDF via C#. PDFreactor est le moteur de conversion simple, rapide et moderne pour les utilisateurs de C# qui ont besoin de créer des PDF à partir de HTML de manière efficace.
Caractéristiques de PDFreactor :
Prise en charge de tous les éléments HTML5.
Utilise des CSS3 de pointe tels que calc, media queries, box-shadow, text-shadow, filter. Transformer, faire pivoter, mettre à l'échelle, des éléments pour convertir HTML + CSS en PDF.
Transfère les mises en page JavaScript au format PDF.
PDFreactor prend en charge la création de documents PDF balisés conformément aux directives d'accessibilité.
PDFreactor web apps offre des fonctions d'impression professionnelles telles que PDF/X, PDF/X-4p, des grilles de base et des couleurs d'accompagnement. PDF/A PDFreactor permet de créer facilement des documents PDF/A (1a, 1b, 2a, 2b, 2u, 3a, 3b et 3u) et des fichiers conformes à la norme PDF/UA pour l'archivage à long terme des documents électroniques.
Les nouvelles améliorations sont les suivantes
Les licences commencent à partir de 2.950,00 $.
Les étapes suivantes permettent de générer un site Web ASP.NET :
Choisissez Formulaires Web dans l'écran suivant, comme indiqué ci-dessous :
Cliquez sur OK.
Ensuite, installons IronPDF.
Il y a deux façons d'installer IronPDF :
Télécharger la bibliothèque
Regardons de plus près.
Il y a trois façons d'installer IronPDF via NuGet ; il s'agit de
Télécharger directement le paquet NuGet
Examinons-les un par un.
Vous pouvez accéder au gestionnaire de paquets NuGet via le menu Projet ou en cliquant avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.
Une fois sélectionné, recherchez le paquet IronPDF et installez-le comme indiqué ci-dessous :
Suivez les étapes suivantes pour installer le paquetage NuGet IronPDF via l'invite de commande Developer :
:ProductInstall
Suivez les étapes suivantes pour télécharger le paquetage via NuGet :
La deuxième façon d'installer IronPDF est de le télécharger directement à partir du site web Téléchargement de la DLL IronPDF.
Faites référence à la bibliothèque dans votre projet en suivant les étapes suivantes :
Suivez les mêmes étapes que celles mentionnées ci-dessus et installez PDFreactor. Il est généralement utilisé pour la conversion côté serveur de HTML en PDF, qu'il s'agisse de documents dynamiques axés sur les données ou de documents de type "PDF" (rapports, factures, formulaires, fiches de données) pour la distribution électronique de PDF complexes et de haute qualité (catalogues, matériel de marketing, documentation technique, revues) pour l'édition imprimée et électronique.
Le code suivant crée des documents PDF et imprime une chaîne HTML à l'intérieur.
Le code suivant utilise IronPDF pour créer des fichiers PDF directement à partir d'une chaîne HTML.
private void HTMLString()
{
// Render any HTML fragment or document to HTML
var Renderer = new IronPdf.ChromePdfRenderer();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
var OutputPath = "ChromePdfRenderer.pdf";
PDF.SaveAs(OutputPath);
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
private void HTMLString()
{
// Render any HTML fragment or document to HTML
var Renderer = new IronPdf.ChromePdfRenderer();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
var OutputPath = "ChromePdfRenderer.pdf";
PDF.SaveAs(OutputPath);
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
Private Sub HTMLString()
' Render any HTML fragment or document to HTML
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
Renderer.RenderingOptions.TextFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
Dim OutputPath = "ChromePdfRenderer.pdf"
PDF.SaveAs(OutputPath)
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
End Sub
Le code suivant utilise PDFreactor pour créer des fichiers PDF directement à partir d'une chaîne HTML.
<script>
window.onload = async function() {
// Create new PDFreactor instance
var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
// Create a new PDFreactor configuration object
var config = {
// Specify the input document
document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html",
}
// Render document and save result
try {
var result = await pdfReactor.convert(config);
document.getElementById("result").src = "data:application/pdf;base64," + result.document;
} catch (error) {
if (error instanceof PDFreactor.PDFreactorWebserviceError) {
document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + error.message + "</h2>";
}
}
}
</script>
<script>
window.onload = async function() {
// Create new PDFreactor instance
var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
// Create a new PDFreactor configuration object
var config = {
// Specify the input document
document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html",
}
// Render document and save result
try {
var result = await pdfReactor.convert(config);
document.getElementById("result").src = "data:application/pdf;base64," + result.document;
} catch (error) {
if (error instanceof PDFreactor.PDFreactorWebserviceError) {
document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + error.message + "</h2>";
}
}
}
</script>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'(Of script) window.onload = async @function()
'{
' ' Create new PDFreactor instance
' var pdfReactor = New PDFreactor("https://cloud.pdfreactor.com/service/rest");
' ' Create a new PDFreactor configuration object
' var config = { document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html"} try
' {
' var result = await pdfReactor.convert(config);
' document.getElementById("result").src = "data:application/pdf;base64," + result.document;
' }
' catch (@error)
' {
' if (@error instanceof PDFreactor.PDFreactorWebserviceError)
' {
' document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + @error.message + "</h2>";
' }
' }
' }
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' </script>
Le code suivant crée des fichiers PDF à partir d'une page ASPX.
Le code suivant utilise IronPDF pour créer un PDF à partir d'un fichier ASPX.
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
Il semble que PDFreactor ne prenne pas en charge la création de PDF à partir de pages web ASPX.
Chargement des URL à l'aide de custom :
Identifiants de connexion au réseau
UserAgent
Proxies
En-têtes HTTP
Feuilles de style en cascade (CSS) décrit l'aspect et le formatage des fichiers HTML. Il utilise des sélecteurs et des propriétés pour définir la mise en forme de l'ensemble d'une page web ou d'un site web en un seul endroit. CSS3 est la norme la plus récente. CSS3 comprend :
Modules comprenant
Sélecteurs
Modèle de boîte
Effets de texte
transformations en 2D
transformations 3D
Arrière-plans
Avec IronPDF, vous avez le choix de l'endroit où vous souhaitez que les styles CSS soient rendus : Écran ou Impression. En ce qui concerne l'écran, vous devez être informé de la réactivité. Pour faire la distinction entre l'écran et l'imprimante, vous pouvez utiliser la ligne de code suivante :
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
//or
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
//or
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
La conception web responsive permet d'obtenir des pages web et des sites web qui s'affichent bien sur tous les appareils. Les sites web réactifs s'adaptent automatiquement aux différentes tailles d'écran et aux fenêtres de visualisation. Lorsque vous travaillez avec le responsive design et des frameworks tels que Bootstrap, IronPDF peut définir les propriétés ViewPortWidth et ViewPortHeight pour contrôler de manière programmatique le viewport, et contrôler quelle version du site responsive doit être rendue sous forme de PDF.
Le code suivant vous permet de définir par programme la taille de votre fenêtre de réponse avec IronPDF.
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
//Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
//Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280;
// Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
//Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
//Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280;
// Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
'Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
'Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280
' Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html")
Une autre fonction intéressante est la possibilité de créer des modèles HTML à partir desquels on peut travailler et construire des documents PDF similaires. Voici un petit exemple :
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance);
Pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance);
Pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)
Dim Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance)
Pdf.SaveAs(name & ".pdf")
Next name
Comme indiqué dans le Accord de licence du logiciel PDFreactorune licence PDFreactor ne peut être utilisée que sur une seule machine physique ou virtuelle ou sur un conteneur logiciel isolé. Ainsi, pour chaque machine de production, vous avez besoin d'une licence. Si vous comptez utiliser PDFreactor à des fins non commerciales, vous pouvez demander une licence personnelle gratuite ici.
IronPDF est un logiciel commercial ouvert Bibliothèque PDF C#. Il est gratuit pour le développement, et des essais de déploiement de 30 jours sont disponibles en envoyant un courriel à l'équipe d'ingénieurs à l'adresse developers@ironpdf.com. Des options de licence abordables peuvent être trouvées en explorant la rubrique Licences IronPDF.
IronPDF est une bibliothèque .NET prise en charge et axée sur la productivité qui peut :
Signer numériquement une conversion PDF
PDFreactor est un logiciel gratuit de Convertisseur HTML vers PDF pour un usage privé, non commercial et non professionnel.
IronPDF s'occupe du problème difficile de l'ajout de la génération de PDF à votre application, et automatise la transformation de documents formatés en PDF. Tous les produits sont gratuits pour le développement et les essais au sein de l'IDE, sans restriction de temps. et peut être installé via NuGet. Il convertit des formulaires web, des pages HTML locales et d'autres pages web en PDF avec .NET, et permet aux utilisateurs de télécharger des documents, de les envoyer par courrier électronique ou de les stocker dans le nuage
PDFreactor est un puissant processeur de formatage qui permet la conversion PDF côté serveur à partir de documents HTML 5 en utilisant CSS pour définir la mise en page et les styles. Vous pouvez générer dynamiquement et à la volée des documents PDF tels que des rapports, des factures, des relevés et autres. En mettant en œuvre la spécification W3C pour les médias paginés et l'impression, PDFreactor offre un grand contrôle sur la sortie paginée via CSS. Pour utiliser PDFreactor dans un environnement de production, une licence appropriée est nécessaire.
9 produits de l'API .NET pour vos documents de bureau