プリンターが必要な方法でJavaで動作するようになりましたが、解決する必要がある最後の問題が1つあります。印刷すると、フォントの幅がかなり引き伸ばされ、鮮明で鮮明ではなくなります。
これが私のコードで、紙への実際の描画です。
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
アドバイスやヘルプをいただければ幸いです。