发布于2023-12-25 22:24 阅读(195) 评论(0) 点赞(29) 收藏(5)
我有一个用 Java 编码的网络应用程序。我需要通过选择打印机在客户端打印出文本内容(不是网页)。我可以在服务器端用 Java 做到这一点,但我应该如何在客户端克服呢?
我应该选择 JavaScript 还是 applet?我可以让解决方案在所有打印机中选择一台打印机吗?
提前致谢...
您可以使用小程序进行客户端打印。`
public void paint(Graphics g) {
TextArea display = new TextArea(1, 80);
try {
PrintService printService = getPrintService("printerName");
if(printService == null)
printService = PrintServiceLookup
.lookupDefaultPrintService();
printData(printService , "Printing text");
g.drawString(
" \n The Print was Successfull.. ",
10, 10);
} catch (Exception e) {
System.out.println("Exception was thrown. Exception is \t : " + e);
}
}
将文本打印到选定的打印设备
private boolean printData(PrintService printService , String printText) {
try {
SimpleDoc doc;
doc = new SimpleDoc(printText.getBytes(),
javax.print.DocFlavor.BYTE_ARRAY.AUTOSENSE, null);
DocPrintJob job = printService.createPrintJob();
job.print(doc, new HashPrintRequestAttributeSet());
System.out.println("Job sent to printer succesfully");
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
此代码用于在所有打印机中选择一台打印机
private PrintService getPrintService(String name) {
PrintService pService = null;
if (name == null || name.trim().length() == 0)
return null;
PrintService pServices[] = PrintServiceLookup.lookupPrintServices(null, null);;
int i = 0;
do {
if (i >= pServices.length)
break;
String pServiceName = pServices[i].getName();
if (name.equalsIgnoreCase(pServiceName)) {
pService = pServices[i];
break;
}
i++;
} while (true);
return pService;
}`
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/685774/2cd238b609cf1958f14e/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!