Ausdruck auf Label Drucker

izoards

Bekanntes Mitglied
Brauche mal wieder euer Fachwissen. Ich möchte einen QR - Code auf einem Etiketten - Drucker ausdrucken.

Hier "mein" Code:

Java:
public void printLabel(String path) {
        try {

        //    FileInputStream textStream = new FileInputStream(path);

            DocFlavor formatSTREAM = DocFlavor.INPUT_STREAM.PNG;

            //String printerName = "BIXOLON SLP-TX423 - BPL-Z";
            String printerName = "Microsoft Print to PDF";
            printerName = printerName.toLowerCase();
            PrintService service = null;
            

            // Get array of all print services
            PrintService[] services = PrinterJob.lookupPrintServices();
            // Retrieve a print service from the array
            for (int index = 0; service == null && index < services.length; index++) {

                if (services[index].getName().toLowerCase().indexOf(printerName) >= 0) {
                    service = services[index];
                }
            }

            DocPrintJob job = service.createPrintJob();
            FileInputStream fin = new FileInputStream(path);
            Doc doc = new SimpleDoc(fin, formatSTREAM, null);
            job.print(doc, null);
            fin.close();

        } catch (PrintException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Wenn ich es mit dem Drucker "Microsoft Print to PDF" drucke, erscheint der QR Code in der Mitte einer A4 Seite.
Wenn ich es mit dem "BIXOLON SLP-TX423 - BPL-Z" Drucker ausdrucke, ist die Etikette leer.

Wie kann ich die Position für den Ausdruck definieren?

Vielen Dank für eure Hilfe.
 
Habe es jetzt mit einem anderen Papierformat A10 hingekriegt.
Ist zwar nicht die exakte Papier Dimension aber der druck passt nun einigermassen


Java:
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
            aset.add(MediaSizeName.ISO_A10);

ist das die richtige vorgehensweise?

könnte ich auch ein custom papier format angeben?
 

Neue Themen


Zurück
Oben