web-dev-qa-db-fra.com

Comment créer un tableau à l'aide d'Apache PDFBox

Nous prévoyons de migrer nos utilitaires de génération de PDF d'iText vers PDFBox (en raison de problèmes de licence dans iText). Avec un peu d'effort, j'ai pu écrire et positionner du texte, tracer des lignes, etc. Je me demandais si PDFBox fournit un support natif pour la création de tableaux avec du texte incorporé. Mon dernier recours serait d'utiliser ce lien https://github.com/eduardohl/Paginated-PDFBox-Table-Sample

25
Anil

Merci aux liens fournis par Tilman. En utilisant l'API boxable ( https://github.com/dhorions/boxable ) j'ai pu créer la table que je voulais. Juste un info je voulais créer le tableau avec un nombre variable de cellules. Par exemple, la ligne 1 aurait 2 cellules, la ligne 2 pourrait avoir 5 cellules et la ligne 3 pourrait avoir seulement 3 cellules. J'ai pu le faire facilement. J'ai suivi Example1.Java dans le lien mentionné ci-dessus.

25
Anil

Comme j'avais également besoin d'une fonctionnalité de dessin de table pour un projet parallèle, j'ai implémenté moi-même une petite bibliothèque de "tiroir de table", que j'ai téléchargée sur github .

Pour produire un tel tableau - par exemple - ... enter image description here

... vous auriez besoin de ce code . Dans le même fichier, vous trouverez également le code de cette table:

enter image description here

La "liste des fonctionnalités" actuelle comprend:

  • définir la police et la taille de la police au niveau du tableau ainsi qu'au niveau de la cellule
  • définir séparément des cellules individuelles avec une largeur de bordure inférieure, supérieure, gauche et droite
  • définir la couleur d'arrière-plan au niveau de la ligne ou de la cellule
  • définir le remplissage (haut, bas, gauche, droite) au niveau de la cellule
  • définir la couleur de la bordure (au niveau du tableau, de la ligne ou de la cellule)
  • spécifier l'alignement du texte (vertical et horizontal)
  • travée des cellules et travée des lignes
  • habillage de texte et interligne

De plus, il ne devrait pas être trop difficile d'ajouter des éléments manquants, comme avoir des couleurs de bordure différentes pour les bordures en haut, en bas, à gauche et à droite, si nécessaire.

30
philonous