页面处理器
2025/7/21大约 3 分钟pdfbox模块高级功能处理器
提示
操作完页面后,务必调用 flush 方法刷新页面,否则不生效
说明
用于处理页面
- 支持获取页面
- 支持插入页面
- 支持追加页面
- 支持替换页面
- 支持移除页面
- 支持重排序页面
- 支持重组页面
- 支持缩放页面
- 支持拼接页面
- 支持旋转页面
- 支持裁剪页面
- 支持重置尺寸
示例
获取页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 获取页面列表
List<Page> pages = processor.getPages();
// 打印页面
pages.forEach(System.out::println);
}
插入页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 创建空白页
Page page = new Page(document);
// 插入页面
processor.insert(0, page);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\insertTest.pdf");
}
追加页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 创建空白页
Page page = new Page(document);
// 追加页面
processor.append(page);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\appendTest.pdf");
}
替换页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 创建空白页
Page page = new Page(document);
// 替换页面
processor.set(0, page);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\setTest.pdf");
}
移除页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 替换页面
processor.remove(0);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\removeTest.pdf");
}
重排序页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 重组页面
processor.resort(1, 0);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\resortTest.pdf");
}
重组页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 重组页面
processor.restructure(1, 0, 1);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\restructureTest.pdf");
}
缩放页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 缩放页面
processor.scale(PageSize.A5, 0);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\scaleTest.pdf");
}
拼接页面
try (
// 创建文档
Document document = PdfHandler.getDocumentHandler().create();
// 加载文档
Document document1 = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
// 加载文档
Document document2 = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 获取页面列表
List<Page> pages1 = document1.getPages();
List<Page> pages2 = document2.getPages();
// 定义x轴坐标
float x = 0F;
// 定义y轴坐标
float y = page.getHeight();
// 遍历页面
for (int i = 0; i < 1; i++) {
// 获取文档1页面
Page page1 = pages1.get(i);
// 缩放页面
page1.scale(0.5F);
// 获取文档2页面
Page page2 = pages2.get(i);
// 缩放页面
page2.scale(0.5F);
// 计算y轴坐标
y = y - Math.max(page1.getHeight(), page2.getHeight());
// 水平拼接页面
processor.join(PageJoinType.HORIZONTAL, x, y, page, page1, page2);
}
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\joinTest.pdf");
}
旋转页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 旋转页面
processor.rotation(RotationAngle.ROTATION_90, 0);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\rotationTest.pdf");
}
裁剪页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 裁剪页面
processor.crop(PageSize.create(100F, 500F, 100F, 800F), 0);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\cropTest.pdf");
}
裁剪页面
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 裁剪页面
processor.crop(PageSize.create(100F, 500F, 100F, 800F), 0);
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\cropTest.pdf");
}
重置尺寸
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
PageProcessor processor = PdfHandler.getDocumentProcessor(document).getPageProcessor();
// 重置尺寸
processor.resetSize();
// 刷新页面
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\page\\resetSizeTest.pdf");
}