Я написал код для программной работы принтера в Java. Мне нужно установить значение docflavor для печати файла .txt. Когда я устанавливаю его для INPUT_STREAM.TEXT_PLAIN_UTF_8 и запускаю мою программу в Linux, он печатает текстовый файл .но когда я запускаю тот же код для Windows. Он не может распечатать текстовый файл. Он печатает только файл формата jpeg. Я использую для этого принтер HP Deskjet F735. Ниже приведен мой код.
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);