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");
PDF (EN ANGLAIS)(Format de document portable) sont largement utilisés pour partager et conserver des documents dans un format cohérent sur différentes plateformes. Dans cet article, nous allons voir comment générer des fichiers PDF en C# à l'aide de la bibliothèque wkhtmltopdf. Il s'agit d'un outil de ligne de commande open source, qui est utilisé pour convertir le contenu HTML en fichiers PDF. En exploitant la puissance de cette bibliothèque, nous pouvons créer par programme des documents PDF à partir de contenu HTML dans nos applications C++.
Bibliothèque WkhtmltoPdf
wkhtmltopdf est un outil en ligne de commande et un moteur de rendu open-source qui convertit des pages web HTML ou du contenu HTML en documents PDF. Il utilise le moteur de rendu WebKit pour analyser et rendre les fichiers HTML, CSS et JavaScript, puis génère un fichier PDF sur la base du contenu rendu.
"wkhtmltopdf C++ Library"(également connu sous le nom de "wkhtmltopdf C API"). Cette bibliothèque fournit une interface C++ à l'outil en ligne de commande wkhtmltopdf, vous permettant de créer des fichiers PDF à partir de contenu HTML directement dans vos applications C++. Découvrons étape par étape le processus de conversion de HTML en PDF en C# à l'aide de la bibliothèque Wkhtmltopdf.
Conditions préalables
Pour créer des fichiers PDF en C#, nous devons mettre en place les éléments suivants :
Un compilateur C++ tel que GCC ou Clang installé sur votre système. Vous pouvez utiliser n'importe quel IDE qui prend en charge la programmation C#.
la bibliothèque wkhtmltopdf** a été téléchargée et installée. Vous pouvez télécharger la dernière version à partir du site officielwkhtmltopdf site web et installez-le conformément aux instructions de votre système d'exploitation.
Connaissance de base de la programmation C#.
C++ Créer un projet PDF dans Code:Blocks
Créez un projet dans Code::Blocks et suivez les étapes ci-dessous pour lier le dossier et le fichier de la bibliothèque. Si vous utilisez un autre IDE, les options peuvent être différentes, mais vous devez référencer la bibliothèque téléchargée dans votre projet pour que cela fonctionne.
1. Ajout d'un dossier "include" dans les répertoires de recherche
Pour que Code::Blocks puisse trouver les fichiers d'en-tête nécessaires, nous devons configurer les répertoires de recherche.
Cliquez sur le menu "Projet" dans la barre de menu et sélectionnez "Options de construction". Veillez à sélectionner "Debug".
Dans la boîte de dialogue "Build options", sélectionnez l'onglet "Search directories".
Sous l'onglet "Compilateur", cliquez sur le bouton "Ajouter".
Naviguez jusqu'au répertoire où se trouvent les fichiers d'en-tête wkhtmltox(par exemple, C:\NProgram Files\NWkhtmltopdf\Ninclude)et le sélectionner.
Enfin, cliquez sur "OK" pour fermer la boîte de dialogue.
2. Lier les bibliothèques dans les paramètres de l'éditeur de liens
Pour établir un lien avec la bibliothèque wkhtmltox, procédez comme suit :
Cliquez à nouveau sur le menu "Projet" dans la barre de menu et sélectionnez "Options de construction". Veillez à sélectionner "Debug".
Dans la boîte de dialogue "Build options", sélectionnez l'onglet "Linker settings".
Sous l'onglet "Bibliothèques de liens", cliquez sur le bouton "Ajouter".
Naviguez jusqu'au répertoire où se trouvent les fichiers de la bibliothèque wkhtmltox(par exemple, C:\NProgram Files\NWkhtmltopdf\lib (fichiers de programmes))et sélectionnez le fichier de bibliothèque approprié.
Cliquez sur "Ouvrir" pour ajouter la bibliothèque à votre projet.
Enfin, cliquez sur "OK" pour fermer la boîte de dialogue.
Etapes pour créer un PDF en C# en utilisant Wkhtmltopdf
1. Inclure les bibliothèques nécessaires
Pour commencer, nous allons d'abord inclure les fichiers d'en-tête nécessaires pour utiliser les fonctionnalités de la bibliothèque wkhtmltopdf dans notre programme C++. Inclure les fichiers d'en-tête suivants au début du fichier de code source main.cpp :
Créons maintenant une chaîne HTML pour compléter le contenu de notre document PDF nouvellement créé. Le code est le suivant :
string htmlString = "<html><body><h1>Create a PDF in C++ using WKHTMLTOPDF Library</h1></body></html>";
wkhtmltopdf_add_object(converter, os, htmlString.c_str());
string htmlString = "<html><body><h1>Create a PDF in C++ using WKHTMLTOPDF Library</h1></body></html>";
wkhtmltopdf_add_object(converter, os, htmlString.c_str());
C++
5. Convertir une chaîne HTML en fichier PDF
Wkhtmltopdf fournit une méthode de conversion pour convertir le contenu HTML en PDF. Voici l'extrait de code :
wkhtmltopdf_convert(converter);
wkhtmltopdf_convert(converter);
C++
6. Obtention d'une sortie sous forme de mémoire tampon
Avec la fonction wkhtmltopdf_get_output, nous pouvons obtenir les données PDF sous la forme d'un flux de mémoire tampon. Il renvoie également la longueur du PDF. L'exemple suivant permet d'effectuer cette tâche :
const unsigned char* pdfData;
const int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
const unsigned char* pdfData;
const int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
C++
7. Enregistrer le fichier PDF
Le pointeur pdfData contient maintenant le flux de caractères provenant de wkhtmltopdf_converter. Pour enregistrer un fichier PDF, nous devons d'abord spécifier le chemin d'accès au fichier où nous voulons enregistrer le PDF. Ensuite, en utilisant le flux du fichier de sortie, nous ouvrons le fichier en mode binaire et nous y écrivons les pdfData en utilisant la fonction reinterpret_cast. Enfin, nous fermons le dossier.
Après avoir créé avec succès un fichier PDF, il est essentiel de nettoyer les ressources allouées par Wkhtmltopdf, sous peine de provoquer une fuite de mémoire.
Maintenant, construisez le projet et exécutez le code en utilisant la touche F9. Le résultat est généré et enregistré dans le dossier du projet. Le PDF résultant est le suivant :
Créer un fichier PDF en C# ;
IronPDF
IronPDF est une bibliothèque PDF .NET C# qui permet aux développeurs de créer des documents PDF à partir de HTML sans effort. Il fournit une API intuitive qui simplifie le processus de création de fichiers PDF à partir de HTML.
IronPDF est robuste et polyvalent lorsqu'il s'agit de travailler avec des PDF. Il crée non seulement un PDF à partir de simples documents HTML, mais aussi des pages web complexes avec un style CSS, des interactions JavaScript et même un contenu dynamique. De plus, vous pouvez développer différents convertisseurs PDF avec un accès rapide à ses méthodes de conversion.
using IronPdf;
// 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");
using IronPdf;
// 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");
C++
Nous créons une instance de ChromePdfRenderer pour rendre le contenu HTML au format PDF. Nous appelons la méthode RenderHtmlAsPdf sur l'objet renderer et lui transmettons la chaîne HTML. Le document PDF est ainsi généré, puis sauvegardé à l'aide de la méthode SaveAs.
Dans cet article, nous avons exploré la génération de PDF en C++ à l'aide de la bibliothèque C++wkhtmltopdf, et nous avons également appris à utiliser IronPDF pour générer des documents PDF en C#.
Avec IronPDF, la génération de fichiers PDF à partir de contenu HTML devient une tâche simple dans les langages du Framework .NET. Ses nombreuses fonctionnalités en font un outil précieux pour les développeurs qui ont besoin de convertir des données sur la santéHTML vers PDF dans leurs projets C#. Qu'il s'agisse de générer des rapports, des factures ou tout autre document nécessitant une conversion précise de HTML en PDF, IronPDF est une solution fiable et efficace.
IronPDF est gratuit à des fins de développement, mais pour une utilisation commerciale, il doit faire l'objet d'une licence. Il fournit également uneessai gratuit pour un usage commercial afin de tester l'ensemble de ses fonctionnalités. Télécharger IronPDF et l'essayer par vous-même.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Comment afficher des fichiers 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