在打印前测量Printable的内容

时间:2015-05-10 07:03:29

标签: java printing

我遇到了一个问题,我无法弄清楚它的正确逻辑。好吧,它基本上是关于 Java 中的打印页面。我尝试了很多方法,但是我无法使用它。

我的问题是,我有很多要打印的文本(报告)。我想在打印前计算每个页面的内容。要正确计算内容,我需要FontMetrics,但如果没有FontMetrics上下文,我就无法访问Graphics,而Printable接口中的print(g,format,index)函数传递了这个上下文。

我尝试使用新的Canvas().getFontMetrics(FONT).getHeight()来获取 FontMetrics 来衡量每行的空间。但这并没有给出准确的身高。有些线丢失了。

目前,我有一个类( MyBook ),它继承了实现Book的{​​{1}}类。应该写入的整个内容传递给MyBook类,它将每个页面的内容分开(目前使用Pageable但错误)。

Java 中处理多个页面的正确逻辑是什么?我注意到Canvas().getFontMetrics(FONT).getHeight()在打印页面之前被调用了两次或三次。是吗?

感谢。

0 个答案:

没有答案