【问题标题】:Send bitmap (.bmp) image to printer in Java使用 Java 将位图 (.bmp) 图像发送到打印机
【发布时间】:2017-05-20 13:14:45
【问题描述】:

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

或者可能有人知道另一个第三方库可以做到这一点?

【问题讨论】:

  • DocFlavor.INPUT_STREAM.PNG 似乎不适合 BMP?
  • 很遗憾没有。我尝试了列表中的所有格式,但输出行总是像“jhHjgHJh23kKkn..”
  • 嗯,BMP 不在列表中,所以你必须自己创建一个。你试过new DocFlavor.INPUT_STREAM("image/bmp")吗?
  • PS:如果您添加打印机的型号/品牌,它可能会对您的问题有所帮助。以及描述其支持的格式的文档的链接。
  • 是的,我尝试制作新的 DocFlavor,但收到“sun.print.PrintJobFlavorException: invalid flavor”

标签: java image printing bitmap bmp


【解决方案1】:

在自己尝试几乎没有任何进展和几天的搜索之后,我在 GitHub 上找到了一个开发人员,他已经开发了一个用于 ESC/POS 命令的库,具有大部分功能。 所以我建议不要重新发明轮子并使用那个库。

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

【讨论】:

    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多