PDFBox布局:在StyledText中添加换行符

时间:2018-08-10 11:14:15

标签: layout pdfbox line-breaks styledtext

我正在使用pdfbox-layout,我想在StyledText元素中添加换行符,但无法做到这一点。

如果样式化的文本包含换行符“ \ n”,则会收到以下错误消息:

  

“ StyledText不能包含换行符,为此请使用TextFragment.LINEBREAK”

但是我无法在文档中找到显示如何使用TextFragment.LINEBREAK的示例。

有人为此提供示例或替代解决方案吗?

解决方案:

我找到了解决方法。您需要创建一个NewLine Textfragment,然后在每次需要换行时将其添加到TextFlow中。这是一个示例:

NewLine linebreak = new NewLine(fontSize);
TextFlow textflow = new TextFlow();
textflow.add("first line");
textflow.add(linebreak);
textflow.add("second line");
textflow.add(linebreak);
textflow.add("third line");
textflow.drawText(contentStream, posX, posY, Alignment.Left, drawListener);

1 个答案:

答案 0 :(得分:2)

解决方案:

我找到了解决方法。您需要创建一个NewLine Textfragment,然后在每次需要换行时将其添加到TextFlow中。这是一个示例:

import matplotlib.pyplot as plt

customer_list = sorted(date_df['objectId'].tolist())
plt.hist(customer_list, bins=len(set(customer_list)))
plt.show()