Java Drucken auf eine bestimmte Seitengröße mit einem Etikettendrucker

Ich versuche, einen Etikettendrucker (EPSON TM-T88V, um genau zu sein) zu verwenden, um PNG-Bilder auszuspucken.

Ich kann es in Ordnung bringen, es sei denn, ich drucke eine Bildgröße (220 x 175 bei 72 dpi, um es noch einmal genau zu sagen), auf dem gedruckten Bild befindet sich ein weißer Fleck, was ich für eine Verschwendung von Papier halte.

Irgendwelche Ideen, wie ich den Papierabfall minimieren kann? Ich möchte, dass es nur das Bild mit minimalen Leerzeichen druckt und dann das Papier schneidet.

Hier ist mein Code

    AttributeSet aset = new HashAttributeSet();
    aset.add(new PrinterName(printerName, null));
    /* locate a print service that can handle the request */
    PrintService[] services = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.PNG, aset);

    if (services.length >= 1) {
        /* create a print job for the chosen service */
        DocPrintJob pj = services[0].createPrintJob();

        DocAttributeSet das = new HashDocAttributeSet();
        das.add(PrintQuality.HIGH);
        das.add(MediaSizeName.ISO_A7); // I know the problem is here somewhere. This Media size seems to work best currently

        try {
            /* 
            * Create a Doc object to hold the print data.
            */
            Doc doc = new SimpleDoc(imageByteIs, DocFlavor.INPUT_STREAM.PNG, das);

            /* print the doc as specified */
            pj.print(doc, null);

        } catch (PrintException e) { 
            System.err.println(e);
        }
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage