import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Create a PDF from an HTML string
const pdf = await PdfDocument.fromHtml("<h1>Hello World</h1>");
// Export the PDF to a file
await pdf.saveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external HTML assets: Images, CSS, and JavaScript.
const htmlContentWithAssets = "<img src='icons/iron.png'>";
const advancedPdf = await PdfDocument.fromHtml(htmlContentWithAssets);
// Save the PDF with loaded assets
await advancedPdf.saveAs("html-with-assets.pdf");
})();
Comment générer un fichier PDF à partir d'un modèle dans Node.js
Darrius Serrant
novembre 17, 2023
Mise à jour octobre 8, 2024
Partager:
Cet article explorera un exemple de la manière dont vous pouvez générer un document PDF à partir d'un modèle HTML en utilisant une bibliothèque PDF nommée IronPDF for Node.js.
Qu'est-ce qu'IronPDF for Node.js ?
IronPDF for Node.js est un outil puissant et polyvalent qui s'intègre parfaitement avec Node.js, permettant aux développeurs de générer, manipuler et gérer facilement des documents PDF au sein de leurs applications. Grâce à son ensemble complet de fonctionnalités et à une API intuitive, IronPDF permet aux développeurs de rationaliser leurs différentes tâches liées à la création de PDF, de la création de documents visuellement attrayants à l'ajout d'éléments interactifs, tout en conservant un haut niveau de contrôle et de personnalisation. Qu'il s'agisse de générer des rapports, des factures ou d'autres documents vitaux, IronPDF for Node.js offre une solution fiable et efficace pour répondre à divers besoins de génération de pages PDF de manière transparente et conviviale pour les développeurs.
Manipulation et Édition de PDF : Éditez et modifiez des PDF existants en ajoutant, supprimant ou mettant à jour du texte, des images, des annotations et d'autres éléments à l'intérieur du fichier PDF.
Sécurité et chiffrement : Mettez en œuvre des mesures de sécurité telles que la protection par mot de passe, le chiffrement, le contrôle d'accès et les signatures numériques pour protéger les documents PDF.
Extraction de texte : Extrayez du texte et des données à partir de PDFs, vous permettant d'utiliser le contenu dans d'autres applications ou pour l'analyse de données.
Personnalisation :Personnalisez l'apparence et la mise en page des documents PDF, y compris la taille des pages, les polices, les couleurs, les en-têtes, les pieds de page, et d'autres éléments de design.
Compatibilité multiplateforme : Assurez-vous que la bibliothèque est compatible avec Node.js sur différents systèmes d'exploitation, la rendant polyvalente pour les développeurs travaillant sur diverses plateformes.
Installation d'IronPDF pour Node.js
Cette section aborde l'installation d'IronPDF for Node.js et la mise en place d'un projet Node.js.
Avant de commencer, assurez-vous que Node.js est installé sur votre système.
Ouvrez l'invite de commandes (CMD) et lancez un nouveau projet Node.js en utilisant les commandes suivantes :
mkdir IronPDF # Creates a new directory for the project.
cd IronPDF # Navigates to the newly created directory.
npm init -y # Creates a package.json file to store project-related metadata and dependencies.
mkdir IronPDF # Creates a new directory for the project.
cd IronPDF # Navigates to the newly created directory.
npm init -y # Creates a package.json file to store project-related metadata and dependencies.
SHELL
Ouvrez l'invite de commandes (CMD) et exécutez la commande
Une fois la configuration initiale terminée, installez IronPDF à l'aide de la commande suivante :
```:shell
:ProductInstall ``
Ouvrez le projet dans Visual Studio Code et créez un nouveau fichier nommé "index.js".
Ouvrez le fichier package.json et ajoutez la ligne suivante sous "type" pour activer l'utilisation des modules :
"type": "module",
Le fichier package.json d'exemple
Avec ces étapes, IronPDF for Node.js est installé avec succès, et l'environnement est configuré pour exécuter le code IronPDF.
Créer un PDF à partir d'un modèle HTML en utilisant IronPDF pour Node.js
IronPDF for Node.js offre une fonctionnalité qui permet aux utilisateurs de créer des PDFs à partir d'un modèle HTML ou d'une page HTML. Cette fonctionnalité permet aux utilisateurs de remplir ces modèles avec des données fournies par l'utilisateur.
Le code fourni ci-dessous montre comment générer et écrire un document PDF à l'aide d'un modèle HTML.
import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';
const generatePdf = async (userInput, fileName) => {
// HTML template with placeholders
const htmlTemplate = `
<!DOCTYPE html>
<html>
<body>
<h1>${userInput.title}</h1>
<p>User's name: ${userInput.userName}</p>
<p>User's email: ${userInput.userEmail}</p>
</body>
</html>
`;
// Create a PDF from the modified HTML template
const pdf = await PdfDocument.fromHtml(htmlTemplate);
// Save the PDF
await pdf.saveAs(fileName);
console.log(`PDF saved as ${fileName}`);
};
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter title: ', (title) => {
rl.question('Enter user name: ', (userName) => {
rl.question('Enter user email: ', async (userEmail) => {
// User-provided data
const userInput = {
title,
userName,
userEmail
};
// Generate the PDF
await generatePdf(userInput, "output.pdf");
rl.close();
});
});
});
import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';
const generatePdf = async (userInput, fileName) => {
// HTML template with placeholders
const htmlTemplate = `
<!DOCTYPE html>
<html>
<body>
<h1>${userInput.title}</h1>
<p>User's name: ${userInput.userName}</p>
<p>User's email: ${userInput.userEmail}</p>
</body>
</html>
`;
// Create a PDF from the modified HTML template
const pdf = await PdfDocument.fromHtml(htmlTemplate);
// Save the PDF
await pdf.saveAs(fileName);
console.log(`PDF saved as ${fileName}`);
};
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter title: ', (title) => {
rl.question('Enter user name: ', (userName) => {
rl.question('Enter user email: ', async (userEmail) => {
// User-provided data
const userInput = {
title,
userName,
userEmail
};
// Generate the PDF
await generatePdf(userInput, "output.pdf");
rl.close();
});
});
});
NODE.JS
L'exemple de code ci-dessus définit un programme JavaScript qui prend des entrées utilisateur pour un titre, un nom d'utilisateur et un e-mail utilisateur par la ligne de commande en utilisant le module readline. La méthode generatePdf() est définie pour créer un document PDF en utilisant un modèle HTML fourni et le sauvegarder avec le nom de fichier donné. Le modèle HTML comprend des espaces réservés pour le titre, le nom et l'adresse électronique de l'utilisateur, qui sont remplis avec les données fournies par l'utilisateur. La classe PdfDocument du package @ironsoftware/ironpdf est utilisée pour créer le PDF à partir du modèle HTML. Une fois le PDF généré, il est enregistré sous le nom de fichier spécifié et un message confirmant l'enregistrement est enregistré dans la console.
Le module readline est utilisé pour inviter l'utilisateur à fournir des données pertinentes en entrée, en demandant le titre, le nom d'utilisateur et l'email de l'utilisateur dans une série de questions. Les réponses de l'utilisateur à ces invites sont collectées et stockées dans un objet appelé userInput. La méthode generatePdf() est ensuite appelée avec cette saisie utilisateur et un nom de fichier par défaut "output.pdf" pour créer et enregistrer ou télécharger le document PDF basé sur les données fournies. Enfin, l'interface de lecture est fermée, ce qui met fin au programme.
Test de génération de PDF#1
La sortie de la console
Le fichier output.pdf
Test de génération de PDF#2
La sortie de la console
Le fichier output.pdf
Conclusion
Ce tutoriel dévoile le processus d'utilisation de Node.js pour générer facilement des PDF en fusionnant des données dynamiques avec des modèles prédéfinis, en soulignant le rôle essentiel de IronPDF.
IronPDF for Node.js s'intègre parfaitement à Node.js, permettant aux développeurs de créer, manipuler et gérer des documents PDF efficacement, en présentant un ensemble complet de fonctionnalités telles que la génération de PDF à partir de HTML/CSS, l'édition de fichiers PDF existants, la fusion/la division de ceux-ci, la gestion des formulaires, la garantie de la sécurité, l'extraction de texte et la personnalisation.
Le processus d'installation étape par étape et l'exemple pratique ont démontré comment mettre en œuvre IronPDF for Node.js de manière efficace au sein d'un projet Node.js. En intégrant de manière transparente la génération de PDF basée sur des modèles, les développeurs peuvent répondre efficacement à divers besoins de génération de documents, ce qui fait de Node.js et IronPDF une combinaison puissante pour une génération de PDF rationalisée et conviviale pour les développeurs. Cette même technique peut être utilisée pour générer des factures de manière dynamique en déplacement.
Vous pouvez installer IronPDF pour Node.js et trouver les exemples de code sur la page npm suivante.
IronPDF propose une licence d'essai gratuite, permettant ainsi aux utilisateurs d'essayer toutes les fonctionnalités offertes par IronPDF avant de l'acheter. Pour plus d'informations, veuillez visiter la page de licence IronPDF.
Darrius Serrant est titulaire d'une licence en informatique de l'Université de Miami et travaille en tant qu'ingénieur marketing Full Stack WebOps chez Iron Software. Attiré par le code depuis son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le support parfait pour la créativité et la résolution de problèmes.
Chez Iron Software, Darrius apprécie de créer de nouvelles choses et de simplifier des concepts complexes pour les rendre plus compréhensibles. En tant que l'un de nos développeurs résidents, il a également fait du bénévolat pour enseigner aux étudiants, partageant son expertise avec la prochaine génération.
Pour Darrius, son travail est épanouissant car il est apprécié et a un réel impact.
< PRÉCÉDENT Comment télécharger des fichiers PDF à partir d'une URL dans Node.js
SUIVANT > Node.js PDF SDK (Tutoriel du développeur)
Vous avez une question ? Prendre contact avec notre équipe de développement.
Vous avez une question ? Contactez notre équipe de développement.
Commencez GRATUITEMENT
Aucune carte de crédit n'est requise
Test dans un environnement réel
Testez en production sans filigranes. Fonctionne là où vous en avez besoin.
Produit entièrement fonctionnel
Obtenez 30 jours de produit entièrement fonctionnel. Faites-le fonctionner en quelques minutes.
assistance technique 24/5
Accès complet à notre équipe d'ingénieurs pendant la période d'essai du produit
Obtenez votre clé d'essai de 30 jours gratuite instantanément.
Aucune carte de crédit ou création de compte n'est nécessaire
Le formulaire d'essai a été soumis avec succès.
Votre clé d'essai devrait être dans l'e-mail. Si ce n'est pas le cas, veuillez contacter support@ironsoftware.com
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