Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Vous recherchez les outils PDF parfaits pour le Framework .NET ?
Dans cet article, nous allons voir comment travailler avec des fichiers PDF en C#(l'un des langages de programmation les plus populaires). Nous examinerons deux outils PDF de pointe pour C# sur le Framework .NET, en utilisant des échantillons de code pour les comparer sur la base de leurs performances et de leurs fonctionnalités. Enfin, nous examinerons les détails de leurs licences et apprendrons comment obtenir des clés de licence.
Les deux bibliothèques PDF sont les suivantes
IronPDF est une bibliothèque C# .NET développée par Iron Software pour résoudre tous les problèmes liés aux PDF pour les développeurs C# .NET à l'aide d'une seule bibliothèque. IronPDF est alimenté par un moteur chrome et dispose d'une variété de fonctionnalités utiles et puissantes telles que la conversion de fichiers HTML5, JavaScript, CSS et d'images en PDF, la création d'en-têtes et de pieds de page personnalisés, et l'affichage des PDF précisément comme ils apparaissent dans un navigateur. IronPDF vous permet de lire les données des fichiers PDF et de les insérer automatiquement dans vos applications .NET et vos systèmes de stockage de données. Vous pouvez importer, déplacer et indexer le contenu d'anciens documents PDF dans vos applications de gestion de documents et d'entreprise.
Cette fonctionnalité vous permet de générer des fichiers PDF à partir de différents formats tels que HTML, vues MVC, formulaires Web, chaînes HTML et URL.
Dans de nombreuses circonstances, vous pouvez facilement extraire du texte incorporé dans des PDF. Toutefois, en cas d'échec, votre texte est probablement incorporé dans une image. Pour numériser des documents à la recherche d'un texte visuel plutôt que d'un texte en clair, utilisez l'optionIronOCR bibliothèque.
Des en-têtes et des pieds de page peuvent être ajoutés lors de la création d'un PDF ou à des PDF existants. La propriété Options d'impression permet de créer un en-tête et un pied de page pour chaque page du document. Ces paramètres sont disponibles sur l'objet ChromePdfRenderer. Cet exemple s'exécute au sein d'une application console .NET Core.
Il permet aux utilisateurs de générer des photos à partir de PDF ainsi que des PDF à partir de photographies. Il prend en charge l'extraction d'images, diverses extensions d'images et l'impression de PDF.
IronPDF comprend également le cryptage des PDF sur 128 bits, le verrouillage des PDF protégés par mot de passe et la signature numérique des PDF.
L'outil IronPDF vous permet d'ajouter des filigranes, d'ajouter des pages, de supprimer des pages, des arrière-plans, des avant-plans et bien plus encore à vos PDF.
IronPDF prend en charge la quasi-totalité des systèmes d'exploitation et des cadres compatibles avec C#, tels que :
PDFNet .NET SDK de PDFTron permet de traiter, d'annoter, d'éditer et de créer des PDF avec précision dans n'importe quel cadre ou application sur le web, les mobiles, les ordinateurs de bureau ou les serveurs. Il gère l'ensemble du processus de gestion des documents et des informations avec votre infrastructure et élimine la nécessité de recourir à des serveurs tiers. La plateforme web de PDFTron est livrée avec une version JS avec la plateforme supportée et une clé de licence démo pour tous les SDK PDF.
L'un des principaux avantages de PDFNet est qu'il est véritablement multiplateforme, ce qui permet à nos utilisateurs d'ajouter simplement la compatibilité PDF et des fonctionnalités professionnelles pertinentes à leurs flux de travail et à leurs applications dans de nombreux contextes mobiles et de bureau distincts, tout en utilisant pratiquement la même interface.
Le SDK PDFNet est compatible avec de nombreuses plates-formes et frameworks. Pour assurer la cohérence de la plate-forme, l'API JavaScript est utilisée de la même manière que l'API PDFNet. Les versions Node.js et Electron du SDK sont également disponibles. Ce paquet nécessite des binaires d'extension non gérés.
Il offre aux utilisateurs des plateformes en ligne, mobiles et de bureau des capacités de lecture et d'édition des PDF sûres, évolutives et de haute fidélité.
Créer des procédures de signature personnalisées. Les documents signés numériquement peuvent être certifiés, validés et scellés.
Supprimez les données sensibles des documents, telles que les informations personnelles ou les informations de santé personnelles, tout en laissant le document consultable.
Des pages peuvent être ajoutées, supprimées ou réorganisées. Les documents peuvent être assemblés, fusionnés ou divisés en plusieurs parties. Visualiser plusieurs documents simultanément dans le même lecteur ou l'un à côté de l'autre.
Dans cet article, nous allons utiliser une application console pour générer des documents PDF.
Ouvrez le logiciel Visual Studio et allez dans le menu Fichier. Sélectionnez "nouveau projet", puis sélectionnez l'application console.
Saisissez le nom du projet et sélectionnez le chemin d'accès dans la zone de texte appropriée. Cliquez ensuite sur le bouton Créer. Sélectionnez le Framework .NET requis, comme dans la capture d'écran ci-dessous :
Le projet Visual Studio va maintenant générer la structure de l'application console. Une fois terminé, il ouvrira le fichier program.cs
, dans lequel vous pouvez écrire et exécuter le code source.
Nous pouvons maintenant ajouter la bibliothèque et tester le programme.
La bibliothèque IronPDF peut être téléchargée et installée de quatre manières différentes. Il s'agit de
Le logiciel Visual Studio propose l'option NuGet Package Manager pour installer le paquet directement dans la solution. La capture d'écran ci-dessous montre comment ouvrir le gestionnaire de paquets NuGet.
Lorsque l'interface graphique du gestionnaire de paquets est ouverte, cliquez sur l'onglet Parcourir et recherchez "IronPDF :"
Dans l'image ci-dessus, nous pouvons voir la liste des paquets liés à la recherche. Sélectionnez l'option IronPDF et installez le paquet dans notre solution.
Dans le menu Visual Studio, allez dans Outils > NuGet Package manager > Package manager console
Install-Package IronPdf
Le paquetage IronPDF sera maintenant installé dans le projet.
La troisième méthode consiste à télécharger le paquet NuGet directement à partir du site web de laPaquet IronPDF de NuGet Gallery.
Téléchargez la dernière version directement à partir du sitePage de téléchargement d'IronPDF. Après le téléchargement, suivez les étapes ci-dessous pour ajouter le paquet au projet.
Le SDK PDFNet peut être téléchargé et installé de quatre manières différentes.
Comme expliqué ci-dessus, allez dans Outils dans Visual Studio et ouvrez le gestionnaire de paquets NuGet. Une liste s'affiche - cliquez sur gérer le package NuGet pour obtenir des solutions.
Une fenêtre apparaît avec une barre de recherche. Recherchez PDFNet et installez-le dans le projet.
Install-Package PDFNet ---Version 9.2.0
La troisième méthode consiste à télécharger le paquet NuGet directement à partir du site web de laPaquet NuGet Gallery PDFNet.
Vous pouvez également installer l'API PDFNet à l'aide du fichier PDFNetLoader.dll. Téléchargez-le à partir deCommuniqués GitHub pour PDFNetLoader.dll.
Téléchargez le paquet, placez-le dans le fichier bin du projet et exécutez-le. Dans votre projet Visual Studio, ajoutez PDFNetLoader.dll comme référence.
L'impression d'un fichier PDF est une fonction indispensable pour les applications modernes qui utilisent des PDF. Nous verrons ici comment imprimer des fichiers PDF à l'aide de ces deux outils.
IronPDF imprime un PDF en l'envoyant à l'imprimante par défaut de l'ordinateur. Ceci ouvrira l'interface d'impression de Windows - il suffit de cliquer sur imprimer pour que cela se produise.
using IronPdf;
// Create a new PDF and print it
var Renderer = new IronPdf.ChromePdfRenderer();
PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Send the PDF to the default printer to print
Pdf.Print(300, false);
using IronPdf;
// Create a new PDF and print it
var Renderer = new IronPdf.ChromePdfRenderer();
PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Send the PDF to the default printer to print
Pdf.Print(300, false);
Imports IronPdf
' Create a new PDF and print it
Private Renderer = New IronPdf.ChromePdfRenderer()
Private Pdf As PdfDocument = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
' Send the PDF to the default printer to print
Pdf.Print(300, False)
Le SDK PDFNet de PDFTron offre également une fonction d'impression. Vous trouverez ci-dessous un extrait du code source permettant d'imprimer un fichier PDF dans PDFNet.
using System;
using System.Drawing;
using System.Drawing.Printing;
using pdftron;
using pdftron.PDF;
using pdftron.Common;
using pdftron.Filters;
namespace PDFPrintTestCS
{
Console.WriteLine("Opening the input file...");
using (pdfdoc = new PDFDoc(input_path + "tiger.pdf"))
{
pdfdoc.InitSecurityHandler();
Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...");
PrinterMode printerMode = new PrinterMode();
printerMode.SetAutoCenter(true);
printerMode.SetAutoRotate(true);
printerMode.SetCollation(true);
printerMode.SetCopyCount(1);
printerMode.SetDPI(300); // regardless of ordering, an explicit DPI setting overrides the OutputQuality setting
printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto);
printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom);
printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait);
printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations);
printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale);
printerMode.SetOutputPageBorder(false);
printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium);
printerMode.SetPaperSize(new Rect(0, 0, 612, 792));
PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all);
Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null);
}
}
using System;
using System.Drawing;
using System.Drawing.Printing;
using pdftron;
using pdftron.PDF;
using pdftron.Common;
using pdftron.Filters;
namespace PDFPrintTestCS
{
Console.WriteLine("Opening the input file...");
using (pdfdoc = new PDFDoc(input_path + "tiger.pdf"))
{
pdfdoc.InitSecurityHandler();
Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...");
PrinterMode printerMode = new PrinterMode();
printerMode.SetAutoCenter(true);
printerMode.SetAutoRotate(true);
printerMode.SetCollation(true);
printerMode.SetCopyCount(1);
printerMode.SetDPI(300); // regardless of ordering, an explicit DPI setting overrides the OutputQuality setting
printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto);
printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom);
printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait);
printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations);
printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale);
printerMode.SetOutputPageBorder(false);
printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium);
printerMode.SetPaperSize(new Rect(0, 0, 612, 792));
PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all);
Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null);
}
}
Imports System
Imports System.Drawing
Imports System.Drawing.Printing
Imports pdftron
Imports pdftron.PDF
Imports pdftron.Common
Imports pdftron.Filters
Namespace PDFPrintTestCS
Console.WriteLine("Opening the input file...")
pdfdoc = New PDFDoc(input_path & "tiger.pdf")
Using pdfdoc
pdfdoc.InitSecurityHandler()
Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...")
Dim printerMode As New PrinterMode()
printerMode.SetAutoCenter(True)
printerMode.SetAutoRotate(True)
printerMode.SetCollation(True)
printerMode.SetCopyCount(1)
printerMode.SetDPI(300) ' regardless of ordering, an explicit DPI setting overrides the OutputQuality setting
printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto)
printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom)
printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait)
printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations)
printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale)
printerMode.SetOutputPageBorder(False)
printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium)
printerMode.SetPaperSize(New Rect(0, 0, 612, 792))
Dim pagesToPrint As New PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all)
Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, Nothing)
End Using
End Namespace
Les deux bibliothèques possèdent des capacités de conversion de HTML en PDF, mais les méthodes sont légèrement différentes.
IronPDF ne nécessite pas l'utilisation de JSON ou de mécanismes de cryptage. IronPDF prend en charge un large éventail de méthodes. Par exemple :
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
PDFNet offre également des fonctions de conversion de HTML en PDF en utilisant à la fois la conversion de pages et la conversion d'URL. En raison de la longueur du code, nous ne donnerons ici qu'un seul exemple.
class HTML2PDFSample
{
private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
static HTML2PDFSample() {}
static void Main(string [] args)
{
string output_path = "../../../../TestFiles/Output/html2pdf_example";
string host = "https://www.pdftron.com";
string page0 = "/";
string page1 = "/support";
string page2 = "/blog";
HTML2PDF.SetModulePath("../../../../../Lib");
if (!HTML2PDF.IsModuleAvailable())
{
Console.WriteLine();
Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.");
Console.WriteLine("-------------------------------");
Console.WriteLine("The HTML2PDF module is an optional add-on, available for download");
Console.WriteLine("at http://www.pdftron.com/. If you have already downloaded this");
Console.WriteLine("module, ensure that the SDK is able to find the required files");
Console.WriteLine("using the HTML2PDF.SetModulePath() function.");
Console.WriteLine();
return;
}
try
{
using (PDFDoc doc = new PDFDoc())
{
if ( HTML2PDF.Convert(doc, host + page0) )
doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized);
else
Console.WriteLine("Conversion failed.");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
}
}
}
class HTML2PDFSample
{
private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
static HTML2PDFSample() {}
static void Main(string [] args)
{
string output_path = "../../../../TestFiles/Output/html2pdf_example";
string host = "https://www.pdftron.com";
string page0 = "/";
string page1 = "/support";
string page2 = "/blog";
HTML2PDF.SetModulePath("../../../../../Lib");
if (!HTML2PDF.IsModuleAvailable())
{
Console.WriteLine();
Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.");
Console.WriteLine("-------------------------------");
Console.WriteLine("The HTML2PDF module is an optional add-on, available for download");
Console.WriteLine("at http://www.pdftron.com/. If you have already downloaded this");
Console.WriteLine("module, ensure that the SDK is able to find the required files");
Console.WriteLine("using the HTML2PDF.SetModulePath() function.");
Console.WriteLine();
return;
}
try
{
using (PDFDoc doc = new PDFDoc())
{
if ( HTML2PDF.Convert(doc, host + page0) )
doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized);
else
Console.WriteLine("Conversion failed.");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
}
}
}
Friend Class HTML2PDFSample
Private Shared pdfNetLoader As pdftron.PDFNetLoader = pdftron.PDFNetLoader.Instance()
Shared Sub New()
End Sub
Shared Sub Main(ByVal args() As String)
Dim output_path As String = "../../../../TestFiles/Output/html2pdf_example"
Dim host As String = "https://www.pdftron.com"
Dim page0 As String = "/"
Dim page1 As String = "/support"
Dim page2 As String = "/blog"
HTML2PDF.SetModulePath("../../../../../Lib")
If Not HTML2PDF.IsModuleAvailable() Then
Console.WriteLine()
Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.")
Console.WriteLine("-------------------------------")
Console.WriteLine("The HTML2PDF module is an optional add-on, available for download")
Console.WriteLine("at http://www.pdftron.com/. If you have already downloaded this")
Console.WriteLine("module, ensure that the SDK is able to find the required files")
Console.WriteLine("using the HTML2PDF.SetModulePath() function.")
Console.WriteLine()
Return
End If
Try
Using doc As New PDFDoc()
If HTML2PDF.Convert(doc, host & page0) Then
doc.Save(output_path & "_01.pdf", SDFDoc.SaveOptions.e_linearized)
Else
Console.WriteLine("Conversion failed.")
End If
End Using
Catch e As PDFNetException
Console.WriteLine(e.Message)
End Try
End Sub
End Class
IronPDF est une bibliothèque qui offre une licence de développement gratuite. IronPDF offre également une structure de prix spéciale : le paquet léger commence à $749 sans coûts cachés. Il est également possible de redistribuer des produits SaaS et OEM. Toutes les licences comprennent une garantie de remboursement de 30 jours, un an d'assistance et de mises à jour du logiciel, une validité de développement/test/stage/production et une licence perpétuelle(achat unique). Les licences IronPDF offrent des performances maximales pour les besoins des utilisateurs. Aller à cette pagePage de licence IronPDF pour voir l'ensemble de la structure tarifaire et de la licence d'IronPDF.
Le PDFTron PDFNet SDK est proposé avec plusieurs choix de licences adaptées aux besoins de votre entreprise. Trois types de licences sont fournis avec les redistributions pour les entreprises et les OEM. Les licences d'entreprise sont réservées à l'usage de l'organisation et ne peuvent pas être utilisées pour la distribution d'applications. Des API supplémentaires nécessitant un accès au système de fichiers sont également incluses dans les licences. Toutes les licences sont accompagnées d'une clé de licence. Les trois types de licences sont les suivants
SDK de base
Pour plus d'informations sur les structures de licence, consultez le site suivantPage d'information sur les licences PDFTron.
IronPDF offre de nombreuses caractéristiques et fonctionnalités pour traiter les fichiers PDF et les convertir dans différents formats. Les conversions de HTML en PDF sont produites dans un format vectoriel adapté à une impression commerciale de haute qualité. Vous obtiendrez ainsi un PDF clair et de haute qualité. Les informations relatives aux licences et aux prix sont disponibles sur le site web.
Comme IronPDF, PDFNet facilite la transition, l'annotation, la signature, le remplissage, la conversion et l'édition des fichiers PDF. Il prend en charge plusieurs plateformes, notamment Windows, IOS, Android, WEB et Linux. Pour une utilisation en production, les SDK PDFNet ont besoin d'une clé de produit.
Les licences d'IronPDF sont centrées sur les développeurs, ce qui signifie que vous devez obtenir une licence en fonction du nombre de développeurs qui utiliseront le produit. En revanche, les licences PDFNet ne fonctionnent pas de la même manière, puisqu'elles sont basées sur des fonctionnalités. Cela signifie que vous devez obtenir la licence qui prend en charge les fonctionnalités requises. Les licences IronPDF comprennent toutes les fonctionnalités. Avec PDFNet, certaines fonctionnalités, telles que la conversion de documents, doivent être achetées en tant que modules complémentaires.
La bibliothèque IronPDF offre des fonctionnalités de manière organisée, ce qui facilite l'écriture de codes qui effectuent des tâches importantes en utilisant quelques lignes de code. Iron Software propose actuellement un pack de cinq outils pour le prix de deux seulement. Les outils inclus dans la suite IronSuite sont les suivants :
Veuillez consulter ce sitePage d'information sur IronSuite pour découvrir IronSuite.
9 produits de l'API .NET pour vos documents de bureau