前言
这篇文章将介绍如何使用免费Java Word组件Free Spire.Doc for Java在Java应用程序中生成Word文档,插入文本,并设置段落的字体格式、对齐方式以及段后间距等。
Free Spire.Doc for Java概述
Free Spire.Doc for Java 是由E-iceblue公司开发的一个免费的Java Word API,涵盖Word文档创建、编辑、读取、写入、转换和打印等功能,并且不依赖Microsoft Office。
导入jar文件
1:下载最新的Free Spire.Doc for Java包并解压缩,下载地址。
2:新建Java应用程序,然后点击 File -> Project Structure -> Modules -> Dependencies,在Dependencies标签界面下,点击右边绿色的 “+”号,选择第一个选项“JARs or directories...”,选择Free Spire.Doc for Java包lib文件夹下的Spire.Doc.jar文件,点“OK”,jar文件导入成功,导入成功后如下图所示:
完成以上步骤后,新建Java Class(此处我取名为CreateWordDocument.Java),并添加以下代码。
CreateWordDocument.Java示例代码
import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import java.awt.*;
public class CreateWordDocument {
public static void main(String[] args){
//创建Word文档
Document document = new Document();
//添加一个section
Section section = document.addSection();
//添加三个段落至section
Paragraph para1 = section.addParagraph();
para1.appendText("滕王阁序");
Paragraph para2 = section.addParagraph();
para2.appendText("豫章故郡,洪都新府。星分翼轸,地接衡庐。襟三江而带五湖,控蛮荆而引瓯越。"+
"物华天宝,龙光射牛斗之墟;人杰地灵,徐孺下陈蕃之榻。雄州雾列,俊采星驰。台隍枕夷夏之交,宾主尽东南之美。"+
"都督阎公之雅望,棨戟遥临;宇文新州之懿范,襜帷暂驻。十旬休假,胜友如云;千里逢迎,高朋满座。"+
"腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库。家君作宰,路出名区;童子何知,躬逢胜饯。");
Paragraph para3 = section.addParagraph();
para3.appendText("时维九月,序属三秋。潦水尽而寒潭清,烟光凝而暮山紫。俨骖騑于上路,访风景于崇阿;临帝子之长洲,得天人之旧馆。"+
"层峦耸翠,上出重霄;飞阁流丹,下临无地。鹤汀凫渚,穷岛屿之萦回;桂殿兰宫,即冈峦之体势。");
//将第一段作为标题,设置标题格式
ParagraphStyle style1 = new ParagraphStyle(document);
style1.setName("titleStyle");
style1.getCharacterFormat().setBold(true);
style1.getCharacterFormat().setTextColor(Color.BLUE);
style1.getCharacterFormat().setFontName("宋体");
style1.getCharacterFormat().setFontSize(12f);
document.getStyles().add(style1);
para1.applyStyle("titleStyle");
//设置其余两个段落的格式
ParagraphStyle style2 = new ParagraphStyle(document);
style2.setName("paraStyle");
style2.getCharacterFormat().setFontName("宋体");
style2.getCharacterFormat().setFontSize(11f);
document.getStyles().add(style2);
para2.applyStyle("paraStyle");
para3.applyStyle("paraStyle");
//设置第一个段落的对齐方式
para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//设置第二段和第三段的段首缩进
para2.getFormat().setFirstLineIndent(25f);
para3.getFormat().setFirstLineIndent(25f);
//设置第一段和第二段的段后间距
para1.getFormat().setAfterSpacing(15f);
para2.getFormat().setAfterSpacing(10f);
//保存文档
document.saveToFile("Output.docx", FileFormat.Docx);
}
}
生成文档: