CN117539565A - 一种基于PowerPoint文档为模板的数据渲染可视化方法及系统 - Google Patents

一种基于PowerPoint文档为模板的数据渲染可视化方法及系统 Download PDF

Info

Publication number
CN117539565A
CN117539565A CN202311351233.1A CN202311351233A CN117539565A CN 117539565 A CN117539565 A CN 117539565A CN 202311351233 A CN202311351233 A CN 202311351233A CN 117539565 A CN117539565 A CN 117539565A
Authority
CN
China
Prior art keywords
rendering
data
label
module
tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311351233.1A
Other languages
English (en)
Inventor
张福洲
万清顺
金海港
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Life Insurance Co Ltd Jiangsu Branch
Original Assignee
China Life Insurance Co Ltd Jiangsu Branch
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Life Insurance Co Ltd Jiangsu Branch filed Critical China Life Insurance Co Ltd Jiangsu Branch
Priority to CN202311351233.1A priority Critical patent/CN117539565A/zh
Publication of CN117539565A publication Critical patent/CN117539565A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供一种基于PowerPoint文档为模板的数据渲染可视化方法,包括以下步骤:S1:调用方携带请求信息,发送渲染请求;S2:服务端接收调用方的请求信息,将请求信息传递给渲染器;S3:渲染器根据请求信息,渲染模板并转换成请求指定的格式的结果数据,并将渲染后生成的最终格式文件返回给服务端;S4:服务端将接收的最终格式文件包装成响应信息返回给调用方。同时还提供了基于PowerPoint文档为模板的数据渲染可视化方法。本发明的方法和系统解决基于PowerPoint文档为模板的数据渲染可视化方问题,提供统一的数据标签,提供高扩展性,降低程序员开发难度,用户使用简单方便,模板制作灵活,支持各种复杂的需求场景。

Description

一种基于PowerPoint文档为模板的数据渲染可视化方法及 系统
技术领域
本发明涉及计算机应用领域,尤其涉及一种基于PowerPoint文档为模板的数据渲染可视化方法及系统。
背景技术
在一些渲染可视化的场景中,比如生成用户名片、推广图片,喜讯图片等等,基于PowerPoint文档为模板的数据渲染能够极大的方便用户,用户通过编辑PowerPoint文档模板上的数据标签,就能轻松调整展示效果,实现所见即所得。但是,由于PowerPoint文档格式较为复杂,数据标签在PowerPoint中会被拆分成无规则的几块(见图5),因此市面上并没有完整的基于PowerPoint文档为模板的渲染解决方案,这些方案基本上存在如下问题:
1、功能过于简单,只支持文本框、表格,且无法保证样式不变,只能固定为某一种样式。
2、无法处理数据标签被拆分问题,只能简单处理,存在丢失文档样式的情况,无法保证渲染前后效果一致。
3、开发复杂,扩展性差。开发人员想要增加自定义数据标签需要修改大量的代码。
发明内容
本发明的目的是为了解决基于PowerPoint文档为模板的数据渲染可视化方问题,提供统一的数据标签,提供高扩展性,降低程序员开发难度,用户使用简单方便,模板制作灵活,支持各种复杂的需求场景,而提出的一种基于PowerPoint文档为模板的数据渲染可视化方法及系统。
为实现上述目的,本发明采用了如下技术方案:
一种基于PowerPoint文档为模板的数据渲染可视化方法,包括以下步骤:
S1:调用方携带请求信息,发送渲染请求;
S11:调用方包装请求信息;
S12:调用方将请求信息发送给服务端;
S2:服务端接收调用方的请求信息,将请求信息传递给渲染器;
S3:渲染器根据请求信息,渲染模板并转换成请求指定的格式的结果数据,并将渲染后生成的最终格式文件返回给服务端;
S31:渲染器根据请求信息创建执行器;
渲染器根据请求信息的模板文件格式和生成格式,找到指定类型的渲染模块和转换模块,创建执行器,执行器内部包含一个执行链,渲染按照执行链顺序执行;
S32:渲染器将请求信息传递给执行器;
S33:执行器将请求信息传递给渲染模块;
S34:渲染模块执行渲染;
S35:渲染模块完成渲染后,将渲染后的模板传递给转换模块;
S36:转换模块接收模板文件,将模板文件转换成指定格式的最终格式文件;
S37:转换模块将最终格式文件返回给执行器;
S38:执行器最终格式文件返回给渲染器;
S39:渲染器将最终格式文件返回给服务端;
S4:服务端将接收的最终格式文件包装成响应信息返回给调用方。
进一步的,请求信息包括模板文件,渲染数据以及生成格式;
模板文件是二进制格式的PowerPoint文档文件;模板文件上具有用于编辑的数据标签;
渲染数据以键值对的形式;
生成格式包括PowerPoint格式、image格式、pdf格式。
进一步的,步骤S2包括:
S21:服务端接收调用方的请求信息;
S22:服务端对请求信息进行校验;
校验内容为:如果模板文件的格式或生成格式错误或渲染数据格式错误,则不通过,否则通过。
S23:如果请求信息校验不通过,则直接返回错误信息,不再执行下面的流程;
S24:校验通过,将请求信息传递给渲染器。
进一步的,数据标签具有多种不同的种类,具体包括:连接符标签、单值标签,表格标签、图片标签、渲染块标签、条件标签、占位符标签、表格公式标签、中间单值标签;
1) 连接符标签:适用于单值标签;
2) 占位符标签:适用于单值标签和表格数据子标签;
3) 单值标签:适用于文本框、表格单元格、智能图形、形状、艺术字;
4) 表格标签:仅适用于表格,分为2种,表格数据标签和表格数据子标签;
5) 图片标签:仅适用于图片,分为2种,一种是数据标签的数据为图片,另一种是数据标签的数据为字符串;
6) 条件标签:适用于文本框、表格单元格、智能图形、形状、艺术字;
7) 渲染块标签:适用于文本框、表格单元格、形状、艺术字,分为2种,渲染块数据标签和渲染块数据子标签;
8) 表格公式标签:适用表格单元格;
9) 中间单值标签:仅适用于渲染块,且非用户使用,而是渲染器解析渲染块标签的中间标记,为了方便程序解析而设置的。
进一步的,渲染模块接收请求信息,读取模板文件,如果读取失败,则返回错误信息,不再执行后面的流程步骤,如果读取正常,执行渲染工作;渲染模块循环遍历PowerPoint文档中每一个数据标签,将数据渲染到模板上;
具体包括:
S341:文本框渲染;
渲染模块首先判断文本框中是否存在数据标签,若不存在,跳过渲染,若存在,则循环遍历文本框的所有段落,建立渲染块标签、条件标签和段落的关系表;
第一步,判断关系表中是否存在渲染块标签,如果存在渲染块标签,获取渲染块标签的所有段落和渲染块标签中的数据名,通过数据名获取数据的行数,循环复制渲染块标签中的内容,并插入到渲染块标签的结束标签的上方,同时将渲染块数据子标签解析成中间单值标签;
第二步,判断关系表中是否存在条件标签,若不存在,跳过渲染,若存在,获取条件标签的所有段落,解析条件标签中的条件,将判断为假的条件子标签的内容删除;
第三步,渲染模块重新遍历文本框的段落,如果遍历的段落存在单值标签,则根据单值标签的长度和该段落的文本块的数量,循环组合遍历多个文本块,直到确认数据标签在某几个连续的文本块中,将这几个文本块中的数据标签替换为要渲染的数据,继续遍历下一个段落,直到遍历完全部段落;
S342:图片渲染;
渲染模块读取图片标签,如果不存在图片标签,则渲染结束,如果存在图片标签,判断图片标签是哪种类型,如果图片标签的数据为图片,则渲染模块直接将PowerPoint中所属数据标签的图片替换为数据图片即可,如果图片标签的数据为字符串,则渲染模块先将字符串转换成二维码图片,再将PowerPoint中所属数据标签的图片替换为二维码,渲染结束;
S343:表格渲染;
首先渲染模块循环遍历表格的每一行和每一个单元格,建立数据标签、数据标签类别和单元格位置的关系表;
第一步,根据关系表判断表格是否存在表格数据标签,若不存在,跳过表格渲染列表数据,若存在,则找到表格数据子标签所在单元格的位置,从该单元格所在行开始,依次循环遍历之后的每一行,对每一行的表格数据子标签所在的列执行如下操作:先清除单元格的数据,再将列表数据的指定行列数据插入到单元格中;
第二步,判断关系表是否存在其他数据标签,如果不存在,则渲染结束,如果存在,则找到数据标签所在的单元格,采用文本框的渲染逻辑完成单元格的数据渲染;
S344:图表渲染;
渲染模块读取图表区格式中可选文字的标题信息,读取图表数据标签,如果不存在图表数据标签,则渲染结束,如果存在图表数据标签,首先读取图表中的Excel文件,将数据渲染到Excel上,然后根据数据的行数和列数增加或减少绘图区的系列和类别,并将数据渲染到绘图区上,渲染结束。
进一步的,表格数据标签有2种格式类别,根据表格数据标签类别,采用不同的表格数据标签渲染方法;
一种渲染方法为渲染行数为表格数据子标签行到最后一行的表格行数与数据行数的最小值;
另一种为渲染行数为数据行数,表格行数不够自动复制该幻灯片,并插入到该幻灯片的下方,直到该幻灯片和复制幻灯片中该表格的渲染行数大于或等于数据行数。
进一步的,还包括:
S345:智能图形渲染;
渲染模块循环遍历智能图形中的所有文本框,按照文本框渲染方法处理;
S346:形状渲染;
S347:艺术字渲染;
形状渲染与艺术字渲染的渲染逻辑均与文本框渲染相同。
一种基于PowerPoint文档为模板的数据渲染可视化系统,执行权利要求1所述的基于PowerPoint文档为模板的数据渲染可视化方法,包括调用方、服务端和渲染器;
所述调用方用于与服务端进行信息交互传递,发送请求信息,接收响应信息,生成的最终结果;
所述服务端用于与调用方以及渲染器进行信息传递,接收调用方的请求信息,将请求信息传递给渲染器,接收渲染器生成的最终格式文件包装成响应信息返回给调用方;
所述渲染器用于渲染数据到模板上,并进行格式的转换;包括渲染模块、转换模块、执行器;
渲染模块用于将数据渲染到模板上,转换模块用于将渲染后的模板转换为指定的格式文件,执行器用于根据请求信息选择指定的渲染模块和转换模块,创建执行链,执行链按照步骤完成渲染转换成最终格式的工作。
进一步的,渲染模块主要由文本框渲染模块、表格渲染模块、图表渲染模块、图片渲染模块和渲染扩展模块5个子模块组成;每个渲染模块包含各自标签的标签渲染器;渲染扩展模块用于按照不同的需求,自定义标签,进行相应自定标签渲染的功能扩展;
转换模块主要由PowerPoint转PDF模块、PowerPoint转图片模块、空模块和扩展模块4个子模块组成,PowerPoint转PDF模块、PowerPoint转图片模块、空模块用于响应用户的需求操作,实现不同格式的转换;扩展模块用于按照不同的需求,实现自定义格式的转换功能扩展。
与现有技术相比,本发明的有益效果为:
(1)本发明针对基于PowerPoint文档为模板的数据渲染可视化场景,基于自定义数据标签和渲染器,使得基于PowerPoint为模板的数据渲染可视化成为可能,支持PowerPoint文档的文本框、表格、图表、图片、形状、艺术字等常用功能。
(2)本发明通过改变现有的渲染逻辑,解决数据标签被拆分问题和数据渲染样式丢失问题,保证渲染样式不丢失,所见即所得,渲染标签规范化。
(3)本发明支持自定义扩展、支持自定义标签,使用简单方便,模板制作灵活,用户可以随时修改模板以达到不同的效果,降低程序员开发难度,无需重复开发相同功能,只需按照需求开发扩展即可,支持各种复杂的需求场景。
附图说明
图1为本发明基于PowerPoint文档为模板的数据渲染可视化系统的渲染器的架构图;
图2为本发明基于PowerPoint文档为模板的数据渲染可视化方法的渲染流程图;
图3为本发明基于PowerPoint文档为模板的数据渲染可视化方法的渲染器的执行流程图;
图4为本发明基于PowerPoint文档为模板的数据渲染可视化方法的步骤流程图;
图5为现有技术中PowerPoint渲染特殊情况示例图。
实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
一种基于PowerPoint文档为模板的数据渲染可视化方法,包括基于PowerPoint文档为模板的数据渲染可视化系统,该系统包括调用方、服务端和渲染器等;
所述调用方用于与服务端进行信息交互传递,发送请求信息,接收响应信息,生成的最终结果;
所述服务端用于与调用方以及渲染器进行信息传递,接收调用方的请求信息,将请求信息传递给渲染器,接收渲染器生成的最终格式文件包装成响应信息返回给调用方;
渲染器用于渲染数据到模板上,并进行格式的转换,渲染器由渲染模块、转换模块、执行器三部分组成。渲染模块负责将数据渲染到模板上,转换模块负责将渲染后的模板转换为指定的格式文件。执行器的作用是根据请求信息选择指定的渲染模块和转换模块,创建执行链,执行链按照步骤完成渲染转换成最终格式的工作。
渲染模块主要由文本框渲染模块、表格渲染模块、图表渲染模块、图片渲染模块和渲染扩展模块5个子模块组成。每个渲染模块包含各自标签的标签渲染器。渲染扩展模块可以按照不同的需求,自定义标签,进行相应自定标签渲染的功能扩展。
转换模块主要由PowerPoint转PDF模块、PowerPoint转图片模块、空模块(不做转换,按原样格式返回)和扩展模块4个子模块组成。PowerPoint转PDF模块、PowerPoint转图片模块、空模块响应用户的需求操作,实现不同格式的转换功能;扩展模块可以按照不同的需求,实现自定义格式的转换功能扩展。
基于PowerPoint文档为模板,配合自定义数据标签,渲染数据生成PowerPoint文档、图片或PDF等形式,具体包括以下步骤:
S1:调用方携带请求信息,发送渲染请求。
S11:调用方包装请求信息。
请求信息包括模板文件,渲染数据以及生成格式;所述模板文件是二进制格式的PowerPoint文档文件;模板文件支持类型:office2010版本及以上的PowerPoint文档,支持WPS的PowerPoint文档。
模板文件上具有用于编辑的数据标签。渲染数据是指需要渲染的数据,即用来替换数据标签,实现用户需求效果的数据;渲染数据以键值对的形式。键值对就是每一个键会对应一个值。例如,通过“属性”“属性值”的方式为标签添加属性,其中“属性”即为键值对中的键,“属性值”为键值对中的值。
所述生成格式包括PowerPoint格式、image格式、pdf格式。
渲染生成文件支持类型:PowerPoint文档、图片、pdf文件。
S12:调用方将请求信息发送给服务端。
S2:服务端接收调用方的请求信息,将请求信息传递给渲染器。
S21:服务端接收调用方的请求信息。
S22:服务端对请求信息进行校验。
校验内容为:如果模板文件的格式或生成格式错误或渲染数据格式错误,则不通过,否则通过。
S23:如果请求信息校验不通过,则直接返回错误信息,不再执行下面的流程;
S24:校验通过,将请求信息传递给渲染器。
S3:渲染器根据请求信息,渲染模板并转换成请求指定的格式的结果数据,并将渲染后生成的最终格式文件返回给服务端。
S31:渲染器根据请求信息创建执行器;
渲染器根据请求信息的模板文件格式和生成格式,找到指定类型的渲染模块和转换模块,创建执行器,执行器内部包含一个执行链,渲染按照执行链顺序执行。
S32:渲染器将请求信息传递给执行器。
S33:执行器将请求信息传递给渲染模块。
S34:渲染模块执行渲染;
渲染模块接收请求信息,读取模板文件,如果读取失败,则返回错误信息,不再执行后面的流程步骤,如果读取正常,执行渲染工作。渲染模块循环遍历PowerPoint文档中每一个数据标签,将数据渲染到模板上。
数据标签就是PowerPoint文档中的一些特殊的字符串,通过解析这种特殊的字符串,就能将数据按照需求渲染到模板上。
数据标签具有多种不同的种类,具体包括:连接符标签、单值标签,表格标签、图片标签、渲染块标签、条件标签、占位符标签等;
PowerPoint由一个或多个幻灯片组成,每一个幻灯片由文本框、图片、表格、图表、形状、艺术字、智能图形等组成。针对每个组成的使用形式和特点,设计不同的种类的数据标签。
(1)连接符标签:适用于单值标签。
格式:.,点号,连接符标签的作用是获取一个数据的子元素,如${user.name}。
(2)占位符标签:适用于单值标签和表格数据子标签。
格式:*,星号,与其他标签配合使用,占位符可以是零个或多个,功能是占位便于用户排版,如${ datetime ****},$[name******]。
(3)单值标签:适用于文本框、表格单元格、智能图形、形状、艺术字。
格式:${属性名},如${name}。
(4)表格标签:仅适用于表格,分为2种,表格数据标签和表格数据子标签。
表格数据标签有2种:
第一种格式:${#表格数据名},如${#users},渲染行数为表格数据子标签行到最后一行的表格行数与数据行数的最小值。
第二种格式:${#表格数据名~},如${#users~},渲染行数为数据行数,表格行数不够会自动复制该幻灯片,并插入到该幻灯片的下方,直到该幻灯片和复制幻灯片中该表格的渲染行数大于或等于数据行数。
表格数据子标签:
格式:$[表格数据子元素名],用于定位渲染起始行和渲染的元素名称。
(5)图片标签:仅适用于图片,分为2种。
第一种格式:${!图片数据名},数据标签的数据为图片。
第二种格式:${@图片数据名},数据标签的数据为字符串。该标签的目的是将字符串转换为二维码,用户自由编辑字符串,即可获得不同的二维码。
(6)条件标签:适用于文本框、表格单元格、智能图形、形状、艺术字。
格式:<if 条件1>…… [<elseif 条件2>……][<else>……]</if>,elseif可以是0个或多个,else可以是0个或1个。必须以</if>结尾。通过条件标签可以动态的显示一些内容。条件标签内部可以配合使用单值标签。
条件标签必须在一个文本框或一个单元格中。条件标签的每个子标签,即if、elseif和else子标签即<>尖括号对必须在一个段落中。子标签之间包含零个或多个段落。不支持多层嵌套条件标签。因为PowerPoint文档的特性,以及多层嵌套条件标签会变得复杂难以维护,最终渲染效果会产生难以预料的情况,无法达到所见即所得的效果。
(7)渲染块标签:适用于文本框、表格单元格、形状、艺术字,分为2种,渲染块数据标签和渲染块数据子标签。
渲染块数据标签:
格式:<for 渲染块数据名>……</for>,作用是根据渲染块数据名的数据行数循环遍历渲染。渲染块标签内部可以配合使用单值标签和渲染块数据子标签。渲染块标签的开始标签(<for 渲染块数据名>)和结束标签(</for>)也必须在一个段落中。渲染块标签的开始和结束标签中间可以包含零个或多个段落。一个文本框中只允许一个渲染块标签,不支持多层嵌套渲染块标签,因为PowerPoint文档的特性,以及一个文本框中使用多个渲染块标签和多层嵌套渲染块标签会变得复杂难以维护,最终渲染效果会产生难以预料的情况,无法达到所见即所得的效果。
渲染块数据子标签:
格式:$[渲染块数据子元素名],用于展示渲染块数据名中的数据。
(8)表格公式标签:适用表格单元格。
格式:[%][.数字]=计算公式
格式说明:%表示转换为百分数,.点号表示小数位数,规定表格第一列为A列,第二列为B列,以此类推,规定表格第一行为1,第二行为2,以此类推,与Excel表格类似,可以使用列计算,如=C3-D3、%.2=C3/B3,支持常用的函数,如max()、min()、sum()、avg()、sort()等。示例=max(A1,B1)。支持用户自定义函数。
(9)中间单值标签:仅适用于渲染块,且非用户使用,而是渲染器解析渲染块标签的中间标记,为了方便程序解析而设置的。
包括:
S341:文本框渲染;
在PowerPoint中一个文本框由一个或多个段落组成,一个段落由一个或多个文本块组成,每一个文本块都有自己的样式,文本块的数量是PowerPoint软件根据用户增删改文本框中的内容动态改变的。段落是由换行决定的,因此文本框的数据标签一定在一个段落中,而有可能在一个或多个文本块中,即文本框数据标签在PowerPoint中会被拆分成无规则的几块。
渲染模块首先判断文本框中是否存在数据标签,若不存在,跳过渲染,若存在,则循环遍历文本框的所有段落,建立渲染块标签、条件标签和段落的关系表。
第一步,判断关系表中是否存在渲染块标签,如果存在渲染块标签,获取渲染块标签的所有段落和渲染块标签中的数据名,通过数据名获取数据的行数,循环复制渲染块标签中的内容,并插入到渲染块标签的结束标签的上方,同时将渲染块数据子标签解析成中间单值标签。
第二步,判断关系表中是否存在条件标签,若不存在,跳过渲染,若存在,获取条件标签的所有段落,解析条件标签中的条件,将判断为假的条件子标签的内容(即条件子标签的段落)删除。
第三步,渲染模块重新遍历文本框的段落,如果遍历的段落存在单值标签,则根据单值标签的长度和该段落的文本块的数量,循环组合遍历多个文本块,直到确认数据标签在某几个连续的文本块中,将这几个文本块中的数据标签替换为要渲染的数据,继续遍历下一个段落,直到遍历完全部段落。
S342:图片渲染;
渲染模块读取图片格式中可选文字的标题信息,读取图片标签,如果不存在图片标签,则渲染结束,如果存在图片标签,判断图片标签是哪种类型,如果图片标签的数据为图片,则渲染模块直接将PowerPoint中所属数据标签的图片替换为数据图片即可,如果图片标签的数据为字符串,则渲染模块先将字符串转换成二维码图片,再将PowerPoint中所属数据标签的图片替换为二维码,渲染结束。
图片数据标签在PowerPoint文档-右键点击图片-设置图片格式-可选文字-标题中。
S343:表格渲染;
在PowerPoint中一个表格由一个或多个行组成,一个行由一个或多个单元格组成,一个单元格由一个或多个段落组成,一个段落由一个或多个文本块组成,所以表格单元格的渲染逻辑与文本框的渲染逻辑相同。表格数据标签放在表格的第一行的第一个单元格中。
首先渲染模块循环遍历表格的每一行和每一个单元格,建立数据标签、数据标签类别和单元格位置的关系表。
第一步,根据关系表判断表格是否存在表格数据标签,若不存在,跳过表格渲染列表数据,若存在,则找到表格数据子标签所在单元格的位置,从该单元格所在行开始,依次循环遍历之后的每一行,对每一行的表格数据子标签所在的列执行如下操作:先清除单元格的数据,再将列表数据的指定行列数据插入到单元格中。
第二步,判断关系表是否存在其他数据标签,如果不存在,则渲染结束,如果存在,则找到数据标签所在的单元格,采用文本框的渲染逻辑完成单元格的数据渲染。
S344:图表渲染;
渲染模块读取图表区格式中可选文字的标题信息,读取图表数据标签,如果不存在图表数据标签,则渲染结束,如果存在图表数据标签,首先读取图表中的Excel文件,将数据渲染到Excel上,然后根据数据的行数和列数增加或减少绘图区的系列和类别,并将数据渲染到绘图区上,渲染结束。
图表数据标签在PowerPoint文档-右键点击图表-设置图表区格式-可选文字-标题中。
S345:智能图形渲染
渲染逻辑:渲染模块循环遍历智能图形中的所有文本框,按照文本框渲染逻辑处理。
S346:形状渲染:
渲染逻辑:与文本框渲染相同。
S347:艺术字渲染:
渲染逻辑:与文本框渲染相同。
S35:渲染模块完成渲染后,将渲染后的模板传递给转换模块。
S36:转换模块接收模板文件,将模板文件转换成指定格式的最终格式文件。
S37:转换模块将最终格式文件返回给执行器。
S38:执行器最终格式文件返回给渲染器。
S39:渲染器将最终格式文件返回给服务端。
S4:服务端将接收的最终格式文件包装成响应信息返回给调用方。
S41:服务端创建响应信息;
响应信息包括响应代码、响应消息和响应数据;响应代码包括1和0,其中,1代表成功,0表示失败;
响应消息就是渲染成功或失败的信息,如果失败,响应消息就是失败原因;
响应数据就是渲染器完成渲染模板的最终结果,即调用方需要生成的结果。
S42:服务端将响应信息返回给调用方。
调用方接收响应信息,根据响应数据,生成最终结果。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。

Claims (9)

1.一种基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:包括以下步骤:
S1:调用方携带请求信息,发送渲染请求;
S11:调用方包装请求信息;
S12:调用方将请求信息发送给服务端;
S2:服务端接收调用方的请求信息,将请求信息传递给渲染器;
S3:渲染器根据请求信息,渲染模板并转换成请求指定的格式的结果数据,并将渲染后生成的最终格式文件返回给服务端;
S31:渲染器根据请求信息创建执行器;
渲染器根据请求信息的模板文件格式和生成格式,找到指定类型的渲染模块和转换模块,创建执行器,执行器内部包含一个执行链,渲染按照执行链顺序执行;
S32:渲染器将请求信息传递给执行器;
S33:执行器将请求信息传递给渲染模块;
S34:渲染模块执行渲染;
S35:渲染模块完成渲染后,将渲染后的模板传递给转换模块;
S36:转换模块接收模板文件,将模板文件转换成指定格式的最终格式文件;
S37:转换模块将最终格式文件返回给执行器;
S38:执行器最终格式文件返回给渲染器;
S39:渲染器将最终格式文件返回给服务端;
S4:服务端将接收的最终格式文件包装成响应信息返回给调用方。
2.如权利要求1所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:请求信息包括模板文件,渲染数据以及生成格式;
模板文件是二进制格式的PowerPoint文档文件;模板文件上具有用于编辑的数据标签;
渲染数据以键值对的形式;
生成格式包括PowerPoint格式、image格式、pdf格式。
3.如权利要求1所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:步骤S2包括:
S21:服务端接收调用方的请求信息;
S22:服务端对请求信息进行校验;
校验内容为:如果模板文件的格式或生成格式错误或渲染数据格式错误,则不通过,否则通过;
S23:如果请求信息校验不通过,则直接返回错误信息,不再执行下面的流程;
S24:校验通过,将请求信息传递给渲染器。
4.如权利要求2所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:数据标签具有多种不同的种类,具体包括:连接符标签、单值标签,表格标签、图片标签、渲染块标签、条件标签、占位符标签、表格公式标签、中间单值标签;
连接符标签:适用于单值标签;
占位符标签:适用于单值标签和表格数据子标签;
单值标签:适用于文本框、表格单元格、智能图形、形状、艺术字;
表格标签:仅适用于表格,分为2种,表格数据标签和表格数据子标签;
图片标签:仅适用于图片,分为2种,一种是数据标签的数据为图片,另一种是数据标签的数据为字符串;
条件标签:适用于文本框、表格单元格、智能图形、形状、艺术字;
渲染块标签:适用于文本框、表格单元格、形状、艺术字,分为2种,渲染块数据标签和渲染块数据子标签;
表格公式标签:适用表格单元格;
中间单值标签:仅适用于渲染块,且非用户使用,而是渲染器解析渲染块标签的中间标记,为了方便程序解析而设置的。
5.如权利要求4所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:渲染模块接收请求信息,读取模板文件,如果读取失败,则返回错误信息,不再执行后面的流程步骤,如果读取正常,执行渲染工作;渲染模块循环遍历PowerPoint文档中每一个数据标签,将数据渲染到模板上;
具体包括:
S341:文本框渲染;
渲染模块首先判断文本框中是否存在数据标签,若不存在,跳过渲染,若存在,则循环遍历文本框的所有段落,建立渲染块标签、条件标签和段落的关系表;
第一步,判断关系表中是否存在渲染块标签,如果存在渲染块标签,获取渲染块标签的所有段落和渲染块标签中的数据名,通过数据名获取数据的行数,循环复制渲染块标签中的内容,并插入到渲染块标签的结束标签的上方,同时将渲染块数据子标签解析成中间单值标签;
第二步,判断关系表中是否存在条件标签,若不存在,跳过渲染,若存在,获取条件标签的所有段落,解析条件标签中的条件,将判断为假的条件子标签的内容删除;
第三步,渲染模块重新遍历文本框的段落,如果遍历的段落存在单值标签,则根据单值标签的长度和该段落的文本块的数量,循环组合遍历多个文本块,直到确认数据标签在某几个连续的文本块中,将这几个文本块中的数据标签替换为要渲染的数据,继续遍历下一个段落,直到遍历完全部段落;
S342:图片渲染;
渲染模块读取图片标签,如果不存在图片标签,则渲染结束,如果存在图片标签,判断图片标签是哪种类型,如果图片标签的数据为图片,则渲染模块直接将PowerPoint中所属数据标签的图片替换为数据图片即可,如果图片标签的数据为字符串,则渲染模块先将字符串转换成二维码图片,再将PowerPoint中所属数据标签的图片替换为二维码,渲染结束;
S343:表格渲染;
首先渲染模块循环遍历表格的每一行和每一个单元格,建立数据标签、数据标签类别和单元格位置的关系表;
第一步,根据关系表判断表格是否存在表格数据标签,若不存在,跳过表格渲染列表数据,若存在,则找到表格数据子标签所在单元格的位置,从该单元格所在行开始,依次循环遍历之后的每一行,对每一行的表格数据子标签所在的列执行如下操作:先清除单元格的数据,再将列表数据的指定行列数据插入到单元格中;
第二步,判断关系表是否存在其他数据标签,如果不存在,则渲染结束,如果存在,则找到数据标签所在的单元格,采用文本框的渲染逻辑完成单元格的数据渲染;
S344:图表渲染;
渲染模块读取图表区格式中可选文字的标题信息,读取图表数据标签,如果不存在图表数据标签,则渲染结束,如果存在图表数据标签,首先读取图表中的Excel文件,将数据渲染到Excel上,然后根据数据的行数和列数增加或减少绘图区的系列和类别,并将数据渲染到绘图区上,渲染结束。
6.如权利要求5所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:表格数据标签有2种格式类别,根据表格数据标签类别,采用不同的表格数据标签渲染方法;
一种渲染方法为渲染行数为表格数据子标签行到最后一行的表格行数与数据行数的最小值;
另一种为渲染行数为数据行数,表格行数不够自动复制该幻灯片,并插入到该幻灯片的下方,直到该幻灯片和复制幻灯片中该表格的渲染行数大于或等于数据行数。
7.如权利要求1所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:还包括:
S345:智能图形渲染;
渲染模块循环遍历智能图形中的所有文本框,按照文本框渲染方法处理;
S346:形状渲染;
S347:艺术字渲染;
形状渲染与艺术字渲染的渲染逻辑均与文本框渲染相同。
8.一种基于PowerPoint文档为模板的数据渲染可视化系统,执行权利要求1所述的基于PowerPoint文档为模板的数据渲染可视化方法,其特征在于:包括调用方、服务端和渲染器;
所述调用方用于与服务端进行信息交互传递,发送请求信息,接收响应信息,生成的最终结果;
所述服务端用于与调用方以及渲染器进行信息传递,接收调用方的请求信息,将请求信息传递给渲染器,接收渲染器生成的最终格式文件包装成响应信息返回给调用方;
所述渲染器用于渲染数据到模板上,并进行格式的转换;包括渲染模块、转换模块、执行器;
渲染模块用于将数据渲染到模板上,转换模块用于将渲染后的模板转换为指定的格式文件,执行器用于根据请求信息选择指定的渲染模块和转换模块,创建执行链,执行链按照步骤完成渲染转换成最终格式的工作。
9.如权利要求8所述的基于PowerPoint文档为模板的数据渲染可视化系统,其特征在于:渲染模块主要由文本框渲染模块、表格渲染模块、图表渲染模块、图片渲染模块和渲染扩展模块5个子模块组成;每个渲染模块包含各自标签的标签渲染器;渲染扩展模块用于按照不同的需求,自定义标签,进行相应自定标签渲染的功能扩展;
转换模块主要由PowerPoint转PDF模块、PowerPoint转图片模块、空模块和扩展模块4个子模块组成,PowerPoint转PDF模块、PowerPoint转图片模块、空模块用于响应用户的需求操作,实现不同格式的转换;扩展模块用于按照不同的需求,实现自定义格式的转换功能扩展。
CN202311351233.1A 2023-10-18 2023-10-18 一种基于PowerPoint文档为模板的数据渲染可视化方法及系统 Pending CN117539565A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311351233.1A CN117539565A (zh) 2023-10-18 2023-10-18 一种基于PowerPoint文档为模板的数据渲染可视化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311351233.1A CN117539565A (zh) 2023-10-18 2023-10-18 一种基于PowerPoint文档为模板的数据渲染可视化方法及系统

Publications (1)

Publication Number Publication Date
CN117539565A true CN117539565A (zh) 2024-02-09

Family

ID=89792710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311351233.1A Pending CN117539565A (zh) 2023-10-18 2023-10-18 一种基于PowerPoint文档为模板的数据渲染可视化方法及系统

Country Status (1)

Country Link
CN (1) CN117539565A (zh)

Similar Documents

Publication Publication Date Title
KR101310988B1 (ko) 애플리케이션들 사이의 xml 데이터의 실시간 동기화
RU2419847C2 (ru) Интегрирование диаграмм в документы
US7676756B2 (en) Mapping tool graphical user interface
US7912811B2 (en) Computer-based system and computer program product for collaborative editing of documents
CN101661512B (zh) 一种识别传统表单信息并创建对应Web表单的系统及方法
US20040049738A1 (en) Computer implemented system and method of transforming a source file into a transfprmed file using a set of trigger instructions
CN110442822A (zh) 一种小程序内容展示方法、装置、设备及存储介质
JPH1185750A (ja) 構造化文書処理方法および装置および構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH02284196A (ja) キヤラクタ・データとデジタル・イメージのマージのための方法、装置、及びシステム並びにフオーム作成方法
JP2006236321A (ja) ソフトウェア・アプリケーション文書のためのデータ・ストア
CN110705237B (zh) 文档的自动生成方法、数据处理设备及存储介质
US9135234B1 (en) Collaborative generation of digital content with interactive reports
CN114416056A (zh) 页面生成方法、系统、计算机设备及可读存储介质
CN117539565A (zh) 一种基于PowerPoint文档为模板的数据渲染可视化方法及系统
JP5282486B2 (ja) 作業管理装置、表示制御装置、作業管理方法、及び作業管理プログラム
CN116522892B (zh) 一种报告模板的自动生成方法及生成系统
Korva Developing a web application with Angular 2: Graphical editor for Happywise’s Cove Trainer
Janert D3 for the Impatient: Interactive Graphics for Programmers and Scientists
CN115544980A (zh) 基于Revit的Excel文件生成文档方法及设备
CN115658059A (zh) 一种数据处理方法、装置、设备及存储介质
JP2006163820A (ja) データ変換装置
CN116661759A (zh) 页面自动生成方法、系统及存储介质
CN118093535A (zh) 局部网页生成pdf的方法、装置、计算机设备和存储介质
CN117270830A (zh) 一种基于前端可视化配置的后端代码智能化生成方法及系统
CN116910842A (zh) 一种工业动态交互图构建方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination