PDF转图片
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
代码实现
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class PdfUtil {
public static void pdf2png(String fileAddress, String filename, String type, String imgAddress) {
File file = new File(fileAddress + File.separator + filename + ".pdf");
try {
PDDocument doc = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(doc);
int pageCount = doc.getNumberOfPages();
for (int i = 0; i < pageCount; i++) {
BufferedImage image = renderer.renderImageWithDPI(i, 144);
ImageIO.write(image, type, new File(imgAddress + File.separator + filename + "_" + (i + 1) + "." + type));
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void pdf2png(String fileAddress, String filename, int indexOfStart, int indexOfEnd, String type, String imgAddress) {
File file = new File(fileAddress + File.separator + filename + ".pdf");
try {
PDDocument doc = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(doc);
for (int i = indexOfStart; i < indexOfEnd; i++) {
BufferedImage image = renderer.renderImageWithDPI(i, 144);
ImageIO.write(image, type, new File(imgAddress + File.separator + filename + "_" + (i + 1) + "." + type));
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
pdf2png("C:\\profile\\upload\\article\\2022\\11\\08", "idea使用教程2017-06-01", "jpg", "C:\\profile\\upload\\article\\2022\\11\\08\\img");
}
}