Installation

Pour installer la bibliothèque Node.js, vous pouvez utiliser soit yarn ou npm, soit la cloner ou la télécharger depuis GitHub pour l'inclure dans votre projet.

Via yarn ou npm

C'est la méthode recommandée, car elle vous permettra de bénéficier des mises à jour de façon très simple.

Ouvrez un terminal dans le dossier de votre projet, puis tapez :

# - Avec NPM
npm install pdfkiwi --save

# - Avec Yarn
yarn add pdfkiwi

Cloner ou télécharger la bibliothèque

  • faire un fork du projet sur votre compte Github (bouton fork tout en haut),
  • cloner directement depuis le dépôt officiel (bouton clone or download en haut),
  • télécharger une archive de la dernière version stable.

Pour cloner directement depuis le dépôt officiel, ouvrez un terminal dans un dossier de votre choix (par exemple ~/projects/node), puis tapez :

git clone https://github.com/pdfkiwi/node-lib.git

Exemple d'utilisation

Attention, cet exemple est rédigé en utilisant les spécifications ES2015.

const pdf = require('pdfkiwi');

// Instanciation du module avec les identifiants d'accès à l'API
const client = new pdf.Pdfkiwi('email@example.net', '5a4b84c611eab7dd953b47aa6f89fb3');

// - Options du PDF
const pdfOptions = {
    'margin_top'    : '10mm',
    'margin_left'   : '20mm',
    'margin_right'  : '10mm',
    'margin_bottom' : '20mm',
    'orientation'   : 'landscape'
};

// Appel à l'API pour convertir du HTML en PDF, en définissant des options
client.convertHtml('<h1>Testing pdf.kiwi awesomness</h1>', pdfOptions)
    // Sauvegarde de la réponse dans un fichier
    .then(pdf.saveToFile('./test.pdf'))
    .then(() => { console.log('done !'); })
    // Affichage de l'éventuelle erreur
    .catch((err) => {
        console.log(err.code, err.message);
    });

Liste des méthodes

Voici la liste de toutes les méthodes que la bibliothèque pdfkiwi/node-lib met à votre disposition pour définir les options de rendu PDF.

pdf.convertHtml()

Pour appeler l'API de pdf.kiwi afin de convertir une chaîne HTML en document PDF.

Pdfkiwi.convertHtml(html: String|Number, options: Object): Promise

Paramètres :

  • html : Le contenu HTML à convertir.
  • options : Un objet JSON contenant les options sous la forme {option: value}.
    La liste complète des options est disponible dans la documentation des options.

Retourne :

Note : Les balises <Doctype>, <html>, <head> et <body> sont facultatives.

Méthodes utilitaires post-conversion

Par défaut, les requêtes à l'API renvoient le PDF sous forme de données binaires.

Même si vous pourriez tout à fait utiliser directement ces données, dans la majorité des cas
l'objectif est soit de sauver ces données dans un fichier .pdf utilisable ou bien de les envoyer
directement en sortie à l'utilisateur (en tant que téléchargement).

C'est exactement le but des méthodes utilitaires listées ci-dessous, une fois chainée à la méthode de génération de pdf (par exemple après .convertHtml()), la méthode utilitaire choisie produira le résultat attendu.

Par exemple, si vous chainez pdf.saveToFile('./test.pdf'),
Le résultat de votre conversation ira tout droit dans un fichier nommé test.pdf.

pdf.saveToFile()

Pour sauvegarder le contenu de la réponse de l'API dans un fichier.

pdf.saveToFile(filePath: String): Function

Paramètre :

  • filePath : Le chemin (relatif au dossier de travail courant) et le nom du fichier à écrire.

Notes :

  • Si l'extension du fichier n'est pas spécifiée, l'extension .pdf sera automatiquement ajoutée.
  • Le chemin filePath est résolu relativement au dossier de travail courant.
    Par exemple si vous lancez le script depuis ~/projets/node/monProjet, et que vous donnez filePath = './pdf/document.pdf', le fichier sera enregistré dans le dossier ~/projets/node/monProjet/pdf/document.pdf.

Exemple:

const pdf = require('pdfkiwi');

const client = new pdf.Pdfkiwi('[Email API]', '[Token API]');
client.convertHtml('<h1>Hello world</h1>')
    .then(pdf.saveToFile('./my-file.pdf'))
    .catch((err) => { console.log(err); });

pdf.sendHttpResponse()

Pour renvoyer le PDF généré dans une réponse HTTP.

pdf.sendHttpResponse(response: http.ServerResponse, fileName: String): Function

Paramètres :

  • response : Un objet http.ServerResponse à utiliser pour la réponse HTTP.
  • fileName : Le nom du fichier qui sera envoyé.

Note : Si l'extension du fichier n'est pas spécifiée dans fileName, l'extension .pdf sera ajoutée automatiquement.

Exemple avec Express :

const pdf = require('pdfkiwi');
const express = require('express');
const app = express();

app.get('/pdf', (request, response) => {
    const client = new pdf.Pdfkiwi('[Email API]', '[Token API]');
    client.convertHtml('<h1>Hello world</h1>')
        .then(pdf.sendHttpResponse(response, 'my-file'))
        .catch((err) => { console.log(err); });
});

app.listen(3000);

résultats pour ""

    Aucun résultat pour ""