У меня проблема со службой печати Java.Мне нужно распечатать простой текстовый документ на моем принтере по умолчанию.Я использую HP Deskjet в качестве принтера на компьютере с Windows, все драйверы установлены.Вот исходный код, который я использую:
import java.io.*;
import javax.print.*;
public class PrintTest {
public static void main(String[] args) throws IOException {
File file = new File("print.txt");
InputStream is = new BufferedInputStream(new FileInputStream(file));
//Discover the default print service.
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
//Doc flavor specifies the output format of the file.
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// Create the print job
DocPrintJob job = service.createPrintJob();
//Create the Doc
Doc doc = new SimpleDoc(is, flavor, null);
//Order to print
try {
job.print(doc, null);
} catch (PrintException e) {
e.printStackTrace();
}
is.close();
System.out.println("Printing done....");
}
}
Я могу видеть задание печати в очереди на принтер за несколько миллисекунд до того, как оно исчезнет.Но ничего не печатается.Я слышал, это потому что Java Print Service в JDK 1.6 все еще глючит.Но я не совсем уверен.Есть идеи почему?