PDFBox – Aligner un texte à droite en JAVA

Dans cet article nous allons voir comment aligner un texte à droite avec PdfBox.

Pierre LISERON
Mis à jour le 24 Janv 2024

Dans cet article nous allons voir comment aligner un texte à droite avec PdfBox.

Pour rappel, PdfBox est une librairie OpenSource JAVA disponible à l’adresse suivante, supportée par Apache. Actuellement en version 1.8.6, cette librairie permet de créer facilement des PDF en JAVA.

L’objectif de cet article est d’arriver à: 

pdfbox-alignement-text.jpg

Malheureusement le positionnement de texte avec PdfBox n’est pas forcement facile. En effet, il est souvent question de positionnement absolu, ce qui implique de calculer des tailles fixes pour chaque élément que l’on souhaite positionner.

Un cas classique est l’alignement du texte. Dans cet exemple, nous utilisons PdfBox pour générer une facture avec des montants. Généralement on affiche les montants alignés à droite avec deux chiffres après la virgule. Pour afficher les deux chiffres après la virgule, le plus simple est d’utiliser NumberFormat.

NumberFormat formatter  = new DecimalFormat("##,##0.00 EUR");
String lText = formatter.format(lDevis.getOptionsTotal());

Une fois converti en String, il faut maintenant calculer la taille de la chaîne de caractère en fonction de la police. Pour ce faire, on utilise une méthode sur la police avec laquelle on va écrire le texte

PDFont mDefaultFont = PDType1Font.HELVETICA;
float textWidth = (mDefaultFont.getStringWidth(lText) / 1000) * mFontSize;

En utilisant la font, on peut calculer la taille en pt qu’il faut diviser par 1000 puis multiplier par la taille de la police, ici 10 pt. Ainsi on obtient la taille (float) du texte.

Une fois cette étape réalisée, on peut positionner son texte correctement en calculant l’espace allouée – l’espace du texte et ainsi le mettre correctement à droite!

Pour aller plus loin

Souveraineté Numérique : pourquoi l'indépendance technologique est cruciale en 2024 ?

La souveraineté numérique est devenue un enjeu majeur dans un monde où les données et les infrastructures technologiques jouent un rôle central dans la vie quotidienne, aussi bien pour les individus que pour les entreprises ou les États. Concrètement, elle se définit comme la capacité à contrôler entièrement ses infrastructures sans dépendre de solutions étrangères. C’est un défi complexe à relever dans un contexte de mondialisation et d'interdépendance technologique croissante ! Pour les entreprises de développement, en particulier, cette souveraineté représente bien plus qu'une question de cybersécurité ou de protection des données personnelles : elle touche à l'indépendance technologique et à la maîtrise des outils stratégiques. Dans cet article, nous nous intéresserons à l’importance de la souveraineté numérique, notamment face à la domination des géants du cloud, et comment des pays comme la France tentent de préserver leur autonomie dans ce secteur.

Small right arrow

DevOps : comment se lancer ? Nos conseils de développeurs !

Le DevOps, c’est quoi et comment se lancer ? On vous donne notre définition du DevOps, nos outils préférés et nos conseils pour réussir un projet en DevOps

Small right arrow

Les tests End to End - Présentation & Mise en place avec Angular

Les tests E2E, c’est quoi ? Définition, implémentation et retour d’expériences des librairies de tests E2E !

Small right arrow