Apache PDFBox 库是一个开源、用于操作 PDF 文档的 Java 工具库。PDFBox 允许创建新的 PDF 文档、操作现有文档,以及从文档中提取内容。
Apache PDFBox 提取 pdf 某一页另存为一个 png 图片
获取 Apache PDFBox 地址 https://pdfbox.apache.org/,目前版本 2.0.13,核心 jar 是 pdfbox-2.0.13.jar,其他还有几个 jar 可以根据需要进行导入。
这里 https://pdfbox.apache.org/download.cgi 可以下载全部的 jar 和一些命令行工具,下载 pdfbox-2.0.13-src.zip 源码可以看到文件夹 examples 里面有不少例子进行了示范。
以下代码演示一个从现有的 PDF 提取某几页,存入另一个 PDF 的操作:
/*
* 从一个已经存在的 pdf 中提取某几页存入另外一个 pdf
*/
package pdf;
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
public class ReadPDF
{
public static void main(String[] args)
{
try
{
// 打开一个现有的 pdf
PDDocument pdfDocSrc = PDDocument.load(new File("c:/temp/1.pdf"));
// 新建一个 pdf
PDDocument pdfDocNew = new PDDocument();
// 取得现有 pdf 内的某一或几页
for (int i = 0; i < 3; i++)
{
PDPage page = pdfDocSrc.getPage(i);
// 添加到新建的 pdf 中
pdfDocNew.addPage(page);
}
// 新pdf保存到文件
pdfDocNew.save("c:/temp/2.pdf");
// 关闭新 pdf
pdfDocNew.close();
// 关闭 pdf
pdfDocSrc.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Q群讨论 236201801