(本代码实现的是将第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();