CN111159979A - 一种将动态数据整合生成pdf文档的方法及程序 - Google Patents
一种将动态数据整合生成pdf文档的方法及程序 Download PDFInfo
- Publication number
- CN111159979A CN111159979A CN201911333344.3A CN201911333344A CN111159979A CN 111159979 A CN111159979 A CN 111159979A CN 201911333344 A CN201911333344 A CN 201911333344A CN 111159979 A CN111159979 A CN 111159979A
- Authority
- CN
- China
- Prior art keywords
- data
- tex
- template
- dimensional
- elements
- 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 18
- 230000003068 static effect Effects 0.000 claims abstract description 7
- 230000000694 effects Effects 0.000 claims abstract description 3
- 238000013461 design Methods 0.000 claims description 4
- 239000004816 latex Substances 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 2
- 230000001419 dependent effect Effects 0.000 abstract 1
- 239000000463 material Substances 0.000 abstract 1
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种将动态数据整合生成pdf文档的方法及程序,属用计算机技术进行文档处理领域,该方法以LaTex技术为核心,通过程序操纵tex文档模版生成高质量的pdf文档,所述LaTex是一种基于tex的排版系统,涵盖文字、二维表格、数学公式、静态图片、矢量图片和统计图表元素,所述tex文档模版包含静态文字和元素占位符,可满足零维、一维、二维的数据填充要求。本发明除引用的静态图片外,其余素材全部用LaTeX语法实现,不依赖于Excel或Word类第三方工具,生成的文档具有占用空间小、浏览质量高、排版效果佳、平台兼容性好的优点。
Description
技术领域
本发明涉及一种把不同来源的数据按一定规则进行集成,并自动生成pdf文档的方法和程序,属于用计算机技术进行文档处理领域。
背景技术
目前,数据电子化已深入各行业,随之而来的应用方向之是电子数据的可视化,常见有WEB方式的在线可视化与word、excel、pdf类离线可视化两种。在行业报告领域,需要生成一些格式较为固定,数据经常发生变化的报告文档,常见的生成方式是:
先结合Office组件定制静态word模版,再通过人工方式进行复制粘贴以生成最终文档,此方法主要存在工作效率低且出错率高的问题;
用编程接口来操纵office模版,但由于微软只开放office文档的部分接口,导致此类方案复杂度高,生成的文档兼容性差,排版效果差,一旦文档格式固定下来,再进行二次调整会变得更加困难;
采用pdf的开发接口来生成pdf文档,虽然pdf是完全开放的标准,但通过API进行开发的难度仍然很高。
针对以上方案的缺点,本发明以LaTex为核心技术,提出一种将动态数据整合生成pdf文档的方法及程序,具有如下优点:
LaTex是一种基于宏的文本格式化程序的排版系统,具有高度的可用性和扩展性,属当前专业的排版系统之一,涵盖了文字、二维表格、数学公式、静态图片、矢量图片、统计图表类元素,可实现将高度复杂、高度灵活的文档格式导出成tex文档代码;
LaTex是开源软件,接口完全开放,使用成本低,学习成本也相对较低;
由于tex文档代码是纯文本构成,用计算机程序操纵tex文档相对于API方式更简单也便于人工操作,可把大型文档拆分成若干小文档编辑后再组装;
LaTex具有跨平台能力,在主流的Windows、IOS、Linux、Unix操作系统上都有具体的实现。
发明内容
本发明要解决的技术问题包括:
如何定义tex文档模版:tex模版包含静态和动态内容,通常由人工先编写纯静态的模版,进行调试后把可变的数据部分用占位符来替换,过程中会涉及到占位符设计的问题;
如何获取动态数据:数据来源包括从关系数据库、人工编写的excel、csv文件、第三方应用程序和大数据平台获得,针对不同的数据源需适配不同的取数程序;
如何把获得的数据准确地插入tex文档模版:解决方案是采用正则表达式来解析占位符,并按照占位符语法的标准来生成占位符可选参数,把获得的数据准确地插入tex文档模版,从而形成tex实例;
如何提高效率:针对效率低的问题,主要采用数据与文档分离的思路,取数时可并发执行,而数据整合时则把数据先装入内存,再统一进行占位符解析及数据整合;
如何降低维护难度和成本:解决方案是采用统一的配置文件,配置项尽量支持中文。
为解决上述技术问题,本发明提出一种通过程序操纵tex文档模版,生成高质量的pdf文档的方法和程序。
本发明首先定义了一套用于描述零维、一维、二维数据的占位符语法,语法中采用了ASCII标点符号、字母、数字及汉字的组合,可准确定义出零维、一维、二维的数据元素格式,占位符不会与tex自身的宏命令和文字混淆以导致解析错误,占位符主要包括三个部分:
采用成对的ASCII符号来标识占位符在文档中的左边界和右边界,以提供解析程序识别占位符;
采用占位符类型标识码及数据文件标识码标识该占位符的类型、出处,其中占位符类型标识码用字母标识,数据文件标识码用汉字、字母和数字的任意组合来标识,支持汉字来作为标识符;
采用选参数定义取数范围、取数方向、数据格式。
数据文件通常是一个M行N列的矩阵,列之间以TAB符号或逗号类分隔符进行分隔,行之间以回车换行符进行分隔,通过SQL语句取到的数据和以人工方式生成的csv文件均满足该条件,其它方式获得的数据文件,经过一定的格式化之后也满足该条件。
通过分析tex文档的特点,文档元素按维度划分为零维、一维、二维:
零维数据分为环境变量和单元格两类,环境变量是运行时临时指定,单元格则是从指定数据文件的第m行,第n列获得,m<=M,n<=N;
一维数据可指定其在数据文件中的具体位置范围,如第m行,第n1-n2列,或第n行,第m1-m2行,m、m1、m2<=M,n、n1、n2<=N,位置起止范围可指定从前往后的正数、从后往前的负数、正序、倒序、元素间分隔符、列表末尾符、元素包围符、空值替换符来填充;
二维数据可指定其在数据文件中的具体位置范围,如第m1行n1列至m2行n2列,m1、m2<=M,n1、n2<=N,位置起止范围可指定从前往后的正数或从后往前的负数,取数方向共有8种:先从上至下、再从左至右,先从上至下、再从右至左,先从下至上、再从左至右,先从下至上、再从右至左,先从左至右、再从上至下,先从右至左,再从上至下,先从下至上,再从左至右,先从下至上,再从右至左,可指定元素间分隔符、元素包围符、行末分隔符、行间分隔符、空值替换符。
进一步通过单独开发的取数程序来完成数据获取,对应于不同的数据源分别开发,可适配包括microsoft sql server、hdfs数据源。
再按照占位符的定义,把数据元素插入tex模版中,形成最终的tex实例,占位符语法解析采用正则表达式,数据的填充则完全按照占位符定义的格式要求来进行。
最后,用LaTex系统对生成的tex代码进行自动或人工编译而形成目标pdf文档。
说明书附图
图1为一种将动态数据整合生成pdf文档的方法及程序。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,所述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创新性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,一种将动态数据整合生成pdf文档的方法及程序,具体包括以下步骤:
设计零维、一维、二维三类占位符,满足文档中的正文、二维表格、静态图片、统计图表类要素的要求;
单独开发可实现自定义查询和支持并发运行的取数程序,生成的数据文件格式可定制字符集、分隔符、格式化文本或数字;
对应占位符语法解析找到数据元素,并按照占位符规定格式把数据元素写入tex文件中;
用LaTex系统对生成的tex代码进行自动或人工编译而形成目标pdf文档。
实例:
一项目需要每个月从业务系统数据库中抽取数据生成技术报告,涉及上千个数据项,生成文档约400页,折线图、柱状图、饼图及统计表格上百个,以标签替换的方式生成word文档需要人工重新编号,存在效率低下、模版调整困难的问题,采用本方案后,5分钟以内即可完成数据采集过程,1-2分钟即可完成文档整合,5-10分钟编译出最终的pdf文档,最后由1-2人进行手工审核和调整即可发布文档。
Claims (3)
1.一种将动态数据整合生成pdf文档的方法及程序,其特征在于:
占位符的设计是把文档中的元素按照重复规律抽象成零维、一维、二维,不按元素的物理类型来抽象;
不重复的元素相当于零维元素,是一个字、一段句子、一张图或一张表;
按一行或一列重复的元素相当于一维元素,是多个连续的字、多段句子、多张图或多张表的组合,且这些元素之间具有相似性;
按先行后列或先列后行重复的元素相当于二维元素,即每行或每列中的元素具备相似性A,而每列或每行中的元素具备相似性B;
创建tex格式的文档模版包含静态文字及元素占位符,元素占位符的语法设计满足零维、一维、二维的数据填充要求,用占位符设计生成的pdf文档可实现常规文字、二维表格、统计图的展示效果。
2.根据权利要求1所述tex模版创建方法,其特征在于,所述tex模版所引用的数据与tex模版本身是松耦合的,其数据来源包括:
用SQL从关系数据库得到数据;
手工编辑csv或txt文件;
从大数据平台得到txt文件;
从各类编程语言或工具得到tex文档片断。
3.根据权利要求2所述tex模版创建方法,其特征在于:
利用配置文件把SQL模版与动态查询参数进行集成,可实现SQL模版的实例化,生成数据文件的实例;
利用配置文件把tex文档模版与数据文件进行关联,可实现tex模版整合动态数据生成pdf文档实例的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333344.3A CN111159979A (zh) | 2019-12-23 | 2019-12-23 | 一种将动态数据整合生成pdf文档的方法及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333344.3A CN111159979A (zh) | 2019-12-23 | 2019-12-23 | 一种将动态数据整合生成pdf文档的方法及程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159979A true CN111159979A (zh) | 2020-05-15 |
Family
ID=70557750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911333344.3A Pending CN111159979A (zh) | 2019-12-23 | 2019-12-23 | 一种将动态数据整合生成pdf文档的方法及程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159979A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114386374A (zh) * | 2020-10-19 | 2022-04-22 | 昆明安泰得软件股份有限公司 | 一种将CA签名用于数据整合生成odf文档的方法及其程序 |
CN116070596A (zh) * | 2023-03-29 | 2023-05-05 | 深圳市奥思网络科技有限公司 | 基于动态数据的pdf文件生成方法、装置及相关介质 |
CN118113380A (zh) * | 2024-04-30 | 2024-05-31 | 安徽华云安科技有限公司 | Csv文件的数据加载方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735892A (zh) * | 2002-11-18 | 2006-02-15 | 泰普菲系统有限公司 | 格式化文档的方法 |
CN103235776A (zh) * | 2006-05-10 | 2013-08-07 | 谷歌公司 | 呈现搜索结果信息 |
CN110147534A (zh) * | 2019-02-27 | 2019-08-20 | 中国地质大学(武汉) | 一种LaTeX文档向Word文档转换的方法及系统 |
-
2019
- 2019-12-23 CN CN201911333344.3A patent/CN111159979A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735892A (zh) * | 2002-11-18 | 2006-02-15 | 泰普菲系统有限公司 | 格式化文档的方法 |
CN103235776A (zh) * | 2006-05-10 | 2013-08-07 | 谷歌公司 | 呈现搜索结果信息 |
CN110147534A (zh) * | 2019-02-27 | 2019-08-20 | 中国地质大学(武汉) | 一种LaTeX文档向Word文档转换的方法及系统 |
Non-Patent Citations (1)
Title |
---|
NICOLA L.C. TALBOT: ""User Manual for datatool bundle version2.32"", 《HTTPS://CTAN.MATH.WASHINGTON.EDU/TEX-ARCHIVE/MACROS/LATEX/CONTRIB/DATATOOL/DATATOOL-USER.PDF》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114386374A (zh) * | 2020-10-19 | 2022-04-22 | 昆明安泰得软件股份有限公司 | 一种将CA签名用于数据整合生成odf文档的方法及其程序 |
CN116070596A (zh) * | 2023-03-29 | 2023-05-05 | 深圳市奥思网络科技有限公司 | 基于动态数据的pdf文件生成方法、装置及相关介质 |
CN116070596B (zh) * | 2023-03-29 | 2023-06-09 | 深圳市奥思网络科技有限公司 | 基于动态数据的pdf文件生成方法、装置及相关介质 |
CN118113380A (zh) * | 2024-04-30 | 2024-05-31 | 安徽华云安科技有限公司 | Csv文件的数据加载方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159979A (zh) | 一种将动态数据整合生成pdf文档的方法及程序 | |
KR20150128921A (ko) | 고정 서식 문서에서의 동아시아 레이아웃 특징들의 검출 및 재구성 | |
CN109857670B (zh) | 一种基于通用模板的测试报告自动生成方法 | |
KR101554424B1 (ko) | 테스트 케이스 생성 자동화 방법 및 장치 | |
CN104199871A (zh) | 一种用于智慧教学的高速化试题导入方法 | |
CN102262621A (zh) | 译文检查装置及译文检查方法 | |
CN107783949A (zh) | 一种ppt文档的处理方法和装置 | |
US11704484B2 (en) | Cross channel digital data parsing and generation system | |
CN112949324A (zh) | 飞机维修技术手册数据的翻译、管理方法及其系统和终端 | |
CN104239289A (zh) | 音节划分方法和音节划分设备 | |
CN106648819A (zh) | 一种基于编辑器的国际化代码转换方法 | |
CN112667563A (zh) | 一种文档管理及操作方法和系统 | |
US20070220488A1 (en) | Apparatus and method for automatically sizing fields within reports | |
CN111833981A (zh) | 结构化报告制作编写方法 | |
CN111753536A (zh) | 一种专利申请文本的自动撰写方法和装置 | |
CN113836947B (zh) | 机器翻译译后的术语翻译方法、装置、设备及存储介质 | |
Garvin | Computer participation in linguistic research | |
US20220075929A1 (en) | Dynamically generating documents using natural language processing and dynamic user interface | |
Arnold et al. | Beyond lexical frequencies: using R for text analysis in the digital humanities | |
CN112817592A (zh) | 一种基于实体注解的自动代码生成方法 | |
CN110119503B (zh) | 一种基于Excel的规划项目多类数据报表与格式编辑方法 | |
JP2013020437A (ja) | 要件管理支援装置 | |
US11410575B2 (en) | Interface and tools for accessible textbook generation | |
CN116303359A (zh) | 一种数据库结构多类型文档导出的实现方法 | |
US9286062B2 (en) | Structure analysis device and program |
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 |
Application publication date: 20200515 |
|
WD01 | Invention patent application deemed withdrawn after publication |