Java 打印机介质托盘的名称
我当前使用以下代码片段检索有关可能的介质托盘的一些打印机信息:Java 打印机介质托盘的名称,java,printing,Java,Printing,我当前使用以下代码片段检索有关可能的介质托盘的一些打印机信息: Media med[] = (Media[])printService.getSupportedAttributeValues(Media.class, null, null); if( med != null ) { for (int k=0; k<med.length; k++) { sb.append("Name : " + med[k].getClass() + " - Val
Media med[] = (Media[])printService.getSupportedAttributeValues(Media.class, null, null);
if( med != null ) {
for (int k=0; k<med.length; k++) {
sb.append("Name : " + med[k].getClass() + " - Value : " + med[k].getValue() +
" - Name : " + med[k].getName()+"\n" );
}
}
如何检索有用的名称?此代码按大小和id检索打印机名称、介质托盘名称:
public static void printByName(String printName) {
//Inicio Codigo PrintByName
try{
AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName(printName, null));
PrintService[] services = PrintServiceLookup.lookupPrintServices(null,aset);
MediaSizeName mn=null;
MediaSize mz=null;
Destination dd=null;
for (int i = 0; i < services.length; i++) {
PrintService service = services[i];
System.out.println(service);
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
Class category = Media.class;
Object o = service.getSupportedAttributeValues(category, flavor,null);
if (o == null) { // Attribute is not supported
}
else if (o.getClass().isArray()) {
// Attribute values are a set of values
Media[] media = (Media[]) o;
for (int j = 0; j < media.length; j++) {
//System.out.println("ATributo: " + media[j].getValue() );
if(media[j] instanceof MediaSizeName) {
mn=(MediaSizeName)media[j].clone();
//mz=getMediaSizeForName(mn);
mz=MediaSize.getMediaSizeForName(mn);
//System.out.println((media[j].toString()));
System.out.println("\t Bandeja: \t\t"+ mn + " ID: " + mn.getValue() );
}
}
}
}
//System.exit(0);
} catch(Exception e){
System.out.println("Exception is " + e);
}
}
publicstaticvoidprintbyname(字符串printName){
//Inicio Codigo PrintByName
试一试{
AttributeSet aset=新的HashAttributeSet();
aset.add(新的PrinterName(printName,null));
PrintService[]services=PrintServiceLookup.lookupPrintServices(null,aset);
MediaSizeName mn=null;
MediaSize mz=null;
目的地dd=null;
for(int i=0;i
这将为您提供所有打印机属性,包括纸盘名称
String printName = "HP Officejet Pro 8500 A910 (Network)";
AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName(printName, null));
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, aset);
for (int i = 0; i < services.length; i++) {
PrintService service = services[i];
System.out.println(service);
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) {
System.out.println(media + " ID: " + media.getValue() + "\t" + media.getClass().getName());
}
}
}
String printName=“HP Officejet Pro 8500 A910(网络)”;
AttributeSet aset=新的HashAttributeSet();
aset.add(新的PrinterName(printName,null));
PrintService[]services=PrintServiceLookup.lookupPrintServices(null,aset);
for(int i=0;i
String printName = "HP Officejet Pro 8500 A910 (Network)";
AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName(printName, null));
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, aset);
for (int i = 0; i < services.length; i++) {
PrintService service = services[i];
System.out.println(service);
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) {
System.out.println(media + " ID: " + media.getValue() + "\t" + media.getClass().getName());
}
}
}