我计划使用Eclipse和一个简单的swing gui来打印原始数据。我的条形码打印机使用.prn
个文件进行打印,所有文件都在文件中编码,因此如果我能够将文件的确切内容作为原始数据发送到我的打印机,我可以打印出我想要的确切格式。我可以选择文件并使用StringBuffer
来读取其内容并写入字符串。现在我该如何设法将此字符串作为原始数据发送到我的打印机?
问候。
编辑:
也许我应该稍微阐述一下我的问题;现在它可以在windows中使用;
int ch;
FileInputStream fin = null;
try {
fin = new FileInputStream(prnfile);
while ((ch = fin.read()) != -1)
strContent.append((char) ch);
fin.close();
JOptionPane.showMessageDialog(frame, strContent);
} catch (Exception e1) {
System.out.println(e1);
}
try {
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
JOptionPane.showMessageDialog(frame, service);
DocPrintJob job = service.createPrintJob();
InputStream is = new ByteArrayInputStream(strContent.toString().getBytes());
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc doc = new SimpleDoc(is, flavor, null);
job.print(doc, null);
is.close();
但是当我尝试在Ubuntu中运行它时,我只得到“打印取消,java打印”通知,并且打印机什么都不做(通常我的打印机在终端中使用cat xxx.prn | lpr
在ubuntu中工作。任何想法?