Hallo zusammen!
Der folgende Code liest "vorbildhaft" die "Auflösungen" von PDF- und XPS-Druckern aus, nicht jedoch von echten Druckern ;-)))
Output:
Falls einer von euch zufällig einen typischen Thermotransfer-Etikettendrucker mit 203, 300 oder 600 dpi in Reichweite stehen hat (denn um solche geht es mir im konkreten Fall eigentlich), wäre ich euch äußerst verbunden, wenn Ihr den Code damit ausprobieren und den "Output" hier posten könntet (natürlich nur falls tatsächlich Auflösungen geliefert werden).
Edit: Die beiden "physischen" Drucker in meinem Output sind beides 0815-Tintenstrahl-DIN A4-Drucker, daher meine Hoffnung, dass es mit reinen Etikettendruckern eventuell ja besser funktioniert.
Vielen Dank!
Der folgende Code liest "vorbildhaft" die "Auflösungen" von PDF- und XPS-Druckern aus, nicht jedoch von echten Druckern ;-)))
Java:
import java.util.*;
import javax.print.*;
import javax.print.attribute.standard.*;
public class A {
public static void main(String[] args) {
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
for (PrintService printService : printServices) {
System.out.println("\nPrinter: " + printService.getName());
PrinterResolution[] resolutions = (PrinterResolution[])printService
.getSupportedAttributeValues(PrinterResolution.class, null, null);
if (resolutions != null) {
Arrays.sort(resolutions, (r1, r2) -> {
int res1 = r1.getCrossFeedResolution(PrinterResolution.DPI);
int res2 = r2.getCrossFeedResolution(PrinterResolution.DPI);
return Integer.compare(res1, res2);
});
for (PrinterResolution resolution : resolutions) {
int dpiX = resolution.getCrossFeedResolution(PrinterResolution.DPI);
int dpiY = resolution.getFeedResolution(PrinterResolution.DPI);
System.out.println("Resolution: " + dpiX + "x" + dpiY + " DPI");
}
} else {
System.out.println("No supported resolutions found.");
}
}
}
}
Output:
Code:
Printer: Microsoft XPS Document Writer
Resolution: 600x600 DPI
Printer: PDFCreator
Resolution: 72x72 DPI
Resolution: 96x96 DPI
Resolution: 144x144 DPI
Resolution: 150x150 DPI
Resolution: 300x300 DPI
Resolution: 600x600 DPI
Resolution: 720x720 DPI
Resolution: 1200x1200 DPI
Resolution: 2400x2400 DPI
Resolution: 3600x3600 DPI
Resolution: 4000x4000 DPI
Printer: EPSON XP-6100 Series
No supported resolutions found.
Printer: Brother DCP-J572DW Printer
No supported resolutions found.
Printer: 7-PDF Printer
Resolution: 1x1 DPI
Resolution: 9x9 DPI
Resolution: 12x12 DPI
Resolution: 18x18 DPI
Resolution: 36x36 DPI
Resolution: 72x72 DPI
Resolution: 96x96 DPI
Resolution: 144x144 DPI
Resolution: 150x150 DPI
Resolution: 300x300 DPI
Resolution: 600x600 DPI
Resolution: 720x720 DPI
Resolution: 1200x1200 DPI
Resolution: 2400x2400 DPI
Resolution: 3600x3600 DPI
Resolution: 4000x4000 DPI
Falls einer von euch zufällig einen typischen Thermotransfer-Etikettendrucker mit 203, 300 oder 600 dpi in Reichweite stehen hat (denn um solche geht es mir im konkreten Fall eigentlich), wäre ich euch äußerst verbunden, wenn Ihr den Code damit ausprobieren und den "Output" hier posten könntet (natürlich nur falls tatsächlich Auflösungen geliefert werden).
Edit: Die beiden "physischen" Drucker in meinem Output sind beides 0815-Tintenstrahl-DIN A4-Drucker, daher meine Hoffnung, dass es mit reinen Etikettendruckern eventuell ja besser funktioniert.
Vielen Dank!
Zuletzt bearbeitet: