近年来,Word文档的动态生成已成为组成报告,报价,发票和其他类型文档的流行功能。各种制造公司都基于数据库中存储的数据生成发票。在这种情况下,文档自动化可以节省手动文档创建过程中所需的时间,精力和资源。

本文旨在针对文档自动化过程,介绍如何以Java编程方式创建丰富的Word文档。如果想要测试这项新功能,可点击此处下载最新版试用。

在以下各节中,您将学习如何使用Java以编程方式创建包含不同元素(例如文本,段落,表格,列表,图像等)的Word文档。

①使用Java创建Word文档

大多数情况下,Word文档中相当一部分内容是基于文本的。因此,我们将通过创建带有标题和段落的Word文档来开始我们的旅程。以下是使用Aspose.Words for Java执行此操作的步骤:

  • 创建一个Document类的对象。
  • 创建一个DocumentBuilder类的对象,并使用Document对象对其进行初始化。
  • 创建一个Font类的对象,并设置字体大小,字体等。
  • 使用ParagraphFormat类设置段落的属性。
  • 使用DocumentBuilder.write()方法将文本写入文档。
  • 调用Document.save()方法创建文档。

下面的代码示例演示如何创建包含Java中文本的Word文档。

// Create a Document object
Document doc = new Document();
// Create a DocumentBuilder object
DocumentBuilder builder = new DocumentBuilder(doc);
// Specify font formatting
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Start the paragraph
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Save the document
doc.save("Rich Word Document.docx");

输出结果:

②使用Java在Word文档中创建表

Word文档中的表用于以行和列的形式组织内容。在本节中,我们将创建一个包含两行两列的简单表。创建表包括四个基本操作:

  • 启动表
  • 插入细胞
  • 结束行
  • 结束表

以下是在Word文档中创建表的步骤:

  • 创建一个Document类的对象。
  • 创建一个DocumentBuilder类的对象,并使用Document对象对其进行初始化
  • 使用Table类创建一个表。
  • 使用DocumentBuilder.insertCell()方法插入一个单元格。
  • 根据您的要求设置表的属性。
  • 使用DocumentBuilder.write()方法将文本添加到单元格中。
  • 分别使用DocumentBuilder.endRow()和DocumentBuilder.endTable()方法结束行和表。
  • 保存文档。

下面的示例演示如何在Java中的Word文档中创建表。

// Create a Document object
Document doc = new Document();
// Create a DocumentBuilder object
DocumentBuilder builder = new DocumentBuilder(doc);
// Create table
Table table = builder.startTable();
// Insert a cell
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// End row
builder.endRow();
// start a next row and set its properties
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// End table
builder.endTable();
// Save the document
doc.save("Rich Word Document.docx");

输出结果:

③使用Java在Word文档中创建列表

以下是将列表添加到Word文档的步骤。

  • 创建一个Document类的对象。
  • 使用Document.getLists()。add()方法将所需的列表类型添加到文档中。
  • 将列表从文档中获取到List对象中。
  • 使用DocumentBuilder对象填充列表。
  • 保存文档。

下面的代码示例演示如何使用Java在Word文档中创建列表。

// Create a Document object
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Set true to specify that the list has to be restarted at each section.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) { builder.writeln(String.format("List Item " + i)); // Insert section break. if (i == 15) builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); } builder.getListFormat().removeNumbers(); // Save the document doc.save("Rich Word Document.docx");

输出结果:

④使用Java将图像插入Word文档

将图像插入Word文档就像饼图一样简单。以下是执行此操作的一些简单步骤:

  • 创建一个Document类的对象。
  • 创建一个DocumentBuilder类的对象,并使用Document对象对其进行初始化。
  • 使用DocumentBuilder.insertImage()方法插入图像。
  • 保存文档。

下面的代码示例演示如何使用Java将图像插入Word文档。

// Create a Document object
Document doc = new Document();
// Create DocumentBuiler
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert Image
builder.insertImage("aspose-words.png");
// Save the document
doc.save("Rich Word Document.docx");

输出结果:


如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。

动态生成word文档原来如此简单!Aspose.Words助力以Java编程方式创建丰富的Word文档相关推荐

  1. T5L串口屏界面开机动画、动态屏保的设置原来如此简单

    T5L_DGUS屏封装了DGUS图片动画控件功能,支持开机自动播放动画,常应用于终端Logo的动态展示:支持动态屏保功能,可设置定时长无触控进入屏保,也可触摸进入屏保或退出屏保,常应用于终端炫酷显示的 ...

  2. java swing 动态生成表格_6 个曾经牛逼哄哄的 Java 技术,你用过吗?

    大家好啊,今天给大家分享下我的开发历程中,我知道的那些被淘汰的技术或者框架,有些我甚至都没有用过,但我知道它曾经风光过. 废话不多说,下面我要开始吹了-- 1.Swing 下面这个是用 swing 开 ...

  3. Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案

    Thinking in Java 4th 中.英文两版pdf文档,书中源码及课后习题答案.链接:https://pan.baidu.com/s/1BKJdtgJ3s-_rN1OB4rpLTQ 密码:2 ...

  4. java 创建web项目_java – Eclipse:以编程方式创建动态Web项目

    我尝试通过首先通过IProject创建 java项目然后使用IFacetedProject将其转换为动态Web项目来创建动态Web项目,但是只创建了静态项目-这是我已经完成的代码-请帮助我这--谢谢. ...

  5. java生成和读取keystore_java-如何以编程方式创建新的KeyStore?

    java-如何以编程方式创建新的KeyStore? 我正在尝试以编程方式在Java中创建新的密钥库. 如下代码: KeyStore keyStore = KeyStore.getInstance(Ke ...

  6. 福利!使用Aspose.Words在Java中以编程方式将Word格式转换为PDF完整指南

    在共享文档之前,通常使用Word到PDF的转换.可以使用各种在线Word到PDF转换器,可以转换单个或有限数量的Word文档.但是,随着新兴的MS Word自动化和报告生成解决方案,Word到PDF的 ...

  7. Word处理控件Aspose.Words功能演示:使用C#创建MS Word文档

    Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word. A ...

  8. Word处理控件Aspose.Words功能演示:使用 C++ 创建 MS Word 文档 (DOC/DOCX)

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  9. Word处理控件Aspose.Words功能演示:使用 Python 查找和替换 Word 文档中的文本

    很多时候,您需要替换 Word 文档中的特定文本或短语.MS Word 具有针对此类情况的内置功能,您可以一键替换所需的文本.在本文中,您将学习如何使用 Python 以编程方式查找和替换 Word ...

最新文章

  1. SharePoint 2007 安装与配置
  2. 马斯克的火箭,这次没!爆!炸!
  3. linux 基础知识点杂项记
  4. 腾讯多任务模型MFH
  5. 【安卓开发】启动另一个 Activity
  6. Logistic 梯度法进行分类
  7. 对象存储 OSS > SDK 示例 > C++ > 数据加密 > 服务器端加密
  8. android 浏览器 内核版本,Android集成三方浏览器之X5内核
  9. 中国杀防论坛[ANTI-CN BBS] 新版上线
  10. 凌晨四点洛杉矶-致奋斗的我
  11. catic备份mysql,Catic构建与部署
  12. selenium 浏览器复用(java)
  13. 关爱残障儿童,天使之翼爱心活动进行
  14. Win11快捷复制粘贴不能用怎么办?Win11快捷复制粘贴不能用
  15. 新一配:5G与4G的不同工作原理【转载】
  16. JSP 技术(一)--简述
  17. 黑马Java常见面试题基础(一)
  18. 2022年武汉市工业产品绿色设计示范企业申报条件流程
  19. ios -生成推广海报
  20. 什么是哈希洪水攻击(Hash-Flooding Attack)?

热门文章

  1. STM32H743 Flash
  2. git 强制远程更新命令
  3. 是谁把Adobe数字签名的RSL(*.swz)存放到FlashPlayer指定的缓存当中的? 是FlashPlayer
  4. 使用Echarts绘制geo地图(案例)
  5. 数值分析:矩阵求逆-奇异性、条件数
  6. Android Dialog加载Fragment(DialogFragment)带横竖屏动画
  7. 论文解读:Segment Anything
  8. Visual Studio Community 2015 英文版下载
  9. 密友手稿显示牛顿被苹果砸头纯属后人杜撰
  10. 结构体类型与结构体变量