我在JSP页面上需要自动刷新,得到文本,并自动把文本打印出来。
一、得到文本(字符串);
二、利用JAVA来自动打印。(不弹出打印框)如下是我的自动打印的函数,各位大佬帮忙看一下:希望打印出html的效果来,但实际过程中的打印public int printText(String content)
throws Exception{ //content 来自网页上的组合字符串,如<font size=6>测试和打印</font><br>print_test
content = "<font size=6>测试和打印</font><br>print_test";
int printFlag =0; //打印标志清零 byte[] b = content.getBytes();
InputStream in = new ByteArrayInputStream(b); //指定打印输出格式
//DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;//可用的STRING.TEXT_HTML
DocFlavor flavor = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST; //定位默认的打印服务
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); if (!defaultService.isDocFlavorSupported(flavor)){
System.err.println("打印机不支持这种格式");
}
try
{ DocPrintJob job = defaultService.createPrintJob();//创建打印作业
Doc doc = new SimpleDoc(in, flavor, null);//建立打印文件格式,指定打印内容
job.print(doc, null); //进行每一页的具体打印操作 in.close();
printFlag=1; }catch(Exception pe){
printFlag=0;
pe.printStackTrace();
return printFlag;
}
}
return printFlag;
}
可能关键在于这里:
DocFlavor flavor = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;如果直接打印,总是连超文本的代码一起打印,郁闷!!感谢大人了!
一、得到文本(字符串);
二、利用JAVA来自动打印。(不弹出打印框)如下是我的自动打印的函数,各位大佬帮忙看一下:希望打印出html的效果来,但实际过程中的打印public int printText(String content)
throws Exception{ //content 来自网页上的组合字符串,如<font size=6>测试和打印</font><br>print_test
content = "<font size=6>测试和打印</font><br>print_test";
int printFlag =0; //打印标志清零 byte[] b = content.getBytes();
InputStream in = new ByteArrayInputStream(b); //指定打印输出格式
//DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;//可用的STRING.TEXT_HTML
DocFlavor flavor = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST; //定位默认的打印服务
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); if (!defaultService.isDocFlavorSupported(flavor)){
System.err.println("打印机不支持这种格式");
}
try
{ DocPrintJob job = defaultService.createPrintJob();//创建打印作业
Doc doc = new SimpleDoc(in, flavor, null);//建立打印文件格式,指定打印内容
job.print(doc, null); //进行每一页的具体打印操作 in.close();
printFlag=1; }catch(Exception pe){
printFlag=0;
pe.printStackTrace();
return printFlag;
}
}
return printFlag;
}
可能关键在于这里:
DocFlavor flavor = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;如果直接打印,总是连超文本的代码一起打印,郁闷!!感谢大人了!
你就用DocFlavor.STRING.TEXT_HTML 这个不行么? 还有 可以用 DocFlavor.BYTE_ARRAY这个里面的试试..
直接打印DocFlavor.STRING.TEXT_HTML ,也是不行。
哥们再帮忙看看好不?
你不用打印机的,只需要随便装个打印机的驱动,可调试 ,看有没有报错。
麻烦你们了。感谢
然后使用JS来调用windows的打印功能,但总是弹出打印对话框,大人有没有好办法让打印框不出现呢???