📜  PDFBox-删除页面

📅  最后修改于: 2020-11-12 05:14:28             🧑  作者: Mango


现在让我们学习如何从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文档,从中删除一个页面,并将其保存在路径C:/ PdfBox_Examples /中。将此代码保存在名称为Remove_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 {

      //Loading an existing document
      File file = new File("C:/PdfBox_Examples/sample.pdf");
      PDDocument document = PDDocument.load(file);
       
      //Listing the number of existing pages
      int noOfPages= document.getNumberOfPages();
      System.out.print(noOfPages);
       
      //Removing the pages
      document.removePage(2);
      
      System.out.println("page removed");

      //Saving the document
      document.save("C:/PdfBox_Examples/sample.pdf");

      //Closing the document
      document.close();

   }
}

使用以下命令从命令提示符处编译并执行保存的Java文件。

javac RemovingPages.java 
java RemovingPages 

执行后,上述程序将创建一个PDF文档,其中包含空白页,显示以下消息。

3
page removed

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

之后删除页面