Java 更改 PDF 页面大小
在日常工作中,我们可能经常面临更改 PDF 页面大小的情况。 例如,一个包含不同大小页面的合并 PDF 文件,我们需要将页面大小调整为相同大小以便于阅读和打印。 在本文中,将详细为您介绍在 Java 应用程序中更改 PDF 文件的页面大小,以下是详细步骤及思路,并附上 Java 代码以供参考。
将 PDF 页面大小更改为标准纸张大小
将 PDF 页面大小更改为自定义纸张大小
程序环境:
在程序中导入 jar,如下两种方法:
方法 1:
手动引入。将 Free Spire.PDF for Java下载到本地,解压,找到 lib 文件夹下的 Spire.PDF.jar 文件。在 IDEA 中打开如下界面,将本地路径中的 jar 文件引入 Java 程序
方法 2:
如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。
将 PDF 页面大小更改为标准纸张大小
初始化 PdfDocument 实例并用 PdfDocument.loadFromFile()方法加载原 PDF 文件。
初始化另一个 PdfDocument 实例以创建新的 PDF 文件。
循环遍历原 PDF 中的页面。
使用 PdfDocument.getPages().add()方法将所需大小的页面添加到新的 PDF 文件。
初始化一个 PdfTextLayout 实例并使用 PdfTextLayout.setLayout()方法将文本布局设置为一页。
使用 PdfPageBase.createTemplate() 方法基于原 PDF 中的页面创建模板。
使用 PdfTemplate.draw()方法将模板绘制到具有指定文本布局的新 PDF 文件的页面上。
使用 PdfDocument.saveToFile()方法保存结果文件。
完整代码:
效果图:
将 PDF 页面大小更改为自定义纸张大小
初始化 PdfDocument 实例并使用 PdfDocument.loadFromFile() 方法加载原 PDF 文件。
初始化另一个 PdfDocument 实例以创建新的 PDF 文件。
初始化 PdfUnitConvertor 实例,然后用 PdfUnitConvertor.convertUnits()方法将自定义大小以英寸为单位转换为 points。
从自定义大小初始化 Dimension2D 实例。
循环遍历原 PDF 中的页面。
使用 PdfDocument.getPages().add() 方法将自定义大小的页面添加到新的 PDF 文件。
创建一个 PdfTextLayout 实例并使用 PdfTextLayout.setLayout()方法将文本布局设置为一页。
使用 PdfPageBase.createTemplate()方法基于原 PDF 中的页面创建模板。
使用 PdfTemplate.draw()方法将模板绘制到具有指定文本布局的新 PDF 文件的页面上。
使用 PdfDocument.saveToFile()方法保存结果文件。
完整代码:
效果图:
版权声明: 本文为 InfoQ 作者【在下毛毛雨】的原创文章。
原文链接:【http://xie.infoq.cn/article/f3c53a06d308859b182a4f4e6】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论