Guten Tag
gibt es eine Möglichkeit das voreingestellte Papierformat auszulesen?
Wirft folgende Ausgabe:
Mit folgendem Code kann ich alle MediaTray eines Druckers auslesen:
aber auch hier finde ich nirgends eine Information zu: MediaSizeName
Gibt es denn gar keine Möglichkeit, dass man das voreingestellte Papierformat pro Tray auslesen kann?
gibt es eine Möglichkeit das voreingestellte Papierformat auszulesen?
Java:
PrintService[] MetaPrinter = PrintServiceLookup.lookupPrintServices(null, null);
if(service.getName().equals(valPrinter)) {
Class<?>[] allAtributs = service.getSupportedAttributeCategories();
for(Class<?> c: allAtrib) {
System.out.println(c.getTypeName());
}
}
Habe jetzt in mühseliger kleinarbeit jedes c.getTypeName() durchsucht aber nirgends eine Information zu MediaSizeName gefunden!javax.print.attribute.standard.Copies
javax.print.attribute.standard.Finishings
javax.print.attribute.standard.JobSheets
javax.print.attribute.standard.Media
javax.print.attribute.standard.NumberUp
javax.print.attribute.standard.OrientationRequested
javax.print.attribute.standard.PageRanges
javax.print.attribute.standard.Sides
javax.print.attribute.standard.MediaPrintableArea
javax.print.attribute.standard.Destination
javax.print.attribute.standard.SheetCollate
javax.print.attribute.standard.Chromaticity
javax.print.attribute.standard.DialogOwner
javax.print.attribute.standard.DialogTypeSelection
Mit folgendem Code kann ich alle MediaTray eines Druckers auslesen:
Code:
ArrayList<String> temp = new ArrayList<>();
AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName(printerName, null));
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, aset);
for (int i = 0; i < services.length; i++) {
PrintService service = services[i];
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
Object o = service.getSupportedAttributeValues(Media.class, flavor, null);
if (o != null && o.getClass().isArray()) {
for (Media media : (Media[]) o) {
if (media instanceof MediaTray) {
temp.add(media.toString());
}
}
}
if(temp.size() <= 0) {
temp.add("Auto");
}
}
Gibt es denn gar keine Möglichkeit, dass man das voreingestellte Papierformat pro Tray auslesen kann?