如何在Java for WIndows中为printservice设置DocFlavor

如何在Java for WIndows中为printservice设置DocFlavor,java,Java,我已经编写了用Java编程运行打印机的代码。我必须设置docflavor的值来打印.txt文件。当我将其设置为INPUT_STREAM.TEXT_PLAIN_UTF_8并在Linux上运行我的程序时,它会打印文本文件。但当我为windows运行相同的代码时,它无法打印文本文件。它只打印jpeg格式的文件。我正在使用HP Deskjet F735打印机进行此操作。下面是我的代码 DocFlavor docflavor = DocFlavor.INPUT_STREAM.TEX

我已经编写了用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);
你的回报是什么?也许UTF-8不受支持

编辑:

“text/plain;charset=utf-8”似乎不受支持。试一试

DocFlavor docflavor = new DocFlavor.INPUT_STREAM ("application/octet-stream") 
相反。

您的回报是什么?也许UTF-8不受支持

编辑:

“text/plain;charset=utf-8”似乎不受支持。试一试

DocFlavor docflavor = new DocFlavor.INPUT_STREAM ("application/octet-stream") 

相反。

属性:支持的颜色属性:打印机正在接受作业属性:排队作业计数属性:打印机名称味道:image/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”不工作,我做了您建议的更改,但仍然没有打印活动。如果在Linux上看到相同的输出,那就太好了。据我所知,您的Windows打印机无法打印文本文件。属性:支持的颜色属性:打印机正在接受作业属性:排队作业计数属性:打印机名称风味:image/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”不工作,我做了您建议的更改,但仍然没有打印活动。在Linux上看到相同的输出会很好。据我所知,您的Windows打印机无法打印文本文件。