现在有这样的一个需求:
有一个几十页的PDF文件,现在需要从中拆分出指定的页码,然后生成一个新的PDF文件。
这个时候,可以使用开源的 itextpdf 库来实现,itextpdf
的官方 github 地址为:https://github.com/itext/itextpdf.
下面通过具体的代码来演示。
1、引入依赖
目前 itextpdf
最新版本为 5.5.13.3
,可以在 https://search.maven.org/ 网站进行搜索。
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
2、代码实现
2.1 指定页码抽取
package com.magic.itextpdf;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Objects;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfSmartCopy;
/**
* PDF工具类
*/
public class PdfUtils {
/**
* 抽取PDF文件
* @param sourceFile 源PDF文件路径
* @param targetFile 目标PDF文件路径
* @param extractedPageNums 需要抽取的页码
*/
public static void extract(String sourceFile, String targetFile, List