CN117056539B - 实时生成pptx格式文件的方法、装置及电子设备 - Google Patents
实时生成pptx格式文件的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117056539B CN117056539B CN202311321680.2A CN202311321680A CN117056539B CN 117056539 B CN117056539 B CN 117056539B CN 202311321680 A CN202311321680 A CN 202311321680A CN 117056539 B CN117056539 B CN 117056539B
- Authority
- CN
- China
- Prior art keywords
- data
- pptx
- master
- file
- ppml
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 26
- 239000000470 constituent Substances 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 40
- 238000006243 chemical reaction Methods 0.000 claims description 34
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000013461 design Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000000945 filler Substances 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000013524 data verification Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
- G06F16/4387—Presentation of query results by the use of playlists
- G06F16/4393—Multimedia presentations, e.g. slide shows, multimedia albums
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/483—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例中提供了一种实时生成pptx格式文件的方法、装置及电子设备,属于文档数据处理技术领域,该方法包括:对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息;在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数据结构;基于所述元素集合以及位置集合,生成pptx格式文件的数据接口;基于所述第一填充数据和所述第二填充数据实时生成pptx格式文件的第i页内容。采用本方案,只需要定义PPML数据格式和数据接口,就可以快速生成pptx格式文件。
Description
技术领域
本发明涉及文档数据处理技术领域,尤其涉及一种实时生成pptx格式文件的方法、装置及电子设备。
背景技术
pptx文件,是微软公司推出的演示文稿软件PowerPoint生成的文档,利用PowerPoint,不仅可以在投影仪或者计算机上进行演示,还可以将演示文稿打印出来,制作成胶片,以便应用到更广泛的领域中。
通过安装office软件自带的PowerPoint软件,可以轻松的生成离线pptx文档。而对于在线系统(例如,浏览器在线系统)而言,目前在线生成pptx文件的方案主要有采用付费的微软组件或采用开源的方案,微软的组件部分需要付费,成本比较高。而开源的方案生成复杂的pptx文件比较繁杂,要每个文件元素自行绘制,在定位和调整上会使应用程序变得很复杂,出错率很高;同时,现有开源方案生成的pptx文件通用性不高,更换pptx模版数据之后几乎需要重写整个应用程序,开发时间长,消耗较长的开发时间和人力成本。
发明内容
有鉴于此,本发明实施例提供一种实时生成pptx格式文件的方法、装置及电子设备,至少部分解决现有技术中存在的问题。
第一方面,本发明实施例提供了一种实时生成pptx格式文件的方法,包括:
对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的布局、颜色方案、字体样式以及文本框和图像占位符的位置;
在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数
据结构,以便于基于第一PPML数据结构和第二PPML数据结构对所述母版的解析信息进行描
述,所述第一PPML数据结构用于描述所述母版中包含的元素集合,所
述第二PPML数据结构用于通过形成位置集合来描述所述元素集合中
每个元素的位置,n为pptx母版中组成元素的个数;
基于所述元素集合以及位置集合,生成
pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据转换函数f(D,G);
获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接
口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据
和第二填充数据,以便于基于所述第一填充数据和所述第二填充数据实时生成pptx格式文件的
第i页内容。
根据本公开实施例的一种具体实现方式,所述方法还包括:
指定pptx格式文件的名称和保存路径,进而在所述pptx格式文件生成之后,执行保存操作。
根据本公开实施例的一种具体实现方式,所述对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,包括:
设置母版解释器应用程序,用于读取和解析pptx母版,进而识别母版中的幻灯片布局、文本框、图像占位符、标记和样式定义。
根据本公开实施例的一种具体实现方式,所述pptx母版解释器,还用于:
应用母版到演示文稿的幻灯片中,进而将母版中定义的布局和样式应用于整个文稿或特定幻灯片;
通过母版解释器将文本和图像插入到幻灯片的文本框和图像占位符中,确保内容符合母版的设计;
通过母版解释器确保插入的内容与母版定义的样式和排版一致,以确保文稿的外观统一;
通过母版解释器自定义母版,并将用户创建自定义母版并将其应用于文稿中;
一旦应用了母版并在pptx文档中插入了内容之后,通过母版解释器提供选项来保存生成的pptx文档,所述母版解释器用于指定文件名和保存路径。
根据本公开实施例的一种具体实现方式,所述在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数据结构,包括:
所述第一PPML数据结构为:F1={U, V, D},其中U表示元素集合D中元素的尺寸大小,V表示元素集合D中元素的数目,D为母版中包含的元素集合;
所述第二PPML数据结构为:F2={W, N(Di), Gi},其中,W表示当前母版的名称,N(Di)表示第i个元素的名称,Gi表示第i个元素的起始位置。
根据本公开实施例的一种具体实现方式,所述基于所述元素集合以及位置集合,生成pptx格式文件的数据接口,
包括:
基于所述元素集合以及位置集合,构建
包含接口数据转换函数f(D,G)的数据转换规则,以便于基于所述数据转换规则形成所述数
据接口。
根据本公开实施例的一种具体实现方式,所述获取需要生成的pptx格式文件中第
i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件
所对应的第一填充数据和第二填充数据,包括:
针对插入第i页pptx文件的图像文件,在插入图像之前,进行数据校验和清理以确保图像文件存在、路径正确,并且数据格式与期望一致,对插入的图像进行尺寸处理,确保图像的尺寸适合占位符或图像框,通过使用python-pptx库设置图片的显示方式,使得插入的图像满足拉伸、平铺或占位符大小的需求;
针对插入第i页pptx文件的表格,当表格数据数量超出了单个表格框的容量后,对插入的表格设置分页显示或添加滚动条,根据表格的数据内容,自动调整表格列的宽度,以确保表格内容适应列大小,使用python-pptx来设置表格的颜色和样式,以使插入表格与母版的风格一致,为插入的表格设置数据排序和筛选功能,用以进行表格数据的浏览和分析。
根据本公开实施例的一种具体实现方式,所述获取需要生成的pptx格式文件中第
i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件
所对应的第一填充数据和第二填充数据之后,
所述方法还包括:
获取第j页pptx文件所对应的第一填充数据和第二填充数
据,j<i;
计算第j页pptx文件的第一填充数据和第二填充数据与第i页pptx文件所对应的第一填充数据和第
二填充数据之间的相似度值δj:
其中,δ1和δ2是第一调节参数和第二调节参数,sim()为相似度计算函数;
当相似度值δj大于预设值δ0时,计算第i页pptx文件的第一差值填充数据和第二差值填充数据:
,;
当用户针对第i页pptx文件上的内容进行二次编辑时,进一步判断二次编辑的内
容是否属于第一差值填充数据和第二差值填充数据相关联的数据;
若是,则直接基于编辑的内容修改第一差值填充数据
和第二差值填充数据的数据值,得到第一修改填充数据和第二修改填充数据,并基
于第一修改填充数据和第二修改填充数据生成编辑后第i页pptx文件。
第二方面,本发明实施例提供了一种实时生成pptx格式文件的装置,包括:
获取模块,用于对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的布局、颜色方案、字体样式以及文本框和图像占位符的位置;
构建模块,用于在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结
构和第二PPML数据结构,以便于基于第一PPML数据结构和第二PPML数据结构对所述母版的
解析信息进行描述,所述第一PPML数据结构用于描述所述母版中包含的元素集合,所述第二PPML数据结构用于通过形成位置集合
来描述所述元素集合中每个元素的位置,n为pptx母版中组成元素的个数;
接口模块,用于基于所述元素集合以及位置集合,生成pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据
转换函数f(D,G);
生成模块,用于获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内
容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据,以便于基于所述第一填充数
据和所述第二填充数据实时生成pptx格式文件
的第i页内容。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及,
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述任第一方面或第一方面的任一实现方式中的实时生成pptx格式文件的方法。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述第一方面或第一方面的任一实现方式中的实时生成pptx格式文件的方法。
第五方面,本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的实时生成pptx格式文件的方法。
本发明实施例中的实时生成pptx格式文件的方案,包括:对获取到的pptx母版进
行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的
布局、颜色方案、字体样式以及文本框和图像占位符的位置;在自定义pptx处理标记语言
PPML的基础上,构建第一PPML数据结构和第二PPML数据结构,以便于基于第一PPML数据结
构和第二PPML数据结构对所述母版的解析信息进行描述,所述第一PPML数据结构用于描述
所述母版中包含的元素集合,所述第二PPML数据结构用于通过形成位
置集合来描述所述元素集合中每个元素的位置,n为pptx母版中组成
元素的个数;基于所述元素集合以及位置集合,
生成pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据转换函数f(D,G);获取
需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接口数据转换函
数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数
据,以便于基于所述第一填充数据和所述第二
填充数据实时生成pptx格式文件的第i页内容。通过本发明的方案,具
有如下有益效果:1)程序具备通用性,PPML定义好之后,配合母版可以做各种不同的pptx报
告;2)开发效率高,只需要定义PPML和数据接口 就可以直接输出报告,无需每个报告都手
写程序;3)出错率低,不需要开发人员写程序定位;4)母版设计好之后,生成的pptx报告和
模板设计稿保持高度一致。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种实时生成pptx格式文件的方法流程示意图;
图2为本发明实施例提供的另一种实时生成pptx格式文件的方法流程示意图;
图3为本发明实施例提供的一种母版示意图;
图4为本发明实施例提供的另一种实时生成pptx格式文件的方法流程示意图;
图5为本发明实施例提供的实时生成pptx格式文件的装置结构示意图;
图6为本发明实施例提供的电子设备示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供一种实时生成pptx格式文件的方法。本实施例提供的实时生成pptx格式文件的方法可以由一计算装置来执行,该计算装置可以实现为软件,或者实现为软件和硬件的组合,该计算装置可以集成设置在服务器、终端设备等中。
参见图1,图2,图3及图4,本公开实施例提供了一种实时生成pptx格式文件的方法,包括:
S101,对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的布局、颜色方案、字体样式以及文本框和图像占位符的位置。
在生成pptx文档的应用场景中,在数据接口和设计稿准备好的场景下可以进行生成pptx文档的进一步操作。本方案的实施性体现在:有用户请求数据的时候,数据接口准备好数据之后,数据输入到本方案中,会立刻生成pptx文件,不用用户等待,本方案集成在web应用中,用户点击之后马上下载。
在创建pptx文档之前,需要一个基础结构,即pptx模板(母版)。母版包含了报告的整体外观、设计和排版,包括幻灯片的布局、颜色方案、字体样式等。在母版解析阶段,程序需要能够读取并理解这些母版,包括解析pptx文件格式、识别母版中的不同幻灯片和元素、获取文本框和图像占位符的位置等。模板解析确保了生成的报告与预期的设计一致。
S102,在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二
PPML数据结构,以便于基于第一PPML数据结构和第二PPML数据结构对所述母版的解析信息
进行描述,所述第一PPML数据结构用于描述所述母版中包含的元素集合,所述第二PPML数据结构用于通过形成位置集合
来描述所述元素集合中每个元素的位置,n为pptx母版中组成元素的个数。
pptx文档通常需要数据来支持其内容。在数据解析阶段,在线程序需要建立连接到这些数据源的能力,提取所需的信息,并将其转化为可用于报告的格式。这可能涉及到数据清洗、转换和预处理,以确保数据的准确性和一致性。为了保障数据能够适配母版,对数据进行校验和检查,以适用母版,同时生成母版描述文件。本发明专门在在线程序中定义pptx处理标记语言,称之为 PPML (pptx Process Markup Language), 母版对应的ppml,用来描述母版某个位置上需要的数据,数据格式,位置,大小,索引,本位置的元素等信息,用来绘制和填充数据,PPML可以节约开发时间,母版制作好之后,根据数据格式,输入到数据填充模块中就可以绘制pptx。
PPML是本发明提出的一个全新的标记语言,是采用位置定位来描述模板中某些元素的位置信息。根据元素的位置信息,程序会把数据填充到具体的位置上,通过PPML,配合母版使用,开发人员就可以从繁琐的位置定位中解放出来,只需要关注数据的解析和填充生成即可,定位信息由PPML来完成。
PPML由第一PPML数据结构和第二PPML数据结构两部分组成,第一PPML数据结构用于描述母版中的元素部件组成信息。作为一个例子,可以将第一PPML数据结构定义为ppt_data_pos,如下:
ppt_data_pos = {
"1x1": {
"step": 9,
"ppt_detail": {
0: "icon_path_str",
1: "title_name_str",
2: "source_type_str",
3: "source_info_num_str",
4: "_source_info_data_str",
5: "data_range_total_str",
6: "source_level_str",
7: "data_for_chart",
8: "breakdown_str",
}
},
"2x2": {
"step": 9,
"ppt_detail": {
0: "icon_path_str",
1: "title_name_str",
2: "data_range_total_str",
3: "source_level_str",
4: "breakdown_str",
5: "data_for_chart",
6: "source_type_str",
7: "_source_info_data_str",
8: "source_info_num_str",
}
},
"3x2": {
"step": 9,
"ppt_detail": {
0: "icon_path_str",
1: "title_name_str",
2: "data_range_total_str",
3: "source_level_str",
4: "breakdown_str",
5: "data_for_chart",
6: "source_type_str",
7: "_source_info_data_str",
8: "source_info_num_str",
}
},
"4x2": {
"step": 9,
"ppt_detail": {
0: "icon_path_str",
1: "title_name_str",
2: "data_range_total_str",
3: "source_level_str",
7: "breakdown_str",
4: "data_for_chart",
5: "source_type_str",
6: "_source_info_data_str",
8: "source_info_num_str",
}
},
}
其中:
"4x2": { # 是指元素部件是4x2 大小,也就是大部件,内部有哪些元素组成
"step": 9, #表示部件的数量是9个
"ppt_detail": { #本部件内部细节
0: "icon_path_str", #第0个对应的数据是 icon_path_str
1: "title_name_str", #第1 对应的数据是 title_name_str
2: "data_range_total_str", #第2 对应的数据是 data_range_total_str
3: "source_level_str",#同上
7: "breakdown_str",#同上
4: "data_for_chart",#同上
5: "source_type_str",#同上
6: "_source_info_data_str",#同上
8: "source_info_num_str",#同上
}
}
第二PPML数据结构用于描述母版名称和内部元素部件的对应关系,以及内部元素的位置关系, 示例性的,第二PPML数据结构的部分结构如下:
pptx_motherboard_pos = {
"2x2_1x1_1x1_1x1_1x1": [
{
"m": "2x2",
"pos": 0
},
{
"m": "1x1",
"pos": 9
},
{
"m": "1x1",
"pos": 18
},
{
"m": "1x1",
"pos": 27
},
{
"m": "1x1",
"pos": 36
}
],
"2x2_1x1_1x1_1x1": [
{
"m": "2x2",
"pos": 0
},
{
"m": "1x1",
"pos": 9
},
{
"m": "1x1",
"pos": 18
},
{
"m": "1x1",
"pos": 27
}
],
"2x2_1x1_1x1": [
{
"m": "2x2",
"pos": 0
},
{
"m": "1x1",
"pos": 9
},
{
"m": "1x1",
"pos": 18
}
],
"2x2_1x1": [
{
"m": "2x2",
"pos": 0
},
{
"m": "1x1",
"pos": 9
},
]
说明如下:
"2x2_1x1_1x1_1x1_1x1": [ # 本页的pptx的母版的名称,用来区分不同模板
{
"m": "2x2", # 本页pptx的第一个元素部件是 2x2
"pos": 0 #起始位置是0
},
{
"m": "1x1", # 本页pptx的第二个元素部件是 1x1
"pos": 9 # 起始位置是9
},
{
"m": "1x1", # 本页pptx的第三个元素部件是 1x1
"pos": 18 # 起始位置是18
},
{
"m": "1x1", # 本页pptx的第四个元素部件是 1x1
"pos": 27# 起始位置是27
},
{
"m": "1x1", # 本页pptx的第五个元素部件是 1x1
"pos": 36# 起始位置是36
}
],
通过第一PPML数据结构和第二PPML数据结构,描述了本页ppt中有多少元素部件,然后元素部件的起始位置是多少。再结合元素部件内部的数据显示的字段和位置信息,解析完成之后就可以对母版进行数据填充了。
通过构建第一PPML数据结构和第二PPML数据结构,能够获得基于第一PPML数据结
构描述的元素集合,以及基于第二PPML数据结构描述的位置集合,这样一来,开发人员不需要解决定位的问题,只需要解析数据,解析
母版,根据PPML的定义进行数据解析和填充,从而提升了开发的效率,节约了时间,比原来
的自己绘制pptx效率高大约20倍。并且PPML可以通用于各种pptx的生成环境中,还能很好
的解决可视化的问题,设计母版的过程就可以看到最终pptx文档生成之后的样子。
S103,基于所述元素集合以及位置集合
,生成pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据转换函数f(D,G)。
基于所述元素集合以及位置集合,构建
包含接口数据转换函数f(D,G)的数据转换规则,以便于基于所述数据转换规则形成所述数
据接口。这样以来,使得每个输入到pptx文件中的填充数据都满足第一PPML数据结构和第
二PPML数据结构的格式要求。
S104,获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所
述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据,以便于基于所述第一填充数
据和所述第二填充数据实时生成pptx格式文件
的第i页内容。
在解析pptx模板和数据后,获得了生成pptx文件所需的数据结构。接下来,结合PPML和Python的python-pptx库,可以开始处理数据的生成和填充。数据填充是确保pptx文件生成与数据展示一致和准确的关键环节。
一般情况下,字符串和数据的填充相对简单,但对于生成表格和图片类的填充,需要基于接口数据转换函数f(D,G)执行处理。
在处理图片填充时,可能会遇到一些常见问题,如图片不显示或显示不正确。为了解决这些问题,可以采取以下措施:
数据校验和清理:在插入图片之前,进行数据校验和清理以确保图像文件存在、路径正确,并且数据格式与期望一致。
图片尺寸处理:确保图像的尺寸适合占位符或图像框,以防止图像变形或裁剪。可以使用图像处理库来自动调整图像大小。
图片显示方式:使用python-pptx库可以设置图片的显示方式,例如拉伸、平铺或适应占位符大小,以确保图像在pptx中正确显示。
表格的填充可能更复杂,尤其是当数据量较大时,为避免显示混乱,需要考虑以下事项:
分页和滚动:如果表格数据太多,超出了单个表格框的容量,可以考虑分页显示或添加滚动条,以便用户可以浏览全部内容。
自动调整列宽:根据数据内容,可以自动调整表格列的宽度,以确保内容适应列大小,避免文字溢出或不必要的空白。
颜色和样式:使用python-pptx来设置表格的颜色和样式,以使其与报告的整体风格一致。
数据排序和筛选:如果表格包含大量数据,可以考虑添加排序和筛选功能,以帮助用户浏览和分析数据。
数据填充是pptx生成的关键环节之一,需要仔细处理以确保生成的pptx文件看起来整洁、专业且准确反映数据。例如,可以通过在Python中使用python-pptx库以及数据校验和处理,可以有效解决图像和表格填充时可能遇到的问题,确保最终的pptx文档符合预期的外观和内容展示。
数据填充工作的完成标志着pptx文档已经根据数据成功生成和填充。然后,根据具体需求,将生成的pptx文件保存到不同的位置或存储介质。这个保存过程通常考虑到数据的安全性、可访问性以及与其他系统的集成。
本地保存:
本地保存是将生成的pptx文件存储在计算机或服务器的本地文件系统上的方式。在Python中,您可以使用标准的文件操作功能(如open()函数)将生成的pptx文件保存到本地磁盘上的指定目录中。
阿里云OSS(对象存储服务)保存:
使用阿里云的Python SDK或API来将文件上传到OSS存储桶中,并使用相应的访问密钥和权限策略来管理文件的存储和访问权限。
上传到指定系统中:
将生成的pptx文件上传到特定的系统、平台或应用程序中,以便共享、分发或进一步处理。这可能包括内部公司系统、云服务、文档管理系统等。
针对不同的系统,需要编写适配器或使用相应的API来完成文件上传操作。一些系统还提供了自动化集成的选项,可以通过配置来实现文件上传。
无论哪种保存方式,都需要确保文件的安全性、完整性和可用性。此外,通常还需要考虑文件命名规则、版本管理、备份策略以及访问权限控制,以确保生成的pptx文件能够按需管理和访问。
与现有技术相比,本发明具有如下优点:
(1)程序具备通用性,PPML定义好之后,配合母版可以做各种不同的pptx文档;
(2)开发效率高,只需要定义PPML和数据接口 就可以直接输出报告,无需每个报告都手写程序;
(3)出错率低,不需要开发人员写程序定位;
(4)可视化程度高,母版设计好之后,生成的pptx文档和模板设计稿保持高度一致。
作为一个实现方式,在实现本发明的过程中,可以利用自定义的pptx母版解释器应用程序,配合PPML使用。"pptx母版解释器" 用于解析和处理 PowerPoint(pptx)文档中的母版(Master)程序,进而提高pptx文件生成的效率。母版是一种用于定义幻灯片布局、样式和对象的模板,它可以应用于整个演示文稿,以确保文稿的一致性和统一性。以下是关于pptx母版解释器的一些应用方式:
1. 功能:pptx母版解释器的主要功能是读取和解析pptx文档中的母版。它可以识别母版中的幻灯片布局、文本框、图像占位符、标记和样式定义等元素。
2. 母版设计:母版解释器需要能够理解和解析母版的设计,包括不同幻灯片布局的定义、背景图像和颜色方案等。这些设计元素是确保演示文稿具有一致外观和风格的关键因素。
3. 演示文稿应用:解释器通常可以应用母版到演示文稿的幻灯片中。这意味着它可以将母版中定义的布局和样式应用于整个文稿或特定幻灯片。
4. 文本和图像插入:母版解释器可以帮助将文本和图像插入到幻灯片的文本框和图像占位符中,确保内容符合母版的设计。
5. 样式匹配:解释器通常会确保插入的内容与母版定义的样式和排版一致,以确保文稿的外观统一。
6. 扩展性:支持自定义的母版,以满足特定的演示需求。这允许用户创建自定义母版并将其应用于文稿。
7. 保存生成的文档:一旦应用了母版并插入了内容,解释器可能提供选项来保存生成的pptx文档,通常可以指定文件名和保存路径。
使用pptx母版解释器可以极大地简化演示文稿的创建和维护过程,特别是在需要保持文稿一致性和风格统一的情况下。这些解释器通常可以通过编程来创建,使用各种编程语言和库来实现解析和生成pptx文件。
作为一个例子,可以通过如下方式定义母版解释器:
class Dashboard_base(object):
def __init__(self):
self.icon_path_str = "" #指标icon
self.title_name_str = "" #指标名字
self.data_range_str = "" #数据源时间段
self.data_range_days_str = "" #数据源多少天
self.data_range_total_str = "" #数据源多少天(天)
self.source_level_str = "" #page 还是post
self.source_type_str = "" #数据源类型,社交号,社交号标签,内容标签
self._source_info_data_str = "" #数据源的信息
self.source_info_num_str = "" #数据源有多少个
self.chart_type = "" #图表类型 'broken_line', 'columnar', 'pie'
self.data_for_nub = "" # 汇总数据 如果为None 就是暂无数据
self.data_for_show = "" #
self.data_for_nub_org = "" # 汇总数据 保存演示数据
self.field_info = ""
self.total_average = ""
self.total_average_break_str = ""
class Dashboard_Num(Dashboard_base):
def __init__(self):
# self.chart_type = "num"
self.data_for_chart = ""
self.max_len = 15
self.breakdown_str = "" # 聚合方式
@property
def source_info_data_str(self):
return self._source_info_data_str
@source_info_data_str.setter
def source_info_data_str(self, value):
if len(value) > self.max_len:
self._source_info_data_str = value[:self.max_len] + "..."
else:
self._source_info_data_str = value
class Dashboard_Charts(Dashboard_base):
def __init__(self):
self.breakdown_str = "" #聚合方式
# self.chart_type = "" #'broken_line', 'columnar', 'pie'
self.legend_info = ""
self.data_for_chart = ""
self.max_len = 40
self.page_tag_info = None
self.content_tag_info = None
self.page_info = None
self.dashboard_info = None
@property
def source_info_data_str(self):
return self._source_info_data_str
@source_info_data_str.setter
def source_info_data_str(self, value):
if len(value) > self.max_len:
self._source_info_data_str = value[:self.max_len] + "..."
else:
self._source_info_data_str = value
class Dashboard_Content(Dashboard_base):
def __init__(self):
# self.chart_type = "post_content"
self.breakdown_str = ""
self.data_for_chart = []
self.max_len = 60
@property
def source_info_data_str(self):
return self._source_info_data_str
@source_info_data_str.setter
def source_info_data_str(self, value):
if len(value) > self.max_len:
self._source_info_data_str = value[:self.max_len] + "..."
else:
self._source_info_data_str = value
class Dashboard_post_content(object):
def __init__(self):
self.card_no = 0
self.page_image = ""
self.platform = ""
self.platform_img = ""
self.page_id = ""
self.auth = False
self.page_auth = -1
self.page_auth_img = ""
self.page_name = ""
self.page_username = ""
self.paid_status = -1
self.post_created_time = ""
self.post_type = ""
self.post_type_image = ""
self.post_content = "" # 有最长限制 最长420
self.post_image = ""
self.ext_flag={}
模板解释器解释完成之后会生成对应的对象和模版一一对应。
模板解释器程序读入母版,根据模板中的内容和母版的名字定位到母版,并且对母版进行解析和标记。后续环节会对母版解释器的结果进行数据层面的加工,用来生成某一个page的pptx。
进一步的,在数据解析的过程中,还可以定义数据解析器。pptx文件内部的数据是由数据接口提供的,数据接口提供的数据内部说明了pptx文件中数据的格式,具体数值,以及计算方式等。数据解析器会解析数据,格式化成pptx模版需要的数据结构,格式化完成之后输入到母版解释器的数据接口中,才能进行pptx的某一个page的绘制。
根据本公开实施例的一种具体实现方式,所述方法还包括:
指定pptx格式文件的名称和保存路径,进而在所述pptx格式文件生成之后,执行保存操作。
根据本公开实施例的一种具体实现方式,所述对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,包括:
设置母版解释器应用程序,用于读取和解析pptx母版,进而识别母版中的幻灯片布局、文本框、图像占位符、标记和样式定义。
参见图4,根据本公开实施例的一种具体实现方式,所述pptx母版解释器,还用于:
S401,应用母版到演示文稿的幻灯片中,进而将母版中定义的布局和样式应用于整个文稿或特定幻灯片;
S402,通过母版解释器将文本和图像插入到幻灯片的文本框和图像占位符中,确保内容符合母版的设计;
S403,通过母版解释器确保插入的内容与母版定义的样式和排版一致,以确保文稿的外观统一;
S404,通过母版解释器自定义母版,并将用户创建自定义母版并将其应用于文稿中;
S405,一旦应用了母版并在pptx文档中插入了内容之后,通过母版解释器提供选项来保存生成的pptx文档,所述母版解释器用于指定文件名和保存路径。
根据本公开实施例的一种具体实现方式,所述在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数据结构,包括:
所述第一PPML数据结构为:F1={U, V, D},其中U表示元素集合D中元素的尺寸大小,V表示元素集合D中元素的数目,D为母版中包含的元素集合;
所述第二PPML数据结构为:F2={W, N(Di), Gi},其中,W表示当前母版的名称,N(Di)表示第i个元素的名称,Gi表示第i个元素的起始位置。
根据本公开实施例的一种具体实现方式,所述基于所述元素集合以及位置集合,生成pptx格式文件的数据接口,
包括:
基于所述元素集合以及位置集合,构建
包含接口数据转换函数f(D,G)的数据转换规则,以便于基于所述数据转换规则形成所述数
据接口。
根据本公开实施例的一种具体实现方式,所述获取需要生成的pptx格式文件中第
i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件
所对应的第一填充数据和第二填充数据,包括:
针对插入第i页pptx文件的图像文件,在插入图像之前,进行数据校验和清理以确保图像文件存在、路径正确,并且数据格式与期望一致,对插入的图像进行尺寸处理,确保图像的尺寸适合占位符或图像框,通过使用python-pptx库设置图片的显示方式,使得插入的图像满足拉伸、平铺或占位符大小的需求;
针对插入第i页pptx文件的表格,当表格数据数量超出了单个表格框的容量后,对插入的表格设置分页显示或添加滚动条,根据表格的数据内容,自动调整表格列的宽度,以确保表格内容适应列大小,使用python-pptx来设置表格的颜色和样式,以使插入表格与母版的风格一致,为插入的表格设置数据排序和筛选功能,用以进行表格数据的浏览和分析。
根据本公开实施例的一种具体实现方式,所述获取需要生成的pptx格式文件中第
i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件
所对应的第一填充数据和第二填充数据之后,
所述方法还包括:
获取第j页pptx文件所对应的第一填充数据和第二填充数
据,j<i;
计算第j页pptx文件的第一填充数据和第二填充数据与第i页pptx文件所对应的第一填充数据和第
二填充数据之间的相似度值δj:
其中,δ1和δ2是第一调节参数和第二调节参数,sim()为相似度计算函数;
当相似度值δj大于预设值δ0时,计算第i页pptx文件的第一差值填充数据和第二差值填充数据:
,;
当用户针对第i页pptx文件上的内容进行二次编辑时,进一步判断二次编辑的内
容是否属于第一差值填充数据和第二差值填充数据相关联的数据;
若是,则直接基于编辑的内容修改第一差值填充数据
和第二差值填充数据的数据值,得到第一修改填充数据和第二修改填充数据,并基
于第一修改填充数据和第二修改填充数据生成编辑后第i页pptx文件。这样以来,可以基于第一差值填
充数据和第二差值填充数据快速的完成pptx文件的在线修改。
参见图5,本发明实施例还公开了一种实时生成pptx格式文件的装置50,包括:
获取模块501,用于对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的布局、颜色方案、字体样式以及文本框和图像占位符的位置;
构建模块502,用于在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据
结构和第二PPML数据结构,以便于基于第一PPML数据结构和第二PPML数据结构对所述母版
的解析信息进行描述,所述第一PPML数据结构用于描述所述母版中包含的元素集合,所述第二PPML数据结构用于通过形成位置集合
来描述所述元素集合中每个元素的位置,n为pptx母版中组成元素的个数;
接口模块503,用于基于所述元素集合以及位置集合,生成pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据
转换函数f(D,G);
生成模块504,用于获取需要生成的pptx格式文件中第i页的页面内容,将所述页
面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据,以便于基于所述第一填充数
据和所述第二填充数据实时生成pptx格式文件
的第i页内容。
参见图6,本发明实施例还提供了一种电子设备60,该电子设备包括:
至少一个处理器;以及,
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述方法实施例中实时生成pptx格式文件的方法。
本发明实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述方法实施例中。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的实时生成pptx格式文件的方法。
图6所示装置可以执行图1-4所示实施例的方法,本实施例未详细描述的部分,可参考对图1-4所示实施例的相关说明。在此不再赘述。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备60的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备60可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备60操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备60与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备60,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种实时生成pptx格式文件的方法,其特征在于,包括:
对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的布局、颜色方案、字体样式以及文本框和图像占位符的位置;
在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数据结构,以便于基于第一PPML数据结构和第二PPML数据结构对所述母版的解析信息进行描述,所述第一PPML数据结构用于描述所述母版中包含的元素集合,所述第二PPML数据结构用于通过形成位置集合/>来描述所述元素集合中每个元素的位置,n为pptx母版中组成元素的个数;
基于所述元素集合以及位置集合/>,生成pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据转换函数f(D,G);
获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据/>,以便于基于所述第一填充数据/>和所述第二填充数据/>实时生成pptx格式文件的第i页内容;
所述获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据/>之后,所述方法还包括:
获取第j页pptx文件所对应的第一填充数据和第二填充数据,j<i;
计算第j页pptx文件的第一填充数据和第二填充数据与第i页pptx文件所对应的第一填充数据/>和第二填充数据/>之间的相似度值δj:
,其中,/>和/>是第一调节参数和第二调节参数,sim()为相似度计算函数;
当相似度值δj大于预设值δ0时,计算第i页pptx文件的第一差值填充数据和第二差值填充数据/>:
,/>;
当用户针对第i页pptx文件上的内容进行二次编辑时,进一步判断二次编辑的内容是否属于第一差值填充数据和第二差值填充数据相关联的数据;
若是,则直接基于编辑的内容修改第一差值填充数据和第二差值填充数据/>的数据值,得到第一修改填充数据和第二修改填充数据/>,并基于第一修改填充数据/>和第二修改填充数据生成编辑后第i页pptx文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
指定pptx格式文件的名称和保存路径,进而在所述pptx格式文件生成之后,执行保存操作。
3.根据权利要求1所述的方法,其特征在于,所述对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,包括:
设置母版解释器应用程序,用于读取和解析pptx母版,进而识别母版中的幻灯片布局、文本框、图像占位符、标记和样式定义。
4.根据权利要求3所述的方法,其特征在于,所述pptx母版解释器,还用于:
应用母版到演示文稿的幻灯片中,进而将母版中定义的布局和样式应用于整个文稿或特定幻灯片;
通过母版解释器将文本和图像插入到幻灯片的文本框和图像占位符中,确保内容符合母版的设计;
通过母版解释器确保插入的内容与母版定义的样式和排版一致,以确保文稿的外观统一;
通过母版解释器自定义母版,并将用户创建自定义母版并将其应用于文稿中;
一旦应用了母版并在pptx文档中插入了内容之后,通过母版解释器提供选项来保存生成的pptx文档,所述母版解释器用于指定文件名和保存路径。
5.根据权利要求4所述的方法,其特征在于,所述在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数据结构,包括:
所述第一PPML数据结构为:F1={U, V, D},其中U表示元素集合D中元素的尺寸大小,V表示元素集合D中元素的数目,D为母版中包含的元素集合;
所述第二PPML数据结构为:F2={W, N(Di), Gi},其中,W表示当前母版的名称,N(Di)表示第i个元素的名称,Gi表示第i个元素的起始位置。
6.根据权利要求5所述的方法,其特征在于,所述基于所述元素集合以及位置集合/>,生成pptx格式文件的数据接口,包括:
基于所述元素集合以及位置集合/>,构建包含接口数据转换函数f(D,G)的数据转换规则,以便于基于所述数据转换规则形成所述数据接口。
7.根据权利要求6所述的方法,其特征在于,所述获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据/>,包括:
针对插入第i页pptx文件的图像文件,在插入图像之前,进行数据校验和清理以确保图像文件存在、路径正确,并且数据格式与期望一致,对插入的图像进行尺寸处理,确保图像的尺寸适合占位符或图像框,通过使用python-pptx库设置图片的显示方式,使得插入的图像满足拉伸、平铺或占位符大小的需求;
针对插入第i页pptx文件的表格,当表格数据数量超出了单个表格框的容量后,对插入的表格设置分页显示或添加滚动条,根据表格的数据内容,自动调整表格列的宽度,以确保表格内容适应列大小,使用python-pptx来设置表格的颜色和样式,以使插入表格与母版的风格一致,为插入的表格设置数据排序和筛选功能,用以进行表格数据的浏览和分析。
8.一种实时生成pptx格式文件的装置,其特征在于,包括:
获取模块,用于对获取到的pptx母版进行解析,获得针对所述pptx母版组成元素的解析信息,所述解析信息中包括母版幻灯片的布局、颜色方案、字体样式以及文本框和图像占位符的位置;
构建模块,用于在自定义pptx处理标记语言PPML的基础上,构建第一PPML数据结构和第二PPML数据结构,以便于基于第一PPML数据结构和第二PPML数据结构对所述母版的解析信息进行描述,所述第一PPML数据结构用于描述所述母版中包含的元素集合,所述第二PPML数据结构用于通过形成位置集合/>来描述所述元素集合中每个元素的位置,n为pptx母版中组成元素的个数;
接口模块,用于基于所述元素集合以及位置集合,生成pptx格式文件的数据接口,所述数据接口包含内嵌的接口数据转换函数f(D,G);
生成模块,用于获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据/>,以便于基于所述第一填充数据/>和所述第二填充数据/>实时生成pptx格式文件的第i页内容;
所述获取需要生成的pptx格式文件中第i页的页面内容,将所述页面内容通过所述接口数据转换函数f(D,G),生成第i页pptx文件所对应的第一填充数据和第二填充数据/>之后,所述装置还用于:
获取第j页pptx文件所对应的第一填充数据和第二填充数据,j<i;
计算第j页pptx文件的第一填充数据和第二填充数据与第i页pptx文件所对应的第一填充数据/>和第二填充数据/>之间的相似度值δj:
,其中,/>和/>是第一调节参数和第二调节参数,sim()为相似度计算函数;
当相似度值δj大于预设值δ0时,计算第i页pptx文件的第一差值填充数据和第二差值填充数据/>:
,/>;
当用户针对第i页pptx文件上的内容进行二次编辑时,进一步判断二次编辑的内容是否属于第一差值填充数据和第二差值填充数据相关联的数据;
若是,则直接基于编辑的内容修改第一差值填充数据和第二差值填充数据/>的数据值,得到第一修改填充数据和第二修改填充数据/>,并基于第一修改填充数据/>和第二修改填充数据生成编辑后第i页pptx文件。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述权利要求1-7中任一项所述的实时生成pptx格式文件的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311321680.2A CN117056539B (zh) | 2023-10-13 | 2023-10-13 | 实时生成pptx格式文件的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311321680.2A CN117056539B (zh) | 2023-10-13 | 2023-10-13 | 实时生成pptx格式文件的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056539A CN117056539A (zh) | 2023-11-14 |
CN117056539B true CN117056539B (zh) | 2024-01-02 |
Family
ID=88664887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311321680.2A Active CN117056539B (zh) | 2023-10-13 | 2023-10-13 | 实时生成pptx格式文件的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056539B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634575A (zh) * | 2018-12-24 | 2019-04-16 | 安徽经邦软件技术有限公司 | 智能生成ppt分析报告方法 |
CN110083580A (zh) * | 2019-03-29 | 2019-08-02 | 中国地质大学(武汉) | 一种Word文档向PowerPoint文档转换的方法及系统 |
US10460023B1 (en) * | 2016-03-10 | 2019-10-29 | Matthew Connell Shriver | Systems, methods, and computer readable media for creating slide presentations for an annotation set |
CN110909520A (zh) * | 2019-11-14 | 2020-03-24 | 北京天融信网络安全技术有限公司 | 一种文档构建方法及电子设备 |
CN112883692A (zh) * | 2020-10-23 | 2021-06-01 | 广州超深信息技术有限公司 | 一种ppt数据报告的自动生成方法 |
CN115510347A (zh) * | 2022-09-26 | 2022-12-23 | 北京世纪好未来教育科技有限公司 | 演示文稿的转换方法、装置、电子设备及存储介质 |
CN116644716A (zh) * | 2023-06-08 | 2023-08-25 | 平安银行股份有限公司 | 一种ppt文档格式化方法、装置、设备及存储介质 |
-
2023
- 2023-10-13 CN CN202311321680.2A patent/CN117056539B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10460023B1 (en) * | 2016-03-10 | 2019-10-29 | Matthew Connell Shriver | Systems, methods, and computer readable media for creating slide presentations for an annotation set |
CN109634575A (zh) * | 2018-12-24 | 2019-04-16 | 安徽经邦软件技术有限公司 | 智能生成ppt分析报告方法 |
CN110083580A (zh) * | 2019-03-29 | 2019-08-02 | 中国地质大学(武汉) | 一种Word文档向PowerPoint文档转换的方法及系统 |
CN110909520A (zh) * | 2019-11-14 | 2020-03-24 | 北京天融信网络安全技术有限公司 | 一种文档构建方法及电子设备 |
CN112883692A (zh) * | 2020-10-23 | 2021-06-01 | 广州超深信息技术有限公司 | 一种ppt数据报告的自动生成方法 |
CN115510347A (zh) * | 2022-09-26 | 2022-12-23 | 北京世纪好未来教育科技有限公司 | 演示文稿的转换方法、装置、电子设备及存储介质 |
CN116644716A (zh) * | 2023-06-08 | 2023-08-25 | 平安银行股份有限公司 | 一种ppt文档格式化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117056539A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109801347B (zh) | 一种可编辑图像模板的生成方法、装置、设备和介质 | |
CN111475163B (zh) | 视图模板的代码文件生成方法、装置、设备及存储介质 | |
US10210142B1 (en) | Inserting linked text fragments in a document | |
US20060080603A1 (en) | Method and apparatus for utilizing an object model to manage document parts for use in an electronic document | |
CN110968996B (zh) | 一种文档制作方法、装置、设备以及存储介质 | |
CN111126019B (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
CN110110290B (zh) | 一种设定电子书的排版样式的方法和装置 | |
US20210073324A1 (en) | Reviewing Document Designs | |
US20170031889A1 (en) | Creating a communication editable in a browser independent of platform and operating system | |
US8862976B1 (en) | Methods and systems for diagnosing document formatting errors | |
CN117056539B (zh) | 实时生成pptx格式文件的方法、装置及电子设备 | |
KR20190061895A (ko) | 웹 기반 문서의 템플릿을 변경하는 웹 기반 문서 편집 서버 및 이의 동작 방법 | |
CN111090976A (zh) | 基于动态数据的检验文档生成方法及装置 | |
CN110717134A (zh) | 产品说明发布方法、装置、存储介质及电子设备 | |
CN113254455B (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
US9946698B2 (en) | Inserting text and graphics using hand markup | |
CN114707052A (zh) | 一种基于网页的信息提取方法和装置 | |
CN113297856B (zh) | 文档翻译方法、装置及电子设备 | |
CN114564931A (zh) | 基于tinymce的电子证明文件生成方法及系统 | |
US7730105B2 (en) | Time sharing managing apparatus, document creating apparatus, document reading apparatus, time sharing managing method, document creating method, and document reading method | |
CN114386374A (zh) | 一种将CA签名用于数据整合生成odf文档的方法及其程序 | |
CN113239670A (zh) | 一种业务模板上传的方法、装置、计算机设备及存储介质 | |
CN113704650A (zh) | 信息展示方法、装置、系统、设备及存储介质 | |
CN112733509A (zh) | 精算报告生成方法、装置、设备及介质 | |
KR20210060808A (ko) | 문서에 적용되어 있는 글꼴이 지원되는 글꼴인지 확인이 가능한 문서 편집 장치 및 그 동작 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |