|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 22 ![]() |
Bonjour,
Je travaille actuellement sur l'architecture d'une solution visant à imprimer des etiquettes avec code barre. Une des solutions envisagée est le couplage BIRT + Barbecue (pour les codes barres). Certains d'entre vous l'ont-ils déjà fait ? Cela est-il envisageable ? Simple ? Complexe ? En fait je me demande comment s'intègre Barbecue à BIRT, puisque Barbecue est sensé fournir directement du pdf ... des avis sur la question ? merci d'avance |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 659 ![]() |
Citation:
Solution faisable rapidement faire un web service qui te retourne le barcode sous forme d'image(format au choix) avec en entrée la chaine à convertir. Ensuite appeler se service depuis ton rapport birt, tu insrt une image dont l'url est celle de ton web service paramétrée par dynamiquement par ton jeu de donnée . Sinon tu peux aussi appeler directement la librairie barbecue dans le rapport, mais faut passer par un rapport scripté et c'est plus difficile à maintenir et surtout l'ihm de scripting est assez limiter coté fonctionnalité par rapport à un environnement eclipse pour réalisation d'une servlet.
__________________
Gagnez une place pour Devoxx France 2012 |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() ![]() Inscription : février 2005 Messages : 34 ![]() |
Très bons conseils que ceux de moritan.
Tu peux aussi remplacer le web service générateur d'image par une servlet qui retourne l'image du code barre. (Solution retenue de mon coté) Tu peux très bien utliser un data set scripted codé en java et non en java script et tu pourra alors utiliser barbecue assez simplement mais bon attend toi a avoir quelques problèmes de configuration pour les accès type classpath(ClassNotFoundException des libz barbecues en execution), rien d'insurmontable. (Solution testée lors d'un POC mais tombée aux oubliettes pour l'heure) Pour les java dataset scripted faut étendre un DataSetEventAdapter de mémoire. Bon courage et hésites pas si j'ai pas été clair... flagelle moi ! |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 22 ![]() |
Alors tout d'abord je suis impressionné par la vitesse à laquelle vous avez répondu. Donc je vous remercie énormément.
Bon donc, si je comprends bien : je créé un web service qui utilise Barbecue pour fabriquer une image (mon code barre), et je dis à mon rapport BIRT d'utiliser une image dont l'URL est celle de mon web service, avec un paramètre qui est la valeur numérique de mon code barre. C'est bien ça ? Mais j'ignorais en fait qu'un web service pouvait retourner une image... Vous savez si c'est possible avec X-fire ? merci encore
|
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() ![]() Inscription : février 2005 Messages : 34 ![]() |
Tu as très bien compris le concept proposé !
C'est pour ca qu'une simple servlet parait plus simple à mon gout car l'interet d'utiliser des web services pour retourner simplement un flux binaire représentant une image à partir de param est nul ! Une servlet c'est moins sexy qu'un WS certe mais bien plus simple, rapide, compréhensible et maintenable... et ce quelque soit le framework utilisé, l'environement, le developpeur. Enfin seulement quand il s'agit de retourner l'image d'un code barre a partir de parametres. ![]() ![]() ![]() ![]() courage ! EDIT: Une servlet existe dans le projet barbecue pour faire ce dont je parle: Voici le lien avec exemple d'utilisation: http://barbecue.sourceforge.net/apid...deServlet.html Il te reste plus qu'a monter cette servlet sur ton serveur web... |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 659 ![]() |
Effectivement, j'ai fait un abus de langage en parlant de Web service. Une servlet est ce dont tu as besoin.
__________________
Gagnez une place pour Devoxx France 2012 |
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 22 ![]() |
Oh tu sais Moritan, je ne cherchais pas à te reprendre.
J'ignorais seulement si cela était possible de retourner une image grâce à un Web service. J'espère que tu ne l'as pas mal prit. Merci à tous les deux, en tous les cas
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 659 ![]() |
Citation:
Oui un web service peu retourner une image, c'est surtout utilisé quand c'est couplet à un EJB par exemple (pâr exemple les service météo).
__________________
Gagnez une place pour Devoxx France 2012 |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() |
Je sais pas si ça rentre dans votre définition de webservice mais tu peux très bien insérer une image par son URL dans ton rapport :
http://serveur/create_barcode.php?type=42&code=54321654 Ca peut être pas mal non ? Autrement JasperReports gère les codes barre nativement mais je n'ai jamais testé cette fonctionnalité ! |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 22 ![]() |
Je viens de déployer sur mon serveur JBoss la servlet Barbecue fournie dans le war barbecue.war, et ..... ça marche :
http://mon.ip.000.000/barbecue/Barco...&type=Code128B ou http://localhost/barbecue/BarcodeSer...&type=Code128B et quand je place dans un rapport BIRT une image dont l'URL est la suivante, j'ai bien mon code barre. Encore merci à tous les deux
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() |
Ok, ça marche comme je pensais alors !
Bien joué
|
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() ![]() Inscription : février 2005 Messages : 34 ![]() |
Une autre piste que j'avais exploré mais abandonné: l'utilisation de police type code barre (ttf). Des polices open source sont disponibles sur le net pour les principaux types de code barre (ean128, ean13 etc....)
Il faut mettre la police sur un champ texte puis il suffit de passer la valeur "texte" du code barre au champ en question comme on fait pour la plupart des champs birt et pas magie quand on génère le document... un code barre apparait ! Mais la servlet permet d'être bien plus souple (grace aux paramètres) mais impose l'utilisation d'un serveur web par contre... Bref, content que ca fonctionne pour toi ;-) |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : février 2007 Messages : 9 ![]() |
Il y a un enhancement ouvert sur bugzilla:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=149928 David |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com