使用pdfbox-layout操作PDF时如何手动添加新页面
问题背景
我正在使用pdfbox-layout,通过Document API创建和管理PDF文档,初始化代码如下:
Document document = new Document();
使用Paragraph API添加文本内容时,若文本长度超出当前页面承载范围,框架可自动创建新页面,Paragraph初始化代码如下:
Paragraph paragraph = new Paragraph();
目前无法根据实际需求手动添加新页面,需要实现指定内容从全新页面开始打印渲染的效果。
实现方法
框架内置了NewPage分页元素专门处理手动分页需求:在需要强制开启新页面的位置,将NewPage实例添加到Document中,后续添加的所有内容就会从新的空白页面开始渲染。
示例代码:
import rst.pdfbox.layout.elements.NewPage; // 添加当前页的已有内容 document.add(currentPageParagraph); // 插入强制分页控制元素 document.add(new NewPage()); // 后续添加的内容会自动从新页面开始渲染 Paragraph nextPageContent = new Paragraph(); nextPageContent.addText("该段内容将在全新页面渲染"); document.add(nextPageContent);
补充说明:
- 如果需要直接跳转到指定索引的页面,可以使用带页码参数的构造方法
new NewPage(pageIndex),目标页面不存在时框架会自动创建对应页面。 NewPage是布局控制类元素,不会在PDF页面上生成任何可见内容,仅承担页面跳转、分页的控制作用。
内容的提问来源于stack exchange,提问作者Arshad Rehmani
相关产品推荐
相关产品推荐

