尝试了两种方式:1:if(job.printDialog(attributes))job.print(attributes);这种方式下,可以打印,但显示的打印对话框包含页面设置,设置其中的横向、纵向打印无效。(不能使用本地...
尝试了两种方式:
1:if (job.printDialog(attributes))
job.print(attributes);
这种方式下,可以打印,但显示的打印对话框包含页面设置,设置其中的横向、纵向打印无效。(不能使用本地打印对话框)
2.PrintService方式
PrintRequestAttributeSet pras = ...;
DocFlavor flavor = ...;
PrintService printService[] =
PrintServiceLookup.lookupPrintServices(flavor, pras);
PrintService defaultService =
PrintServiceLookup.lookupDefaultPrintService();
PrintService service = ServiceUI.printDialog(null, 200, 200,
printService, defaultService, flavor, pras);
if (service != null) {
DocPrintJob job = service.createPrintJob();
String fis=......
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
}
这种方式打印图片(gif、png等)都没有问题,设置的横向、纵向都起作用,但无法打印文本字符串。无论DocFlavor设置成DocFlavor.String.。。。其他,反正适合打文字的DocFlavor都无法找到打印服务
我在网上已经搜了很久了,暂时还没有发现这个问题在哪里,各位大侠帮我想想。
hebsong,谢谢,我问的是java中的问题,与javascript没有关系
capuchin,谢谢,你还是使用的是系统本地打印对话框,我在问题里提到了,系统要求不能使用本地对话框。
展开