如何确定文本是否符合框架?

时间:2016-09-07 09:07:13

标签: pdfclown

我有一个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() 
}   

1 个答案:

答案 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)
}