mercredi 21 août 2019
Se Connecter à votre compte

Connexion à votre compte

Identifiant
Mot de passe
Maintenir la connexion active sur ce site

    Si vous etes déjà abonné sur notre site et vous n'arrivez pas à vous connecter, contacter nous !

Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Imprimer un ticket Caisse via java

Imprimer un ticket Caisse via java il y a 6 ans 10 mois #1

  • hagougui.abdelmajid
  • Portrait de hagougui.abdelmajid
  • Hors Ligne
  • Caporal Posteur
  • Messages : 1
Bonjour

Par hasard que je suis tombé sur site ,je me permets de vous de demander l'autorisation de poster
une demande concernant la formation JAVA.

je demande quelques information sur le comment imprimer un ticket caisse en java .
Comment oriente les sorties vers l'imprimante caisse
Api JAVAPOS

Sincèrement j'ai aucun idée

Merci de me donner un idée
L'administrateur a désactivé l'accès en écriture pour le public.

Imprimer un ticket Caisse via java il y a 6 ans 10 mois #2

  • hicham.taki
  • Portrait de hicham.taki
  • Hors Ligne
  • Roi Administrateur
  • Lycé Youssef Ibn Tachefin
  • Messages : 36
  • Remerciements reçus 15
Je suis pas expert en Java, mais je crois que vous devez tout d'abord créer une classe qui va s'occuper de l'action imprimer, voilà un exemple :
public class TicketPrintPage implements Printable {

    private File ticket;

    public TicketPrintPage(File f) {
        ticket = f;
    }

    public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
        int interline = 12;
        Graphics2D g2 = (Graphics2D) g;
        g2.setFont(new Font("CourierThai", Font.PLAIN, 10));
        int x =  (int) pf.getImageableX();
        int y = (int) pf.getImageableY();

        try {
            FileReader fr = new FileReader(ticket);
            BufferedReader br = new BufferedReader(fr);

            String s;
            while ((s = br.readLine()) != null) {
                y += interline;
                g2.drawString(s, x, y);
            }
        } catch (IOException e) {
            throw new PrinterException("File to print does not exist (" + ticket.getAbsolutePath() +") !");
        }
        return Printable.PAGE_EXISTS;
    }
}

Puis vous allez appeler cette classe , voilà un exemple :
public void printTicketFile(File ticket, int orientation) throws PrinterException {
    if (!ticket.exists()) {
        throw new PrinterException("Ticket to print does not exist (" + ticket.getAbsolutePath() + ") !");
    }
    PrinterJob pjob = PrinterJob.getPrinterJob();
    // get printer using PrintServiceLookup.lookupPrintServices(null, null) and looking at the name
    pjob.setPrintService(getPrintService());
    // job title
    pjob.setJobName(ticket.getName());

    // page fomat
    PageFormat pf = pjob.defaultPage();
    // landscape or portrait
    pf.setOrientation(orientation);
    // Paper properties
    Paper a4Paper = new Paper();
    double paperWidth  =  8.26;
    double paperHeight = 11.69;
    double margin = 16;
    a4Paper.setSize(paperWidth * 72.0, paperHeight * 72.0);
    a4Paper.setImageableArea(
                margin,
                //0,
                margin,
                //0,
                a4Paper.getWidth()- 2 * margin,
                //a4Paper.getWidth(),
                a4Paper.getHeight()- 2 * margin
                //a4Paper.getHeight()
                ); // no margin = no scaling
    pf.setPaper(a4Paper);
    // Custom class that defines how to layout file text
    TicketPrintPage pages = new TicketPrintPage(ticket);
    // adding the page to a book
    Book book = new Book();
    book.append(pages, pf);
    // Adding the book to a printjob
    pjob.setPageable(book);
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
        // No jobsheet (banner page, the page with user name, job name, date and whatnot)
    pras.add(JobSheets.NONE);
    // Printing
    pjob.print(pras);
}

Je sais que c'est un peu complexe en ce qui concerne l'impression, je vous invite à lire cette série d'articles (En anglais) Imrimer un ticket en utilisant JAVA
L'administrateur a désactivé l'accès en écriture pour le public.
Modérateurs: Mohamed