Il y avait des questions à ce sujet, mais pas récemment et la technologie doit avoir progressé depuis lors.
Exigences:
Les options supposées sont iText, PDFBox, FOP, autre chose? Quelles sont les recommandations basées sur les exigences ci-dessus?
Pour conclure, j'essaierais PDFBox. Selon les exigences de votre code à barres, vous devrez peut-être insérer votre code à barres (police) dans le PDF ou distribuer la police à vos clients - prenez soin de ces problèmes.
J'ai fait un projet avec Flying Saucer http://code.google.com/p/flying-saucer/ qui est basé sur iText. Il est gratuit, facile à utiliser, a un grand support pour CSS et a une belle source ouverte.
Je pense que vos critères peuvent être remplis à la fois avec iText et Apahce FOp mais ici vous avez quelques critères supplémentaires:
Je n'utiliserais pas PDFBox, c'est bon pour lire et modifier un fichier PDF PDF existant mais créer un fichier à partir de zéro en utilisant PDFBox peut être beaucoup de travail).
Je suis un peu biaisé (committer), mais je suggère iText.
générer des documents pdf basés sur un modèle prédéfini (je peux utiliser des formulaires pdf ou xsl-fo)
Formulaires PDF: Vérifier
pouvoir remplir des données textuelles
Formulaires PDF, vérifiez. Vous pouvez également effectuer une mise en page programmatique.
être capable de remplir des données graphiques (codes à barres générés)
Vérifier. Étant donné un emplacement connu (qui pourrait être "l'emplacement de cette annotation particulière"), iText dessinera pour vous un code-barres en fonction d'une symbologie et d'une valeur. Vous pouvez déduire une liste des symbologies prises en charge à partir des constantes répertoriées ici .
Pour ce genre de chose, j'utilise des champs Button avec une apparence "Icon Only". L '"icône" est une instruction arbitraire PDF dessin ou une image. Les trucs de code-barres d'iText créeront un PdfTemplate
que vous pourrez insérer dans le bouton sans trop de problèmes.
pouvoir modifier le modèle pdf dans l'environnement de production sans patcher (recompiler)
Si toute votre mise en page est intégrée dans le modèle PDF, et que vos informations "code-barres vont ici" ne sont pas codées en dur dans la source, alors vous êtes en or.
générer un fichier pdf à enregistrer dans la base de données (sous forme de blob) et/ou à imprimer
A PDF est un PDF est un PDF. Heck, avec du travail supplémentaire de votre part, vous pouvez utiliser iText pour créer des fichiers PDF/A. "A "est pour Archive.
open source/gratuit
Open Source: oui. v2.1.7 était la dernière version à utiliser le MPL. Depuis 5.x, toutes les versions d'iText sont sous AGPL. Oui, iText est passé de 2.1.7 à 5.0, afin de synchroniser la numérotation des versions entre iText et iTextSharp.
Pas exactement "little f" gratuit, mais la version 2.1.7 n'est pas si difficile à trouver. OTOH, c'est Orphan-ware, non entretenu. Soyez un consommateur averti.
Cela dépend de la façon exacte dont vous souhaitez créer le PDF également. FOP fonctionne à partir de XML, IText vous permet de créer par programmation à partir de Java.
Un autre coup de pouce pour la soucoupe volante. Il fonctionne assez bien et est facile à utiliser si vous êtes familier avec le HTML et le CSS.
Ce qui n'est pas vraiment documenté, c'est comment accéder à la fonctionnalité intégrée de codes-barres iTexts. Cependant, cela peut être facilement accompli. J'ai mis en place un court tutoriel ici: http://andreas.haufler.info/2012/12/generating-barcodes-in-pdfs-with-flying.html