Java实现将PDF转为图片格式的方法详解

作者:Carina-baby 时间:2022-08-21 07:03:36 

PDF文件和图片文件,这是两种完全不一样的格式,可是有的时候这两种格式却是有相互转换的需要,大家在工作中遇到PDF文件转图片文件的问题时是怎么解决的呢?你们使用的方法简单方便吗?如果很麻烦的话,不妨来了解一下这篇文章分享的方法哦。本文将介绍如何通过Java应用程序快速高效地将PDF转为图片格式。一起来看看吧!

  • 将整个 PDF 文档转换为多个图片

  • 将指定 PDF 页面转换为图片

代码编译环境

IntelliJ IDEA 2019(jdk 1.8.0)

PDF Jar包:Free Spire.PDF for Java 5.1.0

1.引入jar

导入方法1:

手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

 导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

<repositories>

<repository>

<id>com.e-iceblue</id>

<url>https://repo.e-iceblue.cn/repository/maven-public/</url>

</repository>

</repositories>

<dependencies>

<dependency>

<groupId>e-iceblue</groupId>

<artifactId>spire.pdf.free</artifactId>

<version>5.1.0</version>

</dependency>

</dependencies>

将整个 PDF 文档转换为多个图片

仅需三步即可将整个 PDF 文档转换为多个图片,详细步骤如下:

  • 创建 PdfDocument 类的对象,并通过 PdfDocument.loadFromFile(String filename) 方法加载 PDF 文档。

  • 循环遍历 PDF 每一页,并通过 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法将 PDF 页面保存为图片格式。

  • 指定图片格式为 .png 格式。

完整代码

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImageType;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class PDFtoImage {
   public static void main(String[] args)throws IOException {
       //实例化PdfDocument类的对象
       PdfDocument pdf = new PdfDocument();

//加载PDF文档
       pdf.loadFromFile("都江堰.pdf");

//遍历PDF每一页,保存为图片
       for (int i = 0; i < pdf.getPages().getCount(); i++) {
           //将页面保存为图片,并设置DPI分辨率
           BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500);
           //将图片保存为png格式
           File file = new File( String.format(("ToImage-img-%d.png"), i));
           ImageIO.write(image, "PNG", file);
       }
       pdf.close();
   }
}

效果图

Java实现将PDF转为图片格式的方法详解

将指定 PDF 页面转换为图片

以下是实现格式转换的主要步骤:

  • 创建 PdfDocument 类的实例。

  • 通过 PdfDocument.loadFromFile(String filename) 方法加载 PDF 文档。

  • 调用 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法将 PDF 指定页面保存为图片。

  • 设置图片格式为 .png 格式。

完整代码

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImageType;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class PDFtoImage {
   public static void main(String[] args) throws IOException {
       //创建PdfDocument类的实例
       PdfDocument pdf = new PdfDocument();

//加载PDF文档
       pdf.loadFromFile("都江堰.pdf");

//将PDF第1页保存为图片,并设置图片DPI分辨率
       BufferedImage image= pdf.saveAsImage(0, PdfImageType.Bitmap,500,500);

//保存为png格式
       ImageIO.write(image, "PNG", new File("ToPNG.png"));
   }
}

效果图

Java实现将PDF转为图片格式的方法详解

来源:https://www.cnblogs.com/Carina-baby/p/17247352.html

标签:Java,PDF,图片
0
投稿

猜你喜欢

  • Hibernate双向多对多映射关系配置代码实例

    2022-12-26 22:30:30
  • 解决Mybatis的@Param()注解导致分页失效的问题

    2022-05-01 13:24:53
  • Android Fragment实现底部通知栏

    2023-12-25 21:01:33
  • Spring事务失效的一种原因关于this调用的问题

    2022-07-19 20:59:21
  • C# 数组删除元素的实现示例

    2022-03-02 08:55:04
  • Android SQLite数据库版本升级的管理实现

    2023-11-09 23:58:44
  • java面试常见模式问题---单例模式

    2022-11-29 09:12:28
  • Java新特性之Nashorn_动力节点Java学院整理

    2022-07-31 17:18:13
  • Android中post请求传递json数据给服务端的实例

    2022-04-21 01:51:18
  • C# 字符串的连接(实例讲解)

    2021-11-28 13:57:14
  • Android将项目导出为Library并在项目中使用教程

    2022-01-31 14:57:17
  • 在c#中使用servicestackredis操作redis的实例代码

    2022-06-23 14:28:48
  • C#开发WinForm之DataGridView开发详解

    2023-06-25 06:31:35
  • Java毕业设计实战项目之仓库管理系统的实现流程

    2021-11-11 09:42:42
  • Android TabLayout(选项卡布局)简单用法实例分析

    2023-12-17 09:52:28
  • 深入浅出重构Mybatis与Spring集成的SqlSessionFactoryBean(上)

    2021-12-01 18:27:49
  • java 非对称加密算法RSA实现详解

    2023-11-25 07:41:36
  • SpringBoot在Controller层接收参数的n种姿势(超详细)

    2023-01-28 00:54:39
  • SpringCloud使用Zookeeper作为注册中心

    2023-11-21 20:28:20
  • IDEA入门级使用教程你居然还在用eclipse?

    2022-03-27 07:35:19
  • asp之家 软件编程 m.aspxhome.com