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");
})();
fs extra npm (Comment ça fonctionne pour les développeurs)
Regan Pun
septembre 29, 2024
Partager:
Introduction
Node.jsest un environnement d'exécution JavaScript robuste qui a transformé la programmation côté serveur en fournissant un environnement de développement d'applications efficace et évolutif. fs-extra etIronPDFse démarquer parmi les nombreux packages Node.js disponibles pour les développeurs qui nécessitent des capacités sophistiquées de gestion de fichiers et de création de PDF.
Une API plus conviviale et davantage de méthodes sont disponibles pour les opérations de fichier telles que la copie, le déplacement et la suppression en utilisantfs-extra, une version améliorée du module fs natif de Node. La programmation asynchrone est également facilitée par la garantie d'une gestion fluide du système de fichiers grâce à la prise en charge des promesses et à la simplification de la gestion deJSON des dossiers.
Inversement,IronPDFest une bibliothèque PDF puissante qui permet aux programmeurs de générer, modifier et extraire le contenu des fichiers PDF. Cela fonctionne bien pourcréer des documents PDF à partir de HTMLou texte non formaté,combiner plusieurs PDFsetajout d'en-têtes et de pieds de page, filigranes et autres personnalisations aux PDF. Pour cette raison, c'est un outil inestimable pour créer des factures, des rapports et d'autres documents à la volée.
Les développeurs peuvent créer des systèmes de gestion de fichiers complexes et produire des PDF de qualité professionnelle au sein de leurs applications Node.js en intégrantfs-extra etIronPDF. Cette combinaison garantit que les programmes peuvent gérer efficacement des tâches complexes de traitement de fichiers et de documents en plus d'augmenter la productivité.
Qu'est-ce que fs extra npm ?
Un package Node.js flexible appeléfs-extras'étend sur le fs intégré(système de fichiers)module, offrant plus de fonctionnalités pour faciliter les opérations de fichiers de routine. Avec des fonctions comme fs.copy, fs.move et fs.remove, cela simplifie les opérations de copie, de déplacement et de suppression de fichiers et de répertoires. En dehors de cela, fs-extra est livré avec des outils pour lire et écrire des fichiers JSON.(fs.readJson, fs.writeJson), vérifiez l'existence des répertoires ou fichiers(fs.ensureDir, fs.ensureFile), et effectuer d'autres opérations pratiques. fs-extra nous permet également de remplacer des fichiers existants. Le fait qu'il prenne en charge les Promesses, rendant l'utilisation de la syntaxe async/await plus gérable pour la programmation asynchrone, est l'une de ses caractéristiques clés. Toutes les méthodes fs renvoient des promesses dans leur callback. fs-extra qui vient également avec les méthodes sync.
Fonctionnalités de fs-extra
En élargissant les fonctionnalités du module natif fs, fs-extra est un module de système de fichiers amélioré pour Node.js. C'est une option prisée par les développeurs car elle offre une gamme de techniques puissantes et pratiques pour gérer les fichiers et dossiers. Comparé au module fs d'origine, fs-extra possède les caractéristiques saillantes suivantes, ainsi que le support supplémentaire des promesses pour les méthodes fs normales :
Opérations de fichier améliorées
Copie: fs.copy(src, dest): copie des répertoires et des fichiers, y compris le contenu imbriqué, de la source à la destination.
Move: fs.move(src, dest): Transfère des dossiers et des fichiers, avec la possibilité de les renommer.
Supprimer: fs.remove(chemin): supprime les dossiers et fichiers de manière récursive.
Opérations de répertoire
Assurer le répertoire : fs.ensureDir(chemin): Vérifie si un répertoire existe déjà; si non, crée le répertoire.
Répertoire Vide : fs.emptyDir(chemin): Supprime un répertoire mais le laisse vide.
Assurer le fichier: fs.ensureFile(chemin): Vérifie si un fichier existe déjà; si ce n'est pas le cas, crée le fichier.
Gestion JSON
Lire JSON : fs.readJson(chemin): Lit un fichier JSON et analyse son contenu.
Écrire JSON : fs.writeJson(chemin, données): Écrit un objet JavaScript dans un fichier au format JSON.
Assistance par promesse
API Basée sur les Promesses : Comme la plupart des méthodes renvoient des Promises, écrire du code asynchrone avec la syntaxe async/await est beaucoup plus facile.
Compatibilité ascendante
Prise en charge complète du module fs : Étant donné que fs-extra inclut toutes les méthodes standards du module fs natif, il peut être utilisé comme un remplacement direct avec une compatibilité rétroactive complète.
Méthodes pratiques
Fichier de sortie : fs.outputFile(chemin, données): Crée des répertoires s'ils n'existent pas déjà et écrit des données dans un fichier.
Sortie JSON: fs.outputJson(chemin, données): crée des dossiers s'ils n'existent pas déjà avant d'écrire un objet JavaScript en JSON dans un fichier.
Lire le fichier : fs.readFile(chemin): Lit le contenu d'un fichier.
Écrire un fichier : fs.writeFile(chemin, données): Écrit des données dans un fichier.
Path Exists : fs.pathExists(chemin): Vérifie si un fichier ou un répertoire existe à l'emplacement donné.
Créer des liens symboliques
Assurer un lien symbolique : fs.ensureSymlink(srcpath, dstpath)Vérifie si un lien symbolique est présent, et s'il ne l'est pas, en crée un.
Création et configuration d'un projet Node.js avec fs-extra
Utilisez la bibliothèque fs-extra dans un projet Node.js en la créant et la configurant comme suit :
Mise en place du projet
Commencez par créer un nouveau répertoire pour votre projet et utilisez npm pour lancer un tout nouveau projet Node.js.(npm init -y). Cela remplit le cadre de base pour votre application.
Installer fs-extra
Utilisez npm pour installer la bibliothèque fs-extra :
npm install fs-extra
Utilisation de fs-extra
Pour illustrer l'utilisation de fs-extra, ouvrez index.js dans votre éditeur de texte préféré et ajoutez le code d'exemple suivant.
// import fs module
const fs = require('fs-extra');
async function performFileOperations() {
try {
// Ensure a fs extra directory exists
await fs.ensureDir('exampleDir');
// Create a file and write some data to it
await fs .outputFile('exampleDir/exampleFile.txt', 'Hello, world!');
// Read the file
const data = await fs.readFile('exampleDir/exampleFile.txt', 'utf-8');
console.log('File Content:', data);
// recursively copy files
await fs.copy('exampleDir/exampleFile.txt', 'exampleDir/copyOfExampleFile.txt');
// Move the file
await fs.move('exampleDir/copyOfExampleFile.txt', 'exampleDir/movedExampleFile.txt');
// Remove the file
await fs.remove('exampleDir/movedExampleFile.txt');
// Ensure a file exists and create it if it doesn't
await fs.ensureFile('exampleDir/newFile.txt');
// Write JSON data to a file
const jsonData = { name: 'John Doe', age: 30 };
await fs.writeJson('exampleDir/data.json', jsonData);
// Read JSON data from a file
const jsonFileContent = await fs.readJson('exampleDir/data.json');
console.log('JSON File Content:', jsonFileContent);
} catch (err) {
console.error(err);
}
}
performFileOperations();
// import fs module
const fs = require('fs-extra');
async function performFileOperations() {
try {
// Ensure a fs extra directory exists
await fs.ensureDir('exampleDir');
// Create a file and write some data to it
await fs .outputFile('exampleDir/exampleFile.txt', 'Hello, world!');
// Read the file
const data = await fs.readFile('exampleDir/exampleFile.txt', 'utf-8');
console.log('File Content:', data);
// recursively copy files
await fs.copy('exampleDir/exampleFile.txt', 'exampleDir/copyOfExampleFile.txt');
// Move the file
await fs.move('exampleDir/copyOfExampleFile.txt', 'exampleDir/movedExampleFile.txt');
// Remove the file
await fs.remove('exampleDir/movedExampleFile.txt');
// Ensure a file exists and create it if it doesn't
await fs.ensureFile('exampleDir/newFile.txt');
// Write JSON data to a file
const jsonData = { name: 'John Doe', age: 30 };
await fs.writeJson('exampleDir/data.json', jsonData);
// Read JSON data from a file
const jsonFileContent = await fs.readJson('exampleDir/data.json');
console.log('JSON File Content:', jsonFileContent);
} catch (err) {
console.error(err);
}
}
performFileOperations();
JAVASCRIPT
Le code ci-dessus illustre les fonctionnalités du module amélioré de système de fichiers Node.js, la bibliothèque fs-extra. Le script implémente une méthode asynchrone appelée performFileOperations pour effectuer plusieurs opérations sur des fichiers après avoir importé fs-extra. Utilisation de fs.ensureDir() méthode, elle vérifie d'abord qu'un répertoire portant le nom "exampleDir" existe. Ensuite, en utilisant fs.outputFile()méthode, elle crée un fichier appelé "exampleFile.txt" à l'intérieur de ce répertoire et y met le texte "Hello, world!"à elle." Utilisation de fs.readFile(), le script lit le contenu du fichier et l'enregistre dans la console.
Sortie de la console
De plus, il utilise des fonctions récursives comme fs.copy.() pour copier le fichier en "copyOfExampleFile.txt" puis utilise fs.move pour déplacer cette copie vers "movedExampleFile.txt". Ensuite, fs.remove() est utilisé pour supprimer le fichier relocalisé. Le script utilise fs.ensureFile() fonction pour vérifier l'existence de "newFile.txt" et fs.writeJson()pour écrire un objet JSON dans le fichier "data.json". Enfin, il utilise fs.readJson()pour lire les données JSON à partir du fichier et les consigner dans la console. Les erreurs qui surviennent tout au long de ces procédures sont notées et enregistrées. L'utilité et la facilité d'utilisation de fs-extra pour la gestion de fichiers et de répertoires dans Node.js sont ensuite démontrées en appelant la fonction performFileOperations** pour réaliser ces opérations successivement.
SORTIE
Combiner fs-extra avec IronPDF
Un ensemble d'outils puissant pour les développeurs Node.js est produit en combinantIronPDFpour une production fiable de PDF avec fs-extrapour des opérations de système de fichiers améliorées. Ce didacticiel vous montrera comment créer un projet Node.js en utilisant IronPDF et fs-extra, et il inclura un exemple de code qui montre comment les utiliser ensemble.
Qu'est-ce qu'IronPDF ?
UnIronPDFLa bibliothèque est une puissante bibliothèque Node.js qui vise à convertir des données HTML en fichiers PDF d'une qualité exceptionnelle. Il accélère le processus de conversion des fichiers HTML, CSS et autres JavaScript en PDF correctement formatés sans compromettre le contenu en ligne original. C'est un outil très utile pour les applications web qui doivent produire des documents dynamiques et imprimables, tels que des factures, des certifications et des rapports.
IronPDF possède plusieurs fonctionnalités, notamment des paramètres de page personnalisables, des en-têtes, des pieds de page et la possibilité d'ajouter des polices et des images. Il peut gérer des styles et des mises en page complexes pour garantir que chaque sortie de test PDF répond aux spécifications. De plus, IronPDFcontrôle l'exécution de JavaScript dans HTML, permettant un rendu précis de contenu dynamique et interactif.
Caractéristiques d'IronPDF
Génération de PDF à partir de HTML
Convertissez HTML, CSS et JavaScript en PDF. prend en charge deux normes modernes du web : les requêtes médiatiques et le responsive design. pratique pour utiliser HTML et CSS afin de décorer dynamiquement les documents PDF, rapports et factures.
Edition PDF
Il est possible d'ajouter du texte, des images et d'autres éléments à des PDF déjà existants. Extraction de texte et d'images à partir de fichiers PDF. fusionner plusieurs PDF en un seul fichier. Diviser les fichiers PDF en plusieurs documents distincts. Ajouter des en-têtes, des pieds de page, des annotations et des filigranes.
Performance et fiabilité
Dans les contextes industriels, les performances élevées et la fiabilité sont des attributs souhaitables de la conception. traite facilement des ensembles de documents volumineux.
Installer IronPDF
Pour obtenir les outils nécessaires pour travailler avec des PDFs dans les projets node.js, installez lePaquet IronPDF.
npm install @ironsoftware/ironpdf
Intégration de fs-extra npm avec IronPDF
Pour montrer comment utiliser fs-extra et IronPDF, ouvrez index.js dans votre éditeur de texte préféré et ajoutez le code suivant.
//
const fs = require('fs-extra');
const IronPdf = require("@ironsoftware/ironpdf");
const document=IronPdf.PdfDocument;
var config=IronPdf.IronPdfGlobalConfig
config.setConfig({licenseKey:''});
async function createAndManagePDF() {
try {
// Ensure the parent directories exist
const outputDir = 'output';
await fs.ensureDir(outputDir);
// Define the HTML content for the PDF
const htmlContent = `
<html>
<head>
<title>Sample PDF</title>
</head>
<body>
<h1>Hello, world!</h1>
<p>This is a sample PDF generated using IronPDF and fs-extra.</p>
</body>
</html>
`;
// Initialize IronPDF and generate a PDF from the HTML content
let pdf= await document.fromHtml(htmlContent);
const pdfPath = `${outputDir}/sample.pdf`;
await pdf.saveAs(pdfPath);
console.log('PDF generated successfully:', pdfPath);
// Read the PDF file
const pdfData = await fs.readFile(pdfPath);
console.log('PDF file size:', pdfData.length);
// Copy the PDF file
const copiedPdfPath = `${outputDir}/copied_sample.pdf`;
await fs.copy(pdfPath, copiedPdfPath);
console.log('PDF copied successfully:', copiedPdfPath);
// Move the copied PDF file
const movedPdfPath = `${outputDir}/moved_sample.pdf`;
await fs.move(copiedPdfPath, movedPdfPath);
console.log('PDF moved successfully:', movedPdfPath);
// Remove the original PDF file
await fs.remove(pdfPath);
console.log('Original PDF removed successfully:', pdfPath);
} catch (err) {
console.error('Error during PDF creation and management:', err);
}
}
createAndManagePDF();
//
const fs = require('fs-extra');
const IronPdf = require("@ironsoftware/ironpdf");
const document=IronPdf.PdfDocument;
var config=IronPdf.IronPdfGlobalConfig
config.setConfig({licenseKey:''});
async function createAndManagePDF() {
try {
// Ensure the parent directories exist
const outputDir = 'output';
await fs.ensureDir(outputDir);
// Define the HTML content for the PDF
const htmlContent = `
<html>
<head>
<title>Sample PDF</title>
</head>
<body>
<h1>Hello, world!</h1>
<p>This is a sample PDF generated using IronPDF and fs-extra.</p>
</body>
</html>
`;
// Initialize IronPDF and generate a PDF from the HTML content
let pdf= await document.fromHtml(htmlContent);
const pdfPath = `${outputDir}/sample.pdf`;
await pdf.saveAs(pdfPath);
console.log('PDF generated successfully:', pdfPath);
// Read the PDF file
const pdfData = await fs.readFile(pdfPath);
console.log('PDF file size:', pdfData.length);
// Copy the PDF file
const copiedPdfPath = `${outputDir}/copied_sample.pdf`;
await fs.copy(pdfPath, copiedPdfPath);
console.log('PDF copied successfully:', copiedPdfPath);
// Move the copied PDF file
const movedPdfPath = `${outputDir}/moved_sample.pdf`;
await fs.move(copiedPdfPath, movedPdfPath);
console.log('PDF moved successfully:', movedPdfPath);
// Remove the original PDF file
await fs.remove(pdfPath);
console.log('Original PDF removed successfully:', pdfPath);
} catch (err) {
console.error('Error during PDF creation and management:', err);
}
}
createAndManagePDF();
JAVASCRIPT
L'exemple de code Node.js ci-dessus combine IronPDF pour créer et gérerFichiers PDFavec fs-extra pour les opérations avancées sur le système de fichiers. Elle commence par s'assurer qu'un répertoire appelé "output" existe en créant un répertoire avec fs.ensureDir.(). Un répertoire est simplement un regroupement hiérarchique de répertoires et de fichiers. La structure du PDF qui sera créé est définie par le contenu HTML, contenu dans htmlContent. Il insère le contenu HTML en utilisant fromHtml() méthode et enregistre le PDF résultant sous "output/sample.pdf" en utilisant saveAs()fonction**, tous en utilisant la classe PdfDocument d'IronPDF.
SORTIE
fs-extra est utilisé pour continuer les opérations de fichier : La fonction fs.readFile() obtient le contenu du PDF pour suivre sa taille. Le fs.copy() duplique le fichier généré "output/sample.pdf" en "output/copied_sample.pdf", puis fs.move()La méthode déplace cette copie vers "output/moved_sample.pdf" et supprime le PDF original.** La gestion des erreurs avec les blocs try-catch permet de s'assurer que tous les problèmes survenant pendant l'exécution des méthodes ou activités fs sont identifiés et enregistrés. Dans l'ensemble, cette configuration montre comment améliorer les opérations sur les fichiers avec fs-extra et comment créer et manipuler facilement des PDF dans des applications Node.js avec IronPDF.
PDF DE SORTIE
Conclusion
Enfin,fs-extra etIronPDFensemble fournissent une solution solide pour la gestion des opérations du système de fichiers et la production de PDF dans les applications Node.js. Avec ses méthodes améliorées, fs-extra simplifie les activités telles que la création de répertoires, la copie, le déplacement et la suppression de fichiers, et offre une base solide pour une gestion efficace des fichiers. Mais IronPDF offre une polyvalence dans la création et le traitement de documents, permettant de convertir facilement les informations HTML en documents PDF.
Lorsqu'elles sont combinées, ces bibliothèques permettent aux développeurs de créer facilement des applications dynamiques capables de créer, gérer et travailler avec des fichiers PDF. Avec l'intégration de fs-extra et IronPDF, les développeurs peuvent répondre à une variété de besoins en gestion de documents dans les environnements Node.js avec des capacités puissantes, qu'ils créent des factures, des rapports ou des documents dynamiques.
Avec l'aide deIronPDF etIron Software, vous pouvez élargir votre boîte à outils pour le développement Node avec la reconnaissance de texte (OCR), le scannage de codes-barres, la production de PDF, l'interaction avec Excel, et une multitude d'autres fonctions. Iron Software'ssystèmes hautement configurables et un éventail de plugins pris en charge par la communauté permettent aux développeurs de créer des fonctionnalités et des applications web plus rapidement.
Avec des détailsla documentationd'IronPDF commence seulement à $749.
Les développeurs peuvent choisir le meilleur modèle facilement si les options de licence spécifiques au projet sont clairement décrites. Ces fonctionnalités permettent aux développeurs de résoudre rapidement et efficacement une variété de problèmes.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT express validator npm (Comment ça fonctionne pour les développeurs)
SUIVANT > fastify npm (Comment ça fonctionne pour les développeurs)
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