java 调用打印机API无法打印,但是直接打印可以,请问有人遇到过这样的问题吗? 5

java调用打印机的代码如下:publicstaticvoidmain(String[]args){PrintRequestAttributeSetpras=newHas... java调用打印机的代码如下:
public static void main(String[] args) {
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService printService[] = PrintServiceLookup
.lookupPrintServices(flavor, pras);// 用户可选用的PrintService实例数组。

PrintService activePrintService = null;
for(PrintService service : printService){
System.out.println(service.getName());
if(service.getName().equals("HP Deskjet 1000 J110 series")){
activePrintService = service;
}
}
/////////////////////
if (printService.length > 0) {
DocPrintJob pj = activePrintService.createPrintJob();
try {
FileInputStream fis = new FileInputStream("d:/print2.txt");
Doc doc = new SimpleDoc(fis, flavor, null);
pj.print(doc, pras);
} catch (FileNotFoundException fe) {
fe.printStackTrace();
} catch (PrintException e) {
e.printStackTrace();
}
}
}
代码执行后,文档已经进入打印机,并提示“正在打印”,但打印机没有反应,求解。。。。。。
展开
 我来答
zoufeng1126
2014-02-24 · TA获得超过315个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:95.4万
展开全部
代码逻辑有问题:
if (printService.length > 0) {
// 这个地方应该判断activePrintService != null,
因为你是用的打印机是activePrintService来打印,
而不是判断系统有有打印机就调用activePrintService来打印。
追问
@zoufeng1126 谢谢你,这个地方是我代码在修改的过程中不太规范,但不是主要问题,pj.print(doc, pras);这行代码确定是执行了的。
就叫小基霸
2017-12-01
知道答主
回答量:4
采纳率:0%
帮助的人:3608
展开全部
你好,问题解决了吗?能否提供一下解决方法,困扰很久了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式