我首次接触Java打印,我想打印一个我在程序中拼的字符串。请问该怎么实现???
[b]问题补充:[/b]
上一站,火星的答案,我已经测试过这种方式。目前我想这样实现,代码如下:
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob dpj = service.createPrintJob();
String str = "我要测试一下打印机,哈哈哈哈哈哈哈哈哈哈哈哈哈哈!";
InputStream inputStream = new ByteArrayInputStream(str.getBytes());
Doc doc = new SimpleDoc(inputStream, DocFlavor.INPUT_STREAM.AUTOSENSE, null);
PrintRequestAttributeSet praSet = new HashPrintRequestAttributeSet();
praSet.add(MediaSizeName.ISO_A4);
praSet.add(new Copies(1));
try {
dpj.print(doc, praSet);
} catch (PrintException e) {
e.printStackTrace();
}
[b]问题补充:[/b]
这种方式可以调用打印机,但是打印机不打印数据。请问这是什么原因?
[b]问题补充:[/b]
火星,你好!谢谢你的耐心解答。你刚才的答案,这种方式我也测试过,打印GIF,文件都可以。但是好像在程序拼接的字符串唯独不可以,这应该跟DocFlavor文档数据类型有关系。难道只能把字符串回到2D
图形上打印??
[b]问题补充:[/b]
这种类型,打印机不支持。错误如下:
sun.print.PrintJobFlavorException: invalid flavor
at sun.print.Win32PrintJob.print(Win32PrintJob.java:296)
at com.haoqingwei.example.print.PrintDemo.main(PrintDemo.java:61)
我的打印机支持一下DocFlavor类型:
MediaSubtype:******gif
MediaType:******image
MimeType:******image/gif
RepresentationClassName:******[B
MediaSubtype:******gif
MediaType:******image
MimeType:******image/gif
RepresentationClassName:******java.io.InputStream
MediaSubtype:******gif
MediaType:******image
MimeType:******image/gif
RepresentationClassName:******java.net.URL
MediaSubtype:******jpeg
MediaType:******image
MimeType:******image/jpeg
RepresentationClassName:******[B
MediaSubtype:******jpeg
MediaType:******image
MimeType:******image/jpeg
RepresentationClassName:******java.io.InputStream
MediaSubtype:******jpeg
MediaType:******image
MimeType:******image/jpeg
RepresentationClassName:******java.net.URL
MediaSubtype:******png
MediaType:******image
MimeType:******image/png
RepresentationClassName:******[B
MediaSubtype:******png
MediaType:******image
MimeType:******image/png
RepresentationClassName:******java.io.InputStream
MediaSubtype:******png
MediaType:******image
MimeType:******image/png
RepresentationClassName:******java.net.URL
MediaSubtype:******x-java-jvm-local-objectref
MediaType:******application
MimeType:******application/x-java-jvm-local-objectref
RepresentationClassName:******java.awt.print.Pageable
MediaSubtype:******x-java-jvm-local-objectref
MediaType:******application
MimeType:******application/x-java-jvm-local-objectref
RepresentationClassName:******java.awt.print.Printable
MediaSubtype:******octet-stream
MediaType:******application
MimeType:******application/octet-stream
RepresentationClassName:******[B
MediaSubtype:******octet-stream
MediaType:******application
MimeType:******application/octet-stream
RepresentationClassName:******java.net.URL
MediaSubtype:******octet-stream
MediaType:******application
MimeType:******application/octet-stream