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");
})();
fastify npm (Comment ça fonctionne pour les développeurs)
Kannapat Udonpant
septembre 29, 2024
Partager:
Introduction
Plugin Fastify est un framework web Node.js fortement axé sur d'excellentes performances, destiné à créer des applications en ligne évolutives et efficaces. Fastifyest bien connu pour sa rapidité de traitement et ses faibles frais généraux. Son architecture de plugins solide et son style minimaliste font de l'installation de Fastify un choix parfait pour gérer des charges lourdes et des applications complexes.
Inversement,IronPDFest une bibliothèque flexible Node.js de génération de PDF qui permet aux programmeurs de créer, modifier et convertir des documents PDF à la volée. La conversion de HTML en PDF, la compatibilité avec de nombreux formats de documents et une multitude d'options de personnalisation, toutes adaptées à des situations de haute performance, comptent parmi ses principales caractéristiques.
Les développeurs peuvent profiter de la rapidité et de la polyvalence de Fastify tout en produisant facilement des documents PDF dynamiques en intégrant Fastify avec IronPDF. Les applications qui ont besoin de créer des PDF en temps réel, y compris celles qui génèrent des factures, des rapports ou des documents spécifiques à l'utilisateur instantanément, sont idéales pour cette combinaison.
Voici un exemple de base : vous configurez un serveur Fastify pour répondre àRequêtes HTTP, et vous utilisez IronPDF pour convertir le texte HTML de vos routes Fastify en PDF. Cette configuration montre à quel point il est simple de combiner ces deux outils efficaces pour créer des applications web évolutives et performantes capables de générer des PDF dynamiques, garantissant à la fois une excellente performance et flexibilité.
Qu'est-ce que Fastify npm ?
Un framework web à faible encombrement pour Node.js optimisé pour la rapidité et l'efficacité s'appelleFastify. Créer des applications en ligne et des API évolutives est facilité avec Fastify, qui est réputé pour sa surcharge minimale et sa rapidité de traitement. Parce qu'il offre une validation basée sur un schéma à l'aide de JSON Schema et permet la programmation asynchrone, l'entrée et la sortie sont garanties d'être cohérentes et fiables. Une base de code modulaire et maintenable est encouragée par l'architecture des plugins de Fastify, qui permet aux développeurs d'ajouter facilement de nouvelles fonctionnalités. L'expérience du développeur est améliorée par Fastify grâce à des fonctionnalités telles que des messages d'erreur clairs, une journalisation complète et une API facile à utiliser.
C'est une option de premier choix pour les développeurs cherchant à construire des applications web fiables et efficaces grâce à ses critères de vitesse, le classant parmi les frameworks Node.js les plus rapides disponibles. Npm simplifie l'installation, facilitant une intégration rapide dans les projets. L'objectif du design de Fastify est d'offrir un ensemble d'outils complet et efficace pour le développement web contemporain.
Fastifyest un framework web extrêmement efficace pour Node.js qui vise à fournir une surcharge minimale et des performances optimales parmi les frameworks web les plus rapides. Voici quelques-unes de ses qualités uniques. Il compile en interne le schéma avec Fastify en une fonction hautement performante.
Caractéristiques clés de Fastify
Haute performance
Parmi les frameworks web Node.js, Fastify possède l'un des meilleurs benchmarks de performance et est optimisé pour la vitesse. Il est adapté aux applications à fort trafic car il répond aux requêtes rapidement et efficacement.
Validation basée sur le schéma
Fastify vérifie les réponses sortantes et les requêtes entrantes en utilisant JSON Schema. Cela réduit la possibilité d'erreurs d'exécution et garantit l'intégrité des données.
Extensibilité
L'architecture des plugins de Fastify rend l'ajout et la modification de fonctionnalités simples. Les plugins offrent à l'équipe des plugins Fastify la capacité de composer et de réutiliser des fonctionnalités en les encapsulant.
Programmation asynchrone
Prend en charge entièrement la syntaxe async/await, qui offre une méthode claire et compréhensible pour gérer les processus asynchrones.
Conçu pour les développeurs
Le développement et le débogage sont facilités grâce aux messages d'erreur clairs, à la journalisation complète et à l'API simple du projet Fastify.
Sécurité intégrée
Fournit aux développeurs d'applications sécurisées des outils prêts à l'emploi et des meilleures pratiques, ainsi qu'une défense contre les vulnérabilités courantes.
Compatibilité middleware
Compatible avec les frameworks middleware tels que Express, simplifiant ainsi le transfert des applications actuelles.
Prise en charge de TypeScript
C'est une excellente option pour les applications sûres pour le typage grâce à son excellent support de TypeScript, ses types intégrés et sa simple intégration.
Routage efficace
La technologie de routage extrêmement efficace de Fastify garantit une faible surcharge et des temps de réaction rapides.
Génération de code automatique
Réduit le code répétitif et améliore la maintenabilité en générant automatiquement des interfaces TypeScript et des schémas JSON à partir de vos déclarations de route.
Gestion des erreurs
Systèmes de gestion centralisée des erreurs pour une détection et une gestion efficaces des erreurs.
Service de fichiers statiques
prend en charge la fourniture de fichiers statiques directement prêts à l'emploi, simplifiant ainsi la livraison des composants frontaux.
Créer et configurer Fastify Node.js JS
Mise en place du projet
Commencez par créer un nouveau répertoire pour votre projet et initialisez un nouveau projet Node.js avec npm en utilisant la commande : npm init -y. Cela configure la structure de base pour votre application.
Installer Fastify
npm install fastify
Nous allons installer Fastify et l'ajouter au fichier package du projet Fastify pour votre fichier project.json.
const fastify = require
```('fastify')({journaliseur : true}): Importe Fastify et l'initialise avec la journalisation activée(logger: true).
const fastify = require
```('fastify')({journaliseur : true}): Importe Fastify et l'initialise avec la journalisation activée(logger: true).
JAVASCRIPT
fastify.get('/', async(demande, réponse) => {... }): Définit une route GET pour l'URL racine(/), renvoyant une réponse JSON{bonjour: 'monde'}.
attendre fastify.listen(3000): Démarre le serveur Fastify sur le port 3000.
fastify.log.info(...): Enregistre un message indiquant que le serveur est en cours d'exécution.
Résultat généré par le code de l'outil Postman.
Commencer avec IronPDF et Fastify
Pour commencer à utiliserIronPDF etFastifydans Node.js, vous devrez incorporer IronPDF pour la génération de PDF et Fastify comme votre framework web. Pour les applications Node.js, IronPDF est une bibliothèque puissante pour générer, modifier et manipuler des documents PDF. Les instructions pour configurer et utiliser Fastify avec IronPDF sont les suivantes :
Qu'est-ce qu'IronPDF ?
IronPDFest une bibliothèque PDF Node.js puissante qui vise à créer des fichiers PDF d'une qualité extraordinaire à partir d'informations HTML. Sans sacrifier le contenu web original, il accélère le processus de conversion des fichiers HTML, CSS et autres fichiers JavaScript en PDF correctement formatés. Pour les applications web qui doivent générer des documents dynamiques et imprimables tels que des rapports, des factures et des certifications, c'est un outil très utile.
Paramètres de page personnalisables, en-têtes, pieds de page, et la possibilité d'ajouter des polices et des images ne sont qu'un aperçu des capacités d'IronPDF. Il peut gérer des mises en page et des styles complexes pour garantir que chaque sortie PDF de test est conforme aux exigences. De plus, IronPDF gère l'exécution de JavaScript à l'intérieur du HTML, permettant un rendu précis du contenu dynamique et interactif.
Caractéristiques d'IronPDF
Génération de PDF à partir de HTML
Convertissez JavaScript, HTML et CSS en PDF. supporte les media queries et le responsive design, deux standards web contemporains. utile pour décorer dynamiquement des factures, des rapports et des documents PDF avec du HTML et du CSS.
Edition PDF
Des textes, des photos et d'autres contenus peuvent être ajoutés à des PDF préexistants. Extraire du texte et des images de fichiers PDF. combinez plusieurs PDF en un seul fichier. Divisez les fichiers PDF en plusieurs documents distincts. Inclure des filigranes, des annotations, des en-têtes et des pieds de page.
Performance et fiabilité
Les performances élevées et la fiabilité sont des qualités recherchées dans les environnements industriels. gère facilement des ensembles de documents volumineux.
Installer IronPDF
Installer lePaquet IronPDFpour obtenir les outils nécessaires pour travailler avec des PDF dans des projets Node.js.
npm install @ironsoftware/ironpdf
Configurez un serveur Fastify avec l'intégration d'IronPDF
Voici une explication détaillée sur la manière d'incorporer IronPDF et Fastify pour créer des documents PDF dans une application Node.js :
// index.js
const fastify = require('fastify')({ logger: true });
const IronPdf = require("@ironsoftware/ironpdf");
const document=IronPdf.PdfDocument;
var config=IronPdf.IronPdfGlobalConfig
config.setConfig({licenseKey:''});
// Define a route fastify to generate PDF
fastify.get('/generate-pdf', async (request, reply) => {
try {
// Generate a simple PDF document
let pdfdata=await document.fromHtml('<h1>Hello, IronPDF!</h1>');
let pdfBuffer=await pdfdata.saveAsBuffer();
// Send the PDF as a download
fastify.log.info(`PDF generated successfully !!`);
// // Set response headers to serve the PDF
reply
.code(200)
.header('Content-Type', 'application/pdf')
.header('Content-Disposition', 'attachment; filename="generated.pdf"')
.send(pdfBuffer);
} catch (err) {
reply.code(500).send({ error: 'Failed to generate PDF' });
fastify.log.info(`Failed to generate PDF ${err}`);
}
});
// Run the server
const start = async () => {
try {
await fastify.listen(3000);
fastify.log.info(`Server listening on ${fastify.server.address().port}`);
} catch (err) {
console.error(err);
process.exit(1);
}
};
start();
// index.js
const fastify = require('fastify')({ logger: true });
const IronPdf = require("@ironsoftware/ironpdf");
const document=IronPdf.PdfDocument;
var config=IronPdf.IronPdfGlobalConfig
config.setConfig({licenseKey:''});
// Define a route fastify to generate PDF
fastify.get('/generate-pdf', async (request, reply) => {
try {
// Generate a simple PDF document
let pdfdata=await document.fromHtml('<h1>Hello, IronPDF!</h1>');
let pdfBuffer=await pdfdata.saveAsBuffer();
// Send the PDF as a download
fastify.log.info(`PDF generated successfully !!`);
// // Set response headers to serve the PDF
reply
.code(200)
.header('Content-Type', 'application/pdf')
.header('Content-Disposition', 'attachment; filename="generated.pdf"')
.send(pdfBuffer);
} catch (err) {
reply.code(500).send({ error: 'Failed to generate PDF' });
fastify.log.info(`Failed to generate PDF ${err}`);
}
});
// Run the server
const start = async () => {
try {
await fastify.listen(3000);
fastify.log.info(`Server listening on ${fastify.server.address().port}`);
} catch (err) {
console.error(err);
process.exit(1);
}
};
start();
JAVASCRIPT
Établir le serveur Fastify : import IronPDF(const IronPDF = require('iron-pdf');)et Fastify(javascript const fastify = require('fastify')();)dans index.js. Cela prépare le système en interne Fastify, pour gérer les requêtes HTTP et les tâches impliquant la création de PDFs.
Création d'un chemin pour la production de PDF : Créez une route dans Fastify appelée "/generate-pdf" pour gérer les demandes de génération de PDF. Spécifiez le Contenu HTML à convertir en PDF (
Bonjour, IronPDF!
)et instancier IronPDF à l'intérieur du gestionnaire de route. Le PDF peut être généré de manière asynchrone en utilisant la méthode fromHtml.()et préparé pour le téléchargement en utilisant la méthode saveAsBuffer()qui aide à convertir le document PDF généré en octets, puis il peut être envoyé via la réponse du serveur.
Lancer le serveur Fastify : Utilisez la commande start.()fonction pour gérer les erreurs potentielles lors de la configuration. Exécuter le serveur Fastify(fastify.listen(3000))sur un port désigné, tel que 3000. Cela garantit que le serveur est en fonctionnement et prêt à gérer les requêtes entrantes.
Conclusion
Enfin, une solution efficace pour créer et servir dynamiquement des documents PDF peut être trouvée en combinantFastify avecIronPDFdans Node.js. Les développeurs peuvent facilement créer et manipuler des PDFs basés sur du contenu dynamique ou des entrées utilisateur grâce à la conception légère et les capacités de routage efficaces du plugin Fastify, qui complètent les fonctionnalités étendues de IronPDF. La scalabilité et la fiabilité des applications web sont garanties par cette connexion, qui améliore significativement la vitesse et les performances des opérations de création de PDF.
Les développeurs peuvent facilement ajouter des fonctionnalités de production PDF complexes grâce à la configuration simple de Fastify et à la gestion facile des routes, ainsi qu'à la capacité d'IronPDF de transformer des informations HTML en PDF de haute qualité. Cette combinaison offre des choix de flexibilité et de personnalisation pour répondre à divers besoins applicatifs, que ce soit pour la création de factures, de rapports ou d'exportations de données.
Vous pouvez ajouter la reconnaissance optique de caractères (OCR), la numérisation de codes-barres, la création de PDF, l'interaction avec Excel et une multitude d'autres fonctionnalités à votre boîte à outils pour le développement sur Node.js grâce à l'aide deIronPDFlicence et sa licence Lite perpétuelle est disponible pour seulement $749.
Lorsque les alternatives de licence spécifiques au projet sont bien définies, les développeurs peuvent facilement sélectionner le modèle optimal. Pour plus d'informations sur les licences, veuillez visiter le licence page. IronPDF offre également des services complets dela documentation et diversexemples de codepour aider les développeurs à démarrer. Grâce à ces fonctionnalités, les développeurs peuvent résoudre avec succès et rapidité une large gamme de problèmes.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT fs extra npm (Comment ça fonctionne pour les développeurs)
SUIVANT > NestJS Node.js (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