我需要使用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;
}
但是,预期输出如下图所示:
但是,实际输出如下图所示:
哪个,如果没有边框,你也可以看到一些字符没有出现!我的代码中的错误在哪里我不知道?!
在这里你可以看到这款打印机的主要属性“认可”一个:
对不起这个很长的解释但是我们将不胜感激,
答案 0 :(得分:1)
最后,经过很多日常头痛后我的问题解决了!!我刚刚将Epson打印机滑动设置改为[92,68] [高度,长度],然后一切都很完美。感谢我的上帝!..