Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Ce tutoriel aborde les points suivants IronPDF et PDFKit - deux grands noms des bibliothèques JavaScript PDF. Les deux sont des choix solides pour les projets Node.js, mais ils ont leurs forces et leurs faiblesses.
L'objectif de cet article est de donner aux lecteurs une idée réelle de la façon dont les outils IronPDF et PDFKit peuvent s'intégrer dans le flux de travail Node.js d'un développeur. Qu'il s'agisse de produire des PDF de base ou de gérer des mises en page complexes, il est important de comprendre ce qu'IronPDF et PDFKit peuvent faire pour vous (et ne peut pas) est très important.
PDFKit est une bibliothèque avancée de génération de PDF en JavaScript pour Node.js et les environnements de navigation. Grâce à son ensemble complet d'outils, il est idéal pour créer facilement des documents imprimables de plusieurs pages. La bibliothèque est conçue pour être facile à utiliser et rationaliser le processus de génération de documents complexes.
PDFKit se distingue par ses puissantes capacités graphiques vectorielles, ses nombreuses options de style de texte et de police, ses fonctions d'intégration d'images et sa prise en charge des documents PDF interactifs et sécurisés. Sa facilité d'utilisation, combinée à sa polyvalence pour les environnements côté serveur et navigateur, en fait un outil précieux pour les développeurs qui ont besoin de générer des PDF personnalisés dans une variété d'applications.
**Génération de PDF flexibles
PDFKit ne repose pas sur la conversion de HTML en PDF ; au lieu de cela, il génère des PDF directement par le biais du code JavaScript. Cette approche permet aux développeurs de contrôler précisément la mise en page, le style et le contenu des fichiers PDF qu'ils créent, ce qui facilite la création de documents complexes.
Formatage graphique et textuel
La bibliothèque prend en charge des fonctionnalités graphiques avancées, notamment les lignes, les courbes, les rectangles, les cercles, etc. Les fonctions de mise en forme du texte, telles que la personnalisation des polices, des tailles et des couleurs, permettent de créer des documents visuellement attrayants.
Image Embedding and Vector Graphics (intégration d'images et graphiques vectoriels)
PDFKit permet d'intégrer des images dans différents formats et prend en charge les graphiques vectoriels, ce qui le rend idéal pour les documents imprimés de haute qualité. L'intégration d'images prend en charge les fichiers JPEG et PNG.
Fonctionnalités avancées des documents
Les développeurs peuvent ajouter des annotations, des signets et des liens hypertextes à leurs PDF. La bibliothèque permet également la création d'en-têtes et de pieds de page, ainsi que l'inclusion de numéros de page et de JavaScript personnalisés.
Composants personnalisables et réutilisables
L'API PDFKit facilite la création de composants réutilisables, rationalisant ainsi le processus de développement pour les documents à structure répétitive tels que les factures ou les rapports.
Graphiques vectoriels
PDFKit offre une API HTML5 semblable à un canevas pour les graphiques vectoriels, y compris les opérations sur les chemins, l'analyse des chemins SVG, les transformations et les dégradés. C'est la solution idéale pour créer des graphiques évolutifs et de haute qualité dans les PDF. La bibliothèque prend en charge le retour à la ligne, divers alignements de texte et les listes à puces.
Polices intégrées
PDFKit prend en charge un large éventail de formats de polices (TrueType, OpenType, WOFF, etc.), ce qui permet d'obtenir une typographie cohérente dans les PDF. Le réglage de la sous-police est également disponible, ce qui garantit que la taille du document reste gérable.
Avec IronPDF, vous pouvez facilement convertir des chaînes HTML, des fichiers ou même des pages web entières en PDF qui ressemblent exactement au contenu original, avec le style CSS et les images. Cela est essentiel pour fournir des documents de qualité professionnelle tels que des factures, des contrats et des rapports qui doivent conserver l'image de marque et la mise en page spécifiées par les conceptions web.
IronPDF excelle dans la conversion de contenu HTML en documents PDF de haute qualité. Ses capacités sont les suivantes
IronPDF fournit des outils de formatage complets qui permettent de personnaliser et d'améliorer les PDF créés à partir de contenu HTML, tels que :
Les capacités d'édition d'IronPDF sont étendues et permettent de modifier des PDF existants pour les adapter à des besoins spécifiques :
IronPDF prend en charge la création et la manipulation de formulaires PDF, ce qui permet d'intégrer des éléments interactifs dans le PDF :
Formulaires PDF : Il s'agit de créer des formulaires qui peuvent être remplis numériquement, ce qui permet aux entreprises d'automatiser le processus de collecte de données. Avec IronPDF, vous pouvez créer des formulaires par programmation, remplir des champs et même récupérer des informations, ce qui rationalise les flux de travail et réduit la saisie manuelle de données.
IronPDF prend en charge diverses plates-formes, ce qui le rend polyvalent pour différents environnements de développement. Il est compatible avec la version 12.0 et supérieure de Node.js et peut être utilisé sous Windows, Linux, Mac et Docker.
Avant de plonger dans le monde de la génération de PDF, vous devez configurer l'environnement de votre projet. Code Visual Studio (Code VS) constitue une plate-forme idéale et conviviale. Commencez par lancer VS Code et créez un nouveau projet JavaScript. Vous pouvez le faire en créant un nouveau dossier pour votre projet et en l'ouvrant dans VS Code. C'est dans cet environnement que vous écrirez votre code et gérerez les fichiers de votre projet.
Une fois que votre dossier est ouvert dans VS Code, l'étape suivante consiste à initialiser un nouveau projet JavaScript. Ouvrir le terminal intégré dans VS Code (que l'on trouve généralement sous Terminal > Nouveau terminal dans le menu) et tapez npm init
. Cette commande vous guidera dans la création d'un fichier package.json
, qui est crucial pour la gestion des dépendances et des métadonnées de votre projet.
Une fois votre projet JavaScript mis en place, il est temps d'installer la bibliothèque IronPDF. Dans votre terminal VS Code, exécutez la commande suivante :
npm install ironpdf
npm install ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install ironpdf
Cette commande récupère et installe la bibliothèque IronPDF, en l'ajoutant aux dépendances de votre projet.
Après l'installation, assurez-vous qu'IronPDF est listé dans votre fichier package.json
sous la section des dépendances. Cela permet de s'assurer qu'IronPDF est correctement intégré à votre projet, ouvrant la voie à la génération et à la manipulation de PDF en toute transparence.
Vient ensuite PDFKit, une bibliothèque robuste et polyvalente de génération de documents PDF. Pour ajouter PDFKit à votre projet, exécutez la commande suivante dans votre terminal à l'intérieur de Vs Code :
npm install pdfkit
npm install pdfkit
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install pdfkit
Cela installera PDFKit et l'ajoutera aux dépendances de votre projet.
Une fois l'installation réussie, vérifiez que PDFKit apparaît dans les dépendances de votre fichier package.json. Cette confirmation est cruciale pour confirmer que votre projet est désormais équipé des outils nécessaires à la création de fichiers PDF complexes, détaillés et visuellement attrayants.
IronPDF for Node.js excelle dans la conversion de HTML en PDF, offrant ainsi une solution efficace aux développeurs. Cette bibliothèque est capable de gérer des tâches complexes telles que le rendu des styles CSS, l'exécution de JavaScript et l'incorporation d'en-têtes et de pieds de page personnalisés. Ces fonctionnalités améliorent considérablement sa capacité à créer des PDF de qualité professionnelle à partir de sources HTML. IronPDF pour Node.js propose trois méthodes pratiques pour ce processus de conversion :
Cette méthode permet aux développeurs de convertir directement les chaînes de code HTML en fichiers PDF. Cette fonction est extrêmement utile pour les scénarios impliquant la génération de contenu dynamique. Qu'il s'agisse de créer des rapports personnalisés, de générer des factures à la volée ou de présenter un contenu axé sur les données dans un format professionnel, cette fonction simplifie le processus.
import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey:
"Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML String
const pdf = await PdfDocument.fromHtml(
"<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"
);
// Save the PDF document to the file system.
await pdf.saveAs("HtmlStringToPDF.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();
import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey:
"Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML String
const pdf = await PdfDocument.fromHtml(
"<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"
);
// Save the PDF document to the file system.
await pdf.saveAs("HtmlStringToPDF.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();
import
If True Then
PdfDocument, PdfGenerator
End If
from "@ironsoftware/ironpdf"
import
If True Then
IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
try {
const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromHtml("<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"); Await pdf.saveAs("HtmlStringToPDF.pdf");
}
catch ([error]) { console.error("An error occurred:", [error]); }
})()
Vous pouvez voir ici le résultat du code :
Grâce à cette fonction, les développeurs peuvent convertir des fichiers HTML existants en PDF. Cette fonctionnalité est particulièrement utile pour traiter les documents HTML statiques. Que vous travailliez avec des pages web préconçues, des formulaires standardisés ou des brochures d'information, cette fonction vous permet de les convertir directement en PDF.
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey:
"Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML File"
const pdf = await PdfDocument.fromFile("invoice.html");
// Save the PDF document to the file system.
await pdf.saveAs("invoice.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey:
"Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML File"
const pdf = await PdfDocument.fromFile("invoice.html");
// Save the PDF document to the file system.
await pdf.saveAs("invoice.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();
import
If True Then
PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
try {
const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromFile("invoice.html"); Await pdf.saveAs("invoice.pdf");
}
catch ([error]) { console.error("An error occurred:", [error]); }
})()
Voici le PDF de la facture générée :
Cette fonction permet de convertir des pages web en PDF en utilisant simplement leur URL. Cette fonctionnalité est particulièrement utile pour capturer du contenu en ligne en direct. Qu'il s'agisse d'archiver des pages web, de créer des copies hors ligne d'articles en ligne ou de générer des rapports à partir de données basées sur le web, cette fonctionnalité les gère sans effort.
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey:
"Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// URL of the web page to convert to PDF
const url = "https://en.wikipedia.org/wiki/PDF";
// Convert the Web Page to a pixel-perfect PDF file.
const urlPDF = await PdfDocument.fromUrl(url);
// Save the document.
await urlPDF.saveAs("UrlToPdf.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey:
"Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// URL of the web page to convert to PDF
const url = "https://en.wikipedia.org/wiki/PDF";
// Convert the Web Page to a pixel-perfect PDF file.
const urlPDF = await PdfDocument.fromUrl(url);
// Save the document.
await urlPDF.saveAs("UrlToPdf.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();
import
If True Then
PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
try {
const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const url = "https://en.wikipedia.org/wiki/PDF"; const urlPDF = Await PdfDocument.fromUrl(url); Await urlPDF.saveAs("UrlToPdf.pdf");
}
catch ([error]) { console.error("An error occurred:", [error]); }
})()
Voici le fichier PDF généré à partir de l'URL :
PDFKit, bien qu'il ne soit pas principalement conçu pour la conversion de HTML en PDF comme IronPDF, offre tout de même un moyen de créer par programmation des documents PDF directement à partir d'un code JavaScript. L'exemple ci-dessous montre comment créer un simple fichier PDF :
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
.text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
.text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument()
doc.pipe(fs.createWriteStream( 'output.pdf'));
doc.fontSize(25).text( 'PDFKit - Text @to PDF Example', 100, 100);
doc.end()
Cet extrait de code crée un fichier PDF avec un titre textuel. Bien que PDFKit ne convertisse pas directement le HTML en PDF, il permet un contrôle détaillé de l'emplacement et du formatage du texte.
Voici le fichier de sortie généré par PDFKit :
Mots de passe, sécurité et métadonnées: IronPDF permet aux développeurs de renforcer la sécurité de leurs fichiers PDF grâce à diverses fonctionnalités. Il permet de définir des mots de passe, ajoutant ainsi une couche de protection supplémentaire qui oblige les utilisateurs à saisir un mot de passe pour consulter le document. En outre, IronPDF permet d'intégrer des métadonnées dans le PDF, qui peuvent inclure des informations sur l'auteur, des titres et des mots-clés, améliorant ainsi la gestion et l'organisation des documents.
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Import a PDF document or create a new PDF from Html
const pdf = await PdfDocument.open("encrypted.pdf", "password");
// Create an empty Map
const newMetadata = new Map();
// Add key-value pairs of metadata
newMetadata.set("Author", "Satoshi Nakamoto");
newMetadata.set("Keywords", "SEO, Friendly");
await pdf.overrideMetadata(newMetadata);
await pdf.removePasswordsAndEncryption();
// Make PDF read-only
await pdf.makePdfDocumentReadOnly("secret-key");
// Configure permissions
const permissions = {
AllowAnnotations: false,
AllowExtractContent: false,
AllowFillForms: false,
AllowPrint: true,
};
await pdf.setPermission(permissions);
// Change or set the document encrpytion password
await pdf.saveAs("secured.pdf", {
ownerPassword: "top-secret",
userPassword: "my-password",
});
})();
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Import a PDF document or create a new PDF from Html
const pdf = await PdfDocument.open("encrypted.pdf", "password");
// Create an empty Map
const newMetadata = new Map();
// Add key-value pairs of metadata
newMetadata.set("Author", "Satoshi Nakamoto");
newMetadata.set("Keywords", "SEO, Friendly");
await pdf.overrideMetadata(newMetadata);
await pdf.removePasswordsAndEncryption();
// Make PDF read-only
await pdf.makePdfDocumentReadOnly("secret-key");
// Configure permissions
const permissions = {
AllowAnnotations: false,
AllowExtractContent: false,
AllowFillForms: false,
AllowPrint: true,
};
await pdf.setPermission(permissions);
// Change or set the document encrpytion password
await pdf.saveAs("secured.pdf", {
ownerPassword: "top-secret",
userPassword: "my-password",
});
})();
import
If True Then
PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Sub()
const pdf = Await PdfDocument.open("encrypted.pdf", "password")
const newMetadata = New Map()
newMetadata.set("Author", "Satoshi Nakamoto")
newMetadata.set("Keywords", "SEO, Friendly")
Await pdf.overrideMetadata(newMetadata)
Await pdf.removePasswordsAndEncryption()
Await pdf.makePdfDocumentReadOnly("secret-key")
const permissions = { AllowAnnotations: False, AllowExtractContent: False, AllowFillForms: False, AllowPrint: True}
Await pdf.setPermission(permissions)
Await pdf.saveAs("secured.pdf", {
ownerPassword:= "top-secret",
userPassword:= "my-password"
})
End Sub)()
Cryptage et décryptage de PDF: Le cryptage et le décryptage sont des éléments vitaux de la sécurité des documents, et IronPDF s'en charge avec facilité. Il offre différents niveaux de cryptage, de la simple protection par mot de passe aux normes de cryptage avancées, garantissant ainsi la sécurité des informations sensibles. La fonction de décryptage est tout aussi robuste et permet aux utilisateurs autorisés d'accéder aux documents cryptés et de les modifier.
Signatures numériques: À l'ère de la documentation numérique, l'authenticité et l'intégrité sont primordiales. Signatures numériques d'IronPDF permet aux utilisateurs de signer numériquement leurs PDF, ce qui permet non seulement de vérifier l'identité de l'auteur du document, mais aussi d'indiquer que le document n'a pas été modifié depuis l'apposition de la signature, garantissant ainsi son authenticité.
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Step 1. Import a PDF
const pdf = await PdfDocument.open("sample.pdf");
// Step 2. Sign the PDF with digital certificate
await pdf.signDigitalSignature({
certificatePath: "IronSoftware.pfx",
certificatePassword: "123456",
signingReason: "To show how to sign a PDF",
signingLocation: "Chicago, USA",
signatureImage: {
SignatureImagePath: "logo.png"
}
});
//Step 3. The PDF is not signed until saved to file.
await pdf.saveAs("signed.pdf");
})();
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Step 1. Import a PDF
const pdf = await PdfDocument.open("sample.pdf");
// Step 2. Sign the PDF with digital certificate
await pdf.signDigitalSignature({
certificatePath: "IronSoftware.pfx",
certificatePassword: "123456",
signingReason: "To show how to sign a PDF",
signingLocation: "Chicago, USA",
signatureImage: {
SignatureImagePath: "logo.png"
}
});
//Step 3. The PDF is not signed until saved to file.
await pdf.saveAs("signed.pdf");
})();
import
If True Then
PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Function()
const pdf = Await PdfDocument.open("sample.pdf")
Await pdf.signDigitalSignature({
certificatePath:= "IronSoftware.pfx",
certificatePassword:= "123456",
signingReason:= "To show how to sign a PDF",
signingLocation:= "Chicago, USA",
signatureImage:= { SignatureImagePath:= "logo.png" }
})
Await pdf.saveAs("signed.pdf")
End Function)()
**IronPDF reconnaît la nécessité d'un stockage efficace et d'un partage rapide des documents. Il comprend un Compression PDF qui réduit considérablement la taille des fichiers, ce qui est essentiel pour optimiser l'espace de stockage et accélérer la transmission des documents sans compromettre la qualité et l'intégrité du contenu des PDF.
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Load the existing PDF document
const pdf = await PdfDocument.fromFile("my-content.pdf");
// Compress images with quality parameter (1-100)
await pdf.compressSize(60);
// Save the compressed PDF
await pdf.saveAs("document_compressed.pdf");
// Compress images and scale down based on visible size in the PDF document
await pdf.compressSize(90, true);
// Save the scaled and compressed PDF
await pdf.saveAs("document_scaled_compressed.pdf");
});
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Load the existing PDF document
const pdf = await PdfDocument.fromFile("my-content.pdf");
// Compress images with quality parameter (1-100)
await pdf.compressSize(60);
// Save the compressed PDF
await pdf.saveAs("document_compressed.pdf");
// Compress images and scale down based on visible size in the PDF document
await pdf.compressSize(90, true);
// Save the scaled and compressed PDF
await pdf.saveAs("document_scaled_compressed.pdf");
});
import
If True Then
PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Function()
const pdf = Await PdfDocument.fromFile("my-content.pdf")
Await pdf.compressSize(60)
Await pdf.saveAs("document_compressed.pdf")
Await pdf.compressSize(90, True)
Await pdf.saveAs("document_scaled_compressed.pdf")
End Function)
Fusionner deux ou plusieurs PDF: IronPDF fournit une solution simple pour fusionner des fichiers PDF plusieurs documents PDF dans un seul fichier. Cette fonction est extrêmement utile pour combiner différents documents tels que des rapports, des contrats ou des séries de formulaires, ce qui permet d'améliorer la gestion et la distribution des documents.
Supprimer des pages PDF spécifiques: La flexibilité dans l'édition est la clé de tout outil PDF, et IronPDF offre la possibilité de supprimer des pages spécifiques d'un document PDF. Cette fonction est particulièrement utile pour adapter le contenu à différents publics ou pour supprimer des pages inutiles afin de créer un document plus concis.
Moteur de mise en page personnalisable: PDFKit est doté d'un moteur de mise en page personnalisable qui permet aux développeurs de contrôler tous les aspects de la mise en page du PDF, du positionnement du texte aux éléments graphiques complexes.
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
align: 'center',
valign: 'center'
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
align: 'center',
valign: 'center'
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument({ margin:= 50 })
' Custom layouts
doc.text( 'Customized Layout Text', { align: 'center', valign: 'center' });
doc.end()
doc.pipe(fs.createWriteStream( 'custom-layout.pdf'));
Dans cet exemple, PDFDocument
est utilisé pour créer une mise en page personnalisée avec un texte centré.
Fonctionnalités graphiques et textuelles avancées : PDFKit offre des fonctions graphiques et textuelles avancées, permettant une conception et un style complexes dans les fichiers PDF. Il permet de dessiner des formes et d'ajouter des images et des SVG. En ce qui concerne le texte, PDFKit offre une gamme complète d'options de mise en page, des zones de texte de base aux contrôles typographiques avancés, garantissant ainsi que la mise en page de chaque page est exactement celle qui a été envisagée.
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
.lineTo(100, 250)
.lineTo(200, 250)
.fill("#FF3300");
// Advanced text
doc.fontSize(15)
.font('Times-Roman')
.text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
.lineTo(100, 250)
.lineTo(200, 250)
.fill("#FF3300");
// Advanced text
doc.fontSize(15)
.font('Times-Roman')
.text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument()
' Advanced graphics
doc.moveTo(100, 150).lineTo(100, 250).lineTo(200, 250).fill("#FF3300")
' Advanced text
doc.fontSize(15).font( 'Times-Roman').text('Advanced Text Features', 100, 300);
doc.end()
doc.pipe(fs.createWriteStream( 'advanced-graphics-text.pdf'));
Gestion des flux et des tampons : PDFKit excelle dans la gestion des flux et des tampons, ce qui permet une gestion efficace des fichiers PDF volumineux et de leurs données.
const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');
let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
buffers.push(chunk);
done();
};
doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
let pdfData = Buffer.concat(buffers);
fs.writeFileSync('streamed.pdf', pdfData);
});
const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');
let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
buffers.push(chunk);
done();
};
doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
let pdfData = Buffer.concat(buffers);
fs.writeFileSync('streamed.pdf', pdfData);
});
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
const stream = require( 'stream');
Dim doc As let = New PDFDocument()
Dim buffers As let = ()
Dim writableStream As let = New stream.Writable()
writableStream._write = Sub(chunk, encoding, done)
buffers.push(chunk)
done()
End Sub
doc.pipe(writableStream)
doc.text( 'Streaming PDF Content');
doc.end()
writableStream.on( 'finish', () =>
If True Then
Dim pdfData As let = Buffer.concat(buffers)
fs.writeFileSync( 'streamed.pdf', pdfData);
End If
)
En-têtes et pieds de page personnalisables: La création d'un PDF de qualité professionnelle nécessite une attention particulière aux détails. Les en-têtes et pieds de page personnalisables de PDFKit permettent de placer avec précision le texte et les graphiques en haut et en bas des pages. Cette fonction est particulièrement utile pour ajouter une image de marque, des titres de documents et une pagination cohérents dans un document de plusieurs pages.
Formulaires interactifs: PDFKit étend ses capacités aux formulaires interactifs dans vos fichiers PDF, permettant la création de champs de texte, de cases à cocher et de boutons radio. Cette fonction est inestimable pour les utilisateurs qui cherchent à collecter des informations ou à fournir un contenu interactif, améliorant ainsi l'expérience de l'utilisateur et la fonctionnalité du PDF.
La documentation d'IronPDF fournit un guide complet de l'utilisation de la bibliothèque, avec des exemples détaillés de fonctionnalités clés telles que le rendu d'une URL en PDF et la création d'un PDF à partir d'une chaîne HTML. Il offre des options de personnalisation pour l'impression des PDF, comme la définition du format du papier et du DPI, et pour l'apparence des documents, comme les en-têtes et les pieds de page avec les champs de fusion de courrier. La documentation couvre également des aspects plus avancés tels que l'utilisation de WebClients personnalisés, la création de formulaires PDF modifiables et l'utilisation de JavaScript dans les PDF. Vous pouvez consulter la documentation pour obtenir la documentation complète de l'interface utilisateur et d'autres exemples.
Pour la définition des en-têtes et des pieds de page, les options HTML et texte sont bien documentées, ce qui permet de fusionner les méta-données à l'aide de chaînes de caractères de remplacement. Des détails sur les licences sont fournis, guidant les utilisateurs sur la manière de supprimer les filigranes et d'obtenir une licence. La documentation fournit même des informations sur la configuration du numéro de première page pour les en-têtes et les pieds de page des PDF, ainsi que des détails sur le temps d'attente après le rendu HTML avant l'impression, en tenant compte du rendu de JavaScript, AJAX ou des animations.
IronPDF dispose d'une collection de guides de dépannage qui traitent des problèmes courants et fournissent des solutions étape par étape. Il peut s'agir de la première étape pour les utilisateurs qui tentent de résoudre un problème. Pour les problèmes plus complexes ou ceux qui ne peuvent être résolus par les guides, IronPDF propose une assistance technique. Les utilisateurs peuvent soumettre une demande d'assistance technique qui peut inclure la fourniture d'informations détaillées sur le problème, telles que les spécificités de la plate-forme ou de l'exécution, afin d'aider l'équipe d'assistance à reproduire et à résoudre le problème. Vous pouvez également utiliser l'option de chat en direct.
La documentation npm de PDFKit décrit la bibliothèque comme un outil permettant de créer facilement des documents complexes, multi-pages et imprimables. Il met l'accent sur la chaînabilité de son API et comprend à la fois des fonctions de bas niveau et des abstractions pour les fonctionnalités de haut niveau, conçues pour être suffisamment simples pour que la génération de documents complexes puisse être aussi simple que quelques appels de fonctions.
La section de la documentation consacrée aux fonctionnalités est très complète et couvre les graphiques vectoriels, le texte, l'intégration de polices, l'intégration d'images, les annotations, la création de formulaires, les contours et la sécurité des PDF, autant d'éléments qui démontrent la capacité de la bibliothèque à créer des documents accessibles et sécurisés.
PDFKit étant une bibliothèque open-source, il bénéficie du soutien de la communauté. Les problèmes et les demandes de fonctionnalités peuvent être traités via son dépôt GitHub, où les utilisateurs peuvent contribuer au code, soumettre des problèmes et faire des demandes d'extraction. La communauté autour de PDFKit peut également fournir des canaux d'assistance non officiels comme Stack Overflow, où les développeurs partagent souvent leurs connaissances et leurs solutions.
IronPDF fonctionne selon un modèle de licence commerciale, ce qui signifie que les développeurs ou les entreprises doivent acheter une licence pour utiliser la bibliothèque dans leurs projets sans limitations.
Lite : Au prix de $749, cette redevance unique fournit un ensemble de base adapté aux petits projets.
Professionnel : À 1 499 $, ce niveau est destiné à un usage professionnel et offre davantage de fonctions et de possibilités.
Illimité : Le niveau illimité est proposé au prix de 2 999 $ et est idéal pour les déploiements à grande échelle, offrant un accès complet à toutes les fonctionnalités sans restrictions.
IronPDF propose également un service de essai gratuitpermettant aux développeurs d'évaluer la bibliothèque avant de l'acheter. Il n'existe pas de version gratuite ou freemium, et les services de conseil ou d'intégration premium ne sont pas proposés.
PDFKit est une bibliothèque open-source disponible sous la licence MIT. Cette licence permissive permet d'utiliser, de modifier et de distribuer librement le logiciel. En tant que projet open-source, PDFKit n'a pas de structure tarifaire. Il peut être librement incorporé dans n'importe quel projet et les utilisateurs peuvent contribuer à son développement via GitHub. Le projet accepte les dons, qui ne sont pas obligatoires mais qui soutiennent le développement et l'entretien continus de la bibliothèque.
En conclusion, IronPDF for Node.js et PDFKit sont tous deux de puissants outils de génération et de manipulation de PDF dans leurs environnements respectifs, mais IronPDF for Node.js a un avantage grâce à son vaste ensemble de fonctionnalités adaptées à la plateforme Node.js.
Les capacités d'IronPDF en matière de conversion de HTML en PDF, d'édition avancée et de prise en charge complète de JavaScript et d'autres médias enrichis en font une solution polyvalente pour un large éventail de tâches de traitement de PDF. En outre, l'accent mis par IronPDF sur la sécurité et sa documentation détaillée offrent un niveau d'assurance et d'accessibilité crucial pour les développeurs.
PDFKit, en tant que logiciel libre, offre une flexibilité et une facilité d'utilisation qui peuvent être très attrayantes pour les développeurs qui préfèrent une assistance communautaire étendue et la possibilité de modifier le code source. Ses capacités sont impressionnantes, surtout si l'on considère les avantages en termes de coûts d'une solution à code source ouvert.
IronPDF propose une version d'essai gratuite qui permet aux développeurs d'évaluer l'ensemble de ses fonctionnalités avant de s'engager financièrement. En outre, Iron Software's Iron Suitequi comprend IronPDF ainsi que d'autres outils précieux pour les développeurs, tels que IronXL, IronBarcode, IronQRet IronOCRle logiciel de gestion de l'information de l'Union européenne (UE) est une offre globale rentable, qui propose un ensemble complet de fonctionnalités pour le prix de deux produits.
En fin de compte, le choix entre IronPDF for Node.js et PDFKit s'articulera autour des exigences particulières du projet et des préférences du développeur ou de l'équipe de développement. Pour ceux qui recherchent un ensemble de fonctionnalités et une documentation étendue au sein de l'écosystème Node.js, IronPDF for Node.js s'impose comme un choix judicieux.
9 produits de l'API .NET pour vos documents de bureau