我遇到了一个问题,我无法弄清楚它的正确逻辑。好吧,它基本上是关于 Java 中的打印页面。我尝试了很多方法,但是我无法使用它。
我的问题是,我有很多要打印的文本(报告)。我想在打印前计算每个页面的内容。要正确计算内容,我需要FontMetrics,但如果没有FontMetrics
上下文,我就无法访问Graphics
,而Printable
接口中的print(g,format,index)函数传递了这个上下文。
我尝试使用新的Canvas().getFontMetrics(FONT).getHeight()
来获取 FontMetrics 来衡量每行的空间。但这并没有给出准确的身高。有些线丢失了。
目前,我有一个类( MyBook ),它继承了实现Book
的{{1}}类。应该写入的整个内容传递给MyBook类,它将每个页面的内容分开(目前使用Pageable
但错误)。
在 Java 中处理多个页面的正确逻辑是什么?我注意到Canvas().getFontMetrics(FONT).getHeight()
在打印页面之前被调用了两次或三次。是吗?
感谢。