您所在位置: 网站首页 / Docx4J知识积累.docx / 文档详情
Docx4J知识积累.docx 立即下载
2024-11-07
约1.7万字
约19页
0
366KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Docx4J知识积累.docx

Docx4J知识积累.docx

预览

免费试读已结束,剩余 14 页请下载文档后查看

20 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Docx4J概述:
Docx4j是Java操作office2007+中的Word、Excel、PPT的开源项目,其主要针对WordXML同时也可以处理Excel和PPT,比POI要强大很多.
Docx4J基于开源协议ASLv2。ASL是一个广泛适用于社区开源软件并被开源业界所认可的协议,该协议更有益于商业化产品的开发和再发行。遵循ASL发行的代码和其它许可协议可以整合成为一个闭源的商业产品,然后被其它开发人员再次发行。这不像开源许可协议。"类GPL许可协议"(有些像GPL),通常情况下用于确保其它类似开发成员再发行已经被发布并修改的代码及其衍生代码的开源和可发布性。
Docx4J能做什么:
打开已存在docx(从文件系统、SMB/CIFS、使用VFS的WebDAV),pptx,xlsx
创建新的docx、pptx、xlsx
编程式地操作上面打开的文档
Docx4J特殊的功能支持:
模版替换;CustomXML绑定
生产/消费Word2007的xmlPackage(pkg)格式
作为docx保存docx到文件系统(zipped)或者保存到JCR(unzipped)
应用转换,包括常见过滤器
作为HTML或者PDF导出
比较文档、段落或者sdt(内容控件)之间的差异
字体支持(字体替换及使用任何文档中嵌入的字体)
一些有用的链接:
	Docx4J:		

	Samplecodes:	
docx4j,pptx4j,xlsx4j,
生成docx文件(第一部分),
生成docx文件(第二部分),
使用docx4j编程式地创建复杂的Word(.docx)文档,
向Docx4j生成的word文档添加图片和布局--第一部分,
向Docx4j生成的word文档中添加布局--第二部分
docx4j--使用Java处理word2007(.docx)文档

Docx4J的使用
一打开文件/模板
Docx4J中,在内存中操作的word文档是“WordprocessingMLPackage”类型的对象(本文以下简称包)。
	在编辑一个word文档前,开发者需要选择:创建一个新的空白包,并逐一将需要的内容填充进去,或者打开一个已有的文档,并在里面添加/替换新的内容。
前者思路比较简单,比较适合简单文档的创建。但由于添加每条新内容时,都需要手动进行设置其各项参数(比如表格的行宽、列宽、边框等),且添加修改复杂控件(公式、页眉页脚)的过程都比较繁琐,所以在创建格式复杂的文档时不是很建议。
后者需要事先制作一个模板文档,添加不同的占位符和各种模板信息,在准备上比前者复杂。但也具有很多优点:可以简化细节参数的调整(不需要手动调整表格、段落的具体细节参数)从而将精力集中到文档内容上;复杂的文档部分(如公式、复选框等)可以直接从模板中读取,只需要在其基础上修改文字等内容部分,而避开了繁琐的创建操作等。在创建格式复杂的文档时,这个方法相比前者可以精简大量代码。(本文之后将主要基于该方法进行说明)
二保存文件
当结束对包的编辑时,开发者可以选择多种方式进行保存。

三常用类型
Docx4J支持所有的docx内容格式,其中比较常见的有如下几种:
1.Text:基本的文字内容
2.R:	文字格式信息
3.P:	段落,可以单独使用,也可以添加到单元格(Tc)等作为内容
以下代码创建了新文本,并将其填到指定的单元格中
/**
*功能描述:填充单元格内容
*@paramtc单元格对象
*@paramdata内容
*@paramfontFamily字体
*@paramfontSize字号
*@paramisBlod是否加粗
*@paramjcEnumeration对齐方式
*@authormyclover
*/
privatestaticvoidfillCellData(Tctc,Stringdata,StringfontFamily,StringfontSize,booleanisBlod,JcEnumerationjcEnumeration){
ObjectFactoryfactory=Context.getWmlObjectFactory();
org.docx4j.wml.Pp=(P)XmlUtils.unwrap(tc.getContent().get(0));
//设置表格内容的对齐方式
setCellContentStyle(p,jcEnumeration);
org.docx4j.wml.Textt=factory.createText();
t.setValue(data);
org.docx4j.wml.Rrun=factory.createR();
//设置表格内容字体样式
run.setRPr(getRPr(fontFamily,fontSize,isBlod
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Docx4J知识积累

文档大小:366KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用