using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
À 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".
Ensuite, choisissez l'" application console ", l'" application .NET Core " ou toute autre option.
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.
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.
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"
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"
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.
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.
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.
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.
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".
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.
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 :
Chaîne HTML vers PDF
Fichier HTML vers PDF
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 :
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.
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.
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.
É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.
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 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#
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier