→ java企业应用
-
0 0
-
java怎么实现打印机监控15
实现目标:
1、可以测试打印机是否连接
2、监控打印机的状态:打印机缺纸、打印机卡纸
我从printservice里获取printerstatereasons,可是总是为空。不知道怎么才能获取到打印机的printerstatereasonsimport java.awt.color; import java.awt.graphics; import java.awt.graphics2d; import java.awt.print.pageformat; import java.awt.print.printable; import javax.print.doc; import javax.print.docflavor; import javax.print.docprintjob; import javax.print.printexception; import javax.print.printservice; import javax.print.printservicelookup; import javax.print.simpledoc; import javax.print.attribute.hashprintrequestattributeset; import javax.print.attribute.printrequestattributeset; import javax.print.attribute.printserviceattributeset; import javax.print.attribute.standard.mediaprintablearea; import javax.print.attribute.standard.printerstatereasons; import javax.print.event.printjobevent; import javax.print.event.printjoblistener; import javax.print.event.printserviceattributeevent; import javax.print.event.printserviceattributelistener; import com.insigma.afc.common.loghelper; public class textprinter implements printable { private static final loghelper s_log = new loghelper(textprinter.class); // 半角下的中文字符 public static final short half_chinese = 0; // 半角下的英文字符 public static final short half_english = 1; protected string text; protected string seperator; public textprinter() { } public void print(string text, string seperator) { this.text = text; this.seperator = seperator; docflavor flavor = docflavor.service_formatted.printable; printrequestattributeset aset = new hashprintrequestattributeset(); aset.add(new mediaprintablearea(20, 20, 700, 700, mediaprintablearea.mm)); printservice services = printservicelookup.lookupdefaultprintservice(); if (services != null) { docprintjob pj = services.createprintjob(); services.addprintserviceattributelistener(new printserviceattributelistener() { public void attributeupdate(printserviceattributeevent psae) { printserviceattributeset attribute = psae.getattributes(); } }); pj.addprintjoblistener(new printjoblistener() { public void printdatatransfercompleted(printjobevent pje) { s_log.info("111111111111 " pje.getprinteventtype()); } public void printjobcanceled(printjobevent pje) { s_log.info("22222222222222222 " pje.getprinteventtype()); } public void printjobcompleted(printjobevent pje) { s_log.info("33333333333333 " pje.getprinteventtype()); } public void printjobfailed(printjobevent pje) { s_log.info("444444444444444 " pje.getprinteventtype()); } public void printjobnomoreevents(printjobevent pje) { s_log.info("5555555555555555555 " pje.getprinteventtype()); system.out.println("打印失败:" pje.job_failed); system.out.println("没有事件:" pje.no_more_events); } public void printjobrequiresattention(printjobevent pje) { s_log.info("66666666666666666666 " pje.getprinteventtype()); } }); try { doc doc = new simpledoc(this, flavor, null); pj.print(doc, aset); printerstatereasons printerstatereasons = services .getattribute(printerstatereasons.class); system.out.println("-----------" printerstatereasons); } catch (printexception e) { e.printstacktrace(); system.err.println(e); } } else { s_log.info("未找到打印机。"); } } public int print(graphics g, pageformat pf, int pageindex) { if (pageindex == 0) { graphics2d g2d = (graphics2d) g; g2d.translate(pf.getimageablex(), pf.getimageabley()); g2d.setcolor(color.black); string[] lines = text.split(seperator); for (int i = 0; i < lines.length; i ) { g2d.drawstring(lines[i], 0, (i 1) * 20); } return printable.page_exists; } else { return printable.no_such_page; } } /** * 为中文字符对齐补空格(打印对齐时候用) * * @param content * 需要补空格的字符 * @param expectlength * 占用的最大长度 * @param type * 字符的类型:中文、英文 * @return */ public static string validchinesestring(string content, int expectlength, short type) { string resultstring = content.trim(); string space = null; switch (type) { case half_chinese: { space = " "; break; } case half_english: { space = " "; break; } default: break; } int contentlength = content.length(); if (contentlength < expectlength) { int different = expectlength - contentlength; for (int i = 0; i < different; i ) { resultstring = space; } } system.out.println(content " " resultstring); return resultstring; } }
2009年10月10日 10:41
15
0 0 0
2个答案
-
0 0
-
第三方包读取com
2009年10月26日 16:44
31
0 0 0
-
0 0
-
打印机监控系统的设计与实现
http://download.csdn.net/source/8552572009年10月10日 15:02
13934
0 0 0
相关推荐
可以实时监控打印机状态,如获取打印时间,打印文档名称,打印份数
简单的例子,用于通过snmp访问利盟打印机 可用于自助终端程序中的本地设备状态信息获取或操控
自己写的一个小工具,给大家玩玩!...可以监控网络内的网络打印机和共享打印机的使用情况。对打印环境中所有的打印用户,进行打印控制管理。做到费用控制和权限控制。并能实时查看打印机状态(使用中,缺纸等)。
该项目包括fsp设计和java多线程实现,用于2名学生和1名技术人员使用的共享打印机。 fsp有3个独立过程。 印表机处理 用3篇论文进行初始化 应该至少有1纸才能进行打印 用户必须具有互斥访问打印机的权限 每次打印时...
java票据打印,打印机状态监控,得到打印机的状态值
主要对传统的javaee进行了描述以及与springboot是如何衍生而来与其优点 ...11.应用监控 12.分布式系统开发 总体而言这本书还是很不错的,里面对一些注解进行了详细讲解以及为什么要用注解的原因,一句话:大道至简~
部署后对应操作的端有:平台端,商户端,h5商城,pc商城 1、后台框架 springboot 简单易用 ...店铺配置 基本信息,店铺,打印机等 备注:本源码为官方正版源码,非破解版,仅供下载研究学习,商业使用请联系购买授权!
ava多商户外贸版正式发布!多语言、国际支付、短信登录等,快来 部署后对应操作的端有:平台端,商户端,h5商城,...店铺配置 基本信息,店铺,打印机等 原版源码,未做任何修改处理,仅供研究学习,授权请支持正版!
3、支持监测服务接口api、数通设备(如交换机、路由器、打印机)ping和snmp监测、自定义监控指令等。自动生成网络拓扑图,大屏可视化,web ssh,统计分析报表,指令下发批量执行,ftp监测,资产管理,设备账号管理,...
pdf打印机 评估javascript 调用javascript函数 从浏览器(javascript)调用java函数 支持本地css选择器引擎 支持xpath查询 隐身浏览(私有标签) 全页截屏 支持并行运行 自动等待dom更改完成 触发鼠标事件(单击...
wgcloud基于微服务springboot架构开发,是轻量高性能的分布式监控系统,核心采集指标包括:cpu使用率,cpu温度,内存使用率,磁盘容量,磁盘io,硬盘smart健康状态,系统负载,连接数量,网卡流量,硬件系统信息等。...
工厂商品出入库管理系统,商品从生产报批,审核,生产入库,出库配送整个过程通过手机端全程精准监控。其中各个角色权限统一调度分配;复杂商品sku一键上传;完美接入商品小票打印机,随时随地操控商品小票打印;...
wgcloud基于微服务springboot架构开发,是轻量高性能的分布式监控系统,核心采集指标包括:cpu使用率,cpu温度,内存使用率,磁盘容量,磁盘io,硬盘smart健康状态,系统负载,连接数量,网卡流量,硬件系统信息等。...
监控和配置网络组件,例如服务器、路由器、交换机或打印机。 此连接器支持简单网络管理协议 (snmp) 版本 2,并使用 snmp4j 库,它是 java:trade_mark: se 的企业级免费开源 snmp 实现。 snmp 是一种流行的协议,用于...