一种用于流式文档的截图类笔记处理的系统及方法转让专利

申请号 : CN201610318879.3

文献号 : CN107368465B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姜铁男罗卿

申请人 : 北京京东尚科信息技术有限公司北京京东世纪贸易有限公司

摘要 :

本发明是关于一种用于流式文档的截图类笔记处理的系统及方法,属于计算机技术领域。该系统包括:手势处理模块,用于记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;笔记位置计算模块,用于接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;笔记信息存储模块,用于将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储。本发明能够提高截图类笔记在流式文档中显示位置的准确性。

权利要求 :

1.一种用于流式文档的截图类笔记处理的系统,其特征在于,包括:手势处理模块,用于记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;

笔记位置计算模块,用于接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;

笔记信息存储模块,用于将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储;

其中所述预设形状为四边形,所述选定区域的屏幕坐标为所述四边形的左上角、右上角、左下角和右下角四点的屏幕坐标;

其中所述预设位置为所述选定区域的左上角屏幕坐标;

其中所述笔记位置计算模块包括:

叶子节点匹配单元,用于计算所述左上角屏幕坐标与所述流式文档的当前页面中的叶子节点的距离,并将距离最近的叶子节点作为本次截图类笔记所对应的叶子节点;

判断单元,用于判断该对应的叶子节点是否为文本节点;

笔记位置确定单元,用于当所述叶子节点为非文本节点时,将所述叶子节点对应的节点编号作为所述叶子节点的相对位置;当所述叶子节点为文本节点时,将所述叶子节点对应的节点编号和与所述左上角屏幕坐标距离最近的该叶子节点中的字符的相对位置作为所述叶子节点的相对位置。

2.根据权利要求1所述的系统,其特征在于,其中所述笔记位置确定单元包括:行位置计算子单元,用于根据所述左上角屏幕坐标与所述叶子节点顶部的纵向距离及所述叶子节点每一行的高度,确定所述左上角屏幕坐标在所述叶子节点的行位置;

列位置计算子单元,用于根据所述左上角屏幕坐标与所述叶子节点最左侧的横向距离及所述叶子节点每个字符的水平宽度,确定所述左上角屏幕坐标在所述叶子节点的对应字符。

3.根据权利要求2所述的系统,其特征在于,其中所述笔记位置确定单元还包括:相对位置计算子单元,用于计算所述对应字符与所述叶子节点第一个字符的距离,并将所述距离作为所述叶子节点中的该字符的相对位置。

4.根据权利要求1所述的系统,其特征在于,还包括:笔记输入模块,用于接收用户在所述选定区域内输入的笔记内容,并将所述笔记内容输入至所述笔记信息存储模块;

其中,所述笔记信息存储模块将所述笔记位置和所述笔记内容关联存储。

5.根据权利要求4所述的系统,其特征在于,还包括:笔记信息显示模块,用于在所述笔记位置显示所述笔记内容。

6.一种用于流式文档的截图类笔记处理的方法,其特征在于,包括:记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;

接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;

将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储;

其中所述预设形状为四边形,所述选定区域的屏幕坐标为所述四边形的左上角、右上角、左下角和右下角四点的屏幕坐标;

其中所述预设位置为所述选定区域的左上角屏幕坐标;

其中所述将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置包括:计算所述左上角屏幕坐标与所述流式文档的当前页面中的叶子节点的距离,并将距离最近的叶子节点作为本次截图类笔记所对应的叶子节点;

判断该对应的叶子节点是否为文本节点;

当所述叶子节点为非文本节点时,将所述叶子节点对应的节点编号作为所述叶子节点的相对位置;

当所述叶子节点为文本节点时,将所述叶子节点对应的节点编号和与所述左上角屏幕坐标距离最近的该叶子节点中的字符的相对位置作为所述叶子节点的相对位置。

7.根据权利要求6所述的方法,其特征在于,其中将所述左上角屏幕坐标对应的叶子节点的节点编号和对应的该叶子节点的字符相对位置作为所述笔记位置包括:根据所述左上角屏幕坐标与所述叶子节点顶部的纵向距离及所述叶子节点每一行的高度,确定所述左上角屏幕坐标在所述叶子节点的行位置;

根据所述左上角屏幕坐标与所述叶子节点最左侧的横向距离及所述叶子节点每个字符的水平宽度,确定所述左上角屏幕坐标在所述叶子节点的对应字符;

计算所述对应字符与所述叶子节点第一个字符的距离,并将所述距离作为所述叶子节点中的该字符的相对位置。

8.根据权利要求6所述的方法,其特征在于,还包括:接收用户在所述选定区域内输入的笔记内容;

将所述笔记位置和所述笔记内容关联存储到服务端。

9.根据权利要求8所述的方法,其特征在于,还包括:向所述服务端发送返回所述流式文档下所有笔记位置的请求;

在渲染所述流式文档的下一页时,如果该页有笔记,则在对应的笔记位置预设点显示一个预定义标识;

当接收到用户点击所述预定义标识时,向所述服务端发送返回相应的笔记内容的请求;

接收到所述服务端返回的笔记内容后,将所述笔记内容以预先设置的形式显示在所述流式文档的所述笔记位置。

10.一种用户终端,其特征在于,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6-9中任一所述的方法。

11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求6-9中任一所述的方法。

说明书 :

一种用于流式文档的截图类笔记处理的系统及方法

技术领域

[0001] 本发明涉及计算机处理技术,尤其涉及一种用于流式文档的截图类笔记处理的系统及方法。

背景技术

[0002] 截图类笔记在版式文档中的存储与显示的技术,是通过存储截图时对应的页码,及页内的屏幕坐标显示截图类笔记位置。
[0003] 在保存截图时,同时将该截图在版式文档中的绝对坐标(页码及页内屏幕坐标)返回到服务端,存储到数据库该笔记对应条目中,在加载文件时,调用服务端接口,返回本文件内所有截图类笔记的绝对坐标,在渲染版式文档页面时,同时在对应的位置将笔记显示出来。
[0004] 但是,截图类笔记在版式文档中的存储方案不适用于流式文档,因为流式文档会出现重排版的情况,此时页码及屏幕坐标都会发生改变,因此笔记存储的位置也会丢失。
[0005] 因此,需要一种新的用于流式文档的截图类笔记处理的系统及方法。
[0006] 在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

[0007] 本发明提供一种用于流式文档的截图类笔记处理的系统及方法,能够提高用户阅读和查找用户在电子书籍中所作批注的效率。
[0008] 本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
[0009] 根据本发明的一方面,提供一种用于流式文档的截图类笔记处理的系统,包括:手势处理模块,用于记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;笔记位置计算模块,用于接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;笔记信息存储模块,用于将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储。
[0010] 根据本发明的一实施方式,其中所述预设形状为四边形,所述选定区域的屏幕坐标为所述四边形的左上角、右上角、左下角和右下角四点的屏幕坐标。
[0011] 根据本发明的一实施方式,其中所述预设位置为所述选定区域的左上角屏幕坐标。
[0012] 根据本发明的一实施方式,其中所述笔记位置计算模块包括:叶子节点匹配单元,用于计算所述左上角屏幕坐标与所述流式文档的当前页面中的叶子节点的距离,并将距离最近的叶子节点作为本次截图类笔记所对应的叶子节点;判断单元,用于判断该对应的叶子节点是否为文本节点;笔记位置确定单元,用于当所述叶子节点为非文本节点时,将所述叶子节点对应的节点编号作为所述叶子节点的相对位置;当所述叶子节点为文本节点时,将所述叶子节点对应的节点编号和与所述左上角屏幕坐标距离最近的该叶子节点中的字符的相对位置作为所述叶子节点的相对位置。
[0013] 根据本发明的一实施方式,其中所述笔记位置确定单元包括:行位置计算子单元,用于根据所述左上角屏幕坐标与所述叶子节点顶部的纵向距离及所述叶子节点每一行的高度,确定所述左上角屏幕坐标在所述叶子节点的行位置;列位置计算子单元,用于根据所述左上角屏幕坐标与所述叶子节点最左侧的横向距离及所述叶子节点每个字符的水平宽度,确定所述左上角屏幕坐标在所述叶子节点的对应字符。
[0014] 根据本发明的一实施方式,其中所述笔记位置确定单元还包括:相对位置计算子单元,用于计算所述对应字符与所述叶子节点第一个字符的距离,并将所述距离作为所述叶子节点中的该字符的相对位置。
[0015] 根据本发明的一实施方式,还包括:笔记输入模块,用于接收用户在所述选定区域内输入的笔记内容,并将所述笔记内容输入至所述笔记信息存储模块;其中,所述笔记信息存储模块将所述笔记位置和所述笔记内容关联存储。
[0016] 根据本发明的一实施方式,其特征在于,还包括:笔记信息显示模块,用于在所述笔记位置显示所述笔记内容。
[0017] 根据本发明的另一个方面,还提供一种用于流式文档的截图类笔记处理的方法,包括:记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储。
[0018] 根据本发明的一实施方式,其中所述预设形状为四边形,所述选定区域的屏幕坐标为所述四边形的左上角、右上角、左下角和右下角四点的屏幕坐标。
[0019] 根据本发明的一实施方式,其中所述预设位置为所述选定区域的左上角屏幕坐标。
[0020] 根据本发明的一实施方式,其中所述将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置包括:计算所述左上角屏幕坐标与所述流式文档的当前页面中的叶子节点的距离,并将距离最近的叶子节点作为本次截图类笔记所对应的叶子节点;判断该对应的叶子节点是否为文本节点;当所述叶子节点为非文本节点时,将所述叶子节点对应的节点编号作为所述叶子节点的相对位置;当所述叶子节点为文本节点时,将所述叶子节点对应的节点编号和与所述左上角屏幕坐标距离最近的该叶子节点中的字符的相对位置作为所述叶子节点的相对位置。
[0021] 根据本发明的一实施方式,其中将所述左上角屏幕坐标对应的叶子节点的节点编号和对应的该叶子节点的字符相对位置作为所述笔记位置包括:根据所述左上角屏幕坐标与所述叶子节点顶部的纵向距离及所述叶子节点每一行的高度,确定所述左上角屏幕坐标在所述叶子节点的行位置;根据所述左上角屏幕坐标与所述叶子节点最左侧的横向距离及所述叶子节点每个字符的水平宽度,确定所述左上角屏幕坐标在所述叶子节点的对应字符;计算所述对应字符与所述叶子节点第一个字符的距离,并将所述距离作为所述叶子节点中的该字符的相对位置。
[0022] 根据本发明的一实施方式,还包括:接收用户在所述选定区域内输入的笔记内容;将所述笔记位置和所述笔记内容关联存储到服务端。
[0023] 根据本发明的一实施方式,还包括:向所述服务端发送返回所述流式文档下所有笔记位置的请求;在渲染所述流式文档的下一页时,如果该页有笔记,则在对应的笔记位置预设点显示一个预定义标识;当接收到用户点击所述预定义标识时,向所述服务端发送返回相应的笔记内容的请求;接收到所述服务端返回的笔记内容后,将所述笔记内容以预先设置的形式显示在所述流式文档的所述笔记位置。
[0024] 本发明公开的用于流式文档的截图类笔记处理的系统及方法,通过存储截图类笔记在流式文档中的相对位置,能够提高截图类笔记在流式文档中显示位置的准确性,改善了用户体验。
[0025] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

[0026] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0027] 图1示意性示出根据本发明示例实施方式的流式文档的截图类笔记处理的系统的框图;
[0028] 图2示意性示出基于图1所述系统的流式文档的截图类笔记的示意图;
[0029] 图3示意性示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的系统的框图;
[0030] 图4示意性示出基于图3所述系统的笔记显示的示意图;
[0031] 图5示意性示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的方法的流程图;
[0032] 图6示意性示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的方法的流程图;
[0033] 图7示意性示出基于图6所述方法的流式文档未重新排版时的截图类笔记显示的示意图;
[0034] 图8示意性示出基于图6所述方法的流式文档重新排版后的截图类笔记显示的示意图。

具体实施方式

[0035] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0036] 此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、系统、步骤等。在其它情况下,不详细示出或描述公知结构、方法、系统、实现、材料或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
[0037] 附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器系统和/或微控制器系统中实现这些功能实体。
[0038] 以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
[0039] 图1示意性示出根据本发明示例实施方式的流式文档的截图类笔记处理的系统的框图。
[0040] 如图1所示,该系统包括:手势处理模块110,用于记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;笔记位置计算模块120,用于接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;笔记信息存储模块130,用于将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储。其中,所述手势处理模块110分别与所述笔记位置计算模块120和所述笔记信息存储模块130连接,用于将其捕获的选定区域的屏幕坐标分别输入至所述笔记位置计算模块120和所述笔记信息存储模块130。所述笔记位置计算模块120和所述笔记信息存储模块130连接。
[0041] 目前移动阅读应用普遍支持流式文档中文字类笔记的存储与显示,包括划线、笔记等形式。文字类笔记的存储方法采用捕捉手指长按事件及滑动事件发生位置,与当前显示流式文档的叶子节点相匹配,将对应叶子节点编号及对应字符在叶子节点中的相对位置作为一参数存储在对应笔记的数据库存储条目中。
[0042] 但文字类笔记记录叶子节点编号及节点内字符的相对位置时,不识别非文本节点,其中所述非文本节点是指不包含文字的节点,例如图片节点、音频节点、视频节点、FLASH节点等。而截图类笔记需对非文本节点提供支持。但是,截图类笔记无法直接获取流式文档的节点编号及字符相对位置。
[0043] 流式文档,指对文档包含的文字、数字、表格和图形图像进行特定的排版方式处理,保存后的内容是原始的编辑元素,用户通过阅读软件能查看到编辑后的排版风格,并且可以在不同的缩放比率间自适应版面大小显示。在小屏幕的电子书阅读器上则最好的表现是放大后能够对初始版面自动重排,根据屏幕宽度调整段落的换行以适应单页的视野范围。
[0044] 流式文档中具有多种叶子节点,包括:文字段落、图片、链接、音频控件及视频,其中链接、span、div、p等可转换为文字段落,在本发明中均可作为文字节点,所以当划线手势处于文字段落或链接中时,触发划线功能。
[0045] 版式文档,相对于流式排版最大的区别则是其版面是固定的,阅读过程中时钟以原始编辑版式显示,缩放后不会自动根据页宽进行重新排版。如利用扫描得到的初始图片稿件制成的PDF文件。
[0046] 在示例性实施例,其中所述预设形状为四边形,所述选定区域的屏幕坐标为所述四边形的左上角、右上角、左下角和右下角四点的屏幕坐标。
[0047] 在示例性实施例,其中所述预设位置为所述选定区域的左上角屏幕坐标。
[0048] 在示例性实施例,其中所述笔记位置计算模块120包括:叶子节点匹配单元,用于计算所述左上角屏幕坐标与所述流式文档的当前页面中的叶子节点的距离,并将距离最近的叶子节点作为本次截图类笔记所对应的叶子节点;判断单元,用于判断该对应的叶子节点是否为文本节点;笔记位置确定单元,用于当所述叶子节点为非文本节点时,将所述叶子节点对应的节点编号作为所述叶子节点的相对位置;当所述叶子节点为文本节点时,将所述叶子节点对应的节点编号和与所述左上角屏幕坐标距离最近的该叶子节点中的字符的相对位置作为所述叶子节点的相对位置。
[0049] 在示例性实施例,其中所述笔记位置确定单元包括:行位置计算子单元,用于根据所述左上角屏幕坐标与所述叶子节点顶部的纵向距离及所述叶子节点每一行的高度,确定所述左上角屏幕坐标在所述叶子节点的行位置;列位置计算子单元,用于根据所述左上角屏幕坐标与所述叶子节点最左侧的横向距离及所述叶子节点每个字符的水平宽度,确定所述左上角屏幕坐标在所述叶子节点的对应字符。
[0050] 在示例性实施例,其中所述笔记位置确定单元还包括:相对位置计算子单元,用于计算所述对应字符与所述叶子节点第一个字符的距离,并将所述距离作为所述叶子节点中的该字符的相对位置。
[0051] 图2示意性示出基于图1所述系统的流式文档的截图类笔记的示意图。
[0052] 截图类笔记,将移动阅读应用中的阅读页面以图片的形式截取,并进行编辑后,保存为截图类笔记。如图2所示。
[0053] 图3示意性示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的系统的框图。
[0054] 如图3所示,该系统包括:手势处理模块310,用于记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标;笔记位置计算模块320,用于接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置;笔记信息存储模块330,用于将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储。
[0055] 在示例性实施例,所述系统还包括笔记输入模块340,用于接收用户在所述选定区域内输入的笔记内容,并将所述笔记内容输入至所述笔记信息存储模块;其中,所述笔记信息存储模块将所述笔记位置和所述笔记内容关联存储。
[0056] 在示例性实施例,所述系统还包括笔记信息显示模块350,用于在所述笔记位置显示所述笔记内容。
[0057] 本发明实施例的所述系统可以包括客户端及服务端两部分。其中,所述客户端包括所述手势处理模块310、笔记位置计算模块320、笔记输入模块340和笔记信息显示模块350。所述服务端包括笔记信息存储模块330。需要说明的是,该客户端及该服务端所包括的模块的划分不是用于限制本发明的,而仅是示例性说明,例如,可以将手势处理模块310、笔记位置计算模块320、笔记信息存储模块350均设置于所述服务端。
[0058] 所述手势处理模块310,用于处理用户做截图类笔记时的手势事件,需记录选定区域的屏幕坐标返回给所述笔记位置计算模块320。所述笔记位置计算模块320,用于将选定区域的屏幕坐标转化为截图类笔记在流式文档中的相对位置。
[0059] 例如,非文本节点情形下选择该节点编号作为笔记位置;文本节点情况下选择该节点编号及选区左上角屏幕坐标对应字符在该节点中的相对位置作为笔记位置。
[0060] 所述笔记输入模块340,与所述服务端的笔记信息存储模块330交互,将笔记内容及笔记位置信息传输到所述服务端。所述笔记信息显示模块350与所述服务端的笔记信息存储模块330交互,发送笔记显示请求,将返回的笔记内容及笔记位置显示在该流式文档的对应位置上。
[0061] 所述服务端的笔记信息存储模块330,用户关联存储客户端传输的笔记内容及笔记位置,并响应所述客户端发送的笔记显示请求。
[0062] 本发明实施例中的其它内容参考上述实施例中的内容,在此不再赘述。
[0063] 图4示意性示出基于图3所述系统的笔记显示的示意图。
[0064] 显示时,需要客户端调取服务端接口,在加载流式文档时首先查询当前文件中所有笔记的位置,并在渲染排版当前流式文档时,将对应节点中的对应字符位置划线显示出来。如图4所示。
[0065] 图5示意性示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的方法的流程图。
[0066] 如图5所示,在步骤S510,记录在所述流式文档的当前页面中的手势确定的预设形状的选定区域的屏幕坐标。
[0067] 在示例性实施例,其中所述预设形状为四边形,所述选定区域的屏幕坐标为所述四边形的左上角、右上角、左下角和右下角四点的屏幕坐标。
[0068] 在步骤S520,接收所述预设形状的选定区域的屏幕坐标,将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置。
[0069] 在示例性实施例,其中所述预设位置为所述选定区域的左上角屏幕坐标。
[0070] 在示例性实施例,其中所述将该选定区域中一预设位置的屏幕坐标转化为所述流式文档中的叶子节点的相对位置包括:计算所述左上角屏幕坐标与所述流式文档的当前页面中的叶子节点的距离,并将距离最近的叶子节点作为本次截图类笔记所对应的叶子节点;判断该对应的叶子节点是否为文本节点;当所述叶子节点为非文本节点时,将所述叶子节点对应的节点编号作为所述叶子节点的相对位置;当所述叶子节点为文本节点时,将所述叶子节点对应的节点编号和与所述左上角屏幕坐标距离最近的该叶子节点中的字符的相对位置作为所述叶子节点的相对位置。
[0071] 在示例性实施例,其中将所述左上角屏幕坐标对应的叶子节点的节点编号和对应的该叶子节点的字符相对位置作为所述笔记位置包括:根据所述左上角屏幕坐标与所述叶子节点顶部的纵向距离及所述叶子节点每一行的高度,确定所述左上角屏幕坐标在所述叶子节点的行位置;根据所述左上角屏幕坐标与所述叶子节点最左侧的横向距离及所述叶子节点每个字符的水平宽度,确定所述左上角屏幕坐标在所述叶子节点的对应字符;计算所述对应字符与所述叶子节点第一个字符的距离,并将所述距离作为所述叶子节点中的该字符的相对位置。
[0072] 在步骤S530,将所述叶子节点的相对位置和所述选定区域的屏幕坐标作为笔记位置信息存储。
[0073] 在示例性实施例,还包括:接收用户在所述选定区域内输入的笔记内容;将所述笔记位置和所述笔记内容关联存储到服务端。
[0074] 在示例性实施例,还包括:向所述服务端发送返回所述流式文档下所有笔记位置的请求;在渲染所述流式文档的下一页时,如果该页有笔记,则在对应的笔记位置预设点显示一个预定义标识;当接收到用户点击所述预定义标识时,向所述服务端发送返回相应的笔记内容的请求;接收到所述服务端返回的笔记内容后,将所述笔记内容以预先设置的形式显示在所述流式文档的所述笔记位置。
[0075] 本发明实施例中的其它内容参考上述实施例中的内容,在此不再赘述。
[0076] 图6示意性示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的方法的流程图。
[0077] 如图6所示,在步骤S610,用户在一终端打开客户端的流式文档的阅读界面。
[0078] 在步骤S620,当客户端检测到用户的手指或者触控笔等类似物长按在所述流式文档的当前界面上某一位置,调出笔记选项。
[0079] 所述客户端的手势处理模块监听手指长按事件,当发生手指长按事件时,呼出笔记操作界面。
[0080] 例如,在所述流式文档的当前界面上出现一悬浮层,其中的笔记选项可以包括“复制”、“划线”、“笔记”等可供用户选择的项。
[0081] 在步骤S630,点击笔记选项中的“笔记”。
[0082] 当所述客户端检测到用户点击上述笔记选项中的“笔记”选项,进入下一步。
[0083] 在步骤S640,显示笔记选框,滑动更改选框大小及位置。
[0084] 可以在所述流式文档的当前页面上显示笔记选框,例如,所述笔记选框为一矩形。用户可以拖动所述矩形的四个角或者任意一条边来改变所述选框的大小及位置。
[0085] 在步骤S650,是否确定选区?
[0086] 所述客户端的手势处理模块监听手指移动事件,当手指停止移动并点击确定按键后,弹出是否确认选区提示。
[0087] 当所述客户端检测到用户停止滑动所述选框时,在所述流式文档的当前页面弹出提示框,用于提示用户是否确定当前所选区域,用户可以点击“确定”或者“取消”按钮。
[0088] 当用户点击“确定”按钮时,进入下一步;反之,当用户点击“取消”按钮时,跳转到步骤S6190。
[0089] 在步骤S660,确认所选区域。
[0090] 所述客户端确认当前用户所选区域,将该选框内的流式文档内容作为截图类笔记所对应的原文。
[0091] 在步骤S670,编辑、保存笔记。
[0092] 当确认当前用户所选区域后,进入笔记编辑界面,在所述流式文档对应于该截图类笔记的相应位置呈现笔记输入模块,用户可以在该笔记输入模块编辑、保存针对该截图类笔记所对应的原文的笔记内容。前台添加笔记流程结束后,后台将保存的笔记内容等信息返回给所述笔记信息存储模块330。
[0093] 在步骤S680,手势信息处理,记录所选区域。
[0094] 在用户进行笔记内容输入的同时,所述客户端对用户的手势信息进行处理,记录所选区域的屏幕坐标,例如矩形的左上角、右上角、左下角、右下角屏幕坐标,或者记录矩形的左上角屏幕坐标以及该边框的长和宽,本发明对此不作限定,只要记录的信息足够以判断该边框的位置即可。
[0095] 将确认后的选区上下左右四点屏幕坐标信息记录并返回给所述客户端的笔记位置计算模块。
[0096] 在步骤S690,计算当前流式文档各个叶子节点坐标及大小。
[0097] 在用户打开所述流式文档的同时,或者当首次检测到用户要在当前流式文档上做截图类笔记时,所述客户端的笔记位置计算模块循环计算该当前流式文档的各个叶子节点坐标及大小,例如各个叶子节点的编号,叶子节点中的文本节点的行高和对应叶子节点一个字符的水平宽度,跨页的叶子节点在前一页面中的行数、当前页面中的行数等。其中计算各个叶子节点对于文本节点是按照段落来划分的,一个段落是一个叶子节点,例如可以根据一个段落后的回车符来判断是否一个段落结束。
[0098] 在步骤S6100,计算所选区域左上角屏幕坐标最近的流式文档叶子节点的位置。
[0099] 根据确认的选区的左上角屏幕坐标,与流式文档各个叶子节点的坐标匹配,确认与选区左上角屏幕坐标物理距离最近的叶子节点坐标。其中所述物理距离最近指的是选区左上角屏幕坐标所在的叶子节点与选区左上角屏幕坐标的物理直线距离最近或者与选区左上角屏幕坐标的横向及纵向距离最近的叶子节点。在一示例性实施例,这里的与左上角屏幕坐标物理距离最近的叶子节点包括该选区内和该选区外的叶子节点。在另一示例性实施例,这里的与左上角屏幕坐标物理距离最近的叶子节点为该选区内的叶子节点。
[0100] 需要说明的是,虽然本发明实施例以所选区域左上角屏幕坐标为例进行说明,但本发明对此不作限定,例如可以选择所选区域右上角屏幕坐标最近的流式文档叶子节点作为该截图类笔记对应的叶子节点。
[0101] 在步骤S6110,判断所选区域左上角屏幕坐标最近的流式文档叶子节点是否为文本节点?
[0102] 当所选区域左上角屏幕坐标最近的流式文档叶子节点为非文本节点时,进入下一步;反之,跳转到步骤S6130。
[0103] 在步骤S6120,记录非文本节点编号作为笔记位置。
[0104] 当所选区域左上角屏幕坐标最近的流式文档叶子节点为非文本节点时,记录该对应的流式文档叶子节点的非文本节点编号作为笔记位置。
[0105] 若叶子节点为非文本节点即不包含文字的节点,例如图片节点,音频节点,视频节点,FLASH节点等,则将该叶子节点的节点编号,记为X,作为笔记位置返回给所述客户端的笔记位置计算模块。
[0106] 在步骤S6130,记录文本节点编号及节点内字符相对位置作为笔记位置。
[0107] 当所选区域左上角屏幕坐标最近的流式文档叶子节点为文本节点时,记录该对应的流式文档叶子节点的文本节点编号及节点内字符相对位置作为笔记位置。
[0108] 若叶子节点为文本节点,则进行如下操作:
[0109] (1)计算对应叶子节点行高,例如CSS(Cascading Style Sheets,层叠样式表)的line-height属性。一般的,同一个文本叶子节点,行高是一致的。
[0110] (2)计算选区左上角屏幕坐标与所处叶子节点顶部的纵向距离,若为负,则记该叶子节点的第一行为选区左上角屏幕坐标的对应行,其中,当该叶子节点跨页时以实际行号为准;若为正,则除以行高,计算得到选区左上角屏幕坐标处于该叶子节点的第几行;若得到的行数大于该叶子节点总行数或大于当前页面中该叶子节点总行数,则记该叶子节点最后一行或当前页最后一行为对应行。
[0111] 其中所述当该叶子节点跨页时以实际行号为准是指,当该叶子节点跨页时,例如该叶子节点在前一页面中包括2行,该当前页面中包括3行,通过上述步骤(2)中计算得到该选区左上角屏幕坐标对应该叶子节点在该当前页面是第2行,则此时需要进一步加上前一页面中的2行即实际该选区左上角屏幕坐标对应于该叶子节点的第4行。
[0112] (3)计算对应叶子节点一个字的水平宽度(CSS,lem宽度);
[0113] 计算选区左上角屏幕坐标与叶子节点左边的横向距离,若距离为负,则记该行第一个字符为选区左上角屏幕坐标对应字符;若为正,则除以一个字的水平宽度,得到选区左上角屏幕坐标所在行的第几个字符;若得到的字符数大于该行字符总数,则记该行最后一个字符为对应字符。
[0114] (4)将通过以上计算得到的选区左上角屏幕坐标对应的叶子节点第几行的第几个字符转换为该字符在当前叶子节点第一个字符的距离,即为Y。
[0115] 在步骤S6140,笔记信息处理。
[0116] 所述客户端接收用户输入的笔记内容和相应的笔记位置(X或X、Y),并将笔记内容和笔记位置关联起来,打包成一条数据包向服务端发送存储笔记信息的请求。
[0117] 在步骤S6150,笔记信息存储。
[0118] 所述服务端接收到所述客户端发送的存储笔记信息的请求后,将所述笔记内容和对应的笔记位置关联存储起来。
[0119] 此时,本次的笔记存储流程结束。下面为笔记显示流程。
[0120] 在步骤S6160,第二次打开阅读界面。
[0121] 用户再次打开所述客户端的相应的流式文档的阅读界面。
[0122] 在步骤S6170,发送返回笔记位置的请求。
[0123] 所述客户端的笔记信息显示模块调用服务端接口,向所述服务端的笔记信息存储模块发送返回该流式文档中的全部笔记的笔记位置的请求。
[0124] 在步骤S6180,在相应的笔记位置显示对应的笔记内容。
[0125] 所述服务端的笔记信息存储模块接收到所述客户端发送的返回该流式文档中的全部笔记的笔记位置的请求后,响应该请求,返回该流式文档的全部笔记的笔记位置。
[0126] 所述客户端的笔记信息显示模块在阅读过程中渲染下一页时,如果该页有笔记,在该流式文档的相应的笔记位置处显示一个预设标识。例如,在对应位置(如果是非文本叶子节点,则位置为X对应节点;如果为文本叶子节点,则位置为X,Y对应的字符)左上角显示一个气泡。
[0127] 当所述客户端的笔记信息显示模块检测到用户点击该气泡时,调用服务端接口,向所述服务端的笔记信息存储模块发送该相应的截图类笔记的笔记内容的请求。
[0128] 当所述服务端的笔记信息存储模块接收到该请求后,向所述客户端返回相应的笔记内容。
[0129] 所述客户端的笔记信息显示模块接收到所述服务端返回的信息后,可以以缩略图的形式展示在该流式文档的一侧,用户继续点击该缩略图进入笔记显示页面,将该笔记内容显示在该截图类笔记对应的笔记位置。
[0130] 在步骤S6190,结束。
[0131] 当用户没有确认所选区域时,操作终止。
[0132] 本发明实施例中的方法对应上述系统实施例中的模块的内容,在此不再详述。
[0133] 图7示意性示出基于图6所述方法的流式文档未重新排版时的截图类笔记显示的示意图。
[0134] 图8示意性示出基于图6所述方法的流式文档重新排版后的截图类笔记显示的示意图。
[0135] 本发明实施方式还公开了一种用户终端,包括:显示器,用于显示流式文档的当前页面;输入装置,用于接收用户输入的笔记位置和笔记内容信息;通信装置,用于向服务端发送关联存储所述笔记位置和所述笔记内容的请求和返回所述笔记位置及相应的笔记内容用于显示的请求。
[0136] 在示例性实施例中,所述用户终端可为电子书阅读器、平板计算机或其他智能型电子装置,其中包括通信装置、处理器、储存装置、显示器及输入装置。其中,通信装置、储存装置、显示器及输入装置分别连接于处理器以接受处理器的控制。
[0137] 通讯装置可为具有短程通讯功能的近场通讯(NFC)模块、无线射频识别(RFID)模块或蓝芽(Bluetooth)模块等短程通讯模块芯片。由于近场通讯技术具有设定简单、易于连结的特性,本例中即以近场通讯模块芯片为例。处理器则可为用户终端当中的主要运算核心,例如为中央处理器(CPU)、嵌入式控制器(EC)或数字讯号处理器(DSP),或是被设计为专用于处理电子书的笔记共享作业的专用集成芯片(ASIC)或现场可编程逻辑门芯片(FPGA)。
[0138] 储存装置用以储存电子书籍以及用户所编辑、或来自其他电子装置的用户数据。储存装置具体可为例如为快闪存储器、可编程只读存储器等非挥发性存储器(NVM)芯片。显示器提供使用界面以显示电子书籍的电子页面及相关的用户数据,而输入装置则用以供使用者操作,以产生控制使用界面上的电子书和/或用户数据。显示器及输入装置可整合为具有触控面板的触控式屏幕。
[0139] 本发明实施例中其它内容参考上述发明实施例中的内容,在此不再赘述。
[0140] 图5和6示出根据本发明示例实施方式的用于流式文档的截图类笔记处理的方法的流程图。该方法可例如利用如图1或3所示的用于流式文档的截图类笔记处理的系统实现,但本发明不限于此。需要注意的是,图5和6仅是根据本发明示例实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,图5和6所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块/进程/线程中同步或异步执行的。
[0141] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
[0142] 本发明公开的用于流式文档的截图类笔记处理的方法、系统,通过记录截图类笔记在非文本节点和/或文本节点中的相对位置,能够改善截图类笔记在流式文档中显示位置的准确性,提高了用户体验。
[0143] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0144] 以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。