有人知道如何将位图图像发送到打印机吗?我有一台特殊的食谱打印机,只能打印“ .bmp”格式。至少在手册中有提及。
我尝试以不同格式打印,但总是只有一些哈希值出来。。
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.PrinterName;
import javax.print.attribute.standard.PrinterResolution;
public class PrintService {
private void printImage() {
try {
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob job = printService.createPrintJob();
String pathToImageSortBy = "logo.bmp";
InputStream logoInputStream = getClass().getClassLoader().getResourceAsStream(pathToImageSortBy);
DocAttributeSet das = new HashDocAttributeSet();
das.add(new PrinterResolution(203, 203, PrinterResolution.DPI));
Doc doc = new SimpleDoc(logoInputStream, DocFlavor.INPUT_STREAM.PNG, das);
job.print(doc, pras);
logoInputStream.close();
} catch (PrintException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
或者可能有人知道另一个第三方库来执行此操作?
经过一个人的尝试,几乎没有任何进展,经过几天的搜索,我在GitHub上找到了一个开发人员,他已经为ESC / POS命令开发了一个具有大多数功能的库。因此,我建议不要重新发明轮子并使用该库。
我测试了它使用Epson TM-T20ii打印机打印位图的效果,效果很好。我希望它能满足您的需求。