java制作RTF模板生成打印模板

java开发中,有的时候需要打印模板,在打印模板中设置好相关的字段属性,然后就可以在系统中渲染模板数据,生成打印模板。整套体系依赖于oracle的xdo组件以及biPublisher工具。

一、渲染原理

首先利用oracle的插件biPublisher生成rtf模板,模板中设置好需要动态加载数据的字段,生成rtf模板后上传系统中保存。同时将数据库查询的字段的数据json利用dom4j转换成xml格式,最后调用oracle的xdo组件中的generateByRtf方法,将上传的模板和数据xml分别生成字节流,渲染rtf模板数据。

二、如何制作rtf模板

(1)安装biPublisher插件

首先在oracle官网下载biPublisher插件,https://www.oracle.com/middleware/technologies/analytics-publisher/downloads.html#,

下载后安装完,打开word文档,会有bipublisher插件:

如果没有,检查word加载项是否加载bipublisher插件,

(2)准备xml数据节点

xml可以在安装目录中找到C:\Program Files (x86)\Oracle\Oracle Analytics Publisher\Oracle Analytics Publisher Desktop\Template Builder for Word\samples\RTF templates\Sales Report

找到xml就可以编辑自己的数据库字段了

新增或修改自己需要添加的字段放到节点中。

(3)制作rtf模板

可以在之前的安装目录中找到样例rtf模板文件,然后修改字段保存即可。打开rtf模板,点击bipublisher中的示例xml,选择上一步编辑的xml文件,数据字段就被加载到rtf模板中了。

点击字段浏览器就可以看到已加载的xml节点

点击字段,选择加载的字段,就可以将字段加载到rtf模板了,将rtf模板保存上传到系统,同时将数据库查询的字段的数据json利用dom4j转换成xml格式,oracle的xdo工具就会解析模板和xml数据的二进制流,就可以渲染字段数据生成模板页面。

相关推荐
Mahir082 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
杜子不疼.2 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号32 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia3 小时前
Qt——编辑交互功能的实现
开发语言·qt
RyFit3 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码3 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事3 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海3 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠4 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP5 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习