COMPARAISON DES PRODUITS

Une comparaison entre PDFKit npm et IronPDF pour Node.js

Publié janvier 4, 2024
Partager:

Introduction

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

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.

Principales caractéristiques de PDFKit

  • **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.

IronPDF for Node.js

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.

Principales caractéristiques d'IronPDF pour Node.js

Conversion de HTML en PDF

IronPDF excelle dans la conversion de contenu HTML en documents PDF de haute qualité. Ses capacités sont les suivantes

  • Chaîne HTML en PDF : Cette fonction permet de convertir des chaînes HTML dynamiques directement en PDF.
  • Fichier HTML en PDF : Cette fonction permet de transformer en toute transparence des fichiers HTML statiques en format PDF, tout en conservant la mise en page et le style.
  • URL en PDF : IronPDF peut capturer des pages web entières par URL et les convertir en PDF, ce qui est parfait pour l'archivage et l'accès hors ligne.

Formatage des PDF

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 :

  • **Avant la conversion, IronPDF peut exécuter JavaScript dans HTML, ce qui permet le rendu de données dynamiques ou d'éléments interactifs dans le format statique d'un PDF.
  • Ajouter des codes-barres en HTML au PDF: IronPDF prend en charge l'intégration de codes-barres au sein du PDF, une fonctionnalité essentielle pour les documents utilisés dans la logistique, la vente au détail et la gestion des stocks.
  • Appliquer des modèles de page: Uniformisez l'aspect et la convivialité de vos documents en appliquant des modèles de page, qui peuvent être des mises en page prédéfinies utilisées pour assurer la cohérence entre plusieurs PDF.
  • **IronPDF permet d'intégrer des polices personnalisées directement à partir du contenu HTML dans le PDF, ce qui garantit la cohérence de l'image de marque et de la conception dans tous les documents.

Modifier le contenu de la page

Les capacités d'édition d'IronPDF sont étendues et permettent de modifier des PDF existants pour les adapter à des besoins spécifiques :

  • Recherche et remplacement de texte: Cette fonction permet aux utilisateurs de rechercher et de remplacer du texte dans le PDF, ce qui facilite les mises à jour et les corrections.
  • Ajouter du contenu HTML de manière efficace: Les utilisateurs peuvent insérer davantage de contenu HTML dans un PDF existant. Cette fonction est optimisée pour garantir que le contenu supplémentaire n'affecte pas les performances ou les temps de chargement du document.
  • Emboutissage d'un nouveau contenu: IronPDF peut tamponner ou superposer un nouveau contenu sur une page PDF existante. Cette fonction est utile pour ajouter des filigranes officiels, des cachets confidentiels ou pour mettre à jour des informations sur des documents préexistants.

Utiliser des formulaires PDF

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.

Compatibilité multiplateforme

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.

Expérience utilisateur et accessibilité

  • Installation facile : La mise en place d'IronPDF est directe avec de simples commandes npm ou yarn. Le moteur IronPDF, nécessaire au fonctionnement de la bibliothèque, est automatiquement téléchargé lors de la première exécution.
  • Exemple de code pour un démarrage rapide : La bibliothèque fournit des exemples de code pour diverses fonctions, comme la conversion de HTML en PDF, ce qui simplifie le processus de mise en œuvre pour les développeurs.

Création du projet JavaScript dans Visual Studio Code

Configuration de l'environnement de développement

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.

Initialisation du 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.

Installer la bibliothèque IronPDF

Ajouter IronPDF à 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
VB   C#

Cette commande récupère et installe la bibliothèque IronPDF, en l'ajoutant aux dépendances de votre projet.

Vérification de l'installation

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.

Une comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 1

Installer la bibliothèque PDFKit

Intégration de PDFKit

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
VB   C#

Cela installera PDFKit et l'ajoutera aux dépendances de votre projet.

Assurer une installation correcte

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.

Une comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 2

Comparaison de la fonctionnalité HTML vers PDF dans IronPDF et PDFKit

IronPDF Conversion de HTML en PDF

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 :

  1. Chaîne HTML vers PDF
  2. Fichier HTML vers PDF
  3. URL en PDF : Cette fonction unique permet de convertir des pages web en PDF en utilisant simplement leur URL. Il s'agit d'un moyen efficace de capturer du contenu en ligne en direct au format PDF.

Conversion de chaînes HTML en PDF

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]); }
})()
VB   C#

Vous pouvez voir ici le résultat du code :

Comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 3

Conversion de fichiers HTML en PDF

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]); }
})()
VB   C#

Voici le PDF de la facture générée :

Comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 4

Conversion d'URL en PDF

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]); }
})()
VB   C#

Voici le fichier PDF généré à partir de l'URL :

Comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 5

PDFKit Conversion HTML en PDF

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()
VB   C#

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 :

Comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 6

Flexibilité et fonctionnalités avancées

IronPDF for Node.js

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)()
VB   C#

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)()
VB   C#

**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)
VB   C#

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.

PDFKit Fonctionnalités avancées et extensibilité

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'));
VB   C#

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'));
VB   C#

Comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 7

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
)
VB   C#

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.

Documentation et assistance

IronPDF for Node.js Documentation et assistance

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.

Options de soutien

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.

Qualité et disponibilité de la documentation PDFKit

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.

Options de soutien

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.

Modèles de licences

Licence d'IronPDF

Comparaison entre PDFKit npm et IronPDF pour Node.js : Figure 8

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.

Licence PDFKit

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.

Conclusion

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.

Prêt à commencer ? Version : 2024.9 vient de paraître

Installation gratuite de npm Voir les licences > ;