Besoin d'un conseil pour impression de facture

greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008 - 28 janv. 2007 à 02:50
sabriGhan Messages postés 1 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 27 mars 2012 - 27 mars 2012 à 16:54
Bonsoir,

je suis actuellement sur un projet de gestion de garderie d'une école.

en fonction du nombre de jour de garde et du nombre d'enfant à charge, mon programme calcule le montant que la famille devra payer.

il ne me reste plus qu'à coder l'impression des factures.

Que me conseillez vous à savoir, qu'il y a environ 100 factures par mois et qu'elles doivent toutes être imprimées 2 fois (compta).

Au début j'ai pensé à un bouton qui lancerait une séquence d'export grâce à iText et ensuite la personne n'aurait plus qu'à selectionner tous les fichiers et les imprimer.

Ensuite je me suis demandé s'il n'était pas possible d'exporter les données (nom, prenom, montant) vers un publipostage word. La personne n'aurait plus qu'a ouvrir le modèle et lancer l'impression.

Je voulais avoir votre avis. Que choisiriez vous ? Avez vous une autre idée ? Est ce réalisable et si oui pouvez vous me diriger vers un tuto ?

Merci d'avance pour votre aide

A+

11 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 janv. 2007 à 05:51
utilise plutôt un système de reporting qui sont fait pour cà : tu créer un modèle d'impression (où est situé tel champ ou tel champ, imprimer une photo ici, etc), et tu n'as plus qu'à lancer l'impression comme cà.

Il existe plusieurs projets de reporting sur sourceforge, je suis sûr que t'y trouvera ton bonheur.

Perso, j'utilise Report Manager (qui est développé sous forme d'ocx, donc plutôt orienté pour vb, mais au vu des newsgroup de report manager, il y en a certains qui ont réussi à l'utiliser en java).
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
28 janv. 2007 à 15:04
oulà, moi je suis débutant, que me conseille tu comme système de report.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 janv. 2007 à 15:18
Je sais pas, j'ai jamais fait de report pour java (j'en fait uniquement pour vb pour l'instant), cependant, en voilà qui me semble pas trop mal à première vue :
http://sourceforge.net/projects/aster/
http://sourceforge.net/projects/frb/
http://sourceforge.net/projects/fjreport/
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
28 janv. 2007 à 16:26
et je pourrai pas le faire avec iText ? Sa serait pas plus simple ?

qu'est ce qu'un report exactement ? cela a un rapport avec Jasper report ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 janv. 2007 à 16:43
Un report c'est tout simplement un modèle d'impression : tu définit ce que tu doit imprimer et où l'imprimer, puis tu n'as plus qu'à lancer l'impression en lui envoyant les données à imprimer (bien souvent, il s'agit d'une simple requête SQL).

Tu n'as donc quasiment aucun code a faire : juste à faire le report en lui-même (et si l'outil utilisé est pratique, ca se fait presque de la même façon que taper du texte sous Excel !).

Exemple : tu pose un champ texte sur une grille, tu lui dit qu'il s'agit du champ "nom" de la table "personne", et c'est tout. Pour l'imprimer, tu lui passe une requête SQL avec le champ nom de la table personne avec les enregistrements qu'il faut que tu imprime, et il se débrouille.

C'est toute la puissance des reports, mais si tu ne connais pas du tout, documente toi dessus, ce sera plus simple.

Je ne connais pas iText, mais apparement, ca te permet juste de créer des pdf par programmation, donc tu sera sûrement moins limité, mais par contre, tu aura tout à coder !
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
28 janv. 2007 à 19:43
je vais me renseigner sur les report, ça a l'air interessant et plus approprié surtout s'il fait tout tout seul
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
30 janv. 2007 à 17:21
alors je me suis renseigné sur les report et j'ai pris JasperReport ou plutot IReport.

J'ai donc créer mon fichier XLM et paramêtrer ma connexion pour tester avec la base. Tout marche bien.

Maintenant je cherche à relier mon fichier xlm avec mon programme java et surtout lancer l'impression des x factures.

Quelqu'un peut il m'aider ?

Merci d'avance
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
31 janv. 2007 à 14:50
personne ne peux m'aider à utiliser ce logiciel barbare ???
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
3 févr. 2007 à 01:15
si quelqu'un connait, qu'il n'hésite pas car je n'ai toujours pas trouvé !!!
0
fattoumi Messages postés 2 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 8 avril 2009
8 avril 2009 à 00:58
package presentation.jfrm;
import java.io.File;
import java.util.HashMap;
import java.util.Map;

import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import java.sql.Connection;
import java.sql.DriverManager;

import javax.swing.JDialog;
import javax.swing.JFileChooser;

public class GenererPlacePDF {
   
    public Connection getConnection(){
        Connection con = null;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection("jdbc:mysql://localhost/tache", "root","");
            if(!con.isClosed()){
                System.out.println("Successfully connected to " + "MySQL server using TCP/IP...");
                return con;
            }
               
            } catch(Exception e) {
                return con;
            }
            return con;
                       
    }
   
    @SuppressWarnings("unchecked")
    public void getPDF(Connection connection,String requete, String titre){
        try{
        // - Chargement et compilation du rapport
        JasperDesign jasperDesign = JRXmlLoader.load("E:\\Salima\"+requete+".jrxml");
        //JasperDesign jasperDesign = JRXmlLoader.load("report\"+requete+".jrxml");
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
       
        // - Param�tres � envoyer au rapport
        Map parameters = new HashMap();
        parameters.put("annee", 1990);
        parameters.put("Titre", "Titre");
       
        // - Execution du rapport
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,connection);
       
        // - Cr�ation du rapport au format PDF
        File file;
        file = selectDirectory(null, null); // selection de l'emplacement
        JasperExportManager.exportReportToPdfFile(jasperPrint,file+"\"+titre+".pdf");       
       
        }
        catch (Exception e) {
           
        }
    }
   
    public static File selectDirectory(JDialog dialog, File dir) {
        File f = dir;
        JFileChooser chooser = new JFileChooser();
        if (f == null)
            chooser.setCurrentDirectory(new File("c:\"));
        else
            chooser.setCurrentDirectory(f);
        chooser.setDialogTitle("Selectionnez un répertoire d'enregistrement ");
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        chooser.setAcceptAllFileFilterUsed(false);
        chooser.setApproveButtonText("Accepter");
        chooser.setApproveButtonToolTipText("Accepter le r�pertoire selectionn�");
        if (chooser.showOpenDialog(dialog) == JFileChooser.APPROVE_OPTION) {
            f = chooser.getSelectedFile();
        }
        return f;
    }
   
    public static void main(String args[]) {
        GenererPlacePDF genererPDF = new GenererPlacePDF();
        genererPDF.getPDF(genererPDF.getConnection(),"requete1","la liste des X selon Y");
       
    }
}
0
sabriGhan Messages postés 1 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 16:54
Bonjour,
je suis une nouvelle : si quelqu'un peut m'aider :
j'essaye de créer et imprimer un fichier facture sous un modèle précis
comment faire ça en java ? respecter le modèle et imprimer???
Merci d'avance pour tout aide
Léna Sabri
0
Rejoignez-nous