无法使用Java打印机服务(JPS)打印文档
我已经实现了一个程序,使用IP地址、打印机名称将文档打印到特定的打印机,并且运行良好,没有任何错误和异常。正在从java发送打印机作业,我可以在本地打印机打印池中看到这一点,但该页面未在打印机上打印无法使用Java打印机服务(JPS)打印文档,java,Java,我已经实现了一个程序,使用IP地址、打印机名称将文档打印到特定的打印机,并且运行良好,没有任何错误和异常。正在从java发送打印机作业,我可以在本地打印机打印池中看到这一点,但该页面未在打印机上打印 URI myURI=null; FileInputStream psStream=null; try { psStream = new FileInputStream("sample.doc"); } catch ( FileNotFoundException e ) { e
URI myURI=null;
FileInputStream psStream=null;
try {
psStream = new FileInputStream("sample.doc");
}
catch ( FileNotFoundException e ) {
e.printStackTrace();
}
DocFlavor psInFormat = DocFlavor.BYTE_ARRAY.GIF;
Doc myDoc = new SimpleDoc( psStream, psInFormat, null );
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PrintService[] services = PrintServiceLookup.lookupPrintServices( psInFormat, aset);
if ( services.length > 0 ) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print( myDoc, aset);
}
catch ( PrintException e ){
}
}
你能帮我解决这个问题吗
谢谢,
斯里坎特·奇卢库里
我发现了问题
psStream = new FileInputStream("sample.doc");
上述陈述造成了问题。因为它是MS Word应用程序,所以无法使用文件输入流读取文件
我正在使用POI jar并阅读文档
POIFSFileSystem psStream = new POIFSFileSystem(new FileInputStream(filesname));
Doc myDoc = new SimpleDoc( psStream, psInFormat, null );
但是Doc API不支持Get-IllegalArgumentException
Exception in thread "Main Thread" java.lang.IllegalArgumentException: data is not of declared type
at javax.print.SimpleDoc.<init>(SimpleDoc.java:82)
at com.src.print.TestPrint2.main(TestPrint2.java:67)
线程“主线程”java.lang.IllegalArgumentException中的异常:数据不是声明的类型
位于javax.print.SimpleDoc(SimpleDoc.java:82)
位于com.src.print.TestPrint2.main(TestPrint2.java:67)
您能帮我一下吗。Java打印服务允许您像Swing一样“绘制”页面,然后将结果发送到打印机。它不了解Word格式、HTML页面或类似内容
因此,您需要一个模块,该模块知道如何将文档文件的内容绘制到打印机来完成此操作。我个人没有使用此类模块的经验。Java打印服务允许您像Swing一样“绘制”页面,然后将结果发送到打印机。它不了解Word格式、HTML页面或类似内容
因此,您需要一个模块,该模块知道如何将文档文件的内容绘制到打印机来完成此操作。我个人没有使用此类模块的经验。谢谢您的回复 我猜你说的是AWT印刷品。这与Java打印服务不同。您可以使用Java打印服务(JPS)使用多种选项打印预格式化文本数据 当文件使用UTF-8编码并且您尝试使用JPS打印时,就会出现问题
如果它是一个普通的ASCII文件。打印正确谢谢您的回复 我猜你说的是AWT印刷品。这与Java打印服务不同。您可以使用Java打印服务(JPS)使用多种选项打印预格式化文本数据 当文件使用UTF-8编码并且您尝试使用JPS打印时,就会出现问题
如果它是一个普通的ASCII文件。正确打印它它可能无法解决您的问题,但您不应该默默地忽略您的
PrintException
。它可能无法解决您的问题,但您不应该默默地忽略您的PrintException
。