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");
})();
Ramda JS NPM (Comment cela fonctionne pour les développeurs)
Jordi Bardia
septembre 29, 2024
Partager:
Ramdaest une bibliothèque fonctionnelle pratique pour JavaScript, conçue spécifiquement pour créer du code modulaire et réutilisable. Il met l'accent sur l'immutabilité et les fonctions pures, ce qui en fait un outil puissant pour gérer l'état et les transformations de données dans les applications JavaScript. Contrairement à d'autres bibliothèques telles que Lodash ouUnderscore, Ramdasuit une approche plus fonctionnelle, offrant une large gamme d'utilitaires qui facilitent le style de programmation fonctionnelle.
Principes Fondamentaux de Ramda
Immutabilité
L'immutabilité est un principe clé dansRamda. Les fonctions dans Ramda ne modifient pas les données d'entrée mais renvoient de nouvelles structures de données à la place. Cette approche réduit le risque d'effets secondaires, rendant le code plus prévisible et plus facile à déboguer.
Style fonctionnel pur
La bibliothèque Ramda pour les programmeurs JavaScript encourage l'utilisation de fonctions pures, qui sont des fonctions produisant le même résultat pour une même entrée et n'ayant pas d'effets secondaires. Les fonctions pures améliorent la fiabilité du code et le rendent plus facile à tester.
Créer des pipelines fonctionnels
Ramda, lors de l'exécution de la suite de tests, fournit des outils pour composer des fonctions, permettant aux développeurs de créer des opérations complexes en combinant des fonctions plus simples. Cette composabilité permet de créer facilement un code fonctionnel, plus lisible et maintenable.
Curryfication
Toutes les fonctions Ramda sont automatiquement curryfiées. Le currying consiste à décomposer une fonction qui accepte plusieurs arguments en une séquence de fonctions, chacune ne prenant qu'un seul argument. Cette fonctionnalité permet l'application partielle, où certains arguments d'une fonction peuvent être fixés, créant une nouvelle fonction qui prend les arguments restants.
Commencer avec Ramda
Pour commencer à utiliserRamda, vous devez l'installer via npm :
npm install ramda
Une fois installé, vous pouvez l'importer dans vos fichiers JavaScript :
const R = require('ramda');
const R = require('ramda');
JAVASCRIPT
Ou si vous utilisez les modules ES6 :
import * as R from 'ramda';
import * as R from 'ramda';
JAVASCRIPT
Exemples d'utilisation de base
Voici quelques exemples démontrant les principales caractéristiques distinctives de Ramda.
Immutabilité
L'exemple suivant démontre les fonctionnalités d'immutabilité de Ramda. Il ne modifie jamais les données utilisateur, mais ajoute plutôt à la structure de données originale.
Puisque R.add est une fonction pure, elle renverra toujours le même résultat pour les mêmes entrées.
Composition de fonctions
La composition de fonctions permet de construire des opérations complexes à partir de fonctions plus simples. Ramda propose R.compose et R.pipe à cet effet :
Le currying transforme une fonction afin qu'elle puisse être appelée avec moins d'arguments que prévu. Ramda applique par défaut le currying à toutes ses fonctions :
const addThreeNumbers = (a, b, c) => a + b + c;
const curriedAddThreeNumbers = R.curry(addThreeNumbers);
const add5And10 = curriedAddThreeNumbers(5)(10);
console.log(add5And10(2)); // 17
const addThreeNumbers = (a, b, c) => a + b + c;
const curriedAddThreeNumbers = R.curry(addThreeNumbers);
const add5And10 = curriedAddThreeNumbers(5)(10);
console.log(add5And10(2)); // 17
JAVASCRIPT
Fonctionnalités avancées
Lentilles
Le système de construction de Ramda prend en charge les Lenses, une fonctionnalité puissante pour la manipulation de données immuables. Ils offrent un moyen de se concentrer sur une partie spécifique des structures de données de base, permettant des lectures et des mises à jour sûres.
const person = { name: 'John', address: { city: 'New York', zip: 10001 } };
const addressLens = R.lensProp('address');
const cityLens = R.lensPath(['address', 'city']);
const updatedPerson = R.set(cityLens, 'Los Angeles', person);
console.log(R.view(cityLens, updatedPerson)); // Los Angeles
console.log(person.address.city); // New York (original object is not mutated)
const person = { name: 'John', address: { city: 'New York', zip: 10001 } };
const addressLens = R.lensProp('address');
const cityLens = R.lensPath(['address', 'city']);
const updatedPerson = R.set(cityLens, 'Los Angeles', person);
console.log(R.view(cityLens, updatedPerson)); // Los Angeles
console.log(person.address.city); // New York (original object is not mutated)
JAVASCRIPT
Transducteurs
Les transducteurs permettent des chaînes de transformation de données efficaces. Ils combinent les étapes de filtrage, de mapping et de réduction en un seul passage sur les données.
const numbers = [1, 2, 3, 4, 5];
const isEven = x => x % 2 === 0;
const double = x => x * 2;
const transducer = R.compose(R.filter(isEven), R.map(double));
const result = R.transduce(transducer, R.flip(R.append), [], numbers);
console.log(result); // [4, 8]
const numbers = [1, 2, 3, 4, 5];
const isEven = x => x % 2 === 0;
const double = x => x * 2;
const transducer = R.compose(R.filter(isEven), R.map(double));
const result = R.transduce(transducer, R.flip(R.append), [], numbers);
console.log(result); // [4, 8]
JAVASCRIPT
Style sans point
Ramda encourage un style de programmation fonctionnelle sans point, où les fonctions sont définies sans mentionner explicitement leurs arguments. Ce style de pureté fonctionnelle conduit à un code plus propre et plus concis.
const sum = R.reduce(R.add, 0);
const average = R.converge(R.divide, [sum, R.length]);
console.log(average([1, 2, 3, 4, 5])); // 3
const sum = R.reduce(R.add, 0);
const average = R.converge(R.divide, [sum, R.length]);
console.log(average([1, 2, 3, 4, 5])); // 3
JAVASCRIPT
Utilisation de Ramda JS avec IronPDF dans Node.js
Combinant la puissance de la programmation fonctionnelle deRamda JSavec les capacités de génération de PDF deIronPDFdans Node.js peut mener à un code plus maintenable, lisible et efficace.
Qu'est-ce qu'IronPDF ?
IronPDF for Node.jsdéveloppé parIron Software, est une bibliothèque puissante qui permet aux développeurs de créer, manipuler et rendre des documents PDF directement dans un environnement Node.js. Il offre un ensemble complet de fonctionnalités pour générer des PDF à partir de diverses sources telles que des URLs, des fichiers HTML et des chaînes HTML, le rendant très polyvalent pour les applications basées sur le web. La bibliothèque simplifie les opérations complexes sur les PDF, permettant une conversion et un rendu directs avec un code minimal.
AvecIronPDF, les développeurs peuvent facilement intégrer la génération de PDF dans leurs flux de travail, profitant de sa fonctionnalité robuste et de sa facilité d'utilisation, ce qui est particulièrement utile pour créer des rapports dynamiques, des factures et d'autres fonctionnalités basées sur des documents dans les applications web modernes.
Installation
Tout d'abord, installez le package IronPDF for Node.js en utilisant npm :
npm i @ironsoftware/ironpdf
Utilisation de base
Pour utiliser IronPDF en combinaison avec Ramda, importez les modules requis :
import { PdfDocument } from "@ironsoftware/ironpdf";
import * as R from "ramda";
import { PdfDocument } from "@ironsoftware/ironpdf";
import * as R from "ramda";
JAVASCRIPT
Génération de PDFs avec Ramda et IronPDF
Nous pouvons utiliser Ramda pour créer des pipelines fonctionnels qui effectuent toutes les opérations de génération de PDF séquentiellement. Ici, nous créons des PDF à partir deURL, HTML String, Fichier HTMLet le canaliser en utilisant le style JavaScript fonctionnel de Ramda :
Ramdaest une bibliothèque polyvalente et puissante conçue spécifiquement pour la programmation fonctionnelle en JavaScript. En mettant l'accent sur l'immuabilité, les fonctions pures et la composition de fonctions, Ramda aide les développeurs à écrire un code plus fiable et plus maintenable.
En intégrantRamda JS avecIronPDFdans Node.js, vous pouvez créer une approche fonctionnelle et organisée pour générer des PDFs. Les utilitaires de Ramda pour la programmation fonctionnelle rendent le code plus lisible et maintenable, tandis que IronPDF offre des capacités robustes de génération de PDF. Cette combinaison permet une création efficace et évolutive de PDF à partir de diverses sources, améliorant ainsi vos applications Node.js.
EssayerIronPDF à partir de $749. Découvrez les puissantes fonctionnalités et voyez pourquoi cela vaut l'investissement. Essayez-le dès aujourd'hui!
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 analyseur de corps node (Comment ça fonctionne pour les développeurs)
SUIVANT > Node.js Fetch (Comment cela 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