iText使用横向和纵向页面生成PDF

时间:2019-03-20 14:47:00

标签: java itext

我对生成PDF文档有疑问。 例如,我需要生成3个页面:

  • 第一页(纵向)带有纵向文本
  • 带有纵向文本的第二页(LANDSCAPE)
  • 带有纵向文字的第三页(肖像)

我在创建第一页后设置:

>>> import re
>>> x
"1st text: '(some normal sentences...) https://www.(...)\n2nd text: '(some normal sentences...)"
>>> print(x)
1st text: '(some normal sentences...) https://www.(...)
2nd text: '(some normal sentences...)
>>> re.findall(r'\(\w.+?\)', x)
['(some normal sentences...)', '(some normal sentences...)']
>>> re.findall(r'\((\w.+?)\)', x)
['some normal sentences...', 'some normal sentences...']

并且它似乎正在工作。 当我创建第三页时,我第二次设置此代码,但文档仍处于横向模式。 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在分别创建第2页和第3页之前,都将PageSize.A4.rotate()设置为页面大小。因此,这两页都是风景。

由于最近设置的document页面大小值用于创建新页面,因此,如果在创建第3页之前根本没有设置它,而仅在创建第2页之前完全没有设置结果,则结果相同。 / p>

因此,如果您不希望横向放置第三页,则必须在创建页面3之前显式地将页面大小值设置回纵向值PageSize.A4

document.setPageSize(PageSize.A4);
document.newPage();
document.add(new Paragraph("Hello 3"));