Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 背书爱普生TM-h6000IV爪哇印刷_Java_Epson_Java Print - Fatal编程技术网

Java 背书爱普生TM-h6000IV爪哇印刷

Java 背书爱普生TM-h6000IV爪哇印刷,java,epson,java-print,Java,Epson,Java Print,我需要用Java打印到爱普生背书TM-h6000iv打印机(usb版)。然而,我读了手册却不希望找到什么可以帮助我。我改变打印机的首选项也没有希望!我尝试使用java的这段代码,该代码在java中TextPrinter类用于打印工作 主“打印”功能: // ----- start printing ------ public int print(Graphics g, PageFormat pf, int pageIndex) { double ww, hh, x, y;

我需要用Java打印到爱普生背书TM-h6000iv打印机(usb版)。然而,我读了手册却不希望找到什么可以帮助我。我改变打印机的首选项也没有希望!我尝试使用java的这段代码,该代码在java中TextPrinter类用于打印工作

主“打印”功能:

    // ----- 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;
}
但是,预期输出如下图所示:

    // ----- 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;
}

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

如您所见,没有边框的部分字符也不会出现!我的代码哪里出错了我不知道

在这里您可以看到这台打印机的主要属性,其中“背书”一项:


很抱歉这么长的解释,但如果有任何帮助,我们将不胜感激。

经过每天的头痛,我的问题终于解决了!!只是我把Epson打印机的打印条设置改为[92,68][高度,长度],然后一切都很完美。感谢我的上帝

我建议先在屏幕上画这幅画,只有当你看到你想看的东西时,才把它改成打印。这不是关于打印机,而是关于布局。您的矩形没有任何意义,并且您根本没有使用字体度量。一旦您在屏幕图形环境中正确完成绘图,您就可以使用相同的代码进行打印。@realponsign谢谢您的评论,我真的尝试了您建议的所有内容!问题是打印机没有打印出接近50mm的特定区域!我不知道为什么?!!我改变了打印机布局也没有希望!!这会让我发疯的!!我不确定你是否明白我说的话。不管打印机做什么,你的画都是错的。请先把它画到窗口上,然后把它固定在窗口上,试着用打印机打印出来。如果不起作用,请编辑您的问题并输入新代码。您是否更改了
PageFormat
?打印机可能无法打印超出给定范围的内容。请问页面格式是什么意思?尺寸?还是定位?还是可成像区域?我对他们都改变了,没有希望!!打印机不打印特定区域!!哪里有问题我不知道!!!Maheera你用什么爱普生代码让它在背书打印机而不是收据打印机上打印?