学习GroupDocs.Assembly的其它模板实践

GroupDocsGroupDocs.Assembly
placeholder image
admin 发布于:2025-03-14 14:07:13
阅读:loading

前面在摸索了Aspose For Java的全量产品组件共计23款,闲来无事偶然又发现了在GroupDocs方向又存在一些产品,这些产品基本都是取自于一个又一个的组件,取自所有组件中的一个方向进行汇总,组成一个统一的产品包。本次摸索学习GroupDocs.Assembly产品,经过一些持续的分析和摸索,结合使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。

特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

由于都是GroupDocs.Assembly For Java的产品技术介绍,本篇描述性的介绍均参考于Word格式文件的介绍。

1.基本介绍

本次实践的是GroupDocs.Assembly for Java的24.9.1版本(当前最新版本),它是用于自动化文档和报告的 Java API;构建文档自动化应用程序以获取数据;将其放入可定制的模板并通过 Java API 生成动态报告。通俗的可以理解为这个产品提供了一套自定义的表达式(模板)语言,用于动态的生成Word、Excel、PPT、Outlook等相关格式的报表文件。除了微软办公格式文件以为也支持OpenOffice、Email、Web、Markdown、TXT等相关软件产品的文件格式。

我们还可以把 GroupDocs.Assembly for Java 简单理解成FreeMarker这种模板引擎,只不过它支持的模板类型的文件格式比较丰富,直接在源文件中声明表达式。内置的表达式语言支持参数输出、逻辑判断、数据循环、三目运算符、单元格合并等等,本次示例实践知识主要是以介绍它所支持的其它格式类式为主,从官网“https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-Java/tree/master”提供的例子中摘取了一些典型案例实践,涉及到的知识点细节参考如下:

(1)本篇不再介绍常用的Word、Excel、PPT文件格式,而是介绍不常见格式的模板文件,比如说有:eml、msg、html、markdown、txt等

(2)eml格式的文件是一种电子邮件文件,本站已有使用apache开源技术的解析实现,所以不再重点实践;

(3)msg格式的文件目前并未实际使用到,所以页不再重点实践;

(4)至于html、markdown、txt等格式的文件则更不需要重点实践了,因为它们本质上属于文本文件,基于文本文件的动态模板渲染则应该优先考虑的是自己熟悉或者是开源的技术,比如:FreeMarker、Thymeleaf,甚至是JSP等等;

2.模板参考

以官网提供的Github示例为准,分别从其中挑出几个简单的示例来演示,涵盖了一定特色的功能范围,演示这几种格式文件的模板示例,参考如下

(1)给出一个eml格式的模板文件,其中邮件标题、发件人、收件人、抄送人、邮件内容等部分信息都是动态填充的,参考如下图所示:

image.png

(模板文件-含数据循环)

(2)给出一个eml格式的模板文件,其中邮件标题、发件人、收件人、抄送人、邮件内容等部分信息都是动态填充的,最关键这个邮件内容的图片是个动态的图表模板,本质上是一个图片,如何作为模板内容动态填充的呢,有些不解,但是也作为历史遗留吧,毕竟只是作为技术学习,差不多得了,参考如下图所示

image.png

(3)给出一个html格式的模板文件,包含数据循环,参考如下图所示:

image.png

(4)给出一个markdown格式的模板文件,包含参数输出,参考如下图所示:

image.png

3.模板参考

挑选出来几个略微有特色的模板,给出截图,至于markdown与pdf的输出就不再给出了,具体参考如下:

image.png

(表格填充)

image.png

(图表填充)

image.png

(网页输出)

4.其它说明

(1)`GroupDocx.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;

(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;

(3)示例与相关文件下载:《几种格式文件示例.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;

(4)科学实现分为两种情况,一种是使用反射,另一种是使用License.xml文件;

(5)aspose相关的各个产品组件为独立存在的各个产品,GroupDocs是提取全集产品中的某个功能的集合,提供了一个大类的功能操作,并且统一对外提供API;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区