将位图(.bmp)图像发送到Java中的打印机

问题描述 投票:1回答:1

有人知道如何将位图图像发送到打印机吗?我有一台特殊的食谱打印机,只能打印“ .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();
        }
    } 
}

或者可能有人知道另一个第三方库来执行此操作?

java image printing bitmap bmp
1个回答
0
投票

经过一个人的尝试,几乎没有任何进展,经过几天的搜索,我在GitHub上找到了一个开发人员,他已经为ESC / POS命令开发了一个具有大多数功能的库。因此,我建议不要重新发明轮子并使用该库。

我测试了它使用Epson TM-T20ii打印机打印位图的效果,效果很好。我希望它能满足您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.