我的代码如下,但是只是获取服务端的打印机,如何获取客户端的打印机,求解。。。。
public static int print(QuickMarkPrintUtil qp,PaperSetting paper) {
// ReadData();
// 通俗理解就是书、文档
Book book = new Book();
// 设置成竖打
PageFormat pf = new PageFormat();
pf.setOrientation(PageFormat.PORTRAIT); // LANDSCAPE表示竖打;PORTRAIT表示横打;REVERSE_LANDSCAPE表示打印空白
// 通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。
Paper p = new Paper();
if (paper != null) {
p.setSize(Double.valueOf(paper.getP_paper_width()) * 72 / 25.4,
Double.valueOf(paper.getP_pager_height()) * 72 / 25.4);
p.setImageableArea(
Double.valueOf(paper.getP_image_x()) * 72 / 25.4,
Double.valueOf(paper.getP_image_y()) * 72 / 25.4,
Double.valueOf(paper.getP_image_able_area_width()) * 72 / 25.4,
Double.valueOf(paper.getP_code_image_height()) * 72 / 25.4);
} else {
p.setSize(240, 181); // 纸张大小(590, 840)表示A4纸
// p.setImageableArea(70, 40, 125, 160); // A4(595 X
// 842)设置打印区域,其实0,0应该是72,72
// ,因为A4纸的默认X,Y边距是72
p.setImageableArea(40, 40, 150, 170);
}
pf.setPaper(p);
// 把 PageFormat 和 Printable 添加到书中,组成一个页面
book.append(qp, pf);
// 查找打印机==[color=red]这里只能获取服务端的打印机列表,如何获取客户端的 求指教啊[/color]
PrintService pss[] = PrinterJob.lookupPrintServices();
PrintService ps = null;
if (pss == null) {
LogerUtil.info("no PrintService in this computer");
return 0;
}
for (int i = 0; i < pss.length; i++) {
if ("TSC TTP-244 Plus".equals(pss[i].getName())) {
ps = pss[i];
break;
}
}
if (ps == null) {
LogerUtil
.info("no available PrintService[TSC TTP-244 Plus] in this computer");
return 0;
}
// 获取打印服务对象
PrinterJob job = PrinterJob.getPrinterJob();
// 设置打印类
job.setPageable(book);
try {
// 可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印
// boolean a = job.printDialog();
// if (a) {
job.print();
return 1;
// }else{
// return 2;
// }
} catch (PrinterException e) {
e.printStackTrace();
return 0;
}
}
分享到:
相关推荐
```java public class Emp { private int emp_id; private String emp_name; private String job; private double salary; public Emp(int emp_id, String emp_name, String job, double salary) { this.emp_...
在Linux环境下,特别是Ubuntu系统,配置打印机驱动可能会对新手来说是一项挑战。然而,对于Canon LBP系列打印机,尤其是Canon LBP2900,有一套相对简单的方法可以在Ubuntu Server 12.04.1 i386版本上进行驱动安装。...
作为一个java初学者,开发者通过实践创作了一个完整的24层迷宫塔游戏,旨在锻炼自己的编程技能,并向同行求教。源码的公开也为我们提供了一个学习和研究的宝贵资源。 首先,我们要理解Java Applet。Java Applet是一...
需要注意的是,由于这些代码是作者个人编写,可能存在错误,因此在学习过程中需要谨慎对待,遇到问题应积极查找资料、参与讨论,或者向指导老师求教。 总之,“西农Java实习,实习五到实习六”是一个全面的Java学习...
用eclipse插件制作的java计算器,基本功能都能实现,含jar,适合java初学者,需改进处求教
刚学java做的一个通过注册表修改ie默认主页,不过会被杀毒拦截,怎么过杀毒拦截,求教
* 在学习中要刻苦钻研、踏踏实实、虚心求教、持之以恒。 * 在学习时要抓住基本知识点的掌握对整个 Java 的编程思想应有完整的整体概念。 * 通过课本中的大量实例可以巩固和加深对所学理论的理解,并培养分析能力和...
在实际项目中,可能会根据需求选择使用Java进行快速开发,然后通过工具转换为C++以获取更高的运行效率。 总的来说,Java是一门既富有挑战性又充满机遇的语言。它既有强大的开发框架和库支持,也有性能上的局限。...
这是我辛辛苦苦整理出来的java词汇表啊,大家可以参考一下哦,么么哒,新手求教了
她对自己的评价是虚心求教,有良好的编程习惯和问题解决能力,对工作充满热情,适应力强,具备团队协作精神。她坚信不断学习是提升自我的关键。 总结来说,这份简历展示了求职者在Java开发领域的全面技能和实践经验...
标题中的“extjs文件浏览框问题求教”表明这是一个关于ExtJS框架中文件选择或浏览功能的编程问题。ExtJS是一个流行的JavaScript库,用于构建富客户端应用程序,它提供了丰富的组件库,包括文件浏览框(FileBrowser)...
PHP推广链接的修改,求教 这两个文件可以随时互换的,只是推广链接的形式不同;
很抱歉,根据您提供的信息,"公式求教共4页.pdf.zip"似乎是一个包含四页公式教学内容的PDF文档的压缩文件,而"赚钱项目"可能是压缩包中的另一个文件或者是一个误输入。然而,没有实际的文件内容,我无法提供具体的IT...
我建议自己要提高工作的主动性,注重实效,增强专业能力,虚心求教,以及勤奋工作。同时,我分享了在实施和维护项目中遇到的一些挑战。这些挑战包括如何与不同用户进行有效沟通,以及如何处理系统升级和维护中的各种...
求教类似SUMIF;COUNTIF的条件函数的写法???
在2016年的Java开发工作中,这位程序员经历了一系列项目,从中积累了丰富的经验和技能。首先,他在XX.5.10至XX.7期间参与了联通116114门户网站的开发,主要实现了登录注册、公告模块、短信发送等功能,并接触了...
在遇到技术难题时,他积极向同事求教,记录问题和解决方案,这有助于提高他的技术理解和问题解决能力。 在过去的一年中,工程师在思想观念、学习和团队合作方面都有所进步。他利用业余时间自学新技术并与同事交流,...
求教现在的主流3D网络游戏开发都使用哪些技术.doc