文档的显示处理方法、终端设备及计算机可读存储介质与流程

文档序号:37032555发布日期:2024-02-20 20:23阅读:17来源:国知局
文档的显示处理方法、终端设备及计算机可读存储介质与流程

本公开涉及计算机,更具体地,涉及一种文档的显示处理方法、一种终端设备及一种计算机可读存储介质。


背景技术:

1、用户在通过终端设备浏览一文档时,需要通过安装在终端设备上的应用打开该文档,该应用在接收到打开该文档的请求时,需要对该文档的数据进行显示处理,该显示处理包括:解析该文档的数据以获得文档信息,并根据解析到的文档信息进行文档的显示。可见,该应用对于文档的解析情况决定了文档的显示情况,例如,解析情况决定了文档能否正常显示、文档的首屏显示时间、文档内容的显示顺序等等。

2、对于可能具有超大数据量的excel文档,其中,excel文档中每个工作表(sheet)可以具有的最大行数为1048576行,可以具有的最大列数为16384列,解析情况对于显示情况的影响尤为显著。对于现有的解析方案,在通过安装在终端设备上的应用打开具有超大数据量的excel文档时,要么首屏显示非常慢,要么不支持根据用户输入的按需显示,应用对于excel文档的显示处理能力较差,严重影响了用户体验,因此,有必要提供一种新的显示处理方案,以至少提高应用对于excel文档的显示处理能力。


技术实现思路

1、本公开实施例的一个目的是提供一种关于文档显示的新的技术方案,以至少提高应用对于excel文档的显示处理能力。

2、根据本公开的第一方面,提供了根据一些实施例的文档的显示处理方法,该方法包括:

3、接收打开文档的第一输入;

4、根据所述第一输入,在所述文档为excel文档的情况下,针对所述文档并发进行第一解析和第二解析;其中,所述第一解析包括通过sax解析器解析所述文档的第一文件集,所述第二解析包括通过动态解析器解析所述文档的第二文件集,所述动态解析器为在完成数据加载后再进行解析的解析器,所述第一文件集包括所述第二文件集;

5、在所述第二解析完成所述第二文件集的数据加载之前,根据所述第一解析得到的文档信息进行所述文档的显示;

6、在所述第二解析完成所述第二文件集的数据加载之后,根据所述第二解析得到的文档信息进行所述文档的刷新显示。

7、可选地,针对所述文档进行第一解析,包括:

8、在不同的线程,分别通过sax解析器并发解析所述第一文件集中的不同文件。

9、可选地,所述第二文件集包括所述文档的sharedstring文件和sheet文件,所述针对所述文档并发进行第一解析和第二解析,包括:

10、分别通过所述sax解析器和所述动态解析器并发解析所述sharedstring文件;

11、分别通过所述sax解析器和所述动态解析器并发解析所述sheet文件。

12、可选地,在所述第二解析完成所述第二文件集的数据加载之后,所述方法还包括:

13、停止通过所述sax解析器继续解析所述第二文件集。

14、可选地,所述根据所述第二解析得到的文档信息进行所述文档的刷新显示,包括:

15、接收用户的调整所述文档的显示区域的第二输入;

16、根据所述第二输入,获得对应的调整信息;

17、根据所述调整信息,通过所述动态解析器解析对应于所述调整信息的文档信息;

18、基于所述对应于所述调整信息的文档信息,进行所述文档的刷新显示。

19、可选地,所述动态解析器为vtd解析器。

20、可选地,所述第一文件集包括sheet文件,针对所述文档进行第一解析,包括:

21、在通过sax解析器解析所述sheet文件的过程中,获取所述sheet文件的字节流中的目标字节流;其中,所述sheet文件包括数据标签和位于所述数据标签字后的设定标签,所述目标字节流为对应所述设定标签的字节流;

22、获取所述目标字节流对应的目标字符串;

23、根据所述目标字符串,解析得到对应的文档信息。

24、可选地,所述设定标签包括合并单元格标签、页面设置标签、图形标签、链接标签中的至少一个标签。

25、可选地,所述获取所述sheet文件的字节流中的目标字节流,包括:

26、获取所述sheet文件的字节流;

27、按照第一字节长度顺序读取所述sheet文件的字节流,并在未读取的剩余字节流的字节长度小于或者等于设定字节长度时,提取所述剩余字节流;

28、将所述剩余字节流转换为第一字符串;

29、在所述第一字符串包含所述设定标签的上标的情况下,将所述剩余字节流作为所述目标字节流;

30、在所述第一字符串不包含所述设定标签的上标的情况下,调整所述设定字节长度,再一次执行所述按照第一字节长度顺序读取所述sheet文件的字节流,并在未读取的剩余字节流的字节长度小于或者等于设定字节长度时,提取所述剩余字节流的步骤;其中,调整后的设定字节长度大于调整前的设定字节长度。

31、可选地,所述在通过sax解析器解析所述sheet文件的过程中,获取所述sheet文件的字节流中的目标字节流,包括:

32、在通过所述sax解析器解析所述sheet文件的头部标签之后,及解析所述sheet文件的数据标签之前,获取所述sheet文件的字节流中的目标字节流;其中,所述头部标签为所述sheet文件的位于所述数据标签之前的标签。

33、可选地,在接收打开文档的第一输入之后,所述方法还包括:

34、根据所述第一输入,在所述文档包含图元文件的情况下,调用图元解析器解析所述图元文件的每一条记录,得到图元数据;

35、将所述图元数据转换为svg节点信息;

36、将所述svg节点信息序列化为xml字符串;

37、将所述xml字符串转换为png图片;

38、在显示所述文档时,显示所述png图片。

39、可选地,所述在所述文档包含图元文件的情况下,调用图元解析器解析所述图元文件的每一条记录,包括:

40、在所述文档包含图元文件的情况下,获取所述图元文件的格式;

41、在所述图元文件的格式为wmf格式的情况下,调用wmf格式的图元解析器解析所述图元文件的每一条记录;

42、在所述图元文件的格式为emf格式的情况下,调用emf格式的图元解析器解析所述图元文件的每一条记录。

43、可选地,所述将所述图元数据转换为svg节点信息,包括:

44、将所述图元数据通过dom4j库构建为对应的svg节点信息。

45、可选地,所述第一输入为通过第一应用打开所述文档的输入,所述文档为通过第二应用创建的文档,所述第一应用不同于所述第二应用。

46、可选地,所述第一应用为安装在移动终端上的浏览器应用。

47、根据本公开的第二方面,提供了根据另一些实施例的终端设备,所述终端设备包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于在所述计算机程序的控制下,执行根据本公开的第一方面所述的文档的显示处理方法。

48、根据本公开的第三方面,提供了根据又一些实施例的计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据本公开的第一方面所述的文档的显示处理方法。

49、本公开实施例提供的文档的显示处理方法,在文档为可能具有超大数据量的excel文档的情况下,在第一解析和第二解析中分别通过sax解析器和动态解析器并发解析该文档的文件,且sax解析器解析的第一文件集包括动态解析器解析的第二文件集,其中,sax解析器在解析文件时,是从头至尾顺序解析文件的xml数据,无需将所有数据都预先加载到终端设备的内存中再进行解析,因此,sax解析器具有解析速度快且占用内存少的特点,而动态解析器在解析文件时,需要将该文件的所有数据预先加载至内存,该数据加载过程需要消耗一定的时间,但动态解析器在完成数据加载后,便可以根据需要随机读取数据进行解析,进而实现文档的按需显示。因此,本公开实施例通过在第一解析和第二解析中分别通过sax解析器和动态解析器并发解析该文档的文件,可以先基于sax解析器解析到的文档信息进行首屏内容的快速显示,并在动态解析器完成数据加载后,提供按照显示优先级的跳转解析显示以及根据用户滑动操作的动态解析显示等,这样,该显示处理方法便同时具备了首屏内容快速显示及按需显示的优良性能,提高了用户体验。

50、通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的特征及其优点将会变得清楚。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1