0

我有一个框架并使用 BlockComposer 将多行文本写入框架。行的文本由用户输入决定,所以我事先不知道它们将包含多少个字符。

我怎么知道所有的线条是否都适合框架,或者它们是否会溢出框架的高度?

下面的例子是用 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() 
}   
4

1 回答 1

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)
}
于 2016-09-07T10:07:32.677 回答