java将word docx pdf转换为图片(不需要额外下载压缩包,直接导入maven坐标)

(本代码实现的是将第1页转为图片,主要用于制作文件缩略图)

pdf转图片容易

docx转图片麻烦,看其他博客可以直接导入maven坐标,但我知道那是需要付费且有时限的包

本着简单实用的心,我找到法子了

pdf转图片:有库直接转

docx转图片:docx转pdf再转图片

第一步:导入maven依赖和仓库坐标

maven坐标

XML 复制代码
         <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.office.free</artifactId>
            <version>5.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.2.3</version> 
        </dependency>
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.27</version>
        </dependency>

然后还得在pom.xml添加仓库地址(我用的是阿里云maven仓库,仓库没有spire坐标)

添加到pom.xml文件中,具体添加位置如下

XML 复制代码
<!--    word转pdf仓库-->
    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>

第二步,编写代码测试

word转pdf

java 复制代码
FileInputStream inputStream = new FileInputStream("your/path/to.docx");
//创建Document实例
Document doc = new Document();
//以流的形式加载Word文档 指定文档格式
doc.loadFromStream(inputStream, FileFormat.Docx);
ByteArrayOutputStream os = new ByteArrayOutputStream();
         
//输出到文件
doc.saveToFile("your/path/to.pdf", FileFormat.PDF);

pdf转图片

java 复制代码
//pdf转图片
// 加载PDF文档
PDDocument document = PDDocument.load(new File("your/path/a.pdf"));

// 创建PDF渲染器
PDFRenderer pdfRenderer = new PDFRenderer(document);

// 获取PDF中的第一页
BufferedImage bufferedImage = pdfRenderer.renderImage(0);
        
// 保存为图片
ImageIO.write(bufferedImage, "PNG", new File("your/path/to/save.png"));

 // 关闭PDF文档
document.close();
相关推荐
超级种码1 分钟前
Java:JavaAgent技术(java.instrument和java.attach)
java·开发语言·python
甜鲸鱼9 分钟前
【Spring AOP】操作日志的完整实现与原理剖析
java·spring boot·spring
狗头大军之江苏分军14 分钟前
年底科技大考:2025 中国前端工程师的 AI 辅助工具实战盘点
java·前端·后端
一 乐42 分钟前
酒店客房预订|基于springboot + vue酒店客房预订系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
计算机毕设指导643 分钟前
基于Spring Boot的防诈骗管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
a程序小傲1 小时前
饿了吗Java面试被问:Redis的持久化策略对比(RDBVS AOF)
java·redis·面试
我家领养了个白胖胖1 小时前
MCP模型上下文协议 Model Context Protocol & 百度地图MCP开发
java·后端·ai编程
Coder_Boy_1 小时前
基于DDD+Spring Boot 3.2+LangChain4j构建企业级智能客服系统
java·人工智能·spring boot·后端
黄俊懿1 小时前
【深入理解SpringCloud微服务】Spring-Security作用与原理解析
java·后端·安全·spring·spring cloud·微服务·架构师
塔能物联运维1 小时前
设备自适应采样率忽视能耗致续航降 后来结合功耗模型动态调优
java·后端·struts