我有一个Frame并使用BlockComposer将多行文本写入Frame。行的文本由用户输入决定,因此我事先不知道它们将包含多少个字符。
我如何知道所有线条是否适合框架,或者它们是否会溢出框架的高度?
下面的示例是用Scala编写的,它使用pdfclown java:
var frame = new Rectangle2D.Double(
0, 0,
availableWidth,
availableHeight
)
for (line <- lines) {
blockComposer.begin(frame,XAlignmentEnum.Center,YAlignmentEnum.Top)
blockComposer.showText(line)
blockComposer.showBreak()
blockComposer.end()
}
答案 0 :(得分:0)
BlockComposer.showText
记录为:
/**
Shows text.
<p>Default line alignment is applied.</p>
@param text Text to show.
@return Last shown character index.
*/
public int showText(String text)
因此,如果你的line
可能不适合当前的作曲家区域,你必须像这样(在Java中)显示它:
int charsWritten;
while ((charsWritten = blockComposer.showText(line)) < line.length())
{
line = line.substring(charsWritten);
... finish current blockComposer here,
... start a new one (on a new page if need be)
}