CN113011148A - 一种自动化输出指定格式文档的方法、装置、设备及介质 - Google Patents
一种自动化输出指定格式文档的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113011148A CN113011148A CN202110205087.6A CN202110205087A CN113011148A CN 113011148 A CN113011148 A CN 113011148A CN 202110205087 A CN202110205087 A CN 202110205087A CN 113011148 A CN113011148 A CN 113011148A
- Authority
- CN
- China
- Prior art keywords
- document
- picture
- template file
- word
- word document
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013461 design Methods 0.000 claims description 12
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 238000013515 script Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种自动化输出指定格式文档的方法、装置、设备及介质,方法包括:设置界面,用于接收用户输入的数据;创建文档的样式与格式,作为模板文件;接收到具体的用户输入数据后,基于模板文件新建一个Word文档,将所述用户输入数据填充至所述Word文档中,完成Word文档生成,解决了Word文档中难以自动化插入相对位置不固定的图文混搭的困难,表格行列数不固定时的格式设置等问题,大大提高了文档处理效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种自动化输出指定格式文档的方法、装置、设备及介质。
背景技术
自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。文档自动化就是在文档中运用自动化技术,将人们本来需要通过繁琐的重复输入才能得到的Word文档,通过自动化技术实现快速自动生成。文档自动化的工作原理是通过程序调用Word自带的邮件合并功能实现比较简单的文档自动化,但前置需要有一定的编程基础,还需要掌握Word邮件合并功能以及域和字段的一些高级技巧。
现有的方法对于图片和文字的插入往往比较呆板,在处理需要动态输入的图文混搭、包含多种格式的复杂段落与行列数不固定的表格样式等方面都存在不足与缺陷,往往无法仅凭现有的功能达到我们想要输出的文档效果,这就大大降低了功能的可用性。
发明内容
本发明要解决的技术问题,在于提供一种自动化输出指定格式文档的方法、装置、设备及介质,解决了Word文档中难以自动化插入相对位置不固定的图文混搭的困难,表格行列数不固定时的格式设置等问题,大大提高了文档处理效率。
第一方面,本发明提供了一种自动化输出指定格式文档的方法,包括:
步骤1、设置界面,用于接收用户输入的数据;
步骤2、创建文档的样式与格式,作为模板文件;
步骤3、接收到具体的用户输入数据后,基于模板文件新建一个Word文档,将所述用户输入数据填充至所述Word文档中,完成Word文档生成;
所述步骤1和步骤2就定义为不分先后顺序。
进一步地,所述步骤1进一步具体为:使用PyQt5编写Python脚本的应用界面,用于接收用户输入的数据;所述应用界面中设置接收文本、图片、表格以及样式的输入框。
进一步地,所述步骤2进一步具体为:创建文档基础的样式与格式,使用MicrosoftOffice系列的Word软件或者金山WPS Word软件完成模板文件的制作。
进一步地,所述步骤3进一步具体为:接收到具体的用户输入数据后,基于模板文件新建一个Word文档;
对于文字处理,调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,将用户输入数据一一对应地插入到模板文件中各个域名在Word文档中所在的位置;
对于表格处理,调用python的python-docx库,先通过Document()方法获取Word文档对象,再使用tables方法获取Word文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法;
对于图片处理,调用python的docxtpl库的InlineImage()方法,先使用DocxTemplate()方法获取到Word文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时设置图片的大小/像素;如果涉及到图文混排,则先对图文混排的格式进行设计,在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到Word文档中图片域名所在的位置进行图片合并;
对于样式处理,对于样式处理,通过引用python-docx库中的样式控制类,通过add.run()方法定义的对象的格式控制相关的方法来实现Word文档中的格式控制;
在完成了文字、表格、图片与样式的处理后,完成Word文档生成。
第二方面,本发明提供了一种自动化输出指定格式文档的装置,包括:
输入设计模块,设置界面,用于接收用户输入的数据;
创建模板文件模块,创建文档的样式与格式,作为模板文件;
文档生成模块,接收到具体的用户输入数据后,基于模板文件新建一个Word文档,将所述用户输入数据填充至所述Word文档中,完成Word文档生成;
所述输入设计模块和创建模板文件模块就定义为不分先后顺序。
进一步地,所述输入设计模块进一步具体为:使用PyQt5编写Python脚本的应用界面,用于接收用户输入的数据;所述应用界面中设置接收文本、图片、表格以及样式的输入框。
进一步地,所述创建模板文件模块进一步具体为:创建文档基础的样式与格式,使用Microsoft Office系列的Word软件或者金山WPS Word软件完成模板文件的制作。
进一步地,所述文档生成模块进一步具体为:接收到具体的用户输入数据后,基于模板文件新建一个Word文档;
对于文字处理,调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,将用户输入数据一一对应地插入到模板文件中各个域名在Word文档中所在的位置;
对于表格处理,调用python的python-docx库,先通过Document()方法获取Word文档对象,再使用tables方法获取Word文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法;
对于图片处理,调用python的docxtpl库的InlineImage()方法,先使用DocxTemplate()方法获取到Word文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时设置图片的大小/像素;如果涉及到图文混排,则先对图文混排的格式进行设计,在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到Word文档中图片域名所在的位置进行图片合并;
对于样式处理,对于样式处理,通过引用python-docx库中的样式控制类,通过add.run()方法定义的对象的格式控制相关的方法来实现Word文档中的格式控制;
在完成了文字、表格、图片与样式的处理后,完成Word文档生成。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的方法、装置、设备及介质,基于传统文档自动化方案进行功能优化,提高了文档自动化方案的灵活性,通过合理的图片插入算法以及表格控制算法与样式设置,解决了Word文档中难以自动化插入相对位置不固定的图文混搭的困难,表格行列数不固定时的格式设置等问题,大大提高了文档处理效率。文档自动化后,应用正则对输入信息的格式进行控制与检查,使得文档处理过程不再产生手动重复操作可能导致的疏漏与错误。文档自动化不仅可以自动化文字,还可以自动化处理表格、图片等,在日常生活与工作中有着很广泛的应用场景。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明系统的框架示意图;
图2为本发明实施例一中方法中的流程图;
图3为本发明实施例二中装置的结构示意图。
具体实施方式
本申请实施例通过提供一种自动化输出指定格式文档的方法、装置、设备及介质,解决了Word文档中难以自动化插入相对位置不固定的图文混搭的困难,表格行列数不固定时的格式设置等问题,大大提高了文档处理效率。
本申请实施例中的技术方案,总体思路如下:
先获取用户在UI界面输入的不固定的那部分文档内容与参数设置,通过编写合适的程序算法,调用Python标准库与丰富的第三方库,将用户输入数据与预先设置好的已固定格式的Word模板文件进行整合。如果存在图文混搭,在进行整合时先对段落中需要插入图片的位置进行标记,等待文字内容插入完成后,再检索段落中的图片位置一一进行图片插入操作;如果存在不固定行列的表格,那么先定位到文档中需要插入表格的位置,然后使用python语句进行表格生成,接着依据用户输入进行表格内容填充。在对应的操作执行完毕后,就可以自动化生成所需格式和内容的Word文档。
如图1所示,本发明主要由两个模块组成,分别是:用户输入数据处理模块和文档自动化处理模块。
用户输入数据处理模块由两个模块构成,分别是:应用程序设计模块和Word文档模板文件模块。
应用程序设计模块原理是使用PyQt5来编写Python脚本的应用界面,用于接收用户输入的不固定的数据与参数。pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3,本应用程序中使用的是Python 3。在界面中设置接收文本、图片、表格以及样式等各种类型数据的输入框,具体参数的数量可以由用户自行定义。
Word文档模板文件模块用于创建文档基础的样式与格式,是文档的整体框架。使用Microsoft Office系列的Word软件或者金山WPS Word软件均可以完成模板文件的制作,原理是在Word文档中使用邮件合并功能,在插入选项卡中选择文档部件->域,选择邮件合并,域名可按照需要进行命名。域名可以理解为代码中的一个变量,将要插入的数据赋值给这个变量,数据便会插入到模板当中。另外,格式可以按照要求去选择,默认为无。在模板制作完成后,可以另存为.dot格式,或者直接用.doc/.docx格式存储作为文档模板。
文档自动化处理模块是在接收到具体的用户输入数据后,基于模板文件新建一个Word文档,按照输入的各个参数进行自动化处理的过程。它由四个单元构成,分别是:文字处理单元、表格处理单元、图片处理单元与样式处理单元。
文字处理单元的原理是调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,从而实现Word的邮件合并功能,将用户输入数据一一对应地插入到模板文件中各个域名在文档中所在的位置。
表格处理单元的原理是调用python的python-docx库,先通过Document()方法获取文档对象,再使用tables方法获取文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法。使用此方法的原因是运用paragraphs便于后续的样式处理操作。
图片处理单元是将用户想要插入的图片放置到Word文档中的过程。原理是调用python的docxtpl库的InlineImage()方法。先使用DocxTemplate()方法获取到文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时还可以设置图片的大小/像素。如果涉及到图文混排,则程序需要进行两步操作,先由用户在应用程序上对图文混排的格式进行设计,程序在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到文档中图片域名所在的位置进行图片合并。
样式处理单元主要是对字体、字号、字色等进行设置。原理是通过引用python-docx库中的Mm,Pt,RGBColor,WD_CELL_VERTICAL_ALIGNMENT等类,通过add.run()方法定义好的对象的font.name,font.size,font.color.rgb等方法实现文档中的格式控制。
在完成了文字、表格、图片与样式的处理后,最终得到的就是符合用户期望的自动化文档了。这是一种设计时复杂,但完成后可以实现文档快速生成的高效文档自动化解决方案。
实施例一
如图2所示,本实施例提供一种自动化输出指定格式文档的方法,包括:
步骤1、使用PyQt5编写Python脚本的应用界面,用于接收用户输入的数据;所述应用界面中设置接收文本、图片、表格以及样式的输入框;
步骤2、创建文档基础的样式与格式,使用Microsoft Office系列的Word软件或者金山WPS Word软件完成模板文件的制作;
步骤3、接收到具体的用户输入数据后,基于模板文件新建一个Word文档;
对于文字处理,调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,将用户输入数据一一对应地插入到模板文件中各个域名在Word文档中所在的位置;
对于表格处理,调用python的python-docx库,先通过Document()方法获取Word文档对象,再使用tables方法获取Word文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法;
对于图片处理,调用python的docxtpl库的InlineImage()方法,先使用DocxTemplate()方法获取到Word文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时设置图片的大小/像素;如果涉及到图文混排,则先对图文混排的格式进行设计,在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到Word文档中图片域名所在的位置进行图片合并;
对于样式处理,对于样式处理,通过引用python-docx库中的样式控制类,通过add.run()方法定义的对象的格式控制相关的方法来实现Word文档中的格式控制;例如:通过引用python-docx库中的Mm,Pt,RGBColor,WD_CELL_VERTICAL_ALIGNMENT类,通过add.run()方法定义的对象的font.name,font.size,font.color.rgb方法实现Word文档中的格式控制;
在完成了文字、表格、图片与样式的处理后,完成Word文档生成;
所述步骤1和步骤2就定义为不分先后顺序。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
如图3所示,在本实施例中提供了一种自动化输出指定格式文档的装置,包括:
输入设计模块,使用PyQt5编写Python脚本的应用界面,用于接收用户输入的数据;所述应用界面中设置接收文本、图片、表格以及样式的输入框。
创建模板文件模块,创建文档基础的样式与格式,使用Microsoft Office系列的Word软件或者金山WPS Word软件完成模板文件的制作。
文档生成模块,接收到具体的用户输入数据后,基于模板文件新建一个Word文档;
对于文字处理,调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,将用户输入数据一一对应地插入到模板文件中各个域名在Word文档中所在的位置;
对于表格处理,调用python的python-docx库,先通过Document()方法获取Word文档对象,再使用tables方法获取Word文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法;
对于图片处理,调用python的docxtpl库的InlineImage()方法,先使用DocxTemplate()方法获取到Word文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时设置图片的大小/像素;如果涉及到图文混排,则先对图文混排的格式进行设计,在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到Word文档中图片域名所在的位置进行图片合并;
对于样式处理,对于样式处理,通过引用python-docx库中的样式控制类,通过add.run()方法定义的对象的格式控制相关的方法来实现Word文档中的格式控制;例如:通过引用python-docx库中的Mm,Pt,RGBColor,WD_CELL_VERTICAL_ALIGNMENT类,通过add.run()方法定义的对象的font.name,font.size,font.color.rgb方法实现Word文档中的格式控制;
在完成了文字、表格、图片与样式的处理后,完成Word文档生成;
所述输入设计模块和创建模板文件模块就定义为不分先后顺序。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种自动化输出指定格式文档的方法,其特征在于:包括:
步骤1、设置界面,用于接收用户输入的数据;
步骤2、创建文档的样式与格式,作为模板文件;
步骤3、接收到具体的用户输入数据后,基于模板文件新建一个Word文档,将所述用户输入数据填充至所述Word文档中,完成Word文档生成;
所述步骤1和步骤2就定义为不分先后顺序。
2.根据权利要求1所述的一种自动化输出指定格式文档的方法,其特征在于:所述步骤1进一步具体为:使用PyQt5编写Python脚本的应用界面,用于接收用户输入的数据;所述应用界面中设置接收文本、图片、表格以及样式的输入框。
3.根据权利要求1所述的一种自动化输出指定格式文档的方法,其特征在于:所述步骤2进一步具体为:创建文档基础的样式与格式,使用MicrosoftOffice系列的Word软件或者金山WPSWord软件完成模板文件的制作。
4.根据权利要求1所述的一种自动化输出指定格式文档的方法,其特征在于:所述步骤3进一步具体为:接收到具体的用户输入数据后,基于模板文件新建一个Word文档;
对于文字处理,调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,将用户输入数据一一对应地插入到模板文件中各个域名在Word文档中所在的位置;
对于表格处理,调用python的python-docx库,先通过Document()方法获取Word文档对象,再使用tables方法获取Word文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法;
对于图片处理,调用python的docxtpl库的InlineImage()方法,先使用DocxTemplate()方法获取到Word文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时设置图片的大小/像素;如果涉及到图文混排,则先对图文混排的格式进行设计,在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到Word文档中图片域名所在的位置进行图片合并;
对于样式处理,对于样式处理,通过引用python-docx库中的样式控制类,通过add.run()方法定义的对象的格式控制相关的方法来实现Word文档中的格式控制;
在完成了文字、表格、图片与样式的处理后,完成Word文档生成。
5.一种自动化输出指定格式文档的装置,其特征在于:包括:
输入设计模块,设置界面,用于接收用户输入的数据;
创建模板文件模块,创建文档的样式与格式,作为模板文件;
文档生成模块,接收到具体的用户输入数据后,基于模板文件新建一个Word文档,将所述用户输入数据填充至所述Word文档中,完成Word文档生成;
所述输入设计模块和创建模板文件模块就定义为不分先后顺序。
6.根据权利要求5所述的一种自动化输出指定格式文档的装置,其特征在于:所述输入设计模块进一步具体为:使用PyQt5编写Python脚本的应用界面,用于接收用户输入的数据;所述应用界面中设置接收文本、图片、表格以及样式的输入框。
7.根据权利要求5所述的一种自动化输出指定格式文档的装置,其特征在于:所述创建模板文件模块进一步具体为:创建文档基础的样式与格式,使用MicrosoftOffice系列的Word软件或者金山WPSWord软件完成模板文件的制作。
8.根据权利要求5所述的一种自动化输出指定格式文档的装置,其特征在于:所述文档生成模块进一步具体为:接收到具体的用户输入数据后,基于模板文件新建一个Word文档;
对于文字处理,调用python的docx-mailmerge库中的merge()方法,将用户输入的数据作为变量赋值给模板文件中的域名,将用户输入数据一一对应地插入到模板文件中各个域名在Word文档中所在的位置;
对于表格处理,调用python的python-docx库,先通过Document()方法获取Word文档对象,再使用tables方法获取Word文档中的所有表格对象,根据数组下标来定位表格位置;或者是根据模板文件指定域名所在的位置,使用add_table()插入表格,add_row()新增表格行,插入文字时调用表格对象的cell().paragraphs[0].add_run()方法;
对于图片处理,调用python的docxtpl库的InlineImage()方法,先使用DocxTemplate()方法获取到Word文档对象,接着使用context设置图片上下文,在context中以key:value的形式使用InlineImage()方法将指定路径的图片赋值给预先定义好的域名,同时设置图片的大小/像素;如果涉及到图文混排,则先对图文混排的格式进行设计,在接收到用户设计的图文混搭样式后,将图片在文字中的位置用域名进行替换,在进行邮件合并时,先将文字+图片域名作为一个整体与模板文件进行文字合并,再将得到的Word文档使用InlineImage()方法从用户给出的图片路径调取图片放置到Word文档中图片域名所在的位置进行图片合并;
对于样式处理,对于样式处理,通过引用python-docx库中的样式控制类,通过add.run()方法定义的对象的格式控制相关的方法来实现Word文档中的格式控制;
在完成了文字、表格、图片与样式的处理后,完成Word文档生成。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110205087.6A CN113011148A (zh) | 2021-02-24 | 2021-02-24 | 一种自动化输出指定格式文档的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110205087.6A CN113011148A (zh) | 2021-02-24 | 2021-02-24 | 一种自动化输出指定格式文档的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113011148A true CN113011148A (zh) | 2021-06-22 |
Family
ID=76409071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110205087.6A Pending CN113011148A (zh) | 2021-02-24 | 2021-02-24 | 一种自动化输出指定格式文档的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113011148A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492354A (zh) * | 2021-12-24 | 2022-05-13 | 永中软件股份有限公司 | 一种流式文档的生成方法、计算装置以及计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163043A1 (en) * | 2007-01-03 | 2008-07-03 | Blue Reference, Inc. | Method and Apparatus for Data Analysis in a Word Processor Application |
CN105740217A (zh) * | 2014-12-08 | 2016-07-06 | 珠海金山办公软件有限公司 | 一种基于文档模板的文档生成方法及装置 |
CN110738035A (zh) * | 2019-09-18 | 2020-01-31 | 平安科技(深圳)有限公司 | 一种文档模板生成方法及装置 |
-
2021
- 2021-02-24 CN CN202110205087.6A patent/CN113011148A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163043A1 (en) * | 2007-01-03 | 2008-07-03 | Blue Reference, Inc. | Method and Apparatus for Data Analysis in a Word Processor Application |
CN105740217A (zh) * | 2014-12-08 | 2016-07-06 | 珠海金山办公软件有限公司 | 一种基于文档模板的文档生成方法及装置 |
CN110738035A (zh) * | 2019-09-18 | 2020-01-31 | 平安科技(深圳)有限公司 | 一种文档模板生成方法及装置 |
Non-Patent Citations (5)
Title |
---|
ERIC LAPOUYADE: "elapouya/python-docx-template 2018.11.18版本", 《HTTPS://GITHUB.COM/ELAPOUYA/PYTHON-DOCX-TEMPLATE/COMMIT/20E30C541CE504C6DF150D79D14FE0F6DA727D71》 * |
PYTHON小二: "Python自动化办公之Word,全网最全看这一篇就够了", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/317074324》 * |
天天空空: "docxtpl操作word文档", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/349097977》 * |
孙二华 等主编: "《房地产企业办公自动化实训指导书》", 北京理工大学出版社 * |
蒋加伏等主编: "《Python程序设计基础》", 31 August 2019, 北京邮电大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492354A (zh) * | 2021-12-24 | 2022-05-13 | 永中软件股份有限公司 | 一种流式文档的生成方法、计算装置以及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241454B (zh) | 一种生成网页代码的方法、系统和装置 | |
CN105528418B (zh) | 一种设计文档生成方法及装置 | |
CN110705237B (zh) | 文档的自动生成方法、数据处理设备及存储介质 | |
CN104298725A (zh) | 在线课件开发系统一次性编辑输入多版本输出的方法 | |
CN102591662B (zh) | 一种绘制皮肤图片的方法及装置 | |
CN113011148A (zh) | 一种自动化输出指定格式文档的方法、装置、设备及介质 | |
CN111476007A (zh) | 表格生成方法、装置、计算机装置及计算机可读存储介质 | |
CN109933766B (zh) | 文件生成方法、装置及存储介质 | |
CN115115787B (zh) | 一种基于DirectVR的二维图纸转3D模型方法 | |
CN111736815A (zh) | 一种测试文件脚本模块化开发工具、系统及方法 | |
CN117078181A (zh) | 一种电力交易业务数据处理流程自动化方法与系统 | |
CN108647337B (zh) | 一种仿真分析数据的格式处理方法及装置 | |
CN109144624B (zh) | Ios中展示不等高列表的方法、存储介质、设备及系统 | |
CN112396681A (zh) | 一种动画生成方法、装置和存储介质 | |
CN116110065A (zh) | 题卡数据生成方法、装置、计算机设备和存储介质 | |
KR102649627B1 (ko) | 어도비 인디자인 전자편집(dtp) 프로그램을 이용한 이미지 자동배치 및 실행방법 | |
CN114579118A (zh) | 编程方法和系统、设备、存储介质 | |
KR102300444B1 (ko) | 문서에 적용되어 있는 글꼴이 지원되는 글꼴인지 확인이 가능한 문서 편집 장치 및 그 동작 방법 | |
Bocevska et al. | An example of application design using solidworks application programming interface | |
CN112597750A (zh) | 在线设计动态检测报告模板的方法、编辑器及介质 | |
CN109741417B (zh) | 一种图形文件的生成方法、装置、计算设备及存储介质 | |
CN109117176B (zh) | 一种基于主机的版本自动部署方法及系统 | |
CN113254455A (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
CN114118026A (zh) | 文档自动化生成方法、装置及计算机存储介质、电子设备 | |
KR20180090415A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210622 |