PDFBox - 删除页面
现在让我们学习如何从 PDF 文档中删除页面。
从现有文档中删除页面
您可以使用 PDDocument 类的 removePage() 方法从现有 PDF 文档中删除页面。
步骤 1:加载现有 PDF 文档
使用 PDDocument 类的静态方法 load() 加载现有 PDF 文档。此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示。
File file = new File("文档路径") PDDocument.load(file);
步骤 2:列出页数
您可以使用 getNumberOfPages() 方法列出 PDF 文档中存在的页数,如下所示。
int noOfPages= document.getNumberOfPages(); System.out.print(noOfPages);
步骤 3:删除页面
您可以使用 PDDocument 类的 removePage() 方法从 PDF 文档中删除页面。对于此方法,您需要传递要删除的页面的索引。
在指定 PDF 文档中页面的索引时,请记住这些页面的索引从零开始,即,如果您要删除第 1 页,则索引值需要为 0。
document.removePage(2);
步骤 4:保存文档
删除页面后,使用 PDDocument 类的 save() 方法保存 PDF 文档,如以下代码块所示。
document.save("Path");
步骤 5:关闭文档
最后,使用 PDDocument 类的 close() 方法关闭文档,如下所示。
document.close();
示例
假设我们有一个名为 sample.pdf 的 PDF 文档,其中包含三个空白页,如下所示。

此示例演示如何从现有 PDF 文档中删除页面。在这里,我们将加载上面指定的名为 sample.pdf 的 PDF 文档,从中删除一页,并将其保存在路径 C:/PdfBox_Examples/ 中。将此代码保存在名为 Removing_pages.java 的文件中。
import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; public class RemovingPages { public static void main(String args[]) throws IOException { //加载现有文档 File file = new File("C:/PdfBox_Examples/sample.pdf"); PDDocument document = PDDocument.load(file); //列出现有页面的数量 int noOfPages= document.getNumberOfPages(); System.out.print(noOfPages); //删除页面 document.removePage(2); System.out.println("page removed"); //保存文档 document.save("C:/PdfBox_Examples/sample.pdf"); //关闭文档 document.close(); } }
使用以下命令从命令提示符编译并执行已保存的 Java 文件。
javac RemovingPages.java java RemovingPages
执行后,上述程序会创建一个包含空白页的 PDF 文档,并显示以下消息。
3 page removed
如果验证指定的路径,您会发现所需页面已被删除,文档中仅剩下两页,如下所示。
