如何把PDF文件中的图片保存下来?

对于经常使用PDF格式文档的人来说,常常有一个疑问就是如何将PDF中的图片抠出来,其实掌握了方法也是很简单的,下面一起来看看。

1、文字版PDF

对于文字版的PDF中图片保存就比较简单了,我们用极速PDF阅读器打开文档后,直接在图片处右击选择“复制图片”,然后在任意聊天窗口或Word文档中粘贴后重新再保存一下就可以了。
在这里插入图片描述

如果觉得操作比较复杂,我们可以点击点击阅读器左上角的“编辑”跳转到编辑页面,或直接用编辑器打开PDF文件。

接着点击编辑器工具栏中的“对象工具”后,单击选中图片处右击选择“图像”中的“提取到文件”
在这里插入图片描述

最后再设置保存位置已经图片名称和格式后进行保存即可。
在这里插入图片描述

2、扫描版PDF

对于扫描版的PDF文档,本身所有内容就是图片,如果里面的部分图片,那就需要进行裁切了。还是用极速PDF阅读器打开文档后,点击工具栏的“截图”
在这里插入图片描述

然后选中需要保存的图片区域后,在右下角弹出的功能键中选择“保存”并将图片进行保存即可。
在这里插入图片描述

在Java,你可以使用Apache PDFBox库来处理PDF文件,使用Java的文件操作类将图片保存到本地,并使用Spring的MultipartFile将图片上传到服务器。 首先,你需要添加Apache PDFBox和Spring Web依赖到你的项目。在Maven项目,你可以在pom.xml文件添加以下依赖: ```xml <dependencies> <!-- Apache PDFBox --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.26</version> </dependency> <!-- Spring Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> ``` 接下来,你可以使用以下代码从PDF提取图片保存到本地: ```java import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.rendering.ImageType; 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 PDFImageExtractor { public static void extractImagesFromPDF(String pdfFilePath, String outputFolderPath) throws IOException { PDDocument document = PDDocument.load(new File(pdfFilePath)); PDFRenderer pdfRenderer = new PDFRenderer(document); for (int pageIndex = 0; pageIndex < document.getNumberOfPages(); pageIndex++) { PDPage page = document.getPage(pageIndex); BufferedImage image = pdfRenderer.renderImageWithDPI(pageIndex, 300, ImageType.RGB); String outputFilePath = outputFolderPath + "/image_" + (pageIndex + 1) + ".png"; File outputFile = new File(outputFilePath); ImageIO.write(image, "png", outputFile); } document.close(); } public static void main(String[] args) { String pdfFilePath = "path/to/pdf/file.pdf"; String outputFolderPath = "path/to/output/folder"; try { extractImagesFromPDF(pdfFilePath, outputFolderPath); System.out.println("Images extracted and saved successfully."); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码会将PDF文件的每个页面转换为图片,并将其保存到指定的输出文件。你可以根据需要修改输出文件的格式和命名规则。 最后,关于使用MultipartFile上传到服务器,你可以使用Spring的MultipartFile接口来处理文件上传。你需要在你的Spring控制器定义一个接受MultipartFile参数的请求处理方法,然后将接收到的文件保存到服务器上。以下是一个示例: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; @Controller public class FileUploadController { @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) { if (file.isEmpty()) { // 文件为空,处理错误逻辑 return "redirect:/error"; } try { // 保存文件到服务器 String uploadDir = "path/to/upload/directory"; String fileName = file.getOriginalFilename(); File dest = new File(uploadDir + "/" + fileName); file.transferTo(dest); // 文件上传成功,处理成功逻辑 return "redirect:/success"; } catch (IOException e) { e.printStackTrace(); // 处理文件上传失败逻辑 return "redirect:/error"; } } } ``` 以上代码定义了一个接受文件上传请求的控制器方法,文件将被保存到指定的上传目录。你可以根据自己的需求修改目录路径。 这就是如何在JavaPDF提取图片并将其保存到本地,并使用MultipartFile将图片上传到服务器的方法。希望对你有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值