Java打印:为我的打印机选择哪个DocFlavor?
我正在尝试在我的打印机佳能MB5000上用java打印打印文本文件。 它可以在Linux上工作,但不能在Windows上工作。 在windows上,支持以下文档样式:Java打印:为我的打印机选择哪个DocFlavor?,java,printing,Java,Printing,我正在尝试在我的打印机佳能MB5000上用java打印打印文本文件。 它可以在Linux上工作,但不能在Windows上工作。 在windows上,支持以下文档样式: for (DocFlavor f : printService.getSupportedDocFlavors()){ System.out.println("media type : "+f.getMediaType()); System.out.println("m
for (DocFlavor f : printService.getSupportedDocFlavors()){
System.out.println("media type : "+f.getMediaType());
System.out.println("mime type : "+f.getMimeType());
}
我得到:
media type : image
mime type : image/gif
media type : image
mime type : image/gif
media type : image
mime type : image/gif
media type : image
mime type : image/jpeg
media type : image
mime type : image/jpeg
media type : image
mime type : image/jpeg
media type : image
mime type : image/png
media type : image
mime type : image/png
media type : image
mime type : image/png
media type : application
mime type : application/x-java-jvm-local-objectref
media type : application
mime type : application/x-java-jvm-local-objectref
media type : application
mime type : application/octet-stream
media type : application
mime type : application/octet-stream
media type : application
mime type : application/octet-stream
我已尝试使用八位字节流打印:
if (service != null){
FileInputStream fis = new FileInputStream("c:/mytxt.txt");
Doc pdfDoc = new SimpleDoc(fis, new DocFlavor.INPUT_STREAM ("application/octet-stream"), null);
DocPrintJob printJob = service.createPrintJob();
printJob.print(pdfDoc, new HashPrintRequestAttributeSet());
fis.close();
}
没有指纹。
如果我使用新的DocFlavor.INPUT\u流(“图像/jpeg”),并且如果我打印jpeg图像,它会工作。为了能够打印文本文件(或PDF文件),我应该做些什么?不确定,但我想可以通过application/x-java-jvm-local-objectref;class=“java.awt.print.Pageable”或
application/x-java-jvm-local-objectref;class=“java.awt.print.Printable”。也许对于pdf来说可以是类似重用的东西,或者如果不想添加外部依赖项,那么创建实现可打印和可分页接口的UDT。。。希望这能有所帮助。您有没有碰巧看一下这本书?有很多预定义的DocFlavors以静态常量的形式出现,包括您提到的每种类型的常量,以及AUTOSENSE。是的,但我已经尝试过AUTOSENSE,它应该与八位字节流一起工作,但没有任何内容与AUTOSENSE一起打印,其他的呢?DocFlavor.INPUT\u STREAM.JPEG、DocFlavor.INPUT\u STREAM.PDF、DocFlavor.INPUT\u STREAM.TEXT\u PLAIN\u HOST?我也有同样的问题。你找到解决办法了吗?