0

我需要使用 Java 打印到Epson Endorsement TM-h6000iv打印机(USB 版)。但是,我阅读手册并没有希望找到可以帮助的东西。我也毫无希望地改变了打印机偏好!我尝试使用 java 中的TextPrinter类进行打印工作的 java 代码。

主要“打印”功能:

    // ----- start printing ------
public int print(Graphics g, PageFormat pf, int pageIndex) {
    double ww, hh, x, y;
    String s;

    pf = PF; // The PF indicates for defaultPage PF= Pj.defaultPage(); 
    GG = (Graphics2D) g;
    s = "Serif";
    GG.setFont(new Font(s, Font.BOLD, Fy));
    GG.setColor(Color.black);
    GFont = GG.getFont();
    FM = GG.getFontMetrics();

    // Insure printing of ONE page
    if (pageIndex != 0)
        return Printable.NO_SUCH_PAGE;

    ww = pf.getImageableWidth();
    hh = pf.getImageableHeight();
    x = pf.getImageableX();
    y = pf.getImageableY();

    GG.translate(x, y);

    int xpos = 0;
    draw(getLine(10), xpos, 5);//getLine to return line of String from 0-9 this line will return "0123456789"
    draw(getLine(20), xpos, 6);//"01234567890123456789"
    draw(getLine(30), xpos, 7); // etc. 
    draw(getLine(40), xpos, 8);

    int x0 = 0, x1 = (int) ww - 10;
    // GG.drawRect(x0, x0, x1, x1);

    // draw Rectangular 
    GG.drawLine(x0, x0, x1, x0);
    GG.drawLine(x0, x0, x0, x1);
    GG.drawLine(x0, x1, x1, x1);
    GG.drawLine(x1, x1, x1, x0);

    return Printable.PAGE_EXISTS;
}

但是,预期输出如下图所示:

在此处输入图像描述

但是,实际输出如下图所示:

在此处输入图像描述

正如你所看到的,没有边框也没有出现一些字符!我不知道我的代码哪里错了?!

在这里你可以看到这台打印机的主要属性其中“背书”之一: 在此处输入图像描述

很抱歉这个冗长的解释,但任何帮助将不胜感激,

4

1 回答 1

1

终于,在每天头痛之后,我的问题解决了!!只是我将 Epson Printer Slip Setting 更改为 [92,68] [Height,Length] ,然后一切正常。感谢我的上帝!..

于 2014-12-02T19:12:49.923 回答