我打算使用 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 打印”通知,并且打印机什么也不做(通常我的打印机在 ubuntu 中使用cat xxx.prn | lpr
终端工作。有什么想法吗?