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