CN115329720A - 一种文档展示方法、装置、设备及存储介质 - Google Patents
一种文档展示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115329720A CN115329720A CN202211134319.4A CN202211134319A CN115329720A CN 115329720 A CN115329720 A CN 115329720A CN 202211134319 A CN202211134319 A CN 202211134319A CN 115329720 A CN115329720 A CN 115329720A
- Authority
- CN
- China
- Prior art keywords
- document
- font
- information
- canvas
- target data
- 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 49
- 238000009877 rendering Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000003786 synthesis reaction Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 13
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开提供了一种文档展示方法、装置、设备及存储介质,涉及数据处理领域,尤其涉及文本处理领域。具体实现方案为:响应于文档的展示请求,通过动态库创建用于展示文档的画布;获取文档对应的目标数据,目标数据包括文档的字体信息;在确定字体库中不存在字体信息中的字体时,调用动态库创建字体信息对应的隐藏的标签;调用标签使用字体信息中的字体,以使字体信息中的字体加载至字体库;按照字体信息中的字体将文档渲染至画布。通过实施本公开,向用户展示文档时,可以保留原文档的排版,且使得字体也保持一致,可以还原原文档的全貌。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及文本处理技术领域。
背景技术
文库拥有几亿文档,包括word、excel、pdf、ppt等不同类型文档。对于word、pdf、ppt和excel文档展示,目前文库小程序使用的流式排版,流式排版是把文档内容提取出来,然后前端进行渲染。这种方式最大的缺点是无法还原文档的真实样貌,丢失了文档原有的排版。
发明内容
本公开提供了一种文档展示方法、装置、设备及存储介质。
根据本公开的一方面,提供了一种文档展示方法,包括:响应于文档的展示请求,通过动态库创建用于展示文档的画布;获取文档对应的目标数据,目标数据包括文档的字体信息;在确定字体库中不存在字体信息中的字体时,调用动态库创建字体信息对应的隐藏的标签;调用标签使用字体信息中的字体,以使字体信息中的字体加载至字体库;按照字体信息中的字体将文档渲染至画布。
根据本公开的另一方面,提供了一种文档展示装置,包括:创建单元,用于响应于文档的展示请求,通过动态库创建用于展示文档的画布;获取单元,用于获取文档对应的目标数据,目标数据包括文档的字体信息;第一调用单元,用于在确定字体库中不存在字体信息中的字体时,调用动态库创建字体对应的隐藏的标签;第二调用单元,用于调用标签使用字体信息中的字体,以使字体信息中的字体加载至字体库;渲染单元,用于按照字体信息中的字体将文档渲染至画布。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面或第一方面任意实施方式中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据第一方面或第一方面任意实施方式中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据第一方面或第一方面任意实施方式中的方法。
本公开实施例提供的文档展示方法、装置、设备、存储介质及计算机程序产品,通过采用动态库创建画布的能力,创建用于展示文档的画布,在确定字体库中不存在字体信息中的字体时,继续采用动态库创建隐藏的标签的能力,创建一个隐藏的标签,调用该隐藏的标签去使用字体信息中的字体,使得字体信息中的字体加载至字体库,从而可以被画布所使用,然后再按照文档对应的字体信息中的字体将文档渲染至画布,从而将文档渲染至画布,向用户展示文档时,不仅可以保留原文档的排版,且使得字体也保持一致,可以还原原文档的全貌,从而当用户需要下载文档时,可以使得下载下来的文档的版式与字体与用户实际看到的一致,可以提高用户体验。同时,通过在画布上绘制文档内容的形式还能够对文档进行功能的扩充,比如,提供画笔,对文档进行标记、涂鸦;Wap文档导出长图可以从原来的6秒缩短到100毫秒;反作弊,可以防止用户通过干扰源码执行进行复制文档内容,比如禁用操作文档对象模型获取文本内容等。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一种文档展示方法的示意图;
图2是根据本公开另一种文档展示方法的示意图;
图3是根据本公开另一种文档展示方法的示意图;
图4是根据本公开一种文档展示装置的结构示意图;
图5是用来实现本公开实施例的文档展示方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开实施例提供了一种文档展示方法,可适用于在小程序、PC、移动端网页(wap)等中进行文档展示,如图1所示,文档展示方法包括:
S101.响应于文档的展示请求,通过动态库创建用于展示文档的画布。
在本实施例中,文档类型包括word、excel、pdf、ppt等。当用户在文库中查找到想要阅读的文档时,可以通过电子设备的输入工具,例如鼠标、键盘等向电子设备输入文档展示请求。当电子设备收到用户对文档的展示请求时,可以通过动态库在预览页面,例如文档阅读器、浏览器等中创建展示文档的画布。动态库可以是小程序、PC或wap自带的,也可以是用户预先下载的。画布能够提供应用程序编程接口(API),可以通过该接口使用爪哇脚本(JavaScript,JS)进行图片和文本的绘制,可以用于动画、游戏、数据可视化、图片编辑以及实时视频处理等方面。本申请实施例充分利用了画布的特性。
S102.获取文档对应的目标数据,目标数据包括文档的字体信息。
在本实施例中,在前端采用画布对文档进行渲染之前,后端会向前端下发该文档的目标数据,提供文档的具体内容。
在一些实施例中,目标数据包括但不限于文档中的文本信息及图片信息。文本信息包括但不限于文字、文字在页面中的第三位置及文字对应的字体信息。图片信息包括但不限于文档中的图片及图片在页面中的第一位置。字体信息包括字体、字体大小、字体颜色、字重等。文档对应的目标数据可以在用户上传文档至文库时,就对文档进行解析,进而得到文档对应的目标数据。可以采用高级编程语言JavaScript来对文档进行解析,得到文档对应的目标数据。
S103.在确定字体库中不存在字体信息中的字体时,调用动态库创建字体信息对应的隐藏的标签。
在本实施例中,获取到文档对应的目标数据后,可以确定字体信息中的字体,由于文档中可以使用不同的字体,用户电子设备上也不可能同时存在每种字体,为了能够让文档使用原有的字体进行渲染,需要确保字体库中加载了文档的字体。而目前文库对字体是懒加载的,只有字体被使用过,才会触发字体加载,因此,即使目标数据中包括了文档的字体,如果字体库中不存在该字体,则画布仍然不能使用该字体。因此,可以通过判断字体库中是否存在字体信息中的字体,在字体库中不存在该字体的情况下,可以沿用动态库的能力,创建一个隐藏的标签,通过该标签来使用字体信息中的字体,从而触发字体信息中的字体加载至字体库。创建一个隐藏的标签,是为了使得用户在预览页面中对该标签不可见,可以提高用户体验。
S104.调用标签使用字体信息中的字体,以使字体信息中的字体加载至字体库。
在本实施例中,在创建了隐藏的标签之后,就可以调用该标签使用字体信息中的字体,从而可以使得字体信息中的字体被使用过,从而触发字体信息中的字体加载至字体库,从而画布在绘制文档的文本时,可以采用字体信息中的字体,使得绘制的文档与原文档的字体相同。
S105.按照字体信息中的字体将文档渲染至画布。
在本实施例中,当字体库中存在原文档的字体后,就可以按照字体信息中的字体、字体大小、字体颜色、字重等设置绘制文本时的参数信息,然后按照文字在页面中的第三位置将文字绘制到画布上,按照图片在页面中的位置将图片绘制到画布上。
本公开实施例提供的文档展示方法,通过采用动态库创建画布的能力,创建用于展示文档的画布,在确定字体库中不存在字体信息中的字体时,继续采用动态库创建隐藏的标签的能力,创建字体信息对应的隐藏的标签,调用该隐藏的标签去使用字体信息中的字体,使得字体信息中的字体加载至字体库,从而可以被画布所使用,然后再按照文档对应的字体信息将文档渲染至画布,从而将文档渲染至画布,向用户展示文档时,可以保留原文档的排版,且使得字体也保持一致,可以还原原文档的全貌,从而当用户需要下载文档时,可以使得下载下来的文档的版式与字体与用户实际看到的一致,可以提高用户体验。同时,通过在画布上绘制文档内容的形式还能够对文档进行功能的扩充,比如,提供画笔,对文档进行标记、涂鸦;Wap文档导出长图可以从原来的6秒缩短到100毫秒;反作弊,可以防止用户通过干扰源码执行进行复制文档内容,比如禁用操作文档对象模型获取文本内容等。
在一个可选的实施例中,由于文档上传文库的时间比用户在文库中阅读、下载文档的时间要早,因此,在用户上传文档至文库时,就可以直接对文档进行解析,获得文档对应的目标数据,然后进行保存,得到保存地址,也即目标数据的地址,从而当用户需要阅读文档时,可以不用实时对文档进行解析,根据目标数据的地址就可以快速查找到文档对应的目标数据,可以提高显示文档的速度。因此,在步骤S101,响应于文档的展示请求之前,如图2所示,文档展示方法还包括:
S202.识别文档中的文本信息及子图片信息,文本信息包括文档中的文字、文字在页面中的第三位置及文字对应的字体信息,子图片信息包括文档中的子图片以及各子图片在页面中的第一位置。
在本实施例中,可以通过文本识别工具识别文档中每个页面的文字、文字对应的字体信息、文字在页面中的第三位置。通过图片识别工具识别文档中每个页面的各子图片,各子图片在文档中的第一位置。
S202.将子图片合成为一张图片,根据图片及图片中各子图片在页面中的第一位置,形成图片信息。
在本实施例中,由于画布在绘制图片之前需要先下载图片,下载完成后再把图片绘制到画布上,因此,为了减少同一页面中图片下载的次数,可以将同一页面中的子图片合成为一张图片,合成图片时,可以对子图片进行旋转、伸缩、透明度处理,合成图片时,需要记录每个子图片的大小、每个子图片处于图片的位置,每个子图片在页面中的第一位置,子图片进行的处理过程等,并根据合成的图片及图片中各子图片在页面中的第一位置,形成图片信息。
S203.保存文本信息及图片信息,得到目标数据。
在本实施例中,保存文本信息及图片信息时,可以按照每个页面分别进行保存。
S204.根据保存文本信息及图片信息的保存地址得到目标数据的地址。
在本实施例中,保存文本信息及图片信息,可以得到一个保存地址,即为目标数据的地址。
在一个可选的实施例中,步骤S102,获取文档对应的目标数据,包括:获取文档对应的目标数据的地址;在判定不存在目标数据的地址对应的缓存页面的情况下,根据目标数据的地址下载目标数据。在判定存在目标数据的地址对应的缓存页面的情况下,从缓存页面中获取目标数据,缓存页面包括文档对应的文本信息及图片信息。
具体地,由于文档上传文库的时候,就对文档进行了解析,保存了文档对应的目标数据,并得到了文档对应的目标数据的地址。因此,在获取文档对应的目标数据时,可以先获取文档对应的目标数据的地址。例如先获取文档首页的目标数据的地址。
在该用户阅读文档之前,可能存在其他用户已经阅读该文档,而在其他用户阅读该文档的过程中,也会对文档对应的目标数据进行下载,保存为缓存页面,因此,为了减少计算资源的浪费和重复下载,获得了文档对应的目标数据的地址之后,可以判断是否存在目标数据的地址对应的缓存页面,如果判定不存在目标数据对应的缓存页面的情况下,再去从目标数据的地址下载目标数据,进而进行渲染。
如果判定存在目标数据对应的缓存页面的情况下,就可以从缓存页面中获取到目标数据,而不用再次下载目标数据,可以减少下载目标数据的时间和计算资源。
在一个可选的实施例中,在步骤S204,保存文本信息及图片信息之前,文档展示方法还包括:
将文本信息及图片信息转换为目标格式的数据。
具体地,对于同一个阅读器或浏览器,一般只能支持一种类型的文档。在本公开实施例中,为了使得同一阅读器或浏览器能够支持多种类型的文档,在对文档进行解析后,会将文本信息及图片信息转换为目标格式的数据,这个目标格式可以自定义。然后将目标格式的数据进行保存。从而当用户需要阅读文档时,获取到文档对应的目标数据后,阅读器或浏览器采用与该目标格式对应的解析器对目标数据进行解析,就可以得到与原文档相同类型的解析数据,从而使得同一阅读器或浏览器可以同时支持多种类型的文档的展示,例如,word、pdf、ppt和txt文档。
在一个可选的实施例中,步骤S105,按照字体信息中的字体将文字及图片渲染至画布,包括:
根据文档中文字及图片的堆叠顺序,按照字体信息中的字体将文字渲染至画布,将图片渲染至画布。
具体地,文档内容具有层级关系,也即文档的堆叠顺序不一致,如果对文档内容进行绘制时,不考虑文字及图片的堆叠顺醋,有些图片会覆盖在文字的上面。为了能够让文档展示不会出现被覆盖的情况,本公开实施例采用了顺序渲染的方式,按照图片和文本的堆叠顺序,将文字和图片顺序渲染至画布上,从而可以避免文字被图片覆盖的情况。
使用画布绘制的唯一缺点是不能享受到文档对象模型元素默认提供的交互功能,比如滑动选中文本,复制、点击事件等,而文本复制,是用户的高频操作,因此,在一个可选的实施例中,在步骤S105,按照字体信息中的字体将文档渲染至画布之后,如图3所示,文档展示方法还包括:
S106.记录文字及图片在画布中的第二位置。
在本实施例中,在将文字和图片绘制到画布中时,可以实时记录文字和图片绘制到画布中的第二位置。
S107.在画布上创建第二画布;具体地,第二画布完全覆盖上述实施例中的画布,与画布完全重叠。第二画布的内容为空,且为透明。从而当鼠标或用户手指在第二画布上滑动时,可获得滑动的坐标,如果滑动的坐标与文字的坐标重合,即可对文字进行选中。
S108.调用动态库在第二画布上创建文档对象模型,以使文档对象模型基于文字及图片在画布中的第二位置对文档进行编辑。具体地,调用动态库在第二画布上创建文档对向模型,从而对文字进行选中之后,可以将选中的文字进行高亮标记。进而对文字进行复制、删除、标记、划线等操作,但这些操作时在第二画布上进行的,不会对第一画布的文档内容造成影响。
在本实施例中,通过记录文字及图片在画布中的第二位置,在画布上创建第二画布,调用动态库在第二画布上创建文档对象模型,从而可以实现对文档进行复制等交互操作,且由于交互操作是在第二画布上进行操作,不会对第一画布上的文档内容产生影响,从而当用户想要恢复的时候,不需要重新在画布上绘制文本。
本公开实施例还提供了一种文档展示装置,可适用于在小程序、PC、移动端网页(wap)等中进行文档展示,如图4所示,文档展示装置包括:
创建单元21,用于响应于文档的展示请求,通过动态库创建用于展示文档的画布;具体实施方式详见上述方法实施例步骤S101的描述,在此不再赘述。
获取单元22,用于获取文档对应的目标数据,目标数据包括文档的字体信息;具体实施方式详见上述方法实施例步骤S102的描述,在此不再赘述。
第一调用单元23,用于在确定字体库中不存在字体信息中的字体时,调用动态库创建字体信息对应的隐藏的标签;具体实施方式详见上述方法实施例步骤S103的描述,在此不再赘述。
第二调用单元24,用于调用标签使用字体信息中的字体,以使字体信息中的字体加载至字体库;具体实施方式详见上述方法实施例步骤S104的描述,在此不再赘述。
渲染单元25,用于按照字体信息中的字体将文本及图片渲染至画布。具体实施方式详见上述方法实施例步骤S105的描述,在此不再赘述。
本公开实施例提供的文档展示装置,通过采用动态库创建画布的能力,创建用于展示文档的画布,在确定字体库中不存在字体信息中的字体时,继续采用动态库创建隐藏的标签的能力,创建一个隐藏的标签,调用该隐藏的标签去使用字体信息中的字体,使得字体信息中的字体加载至字体库,从而可以被画布所使用,然后再按照字体信息中的字体将文档渲染至画布,从而将文档渲染至画布,向用户展示文档时,可以保留原文档的排版,且使得字体也保持一致,可以还原原文档的全貌,从而当用户需要下载文档时,可以使得下载下来的文档的版式与字体与用户实际看到的一致,可以提高用户体验。同时,通过在画布上绘制文档内容的形式还能够对文档进行功能的扩充,比如,提供画笔,对文档进行标记、涂鸦;Wap文档导出长图可以从原来的6秒缩短到100毫秒;反作弊,可以防止用户通过干扰源码执行进行复制文档内容,比如禁用操作文档对象模型获取文本内容等。
在一个可选的实施例中,获取单元包括:获取子单元,用于获取文档对应的目标数据的地址;第一判定子单元,用于在判定不存在目标数据的地址对应的缓存页面的情况下,根据目标数据的地址下载目标数据。
在一个可选的实施例中,获取单元还包括:第二判定子单元,用于在判定存在目标数据的地址对应的缓存页面的情况下,从缓存页面中获取目标数据。
在一个可选的实施例中,在创建单元之前,装置还包括:识别单元,用于识别文档中的文本信息及子图片信息,文本信息包括文档中的文字及文字对应的字体信息,子图片信息包括文档中的子图片以及各子图片在页面中的第一位置;合成单元,用于将子图片合成为一张图片,根据图片及图片中各子图片在页面中的第一位置,形成图片信息;保存单元,用于保存文本信息及图片信息,得到目标数据;得到单元,用于根据保存文本信息及图片信息的保存地址得到目标数据的地址。
在一个可选的实施例中,在保存单元之前,装置还包括:转换单元,用于将文本信息及图片信息转换为目标格式的数据。
在一个可选的实施例中,渲染单元包括:渲染子单元,用于根据文档中文字及图片的堆叠顺序,按照字体信息中的字体将文字渲染至画布,将图片渲染至画布。
在一个可选的实施例中,在渲染单元之后,装置还包括:记录单元,用于记录文字及图片在画布中的第二位置;第二创建单元,用于在画布上创建第二画布;第三调用单元,用于调用动态库在第二画布上创建文档对象模型,以使文档对象模型基于文字及图片在画布中的第二位置对文档进行编辑。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如文档展示方法。例如,在一些实施例中,文档展示方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的文档展示方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文档展示方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种文档展示方法,包括:
响应于文档的展示请求,通过动态库创建用于展示所述文档的画布;
获取所述文档对应的目标数据,所述目标数据包括所述文档的字体信息;
在确定字体库中不存在所述字体信息中的字体时,调用动态库创建所述字体信息对应的隐藏的标签;
调用所述标签使用所述字体信息中的字体,以使所述字体信息中的字体加载至所述字体库;
按照所述字体信息中的字体将所述文档渲染至所述画布。
2.根据权利要求1所述的方法,所述获取所述文档对应的目标数据,包括:
获取所述文档对应的目标数据的地址;
在判定不存在所述目标数据的地址对应的缓存页面的情况下,根据所述目标数据的地址下载所述目标数据。
3.根据权利要求2所述的方法,还包括:
在判定存在所述目标数据的地址对应的缓存页面的情况下,从所述缓存页面中获取所述目标数据。
4.根据权利要求1所述的方法,在响应于文档的展示请求之前,还包括:
识别所述文档中的文本信息及子图片信息,所述文本信息包括所述文档中的文字、所述文字在页面中的第三位置及所述文字对应的所述字体信息,所述子图片信息包括所述文档中的子图片以及各所述子图片在页面中的第一位置;
将所述子图片合成为一张图片,根据所述图片及所述图片中各所述子图片在页面中的第一位置,形成图片信息;
保存所述文本信息及所述图片信息,得到所述目标数据;
根据保存所述文本信息及所述图片信息的保存地址得到所述目标数据的地址。
5.根据权利要求4所述的方法,在保存所述文本信息及所述图片信息之前,还包括:
将所述文本信息及所述图片信息转换为目标格式的数据。
6.根据权利要求4所述的方法,所述按照所述字体信息中的字体将所述文档渲染至所述画布,包括:
根据所述文档中所述文字及所述图片的堆叠顺序,按照所述字体信息中的字体将所述文字渲染至所述画布,将所述图片渲染至所述画布。
7.根据权利要求6所述的方法,在按照所述字体信息中的字体将所述文档渲染至所述画布之后,还包括:
记录所述文字及所述图片在所述画布中的第二位置;
在所述画布上创建第二画布;
调用动态库在所述第二画布上创建文档对象模型,以使所述文档对象模型基于所述文字及所述图片在所述画布中的第二位置对所述文档进行编辑。
8.一种文档展示装置,包括:
创建单元,用于响应于文档的展示请求,通过动态库创建用于展示所述文档的画布;
获取单元,用于获取所述文档对应的目标数据,所述目标数据包括所述文档的字体信息;
第一调用单元,用于在确定字体库中不存在所述字体信息中的字体时,调用动态库创建所述字体对应的隐藏的标签;
第二调用单元,用于调用所述标签使用所述字体信息中的字体,以使所述字体信息中的字体加载至所述字体库;
渲染单元,用于按照所述字体信息中的字体将所述文档渲染至所述画布。
9.根据权利要求8所述的装置,所述获取单元包括:
获取子单元,用于获取所述文档对应的目标数据的地址;
第一判定子单元,用于在判定不存在所述目标数据的地址对应的缓存页面的情况下,根据所述目标数据的地址下载所述目标数据。
10.根据权利要求9所述的装置,所述获取单元还包括:
第二判定子单元,用于在判定存在所述目标数据的地址对应的缓存页面的情况下,从所述缓存页面中获取所述目标数据。
11.根据权利要求8所述的装置,在创建单元之前,装置还包括:
识别单元,用于识别所述文档中的文本信息及子图片信息,所述文本信息包括所述文档中的文字、所述文字在页面中的第三位置及所述文字对应的所述字体信息,所述子图片信息包括所述文档中的子图片以及各所述子图片在页面中的第一位置;
合成单元,用于将所述子图片合成为一张图片,根据所述图片及所述图片中各所述子图片在页面中的第一位置,形成图片信息;
保存单元,用于保存所述文本信息及所述图片信息,得到所述目标数据;
得到单元,用于根据保存所述文本信息及所述图片信息的保存地址得到所述目标数据的地址。
12.根据权利要求11所述的装置,在保存单元之前,装置还包括:
转换单元,用于将所述文本信息及所述图片信息转换为目标格式的数据。
13.根据权利要求11所述的装置,所述渲染单元包括:
渲染子单元,用于根据所述文档中所述文字及所述图片的堆叠顺序,按照所述字体信息中的字体将所述文字渲染至所述画布,将所述图片渲染至所述画布。
14.根据权利要求13所述的装置,在渲染单元之后,装置还包括:
记录单元,用于记录所述文字及所述图片在所述画布中的第二位置;
第二创建单元,用于在所述画布上创建第二画布;
第三调用单元,用于调用动态库在所述第二画布上创建文档对象模型,以使所述文档对象模型基于所述文字及所述图片在所述画布中的第二位置对所述文档进行编辑。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211134319.4A CN115329720A (zh) | 2022-09-16 | 2022-09-16 | 一种文档展示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211134319.4A CN115329720A (zh) | 2022-09-16 | 2022-09-16 | 一种文档展示方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115329720A true CN115329720A (zh) | 2022-11-11 |
Family
ID=83930282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211134319.4A Pending CN115329720A (zh) | 2022-09-16 | 2022-09-16 | 一种文档展示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115329720A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701806A (zh) * | 2023-06-09 | 2023-09-05 | 广州万彩信息技术有限公司 | 一种页面显示的处理方法、装置、终端和存储介质 |
-
2022
- 2022-09-16 CN CN202211134319.4A patent/CN115329720A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701806A (zh) * | 2023-06-09 | 2023-09-05 | 广州万彩信息技术有限公司 | 一种页面显示的处理方法、装置、终端和存储介质 |
CN116701806B (zh) * | 2023-06-09 | 2024-04-26 | 广州万彩信息技术有限公司 | 一种页面显示的处理方法、装置、终端和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109801347B (zh) | 一种可编辑图像模板的生成方法、装置、设备和介质 | |
CN109933322B (zh) | 一种页面编辑方法、装置及计算机可读存储介质 | |
KR20170026273A (ko) | 이미지 텍스트 삽입 장치 및 삽입 방법 | |
CN104850388A (zh) | 网页绘制方法及装置 | |
CN107977155B (zh) | 一种手写识别方法、装置、设备和存储介质 | |
CN114218890A (zh) | 页面渲染方法、装置、电子设备以及存储介质 | |
CN104156421B (zh) | 页面的展现方法、装置及*** | |
CN116954450A (zh) | 针对前端网页的截图方法以及装置、存储介质、终端 | |
CN106776994B (zh) | 一种工程符号在工程报表和网页中的应用方法及*** | |
CN115329720A (zh) | 一种文档展示方法、装置、设备及存储介质 | |
CN115510347A (zh) | 演示文稿的转换方法、装置、电子设备及存储介质 | |
CN108345683A (zh) | 网页显示方法、装置、终端及存储介质 | |
US10818050B2 (en) | Vector graphic font character generation techniques | |
CN110708423A (zh) | 消息内容展示方法、装置及存储介质 | |
US20150058710A1 (en) | Navigating fixed format document in e-reader application | |
CN112395529A (zh) | 页面加载方法、装置、设备及存储介质 | |
CN111506848A (zh) | 网页处理方法、装置、设备及可读存储介质 | |
CN113342450B (zh) | 页面处理的方法、装置、电子设备及计算机可读介质 | |
CN110968991A (zh) | 一种文字的编辑方法及相关装置 | |
CN114371838A (zh) | 一种小程序画布渲染方法、装置、设备及存储介质 | |
CN112861504A (zh) | 文本交互方法、装置、设备、存储介质及程序产品 | |
CN113378526A (zh) | Pdf段落处理方法、装置、存储介质及设备 | |
US20160147741A1 (en) | Techniques for providing a user interface incorporating sign language | |
CN112597377A (zh) | 信息提取模块生成方法、信息提取方法及装置 | |
CN110362790A (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 |