(本代码实现的是将第1页转为图片,主要用于制作文件缩略图)
pdf转图片容易
docx转图片麻烦,看其他博客可以直接导入maven坐标,但我知道那是需要付费且有时限的包
本着简单实用的心,我找到法子了
pdf转图片:有库直接转
docx转图片:docx转pdf再转图片
第一步:导入maven依赖和仓库坐标
maven坐标
<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文件中,具体添加位置如下
<!-- 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
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转图片
//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();