COMPARAISON DES PRODUITS

Une comparaison entre Jsreport et IronPDF

Chaknith Bin
Chaknith Bin
décembre 12, 2023
Partager:

1. Introduction

À l'ère du numérique, les PDF (Portable Document Format) sont devenus une nécessité quotidienne, cruciale pour le stockage et le partage d'informations dans un format fiable et cohérent. Qu'il s'agisse de transformer des propriétés de données en un PDF au format soigné ou de rédiger une facture professionnelle, les développeurs se tournent souvent vers de puissantes bibliothèques clientes C# telles qu'IronPDF et JSReport Studio local plutôt que vers Phantom PDF pour le développement de serveurs.

IronPDF offre les meilleures performances pour la conversion de HTML en PDFs dans le framework .NET, tandis que JSReport SDK propose des solutions de rapports dynamiques en mettant l'accent sur la flexibilité et la personnalisation en utilisant le serveur local JSReport et le fichier de configuration. Les deux bibliothèques apportent des solutions uniques, répondant aux différents besoins des développeurs dans le domaine de la génération et de la manipulation de PDF.

2. Utilisation de JSReport Server .NET

JSReport SDK .NET est une solution de reporting avancée pour les applications .NET, particulièrement optimisée pour les environnements ASP.NET Core. Il se distingue en permettant la transformation des sorties de vues dans différents formats, tels que PDF, Excel, DOCX et CSV, directement à partir de HTML et de JavaScript. Cette capacité est facilitée par l'utilisation de moteurs ASP.NET MVC tels que Razor pour la génération de rapports à l'aide d'un serveur de rapports.

JSReport .NET fournit un ensemble complet d'extensions locales par défaut, notamment la planification, la version des modèles, les sous-rapports, la gestion des utilisateurs, l'importation/exportation de modèles et la sauvegarde, ce qui renforce sa polyvalence et son applicabilité dans divers scénarios d'entreprise. Il prend également en charge un large éventail d'API, y compris l'API REST, l'interface de programmation ou les SDK, ce qui permet de rendre les rapports à partir de pratiquement n'importe quel endroit.

2.1 Caractéristiques principales

2.1.1 Intégration de ASP.NET Core

Le SDK JSReport propose un package NuGet jsreport.AspNetCore spécialement conçu pour les applications ASP.NET Core. Il s'agit notamment de filtres intermédiaires capables de transformer les sorties des vues MVC dans les formats souhaités, en utilisant les vues comme générateurs HTML et le serveur JSReport comme transformateur de sortie.

2.1.2 Configuration flexible

La configuration implique l'utilisation de packages comme jsreport.AspNetCore, jsreport.Local et jsreport.Binary. Ces classes d'assistance facilitent la connexion soit à une instance locale de JSReport, soit à une instance distante via jsreport.Client.

2.1.3 Transformation des résultats

Les développeurs peuvent facilement spécifier des recettes JSReport pour la transformation des résultats. Par exemple, en utilisant le MiddlewareFilter et la recette ChromePdf, un filtre ASP.NET capture le résultat du rendu d'une vue et le convertit en format PDF. Cette fonction est particulièrement utile pour les applications basées sur ASP.NET.

2.1.4 Compatibilité des instances distantes

JSReport .NET s'intègre de manière transparente aux instances JSReport distantes. Ceci est particulièrement avantageux dans les environnements Docker orchestrés où JSReport s'exécute dans un conteneur séparé plutôt que dans un seul conteneur. Une telle intégration facilite l'orchestration des apps JSReport et .NET Core à l'aide d'outils tels que Docker-compose.

2.1.5 Traitement avancé des réponses

Le hook OnAfterRender permet la manipulation des en-têtes de réponse et d'autres attributs. Ce crochet peut également être utilisé pour stocker la sortie dans un fichier, ce qui offre une certaine souplesse dans la gestion de la réponse du processus de génération du rapport.

2.1.6 En-têtes personnalisés

JSReport .NET permet de spécifier des en-têtes PDF personnalisés par le biais de vues partielles. Ces en-têtes peuvent être rendus au moment de l'exécution en même temps que le contenu principal du PDF, ce qui offre des options de personnalisation supplémentaires pour la génération de rapports.

2.1.7 Rendu sans vues MVC

Le cadre prend en charge le rendu des rapports à partir de HTML brut, et pas seulement à partir de vues MVC. Cette fonctionnalité offre une plus grande flexibilité dans le processus de génération de rapports, permettant aux développeurs de rendre le contenu HTML directement.

3. IronPDF

IronPDF est une bibliothèque utile pour les applications .NET, dont l'objectif est de faciliter le travail avec les PDF. L'une des principales fonctionnalités est de convertir des HTML en PDF, ce qui est parfait si vous avez besoin de générer des rapports ou des factures à partir de pages web. De plus, elle est très rapide, que vous travailliez côté serveur ou côté client, ce qui en fait une excellente bibliothèque pour les projets professionnels et l'utilisation personnelle.

IronPDF s'intègre dans de nombreux environnements .NET tels que ASP.NET, MVC, Windows Forms et WPF. Il s'intègre sans problème à la fois à .NET Core et à Framework. Il fonctionne également avec Azure et d'autres services en nuage, ce qui est un grand avantage pour le développement d'applications basées sur le nuage.

3.1 Caractéristiques principales d'IronPDF

3.1.1 Conversion de HTML en PDF

IronPDF est parfait pour convertir des documents HTML en documents PDF. Il gère parfaitement le HTML, le CSS, le JavaScript et les images, ce qui garantit que votre contenu Web s'affiche correctement dans le PDF final. La conversion conserve la mise en page et le style de l'original HTML.

3.1.2 Intégration ASP.NET

L'intégration avec ASP.NET est transparente, ce qui vous permet de convertir des pages ASPX en PDF sans avoir à coder des tonnes de données. C'est très pratique pour créer des PDF à partir d'applications web existantes.

3.1.3 Édition et manipulation

IronPDF vous permet d'éditer des fichiers PDF existants, comme ajouter du texte, des images et des pages ou fusionner plusieurs PDFs. Les fonctions d'édition sont conviviales, il n'est donc pas nécessaire d'être un expert en PDF pour les utiliser. Vous pouvez également ajouter des annotations, des pièces jointes, des plans et des signets à votre PDF.

3.1.4 Remplissage et extraction des formulaires

IronPDF prend en charge le remplissage et l'extraction de données à partir de formulaires PDF, ce qui est essentiel pour les applications qui traitent des formulaires. IronPDF facilite grandement le processus de gestion des données des formulaires. Il peut également gérer différents types de formulaires PDF, ce qui ajoute à sa flexibilité.

3.1.5 Caractéristiques de sécurité

IronPDF est doté de fonctions de sécurité telles que la protection par mot de passe et la définition d'autorisations sur les documents PDF, qui sont essentielles pour préserver la sécurité des informations sensibles. Il dispose également de fonctionnalités de cryptage et de décryptage, ajoutant une couche supplémentaire de sécurité pour vos PDF.

3.1.6 Rendu personnalisable

Vous avez beaucoup de contrôle sur la façon dont vos PDF sont rendus, comme configurer des en-têtes et pieds de page personnalisés, ajuster les marges de page, et choisir des parties HTML spécifiques pour la conversion. Ce niveau de personnalisation permet de s'assurer que vos PDF sont conformes à vos attentes.

3.1.7 Fonctionnalités avancées du PDF

IronPDF prend en charge la conformité PDF/A et les signatures numériques. Il est également doté de fonctions d'OCR, ce qui signifie qu'il peut convertir des documents et des images numérisés en PDF dans lesquels vous pouvez effectuer des recherches et des modifications. Ces fonctionnalités sont très utiles pour les projets plus complexes.

3.1.8 Déploiement facile

La mise en place d'IronPDF est simple - aucune installation ou dépendance supplémentaire n'est nécessaire. Il est léger et n'affecte donc pas les performances de l'application. De plus, il est constamment mis à jour pour s'adapter aux dernières technologies .NET, ce qui vous permet de disposer d'une solution PDF qui ne sera jamais dépassée.

4. Création du projet .NET

4.1 Démarrer un nouveau projet

Ouvrez Visual Studio et démarrez un nouveau projet en cliquant sur le bouton "Créer un nouveau projet".

Une Comparaison entre Jsreport et IronPDF : Figure 1 - Créer un projet

Ensuite, choisissez l'" application console ", l'" application .NET Core " ou toute autre option.

Une comparaison entre Jsreport et IronPDF : Figure 2 - Projet séparé - Application Console

4.2 Mise en place du projet

Vous devez donner un nom à votre projet. Trouvez la zone de texte pour le nom du projet et tapez le nom que vous souhaitez. Choisissez également un emplacement pour votre projet en sélectionnant le chemin d'accès où vous souhaitez enregistrer votre projet. Une fois ces informations saisies, cliquez sur le bouton "Créer" pour continuer.

Une comparaison entre Jsreport et IronPDF : Figure 3 - Configuration du projet

4.3 Sélection du Framework .NET

L'étape suivante consiste à sélectionner le Framework .NET requis pour votre projet. Ce choix dépend des exigences et de la compatibilité de votre projet. Cliquez ensuite sur le bouton Créer.

Une comparaison entre Jsreport et IronPDF : Figure 4 - Sélectionner le framework

5. Installer la bibliothèque IronPDF

5.1 Utilisation du gestionnaire de paquets NuGet

Pour installer IronPDF à l'aide du gestionnaire de paquets NuGet de Visual Studio, procédez comme suit :

  • Ouvrez votre projet dans Visual Studio.
  • Cliquez sur le menu "Outils", choisissez "NuGet Package Manager", puis sélectionnez "Gérer les paquets NuGet pour la solution"

    Une comparaison entre Jsreport et IronPDF : Figure 5 - Gestionnaire de packages NuGet

  • Dans le gestionnaire de paquets NuGet, cliquez sur l'onglet "Parcourir".
  • Recherchez "IronPDF"
  • Une fois que vous avez trouvé le paquet IronPDF, sélectionnez-le et cliquez sur "Installer"

    Une comparaison entre Jsreport et IronPDF : Figure 6 - Installer IronPDF

  • Suivez les instructions pour terminer l'installation.

5.2 Utilisation de la ligne de commande de Visual Studio

Si vous préférez utiliser la ligne de commande, vous pouvez installer IronPDF dans Visual Studio comme suit :

  • Ouvrez Visual Studio.
  • Allez dans le menu "Outils", survolez "NuGet Package Manager", puis sélectionnez "Package Manager Console" dans le menu latéral.
  • Dans la console, tapez la commande suivante :
    Install-Package IronPdf
  • Appuyez sur Entrée pour exécuter la commande et attendez la fin de l'installation.

    Une comparaison entre Jsreport et IronPDF : Figure 7 - Installation d'IronPDF

5.3 Téléchargement direct à partir de la page Web de NuGet

IronPDF peut également être téléchargé directement depuis le site web de NuGet :

  • Visitez le site officiel de NuGet.
  • Utilisez la barre de recherche pour trouver le paquet IronPDF.

    Une comparaison entre Jsreport et IronPDF : Figure 8 - IronPDF Package

  • Sur la page du package IronPDF, vous trouverez des options pour télécharger le package directement.
  • Téléchargez le fichier .nupkg et ajoutez-le à votre projet manuellement.

    Une comparaison entre Jsreport et IronPDF : Figure 9 - Télécharger .nupkg

6. Installer JSReport

6.1 Utilisation de NuGet Package Manager dans Visual Studio

Pour exécuter JSReport à l'aide du gestionnaire de paquets NuGet de Visual Studio, allez dans le menu "Outils" et choisissez "Gérer les paquets NuGet". L'interface du gestionnaire de paquets NuGet s'ouvre alors. Dans le Gestionnaire de packages NuGet, vous pouvez rechercher jsreport.Local ou jsreport.Binary, en fonction des besoins de votre projet.

Une comparaison entre Jsreport et IronPDF : Figure 10 - jsreport.Binary

Il s'agit des principaux packages permettant d'intégrer JSReport dans une application .NET. Après avoir trouvé le paquet approprié, cliquez sur "Installer" pour l'ajouter à votre projet. Ce processus téléchargera automatiquement le paquet et le référencera dans votre projet, le rendant ainsi prêt à l'emploi.

6.2 Utilisation de la console NuGet Package Manager

Vous pouvez également installer JSReport à l'aide de la console NuGet Package Manager de Visual Studio. Pour ce faire, ouvrez la console du gestionnaire de paquets NuGet dans le menu Outils en sélectionnant "NuGet Package Manager" puis "Console du gestionnaire de paquets".

Une comparaison entre Jsreport et IronPDF : Figure 11 - Console du gestionnaire de paquets

Dans la console, vous devez exécuter une commande spécifique pour installer le paquet JSReport. Si vous souhaitez installer le package jsreport.Local, vous utiliseriez la commande Install-Package jsreport.Local. Pour les packages jsreport.Binary, la commande serait Install-Package jsreport.Binary. L'exécution de ces commandes dans la console du gestionnaire de paquets téléchargera et ajoutera le paquet JSReport correspondant à votre projet.

Comparaison entre Jsreport et IronPDF : Figure 12 - Installer jsreport.Local

7. Comparaison de la fonctionnalité HTML vers PDF dans IronPDF et JSReport

7.1 Conversion de HTML en PDF par IronPDF

IronPDF est la meilleure bibliothèque pour la conversion de HTML en PDF. Il se distingue par sa facilité d'utilisation et ses performances élevées, ce qui en fait un choix de premier ordre pour les développeurs. Il prend en charge des fonctions avancées telles que le rendu CSS, l'exécution JavaScript et les en-têtes et pieds de page personnalisés, ce qui améliore encore sa capacité à produire des PDF de haute qualité à partir de sources HTML. IronPDF propose 3 façons de convertir HTML en PDF :

  1. Chaîne HTML vers PDF

  2. Fichier HTML vers PDF

  3. URL vers PDF

    Examinons ces caractéristiques une par une.

7.1.1 HTML String To PDF

Cette fonction vous permet de convertir le contenu HTML directement à partir d'une chaîne de caractères. Ceci est particulièrement utile lorsque le contenu HTML est généré ou modifié de manière dynamique dans votre application. Vous pouvez transmettre la chaîne HTML à IronPDF, qui la transformera en PDF.

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
string htmlString = @"
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>";
// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
string htmlString = @"
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>";
// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
Dim htmlString As String = "
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>"
' Convert HTML string to PDF
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlString)
pdfDocument.SaveAs("HtmlStringToPdf.pdf")
$vbLabelText   $csharpLabel

Voici le fichier PDF de sortie :

Une comparaison entre Jsreport et IronPDF : Figure 13 - Résultat

7.1.2 Fichier HTML vers PDF

Cette méthode permet de convertir un fichier HTML existant en PDF. Cette fonction est utile lorsque des fichiers HTML statiques doivent être présentés ou distribués sous forme de PDF. Vous devez indiquer le chemin d'accès au fichier HTML, et IronPDF se charge de la conversion.

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");
pdfDocument.SaveAs("Invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");
pdfDocument.SaveAs("Invoice.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html")
pdfDocument.SaveAs("Invoice.pdf")
$vbLabelText   $csharpLabel

Voici le fichier PDF de sortie d'une facture HTML :

1

7.1.2 URL vers PDF

Cette fonction permet de convertir une page web entière en PDF en utilisant son URL. Il est très pratique pour capturer l'état actuel d'une page web, y compris le style, les images et les autres ressources. IronPDF chargera la page web à partir de l'URL donnée et la convertira en document PDF, en reproduisant la mise en page et le contenu aussi fidèlement que possible.

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
//https url
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");
pdfDocument.SaveAs("UrlToPdf.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
//https url
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");
pdfDocument.SaveAs("UrlToPdf.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2
'https url
Dim pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/")
pdfDocument.SaveAs("UrlToPdf.pdf")
$vbLabelText   $csharpLabel

Voici le PDF généré du site web Microsoft .NET en utilisant la logique ci-dessus.

Une comparaison entre Jsreport et IronPDF : Figure 14 - PDF du site Web HTTP Microsoft

7.2 Conversion de JSReport C# HTML en PDF

Le processus de conversion de HTML en PDF dans JSReport comporte plusieurs étapes, dont la configuration d'un serveur JSReport ou l'utilisation de son API en ligne. Une mise en œuvre typique en C# pourrait ressembler à ceci

using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;
public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();
    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });
    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;
public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();
    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });
    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
Imports JsReport.AspNetCore
Imports JsReport.Types
Imports System.Threading.Tasks
Public Async Function GeneratePdf() As Task(Of IActionResult)
	Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).AsUtility().Create()
	Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
		.Template = New Template() With {
			.Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
			.Engine = Engine.None,
			.Recipe = Recipe.ChromePdf
		},
		.Options = New RenderOptions() With {
			.Debug = New DebugOptions() With {.Preview = True}
		}
	})
	Dim stream = New MemoryStream()
	reportResult.Content.CopyTo(stream)
	stream.Position = 0
	Return File(stream, "application/pdf", "Report.pdf")
End Function
$vbLabelText   $csharpLabel

Vous pouvez également trouver des exemples de JSReport .NET à partir du lien suivant. Voici un exemple de rapport PDF sur les factures.

Une comparaison entre Jsreport et IronPDF : Figure 15 - Sortie PDF de la facture

8. Flexibilité et fonctionnalités avancées

8.1 Fonctions avancées et personnalisation d'IronPDF

IronPDF se distingue par ses fonctionnalités avancées et son haut degré de personnalisation, répondant aux différents besoins de manipulation des PDF. Les principales caractéristiques avancées sont les suivantes :

Conformité PDF/A : Il prend en charge le format PDF/A, essentiel pour l'archivage à long terme et la conformité aux normes industrielles. Cette conformité est particulièrement cruciale pour les secteurs juridique, financier et gouvernemental, où l'intégrité des documents dans le temps est primordiale.

using IronPdf;
// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
using IronPdf;
// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
Imports IronPdf
' Create a PdfDocument object or open any PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

Édition, Fusion et Division des PDF : IronPDF permet l'édition de PDF existants, la fusion de plusieurs PDF en un seul, et la division de PDF en documents séparés. Cette fonction est particulièrement utile lorsque des documents volumineux doivent être scindés pour faciliter leur distribution ou lorsque différentes sections de divers documents doivent être combinées.

Fonctionnalités de Sécurité : Il inclut des fonctionnalités de sécurité robustes telles que la protection par mot de passe, le chiffrement, et la possibilité de définir des autorisations utilisateur. IronPDF prend en charge le cryptage des fichiers PDF, ce qui ajoute une couche supplémentaire de sécurité et protège le contenu contre la modification ou la copie.

using IronPdf;
// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");
// The following code makes a PDF read only and will disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;
// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf
pdfDoc.SaveAs("InvoiceProtected.pdf");
using IronPdf;
// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");
// The following code makes a PDF read only and will disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;
// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf
pdfDoc.SaveAs("InvoiceProtected.pdf");
Imports IronPdf
' Open a PDF File
Private pdfDoc = PdfDocument.FromFile("invoice.pdf")
' The following code makes a PDF read only and will disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption()
pdfDoc.SecuritySettings.AllowUserAnnotations = False
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = False
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdfDoc.SecuritySettings.AllowUserFormData = False
' Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen" ' password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare" ' password to open the pdf
pdfDoc.SaveAs("InvoiceProtected.pdf")
$vbLabelText   $csharpLabel

Contrôle des en-têtes et des pieds de page : Les développeurs peuvent facilement ajouter des en-têtes et des pieds de page personnalisés à leurs documents PDF, une fonctionnalité essentielle pour des rapports, des factures et d'autres documents professionnels de qualité. Il est notamment possible d'ajouter des numéros de page, des dates et du texte personnalisé.

Conversion de PDF en image : IronPDF permet de convertir des pages PDF en images. Cette fonction est particulièrement utile lorsque vous devez afficher du contenu PDF sous forme d'images dans des applications web ou pour générer des vignettes.

using IronPdf;
using IronSoftware.Drawing;
var pdf = PdfDocument.FromFile("Example.pdf");
// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);
// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;
var pdf = PdfDocument.FromFile("Example.pdf");
// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);
// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing
Private pdf = PdfDocument.FromFile("Example.pdf")
' Extract all pages to a folder as image files
pdf.RasterizeToImageFiles("C:\image\folder\*.png")
' Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles("C:\image\folder\example_pdf_image_*.jpg", 100, 80)
' Extract all pages as AnyBitmap objects
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
$vbLabelText   $csharpLabel

8.2 Fonctionnalités avancées et extensibilité de JSReport .NET

JSReport .NET est réputé pour ses fonctionnalités avancées et son extensibilité, ce qui en fait un outil polyvalent pour la génération de rapports. Ses principales caractéristiques sont les suivantes

Génération de Rapports Dynamiques : Il prend en charge divers moteurs de templating, y compris Handlebars et EJS, facilitant ainsi des conceptions de rapports complexes et flexibles. Cette compatibilité multi-moteur permet un large éventail de possibilités de conception, répondant à différentes exigences et complexités dans la création de rapports.

var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();
var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();
var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport")).KillRunningJsReportProcesses().Configure(Function(cfg) cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory()).AsUtility().Create()
Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
	.Template = New Template() With {
		.Content = "{{{message}}}",
		.Engine = Engine.Handlebars,
		.Recipe = Recipe.ChromePdf
	},
	.Data = New With {Key .message = "PDF Generation with JSReport .NET"}
})
$vbLabelText   $csharpLabel

Moteurs de modèles : JSReport .NET propose des fonctionnalités de planification et d'automatisation pour la génération de rapports, idéal pour les besoins réguliers de rapports comme les résumés quotidiens ou mensuels. Cette fonctionnalité garantit la livraison des rapports en temps voulu et peut être intégrée aux flux de travail de l'entreprise pour l'établissement de rapports déclenchés par des événements.

Extensibilité avec des scripts personnalisés : JSReport C# permet d'étendre ses capacités grâce à des scripts personnalisés, améliorant des fonctionnalités telles que le traitement de données personnalisé ou le formatage spécialisé. Cette extensibilité est essentielle pour créer des rapports répondant à des exigences spécifiques en matière de logique commerciale et de manipulation des données.

9. Soutien

9.1 Qualité et disponibilité de la documentation IronPDF

La documentation d'IronPDF est complète et conviviale, et s'adresse aussi bien aux débutants qu'aux développeurs expérimentés. Il comprend des guides détaillés, des références d'API et une multitude d'exemples de code, ce qui facilite la compréhension et la mise en œuvre des fonctionnalités de la bibliothèque par les développeurs dans plusieurs langages tels que C#, et Node.

La documentation est bien structurée et régulièrement mise à jour, reflétant les dernières fonctionnalités et les meilleures pratiques. En outre, le site web d'IronPDF propose des guides de démarrage rapide et des FAQ, qui sont particulièrement utiles pour les novices en matière de manipulation de fichiers PDF dans un environnement .NET.

IronPDF dispose également d'un terrain de jeu en ligne où vous pouvez essayer les fonctionnalités d'IronPDF en ligne sans télécharger son code. Explorez-le en utilisant le lien suivant.

9.1.1 Options de soutien

IronPDF propose plusieurs options d'assistance, notamment une équipe d'assistance dédiée au traitement des questions et des problèmes techniques. Ils fournissent une assistance par courrier électronique et sont activement présents sur les forums de développeurs, où ils proposent des solutions et des conseils. Vous pouvez également contacter l'agent d'assistance en direct en utilisant l'option d'assistance en direct sur le site web.

9.2 Qualité et disponibilité de la documentation JSReport .NET

JSReport .NET est fier de sa documentation complète et bien entretenue. La documentation couvre un large éventail de sujets, de la configuration de base aux scénarios d'utilisation avancés, avec des extraits de code et des exemples de mise en œuvre. Il est organisé de manière logique, ce qui facilite la navigation et la recherche d'informations pertinentes. Les ressources en ligne comprennent également une référence API complète, garantissant aux développeurs l'accès à des informations détaillées sur les capacités de l'outil.

9.2.1 Options de soutien

En termes d'assistance, JSReport .NET offre une variété d'options. Ils disposent d'une équipe d'assistance dédiée, joignable par courriel, et maintiennent une présence active sur GitHub, offrant une plateforme pour le signalement des problèmes et des demandes de fonctionnalités.

10. Modèles de licences

10.1 Licence d'IronPDF

Une comparaison entre Jsreport et IronPDF : Figure 16 - Licences

IronPDF propose trois options de tarification distinctes, répondant à différentes échelles d'utilisation et exigences budgétaires :

Édition Lite : Au prix de $749, c'est un frais unique pour le déploiement cloud. Il est conçu pour les petits projets ou les équipes qui débutent dans le traitement des PDF.

Édition Professionnelle : Au prix de 1 499 $, également un paiement unique pour une utilisation en cloud, cette édition convient aux développeurs professionnels qui nécessitent des fonctionnalités et capacités avancées.

Edition Illimitée : Le package le plus complet, au prix de 2 999 $, est un frais unique pour le déploiement en cloud. Il est idéal pour les entreprises à grande échelle, car il offre des fonctionnalités étendues et aucune limite d'utilisation.

10.2 Licence JSReport .NET

Une comparaison entre Jsreport et IronPDF : Figure 17 - Licences JSReport

JSReport .NET offre des options de licence flexibles, incluant des licences par abonnement et perpétuelles :

Licence gratuite : Cela offre une instance complète, limitée à 5 modèles de rapport maximum. Il ne nécessite pas de clé de licence et convient aux petits projets ou à des fins d'évaluation.

Abonnement Entreprise : Au prix de 395 $ par an, ce plan offre une instance JSReport entièrement fonctionnelle sans limitations et inclut les mises à jour. Il est idéal pour les entreprises individuelles qui ont besoin d'une solution de reporting robuste.

Abonnement à l'échelle de l'entreprise : Au tarif de 1 295 $ par an, ce plan est idéal pour les déploiements à grande échelle, offrant une clé de licence unique valable pour un nombre infini d'instances. Ce plan inclut les mises à jour et est libre de droits, ce qui le rend adapté aux organisations qui exploitent plusieurs instances ou qui déploient un produit dans le cadre d'un autre produit pour plusieurs clients.

11. Conclusion

En conclusion, bien qu'IronPDF et JSReport .NET soient tous deux utiles dans leurs domaines respectifs, IronPDF détient un léger avantage en raison de ses capacités complètes de manipulation des PDF. Il excelle dans des domaines tels que la conformité PDF/A, l'édition avancée et les fonctions de sécurité, ce qui en fait un outil plus polyvalent pour la gestion détaillée des PDF dans les environnements .NET. JSReport .NET, grâce à ses atouts en matière de génération de rapports dynamiques et de modèles, est très efficace pour les tâches centrées sur les rapports. Cependant, pour la plupart des scénarios nécessitant un traitement et une manipulation détaillés et variés des PDF, IronPDF s'impose comme le choix le plus avantageux.

IronPDF offre une licence développeur gratuite et une version d'essai gratuite. Iron Software propose un package complet connu sous le nom de Iron Suite. Cette suite, qui comprend IronBarcode, IronXL, IronQR, IronOCR, IronPDF, et IronWebScraper, est offerte au prix de 2 logiciels, ajoutant une valeur significative pour les développeurs recherchant une large gamme de fonctionnalités.

Enfin, le choix entre les deux dépend des besoins spécifiques et de l'environnement du projet ou du développeur.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Comparaison entre IronPDF et DinktoPdf
SUIVANT >
Comparaison entre ITextSharp et IronPDF pour la création de PDF en C#