Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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++.
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.
Pour créer des fichiers PDF en C#, nous devons mettre en place les éléments suivants :
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.
Pour que Code::Blocks puisse trouver les fichiers d'en-tête nécessaires, nous devons configurer les répertoires de recherche.
Enfin, cliquez sur "OK" pour fermer la boîte de dialogue.
Pour établir un lien avec la bibliothèque wkhtmltox, procédez comme suit :
Enfin, cliquez sur "OK" pour fermer la boîte de dialogue.
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 :
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
Si vous ne travaillez pas avec l'interface graphique, vous devez la désactiver pour éviter les erreurs. Le code est le suivant :
wkhtmltopdf_init(false);
Ensuite, nous devons initialiser les pointeurs de paramètres globaux et d'objets, puis le convertisseur wkhtmltopdf
.
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
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());
Wkhtmltopdf fournit une méthode de conversion pour convertir le contenu HTML en PDF. Voici l'extrait de code :
wkhtmltopdf_convert(converter);
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);
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.
const char* outputPath = "file.pdf";
ofstream outputFile(outputPath, ios::binary);
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength);
outputFile.close();
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.
wkhtmltopdf_destroy_converter(converter);
wkhtmltopdf_destroy_object_settings(os);
wkhtmltopdf_destroy_global_settings(gs);
wkhtmltopdf_deinit();
cout << "PDF created successfully." << endl;
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 :
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 des PDF à partir de simples documents HTML, mais aussi des pages web complexes avec des styles CSS, des interactions JavaScript et même du contenu dynamique. De plus, vous pouvez développer différents convertisseurs PDF avec un accès rapide à ses méthodes de conversion.
Voici un exemple de code pour créer un PDF en utilisant Chaîne HTML:
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");
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
.
Pour plus de détails sur la façon de créer un PDF à partir de différentes ressources telles que des fichiers HTML, des URL de pages Web et des images page d'exemple de code.
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 une essai 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.
9 produits de l'API .NET pour vos documents de bureau