Java 如何把Word文档转换为图片
Word文档是一种编辑功能丰富文档格式,可以对其进行各种加工编辑。但Word文档的展示很多时候是一个比较棘手的问题,如果在编辑器中展示往往比较麻烦且效果不太好。如果将Word文档转换为内容不变的图片,就可以很好的解决展示问题。本文将介绍通过编写程序将Word文档转换为图片的详细操作。
此方法需要用到免费的Jar:Free Spire.Doc for Java,可通过如下途径引入Jar文件。
1. Maven
prom.xml代码:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
2. 官网下载
在Spire.Doc for Java免费版官网下载免费版,解压后,在“Project Structure“中,找到”Modules“,然后在其中的“Dependencies”中,添加解压出的“lib”文件夹下的Spire.Doc.jar文件。
Word文档转图片
操作步骤解析:
- 通过创建 Document 类的对象创建Word文档。
- 用 Document.loadFromFile() 方法从磁盘加载Word文档。
- 在文档中循环将每一页用 Document.saveToImage() 方法转换为一个PNG文件。
Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.ImageType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
public class WordToPNG {
public static void main(String[] args) throws IOException {
Document document = new Document();
document.loadFromFile("C:/Samples/Sample.docx");
document.saveToFile("123.pdf", FileFormat.PDF);
for (int i =0; i < document.getPageCount(); i++) {
BufferedImage image = document.saveToImages(i, ImageType.Bitmap);
File file = new File("WordToPNG" + (i + 1) + ".png");
ImageIO.write(image, "PNG", file);
}
}
}
如果想将指定页面转换为图片,无需循环,可直接用 Document.saveToImage() 在使用页面作为参数进行转换。
转换效果:
原文的:
结果文档:
本文引用均来自免费的Free Spire.Doc for Java。
1 声望
0 粉丝
推荐阅读
Java 合并PDF文件
对于内容联系比较紧密,但是却被分成多个文件的PDF文档,我们可以将其合并为一个PDF文档,方便我们阅读内容以及处理文档。本文将介绍一种用Java编程实现合并PDF文档的方法。
大丸阅读 1k
Java12的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 63阅读 11.9k
Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 32阅读 24.7k评论 1
一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。
前言秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景。欢迎大家参与我们的开源项目,提交PR,提高竞争力。早日上岸,升职加薪。知识点详解秒杀系统架构图秒杀流程图秒杀系统设计这篇文章一万多...
王中阳Go赞 34阅读 2.6k评论 1
Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 28阅读 15.4k评论 3
Java5的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 13阅读 20.5k
Java9的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 20阅读 14.6k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。