目次
プリンタから情報を取る | ||
(0) lookupPrintServices() | Linuxでは | Windowsでは |
(0) その結論 | ||
(1) getSupportedAttributeCategories()・設定可能項目の分類名を得る | Linuxでは | Windowsでは |
(2) getSupportedAttributeValues()・設定可能項目一覧を得る | Linuxでは | Windowsでは |
(3) MediaSizeからMediaSizeNameが得られるかのテスト | Linuxでは | Windowsでは |
(3) のポイントは.getSupportedAttributeValues() | ||
(3) 同様な方法で長形3号のマップを得る | Linuxでは | Windowsでは |
(4) getSupportedAttributeCategories()ちょっと戻って | Linuxでは | Windowsでは |
(5) getSupportedDocFlavors()・指定可能な印刷データ形式 | Linuxでは | Windowsでは |
(6) getAttributes()・PrintServiceAttributeSetを得る | Linuxでは | Windowsでは |
(7) getAttribute()・PrintServiceAttributeSetの個別の値 | Linuxでは | Windowsでは |
(8) getDefaultAttributeValue()・各属性のデフォルトを問う | Linuxでは | Windowsでは |
(9) isAttributeValueSupported()・ISO_A3 を使えるかなど | Linuxでは | Windowsでは |
(10) MediaPrintableArea.class・Media.class だけでなく | Linuxでは | Linux-2 |
Windowsでは | Windows-2 | |
(11) PrinterResolution.class・Win仮想デバイスのみ使用 | Linuxでは | Windowsでは |
(12) Fidelity.class・Winのみ | Linuxでは | windows |
(13):MediaSize DUMP・(3)で大きさで選別される前のMediaSizeの一覧 | Linuxでは | windows |
Java PrintServiceインターフェースのメソッドでプリンタ(ドライバ)から情報を得ることを考える。
特にプリンタで使える用紙についての情報が、Java内だけでは足りない。
今回注目するのは、getSupportedAttributeValues()。これでMediaSizeに登録されているのに、MediaSizeNameにない用紙を PrintRequestAttributeSetに指定することができるようになる。
加えてPrintServiceにある使えそうなメソッドについて試してみる。Linux(Debian9)とWindows10の両方で結果を書き出している。
まず、番外でlookupPrintServices()メソッド。番外なのは、PrintServiceインターフェースのメソッドでないから。PrinterJobとPrintServiceLookupの両方のクラスにメソッドがある。
lookupの使い方やOSで拾うサービスの数に違いが出る
PrinterJobのもの(2,null,null)、PrintServiceLookupのものを無指定で使った場合(3,null,null)、PrintServiceLookupをMediaSizeNameを指定して制限した場合(3,null,rqset)の3通り
import java.awt.print.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; import java.time.*; import java.time.format.*; /** PrintTest01.java 2019-05 adachi */ public class PrintTest01 { public static void main(String[] args) { PrintRequestAttributeSet rqset = new HashPrintRequestAttributeSet(); rqset.add(MediaSizeName.ISO_A4); PrintService[] svs = null; svs = listPrinters(2,null,null); System.out.println("pj's lookup "+svs.length+" services found"); svs = listPrinters(3,null,null); System.out.println("n,n lookup "+svs.length+" services found"); svs = listPrinters(3,null,rqset); System.out.println("n,rq lookup "+svs.length+" services found"); System.out.println(">> printer list"); System.out.println("sv.getName() \t|| sv.toString()"); for(PrintService sv:svs){ System.out.println(sv.getName()+"\t||"+sv.toString()); } } /**lookupPrintServices() test * lookupの使い方やOSで拾うサービスの数に違いが出る */ public static PrintService[] listPrinters(int way, DocFlavor flv, PrintRequestAttributeSet rqset) { PrintService[] svs = null; if (way == 2){ PrinterJob pj = PrinterJob.getPrinterJob(); svs = pj.lookupPrintServices(); }else if(way == 3){ svs = PrintServiceLookup.lookupPrintServices(flv,rqset); } return svs; } }
結果は制限を加えないものは当然同等。LinuxとWindowsではインストールされているプリンタが異なるが、A4までしか使えないMp493とA3まで使えるPX-1700Fは両方にドライバがあり両方で使っている。
A3指定するとPX-1700Fのみ検出される。(1の部分)
adachi@debian64:/media/adachi/S1T/java/print01$ java PrintTest01 pj's lookup 7 services found n,n lookup 7 services found n,rq lookup 1 services found >> printer list sv.getName() || sv.toString() EPSON_EPSON_PX-1700F ||IPP Printer : EPSON_EPSON_PX-1700F
A4にすると、プリンタは増える
adachi@debian64:/media/adachi/S1T/java/print01$ javac PrintTest01.java adachi@debian64:/media/adachi/S1T/java/print01$ java PrintTest01 pj's lookup 7 services found n,n lookup 7 services found n,rq lookup 7 services found >> printer list sv.getName() || sv.toString() Canon_MP493_A4 ||IPP Printer : Canon_MP493_A4 Canon_MP493_chou3 ||IPP Printer : Canon_MP493_chou3 Canon_MP493_hagaki ||IPP Printer : Canon_MP493_hagaki Canon_MP493_hagaki_fuchinashi ||IPP Printer : Canon_MP493_hagaki_fuchinashi Canon_MP493_series ||IPP Printer : Canon_MP493_series Canon_MP493_you2 ||IPP Printer : Canon_MP493_you2 EPSON_EPSON_PX-1700F ||IPP Printer : EPSON_EPSON_PX-1700F
Canon_MP493は一台だが、デフォルトの用紙の異なる6つのサービスを登録している。
A3でもたくさん出てくる
PS Z:\java\print01> java PrintTest01 pj's lookup 8 services found n,n lookup 8 services found n,rq lookup 6 services found >> printer list sv.getName() || sv.toString() Microsoft XPS Document Writer ||Win32 Printer : Microsoft XPS Document Writer Microsoft Print to PDF ||Win32 Printer : Microsoft Print to PDF EPSON5AE8BC (PX-1700F) ||Win32 Printer : EPSON5AE8BC (PX-1700F) EPSON PX-1700F ||Win32 Printer : EPSON PX-1700F Canon MP493 series Printer ||Win32 Printer : Canon MP493 series Printer Canon Inkjet iP9910 ||Win32 Printer : Canon Inkjet iP9910
A4までのはずのMP493もA3で使えることになっている。
A4だとOneNoteとFaxが追加になって増える。Microsoft...と共に仮想的なサービスのようだ。
PS Z:\java\print01> java PrintTest01 pj's lookup 8 services found n,n lookup 8 services found n,rq lookup 8 services found >> printer list sv.getName() sv.toString() OneNote ||Win32 Printer : OneNote Microsoft XPS Document Writer ||Win32 Printer : Microsoft XPS Document Writer Microsoft Print to PDF ||Win32 Printer : Microsoft Print to PDF Fax ||Win32 Printer : Fax EPSON5AE8BC (PX-1700F) ||Win32 Printer : EPSON5AE8BC (PX-1700F) EPSON PX-1700F ||Win32 Printer : EPSON PX-1700F Canon MP493 series Printer ||Win32 Printer : Canon MP493 series Printer Canon Inkjet iP9910 ||Win32 Printer : Canon Inkjet iP9910
lookupPrintServices(null,rqset)でのA3指定はLinuxで有効だがWindowsでは無視される
Windowsで出てくる仮想的なサービスを簡単に見分ける方法がない。
ここからPrinterServiceのメソッド
Attributeにはカテゴリーに分けられて属性が入っている。属性といえば、Key-Valueの組み合わせのように感ずるが、格納先がAttributeSetなので、厳密には値だけ。しかし、値はあるクラスのインスタンスなので、クラスがKey, インスタンスがValueのような位置づけになっている
説明が、
Class<?>[] getSupportedAttributeCategories() この印刷サービスのジョブ設定時に、クライアントが指定可能な印刷属性カテゴリを判別します。
使ったのは
Class[] ctgs = sv.getSupportedAttributeCategories();
サービスのリストをとった前のプログラムを流用したのでわかりにくいかもしれない。printCateg(PrintService sv)というメソッドの部分が今回の出力をしている部分。全部のプリンタで調べるのは長いので、Canon_MP493_series という名前のプリンタだけ調べるている。LinuxとWindowsでカテゴリの名前が異なるが、共通部分があった。
import java.awt.print.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; import java.time.*; import java.time.format.*; /** PrintTest01.java 2019-05 adachi */ public class PrintTest01 { public static void main(String[] args) { PrintRequestAttributeSet rqset = new HashPrintRequestAttributeSet(); rqset.add(MediaSizeName.ISO_A4); PrintService[] svs = listPrinters(2,null,null); System.out.println("pj's lookup "+svs.length+" services found"); svs = listPrinters(3,null,null); System.out.println("n,n lookup "+svs.length+" services found"); svs = listPrinters(3,null,rqset); System.out.println("n,rq lookup "+svs.length+" services found"); System.out.println(">> printer list"); PrintService pr1 = null; for(PrintService sv:svs){ System.out.println(sv.getName()); if(sv.getName().contains("Canon_MP493_series")) pr1=sv; //linux if(sv.getName().contains("Canon MP493 series")) pr1=sv; //win //アンダースコアのあるなしの違い } printCateg(pr1); } public static PrintService[] listPrinters( int way, DocFlavor flv, PrintRequestAttributeSet rqset) { PrintService[] svs = null; if (way == 2){ PrinterJob pj = PrinterJob.getPrinterJob(); svs = pj.lookupPrintServices(); }else if(way == 3){ svs = PrintServiceLookup.lookupPrintServices(flv,rqset); } return svs; } public static void printCateg(PrintService sv){ System.out.println(">> category list"); System.out.println("> "+sv.getName()); Class[] ctgs = sv.getSupportedAttributeCategories(); for(Class ctg:ctgs){ System.out.println(ctg); } } }
Linux,Windowsでは異なるカテゴリもある。色を付けたのはよく見るクラス。
>> category list > Canon_MP493_series class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity
>> category list > Canon MP493 series Printer class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.Sides class javax.print.attribute.standard.PrintQuality
if(job==2){ System.out.println(">>("+job+") printerSupportedAtrributes DUMP"); Media[] meds = (Media[])pr1.getSupportedAttributeValues(Media.class, null, null); for (Media med : meds) { System.out.print(med.getValue()); System.out.print(",\t"+ med.getClass()); System.out.println(",\t"+ med.toString()); }//for }//if
Canon_MP493_seriesの用紙だけを調べています。
説明としては、
Object getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
MediaというクラスはAttributeインタフェースを持ちます。MediaSizeNameクラスの親クラスです。
戻値はObjectなので何でもありですが、Media.classを引数にすると、MediaSizeNameやMediaTrayやMediaNameのインスタンスの配列が返ります。
そこでキャストしてから、代入します。
Media[] meds = (Media[])pr1.getSupportedAttributeValues(Media.class, null, null);
ここで、pr1はCanon_MP493_seriesです。
med.getValue() Mediaの値は実際には intです。MediaSizeから値を取り出すkeyなのでしょう med.getClass() Class はJavax....の他に sun....がある。 med.toString() MediaSizeNameのフィールド名といっていいのか
>>(2) printerSupportedAtrributes DUMP 40, class javax.print.attribute.standard.MediaSizeName, na-letter 41, class javax.print.attribute.standard.MediaSizeName, na-legal 42, class javax.print.attribute.standard.MediaSizeName, executive 48, class javax.print.attribute.standard.MediaSizeName, japanese-postcard 4, class sun.print.CustomMediaSizeName, CD - 5 inch 5, class sun.print.CustomMediaSizeName, CD - 3 inch 6, class sun.print.CustomMediaSizeName, CD - Custom 7, class sun.print.CustomMediaSizeName, 3x5 8, class sun.print.CustomMediaSizeName, 3.5x4.7 18, class javax.print.attribute.standard.MediaSizeName, iso-b7 18, class javax.print.attribute.standard.MediaSizeName, iso-b7 11, class sun.print.CustomMediaSizeName, 2x6 12, class sun.print.CustomMediaSizeName, 4x6 12, class sun.print.CustomMediaSizeName, 4x6 14, class sun.print.CustomMediaSizeName, 4.5x6 15, class sun.print.CustomMediaSizeName, Epson 4x6 Photo Paper (tear-off borders) 140, class sun.print.CustomMediaSizeName, 148x105 mm label 17, class sun.print.CustomMediaSizeName, 4x8 18, class sun.print.CustomMediaSizeName, 4.7x7 71, class javax.print.attribute.standard.MediaSizeName, na-5x7 71, class javax.print.attribute.standard.MediaSizeName, na-5x7 21, class sun.print.CustomMediaSizeName, 5x8 22, class sun.print.CustomMediaSizeName, 6x6 23, class sun.print.CustomMediaSizeName, 6x8 24, class sun.print.CustomMediaSizeName, 6x8.5 64, class javax.print.attribute.standard.MediaSizeName, na-6x9-envelope 72, class javax.print.attribute.standard.MediaSizeName, na-8x10 72, class javax.print.attribute.standard.MediaSizeName, na-8x10 45, class javax.print.attribute.standard.MediaSizeName, invoice 29, class sun.print.CustomMediaSizeName, 5x5 30, class sun.print.CustomMediaSizeName, 8x8 31, class sun.print.CustomMediaSizeName, 8x10.75 32, class sun.print.CustomMediaSizeName, 8x12 33, class sun.print.CustomMediaSizeName, 8.5x12 4, class javax.print.attribute.standard.MediaSizeName, iso-a4 142, class sun.print.CustomMediaSizeName, 210x148 mm label 6, class javax.print.attribute.standard.MediaSizeName, iso-a6 7, class javax.print.attribute.standard.MediaSizeName, iso-a7 8, class javax.print.attribute.standard.MediaSizeName, iso-a8 9, class javax.print.attribute.standard.MediaSizeName, iso-a9 10, class javax.print.attribute.standard.MediaSizeName, iso-a10 33, class sun.print.CustomMediaSizeName, 8.5x12 16, class javax.print.attribute.standard.MediaSizeName, iso-b5 17, class javax.print.attribute.standard.MediaSizeName, iso-b6 139, class sun.print.CustomMediaSizeName, 125x88 mm label 19, class javax.print.attribute.standard.MediaSizeName, iso-b8 20, class javax.print.attribute.standard.MediaSizeName, iso-b9 21, class javax.print.attribute.standard.MediaSizeName, iso-b10 27, class javax.print.attribute.standard.MediaSizeName, jis-b5 28, class javax.print.attribute.standard.MediaSizeName, jis-b6 29, class javax.print.attribute.standard.MediaSizeName, jis-b7 30, class javax.print.attribute.standard.MediaSizeName, jis-b8 31, class javax.print.attribute.standard.MediaSizeName, jis-b9 32, class javax.print.attribute.standard.MediaSizeName, jis-b10 38, class javax.print.attribute.standard.MediaSizeName, iso-c5 55, class sun.print.CustomMediaSizeName, B6-C4 57, class sun.print.CustomMediaSizeName, C6 landscape 637, class sun.print.CustomMediaSizeName, C6 landscape 55, class javax.print.attribute.standard.MediaSizeName, iso-designated-long 59, class sun.print.CustomMediaSizeName, C7-6 640, class sun.print.CustomMediaSizeName, C7-6 landscape 61, class sun.print.CustomMediaSizeName, C7 642, class sun.print.CustomMediaSizeName, C7 landscape 63, class sun.print.CustomMediaSizeName, C8 644, class sun.print.CustomMediaSizeName, C8 landscape 65, class sun.print.CustomMediaSizeName, C9 646, class sun.print.CustomMediaSizeName, C9 landscape 67, class sun.print.CustomMediaSizeName, C10 648, class sun.print.CustomMediaSizeName, C10 landscape 69, class sun.print.CustomMediaSizeName, EA5 46, class javax.print.attribute.standard.MediaSizeName, folio 71, class sun.print.CustomMediaSizeName, Crown Quarto 72, class sun.print.CustomMediaSizeName, Large Crown Quarto 73, class sun.print.CustomMediaSizeName, Crown Octavo 74, class sun.print.CustomMediaSizeName, Large Crown Octavo 45, class javax.print.attribute.standard.MediaSizeName, invoice 76, class sun.print.CustomMediaSizeName, Royal Octavo 77, class sun.print.CustomMediaSizeName, Small paperback 78, class sun.print.CustomMediaSizeName, Penguin small paperback 74, class sun.print.CustomMediaSizeName, Large Crown Octavo 48, class javax.print.attribute.standard.MediaSizeName, japanese-postcard 48, class javax.print.attribute.standard.MediaSizeName, japanese-postcard 49, class javax.print.attribute.standard.MediaSizeName, oufuko-postcard 83, class sun.print.CustomMediaSizeName, Japanese long envelope #3 84, class sun.print.CustomMediaSizeName, Japanese long envelope #4 665, class sun.print.CustomMediaSizeName, Japanese long envelope #4 landscape 86, class sun.print.CustomMediaSizeName, Japanese Western-style envelope #4 87, class sun.print.CustomMediaSizeName, Japanese Western-style envelope #6 668, class sun.print.CustomMediaSizeName, Japanese Western-style envelope #6 landscape 60, class javax.print.attribute.standard.MediaSizeName, na-number-10-envelope 90, class sun.print.CustomMediaSizeName, A2 Invitation 92, class sun.print.CustomMediaSizeName, Monarch Envelope landscape 672, class sun.print.CustomMediaSizeName, Monarch Envelope landscape 93, class sun.print.CustomMediaSizeName, 4x5 3/8 94, class sun.print.CustomMediaSizeName, 4x7 95, class sun.print.CustomMediaSizeName, Wide 101.6x180.6 8, class sun.print.CustomMediaSizeName, 3.5x4.7 97, class sun.print.CustomMediaSizeName, Credit Card 98, class sun.print.CustomMediaSizeName, Japanese Business Card 99, class sun.print.CustomMediaSizeName, Wide Postcard 46, class javax.print.attribute.standard.MediaSizeName, folio 12, class sun.print.CustomMediaSizeName, 4x6 102, class sun.print.CustomMediaSizeName, 1.00x4.00 in label 103, class sun.print.CustomMediaSizeName, 1.31x4.00 in label 104, class sun.print.CustomMediaSizeName, 0.56x3.44 in label 105, class sun.print.CustomMediaSizeName, 3.19x3.50 in label 106, class sun.print.CustomMediaSizeName, 1.00x2.63 in label 687, class sun.print.CustomMediaSizeName, 2.00x1.00 in label 688, class sun.print.CustomMediaSizeName, 2.00x1.50 in label 109, class sun.print.CustomMediaSizeName, 2.00x4.00 in label 110, class sun.print.CustomMediaSizeName, 2.25x5.50 in label 691, class sun.print.CustomMediaSizeName, 3.00x2.00 in label 112, class sun.print.CustomMediaSizeName, 3.00x3.00 in label 693, class sun.print.CustomMediaSizeName, 3.19x1.75 in label 694, class sun.print.CustomMediaSizeName, 3.50x2.00 in label 695, class sun.print.CustomMediaSizeName, 4.00x2.00 in label 696, class sun.print.CustomMediaSizeName, 4.00x3.00 in label 117, class sun.print.CustomMediaSizeName, 4.00x4.00 in label 118, class sun.print.CustomMediaSizeName, 4.00x5.00 in label 119, class sun.print.CustomMediaSizeName, 4.00x6.50 in label 17, class sun.print.CustomMediaSizeName, 4x8 121, class sun.print.CustomMediaSizeName, 4.00x13.00 in label 702, class sun.print.CustomMediaSizeName, 6.00x2.00 in label 703, class sun.print.CustomMediaSizeName, 6.00x3.00 in label 704, class sun.print.CustomMediaSizeName, 6.00x4.00 in label 705, class sun.print.CustomMediaSizeName, 6.00x5.00 in label 22, class sun.print.CustomMediaSizeName, 6x6 32, class sun.print.CustomMediaSizeName, 8x12 708, class sun.print.CustomMediaSizeName, 8.50x6.00 in label 40, class javax.print.attribute.standard.MediaSizeName, na-letter 130, class sun.print.CustomMediaSizeName, 2.50x3.13 in label 131, class sun.print.CustomMediaSizeName, 0.50x1.75 in label 132, class sun.print.CustomMediaSizeName, 1.75x3.00 in label 133, class sun.print.CustomMediaSizeName, 0.75x5.75 label 714, class sun.print.CustomMediaSizeName, 44x31 mm label 715, class sun.print.CustomMediaSizeName, 62x44 mm label 716, class sun.print.CustomMediaSizeName, 74x52 mm label 717, class sun.print.CustomMediaSizeName, 88x62 mm label 718, class sun.print.CustomMediaSizeName, 105x74 mm label 719, class sun.print.CustomMediaSizeName, 125x88 mm label 720, class sun.print.CustomMediaSizeName, 148x105 mm label 721, class sun.print.CustomMediaSizeName, 176x125 mm label 722, class sun.print.CustomMediaSizeName, 210x148 mm label 143, class sun.print.CustomMediaSizeName, 8x5+8x4 724, class sun.print.CustomMediaSizeName, Custom 4, class sun.print.CustomMediaTray, Rear tray
>>(2) printerSupportedAtrributes DUMP 40, class javax.print.attribute.standard.MediaSizeName, na-letter 41, calss javax.print.attribute.standard.MediaSizeName, na-legal 5, calss javax.print.attribute.standard.MediaSizeName, iso-a5 4, calss javax.print.attribute.standard.MediaSizeName, iso-a4 27, calss javax.print.attribute.standard.MediaSizeName, jis-b5 111, calss sun.print.Win32MediaSize, KG 77, calss sun.print.Win32MediaSize, US 4x8 71, calss javax.print.attribute.standard.MediaSizeName, na-5x7 72, calss javax.print.attribute.standard.MediaSizeName, na-8x10 78, calss sun.print.Win32MediaSize, L判 88, calss sun.print.Win32MediaSize, 2L判 48, calss javax.print.attribute.standard.MediaSizeName, japanese-postcard 49, calss javax.print.attribute.standard.MediaSizeName, oufuko-postcard 60, calss javax.print.attribute.standard.MediaSizeName, na-number-10-envelope 55, calss javax.print.attribute.standard.MediaSizeName, iso-designated-long 112, calss sun.print.Win32MediaSize, 長形3号 113, calss sun.print.Win32MediaSize, 長形4号 114, calss sun.print.Win32MediaSize, 洋形4号 57, calss javax.print.attribute.standard.MediaSizeName, monarch-envelope 79, calss sun.print.Win32MediaSize, 名刺 80, calss sun.print.Win32MediaSize, ワイド 101.6x180.6mm 115, calss sun.print.Win32MediaSize, レターノビ (拡大縮小) 44, calss javax.print.attribute.standard.MediaSizeName, tabloid 116, calss sun.print.Win32MediaSize, 13.5x17 (拡大縮小) 52, calss javax.print.attribute.standard.MediaSizeName, c 117, calss sun.print.Win32MediaSize, A4ノビ (拡大縮小) 3, calss javax.print.attribute.standard.MediaSizeName, iso-a3 118, calss sun.print.Win32MediaSize, A3ノビ (拡大縮小) 2, calss javax.print.attribute.standard.MediaSizeName, iso-a2 26, calss javax.print.attribute.standard.MediaSizeName, jis-b4 25, calss javax.print.attribute.standard.MediaSizeName, jis-b3 119, calss sun.print.Win32MediaSize, 四切 (拡大縮小) 120, calss sun.print.Win32MediaSize, 半切 (拡大縮小) 122, calss sun.print.Win32MediaSize, ユーザー定義用紙... 86, calss sun.print.Win32MediaSize, US 5x7 87, calss sun.print.Win32MediaSize, 六切 49, calss sun.print.Win32MediaSize, 往復はがき 89, calss sun.print.Win32MediaSize, 洋形6号 121, calss sun.print.Win32MediaSize, B3 (拡大縮小) 1, calss sun.print.Win32MediaTray, Automatic-Feeder
やはり流用なので醜いが、前のサービスを引数にprintCateg(PrintService sv)を呼ぶ代わりに、printerSupportedAtrributes(PrintService sv)を呼んで MediaSizeNameを得る。
printerSupportedAtrributes(PrintService printer)はプログラム内部のstaticメソッドで長形3号の大きさ(120x235)に合うMediaSizeNameを返す。
JavaのMediaSizeNameに登録されていない長形3号が得られるという所が大事。
戻ってきたMediaSizeNameをPrintRequestAttributeSetに加えて、プリンタダイアログを出すとその用紙サイズが初期値になっている。というもの。
import java.awt.print.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; import java.time.*; import java.time.format.*; /** PrintTest01.java 2019-05 adachi */ public class PrintTest01 { public static void main(String[] args) { PrintRequestAttributeSet rqset = new HashPrintRequestAttributeSet(); rqset.add(MediaSizeName.ISO_A4); PrintService[] svs = listPrinters(2,null,null); System.out.println("pj's lookup "+svs.length+" services found"); svs = listPrinters(3,null,null); System.out.println("n,n lookup "+svs.length+" services found"); svs = listPrinters(3,null,rqset); System.out.println("n,rq lookup "+svs.length+" services found"); System.out.println(">> printer list"); PrintService pr1 = null; for(PrintService sv:svs){ System.out.println(sv.getName()); if(sv.getName().contains("Canon_MP493_series")) pr1=sv; //linux if(sv.getName().contains("Canon MP493 series")) pr1=sv; //win } //printCateg(pr1); MediaSizeName msn = printerSupportedAtrributes(pr1); System.out.println(msn.toString()); rqset.add(msn); PrintService service = ServiceUI.printDialog( null, 200, 200, svs, pr1, null, rqset); if (service != null) { //DocPrintJob dpj = service.createPrintJob(); //Printable pable = new SomethingPrintable05(); //Doc doc = new SimpleDoc(pable, flv, null); System.out.println(service + ">> selected"); } } public static PrintService[] listPrinters( int way, DocFlavor flv, PrintRequestAttributeSet rqset) { PrintService[] svs = null; if (way == 2){ PrinterJob pj = PrinterJob.getPrinterJob(); svs = pj.lookupPrintServices(); }else if(way == 3){ svs = PrintServiceLookup.lookupPrintServices(flv,rqset); } return svs; } public static void printCateg(PrintService sv){ System.out.println(">> category list"); System.out.println("> "+sv.getName()); Class[] ctgs = sv.getSupportedAttributeCategories(); for(Class ctg:ctgs){ System.out.println(ctg); } } public static MediaSizeName printerSupportedAtrributes(PrintService printer) { MediaSizeName retmsn = null; Media[] meds = (Media[])printer.getSupportedAttributeValues(Media.class, null, null); for (Media med : meds) { if(med instanceof MediaSizeName){ MediaSizeName msn = (MediaSizeName)med; MediaSize ms = MediaSize.getMediaSizeForName(msn); if(ms!=null){ float msx = ms.getX(MediaSize.MM); float msy = ms.getY(MediaSize.MM); float msxi = ms.getX(MediaSize.INCH); float msyi = ms.getY(MediaSize.INCH); // MediaSizeName msn = ms.getMediaSizeName(); if(2>Math.abs(msx-120) && 2>Math.abs(msy-235)){ System.out.println(msx+" "+msy+" : "+msn.toString()); retmsn = msn; }//g } } } return retmsn; } }
adachi@debian64:/media/adachi/S1T/java/print01$ java PrintTest01 pj's lookup 7 services found n,n lookup 7 services found n,rq lookup 7 services found >> printer list Canon_MP493_A4 Canon_MP493_chou3 Canon_MP493_hagaki Canon_MP493_hagaki_fuchinashi Canon_MP493_series Canon_MP493_you2 EPSON_EPSON_PX-1700F 119.944 234.95 : Japanese long envelope #3 Japanese long envelope #3
PS Z:\java\print01> java PrintTest01 pj's lookup 8 services found n,n lookup 8 services found n,rq lookup 8 services found >> printer list OneNote Microsoft XPS Document Writer Microsoft Print to PDF Fax EPSON5AE8BC (PX-1700F) EPSON PX-1700F Canon MP493 series Printer Canon Inkjet iP9910 120.0 235.0 : 長形3号 長形3号
(Media[])pr1.getSupportedAttributeValues(Media.class, null, null);で得られたMediaは、 MediaSizeNameかMediaTrayかMediaNameのどれかですから、MediaSizeNameのときだけ取り出して、キャストしてMediaSizeNameに代入します。
これからMediaSize.getMediaSizeForName()メソッドでMediaSizeを求めます。
サービス(プリンタ)から得られたものから探しているので、長形3号も入っている可能性があります。
MediaSizeのインスタンスから縦横の長さを求め、(120x235)に近いかを確認します。
インチも用意しましたが、探す値がインチでなければmmで十分でしょう。
とりあえず差が2mm以内ということでチェックしています。
見つかったら、対応するMediaSizeNameを返します。
複数見つかったらあとの方のMediaSizeNameが返ります。
Linuxでは 119.944 234.95 : Japanese long envelope #3 Windowsでは 120.0 235.0 : 長形3号
同じプリンタですが、呼び名が異なります。
プログラムはPrintTest04.javaだが、他の結果に使ったメソッドが残っている。
サービスのリストから、長形3号の大きさに対応するプリンタを探し、サービス->MediaSizeNameのマップとして返す。
マップにする理由はプリンタによりMediaSizeNameが異なるから。
マップから配列を作ってプリンタの選択肢に、MediaSizeNameはとりあえず0番のものを使用。
今後入れたい機構
1.今後デフォルトプリンタがあればそれを初期値にする。
2.選択したプリンタによりMediaSizeNameを設定し直す。
import java.awt.print.*; import java.util.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; import java.time.*; import java.time.format.*; /** PrintTest04.java サービスの配列とサイズ(x,y)から 対応できるサービスとMediaSizeNameのMapを返し、 2つの配列に分離。MediaSizeNameの[0]をeqsetに追加 サービスの配列をダイアログに渡す。 MediaSizeNameが異なるプリンタに切り替える時にはMediaSizeNameも 変える必要がある。listnerを使えばできるだろうか 2019-5-27 adachi from PrintTest01.java 1.lookupを比較 プリンタをCanon MP493 seriesに限定して 2.Categoryを列挙して比較 3.service.getSupportedAttributeValues()からMediaを得て X,Yから 長形3号を得る 2019-5-26 adachi */ public class PrintTest04 { public static void main(String[] args) { PrintRequestAttributeSet rqset = new HashPrintRequestAttributeSet(); rqset.add(MediaSizeName.ISO_A4); PrintService[] svs = listPrinters(2,null,null); System.out.println("pj's lookup "+svs.length+" services found"); svs = listPrinters(3,null,null); System.out.println("n,n lookup "+svs.length+" services found"); svs = listPrinters(3,null,rqset); System.out.println("n,rq lookup "+svs.length+" services found"); System.out.println(">> printer list"); PrintService pr1 = null; for(PrintService sv:svs){ System.out.println(sv.getName()); } //printCateg(pr1); Map<PrintService,MediaSizeName> svmap = getSupportedPrinterMap(svs,120f,235f); for (Map.Entry<PrintService,MediaSizeName> entry : svmap.entrySet()) { System.out.print("printer: " + entry.getKey().getName() ); System.out.println(" MediaSizeName: " + entry.getValue().toString() ); }//for /* Set<K> keySet() Collection<V> values() String[] y = x.toArray(new String[0]); */ if(svmap.size()>0){ PrintService[] ssvs = svmap.keySet().toArray(new PrintService[0]); MediaSizeName[] smsn = svmap.values().toArray(new MediaSizeName[0]); rqset.add(smsn[0]); PrintService service = ServiceUI.printDialog( null, 200, 200, ssvs, ssvs[0], null, rqset); if (service != null) { //DocPrintJob dpj = service.createPrintJob(); //Printable pable = new SomethingPrintable05(); //Doc doc = new SimpleDoc(pable, flv, null); System.out.println(service + ">> selected"); }//notnull }//size>0 } public static Map<PrintService,MediaSizeName> getSupportedPrinterMap( PrintService[] svs, float x, float y){ Map<PrintService,MediaSizeName> svmap = new LinkedHashMap<>(); for (PrintService sv : svs) { MediaSizeName retmsn = null; Media[] meds = (Media[])sv.getSupportedAttributeValues(Media.class, null, null); for (Media med : meds) { if(med instanceof MediaSizeName){ MediaSizeName msn = (MediaSizeName)med; MediaSize ms = MediaSize.getMediaSizeForName(msn); if(ms!=null){ float msx = ms.getX(MediaSize.MM); float msy = ms.getY(MediaSize.MM); float msxi = ms.getX(MediaSize.INCH); float msyi = ms.getY(MediaSize.INCH); if(2>Math.abs(msx-x) && 2>Math.abs(msy-y)){ System.out.println(msx+" "+msy+" : "+msn.toString()); svmap.put(sv,msn); }//abs }//notnull }//med }//for meds }//for svs return svmap; }//method /** 3 */ public static MediaSizeName printerSupportedAtrributes(PrintService printer) { MediaSizeName retmsn = null; Media[] meds = (Media[])printer.getSupportedAttributeValues(Media.class, null, null); for (Media med : meds) { if(med instanceof MediaSizeName){ MediaSizeName msn = (MediaSizeName)med; MediaSize ms = MediaSize.getMediaSizeForName(msn); if(ms!=null){ float msx = ms.getX(MediaSize.MM); float msy = ms.getY(MediaSize.MM); float msxi = ms.getX(MediaSize.INCH); float msyi = ms.getY(MediaSize.INCH); // MediaSizeName msn = ms.getMediaSizeName(); if(2>Math.abs(msx-120) && 2>Math.abs(msy-235)){ System.out.println(msx+" "+msy+" : "+msn.toString()); retmsn = msn; }//g } } } return retmsn; } /** 1 */ public static PrintService[] listPrinters(int way, DocFlavor flv, PrintRequestAttributeSet rqset) { PrintService[] svs = null; if (way == 2){ PrinterJob pj = PrinterJob.getPrinterJob(); svs = pj.lookupPrintServices(); }else if(way == 3){ svs = PrintServiceLookup.lookupPrintServices(flv,rqset); } return svs; } /** 2 */ public static void printCateg(PrintService sv){ System.out.println(">> category list"); System.out.println("> "+sv.getName()); Class[] ctgs = sv.getSupportedAttributeCategories(); for(Class ctg:ctgs){ System.out.println(ctg); } } }
adachi@debian64:/media/adachi/S1T/java/print01$ java PrintTest04 pj's lookup 7 services found n,n lookup 7 services found n,rq lookup 7 services found >> printer list Canon_MP493_A4 Canon_MP493_chou3 Canon_MP493_hagaki Canon_MP493_hagaki_fuchinashi Canon_MP493_series Canon_MP493_you2 EPSON_EPSON_PX-1700F 119.944 234.95 : Japanese long envelope #3 119.944 234.95 : Japanese long envelope #3 119.944 234.95 : Japanese long envelope #3 119.944 234.95 : Japanese long envelope #3 119.944 234.95 : Japanese long envelope #3 119.944 234.95 : Japanese long envelope #3 120.015 234.985 : Envelope 120 x 235 mm printer: Canon_MP493_A4 MediaSizeName: Japanese long envelope #3 printer: Canon_MP493_chou3 MediaSizeName: Japanese long envelope #3 printer: Canon_MP493_hagaki MediaSizeName: Japanese long envelope #3 printer: Canon_MP493_hagaki_fuchinashi MediaSizeName: Japanese long envelope #3 printer: Canon_MP493_series MediaSizeName: Japanese long envelope #3 printer: Canon_MP493_you2 MediaSizeName: Japanese long envelope #3 printer: EPSON_EPSON_PX-1700F MediaSizeName: Envelope 120 x 235 mm
PS Z:\java\print01> java PrintTest04 pj's lookup 8 services found n,n lookup 8 services found n,rq lookup 8 services found >> printer list OneNote Microsoft XPS Document Writer Microsoft Print to PDF Fax EPSON5AE8BC (PX-1700F) EPSON PX-1700F Canon MP493 series Printer Canon Inkjet iP9910 120.0 235.0 : 封筒 長形 3 号 120.0 235.0 : 封筒 長形 3 号 120.0 235.0 : 長形3号封筒 120 x 235 mm 120.0 235.0 : 長形3号封筒 120 x 235 mm 120.0 235.0 : 長形3号 120.0 235.0 : 長形3号 printer: Microsoft XPS Document Writer MediaSizeName: 封筒 長形 3 号 printer: Fax MediaSizeName: 封筒 長形 3 号 printer: EPSON5AE8BC (PX-1700F) MediaSizeName: 長形3号封筒 120 x 235 mm printer: EPSON PX-1700F MediaSizeName: 長形3号封筒 120 x 235 mm printer: Canon MP493 series Printer MediaSizeName: 長形3号 printer: Canon Inkjet iP9910 MediaSizeName: 長形3号
プリンタごとに違いはないのかの確認
/** (4)getSupportedAttributeCategories() test サポート属性のカテゴリー一覧 */ public static void printCateg(PrintService sv){ //System.out.println(">> category list"); System.out.println("> "+sv.getName()); Class[] ctgs = sv.getSupportedAttributeCategories(); for(Class ctg:ctgs){ System.out.println(ctg); } }
>>(4) category list > Canon_MP493_A4 class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity > Canon_MP493_chou3 class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity > Canon_MP493_hagaki class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity > Canon_MP493_hagaki_fuchinashi class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity > Canon_MP493_series class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity > Canon_MP493_you2 class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity > EPSON_EPSON_PX-1700F class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Finishings class javax.print.attribute.standard.JobSheets class javax.print.attribute.standard.Media class javax.print.attribute.standard.NumberUp class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Sides class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Destination class javax.print.attribute.standard.Chromaticity
>>(4) category list > OneNote class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.PrinterResolution > Microsoft XPS Document Writer class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.PrinterResolution > Microsoft Print to PDF class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.PrinterResolution > Fax class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.Sides class javax.print.attribute.standard.PrinterResolution > EPSON5AE8BC (PX-1700F) class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.Sides > EPSON PX-1700F class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.Sides > Canon MP493 series Printer class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.Sides class javax.print.attribute.standard.PrintQuality > Canon Inkjet iP9910 class javax.print.attribute.standard.JobName class javax.print.attribute.standard.RequestingUserName class javax.print.attribute.standard.Copies class javax.print.attribute.standard.Destination class javax.print.attribute.standard.OrientationRequested class javax.print.attribute.standard.PageRanges class javax.print.attribute.standard.Media class javax.print.attribute.standard.MediaPrintableArea class javax.print.attribute.standard.Fidelity class javax.print.attribute.standard.SheetCollate class sun.print.SunAlternateMedia class javax.print.attribute.standard.Chromaticity class javax.print.attribute.standard.Sides class javax.print.attribute.standard.PrintQuality
DocFlavor[] getSupportedDocFlavors() このPrintService用のジョブ設定時に、クライアントが指定可能な印刷データ形式を判定します。
/** (5)getSupportedDocFlavors() test サポートフレーバーの一覧 */ public static void printFlav(PrintService sv){ //System.out.println(">> Flavor list"); System.out.println("> "+sv.getName()); DocFlavor[] flvs = sv.getSupportedDocFlavors(); for(DocFlavor flv:flvs){ System.out.println(flv); } }
>>(5) Flavor list > Canon_MP493_A4 application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B" > Canon_MP493_chou3 application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B" > Canon_MP493_hagaki application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B" > Canon_MP493_hagaki_fuchinashi application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B" > Canon_MP493_series application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B" > Canon_MP493_you2 application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B" > EPSON_EPSON_PX-1700F application/octet-stream; class="java.io.InputStream" application/octet-stream; class="java.net.URL" image/gif; class="java.net.URL" image/x-portable-anymap; class="[B" image/x-portable-pixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-16"; class="[B" text/plain; charset="utf-8"; class="java.io.InputStream" image/x-bitmap; class="java.net.URL" image/x-xbitmap; class="java.net.URL" application/postscript; class="java.io.InputStream" image/tiff; class="java.net.URL" application/vnd.cups-raw; class="java.net.URL" text/html; charset="us-ascii"; class="[B" text/plain; charset="utf-8"; class="[B" image/x-sgi-rgb; class="java.net.URL" application/x-perl; class="[B" text/html; charset="utf-8"; class="java.io.InputStream" text/plain; charset="us-ascii"; class="[B" application/vnd.cups-pdf; class="java.net.URL" text/html; charset="utf-16"; class="java.net.URL" application/vnd.cups-postscript; class="java.net.URL" image/x-xpixmap; class="java.io.InputStream" text/plain; charset="utf-16le"; class="[B" image/jpeg; class="java.net.URL" image/x-xwindowdump; class="[B" text/plain; charset="us-ascii"; class="java.io.InputStream" application/vnd.cups-postscript; class="java.io.InputStream" image/x-xbitmap; class="[B" application/pdf; class="[B" text/plain; charset="utf-16"; class="java.io.Reader" text/plain; charset="utf-16be"; class="[B" application/postscript; class="java.net.URL" image/x-portable-bitmap; class="java.net.URL" image/tiff; class="[B" image/x-photocd; class="java.net.URL" application/vnd.adobe-reader-postscript; class="[B" image/x-portable-anymap; class="java.net.URL" image/pwg-raster; class="[B" application/pdf; class="java.io.InputStream" application/pdf; class="java.net.URL" text/html; charset="us-ascii"; class="java.io.InputStream" image/x-portable-graymap; class="java.io.InputStream" application/vnd.adobe-reader-postscript; class="java.net.URL" application/vnd.cups-pdf-banner; class="java.net.URL" image/pwg-raster; class="java.io.InputStream" image/x-portable-graymap; class="java.net.URL" text/html; charset="utf-16be"; class="java.io.InputStream" image/jpeg; class="[B" text/plain; charset="utf-16"; class="[B" image/x-portable-bitmap; class="[B" text/plain; charset="utf-16"; class="java.lang.String" application/vnd.adobe-reader-postscript; class="java.io.InputStream" text/css; class="java.net.URL" application/x-shell; class="java.net.URL" application/x-cshell; class="[B" image/x-sun-raster; class="[B" image/png; class="[B" text/plain; charset="utf-16"; class="[C" text/css; class="[B" text/plain; charset="utf-16be"; class="java.io.InputStream" application/x-csource; class="[B" image/x-bitmap; class="[B" image/x-photocd; class="[B" application/vnd.cups-raster; class="[B" application/x-perl; class="java.net.URL" image/gif; class="java.io.InputStream" application/x-shell; class="java.io.InputStream" image/x-portable-bitmap; class="java.io.InputStream" text/html; charset="utf-8"; class="[B" image/x-sun-raster; class="java.io.InputStream" text/plain; charset="utf-8"; class="java.net.URL" image/x-sgi-rgb; class="java.io.InputStream" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/vnd.cups-raw; class="java.io.InputStream" text/plain; charset="utf-16le"; class="java.io.InputStream" application/x-csource; class="java.net.URL" image/png; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="[B" image/x-xwindowdump; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" image/x-portable-graymap; class="[B" text/plain; charset="utf-16le"; class="java.net.URL" image/urf; class="java.io.InputStream" text/html; charset="utf-16"; class="java.io.InputStream" text/html; charset="utf-8"; class="java.net.URL" application/octet-stream; class="[B" image/jpeg; class="java.io.InputStream" application/x-csource; class="java.io.InputStream" application/vnd.cups-raster; class="java.net.URL" application/x-perl; class="java.io.InputStream" image/tiff; class="java.io.InputStream" application/vnd.cups-pdf-banner; class="java.io.InputStream" image/x-xbitmap; class="java.io.InputStream" image/x-portable-pixmap; class="[B" text/html; charset="utf-16le"; class="java.net.URL" image/x-bitmap; class="java.io.InputStream" text/css; class="java.io.InputStream" application/vnd.cups-raw; class="[B" image/urf; class="java.net.URL" image/x-xwindowdump; class="java.io.InputStream" application/vnd.cups-pdf; class="[B" image/x-xpixmap; class="[B" text/html; charset="utf-16le"; class="[B" application/x-shell; class="[B" image/png; class="java.net.URL" text/html; charset="us-ascii"; class="java.net.URL" application/x-cshell; class="java.io.InputStream" application/vnd.cups-pdf; class="java.io.InputStream" image/x-photocd; class="java.io.InputStream" text/plain; charset="utf-16be"; class="java.net.URL" text/html; charset="utf-16le"; class="java.io.InputStream" image/pwg-raster; class="java.net.URL" image/gif; class="[B" text/plain; charset="us-ascii"; class="java.net.URL" image/x-sun-raster; class="java.net.URL" image/x-xpixmap; class="java.net.URL" text/plain; charset="utf-16"; class="java.net.URL" image/x-portable-pixmap; class="java.io.InputStream" application/postscript; class="[B" application/x-cshell; class="java.net.URL" application/vnd.cups-postscript; class="[B" application/vnd.cups-raster; class="java.io.InputStream" image/x-sgi-rgb; class="[B" image/x-portable-anymap; class="java.io.InputStream" text/html; charset="utf-16be"; class="[B" text/html; charset="utf-16be"; class="java.net.URL" image/urf; class="[B"
>>(5) Flavor list > OneNote image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > Microsoft XPS Document Writer image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > Microsoft Print to PDF image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > Fax image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > EPSON5AE8BC (PX-1700F) image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > EPSON PX-1700F image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > Canon MP493 series Printer image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream" > Canon Inkjet iP9910 image/gif; class="[B" image/gif; class="java.io.InputStream" image/gif; class="java.net.URL" image/jpeg; class="[B" image/jpeg; class="java.io.InputStream" image/jpeg; class="java.net.URL" image/png; class="[B" image/png; class="java.io.InputStream" image/png; class="java.net.URL" application/x-java-jvm-local-objectref; class="java.awt.print.Pageable" application/x-java-jvm-local-objectref; class="java.awt.print.Printable" application/octet-stream; class="[B" application/octet-stream; class="java.net.URL" application/octet-stream; class="java.io.InputStream"
PrintServiceAttributeSet getAttributes() この印刷サービスのプリンタ記述属性セットを取得します。プリンタ記述属性セットは、このPrint Serviceの状態を指定します。
PrintServiceAttributeSet なので、普段見慣れない属性だった。
/** (6)getAttributes();*/ public static void printAtt(PrintService sv){ //System.out.println(">> Attr list"); System.out.println("> "+sv.getName()); //PrintServiceAttributeSet getAttributes() PrintServiceAttributeSet psset = sv.getAttributes(); System.out.println(psset.size()); Attribute[] aaray = psset.toArray(); for(Attribute att:aaray){ System.out.println(att.getCategory()); System.out.println("attr.getName():" + att.getName()); System.out.println(att.toString()); } }
>>(6) Attributes list > Canon_MP493_A4 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon_MP493_A4 class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info Canon MP493 A4ppd > Canon_MP493_chou3 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon_MP493_chou3 class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info Canon MP493 chou3ppd > Canon_MP493_hagaki 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon_MP493_hagaki class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info Canon MP493 hagaki > Canon_MP493_hagaki_fuchinashi 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon_MP493_hagaki_fuchinashi class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info Canon MP493 hagaki fuchinashi > Canon_MP493_series 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon_MP493_series class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info Canon MP493 series > Canon_MP493_you2 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon_MP493_you2 class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info Canon MP493 series > EPSON_EPSON_PX-1700F 6 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.PrinterName attr.getName():printer-name EPSON_EPSON_PX-1700F class javax.print.attribute.standard.PDLOverrideSupported attr.getName():pdl-override-supported not-attempted class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 class javax.print.attribute.standard.PrinterInfo attr.getName():printer-info EPSON PX-1700F lpd
>>(6) Attributes list > OneNote 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name OneNote class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > Microsoft XPS Document Writer 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name Microsoft XPS Document Writer class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > Microsoft Print to PDF 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name Microsoft Print to PDF class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > Fax 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name Fax class javax.print.attribute.standard.ColorSupported attr.getName():color-supported not-supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > EPSON5AE8BC (PX-1700F) 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name EPSON5AE8BC (PX-1700F) class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > EPSON PX-1700F 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name EPSON PX-1700F class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > Canon MP493 series Printer 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon MP493 series Printer class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0 > Canon Inkjet iP9910 4 class javax.print.attribute.standard.PrinterName attr.getName():printer-name Canon Inkjet iP9910 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported class javax.print.attribute.standard.PrinterIsAcceptingJobs attr.getName():printer-is-accepting-jobs accepting-jobs class javax.print.attribute.standard.QueuedJobCount attr.getName():queued-job-count 0
個別属性の値を問う
/** (7)getAttribute();*/ public static void printAtt1(PrintService sv){ System.out.println("> "+sv.getName()); PrintServiceAttribute att = sv.getAttribute(ColorSupported.class); System.out.println(att.getCategory()); System.out.println("attr.getName():" + att.getName()); System.out.println(att.toString()); }
>>(7) getAttribute > Canon_MP493_A4 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon_MP493_chou3 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon_MP493_hagaki class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon_MP493_hagaki_fuchinashi class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon_MP493_series class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon_MP493_you2 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > EPSON_EPSON_PX-1700F class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported adachi@debian64:/media/adachi/S1T/java/print01$
>>(7) getAttribute > OneNote class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Microsoft XPS Document Writer class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Microsoft Print to PDF class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Fax class javax.print.attribute.standard.ColorSupported attr.getName():color-supported not-supported > EPSON5AE8BC (PX-1700F) class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > EPSON PX-1700F class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon MP493 series Printer class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported > Canon Inkjet iP9910 class javax.print.attribute.standard.ColorSupported attr.getName():color-supported supported
各属性のデフォルトを問う
Object getDefaultAttributeValue(Class category) この印刷サービスの指定されたカテゴリ内でのデフォルト印刷属性値を判別します。
/** (8)getDefaultAttributeValue();*/ public static void printDefalt(PrintService sv){ System.out.println("> "+sv.getName()); Media media = (Media)sv.getDefaultAttributeValue(Media.class); System.out.println(media.getCategory()); if(media instanceof MediaSizeName) System.out.println("(MediaSizeName)"); if(media instanceof MediaName) System.out.println("(MediaName)"); if(media instanceof MediaTray) System.out.println("(MediaTrey)"); System.out.println("attr.getName():" + media.getName()); System.out.println(media.toString()); }
Linuxではトレイの切り替えができないので、いろいろな用紙をデフォルトにしたプリンタを登録している。
そのデフォルトがきちんと出てきている。
>>(8) getDefaultAttributeValue() > Canon_MP493_A4 class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Canon_MP493_chou3 class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media Japanese long envelope #3 > Canon_MP493_hagaki class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media japanese-postcard > Canon_MP493_hagaki_fuchinashi class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media japanese-postcard > Canon_MP493_series class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Canon_MP493_you2 class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media C6 landscape > EPSON_EPSON_PX-1700F class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4
Windowsのドライバはどれも普通なのでA4。でも実物のプリンタでないサービスも多い。
>>(8) getDefaultAttributeValue() > OneNote class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Microsoft XPS Document Writer class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Microsoft Print to PDF class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Fax class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > EPSON5AE8BC (PX-1700F) class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > EPSON PX-1700F class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Canon MP493 series Printer class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4 > Canon Inkjet iP9910 class javax.print.attribute.standard.Media (MediaSizeName) attr.getName():media iso-a4
MediaSizeName.ISO_A3 を使えるかいという問いかけをする
Attributeインターフェースを持つクラスのインスタンスでなければならない。
boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes) このPrint Service用のジョブ設定時に、クライアントが特定の印刷属性値を指定可能かどうかを判別します。
/** (9)isAttributeValueSupported()*/ public static void printIsValSupported(PrintService sv){ System.out.println("> "+sv.getName()); Attribute attval = MediaSizeName.ISO_A3; boolean supported = sv.isAttributeValueSupported(attval,null,null); System.out.println("attr.getName():" + attval.getName()); System.out.println(attval.toString() + " " + supported); }
>>(9) isValSupported() > Canon_MP493_A4 attr.getName():media iso-a3 false > Canon_MP493_chou3 attr.getName():media iso-a3 false > Canon_MP493_hagaki attr.getName():media iso-a3 false > Canon_MP493_hagaki_fuchinashi attr.getName():media iso-a3 false > Canon_MP493_series attr.getName():media iso-a3 false > Canon_MP493_you2 attr.getName():media iso-a3 false > EPSON_EPSON_PX-1700F attr.getName():media iso-a3 true
>>(9) isValSupported() > OneNote attr.getName():media iso-a3 false > Microsoft XPS Document Writer attr.getName():media iso-a3 true > Microsoft Print to PDF attr.getName():media iso-a3 true > Fax attr.getName():media iso-a3 false > EPSON5AE8BC (PX-1700F) attr.getName():media iso-a3 true > EPSON PX-1700F attr.getName():media iso-a3 true > Canon MP493 series Printer attr.getName():media iso-a3 true > Canon Inkjet iP9910 attr.getName():media iso-a3 true
Media.class だけでなく、他のカテゴリも見てみます
public static void printerSupportedArea(PrintService sv) { System.out.println("> "+sv.getName()); MediaPrintableArea[] meds = (MediaPrintableArea[]) sv.getSupportedAttributeValues( MediaPrintableArea.class, null, null); for (MediaPrintableArea med : meds) { //System.out.println(med.getName()); // media-printable-area //System.out.println(med.getCategory()); // class javax.print.attribute.standard.MediaPrintableArea System.out.println(med.toString()); // (0.0,0.0)->(176.036,124.883)mm //System.out.println(med.toString(MediaSize.MM,"mm")); // (0.0,0.0)->(176.036,124.883)mm /* float msx = med.getX(MediaSize.MM); float msy = med.getY(MediaSize.MM); float msw = med.getWidth(MediaSize.MM); float msh = med.getHeight(MediaSize.MM); System.out.println( msx+" "+msy+" "+ msw+" "+msh+" mm /code:"+ med.hashCode() );//system // 0.0 0.0 209.903 148.167 mm /code:15989678 */ } }
>>(10) MediaPrintableArea.class > Canon_MP493_A4 (0.0,0.0)->(215.9,279.4)mm (0.0,0.0)->(215.9,355.6)mm (0.0,0.0)->(184.15,266.7)mm (0.0,0.0)->(99.836,146.756)mm (0.0,0.0)->(116.064,116.064)mm (0.0,0.0)->(64.911,64.911)mm (0.0,0.0)->(119.944,119.944)mm (0.0,0.0)->(76.2,127.0)mm (0.0,0.0)->(88.9,119.239)mm (0.0,0.0)->(88.9,127.0)mm (0.0,0.0)->(88.9,127.0)mm (0.0,0.0)->(50.8,152.4)mm (0.0,0.0)->(101.6,152.4)mm (0.0,0.0)->(101.6,152.4)mm (0.0,0.0)->(114.3,152.4)mm (6.35,15.875)->(107.95,168.275)mm (7.761,15.169)->(97.014,142.522)mm (0.0,0.0)->(101.6,203.2)mm (0.0,0.0)->(119.239,177.8)mm (0.0,0.0)->(127.0,177.8)mm (0.0,0.0)->(127.0,177.8)mm (0.0,0.0)->(127.0,203.2)mm (0.0,0.0)->(152.4,152.4)mm (0.0,0.0)->(152.4,203.2)mm (0.0,0.0)->(152.4,215.9)mm (0.0,0.0)->(152.4,228.6)mm (0.0,0.0)->(203.2,254.0)mm (0.0,0.0)->(203.2,254.0)mm (0.0,0.0)->(139.7,215.9)mm (0.0,0.0)->(127.0,127.0)mm (0.0,0.0)->(203.2,203.2)mm (0.0,0.0)->(203.2,273.05)mm (0.0,0.0)->(203.2,304.8)mm (0.0,0.0)->(215.9,304.8)mm (0.0,0.0)->(209.903,297.039)mm (0.0,0.0)->(148.167,209.903)mm (0.0,0.0)->(104.775,148.167)mm (0.0,0.0)->(74.083,104.775)mm (0.0,0.0)->(52.211,74.083)mm (0.0,0.0)->(37.042,52.211)mm (0.0,0.0)->(25.753,37.042)mm (0.0,0.0)->(214.842,304.8)mm (0.0,0.0)->(175.683,249.767)mm (0.0,0.0)->(124.883,175.683)mm (0.0,0.0)->(87.842,124.883)mm (0.0,0.0)->(61.736,87.842)mm (0.0,0.0)->(43.744,61.736)mm (0.0,0.0)->(30.692,43.744)mm (0.0,0.0)->(182.739,256.469)mm (0.0,0.0)->(127.706,182.739)mm (0.0,0.0)->(90.664,127.706)mm (0.0,0.0)->(63.5,90.664)mm (0.0,0.0)->(44.803,63.5)mm (0.0,0.0)->(31.75,44.803)mm (0.0,0.0)->(161.925,228.953)mm (0.0,0.0)->(124.883,323.85)mm (0.0,0.0)->(113.947,161.925)mm (0.0,0.0)->(161.925,113.947)mm (0.0,0.0)->(109.714,219.781)mm (0.0,0.0)->(80.786,161.925)mm (0.0,0.0)->(161.925,80.786)mm (0.0,0.0)->(80.786,113.947)mm (0.0,0.0)->(113.947,80.786)mm (0.0,0.0)->(56.797,80.786)mm (0.0,0.0)->(80.786,56.797)mm (0.0,0.0)->(39.864,56.797)mm (0.0,0.0)->(56.797,39.864)mm (0.0,0.0)->(27.869,39.864)mm (0.0,0.0)->(39.864,27.869)mm (0.0,0.0)->(155.928,228.953)mm (0.0,0.0)->(215.9,330.2)mm (0.0,0.0)->(188.736,245.886)mm (0.0,0.0)->(200.731,257.881)mm (0.0,0.0)->(122.767,185.914)mm (0.0,0.0)->(128.764,197.908)mm (0.0,0.0)->(137.936,215.9)mm (0.0,0.0)->(155.928,233.892)mm (0.0,0.0)->(110.772,177.8)mm (0.0,0.0)->(110.772,180.975)mm (0.0,0.0)->(128.764,197.908)mm (0.0,0.0)->(99.836,149.931)mm (0.0,0.0)->(99.836,148.167)mm (0.0,0.0)->(148.167,200.025)mm (0.0,0.0)->(119.944,234.95)mm (0.0,0.0)->(89.958,204.964)mm (0.0,0.0)->(204.964,89.958)mm (0.0,0.0)->(104.775,234.95)mm (0.0,0.0)->(97.719,189.794)mm (0.0,0.0)->(189.794,97.719)mm (0.0,0.0)->(104.775,241.3)mm (0.0,0.0)->(111.125,146.05)mm (0.0,0.0)->(98.425,190.5)mm (0.0,0.0)->(190.5,98.425)mm (0.0,0.0)->(101.6,136.525)mm (0.0,0.0)->(101.6,177.8)mm (0.0,0.0)->(101.6,180.622)mm (0.0,0.0)->(89.253,118.886)mm (0.0,0.0)->(54.681,86.078)mm (0.0,0.0)->(54.681,90.664)mm (0.0,0.0)->(99.836,199.672)mm (0.0,0.0)->(215.9,329.847)mm (0.0,0.0)->(101.6,152.4)mm (0.0,0.0)->(25.4,101.6)mm (0.0,0.0)->(33.161,101.6)mm (0.0,0.0)->(14.111,87.489)mm (0.0,0.0)->(81.139,88.9)mm (0.0,0.0)->(25.4,66.675)mm (0.0,0.0)->(50.8,25.4)mm (0.0,0.0)->(50.8,38.1)mm (0.0,0.0)->(50.8,101.6)mm (0.0,0.0)->(57.15,139.7)mm (0.0,0.0)->(76.2,50.8)mm (0.0,0.0)->(76.2,76.2)mm (0.0,0.0)->(81.139,44.45)mm (0.0,0.0)->(88.9,50.8)mm (0.0,0.0)->(101.6,50.8)mm (0.0,0.0)->(101.6,76.2)mm (0.0,0.0)->(101.6,101.6)mm (0.0,0.0)->(101.6,127.0)mm (0.0,0.0)->(101.6,165.1)mm (0.0,0.0)->(101.6,203.2)mm (0.0,0.0)->(101.6,330.2)mm (0.0,0.0)->(152.4,50.8)mm (0.0,0.0)->(152.4,76.2)mm (0.0,0.0)->(152.4,101.6)mm (0.0,0.0)->(152.4,127.0)mm (0.0,0.0)->(152.4,152.4)mm (0.0,0.0)->(203.2,304.8)mm (0.0,0.0)->(215.9,152.4)mm (0.0,0.0)->(215.9,279.4)mm (0.0,0.0)->(63.5,79.375)mm (0.0,0.0)->(12.7,44.45)mm (0.0,0.0)->(44.45,76.2)mm (0.0,0.0)->(19.05,146.05)mm (0.0,0.0)->(44.097,31.044)mm (0.0,0.0)->(62.089,44.097)mm (0.0,0.0)->(74.083,51.858)mm (0.0,0.0)->(87.842,62.089)mm (0.0,0.0)->(105.128,74.083)mm (0.0,0.0)->(124.883,87.842)mm (0.0,0.0)->(148.167,105.128)mm (0.0,0.0)->(176.036,124.883)mm (0.0,0.0)->(209.903,148.167)mm (0.0,0.0)->(203.2,228.6)mm
>>(10) MediaPrintableArea.class > EPSON_EPSON_PX-1700F (2.963,2.963)->(207.045,294.04)mm (2.963,2.963)->(179.035,254.035)mm (2.963,2.963)->(145.027,207.045)mm (2.963,2.963)->(102.023,145.027)mm (2.963,2.963)->(294.04,417.054)mm (2.963,2.963)->(326.037,480.025)mm (2.963,2.963)->(254.035,361.033)mm (2.963,2.963)->(97.049,145.027)mm (2.963,2.963)->(197.026,145.027)mm (2.963,2.963)->(86.007,124.037)mm (2.963,2.963)->(98.637,149.437)mm (2.963,2.963)->(124.037,174.978)mm (2.963,2.963)->(200.237,251.037)mm (2.963,2.963)->(251.037,301.837)mm (2.963,2.963)->(98.637,177.624)mm (2.963,2.963)->(237.031,329.036)mm (2.963,2.963)->(117.052,232.022)mm (2.963,2.963)->(87.03,202.036)mm (2.963,2.963)->(117.052,173.038)mm (2.963,2.963)->(111.019,159.032)mm (2.963,2.963)->(95.038,145.027)mm (2.963,2.963)->(102.023,232.022)mm (2.963,2.963)->(212.937,276.437)mm (2.963,2.963)->(212.937,352.637)mm (2.963,2.963)->(361.033,512.022)mm (2.963,2.963)->(417.054,591.044)mm
>>(10) MediaPrintableArea.class > Canon MP493 series Printer (3.369,2.937)->(413.139,585.928)mm (3.387,2.963)->(290.165,411.964)mm (3.387,2.963)->(203.2,288.967)mm (3.387,2.963)->(141.182,201.972)mm (3.387,2.963)->(120.184,169.799)mm (3.387,2.963)->(196.384,245.999)mm (3.387,2.963)->(94.784,195.199)mm (3.387,2.963)->(82.169,118.999)mm (3.387,2.963)->(48.175,82.973)mm (3.387,2.963)->(94.784,172.593)mm (3.387,2.963)->(120.184,169.799)mm (3.387,2.963)->(196.384,245.999)mm (3.387,2.963)->(120.184,169.968)mm (0.0,0.0)->(364.0,515.0)mm (3.387,7.959)->(91.186,149.479)mm (3.397,2.979)->(250.185,355.966)mm (3.387,2.963)->(175.175,248.962)mm (6.392,2.963)->(203.2,271.399)mm (6.392,2.963)->(203.2,347.599)mm (3.362,2.988)->(272.552,423.769)mm (3.387,2.963)->(94.784,144.399)mm (3.387,2.963)->(93.176,139.996)mm (3.387,4.995)->(113.199,221.996)mm (3.387,2.963)->(193.167,139.996)mm (3.387,4.995)->(83.185,191.982)mm (3.387,2.963)->(193.167,139.996)mm (3.387,7.959)->(98.171,194.479)mm (3.357,2.968)->(221.788,329.811)mm (3.387,2.963)->(336.056,423.757)mm (3.333,2.972)->(424.955,550.784)mm (3.366,2.958)->(215.9,347.592)mm (3.387,2.963)->(322.157,474.98)mm (3.387,7.959)->(103.166,179.493)mm (3.356,2.994)->(247.185,296.798)mm (3.357,2.993)->(348.739,423.771)mm (3.387,2.963)->(203.2,288.967)mm (3.326,2.948)->(357.188,506.942)mm (3.387,2.963)->(203.2,288.967)mm (3.387,7.959)->(97.959,200.787)mm
>>(10) MediaPrintableArea.class > EPSON PX-1700F (0.0,0.0)->(419.976,593.835)mm (2.963,2.963)->(291.042,414.091)mm (2.963,2.963)->(204.047,291.042)mm (2.963,2.963)->(204.047,291.042)mm (2.963,2.963)->(142.099,204.047)mm (2.963,2.963)->(99.06,142.099)mm (2.963,2.963)->(121.073,172.014)mm (2.963,2.963)->(197.273,248.073)mm (0.0,0.0)->(363.94,514.95)mm (2.963,2.963)->(251.107,358.069)mm (2.963,2.963)->(176.107,251.107)mm (2.963,2.963)->(323.074,477.097)mm (2.963,2.963)->(83.044,121.073)mm (2.963,2.963)->(95.673,146.473)mm (2.963,2.963)->(248.073,298.873)mm (2.963,2.963)->(95.673,174.696)mm (2.963,2.963)->(234.103,326.108)mm (2.963,2.963)->(114.088,229.094)mm (2.963,2.963)->(84.102,199.108)mm (2.963,38.029)->(114.088,120.932)mm (2.963,2.963)->(204.047,291.042)mm (2.963,38.029)->(92.075,92.992)mm (2.963,2.963)->(209.973,273.473)mm (2.963,38.029)->(99.06,179.987)mm (2.963,2.963)->(209.973,349.673)mm (2.963,2.963)->(194.098,142.099)mm (2.963,2.963)->(121.073,172.014)mm (2.963,2.963)->(197.273,248.073)mm (2.963,38.029)->(108.091,106.962)mm (0.0,0.0)->(363.94,514.95)mm (2.963,2.963)->(94.051,142.099)mm (2.963,2.963)->(194.098,142.099)mm
>>(10) MediaPrintableArea.class > OneNote (12.7,12.7)->(184.573,271.611)mm (12.7,12.7)->(190.5,254.0)mm
/** 11 */ public static void printerSupportedResolution(PrintService sv) { System.out.println("> "+sv.getName()); PrinterResolution[] meds = (PrinterResolution[]) sv.getSupportedAttributeValues( PrinterResolution.class, null, null); if (meds!=null){ for (PrinterResolution med : meds) { System.out.println(med.toString()); // 30000x30000 dphi System.out.println(med.toString(PrinterResolution.DPI,"dpi")); // 300x300 dpi }//for }//if }
>>(11) PrinterResolution.class > Canon_MP493_A4 > Canon_MP493_chou3 > Canon_MP493_hagaki > Canon_MP493_hagaki_fuchinashi > Canon_MP493_series > Canon_MP493_you2 > EPSON_EPSON_PX-1700F
>>(11) PrinterResolution.class > OneNote 30000x30000 dphi 300x300 dpi > Microsoft XPS Document Writer 60000x60000 dphi 600x600 dpi > Microsoft Print to PDF 60000x60000 dphi 600x600 dpi > Fax 20000x20000 dphi 200x200 dpi 20000x10000 dphi 200x100 dpi > EPSON5AE8BC (PX-1700F) > EPSON PX-1700F > Canon MP493 series Printer > Canon Inkjet iP9910
/** 12 */ public static void printerFidelity(PrintService sv) { System.out.println("> "+sv.getName()); Fidelity[] meds = (Fidelity[]) sv.getSupportedAttributeValues( Fidelity.class, null, null); if (meds!=null){ for (Fidelity med : meds) { System.out.println(med.toString()); if ( med.equals(Fidelity.FIDELITY_FALSE) ) System.out.println("equal to false"); if ( med.equals(Fidelity.FIDELITY_TRUE) ) System.out.println("equal to true"); }//for }//if }//method
>>(12) Fidelity.class > Canon_MP493_A4 > Canon_MP493_chou3 > Canon_MP493_hagaki > Canon_MP493_hagaki_fuchinashi > Canon_MP493_series > Canon_MP493_you2 > EPSON_EPSON_PX-1700F
>>(12) Fidelity.class > OneNote false equal to false true equal to true > Microsoft XPS Document Writer false equal to false true equal to true > Microsoft Print to PDF false equal to false true equal to true > Fax false equal to false true equal to true > EPSON5AE8BC (PX-1700F) false equal to false true equal to true > EPSON PX-1700F false equal to false true equal to true > Canon MP493 series Printer false equal to false true equal to true > Canon Inkjet iP9910 false equal to false true equal to true
(3)で大きさで選別される前のMediaSizeの一覧
if(job==3){ System.out.println(">>("+job+") MediaSize DUMP ("+pr1.getName()+")"); Media[] meds = (Media[])pr1.getSupportedAttributeValues(Media.class, null, null); for (Media med : meds) { if(med instanceof MediaSizeName){ MediaSizeName msn = (MediaSizeName)med; MediaSize ms = MediaSize.getMediaSizeForName(msn); if(ms!=null){ float msx = ms.getX(MediaSize.MM); float msy = ms.getY(MediaSize.MM); System.out.println(msx+"\t"+msy+"\t:"+msn.getValue()+"\t:"+msn.toString()); //System.out.println(msx+" "+msy+" : "+ms.toString()+" : "+msn.toString()); //100.0 148.0 : 100000x148000 um : japanese-postcard //System.out.println(" : "+ms.getName()+" : "+msn.getName()); //: media-size : media }//ms }//med }//for }//if
adachi@debian64:/media/adachi/S1T/java/print01$ java PrintTest01 3 p.... >>(3) MediaSize DUMP (Canon_MP493_series) 215.9 279.4 :40 :na-letter 215.9 355.6 :41 :na-legal 184.15 266.7 :42 :executive 100.0 148.0 :48 :japanese-postcard 116.064 116.064 :4 :CD - 5 inch 64.911 64.911 :5 :CD - 3 inch 119.944 119.944 :6 :CD - Custom 76.2 127.0 :7 :3x5 88.9 119.239 :8 :3.5x4.7 88.0 125.0 :18 :iso-b7 88.0 125.0 :18 :iso-b7 50.8 152.4 :11 :2x6 101.6 152.4 :12 :4x6 101.6 152.4 :12 :4x6 114.3 152.4 :14 :4.5x6 114.3 174.625 :15 :Epson 4x6 Photo Paper (tear-off borders) 105.128 148.167 :140 :148x105 mm label 101.6 203.2 :17 :4x8 119.239 177.8 :18 :4.7x7 127.0 177.8 :71 :na-5x7 127.0 177.8 :71 :na-5x7 127.0 203.2 :21 :5x8 152.4 152.4 :22 :6x6 152.4 203.2 :23 :6x8 152.4 215.9 :24 :6x8.5 152.4 228.6 :64 :na-6x9-envelope 203.2 254.0 :72 :na-8x10 203.2 254.0 :72 :na-8x10 139.7 215.9 :45 :invoice 127.0 127.0 :29 :5x5 203.2 203.2 :30 :8x8 203.2 273.05 :31 :8x10.75 203.2 304.8 :32 :8x12 215.9 304.8 :33 :8.5x12 210.0 297.0 :4 :iso-a4 148.167 209.903 :142 :210x148 mm label 105.0 148.0 :6 :iso-a6 74.0 105.0 :7 :iso-a7 52.0 74.0 :8 :iso-a8 37.0 52.0 :9 :iso-a9 26.0 37.0 :10 :iso-a10 215.9 304.8 :33 :8.5x12 176.0 250.0 :16 :iso-b5 125.0 176.0 :17 :iso-b6 87.842 124.883 :139 :125x88 mm label 62.0 88.0 :19 :iso-b8 44.0 62.0 :20 :iso-b9 31.0 44.0 :21 :iso-b10 182.0 257.0 :27 :jis-b5 128.0 182.0 :28 :jis-b6 91.0 128.0 :29 :jis-b7 64.0 91.0 :30 :jis-b8 45.0 64.0 :31 :jis-b9 32.0 45.0 :32 :jis-b10 162.0 229.0 :38 :iso-c5 124.883 323.85 :55 :B6-C4 113.947 161.925 :57 :C6 landscape 113.947 161.925 :637 :C6 landscape 110.0 220.0 :55 :iso-designated-long 80.786 161.925 :59 :C7-6 80.786 161.925 :640 :C7-6 landscape 80.786 113.947 :61 :C7 80.786 113.947 :642 :C7 landscape 56.797 80.786 :63 :C8 56.797 80.786 :644 :C8 landscape 39.864 56.797 :65 :C9 39.864 56.797 :646 :C9 landscape 27.869 39.864 :67 :C10 27.869 39.864 :648 :C10 landscape 155.928 228.953 :69 :EA5 215.9 330.2 :46 :folio 188.736 245.886 :71 :Crown Quarto 200.731 257.881 :72 :Large Crown Quarto 122.767 185.914 :73 :Crown Octavo 128.764 197.908 :74 :Large Crown Octavo 139.7 215.9 :45 :invoice 155.928 233.892 :76 :Royal Octavo 110.772 177.8 :77 :Small paperback 110.772 180.975 :78 :Penguin small paperback 128.764 197.908 :74 :Large Crown Octavo 100.0 148.0 :48 :japanese-postcard 100.0 148.0 :48 :japanese-postcard 148.0 200.0 :49 :oufuko-postcard 119.944 234.95 :83 :Japanese long envelope #3 89.958 204.964 :84 :Japanese long envelope #4 89.958 204.964 :665 :Japanese long envelope #4 landscape 104.775 234.95 :86 :Japanese Western-style envelope #4 97.719 189.794 :87 :Japanese Western-style envelope #6 97.719 189.794 :668 :Japanese Western-style envelope #6 landscape 104.775 241.3 :60 :na-number-10-envelope 111.125 146.05 :90 :A2 Invitation 98.425 190.5 :92 :Monarch Envelope landscape 98.425 190.5 :672 :Monarch Envelope landscape 101.6 136.525 :93 :4x5 3/8 101.6 177.8 :94 :4x7 101.6 180.622 :95 :Wide 101.6x180.6 88.9 119.239 :8 :3.5x4.7 54.681 86.078 :97 :Credit Card 54.681 90.664 :98 :Japanese Business Card 99.836 199.672 :99 :Wide Postcard 215.9 330.2 :46 :folio 101.6 152.4 :12 :4x6 25.4 101.6 :102 :1.00x4.00 in label 33.161 101.6 :103 :1.31x4.00 in label 14.111 87.489 :104 :0.56x3.44 in label 81.139 88.9 :105 :3.19x3.50 in label 25.4 66.675 :106 :1.00x2.63 in label 25.4 50.8 :687 :2.00x1.00 in label 38.1 50.8 :688 :2.00x1.50 in label 50.8 101.6 :109 :2.00x4.00 in label 57.15 139.7 :110 :2.25x5.50 in label 50.8 76.2 :691 :3.00x2.00 in label 76.2 76.2 :112 :3.00x3.00 in label 44.45 81.139 :693 :3.19x1.75 in label 50.8 88.9 :694 :3.50x2.00 in label 50.8 101.6 :695 :4.00x2.00 in label 76.2 101.6 :696 :4.00x3.00 in label 101.6 101.6 :117 :4.00x4.00 in label 101.6 127.0 :118 :4.00x5.00 in label 101.6 165.1 :119 :4.00x6.50 in label 101.6 203.2 :17 :4x8 101.6 330.2 :121 :4.00x13.00 in label 50.8 152.4 :702 :6.00x2.00 in label 76.2 152.4 :703 :6.00x3.00 in label 101.6 152.4 :704 :6.00x4.00 in label 127.0 152.4 :705 :6.00x5.00 in label 152.4 152.4 :22 :6x6 203.2 304.8 :32 :8x12 152.4 215.9 :708 :8.50x6.00 in label 215.9 279.4 :40 :na-letter 63.5 79.375 :130 :2.50x3.13 in label 12.7 44.45 :131 :0.50x1.75 in label 44.45 76.2 :132 :1.75x3.00 in label 19.05 146.05 :133 :0.75x5.75 label 31.044 44.097 :714 :44x31 mm label 44.097 62.089 :715 :62x44 mm label 51.858 74.083 :716 :74x52 mm label 62.089 87.842 :717 :88x62 mm label 74.083 105.128 :718 :105x74 mm label 87.842 124.883 :719 :125x88 mm label 105.128 148.167 :720 :148x105 mm label 124.883 176.036 :721 :176x125 mm label 148.167 209.903 :722 :210x148 mm label 203.2 228.6 :143 :8x5+8x4 adachi@debian64:/media/adachi/S1T/java/print01$
PS Z:\java\print01> java PrintTest01 3 p.... >>(3) MediaSize DUMP (Canon MP493 series Printer) 215.9 279.4 :40 :na-letter 215.9 355.6 :41 :na-legal 148.0 210.0 :5 :iso-a5 210.0 297.0 :4 :iso-a4 182.0 257.0 :27 :jis-b5 101.6 152.4 :111 :KG 101.6 203.2 :77 :US 4x8 127.0 177.8 :71 :na-5x7 203.2 254.0 :72 :na-8x10 89.0 127.0 :78 :L判 127.0 177.8 :88 :2L判 100.0 148.0 :48 :japanese-postcard 148.0 200.0 :49 :oufuko-postcard 104.775 241.3 :60 :na-number-10-envelope 110.0 220.0 :55 :iso-designated-long 120.0 235.0 :112 :長形3号 90.0 205.0 :113 :長形4号 105.0 235.0 :114 :洋形4号 98.298 190.5 :57 :monarch-envelope 55.0 91.0 :79 :名刺 101.6 180.6 :80 :ワイド 101.6x180.6mm 228.6 337.8 :115 :レターノビ (拡大縮小) 279.4 431.8 :44 :tabloid 342.9 431.8 :116 :13.5x17 (拡大縮小) 431.8 558.8 :52 :c 222.7 355.6 :117 :A4ノビ (拡大縮小) 297.0 420.0 :3 :iso-a3 329.0 483.0 :118 :A3ノビ (拡大縮小) 420.0 594.0 :2 :iso-a2 257.0 364.0 :26 :jis-b4 364.0 515.0 :25 :jis-b3 254.0 304.8 :119 :四切 (拡大縮小) 355.6 431.8 :120 :半切 (拡大縮小) 210.0 297.0 :122 :ユーザー定義用紙... 127.0 177.8 :86 :US 5x7 203.2 254.0 :87 :六切 148.0 200.0 :49 :往復はがき 98.298 190.5 :89 :洋形6号 364.0 515.0 :121 :B3 (拡大縮小)