CN113703699B - 电子文件的实时输出方法和装置 - Google Patents
电子文件的实时输出方法和装置 Download PDFInfo
- Publication number
- CN113703699B CN113703699B CN202111185218.5A CN202111185218A CN113703699B CN 113703699 B CN113703699 B CN 113703699B CN 202111185218 A CN202111185218 A CN 202111185218A CN 113703699 B CN113703699 B CN 113703699B
- Authority
- CN
- China
- Prior art keywords
- variable
- electronic file
- page number
- printing
- page
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开的实施例公开了电子文件的实时输出方法和装置。该方法的一具体实施方式包括:获取打印参数集合和目标电子文件,其中,打印参数集合为目标电子文件对应的打印相关限定参数集合;从打印参数中解析出打印对象集合;从目标电子文件中解析出页面数据集合;根据打印对象集合和页面数据集合实时打印输出目标电子文件。该实施方式能够同步展示电子文件中的动态内容变化情况,实现电子文档的可视化预览排版,同时实时打印电子文件中的动态内容,提高电子文件输出效率,减少了电子文件输出的资源消耗。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及电子文件的实时输出方法和装置。
背景技术
信息输出,常见于输出到各种显示设备,如电脑/手机/LCD等显示器,也常见于打印或专用印刷等输出设备。当前各行各业对打印或印刷出版等输出需求不断增长,尤其是日益增长的针对电子文件的个性化打印输出需求:证照的模板化打印输出,电子***、电子合同、电子公文和电子档案动态信息的打印输出。例如底稿相同而名称等信息可变的证照模板化打印输出,同一份电子公文打印给不同领导时携带的该领导名称等信息不同的打印输出,电子档案入库时自动盖章确认的入库信息,此外还包括有商品条形码、二维码等信息的打印输出。打印输出多在流式文档分页排版后形成版面信息或者在版式文档的基础上叠加动态信息,在输出介质固定位置处开始打印输出各图元要素。
然而,当采用上述方法进行电子文件的实时输出时,通常会存在以下技术问题:
现有的电子文件输出方式通过调用相关应用程序对电子文件中的页面和对象进行逐一打印,针对电子文件中动态变化的对象,无法满足实时打印需求,重复对动态变化的页面进行打印输出造成了极大的资源浪费。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了电子文件的实时输出方法和装置,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种电子文件的实时输出方法,该方法包括:获取打印参数集合和目标电子文件,其中,打印参数集合为目标电子文件对应的打印相关限定参数集合;从打印参数中解析出打印对象集合;从目标电子文件中解析出页面数据集合;根据打印对象集合和页面数据集合实时打印输出目标电子文件。
第二方面,本公开的一些实施例提供了一种电子文件的实时输出装置,该装置包括:获取单元,被配置成获取打印参数集合和目标电子文件,其中,打印参数集合为目标电子文件对应的打印相关限定参数集合;第一解析单元,被配置成从打印参数中解析出打印对象集合;第二解析单元,被配置成从目标电子文件中解析出页面数据集合;输出单元,被配置成根据打印对象集合和页面数据集合实时打印输出目标电子文件。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的电子文件的实时输出方法能够同步展示电子文件中的动态内容变化情况,实现电子文档的可视化预览排版,同时实时打印电子文件中的动态内容,提高电子文件输出效率,减少了电子文件输出的资源消耗。具体来说,发明人发现,造成目前电子文件输出资源消耗较大的原因在于:现有的电子文件输出方式通过调用相关应用程序对电子文件中的页面和对象进行逐一打印,针对电子文件中动态变化的对象,无法满足实时打印需求,重复对动态变化的页面进行打印输出造成了极大的资源浪费。基于此,首先,本公开的一些实施例获取打印参数集合和目标电子文件。其中,打印参数集合为目标电子文件对应的打印相关限定参数集合。其次,从打印参数中解析出打印对象集合。具体的,根据电子文件中所包含的内容不同,打印对象集合包括可变对象集合和固定对象集合。可变对象集合中所包含的可变对象为电子文件浏览、处理时实时动态变化的对象。然后,从目标电子文件中解析出页面数据集合。具体的,页面数据集合包括版式文档页面数据集合和流式文档页面数据集合。具体的,页面数据集合对应电子文档页面中包含的信息。最后,根据打印对象集合和页面数据集合实时打印输出目标电子文件。这种方法能够区分电子文件中的可变对象和固定对象,对可变对象进行实时动态展示,从而提高电子文件的输出效率,减少了电子文件输出的资源消耗。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开的一些实施例可以应用于其中的示例性的应用场景图;
图2是根据本公开的电子文件的实时输出方法的一些实施例的流程图;
图3是根据本公开的一些实施例的实时打印的整体流程图。
图4-5是根据本公开的一些实施例的实时打印的核心方法的流程图。
图6是根据本公开的一些实施例的复合对象的示意图。
图7是根据本公开的一些实施例的可变对象定位的流程图。
图8是根据本公开的一些实施例的可变图像类对象的示意图。
图9是根据本公开的一些实施例的可变对象打印后的效果图。
图10是根据本公开的一些实施例的电子文件的实时输出装置的结构示意图。
图11是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的一些实施例的电子文件的实时输出方法的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104、服务器105和打印机106。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,然后服务器105通过网络与打印机106交换,用户也可以使用终端设备101、102、103通过网络104直接与打印机106交换,用户可以在终端上进行打印预览、打印预览文档的排版调整或发送打印消息等。终端设备101、102、103上可以安装有各种客户端应用,例如打印应用。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持文档浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的文档提供支持的后台服务器。例如,后台服务器可以对预打印的文档进行可视化预览排版调整,并将处理结果反馈给终端设备或者直接发送给打印机。
打印机106可以是实体打印机或者网络打印机或者打印软件,其接收打印命令并依据打印命令对接收到的相关文档进行实时打印。
需要说明的是,本公开的实施例所提供的电子文件的实时输出方法可以由终端设备101、102、103执行,也可以由服务器105执行。在此不做具体限定。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络、服务器和打印机的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的电子文件的实时输出方法的一些实施例的流程200。该电子文件的实时输出方法,包括以下步骤:
步骤201,获取打印参数集合和目标电子文件。
在一些实施例中,电子文件的实时输出方法的执行主体(例如图1所示的终端设备)获取打印参数集合和目标电子文件。其中,打印参数集合为目标电子文件对应的打印相关限定参数集合。具体的,电子文件是指机关、团体、企事业单位和其他组织在处理公务过程中通过计算机等电子设备形成、办理、传输和存储的文字、图表、图像、音频、视频等不同形式的信息记录。具体的,打印参数集合可以是针对目标电子文件进行打印时的计算机识别的参数。针对目标电子文件进行打印的过程可以参见图3,可以通过如下方式实现实时打印,包括:输入打印参数,解析打印参数,判断是否多版本打印,是多版本打印则计算逐份打印内容和总份数。打印输出多在流式文档分页排版后形成版面信息或者在版式文档的基础上叠加动态信息,在输出介质固定位置处开始打印输出各图元要素。具体的,版式文档通常是一种独立于平台操作***、软硬件,包括呈现或打印设备的格式文档,它可以包含多个页面,每个页面由与设备和分辨率无关的最基础的文字、图形、图像等图元(此外色彩、音视频、动画、裁剪等与这些基础图元的复合可以形成更加复杂的逻辑单元,包括但不限于以下之一:图表、公式、表格、渐变、底纹)组成。版式文档内部通常采用可扩展标记语言格式描述文档数据,与具体的输出设备(呈现或打印)分离,具备原版原式输出特点即阅读显示与印刷效果一致。其中,图元可以是输出的最基本内容单元,通常复杂的段落文字、表格等逻辑内容在输出的底层会被拆解为基础图元。对象可以是被实例化使用的图元或者基于它们的复合体。版式技术是将文字、图形、图像、音视频、动画等多种数字内容对象按照一定的排版规则排版后矩形版面固化呈现的技术,通常其成像模型采用与设备无关的透明混合叠加输出模式。流式文档的打印输出相比版式文档而言增加了一个处理步骤:即首先需要计算分页并固化各排版图元要素。
步骤202,从打印参数中解析出打印对象集合。
在一些实施例中,上述执行主体从打印参数中解析出打印对象集合。其中,打印对象集合包括可变对象集合和固定对象集合,可变对象集合包括可变图像类对象集合、可变文本类对象集合和复合对象集合,可变文本类对象集合包括第一类可变文本类对象集合和第二类可变文本类对象集合,固定对象集合包括原始图元对象集合。具体的,可变图像类对象集合中的可变图像类图像可以是电子文件中的贴图。可变文本类对象集合中的可变文本类对象可以是电子文件中的贴条。具体的,第一类可变文本类对象集合中的第一类可变文本类对象可以是无需排版处理文本信息的对象。第二类可变文本类对象集合中的第二类可变文本类对象可以是需要排版处理后得到文本信息的对象。复合对象集合中的复合对象可以是同时包含多个对象类型的对象集合,包括但不限于以下之一:可变文本、图形、图像图元对象。具体的,复合对象可以是电子文本中的公章。可选的,可变对象采用动态参数描述。原始图元对象集合中的原始图元对象可以是静态电子文本中的基本元素。具体的,原始图元对象可以是原始静态页面版式描述的对象,即流式文档排版分页后或者版式文档页面中的输出的初始的基本内容单元的对象。具体的,可以在获取到的打印参数中进行查找,以找到各个打印对象。
具体的,图8给出一个可变图像类对象示例,具体的该可变图像类对象可以是电子文件中的贴图。具体的,可以采用如下方式实现自动化添加二维码图像:(fg,待***文本位置FileUrl,图像位置FileUrl,页码pageNumber,坐标尺寸x、y、w、h)。其中,fg表征是否前景绘制,默认前景绘制fg=“true”,背景绘制时fg=“false”。x、y、w、h的取值单位可以是毫米,具体的,该值对应于电子文件页面坐标系的左上角(0,0)。FileUrl可以表征电子文件中的位置。PageNumber可以表征电子文件中的页面。
具体的,可变文本类对象可以是贴条。贴条可以位于电子文件中不同页码的行文本。可以使用logLine表征电子文件中的一个逻辑行。多个逻辑行logLine文本构成整个贴条。具体的,可以将贴条记为TieTiao。示例性的可扩展标记语言(XML)格式的贴条如下:
<TieTiao>
<logLine x="0"y="0"pageNumber="1">,
<span size="12"family="宋体">报请</span>
<span size="10"family="宋体">李一</span>
</logLine>
...
<logLine x="10"y="10"pageNumber="-1">....</logLine>
</TieTiao>
其上XML描述的内容分别为:设置贴条的x、y坐标,单位为毫米,该值对应于电子文件页面坐标系的左上角(0,0)。设置贴条字体大小分别为12和10,单位为像素,像素对应文本中常见的字号的数字。具体的,像素可以是10.5,其中贴条内容为“报请李一”。逻辑行logLine标签中的pageNumber属性代表逻辑行文本所在的页码。默认pageNumber属性不出现代表这些逻辑行文本都位于首页,即pageNumber为1。响应于pageNumber为-1或者<1的数字时,表征位于电子文件的最后一页。具体的,span标签可以是粗体bold。具体的,下述示例:wrap="false|true|breakline"、wrapHead="true|false"、color="#ff33ff"(RGB格式)、text-indent="2"的含义如下:wrap可以表征该逻辑行中的该语句文本“span”是否支持换行,即当该文本无法全部绘制在该行所在页面的宽度剩余的行宽范围时是否换行,不出现时默认为true即文本内容超出页面宽度时自动换行。值为breakline时强制换行以实现多行合一效果。wrapHead可以表征换行时是否从该逻辑行的x坐标处开始绘制,如果wrapHead的取值为true表示从x坐标处开始绘制;不出现wrapHead时默认为wrapHead的取值为false,即与从一个语句文本结束的位置对齐开始绘制。color不出现时默认为color的取值为0,表征黑色绘制贴条文本。text-indent可以表征缩进字符个数,数值2表示缩进2个字符。当wrap&wrapHead的取值为true并且该行文本内容多到换行时从该行第一个字符的前n个字符处绘制,n为字符数量计数。当wrap&wrapHead不出现时默认其取值为0。图6给出本公开的一些实施例的复合对象的示意图。具体的,如图6所示,复合对象可以是电子文本中的公章的印文。具体的,图6中示出的电子文本中的公章的印文可以是从打印参数中解析出的打印对象集合中的打印对象,如“总值班室”,“[2016]第003号”和“1月8日17时28分收到”。
作为示例,参见图4、图5为实时打印的核心方法的流程,执行主体循环打印每页,开始打印文档。具体的,图4中的实时打印逻辑如下:确定打印的电子文件分页或新建页面后开始循环打印电子文件中的每页。针对每个页面,先逐次打印背景对象,再逐次打印前景对象。具体的,图5中给出图4中所示的页面打印逻辑如下:从打印参数中解析出可变文本类对象(贴条)、可变图像类对象(贴图)、复合对象(小红章)以及上述对象的所在页面的固定输出位置信息。然后,逐次完成页面中的原始对象打印、贴条打印、贴图打印和复合对象打印。
步骤203,从目标电子文件中解析出页面数据集合。
在一些实施例中,上述执行主体从目标电子文件中解析出页面数据集合。具体的,可以在目标电子文件中进行遍历,查找到各个页面数据,以得到页面数据集合。其中,页面数据集合包括版式文档页面数据集合和流式文档页面数据集合。作为示例,继续参见图4-5。从拟打印的目标电子文件中解析出版式文档页面数据或流式文档的排版分页后的页面数据。
步骤204,根据打印对象集合和页面数据集合实时打印输出目标电子文件。
在一些实施例中,上述执行主体根据打印对象集合和页面数据集合实时打印输出目标电子文件。将原始图元对象集合中的每个原始图元对象输出为输出指令,以得到输出指令集,其中,输出指令为页面绘制指令。根据可变图像类对象集合中的每个可变图像类对象的对象参数集生成图像绘制指令,以得到图像绘制指令集。其中,对象参数集包括位置坐标对、图像大小尺寸、图像地址和图像内存数据信息。根据可变文本类对象集合中的每个可变文本类对象生成文本打印指令,以得到文本打印指令集。可选的,响应于该可变文本类对象为第一类可变文本类对象,将该可变文本类对象映射到文本打印指令。响应于该可变文本类对象为第二类可变文本类对象,根据预先确定的属性集合生成该可变文本类对象的文本图元输出位置信息集合。其中,预先确定的属性集合包括对齐属性、换行属性、缩进属性、行首对齐属性、多行合一属性和页面大小属性。根据文本图元输出位置信息集合,生成文本打印指令。根据复合对象集合中的每个复合对象生成复合输出指令,以得到复合输出指令集。对输出指令集、图像绘制指令集、文本打印指令集、复合输出指令集和页面数据集合进行实时打印输出。
具体的,打印对象集合中的打印对象可以具有前背景属性。具体的,前背景属性取值为前景属性表征该打印对象为前景展示的打印对象。前背景属性取值为背景属性表征该打印对象为背景展示的打印对象。具体的,对于原始图元对象集合中的每个原始图元对象,依据其自身描述信息映射到操作***提供的输出指令集,通过透明混合模式渲染出即最终的输出效果,通常按页封装成为更上层的页面绘制输出指令,即可以调用该输出指令打印电子文档页面展示的内容。对于可变图像类对象集合中的每个可变图像类对象,依据其输出位置坐标以及图像大小或者指定大小以及图像文件地址或图像内存数据等信息,映射到相关图像绘制指令输出打印,无需排版计算其输出位置信息。对于可变文本类对象集合中的每个可变文本类对象,根据该可变文本类对象生成文本打印指令,以得到文本打印指令集。可选的,响应于该可变文本类对象为第一类可变文本类对象,无需排版计算文本的输出文字,直接将该可变文本类对象的描述信息映射到文本打印指令输出打印。响应于该可变文本类对象为第二类可变文本类对象,依据该可变文本类对象的对齐、自动换行、缩进、行首对齐、多行合一、所在页面大小等属性先排版计算各片段文本图元输出位置信息,然后再映射到文本打印指令输出打印。
对于复合对象集合中的每个复合对象,动态计算该复合对象的红色边框线的线长以及线起始位置,然后依据该复合对象的描述信息映射到相应的复合输出指令进行输出打印。对输出指令集、图像绘制指令集、文本打印指令集和复合输出指令集进行实时打印输出。
在一些实施例的一些可选的实现方式中,响应于接收到用户输入的调整请求,根据打印对象集合和页面数据集合对目标电子文件进行可视化预览排版调整,以得到调整电子文件。将调整电子文件确定为目标电子文件以供打印输出。具体的,调整电子文件可将调整信息同步到目标电子文件进行实时打印输出,从而做到预览呈现与打印(可视化与非可视化后台)一体化,且动态打印呈现的内容可定制扩展。具体的,实际应用中已经出现了相当多的需要实时动态打印的内容,这些内容是未知可变的,而且其中有些内容仅仅提供初始打印输出位置,例如固定在某页页眉右上角空白区域的某个起始位置是不够的:可能越界超出打印范围,而且还需要依据一定的规则动态排版才能给出确切的对应内容的打印区域。可视化预览排版调整包括跨页拖动、居中对齐、自动换行、缩进、行首对齐、多行合一、需要依据页面大小、排版中心(版心)等信息动态实时排版、位置调整等。
可选的,基于打印对象集合,确定可变对象初始位置信息集合。其中,可变对象初始位置信息集合中的可变对象初始位置信息为打印对象集合中的可变对象集合中的可变对象的初始位置信息。根据调整请求和可变对象初始位置信息集合,生成可变对象位置信息集合。可选的,根据可变对象初始位置信息集合,获取初始区域大小、初始文档页码和区域判断指标。其中,区域判断指标用于表征鼠标光标是否在可变对象初始位置信息集合对应的页面区域内。根据调整请求和初始区域大小、初始文档页码、区域判断指标,生成可变对象位置信息集合。根据可变对象位置信息集合和页面数据集合,生成调整电子文件。具体的,调整请求可以是鼠标拖拽移动,调整请求也可以是鼠标滚动,调整请求还可以是跳转到页面合适位置的移动指令。具体的,响应于确定鼠标光标在可变对象初始位置信息集合对应的页面区域内,更新鼠标光标为准备移动光标以及设置准备移动标记,绘制该可变对象的外边框。
具体的,确定可变对象的移动。擦除上一次该可变对象移动后绘制的上述外边框。响应于调整请求为鼠标拖拽移动,标记该可变对象处于移动中且标记鼠标左键按下,在上述鼠标拖拽移动过程中不断绘制新区域并更新上述区域的起始坐标位置,以及确定该可变对象跨页,则更新当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同。响应于确定上述前后页码不同,则刷新绘制呈现新页码内容,其中上述新页码内容包括上述可变对象。响应于调整请求为鼠标滚动,标记该可变对象处于滚动中直到鼠标左右键按下或键盘键按下取消上述滚动标记,在上述鼠标滚动过程中不断绘制上述新区域并更新上述区域的上述起始坐标位置,以及确定上述可变对象跨页,则不断更新上述鼠标滚动过程中上述当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同。响应于确定上述前后页码不同,则刷新绘制呈现上述新页码内容,其中,上述新页码内容包括上述可变对象。响应于调整请求为方向键按下,则在上述可变对象移动中不断绘制上述新区域并更新上述区域的上述起始坐标位置,以及确定上述可变对象跨页,则不断更新上述当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同。响应于确定上述前后页码不同,则刷新绘制呈现上述新页码内容,其中,上述新页码内容包括上述可变对象。响应于调整请求为在右键弹出输入框中键入上述可变对象的上述新页码、新的起始坐标值,则更新上述可变对象的上述新页码和新位置。
可选的,根据调整请求和初始区域大小、初始文档页码、区域判断指标,生成可变对象位置信息集合。具体的,响应于调整请求为鼠标拖拽移动或滚动上述可变对象,以及鼠标左键或者方向键按下弹起时,确定此时上述鼠标光标所在的页码,并比较初始鼠标按下状态时的页码,确定上述可变对象允许跨页且在上述页码不同时更新页码,同时更新上述可变对象的上述新位置,并刷新上述新页码内容和呈现上述新位置的上述可变对象。最后恢复之前设置的标记。响应于直接输入跳转到页面的位置值,则更新上述新页码和新位置,并刷新上述新页码内容和呈现上述新位置的上述可变对象,最后恢复之前设置的上述标记。
图7给出本公开的一些实施例的可变对象定位的流程图。上述执行主体在提供可视化预览文档的排版调整,即是执行主体对可视化可变对象实现定位,上述定位包括对可变对象例如贴条进行选择、确定由鼠标拖拽移动或滚动或跳转到页面合适位置的移动,确定最终位置例如第二页居中。
图9给出本公开的一些实施例的可变对象打印后的效果图。上述执行主体实施可变对象的打印后,呈现和打印效果图如图9所示。具体的,图9中给出的示例为静态页面对象加上可变对象呈现出的打印效果图。原始文件中只有“http://www.***.com;”字样,“http://www.***.com;”字样为静态页面对象。其余为动态贴条和贴图信息,即可变对象,其中贴条信息“应急批注”允许跨页。其它贴条信息例如“报请李一”只允许在本页范围内拖拽移动。其中二维码为贴图对象。图9给出了针对包括静态页面对象和可变对象的可视化预览文档的打印效果图。
在一些实施例的一些可选的实现方式中,响应于目标电子文件关闭,将可变对象位置信息集合保存到目标电子文件中。其中,可变对象位置信息集合可以包括:可变对象的内容信息、可变对象大小信息、可变对象位置信息。可变对象位置信息集合可以是目标电子文件在执行过程中发生变化的内容。执行主体在关闭目标电子文件时或者保存新增加的贴条或者变更的贴条内容时,可以将上述新增加的贴条和变更的贴条内容保存到目标电子文件中。
本公开的一些实施例提供的方法通过对目标电子文件实时打印输出,可以提高打印效率,以及在实时打印中提供可视化预览文档的排版调整,可以实现自适应动态打印内容,即动态打印呈现的内容可定制扩展。
在一些实施例的一些可选的实现方式中,上述可变对象采用动态参数描述。其中,执行主体既可以采用XML方式描述,也可以采用其他特定编程语言的结构例如:Java、C#、C++/C、PHP或类型参数来表达可变对象内容,包括可变的文本内容及其关联的字体名称、颜色、对齐、输出页码位置等静态属性以及动态排版文本换行缩进对齐多行合一等属性。
在一些实施例的一些可选的实现方式中,该电子文件的实时输出方法还包括初始化输出设备分辨率。其中,执行主体可以初始化输出设备的分辨率。例如常见显示设备分辨率为96每英寸点数(Dots Per Inch,dpi),而当前多数打印设备分辨率为300+dpi。该分辨率是显示所见与打印所得一致的基础参数。
在一些实施例的一些可选的实现方式中,该电子文件的实时输出方法还包括:响应于原始待显示或打印的格式数据,则采用内置的显示或打印软件开发工具包(SDK)接口输出该原始数据。其中,软件开发工具包一般都是软件工程师为特定的软件包、软件框架、硬件平台、操作***等集合,一般而言SDK即开发Windows平台下的应用程序所使用的SDK。执行主体可以利用Windows平台内置的软件开发工具包来显示或者打印原始的格式数据。
图2给出的一个实施例具有如下有益效果:获取打印参数集合和目标电子文件,其中,打印参数集合为目标电子文件对应的打印相关限定参数集合;从打印参数中解析出打印对象集合;从目标电子文件中解析出页面数据集合,其中,页面数据集合包括版式文档页面数据集合和流式文档页面数据集合;根据打印对象集合和页面数据集合实时打印输出目标电子文件。该实施方式能够同步展示电子文件中的动态内容变化情况,实现电子文档的可视化预览排版,同时实时打印电子文件中的动态内容,提高电子文件输出效率,减少了电子文件输出的资源消耗。
进一步参考图10,作为对上述各图上述方法的实现,本公开提供了一种电子文件的实时输出装置的一些实施例,这些装置实施例与图2上述的那些方法实施例相对应,该装置具体可以应用于各种终端设备中。
如图10所示,一些实施例的电子文件的实时输出装置1000,装置包括:获取单元1001,第一解析单元1002、第二解析单元1003、输出单元1004。其中,获取单元1001,被配置成获取打印参数集合和目标电子文件,其中,打印参数集合为目标电子文件对应的打印相关限定参数集合。第一解析单元1002,被配置成从打印参数中解析出打印对象集合,其中,打印对象集合包括可变对象集合和固定对象集合,可变对象集合包括可变图像类对象集合、可变文本类对象集合和复合对象集合,可变文本类对象集合包括第一类可变文本类对象集合和第二类可变文本类对象集合,固定对象集合包括原始图元对象集合。第二解析单元1003,被配置成从目标电子文件中解析出页面数据集合,其中,页面数据集合包括版式文档页面数据集合和流式文档页面数据集合。输出单元1004,被配置成根据打印对象集合和页面数据集合实时打印输出目标电子文件。
可以理解的是,该装置1000中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置1000及其中包含的单元,在此不再赘述。
下面参考图11,其示出了适于用来实现本公开的一些实施例的电子设备1100的结构示意图。图11示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储装置408加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM1103中,还存储有电子设备1100操作所需的各种程序和数据。处理装置1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
通常,以下装置可以连接至I/O接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1107;包括例如存储卡等的存储装置1108;以及通信装置1109。通信装置1109可以允许电子设备1100与其他设备进行无线或有线通信以交换数据。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。
需要说明的是,本公开的实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种电子文件的实时输出方法,包括:
获取打印参数集合和目标电子文件,其中,所述打印参数集合为所述目标电子文件对应的打印相关限定参数集合;
从所述打印参数集合中解析出打印对象集合,其中,所述打印对象集合包括可变对象集合;
从所述目标电子文件中解析出页面数据集合;
根据所述打印对象集合和所述页面数据集合实时打印输出目标电子文件;
其中,所述根据所述打印对象集合和所述页面数据集合实时打印输出目标电子文件,包括:
响应于接收到用户输入的调整请求,根据所述打印对象集合和所述页面数据集合对所述目标电子文件进行可视化预览排版调整,以得到调整电子文件;
将所述调整电子文件确定为目标电子文件以供打印输出;
其中,所述根据所述打印对象集合和所述页面数据集合对所述目标电子文件进行可视化预览排版调整,以得到调整电子文件,包括:
基于所述打印对象集合,确定可变对象初始位置信息集合,其中,所述可变对象初始位置信息集合中的可变对象初始位置信息为所述打印对象集合中的所述可变对象集合中的可变对象的初始位置信息;
根据所述调整请求和所述可变对象初始位置信息集合,生成可变对象位置信息集合;
根据所述可变对象位置信息集合和所述页面数据集合,生成所述调整电子文件;
其中,所述根据所述调整请求和所述可变对象初始位置信息集合,生成可变对象位置信息集合,包括:
根据所述可变对象初始位置信息集合,获取初始区域大小、初始文档页码和区域判断指标,其中,所述区域判断指标用于表征鼠标光标是否在所述可变对象初始位置信息集合对应的页面区域内;
根据所述调整请求和所述初始区域大小、所述初始文档页码、所述区域判断指标,生成所述可变对象位置信息集合;
其中,所述调整请求是鼠标拖拽移动、鼠标滚动或跳转到页面合适位置的移动指令,响应于确定鼠标光标在可变对象初始位置信息集合对应的页面区域内,更新鼠标光标为准备移动光标以及设置准备移动标记,绘制所述可变对象的外边框,确定可变对象的移动,擦除上一次所述可变对象移动后绘制的所述外边框,响应于调整请求为鼠标拖拽移动,标记所述可变对象处于移动中且标记鼠标左键按下,在所述鼠标拖拽移动过程中不断绘制新区域并更新所述区域的起始坐标位置,以及确定所述可变对象跨页,则更新当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同,响应于确定所述前后页码不同,则刷新绘制呈现新页码内容,其中所述新页码内容包括所述可变对象,响应于调整请求为鼠标滚动,标记所述可变对象处于滚动中直到鼠标左右键按下或键盘键按下取消所述滚动标记,在所述鼠标滚动过程中不断绘制所述新区域并更新所述区域的所述起始坐标位置,以及确定所述可变对象跨页,则不断更新所述鼠标滚动过程中所述当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同,响应于确定所述前后页码不同,则刷新绘制呈现所述新页码内容,其中,所述新页码内容包括所述可变对象,响应于调整请求为方向键按下,则在所述可变对象移动中不断绘制所述新区域并更新所述区域的所述起始坐标位置,以及确定所述可变对象跨页,则不断更新所述当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同,响应于确定所述前后页码不同,则刷新绘制呈现所述新页码内容,其中,所述新页码内容包括所述可变对象,响应于调整请求为在右键弹出输入框中键入所述可变对象的所述新页码、新的起始坐标值,则更新所述可变对象的所述新页码和新位置。
2.根据权利要求1所述的方法,其中,所述打印对象集合还包括固定对象集合,所述可变对象集合包括可变图像类对象集合、可变文本类对象集合和复合对象集合,所述可变文本类对象集合包括第一类可变文本类对象集合和第二类可变文本类对象集合,所述固定对象集合包括原始图元对象集合;以及
所述根据所述打印对象集合和所述页面数据集合实时打印输出所述目标电子文件,包括:
将所述原始图元对象集合中的每个原始图元对象输出为输出指令,以得到输出指令集,其中,所述输出指令集中的输出指令为页面绘制指令;
根据所述可变图像类对象集合中的每个可变图像类对象的对象参数集生成图像绘制指令,以得到图像绘制指令集,其中,所述对象参数集包括位置坐标对、图像大小尺寸、图像地址和图像内存数据信息;
根据所述可变文本类对象集合中的每个可变文本类对象生成文本打印指令,以得到文本打印指令集;
根据所述复合对象集合中的每个复合对象生成复合输出指令,以得到复合输出指令集;
对所述输出指令集、所述图像绘制指令集、所述文本打印指令集、所述复合输出指令集和所述页面数据集合进行实时打印输出。
3.根据权利要求2所述的方法,其中,所述根据所述可变文本类对象集合中的每个可变文本类对象生成文本打印指令,包括:
响应于该可变文本类对象为第一类可变文本类对象,将该可变文本类对象映射到所述文本打印指令。
4.根据权利要求3所述的方法,其中,所述根据所述可变文本类对象集合中的每个可变文本类对象生成文本打印指令,包括:
响应于该可变文本类对象为第二类可变文本类对象,根据预先确定的属性集合生成该可变文本类对象的文本图元输出位置信息集合,其中,所述预先确定的属性集合包括对齐属性、换行属性、缩进属性、行首对齐属性、多行合一属性和页面大小属性;
根据所述文本图元输出位置信息集合,生成所述文本打印指令。
5.根据权利要求4所述的方法,其中,所述可变对象集合中的可变对象采用动态参数描述。
6.根据权利要求1或5任一所述的方法,还包括:
响应于所述目标电子文件关闭,将所述可变对象位置信息集合保存到所述目标电子文件中。
7.一种电子文件的实时输出装置,包括:
获取单元,被配置成获取打印参数集合和目标电子文件,其中,所述打印参数集合为所述目标电子文件对应的打印相关限定参数集;
第一解析单元,被配置成从所述打印参数集合中解析出打印对象集合,其中,所述打印对象集合包括可变对象集合;
第二解析单元,被配置成从所述目标电子文件中解析出页面数据集合;
输出单元,被配置成根据所述打印对象集合和所述页面数据集合实时打印输出目标电子文件;
其中,所述输出单元,进一步被配置成:响应于接收到用户输入的调整请求,根据所述打印对象集合和所述页面数据集合对所述目标电子文件进行可视化预览排版调整,以得到调整电子文件;将所述调整电子文件确定为目标电子文件以供打印输出;
其中,所述根据所述打印对象集合和所述页面数据集合对所述目标电子文件进行可视化预览排版调整,以得到调整电子文件,包括:
基于所述打印对象集合,确定可变对象初始位置信息集合,其中,所述可变对象初始位置信息集合中的可变对象初始位置信息为所述打印对象集合中的所述可变对象集合中的可变对象的初始位置信息;
根据所述调整请求和所述可变对象初始位置信息集合,生成可变对象位置信息集合;
根据所述可变对象位置信息集合和所述页面数据集合,生成所述调整电子文件;
其中,所述根据所述调整请求和所述可变对象初始位置信息集合,生成可变对象位置信息集合,包括:
根据所述可变对象初始位置信息集合,获取初始区域大小、初始文档页码和区域判断指标,其中,所述区域判断指标用于表征鼠标光标是否在所述可变对象初始位置信息集合对应的页面区域内;
根据所述调整请求和所述初始区域大小、所述初始文档页码、所述区域判断指标,生成所述可变对象位置信息集合;
其中,所述调整请求是鼠标拖拽移动、鼠标滚动或跳转到页面合适位置的移动指令,响应于确定鼠标光标在可变对象初始位置信息集合对应的页面区域内,更新鼠标光标为准备移动光标以及设置准备移动标记,绘制所述可变对象的外边框,确定可变对象的移动,擦除上一次所述可变对象移动后绘制的所述外边框,响应于调整请求为鼠标拖拽移动,标记所述可变对象处于移动中且标记鼠标左键按下,在所述鼠标拖拽移动过程中不断绘制新区域并更新所述区域的起始坐标位置,以及确定所述可变对象跨页,则更新当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同,响应于确定所述前后页码不同,则刷新绘制呈现新页码内容,其中所述新页码内容包括所述可变对象,响应于调整请求为鼠标滚动,标记所述可变对象处于滚动中直到鼠标左右键按下或键盘键按下取消所述滚动标记,在所述鼠标滚动过程中不断绘制所述新区域并更新所述区域的所述起始坐标位置,以及确定所述可变对象跨页,则不断更新所述鼠标滚动过程中所述当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同,响应于确定所述前后页码不同,则刷新绘制呈现所述新页码内容,其中,所述新页码内容包括所述可变对象,响应于调整请求为方向键按下,则在所述可变对象移动中不断绘制所述新区域并更新所述区域的所述起始坐标位置,以及确定所述可变对象跨页,则不断更新所述当前鼠标光标移动过程中的所在页码,并比较前后页码是否不同,响应于确定所述前后页码不同,则刷新绘制呈现所述新页码内容,其中,所述新页码内容包括所述可变对象,响应于调整请求为在右键弹出输入框中键入所述可变对象的所述新页码、新的起始坐标值,则更新所述可变对象的所述新页码和新位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185218.5A CN113703699B (zh) | 2021-10-12 | 2021-10-12 | 电子文件的实时输出方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185218.5A CN113703699B (zh) | 2021-10-12 | 2021-10-12 | 电子文件的实时输出方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703699A CN113703699A (zh) | 2021-11-26 |
CN113703699B true CN113703699B (zh) | 2023-05-05 |
Family
ID=78662765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111185218.5A Active CN113703699B (zh) | 2021-10-12 | 2021-10-12 | 电子文件的实时输出方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703699B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113031885A (zh) * | 2021-03-22 | 2021-06-25 | 珠海奔图电子有限公司 | 文件打印预览方法及装置、文件打印*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4393208B2 (ja) * | 2004-01-19 | 2010-01-06 | キヤノン株式会社 | 印刷制御装置、制御方法、及びプログラム |
CN108052491B (zh) * | 2017-11-22 | 2021-02-26 | 中贸促商事服务有限公司 | 一种证件文档的自动处理方法和装置 |
-
2021
- 2021-10-12 CN CN202111185218.5A patent/CN113703699B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113031885A (zh) * | 2021-03-22 | 2021-06-25 | 珠海奔图电子有限公司 | 文件打印预览方法及装置、文件打印*** |
Also Published As
Publication number | Publication date |
---|---|
CN113703699A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8593666B2 (en) | Method and system for printing a web page | |
US7949942B2 (en) | System and method for identifying line breaks | |
CN100356372C (zh) | 计算机版式文件生成方法和打开方法 | |
JP5679322B2 (ja) | 最小フォントサイズを強制するための方法 | |
CN107301046B (zh) | 图标的处理方法和装置、计算机设备和存储介质 | |
US11281849B2 (en) | System and method for printable document viewer optimization | |
KR20090037264A (ko) | 인터넷을 이용한 로고제작방법 | |
CN109815451B (zh) | 一种pdf生成方法、装置及设备 | |
JP6228106B2 (ja) | 編集可能な形式への変換防止のためのページ記述言語出力の難読化 | |
US12008691B2 (en) | Systems and methods for clipping images | |
CN113703699B (zh) | 电子文件的实时输出方法和装置 | |
KR101345726B1 (ko) | 웹페이지 캡쳐 화면 인쇄 방법 | |
US9116643B2 (en) | Retrieval of electronic document using hardcopy document | |
US9965446B1 (en) | Formatting a content item having a scalable object | |
EP2310963B1 (en) | Information output apparatus, information output method, and recording medium | |
CN113655973A (zh) | 页面分割方法、装置、电子设备及存储介质 | |
CN114676097A (zh) | 一种ofd文件处理方法、装置、设备及介质 | |
KR20100031784A (ko) | 웹페이지 캡쳐 화면 인쇄 방법 | |
US8762830B2 (en) | Rendering data in the correct z-order | |
US10606928B2 (en) | Assistive technology for the impaired | |
US9177394B2 (en) | Image processing device | |
CN114491097A (zh) | 将网页转换为演示文稿ppt的方法、装置和设备 | |
US9619865B2 (en) | Resolution-independent display list | |
CN117934652A (zh) | 一种海报生成方法、装置、计算机可读存储介质及服务器 | |
CN117236288A (zh) | Pdf账单生成方法、装置、电子设备及存储介质 |
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 |