1
我已經編寫了以Java編程方式運行打印機的代碼。我必須設置docflavor的值來打印.txt文件。當我將它設置爲INPUT_STREAM.TEXT_PLAIN_UTF_8並運行我的程序在Linux上,它打印文本文件。但是當我運行相同的代碼windows.It不能打印文本文件。它只打印jpeg格式文件。我正在使用HP Deskjet F735打印機。以下是我的代碼。如何在Java中爲PrintService設置DocFlavor
DocFlavor docflavor = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8;
PrintRequestAttributeSet attr_set = new HashPrintRequestAttributeSet();
attr_set.add(new Copies(2));
PrintService[] service = PrintServiceLookup.lookupPrintServices(docflavor, attr_set);
if (service.length==0) {
JOptionPane.showMessageDialog(null, "No Printer Selected");
}
else if (service.length > 0) {
System.out.println("Selected printer is " + service[0].getName());
DocPrintJob pj = service[0].createPrintJob();
{
PrintService ps = pj.getPrintService();
FileInputStream fis = null;
try {
File file = new File("/home/ignu/Desktop/newfile");
fis = new FileInputStream(file);
Doc doc = new SimpleDoc(fis, docflavor, null);
pj.print(doc, attr_set);
屬性:顏色支持 屬性:打印機被接受的作業 屬性:排隊的作業數 屬性:打印機名稱 味:圖像/ GIF; class =「[B」 flavor:image/gif; class =「java.io.InputStream」 flavor:image/gif; class =「java.net.URL」 flavor:image/jpeg; class =「[B」 flavor:image/jpeg; class =「java.io.InputStream」 flavor:image/jpeg; class =「java.net.URL」 flavor:application/octet-stream; class =「[B」 flavor:application/octet-stream; class =「java.net.URL」 flavor:application/octet-stream; class =「java.io.InputStream」 – 2009-09-17 11:46:32
不工作,我改變了你的建議,但仍然沒有打印活動。 – 2009-09-17 13:33:45
在Linux上看到相同的輸出會很高興。據我瞭解你的Windows打印機不能打印文本文件。 – kaboom 2009-09-17 13:48:33