CREER UN DOCUMENT PDF SIMPLE AVEC PDFBOX

 

 

1°)  Importer la librairie org.apache.pdfbox

Disponible dans \\prof\ressources\Java\Pdfbox

image

 

2°)  Dans le projet utiliser les import suivants :

import org.apache.pdfbox.pdmodel.PDDocument;

import org.apache.pdfbox.pdmodel.PDPage;

import org.apache.pdfbox.pdmodel.PDPageContentStream;

import org.apache.pdfbox.pdmodel.common.PDRectangle;

import org.apache.pdfbox.pdmodel.font.PDType0Font;

import org.apache.pdfbox.pdmodel.font.PDType1Font;

import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

 


 

 

3°) Exemple de création d'un document simple :

     …

     //Création du document

     PDDocument doc = new PDDocument();

     //Création de la page et redimensionnage (format A4)

     PDPage maPage = new PDPage(PDRectangle.A4);

     //Ajout de la page dans le document

     doc.addPage(maPage);

     //Création d'une image

     PDImageXObject logoAsso = PDImageXObject.createFromFile("./chemin/nomDuLogo.jpg", doc);

     //Création du contenu

     PDPageContentStream contenuFlux = new PDPageContentStream(doc, maPage);

     //Ajout de l'image dans le contenu (nom image, distance du haut, distance bord droit, largeur, hauteur)

     contenuFlux.drawImage(logoAsso, 5, 640, 200, 200);

     //Ajout du titre dans le contenu

     contenuFlux.setFont(PDType1Font.TIMES_ROMAN, 24);

     contenuFlux.beginText();

     // Position du texte : distance du haut, distance du bord gauche

     contenuFlux.newLineAtOffset(280, 740);

     contenuFlux.showText("TITRE DU DOCUMENT");

     String texte1 = "Première phrase";

     String texte2 = "Deuxième phrase";

     String texte3 = "Troisième phrase";

     contenuFlux.setLeading(14.5f); // Défini l'espace entre les lignes

     contenuFlux.newLineAtOffset(-258, -200); // Position du texte

     contenuFlux.setFont(PDType1Font.TIMES_ROMAN, 14); // Police et taille choisies

     contenuFlux.showText(texte1);

     contenuFlux.newLine();

     contenuFlux.showText(texte2);

     // Insertion de 2 lignes blanches

     contenuFlux.newLine();

     contenuFlux.newLine();

     contenuFlux.showText(texte3);

     contenuFlux.endText();

     contenuFlux.close();

     // Sauvegarde dans un fichier .pdf

     doc.save("./src/pdf/monDocumentPDF.pdf");

     doc.close();