当前位置: 首页 > 教程 > PDFBox >

PDFBox删除页面

精华
小牛编辑
186浏览
2023-03-14

现在让我们学习如何从PDF文档中移除页面。

从现有文档中删除页面

使用PDDocument类的removePage()方法从现有的PDF文档中移除页面。

第1步:加载现有的PDF文档

使用PDDocument类的静态方法load()加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态方法,可以使用类名称调用它,如下所示。

File file = new File("path-of-the-document") 
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文档,从中删除一个页面,并将其保存在:F:\worksp\pdfbox\sample-remove-pages.pdf文件中。 将此代码保存在名称为RemovingPages.java的文件中。

package com.yiibai;

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 {

      //Loading an existing document
      File file = new File("F:/worksp/pdfbox/sample.pdf");
      PDDocument document = PDDocument.load(file);

      //Listing the number of existing pages
      int noOfPages= document.getNumberOfPages();
      System.out.println(noOfPages);

      //Removing the pages
      document.removePage(2);

      System.out.println("page removed");

      //Saving the document
      document.save("F:/worksp/pdfbox/sample-remove-pages.pdf");

      //Closing the document
      document.close();

   }
}

执行上面示例代码后,将会创建一个PDF文档,其中包含显示以下消息的空白页面。

3
page removed

如果验证指定的路径,则可以发现所需页面已被删除,并且文档中只剩下两页,如下所示。