import com.sxh.common.utils.uuid.UUID;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.cos.COSName;

import javax.imageio.ImageIO;
import java.io.IOException;
import java.util.List;
import java.io.File;
import java.util.ArrayList;
public class ExtractImagesFromPDF {
    public static void main(String[] args) throws IOException{
        try (PDDocument document = PDDocument.load(new File("C:\\Users\\86181\\Desktop\\123.pdf"))) {
            List<PDImageXObject> images = new ArrayList<>();
            for (PDPage page : document.getPages()) {
                for (COSName name : page.getResources().getXObjectNames()) {
                    PDXObject xobj = page.getResources().getXObject(name);
                    if (xobj instanceof PDImageXObject) {
                        images.add((PDImageXObject) xobj);
                    }
                }
            }
            for (PDImageXObject image : images) {
                //image.getImage().
                File outputFile = new File("D:/sxh/" + UUID.randomUUID().toString() + ".png");
                ImageIO.write(image.getImage(), "png", outputFile);
                //image.write2file(new File("output/" + image.getName() + ".png")); // 将图片保存为PNG格式
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

  

<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version>
</dependency>