我刚刚让打印机在 java 中工作,我也需要它,但是我需要解决最后一个问题。打印时,字体的宽度被拉长了,不像应有的那样清晰。
这是我的代码,我在纸上的实际绘图:
FontMetrics metrics = graphics.getFontMetrics(font);
int lineHeight = metrics.getHeight();
arrangePage(graphics, pageFormat, lineHeight);
if (page > pageBreaks.length){
return NO_SUCH_PAGE;
}
Graphics2D g = (Graphics2D) graphics;
g.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
g.setFont(font);
int y = 0;
int begin = 0;
if (page == 0){
begin = 0;
}else begin = pageBreaks[page-1];
int end = 0;
if (page == pageBreaks.length){
end = lines.length;
}else end = pageBreaks[page];
for (int line = begin; line < end; line++){
y += lineHeight;
g.drawString(lines[line], 0, y);
}
string = deepCopy;
return PAGE_EXISTS;
如何摆脱拉伸?可以注意到,这是基于本教程: http ://docs.oracle.com/javase/tutorial/2d/printing/set.html
非常感谢任何建议或帮助。