PDF : Produire un pdf avec processing

Processing est un logiciel ouvert, on peut lui greffer des librairies, des ensembles de fonctions qui permettent d’étendre ses possibilités. Une de ces librairies, fournie avec processing, permet de générer les pdf.

Précédent | 15/16 | Suivant

Comme la librairie est fournie avec Processing, on ne devra pas l’installer, juste l’inclure dans notre sketch.

Pour cela, en tête du script, avant le setup, on importe la librairie. Cette opération invisible met à disposition le code de la librairie pour le reste de votre script. On peut écrire le code ci-dessous ou aller dans Sketch/import library... et sélectionner "pdf".

import processing.pdf.*;

Une fois la librairie importée, on spécifie une taille à notre animation et par la même de l’animation. Les textes, les lignes, cercles, rectangles et même les formes en 3d peuvent être exportées dans le pdf sous forme vectorielle, ce qui est confortable : on peut faire des poster géants !

La méthode standard consiste alors à créer un objet pdf (créer un "objet pdf" vide), à démarrer l’enregistrement du pdf. Ce qui est dessiné à l’écran est alors dessiné dans le pdf. On peut durant cet enregistrement créer de nouvelles pages. On stoppe alors l’écriture du pdf. Par sécurité, on sort enfin du programme avec la fonction exit() ;

Le tout donne ça :

// un script simple pour produire un pdf de plusieurs pages

import processing.pdf.*;

PGraphicsPDF pdf; // créer un objet pdf vide

void setup(){
 size(594, 842);
 pdf = (PGraphicsPDF)beginRecord(PDF, "coolpdf.pdf"); // on démarre l'écriture
 background(255);
}

void draw(){
 float taille=random(60);
 ellipse(mouseX, mouseY, taille, taille); // dessiner des cercles de taille alétoire à l'endroit de la souris
}

void keyPressed() {
 switch (key) {
 case ' ': // barre d'espace : page suivante
   pdf.nextPage();  // creer une nouvelle page
   background(255);
   break;
 case 'x': // x : pdf terminé
   endRecord();
   exit();  // Quitter pour être sur que tout est ok
   break;
 }
}

Le code ci-dessus permet de créer différentes pages en appuyant sur la barre d’espace, et de stopper l’enregistrement avec la touche "x". Tant qu’on le laisse tourner, les cercle s’entassent dans la même page.

On peut mettre en pause un enregistrement, ou écrire un pdf sans afficher son contenu dans l’animation, pour en savoir plus, consulter la documentation.

La page de reference sur le site Processing (la même se trouve dans l’aide du logiciel).