社区
Java SE
帖子详情
监视打印机的问题
tstimes
2005-06-06 09:29:12
请问各位前辈,能不能用Java实现对打印机的监视?要监视的内容有打印机当前状态,有几个打印任务,正在打印的任务有多少页。如能实现对打印池的监视就更好了!
...全文
123
9
打赏
收藏
监视打印机的问题
请问各位前辈,能不能用Java实现对打印机的监视?要监视的内容有打印机当前状态,有几个打印任务,正在打印的任务有多少页。如能实现对打印池的监视就更好了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tstimes
2005-06-08
打赏
举报
回复
各位前辈帮帮忙啊!急啊!
tstimes
2005-06-07
打赏
举报
回复
我想用Java实现对打印机的监视,举个例子:我在word中打印一篇文档,用Java写的监视程序应该能监测到向打印机添加了打印任务,并能获取打印任务的各种属性。能不能实现?
ariel_521
2005-06-07
打赏
举报
回复
应该能的
我丢打印机没研究
tstimes
2005-06-06
打赏
举报
回复
能不能提供些实现思想?像应该调用哪些API什么的?谢谢了!
galewithwing
2005-06-06
打赏
举报
回复
当然是可以的,你用来写驱动程序么?
呵呵,当然了,如果不是对驱动程序了解不多,有一定难度
keng789
2005-06-06
打赏
举报
回复
我也没有做过,关注,应该可以,雕用API咯
ariel_521
2005-06-06
打赏
举报
回复
http://publib.boulder.ibm.com/iseries/v5r2/ic2989/index.htm?info/rzahh/javadoc/PrinterFileAttrs.html
java 打印程序中打印机属性设置
使用如下方法可以获得PrintJob的实例用于控制打印操作:
Toolkit.getPrintJob(Frame f, String jobtitle, Properties prop)
那么对于打印属性的设置可以通过对prop的属性设置来实现,打印属性包括:
awt.print.destination: 可以是"printer"或"file"
awt.print.printer: 打印机名
awt.print.fileName: 打印文件名
awt.print.numCopies: 打印份数
awt.print.options: 打印命令的打印选项
awt.print.orientation: 打印方向,可以是"portrait"或"landscape"
awt.print.paperSize: 纸张大小,可以是"letter","legal","executive"或"a4"
ariel_521
2005-06-06
打赏
举报
回复
一个小例子
import javax.swing.*;
import java.awt.print.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
class PrinterWindow extends JFrame implements ActionListener,Printable
{
int m,n=3,p=1,i=1; //m:总行数、n:每页打印的行数,p:总页数,i:打印的页码。
PrinterJob printerJob;
JButton buttonPrint;
JLabel label;
JTextArea text;
CharArrayWriter out;
CharArrayReader in;
BufferedReader readIn;
Container con;
PrinterWindow(String s)
{
super(s);
setSize(360,200);
setLocation(120,120);
setVisible(true);
label=new JLabel("单击按钮开始打印第"+i+"页");
buttonPrint=new JButton("打印第"+i+"页");
buttonPrint.addActionListener(this);
text=new JTextArea();
con=getContentPane();
JPanel panel=new JPanel(new GridLayout(1,2));
panel.add(label);
panel.add(buttonPrint);
con.add(new JScrollPane(text),BorderLayout.CENTER);
con.add(panel,BorderLayout.SOUTH);
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
try
{
label.setText("正在打印第"+i+"页");
if(i==1)
{
out=new CharArrayWriter();
char message[]=text.getText().toCharArray();
out.write(message); //将文本区中的内容写入内存。
m=text.getLineCount();
p=(m%n==0)?(m/n):(m/n+1);
in=new CharArrayReader(out.toCharArray());
readIn=new BufferedReader(in);
}
if(i<=p)
{
printerJob=PrinterJob.getPrinterJob();
PageFormat pageFormat=printerJob.pageDialog(printerJob.defaultPage());
text.setText(null);
String str=null;
int number=1;
text.append("这是第"+i+"页\n\n");
while((number<=n)&&(str=readIn.readLine())!=null) //读入需要的行数。
{
text.append(str+"\n");
number++;
}
boolean boo=printerJob.printDialog() ; //弹出打印对话框。
if(boo==true)
{
printerJob.setPrintable(this,pageFormat);
printerJob.print();
i++;
buttonPrint.setText("打印下一页吗?");
}
}
else
{
label.setText("打印完毕,再打一份吗?");
i=1;
buttonPrint.setText("打印第"+i+"页");
in=new CharArrayReader(out.toCharArray());
readIn=new BufferedReader(in);
String str=null;
text.setText(null);
while((str=readIn.readLine())!=null) //文本区恢复原有文本。
{
text.append(str+"\n");
}
out.close();
readIn.close();
in.close();
}
}
catch(Exception ee)
{
}
}
public int print(Graphics graphics,PageFormat pageFormat,int pageIndex)
{
if(pageIndex==0) //只打印一页。
{
graphics.translate(80,80);
text.paintAll(graphics);
return Printable.PAGE_EXISTS; //通知打印机已经准备好了该打印页。
}
else
{
return Printable.NO_SUCH_PAGE; //打印作业布置结束。
}
}
}
public class Example
{
public static void main(String args[])
{
PrinterWindow win=new PrinterWindow("窗口");
}
}
tstimes
2005-06-06
打赏
举报
回复
顶一下!
监视
打印机
队列(.NET)中的作业
本文演示了
监视
打印机
队列以了解作业状态的变化。
OKI C110
监视
器
OKI C110
监视
器软件 用于使用OKI c110
打印机
各种
问题
监视
。
Zabbix监控企业实战视频(程序员必备版)
zabbix是一个基于WEB界面的提供分布式系统
监视
以及网络
监视
功能的企业级的开源解决方案。zabbix能
监视
各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种
问题
。 ...
打印机
监视
程序(绿色免费)
1. 该软件无须安装,直接将软件包解压缩到一个目录下,运行PrinterMon.exe程序即可。 2. 如果需要该程序随系统启动而自动启动,则在软件的“
打印机
列表”节点下, 勾选“用户登录系统后自动运行
打印机
监视
程序”项即可。 3. 该软件除了可以
监视
本地的
打印机
之外,还可以
监视
网络中其他共享的
打印机
。 只要利用“添加
打印机
”中提供的三种方法之一枚举相关的
打印机
, 添加到监控的
打印机
列表中即可。 4. 监控网络上的
打印机
时,要提供正确的登录认证设置,保证网络可连通并具有合适的权限。 5. 注意防火墙的设置,保证可以正常访问网络上的
打印机
。 6. 该软件为完全免费,除软件主窗口下部的信息区会尝试连接我们的网站 (http://www.3000soft.net)获取最新产品资料之外,不含有任何收集用户资料或其它恶意的代码。 任何情况下,我们都不为可能造成的任何可以预见或不可预见的损失承担责任。 如果您持有怀疑或担心,请选择不运行此软件,立即删除这些文件。 7. 该软件主要为企业管理者提供
打印机
、纸张、文件档案等公司资源的监控服务。 因为网络和系统的复杂性,
监视
到的打印作业资料不表示一定准确,请不要盲目地 依此作出什么结论性的判断。
共享
打印机
监控工具
1. 该软件无须安装,直接将软件包解压缩到一个目录下,运行PrinterMon.exe程序即可。 2. 如果需要该程序随系统启动而自动启动,则在软件的“
打印机
列表”节点下, 勾选“用户登录系统后自动运行
打印机
监视
程序”项即可。 3. 该软件除了可以
监视
本地的
打印机
之外,还可以
监视
网络中其他共享的
打印机
。 只要利用“添加
打印机
”中提供的三种方法之一枚举相关的
打印机
, 添加到监控的
打印机
列表中即可。 4. 监控网络上的
打印机
时,要提供正确的登录认证设置,保证网络可连通并具有合适的权限。 5. 注意防火墙的设置,保证可以正常访问网络上的
打印机
。 6. 该软件为完全免费。 7. 该软件主要为企业管理者提供
打印机
、纸张、文件档案等公司资源的监控服务。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章