网站首页 > java教程 正文
在日常工作、学习和生活中,我们经常会使用WPS文字(Word文档)这一款办公软件来对文档进行编辑处理。本文主要想介绍如何在后端通过使用Java代码的方式来创建、加载、操作和保存WPS文字(Word文档)。
使用工具:Free Spire.Doc for Java(免费版)
Jar包导入:在安装配置好JDK和Intellij IDEA之后,需将以上使用工具中的Jar包导入IDEA。导入方式有两种:其一,在E-iceblue中文官网上获取产品包,解压后在lib文件夹下找到Spire.Pdf.jar,然后手动导入IDEA;其二,在IDEA中创建Maven项目,然后在Pom.xml文件下键入以下代码,最后点击“Import Changes”即可。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>3.9.0</version>
</dependency>
</dependencies>
代码示例
示例一 创建WPS文字(Word文档)
在新建WPS文字时,Free Spire.Doc for Java支持指定文本内容,设置字符名称、字号、字体颜色,以及段落格式,段前缩进,断后间距等。
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import java.awt.*;
import java.io.*;
public class CreateWPS {
public static void main(String[] args) throws IOException {
//创建Document实例
Document document = new Document();
//添加节到文档
Section section = document.addSection();
//添加五个段落至该节
Paragraph para1 = section.addParagraph();
para1.appendText("断桥,又小雪");
Paragraph para2 = section.addParagraph();
para2.appendText("寂寞的夜里窗外下着雪传来一首曲凄凉而婉约;一个不眠之夜,心中的惆怅与谁言;深秋的夜,寂寞的夜,何处去寻花与蝶。");
Paragraph para3 = section.addParagraph();
para3.appendText("在这个不眠夜,孤身一人,惟有这小雪,陪我度过,心中的压抑与谁诉说。");
Paragraph para4 = section.addParagraph();
para4.appendText("晶莹的冰花扬扬洒洒的挥下,冲淡了最后的暖意,盖住了飘落的花瓣;晶莹的冰花凄凄惨惨的撒下,淹没了最后的喜悦," +
"留下了暗淡的阴霾,它轻轻地飘着,逍遥地舞着,凝结在我的心田,亮晶晶地,美却略显凄凉。");
Paragraph para5 = section.addParagraph();
para5.appendText("清风散过,瓣瓣落,落尽处,泪滴荡空。点点粉嫩,是离情,别是一般眷恋绕心头。满地残落叶,余憔悴,怎堪回首," +
"一切尽在无语凝噎中。冷冷凄凄,惨惨兮。");
//将第一段作为标题,设置标题段落格式
ParagraphStyle style1 = new ParagraphStyle(document);
style1.setName("titleStyle");
style1.getCharacterFormat().setBold(true);
style1.getCharacterFormat().setTextColor(Color.BLUE);
style1.getCharacterFormat().setFontName("Lucida Sans Unicode");
style1.getCharacterFormat().setFontSize(12f);
document.getStyles().add(style1);
para1.applyStyle("titleStyle");
//设置标题段落居中对齐
para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//设置其余四个段落的格式
ParagraphStyle style2 = new ParagraphStyle(document);
style2.setName("paraStyle");
style2.getCharacterFormat().setFontName("Lucida Sans Unicode");
style2.getCharacterFormat().setFontSize(11f);
document.getStyles().add(style2);
para2.applyStyle("paraStyle");
para3.applyStyle("paraStyle");
para4.applyStyle("paraStyle");
para5.applyStyle("paraStyle");
//设置第二、三、四、五段落的段首缩进
para2.getFormat().setFirstLineIndent(25f);
para3.getFormat().setFirstLineIndent(25f);
para4.getFormat().setFirstLineIndent(25f);
para5.getFormat().setFirstLineIndent(25f);
//设置第一段落的段后间距
para1.getFormat().setAfterSpacing(10f);
//保存文档
ByteArrayOutputStream bos = new ByteArrayOutputStream();
document.saveToStream(bos, FileFormat.Doc);
//将流写入WPS文件
FileOutputStream fos = new FileOutputStream("output/CreateWpsWord.wps");
fos.write(bos.toByteArray());
//关闭流
bos.close();
fos.close();
}
}
结果文档
示例二 加载、操作和保存WPS文字(Word文档)
我将上示例的结果文档保存至本地,接着用以下代码加载文档,并给文档正文第一段设置背景颜色,最后再保存为WPS文字文档。
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import java.awt.*;
import java.io.*;
public class LoadAndEditWpsWord {
public static void main(String[] args) throws IOException {
//通过流加载WPS文字文档
FileInputStream inputStream = new FileInputStream(new File("C:\\Users\\Test1\\Desktop\\CreateWpsWord.wps"));
Document document = new Document();
document.loadFromStream(inputStream, FileFormat.Doc);
//获取文档的第一个节
Section section = document.getSections().get(0);
//获取该节中第二个段落
Paragraph paragraph = section.getParagraphs().get(1);
//给该段落设置背景颜色
paragraph.getFormat().setBackColor(Color.pink);
//将结果文档保存到流
ByteArrayOutputStream bos = new ByteArrayOutputStream();
document.saveToStream(bos, FileFormat.Doc);
//将流写入WPS文档
FileOutputStream fos = new FileOutputStream("Output/LoadEditAndSaveWpsWord.wps");
fos.write(bos.toByteArray());
//关闭流
bos.close();
fos.close();
}
}
设置效果
猜你喜欢
- 2024-11-08 太强了,阿里P8面试官用1个多月,总结1000道题的Java面试文档!
- 2024-11-08 准备2023金三银四的Java程序员注意:40+文档5000+页面试资料来啦
- 2024-11-08 java语言基本学习文档一(java语言入门知识)
- 2024-11-08 霸榜GitHub!BAT内部学习资料:Java核心知识点文档限时开源
- 2024-11-08 Java 获取PowerPoint文档中文本的位置
- 2024-11-08 Java 计算Word文档的字数和字符数(计空格或不计空格)
- 2024-11-08 基于JAVA的社团管理系统—文档(基于javaee的管理系统)
- 2024-11-08 Java 文档解析工具:Apache Tika 开源的文档内容解析工具
- 2024-11-08 计算机等级考试辅导:Java类的基本组成和使用单元辅导文档
- 2024-11-08 Java生成word文档(java生成word文档却只有1kb)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)