📅  最后修改于: 2021-01-07 07:47:39             🧑  作者: Mango
我们可以将给定的PDF文档拆分为多个PDF文件。 Splitter类可以将每个PDF文件拆分为一个单独的文件。此类用于将给定的PDF文档拆分为其他几个单独的文档。
要分割现有的PDF文件,请执行以下操作-
我们可以使用static load()方法加载现有的PDF文档。此方法接受文件对象作为参数。我们还可以使用PDFBox的类名PDDocument调用它。
File file = new File("PATH");
PDDocument doc = PDDocument.load(file);
splitter类用于拆分现有的PDF文档。我们可以如下实例化splitter类。
Splitter splitter = new Splitter();
我们可以使用splitter类的split()方法来拆分现有的PDF文档。 split()方法接受PDDocument类的对象作为参数。
ListPages = splitter.split(document);
listIterator()方法可用于获取迭代器对象。该迭代器对象用于遍历我们需要的文档列表。以下代码创建迭代器对象。
Iteratoriterator = Pages.listIterator();
完成任务后,我们需要使用close()方法关闭PDDocument类对象。
doc.close();
这是一个PDF文档,包含五页。前两页包含图像。我们将拆分两个页面,这些页面通过Java程序将图像作为单个文件包含。
import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Iterator;
public class SplitsPdfDemo {
public static void main(String[] args)throws IOException {
//Loading an existing PDF document
File file = new File("//eclipse-workspace/blanck.pdf");
PDDocument document = PDDocument.load(file);
// Create a Splitter object
Splitter splitter = new Splitter();
//splitting the pages of a PDF document
ListPages = splitter.split(document);
//Creating an iterator object
Iteratoriterator = Pages.listIterator();
//saving splits as individual PDF document
inti = 1;
while(iterator.hasNext()) {
PDDocument pd = iterator.next();
pd.save("/eclipse-workspace/blanck"+ i++ +".pdf");
}
System.out.println("Multiple PDF files are created successfully.");
document.close();
}
}
输出:
成功执行以上程序后,我们可以看到以下输出。
现在进行验证,分别打开PDF文件,如下所示-