使用jpedal的目的:
- 针对有些使用PDFBox默认的方法无法正常将PDF转为图片的情况
加载环境依赖
<dependency>
<groupId>org.jpedal</groupId>
<artifactId>jpedal-lgpl</artifactId>
<version>4.74b27</version>
</dependency>
测试代码演示
import org.jpedal.PdfDecoder;
import org.jpedal.exception.PdfException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
/**
* 作者:xxx
* 时间:2022/11/24 16:56/**
*
* @author xxx
* @data 2022/11/24 16:56
*/
public class Test {
@org.junit.jupiter.api.Test
public void test() {
PdfDecoder decode_pdf = new PdfDecoder(true);
try {
decode_pdf.openPdfFile("c:\\Users\\pengxx\\Desktop\\01051.pdf"); //file
// 以下注释为打开PDF文件的多种方式
// decode_pdf.openPdfFile("C:/jpedalPDF.pdf", "password"); //encrypted file
// decode_pdf.openPdfArray(bytes); //bytes is byte[] array with PDF
// decode_pdf.openPdfFileFromURL("http://www.mysite.com/jpedalPDF.pdf",false);
// decode_pdf.openPdfFileFromInputStream(in, false);
int start = 1, end = decode_pdf.getPageCount();
for (int i = start; i < end + 1; i++) {
// 将第几页变成图片
BufferedImage img = decode_pdf.getPageAsImage(15);
try {
// 使用ImageIO保存
ImageIO.write(img, "png", new File("C:\\jpedal_image.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
decode_pdf.closePdfFile();
} catch (PdfException e) {
e.printStackTrace();
}
}
}
标签:jpedal,ImageIO,org,保存,decode,import,pdf,图片
From: https://www.cnblogs.com/jingweip/p/17048705.html