用于手写装置的文档中的输入区域的方法和系统与流程

文档序号:13934301阅读:137来源:国知局
相关申请的交叉引用本申请要求于2016年9月1日提交的临时申请号us62/382765的优先权,其全部内容通过引用明确地并入本文。
背景技术
::电子手写在各种环境下越来越重要和普及,诸如文档的电子签名。许多装置可用于电子手写。日益普及的一种技术是使用电子触控笔(stylus)对电子文档添加笔迹。例如,用户可以在用电子触控笔书写的同时在平板装置上查看文档,从而允许用户准确地在电子文档中留下笔迹,诸如在签名行上签署用户的姓名。然而,在纸上使用墨水书写在许多环境下依然重要。在一种可能的情形中,具有墨盒的电子触控笔可以用于生成电子笔迹数据,同时还可向纸张施加墨水。尽管在这种类型的书写过程期间可以采集电子手写,但是典型的电子手写装置不能相对于被签名的特定文档智能地处理或解释笔迹数据。技术实现要素:提供本
发明内容以介绍一些简化形式的概念,其在以下具体实施方案中进一步描述。本
发明内容不旨在识别所要求保护主题的关键特征,也不旨在用于帮助确定所要求保护的主题的范围。在一个方面,一种计算机实施的方法包括:生成表单标识符以识别第一文档的页面或输入区域;生成用于第一文档的输入区域的位置和字段类型;使位置和字段类型与表单标识符相关联,其中,位置、字段类型和表单标识符存储在第一文档的元数据流中;以及使用从表单标识符转换的以图形表示的标识符来从第一文档复制第二文档。第一文档包括多个输入区域,多个输入区域可以包括多种类型的输入区域。多种类型的输入区域可以包括签名区域。表单标识符和位置以及字段类型可以结构化文档格式存储在第一文档的元数据流中。结构化文档格式可以包括根元素和嵌套在根元素内的多个子元素。表单标识符、位置和字段类型可以存储在子元素中。表单标识符可以存储在子元素之一的属性特征中。结构化文档格式可以是xml格式。文档的元数据流可以是独立于文档的文档格式的元数据格式。元数据格式可以是xmp格式。以图形表示的标识符可以选自由条形码、点代码和qr码组成的组。该方法还可以包括生成用于第一文档的输入区域的尺寸。在另一方面,一种由与手写装置电连接的计算机执行的计算机实施的方法包括:从手写装置获得从文档的以图形表示的标识符转换的表单标识符,其中表单标识符与文档的输入区域的位置和字段类型相关联,其中表单标识符、位置和字段类型存储在文档的元数据流中;从手写装置获得笔迹的位置信号;以及基于表单标识符、位置和字段类型来使笔迹的位置信号与输入区域相关联。该方法可以包括至少部分地基于用于输入区域的字段类型来将笔迹转换为数据类型。笔迹可以包括笔坐标数据。笔迹还可以包括生物计量数据。元数据可以以xmp格式存储在元数据流中。文档的元数据流还可以包括用于文档的输入区域的尺寸。位置信号可以包括一系列点位置。使笔迹的位置信号与输入区域相关联可以包括确定点位置是否在输入区域内。使笔迹的位置信号与输入区域相关联还可以包括确定点位置是否在输入区域的渗出边界内。使笔迹的位置信号与输入区域相关联还可以包括确定笔划的第一下笔点是否在输入区域内。在另一方面,一种包括计算装置的系统,该计算装置被编程为:生成表单标识符以识别第一文档的页面或输入区域;生成用于第一文档的输入区域的位置和字段类型;使位置和字段类型与表单标识符相关联,其中,位置、字段类型和表单标识符存储在第一文档的元数据流中;以及使用从表单标识符转换的以图形表示的标识符来从第一文档复制第二文档。该系统还包括手写装置和客户端计算装置,该客户端计算装置被编程为:从手写装置获得从第二文档的以图形表示的标识符转换的表单标识符,其中表单标识符与第二文档的输入区域的位置和字段类型相关联,并且其中表单标识符、位置和字段类型存储在第二文档的元数据流中;从手写装置获得笔迹的位置信号;以及基于表单标识符、位置和字段类型来使笔迹的位置信号与输入区域相关联。计算装置可以被编程以进行以上或本文别处描述的任何技术。计算机可读介质可以具有存储在其上的可执行指令,其被配置为使计算装置进行以上或本文别处描述的任何技术。附图说明当结合附图说明参考以下具体实施方式时,前述方面和许多伴随的优点将变得更容易理解,其中:图1a-1d是其中可以实施所描述的实施例的说明性系统和装置的框图;图2是示出手写输入区域的说明性用户特定表单的图;图3a-3f是描绘了可以包括在图2所示的文档的元数据部分中的xmp分组中的说明性元数据的代码图;图4是说明性过程的流程图,其中服务器计算机生成要存储在第一文档中的元数据,并且用从第一文档中的元数据转换的以图形表示的id来复制第二文档。图5是说明性过程的流程图,其中客户端装置基于与文档相关联的元数据元素将笔迹的位置信号与文档中的输入区域相关联。图6是用于确定位置信号(笔数据)中的点数据是否将与输入区域相关联的说明性过程的流程图;以及图7a和7b是描述涉及用于处理本文描述的电子文档的简档的工作流过程的流程图。具体实施方式在本文描述的实施例中,在文档内的元数据中定义文档的输入区域(例如,在位置、尺寸和类型等方面)。可以在所描述的实施例中使用的元数据的特定项目包括标签、文本、标识符(id)和布尔(boolean)值。元数据提供了存储描述在文档文件其自身内输入区域的行为与特征的数据的能力。本文描述的实施例对于手写输入特别有用。当输入(诸如手写输入)被施加到文档时,输入数据(例如,对应于手写输入所采集的笔划数据)可以与其他元数据一起存储在文档内。施加到特定输入区域的输入可以与输入区域相关联。所描述实施例中的工作流可以被设想为涉及两个阶段:表单创建,其包括定义输入区域;以及数据采集,其包括在对应文档中接收和处理输入,诸如从手写装置接收的手写输入和在纸上以图形表示的id。在一个实施例中,所公开的文件格式与诸如智能对开本或平板装置的手写装置以及相关的笔装置结合使用。笔装置被设计用于在纸上以墨水书写,同时还在书写过程期间生成对应电子笔迹数据,其可以映射到文档中的特定输入区域。例如,在与手写装置通信的客户端装置上运行的客户端应用可以在向相应的纸质文档施加墨水笔迹时在电子文档中嵌入电子笔迹数据,并且可以使电子笔迹数据与输入区域相关联。如本文所使用的,术语“手写装置”是指当用户用笔在纸上书写时,使用触控笔数位性地采集手写输入的混合装置。手写装置可以实施为专用笔迹收集装置,诸如手写板(pad)装置或手写平板(tablet)装置。手写装置不一定为专门的输入装置,且可以包括其他功能性(例如,数据传输功能性等)。下面提供了关于说明性手写装置的进一步细节。所描述的实施例允许自动创建电子文档,其包括从纸质文档或纸质文档的扫描图像不可用的数据类别,诸如生物计量数据(例如,笔压力数据、笔划的时间/速度)和笔位置数据。这些数据可以用于签名认证、自动字符识别或形状识别,或特定输入区域中的笔迹的其他解释(诸如在复选框中识别标记),或用于其他目的。所描述的实施例可以避免耗时的中间步骤,诸如手写表单的光学字符识别或人工检查,尽管这些步骤可以可选地用于补充或交叉检查自动技术的结果。纸质文档的电子版本随后可以于本地存储或发送到另一个装置用于存储或进一步处理,诸如在云端计算布置中。除了将笔迹数据存储为元数据之外,所描述的系统和装置还可以随文档一起存储签名文档的图像或特定笔迹图像。说明性系统和装置图1a是可实施所描述实施例中的说明性系统的框图。在图1a所示的示例中,手写装置100与客户端装置110通信(例如,经由usb、蓝牙或其它合适的连接)。客户端装置110还与运行表单应用205的服务器计算机200通信。(服务器计算机200和客户端装置110在下面参考图1b进一步详细描述)。尽管为了便于说明,图1a示出了单个服务器计算机、客户端装置和手写装置,但是应当理解,在本示例和本文描述的其他示例的环境中,可以存在一个或多个附加的手写装置、客户端装置和服务器计算机。在这种情形下,许多布置和拓扑是可能的。例如,客户端装置可以与多于一个手写装置通信,并且服务器计算机可以与多于一个客户端装置通信。客户端装置可以是台式或笔记本计算机、智能电话、平板装置或一些其他计算装置。在图1a所描绘的说明性情形中,在服务器计算机200上运行的表单应用205从源文档210a(例如,pdf格式或其他电子文档格式的文档)和提供为表单应用205的输入的表单信息212生成表单。表单信息212指示与用于表单的输入区域(例如,手写输入区域)相关联的信息(例如,位置、尺寸、名称、类型)。源文档210a提供用于表单的文档数据,并且还可以包括用于表单的基本元数据,诸如创建时间/日期、作者等。文档数据可以包括文本、图形、格式化信息以及当文档被显示或打印时表示文档内容的其他信息。在图1a所描绘的说明性情形中,表单应用205生成表单模板210b,从其能够生成单独的文档(例如,用户特定表单210c)。表单模板210b包括文档数据部分和元数据部分。元数据部分包括用于文档的附加信息。表单应用205使用表单信息212来识别和定义表单模板210b中的输入区域220(例如,手写输入区域)。表单应用205使输入区域220与表单模板210b的元数据部分中的元数据相关联。在该示例中,输入区域220与字段id、位置和字段类型相关联。为了便于说明,未示出可以包括在表单模板210b中的其他元数据(例如,文档id、页面id、创建时间/日期、作者等)。在图1a所描绘的说明性情形中,表单应用205基于表单模板210b和其他特定于将在表单上增加笔迹的具体用户的信息(例如,填写入院表单的医院病人,签署协议的银行客户)来生成用户特定表单210c。这样做,表单应用205生成要被包括在用户特定表单210c中的以图形表示的id230(例如,条形码、点代码、qr码)。以图形表示的id230可以被读取和解码(例如,通过布置在手写装置100上的、适当配置的扫描器或照相机装置241)以获得关于文档的信息,用于后续处理。用户特定表单210c还包括来自表单模板的元数据,包括与输入区域220相关联的字段id、位置和字段类型。服务器计算机200将用户特定表单210c发送到客户端装置110,客户端装置110将用户特定表单210c以电子形式发送到手写装置100。在一个实施例中,表单应用205通过将存储在文档的元数据部分中的一个或多个id转换为对应代码来生成以图形表示的id230。要转换的id可以包括与文档本身相关联的id(例如,文档id、页面id、字段id)、与用户相关联的id或id的一些组合。在客户端侧,可以解码以图形表示的id230以获得用于生成以图形表示的id230的信息。以这种方式获得的信息,然后可以用于将笔迹数据映射到文档中的具体输入区域。如果笔迹数据的位置信号与定义的输入区域相匹配,则客户端装置可以使笔迹数据与那些输入区域相关联,并且将笔迹数据和关联性存储在电子文档的元数据部分中。例如,可以将表单[docid][pageid]的数字代码转换为条形码,并将其添加到要由用户签名的文档中。当由扫描器241读取并解码条形码时(例如,在用户签署文档之前),客户端装置110可以使用文档id和页面id来查找对应的电子文档和页面,并识别该页面上定义的输入区域。为了实现这一点,代码需具有足够唯一,使得可以精确地识别适当的文档和位置。唯一性的级别可以基于诸如具体实施方式中预期处理的文档和页面的总数等因素而变化。通用唯一标识符(uuid)在某些情况下可能是优选的,但不是此目的所要求的。在图1a所描绘的说明性情形中,手写装置100是被设计为与笔装置102一起使用的智能作品集或智能剪贴板装置,笔装置102能够生成电子笔迹数据以及使用墨水(其可以存储在可更换墨水墨盒中)在纸上书写。因此,在该示例中,服务器计算机200将用于用户特定表单210c的打印信息发送到打印机190,其产生打印表格210d(包括以图形表示的id230)。再次参考图1a,手写装置100可以包括一个或多个视觉或机械引导件(未示出)以帮助将纸张放置在手写装置100上的适当位置,并且还可包括夹240,以在书写过程中固定和维持纸张210d在手写装置100上的位置,以及用于扫描打印在纸张210d上以图形表示的id230的扫描器241。通过将纸张210d定位并固定在预期位置,手写装置100能够向客户端装置110提供笔迹位置数据,使得其可以被精确地映射到电子文档中的对应位置。由客户端装置110从手写装置100接收的笔迹数据通常包括笔事件数据(例如,坐标数据和压力数据),并且还可以包括其他数据,诸如签名的图像、生物计量数据等。一个或多个生成传感器数据的传感器模块可以包括在手写装置100中,或者在一些情况下包括在诸如笔装置102的其他装置中。传感器数据可以被转换为笔事件数据,诸如位置/坐标数据和压力数据。在该示例中,手写装置100和笔装置102使用电磁共振(emr)技术来生成笔迹数据,但手写装置100可以是电容式触控笔或其他类型的触控笔。手写装置100中的emr传感器101被实施为数字转换器,其包括检测笔移动的传感器板,并且通过由传感器板表面生成的磁场在笔的谐振电路中感应能量。笔的谐振电路利用该能量将磁信号返回到传感器板表面。只要笔保持足够接近传感器板,即使电子笔不接触传感器板表面,板仍然可以以规律的时间间隔检测笔的坐标位置,使得仍然可以从笔接收信号。(有效信号范围可以取决于所使用的具体技术而变化,但通常在几毫米的量级)。可替选地,可以使用其他手写输入技术。例如,电子笔可以使用其他无线技术或者可以通过有线连接到数字转换器。作为另一示例,电子笔可以或可以不在数字转换器的表面外被检测到。作为另一示例,电子笔可以通电或不通电。通电的笔可以经由连接到外部电源的电线或经由板载电池接收电力。作为另一示例,可以在没有电子笔的情况下(例如,在压敏数字书写板,触摸屏或不需要电子笔的一些其他输入装置上经由触控笔)输入笔迹数据。然而,可以收集笔迹数据,由签名装置提供的笔迹数据可以包括笔事件信息、装置信息和/或关于制造笔迹的环境的环境信息。笔事件信息可以包括笔尖在数字转换器表面上或上方的x/y位置以及从手写开始的时间。除了x/y坐标值之外,笔事件信息可以可选地包括受签名装置能力影响的附加信息,诸如压力(笔力)、角度(方位角、高度和/或旋转)和下笔状态。通常在签名过程期间,以规律的间隔收集笔事件信息。收集笔事件信息的采样率可以取决于系统设计和配置而变化。笔迹数据可以以原始或压缩格式存储。笔迹数据、文档数据或元数据可以取决于诸如具体应用的安全性或敏感度的期望级别等因素而加密或不加密。图1b为更详细描绘说明性服务器计算机200和客户端装置110的框图。在图1b所示的示例中,服务器计算机200包括一个或多个处理器250,一个或多个通信接口260和存储器270。表单应用205从储存器(storage)272加载到存储器270中,并且包括id生成模块282、id关联模块284、以及文档复制控制模块286。在该示例中,id生成模块282是表单应用205的部分,其负责生成要存储在文档模板和用户特定表单的元数据部分中的信息,诸如字段id、页面id和字段类型。id关联模块284是表单应用205的部分,其负责使诸如字段id、页面id和字段类型的信息与诸如输入区域的文档特征相关联。文档复制控制模块286是表单应用205的部分,其负责以用户特定的表单或打印表单的形式复制文档(例如,从表单模板)。服务器计算机200可以经由通信接口260向其他装置(诸如,分别向客户端装置110和打印机190)发送用户特定表单和打印信息。在图1b所示的示例中,客户端装置110包括一个或多个处理器150,一个或多个通信接口160和存储器170。客户端应用105从储存器172加载到存储器170中,并且包括转换模块182和笔迹关联模块184。针对手写装置控制和相关数据处理,客户端装置110还可以包括手写装置控制软件和相关库188(例如,签名sdk库)。图1c描绘了所描述实施例中的说明性手写装置100及其用途。在图1c所示的示例中,手写装置100包括emr传感器101、夹240和扫描器241。夹240被布置为接近手写装置100上的书写表面,以将纸张210d固定在书写表面。再次参考图1a,在说明性情形中,纸张210d从服务器计算机200中的第一文档复制,并且由打印机190打印出。当服务器计算机200复制第一文档时,服务器计算机200将以图形表示的id230添加到第二文档。以图形表示的id230与字段id、位置和字段类型相关联。再次转到图1c,布置在手写装置100上的扫描器241被配置为扫描以图形表示的id230,以便识别除了其它潜在特性之外,原始文档的格式。在图1c所示的示例中,扫描器241包括在夹240中,并且被定位以读取打印在要签名纸张210d一侧上的以图形表示的id230。可替选地,诸如在以图形表示的id230印刷在纸210d背面上的情况下,扫描器241可以被定位在手写装置100的主体中(例如,在夹240下面)。图1d描绘了由夹240固定就位的纸210d,定位图形表示的id230使得其可以被扫描器241扫描。将纸210d定位在已知位置和方向允许准确地向纸施加手写输入,以使得手写输入可以与适当的输入区域相关联。说明性表单和元数据图2是示出手写输入区域的说明性用户特定表单的图。在图2所示的示例中,定义了文本输入区域220-222和复选框输入区域223。可以使用各种技术来帮助用户填充表单中的适当输入区域。例如,可以用特殊的背景颜色、边框等突出显示活动输入区域。如果需要填充某些字段,则这些字段可以颜色编码,用星号标记,或者以某种其他方式与不需要的字段区分开。类似地,尚未填充的字段可以在视觉上与已填充的字段区分开。所公开的实施例可以与允许包括元数据的任何文档文件格式一起使用,诸如pdf文档或docx文档。例如,如果文档是pdf文档,则可以向文档内的输入区域提供pdf文档内的匹配acroform对象。在至少一个实施例中,可扩展元数据平台(xmp)分组用于存储元数据。xmp模型是可扩展标记语言(xml)中的资源描述框架(rdf)的扩展。xmp元数据被序列化为xml,以xmp分组存储在文档中,并且独立于任何具体的文档文件格式。(参见“xmp规范第3部分:存储在文档中”(2010年7月),可从adobesystemsinc.获得)。在说明性情形下,xmp分组可以嵌入(例如,pdf文档中的匹配表单(或acroform)对象的)元数据流来存储描述输入区域行为和特征的数据。嵌入在pdf页面对象的元数据流中的xmp分组可以用于描述或许可诸如用于每个单独页面的条形码的特征的生成。嵌入在根pdf对象的元数据流中的xmp分组可以存储将与文档相关的元数据以及与文档的特定部分相关的其他数据,诸如特定页面或输入区域一起作为整体存储。图3a-3f描绘了可以包括在图2所示的文档的元数据部分中xmp分组的说明性元数据。例如,xmp分组可以被包括在pdf文档的元数据流中。(为了简化这些图中元数据的显示,一些值已缩写或替换为占位符值,诸如xxx。)在图3a所示的示例中,文档级元数据元素包含在xmp分组中,包括文档中单页的页面id(“1234567”)。在图3b所示的示例中,页面级元数据元素包含在xmp分组中,包括用于在图3a中识别的页面的字段id列表(例如,“142532”)。在图3c-3f所示的示例中,字段级元数据元素包含在针对图2中的每个识别的输入区域220-223和图3b中列出的对应字段id的相应xmp分组中。字段级元数据元素可以包括fieldtype(例如,文本、数字、手绘、签名、布尔),fieldtag(例如,用户可配置的标签,诸如“公司名称”),fieldlocation(例如,x和y坐标以及宽度和高度尺寸),要求(指示针对此表单是否要求填充此输入区域),data和pendata(笔划数据)。data字段的值取决于fieldtype。例如,如果fieldtype是“text”,则data字段可以反映将笔迹识别算法施加到手写输入的结果。作为另一个示例,如果fieldtype是“签名”,则data字段可以包括加密或未加密形式的编码笔位置数据、生物计量数据等,以及其他信息,诸如签名者的姓名、签名的原因、或用于加密的公共密钥。在这些示例中,图3c描绘了“名称”框的元数据(fieldtype=text)(图2中的“220”),图3d描绘了“公司名称”框的元数据(fieldtype=text)(图2中的“221”,图3e描绘了“日期”框的元数据(fieldtype=text)(图2中的“222”),并且图3f描绘了复选框的元数据(fieldtype=boolean)(图2中的“223”)。图3c、3d和3e还描绘了相应的笔划数据,因为这些输入区域已经在图2中填充。(为了易于呈现,笔数据在图3c、3d和3e中被缩写为单个笔划。实际上,诸如“姓名”或“公司名称”框中所示的那些,打印字符的句行,将由更大数量的笔划组成)。图3f缺少笔划数据,因为图2中的复选框223是空的。虽然未在图3f中示出,但是复选框元数据可以包括默认数据值(例如“false”)以反映如果在该输入区域中没有检测到笔划数据则用户尚未选中该框的假设。说明性过程和工作流本节提供了用于使用所描述的文件格式生成具有用于手写输入的输入区域的文档,使手写输入与这些文档中的输入区域相关联的说明性过程,以及相关工作流的细节。图4是说明性过程400的流程图,其中服务器计算机(例如,服务器计算机200)当创建或获得新的pdf文件时生成要存储在第一文档中的元数据,并且使用由第一文档中的元数据转换的诸如条形码的以图形表示的id来复制第二文档。第二文档可以用以图形表示的id来打印纸张版本。在图4所示的示例中,在步骤410,服务器计算机生成识别第一文档的页面或输入区域的表单id(例如,页面id或字段id)。在步骤420,服务器计算机生成用于输入区域的位置和字段类型。在步骤430,服务器计算机使位置和字段类型与表单id相关联,并将位置、字段类型和表单id存储在第一文档的元数据流中。在步骤440,服务器计算机用由第一文档的表单id转换的以图形表示的id来复制第二文档。再次参考图1a,第二文档可以由打印机190打印为要由用户填写,可以放置到手写装置100上的纸张。图5是说明性过程500的流程图,其中客户端装置(例如,客户端装置110)基于与文档相关联的元数据元素来使笔迹的位置信号与文档中的输入区域相关联。在图5所示的示例中,在步骤510,客户端装置从手写装置100获得表单id(例如,页面id或字段id)。在至少一个实施例中,表单id从以图形表示的id获得,其由手写装置的扫描器(例如,手写装置100的扫描器241)扫描。表单id与用于文档的输入区域的位置和字段类型相关联,因此客户端设备可以通过使用获得的表单id来识别原始文档(第一文档)的格式。表单id、位置和字段类型存储在文档的元数据流中。在步骤520,客户端计算装置从手写装置获得笔迹的位置信号。在步骤530,客户端计算设备基于表单id、位置和字段类型来使笔迹的位置信号与输入区域相关联。现在将描述可以根据一个或多个实施例进行的附加工作流程的示例。在该示例中,客户端装置110向服务器计算机200发送请求,以便获得与第一文档相对应的原始pdf文档。服务器计算机200识别与从客户端设备110发送的表单id相对应的原始pdf文档,并将原始pdf文档发送到客户端装置110。客户端装置110获得原始pdf文档,并将笔迹的位置信号覆盖到原始pdf文档上。另外,客户端装置110在原始pdf文档的元数据流中添加包含用于第二文档的输入区域的位置和字段类型的新元数据。客户端装置110在显示器上示出笔迹和pdf文档(第一文档)的原始表单的覆盖,并且用户可以在将文档发送到服务器计算机200之前检查该笔迹是否被正确地写入。因为客户端装置110将包括笔迹数据的元数据添加到原始pdf文档的元数据流中,并且将笔迹覆盖在原始pdf文档上,该笔迹数据可以自动地被放到服务器计算机200上。这可以有助于减少用户对与笔迹数据相对应的信息的手动输入的需要。更优选地,客户端装置110可以根据用于与具有相同表单id的原始文档相对应的输入区域的位置和字段类型来转换笔迹的位置信号。然而,本发明不限于该实施例;例如代替客户端装置110,服务器计算机200可以根据用于与具有相同表单id的原始文档相对应的输入区域的位置和字段类型来转换笔迹的位置信号。图6是确定位置信号(笔数据)中的点数据是否要与输入区域相关联的说明性过程600的流程图。在该示例中,输入区域具有被认为是输入区域一部分的边界(或渗出区域)。在步骤610,计算装置(例如,客户端装置110)接收用于笔迹的点数据。在步骤620,计算装置确定点数据是否在输入区域中。如果是,则处理下一个点。如果不是,则计算装置在步骤630进一步确定该点是否超出输入区域的边界。如果不是,则处理下一个点。如果是,计算装置则在步骤640进一步确定该笔划的第一下笔点(例如,具有大于0的压力值)是否在输入区域内。如果是,则在步骤650将点并入到与输入区域相关联的笔划中。如果不是,则处理在步骤660返回错误。如果由于笔数据在输入区域之外而返回错误,即使不与输入区域相关联,该笔数据则仍然可以保存在元数据中。这种笔数据可以用于稍后分析以确定签名者的意图。这例如在签名期间纸张移动,或者用户在文档未期待的区域中书写时可能是有帮助的。图7a-7b描述了可以与本文描述的实施例结合使用的另一工作流过程700。工作流过程700主要处理如果启用了文档工作流步骤选项,软件应如何加载文档的工作步骤简档。在该说明性示例中,工作步骤简档是当文档到达其域中时(例如,当文档被推送到客户端时),客户端或服务器进行的工作流。在说明性情形中,当文档需要在被上传到网站之前,由用户1签名然后通过电子邮件发送到用户2用于会签(countersign)时,可以使用工作流。在一个实施例中,工作流的预完成部分处理在处理文档前要传达的问题;其示例为客户端应当在接收到文档时立即浏览到下一个活动区域的选项。预完成部分还包含工作流内当前步骤的细节,该工作流是在具有多个阶段的文档情况下的活动步骤。预完成部分还包括关于针对要完成的当前工作流步骤文档应满足的准则的细节(例如,必须完成字段idxxxx和字段idyyyy,之后可以执行当前工作流步骤的完成后规则)。完成后部分处理在当前工作流步骤被认为完成之后发生于文档的事件。这可以是例如以具体的特定名称格式保存文档,以及输出文档(例如,文档上传,用电子邮件发送或某些其他机制)。客户端软件的完成后处理还将增加工作流程规则中的当前工作步骤号,以指示文档当前所处于的状态。这些工作流程简档可储存在文档格式的文档级别内作为扩展。然而,客户端软件也可以支持简档的概念,诸如默认简档或命名简档,而不是在每个文件内明确地定义工作流。这允许灵活地在没有工作流的文档中应用工作流,或者可对具有存在但过期的工作流定义的文档进行更新,并且无需编辑原始文档。因此,在文档中定义工作流存在几个选项:·明确地在文档级元数据(例如,xmp)内。·作为从客户端缓存加载的元数据中的命名简档。·作为动态地下载到到客户端并且应用的元数据中的远程简档。客户端软件还可以从其本地缓存或远程地配置默认简档,以应用于没有简档的文档。在该说明性情形中,可以描述图7a和7b中描绘的示例。首先转到图7a,在步骤702,计算装置确定文档是否包含工作流部分。如果是,则在步骤704加载简档名称。如果不是,则在步骤706对默认简档进行检查。如果在步骤704加载了简档名称,则在步骤708检查该名称的简档是否在文件中。如果是,则在步骤710获得简档版本号。如果不是,则在步骤712将简档版本设置为0。在步骤714,进行对远程简档的检查。如果远程简档可用,则在步骤716获得版本号。如果没有远程简档可用,则在步骤718将远程简档版本设置为0。在步骤720,进行对本地简档的检查。如果本地简档可用,则在步骤722获得版本号。如果没有本地简档可用,则在步骤724将本地简档版本设置为0。现在转到图7b,如果本地简档版本高于文件简档版本(步骤726),则在步骤728,进行进一步检查以确定本地简档版本是否高于远程简档版本。如果是,则在步骤730加载本地应用简档规则。如果否,则在步骤732加载远程简档规则。如果本地简档版本不高于文件简档版本,则在步骤734,进行进一步检查以确定文件简档版本是否高于远程简档版本。如果不是,则过程返回到步骤732。如果是,则在步骤736加载文件简档规则。当加载所选择的简档规则时,在步骤738设置全局文档行为。在步骤740,在简档规则中处理工作步骤。如果剩余更多的工作步骤(步骤742),则处理下一个工作步骤。如果否,则在步骤744处理进行到输出规则。如果剩余任何输出规则,则在步骤746处理下一个输出规则。如果否,则处理在步骤750结束。计算环境本文描述的实施例可以由适当编程和配置的计算装置单独地或组合地实施。以下描述适用于诸如服务器、个人计算机、移动电话、智能电话、平板计算机、嵌入式计算装置、手写装置和可以根据本公开实施例使用的其他当前可用或尚待开发的计算装置。在其最基本的配置中,计算装置包括通过通信总线连接的至少一个处理器和系统存储器。取决于装置的确切配置和类型,系统存储器可以是易失性或非易失性存储器,诸如只读存储器(“rom”)、随机存取存储器(“ram”)、eeprom、闪存或其它存储器技术。本领域的普通技术人员和其他人员将认识到,系统存储器通常存储处理器可立即访问和/或当前正在操作的数据和/或程序模块。在这点上,处理器可以通过支持指令的执行而用作计算装置的计算中心。计算装置可以包括网络接口,该网络接口包括用于通过网络与其他装置通信的一个或多个部件。本公开的实施例可以使用公共网络协议来访问利用网络接口以进行通信的基本服务。网络接口还可以包括被配置为经由诸如wifi、2g、3g、4g、lte、wimax、蓝牙等之类的一个或多个无线通信协议通信的无线网络接口。计算装置还可以包括存储介质。然而,可以使用不包括用于将数据保存到本地存储介质的方式的计算装置来访问服务。因此,存储介质是可选的。在任何情况下,存储介质可以是易失性或非易失性的,可移除的或不可移除的,使用能够存储信息的任何技术来实施,诸如但不限于硬盘驱动器、固态驱动器、cd-rom、dvd或其他磁盘存储器、磁带、磁盘存储和/或类似物。如本文所使用的,术语“计算机可读介质”包括以能够存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的易失性和非易失性以及可移动和不可移动介质。在这点上,系统存储器和存储介质是计算机可读介质的示例。为了便于说明并且因为对于理解所要求保护的主题并不重要,附图未示出许多计算装置的一些典型部件。在这点上,计算装置可以包括输入装置,诸如键盘、小键盘、鼠标、轨迹球、麦克风、摄像机、触摸板、触摸屏、触控笔和/或类似物。这样的输入装置可以通过包括rf、红外线、串行、并行、蓝牙、usb或其他使用无线或物理连接合适的连接协议耦合到计算装置。在任何所描述的示例中,数据可以由输入装置(例如,签名装置)采集并且被发送或存储以用于将来的处理。处理操作可以包括编码数据,其可以随后被解码以由输出装置呈现。输入装置可以与计算装置分离并且通信地耦合到计算装置,或者可以是计算装置的集成部件。计算装置还可以包括诸如显示器或触摸屏的输出装置。输出装置可以与计算装置分离并且通信地耦合到计算装置,或者可以是计算装置的集成部件。输入功能性和输出功能性可以集成到相同的输入/输出装置(例如,触摸屏)中。任何合适的输入装置、输出装置或者当前已知的或未来开发的组合的输入/输出装置可以与所描述的系统一起使用。一般来说,本文中所描述的计算装置的功能性可在以硬件或软件指令体现的计算逻辑中实施,其可用诸如c、c++、cobol、javatm、php、perl、python、ruby、html、css、javascript、vbscript、aspx、诸如c#的microsoft.nettm语言和/或类似物的编程语言编写。计算逻辑可以被编译成可执行程序或以解释性编程语言编写。通常,这里描述的功能可以被实施为逻辑模块,其可以被复制以提供更大的处理能力、与其他模块合并或被划分为子模块。计算逻辑可以存储在任何类型的计算机可读介质(例如,诸如存储器或存储介质的非暂时性介质)或计算机存储装置中,并且存储在一个或多个通用或专用处理器上并由其执行,从而创建被配置为提供本文描述功能的专用计算装置。扩展和替选本文所述的系统和装置的许多替选方案是可行的。例如,单独的模块或子系统可以被分离成附加的模块或子系统或组合成更少的模块或子系统。作为另一示例,模块或子系统可以省略或使用其他模块或子系统补充。作为另一示例,被指示为由具体装置、模块或子系统进行的功能可以替代地由一个或多个其他装置、模块或子系统进行。尽管本公开中的一些示例包括对包括特定布置中的特定硬件部件的装置的描述,但可修改本文所描述的技术和工具以适应不同的硬件部件、组合或布置。此外,尽管本公开中的一些示例包括对具体使用情形的描述,但是可以修改本文描述的技术和工具以适应不同的使用情形。被描述为在软件中实施的功能能够替代地在硬件中实施,反之亦然。本文描述的技术的许多替选方案是可行的。例如,各种技术中的处理阶段可以被分成附加阶段或组合成更少阶段。作为另一示例,各种技术中的处理阶段可以被省略或用其他技术或处理阶段来补充。作为另一示例,被描述为以具体顺序发生的处理阶段可以替代地以不同的顺序发生。作为另一示例,被描述为在一系列步骤中进行的处理阶段可以替代地以并行方式处理,其中多个模块或软件处理同时处理一个或多个所示出的处理阶段。作为另一示例,被指示为由具体装置或模块进行的处理阶段可替代地由一个或多个其他装置或模块进行。在前面的叙述中已经描述了本公开的原理、代表性实施例和操作模式。然而,旨在受保护的本公开的各方面不应被解释为限于所公开的特定实施例。此外,这里描述的实施例被认为是说明性的而不是限制性的。应当理解的,在不脱离本公开精神的情况下,可以由其他人和所采用的等同物进行变化和改变。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1