具有验证功能的电子文档的制作方法

文档序号:6560036阅读:277来源:国知局
专利名称:具有验证功能的电子文档的制作方法
技术领域
本发明涉及电子文档。
背景技术
通过各种网络分发诸如PDF文档和Word(注册商标)文档的电子文档,以传送信息。取决于信息内容,期望保持机密性、或避免一些电子文档的泄露(非授权公开)。
为了满足此需求,在相关技术中,提供用于读取电子文档的密码,由此,防止非授权读取。这被称为“文档读取保护功能”。然而,此功能仍然不够。
图12A为示意性地图解用于分发具有文档读取保护功能的电子文档的相关技术中的网络的例子的框图。
如图12A所示,从传送源起,在诸如公司A、公司B等的未指定的目的地上分发未指定其分发目的地的电子文档2。这里,假定第三方公司C能够从公司A或公司B得到电子文档2;然而,由于在传送源中不存在指示已将电子文档2发送到公司C的记录,所以,不清楚公司C是否已得到电子文档2。另外,即使在知晓公司C已得到电子文档2时,也难以确定公司C在何处得到电子文档2。类似地,当另一个竞争公司得到电子文档2时,难以确定的所述另一个竞争公司在公司A、公司B、公司C、以及其它第三方之中的何处得到电子文档2。
图12B为示意性地图解用来克服以上问题的相关技术中的修改的网络的例子的框图。
在此例子中,从传送源起,为每个指定的分发目的地创建未指定其分发目的地的电子文档2,并将其分发到每个指定的分发目的地。例如,在具有指定的分发目的地的文档中,打印专用于分发目的地的水印;可替换地,为特定分发目的地提供密码。利用具有指定的分发目的地的这样的文档,存在这样的合意(consensus),即,作为分发目的地的公司A不将该文档分发到例如公司C的第三方。此规则约束了分发目的地。结果,公司C必须向传送源请求该文档的分发。从公司C接收该请求之后、并且当传送源决定将该文档分发到公司C时,传送源创建专用于公司C的文档。
在图12B中示出的例子中,由于传送源一侧上必须为每个分发目的地创建电子文档,所以,传送源一侧上的文档创建的工作负载很高。另外,当存在新的分发目的地时,当公司C请求得到该文当时,在公司C可得到该文档之前会耗费相当长的时间。此外,当竞争公司非法得到该文当时,尽管有可能确定该竞争公司从何处得到该文档,但该竞争公司可容易地读取文档的内容。
例如,日本公开专利申请第2005-141746号公开了通过网络的服务器中的安全验证(authentication)的技术,其中,通过软件执行该验证。
日本公开专利申请第2003-6028号公开了通过软件验证ID和密码的技术,其中,文档被扰码(scramble)(加密)。
日本公开专利申请第2001-256190号公开了通过电子邮件执行服务器的验证的技术,其中,通过软件执行ID和密码的验证。

发明内容
本发明可解决相关技术中的一个或多个问题。
本发明的优选实施例可提供能够保持机密性、并防止电子文档的内容的泄露的电子文档。
根据本发明的第一方面,提供了一种在计算机的显示装置上显示的电子文档,所述电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开的文档的预定页上提供检验(verification)数据输入区;确定单元,其确定在检验数据输入区中输入的检验数据是否满足预定条件;以及部分显示单元,其在确定单元确定检验数据满足预定条件时,将文档的预定部分显示在显示装置上。
根据本发明的第二方面,提供了一种在计算机的显示装置上显示的电子文档,所述电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据项的第一数据输入区、以及用于输入第二数据项的第二数据输入区;维持单元,其将多个第一数据项与分别对应于第一数据项的第二数据项相组合,并预先维持所述多个组合;确定单元,其确定在分别在第一数据输入区和第二数据输入区中输入的第一数据项和第二数据项是否与所述组合中的一个相符;以及对象设置单元,其在确定单元确定分别在第一数据输入区和第二数据输入区中输入的第一数据项和第二数据项与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据项加载到能够显示第一数据项的第三对象中并显示第三对象的操作中的至少一个。
根据本发明的第三方面,提供了一种在计算机的显示装置上显示的电子文档,所述电子文档驱动计算机执行以下单元的功能设置单元,其在根据打开文档的指令而从输入单元输入的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据项的第一数据输入区、以及用于输入第二数据项的第二数据输入区;维持单元,其预先维持程序,所述程序根据所输入的第一数据项而自动地生成第二数据;确定单元,其确定通过使用所述程序而根据输入到第一数据输入区的第一输入数据项自动地生成的对应的第二数据是否与输入到第二数据输入区的第二输入数据项相符;以及对象设置单元,其在确定单元确定通过使用所述程序而根据输入到第一数据输入区的第一输入数据项自动地生成的第二数据项与输入到第二数据输入区的第二输入数据项相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据项加载到能够显示第一数据项的第三对象中并显示第三对象的操作中的至少一个。
作为实施例,对象设置单元可将第三对象显示在所有页或一些页上。
作为实施例,电子文档还可驱动计算机执行以下单元的功能存储时间对象设置单元,其在存储文档时,将第一对象的显示属性设置为处于显示状态。
作为实施例,存储时间对象设置单元将第二对象的显示属性设置为处于非显示状态。
作为实施例,电子文档还可驱动计算机执行以下单元的功能存储时间对象设置单元,其在存储文档时,将第一对象的显示属性设置为处于显示状态。
作为实施例,电子文档还可驱动计算机执行以下单元的功能检查单元,其检查在第一数据输入区输入的第一数据项的形式,并排除不满足预定条件的第一数据项。
作为实施例,电子文档还可驱动计算机执行以下单元的功能传送源显示单元,其即使在未进行检验数据的检验时,也显示用于文档的传送的管理的传送源的地址。
作为实施例,当第一对象、第二对象、以及第三对象中的至少一个包括多个对象时,在内置程序中向所述多个对象分配相同的对象名称。
作为实施例,电子文档还可驱动计算机执行以下单元的功能状态显示单元,其确定第一数据输入区、第二数据输入区、或第三数据输入区的输入状态,并显示指示所确定的输入状态的对象。
作为实施例,电子文档还可驱动计算机执行以下单元的功能第二对象设置单元,其在由计算机给出的日期和时间数据不满足预定条件时,不将第一对象设置为处于非显示状态,并且,不将第二对象和第三对象设置为处于显示状态。
作为实施例,该程序可使用由计算机给出的日期和时间数据,作为计算过程中的元素。
作为实施例,当存在多个第一对象时,对象设置单元仅在输入了预定的第一数据项时才将所述多个第一对象中的一些对象设置为处于非显示状态。
作为实施例,当存在多个第二对象时,对象设置单元仅在输入了预定的第一数据项时才将所述多个第二对象中的一些对象设置为处于显示状态。
根据本发明的第四方面,提供了一种表示在计算机的显示装置上显示的电子文档的方法,所述方法包括以下步骤通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到检验数据;以及确定检验数据是否满足预定条件,并且,当检验数据满足预定条件时,在显示装置上显示文档的预定部分。
根据本发明的第五方面,提供了一种表示在计算机的显示装置上显示的电子文档的方法,所述方法包括以下步骤预先维持多个第一数据集与分别对应于第一数据集的第二数据集的多个组合;通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到第一数据集和第二数据集;以及当第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
根据本发明的第六方面,提供了一种表示在计算机的显示装置上显示的电子文档的方法,所述方法包括以下步骤预先维持用于根据所输入的第一数据集而自动地生成第二数据集的进程;通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到第一数据集和第二数据集;以及当第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
作为实施例,在由计算机给出的日期和时间数据不满足预定条件时,不将第一对象设置为处于非显示状态,并且,不将第二对象和第三对象设置为处于显示状态。
作为实施例,使用由计算机给出的日期和时间数据,作为该进程中的计算过程中的元素。
根据本发明的第七方面,提供了一种用于显示电子文档、并用于输入或输出电子文档的数据的电子文档显示装置,当电子文档被显示在该电子文档显示装置上时,该电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据集的第一数据输入区、以及用于输入第二数据集的第二数据输入区;维持单元,其将多个第一数据集与分别对应于第一数据集的第二数据集相组合,并预先维持多个组合;确定单元,其确定在分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集是否与所述组合中的一个相符;以及对象设置单元,其在确定单元确定分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
根据本发明的第八方面,提供了一种存储介质,其中存储了电子文档,当电子文档被显示在计算机的显示装置上时,该电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据集的第一数据输入区、以及用于输入第二数据集的第二数据输入区;维持单元,其将多个第一数据集与分别对应于第一数据集的第二数据集相组合,并预先维持多个组合;确定单元,其确定在分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集是否与所述组合中的一个相符;以及对象设置单元,其在确定单元确定分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
根据本发明,通过使用本发明的电子文档,即使在通过网络将电子文档分发给大量用户时,也有可能适当地维持机密性、并防止电子文档的内容的泄露。另外,用于预备分发的工作负载很低;此外,即使在发生泄露时,也很容易确定泄露的途径。
从下面通过参照附图而给出的优选实施例的详细描述中,本发明的这些和其它目的、特征、以及优点将变得更为清楚。


图1为示意性地图解根据本发明的实施例的用于分发电子文档的网络的例子的框图;图2A为图解根据本发明的第一实施例的电子文档的配置的框图;图2B为图解根据本发明的第一实施例的电子文档显示装置的配置的框图;图3A和3B为图解根据本发明的第一实施例的电子文档20的各种表单(form)的框图;图4为示出由在表1中示出的代码执行的过程的流程图;图5为示出根据ID表单30的内容来计算密码的值、并确定所计算的密码值以及密码表单28的内容是否彼此相符的过程的流程图;图6A和6B为图解根据本发明的第一实施例的电子文档20的内容表单32和水印表单36的框图;图7为图解根据本发明的第二实施例的、在存储电子文档时执行的Java脚本的过程的流程图;图8A为图解根据本发明的第四实施例的电子文档的ID表单Java脚本的过程的一部分的流程图;图8B为图解根据本发明的第四实施例的电子文档的密码表单Java脚本的过程的一部分的流程图;图9为图解根据本发明的第五实施例的电子文档的密码表单Java脚本的过程的一部分的流程图;图10为图解根据本发明的第六实施例的电子文档的密码表单Java脚本的过程的一部分的流程图;图11A为图解根据本发明的第六实施例的电子文档的密码表单Java脚本的过程的一部分的流程图;图11B为图解根据本发明的第六实施例的电子文档的另一个密码表单Java脚本的过程的一部分的流程图;图12A为示意性地图解用于分发具有文档读取保护功能的电子文档的相关技术中的网络的例子的框图;以及图12B为示意性地图解用来克服以上问题的相关技术中的修改的网络的例子的框图。
具体实施例方式
下面,将通过参照附图来说明本发明的优选实施例。
首先描述本发明的总体思想。
图1为示意性地图解根据本发明的实施例的用于分发电子文档的网络的例子的框图。
根据本发明的实施例的电子文档被独立地分配了ID和密码,并且,如果未输入ID和密码,则不允许读取该电子文档。已对此规则编程。当输入了ID和密码时,将该ID显示在该文档上。在此情况下,可确定所打开的文档的ID。在传送源一侧,仅已创建了一个电子文档,并且,传送源为每个分发目的地独立地分配ID和密码。
在图1中示出的网络中,向公司A分配电子文档的ID和密码,并且,公司A将ID和密码(在图1中表示为“Pwd”)输入到所分发的电子文档中;由此,公司A能够读取并确认电子文档的内容。在此情况下,将所输入的ID示出在电子文档的所有页上,并且,由此,可确定通过使用公司A的ID而打开了此电子文档。
被分发了电子文档的一方可将该电子文档再次分发给第三方。例如,公司A可将该电子文档分发给公司C。然而,在本发明中,允许公司C向传送源独立地请求专用于公司C的ID和密码,并且,利用ID和密码,公司C可读取该电子文档。从传送源的观点看,不必要创建供公司C使用的电子文档,并且,仅发出用于公司C的ID和密码便足够了。
即使在竞争公司已获取了该电子文档的情况下,如果该竞争公司不具有ID和密码,则也不允许它读取该电子文档。例如,即使当该竞争公司获取了该ID和密码,也有可能容易地确定该ID和密码是从哪里泄露的。例如即使在该竞争公司获取了公司B的ID和密码的情况下,由于在该电子文档的所有页上示出公司B的ID,所以,也可确定正是从公司B泄露了该ID和密码。
第一实施例图2A为图解根据本发明的第一实施例的电子文档的配置的框图。
图2B为图解根据本发明的第一实施例的电子文档显示装置的配置的框图。
如图2B所示,通过在普通个人计算机中安装电子文档显示软件,而得到电子文档显示装置10。下面,作为例子,使用由Adobe系统公司开发的PDF(便携式文档格式)文档作为电子文档。特定地,本实施例不限于此,并可被应用于其它类型的文档。
另外,优选地,如下面描述的PDF文档那样,本实施例的电子文档具有用于对象的脚本(script)功能。例如,PDF文档具有Java脚本功能。
图2B中示出的电子文档显示装置10包括文档管理器12,并且,文档管理器12包括文档显示器14、Java脚本执行器16、以及表单控制器18。Java脚本执行器16执行用于包括在PDF文档中的各种对象的脚本。表单控制器18接收在Java脚本执行器16执行脚本时生成的表单控制指示,并控制各种表单。这里,“表单”是PDF文档中的一个对象。
如图2A所示,PDF文档20包括文档数据22。简而言之,文档数据22包括文档内容38、各种表单26、以及存储时间执行Java脚本24。
文档内容38是文档的实际内容。
表单26包括密码表单28、ID表单30、内容表单32、遮蔽(shadow)表单34、以及水印(watermark)表单36。由于表单26是对象,所以,它们包括对应的脚本。
在相关技术的电子文档中,当打开电子文档时,首先,需要例如密码的检验符号的输入,并且,不打开该电子文档,直到输入了专用于该电子文档的正确的检验符号为止。在本实施例中,当计算机执行打开电子文档的操作时,打开该文档,并且,在起始页上,附加显示ID表单30和密码表单28,以督促ID和密码的输入。也就是说,在本实施例中,在打开文档之后立即需要检验符号的输入。特定地,在本实施例中,有可能通过使用相关技术的电子文档的检验符号,包括恰好在打开文档之前的检验功能。
ID表单30是用于输入ID的可编辑文本表单,并且,通常被布置在文档的第一页上。
密码表单28是用于输入密码的可编辑文本表单,并且,通常被布置在文档的第一页上。
图3A和3B为图解根据本发明的第一实施例的电子文档20的各种表单的框图。
例如,在图3A和3B中示出了ID表单30和密码表单28。
遮蔽表单34是用于转换一页的部分或全部内容的片状(sheet-like)的不可编辑的不透明(opaque)文本表单,并在相对于ID输入了错误的密码时被显示。通常,遮蔽表单34被布置在文档的第二和每个后续页上。
水印表单36是用于处理和显示所输入的ID的不可编辑文本表单,并被配置为在相对于正确ID输入了错误的密码时不被显示。通常,水印表单36被布置在文档的第二和每个后续页上。
内容表单32是用于显示文档的固有内容的不可编辑文本表单,并被配置为在相对于正确ID输入了错误的密码时不被显示。通常,内容表单32被布置在文档的第二和每个后续页上。
在图3A中,遮蔽表单34处于显示状态,并且,在图3B中,遮蔽表单34处于非显示状态。
图6A和6B为图解根据本发明的第一实施例的电子文档20的内容表单32和水印表单36的框图。
在图6A中,内容表单32和水印表单36处于非显示状态。在图6B中,内容表单32和水印表单36处于显示状态。
在本实施例中,当将ID和密码分别输入到PDF文档的ID表单30和密码表单28时,执行在PDF文档中嵌入的Java脚本程序,并且,将ID表单30和密码表单28的输入数据与在PDF文档中记录的ID和密码相比较。
例如,通过执行表1中示出的代码,当分别将“aaa@aaa.com”作为ID而输入到ID表单30中、且将“aaa”作为密码而输入到密码表单28中时,确定所输入的ID和密码与在PDF文档中记录的ID和密码相符。也就是说,当分别作为ID而输入“aaa@aaa.com”、且作为密码而输入“aaa”时,遮蔽表单34处于非显示状态,水印表单36处于显示状态,并且,在水印表单36中,在水印表单36中设置ID表单30的输入数据。
表1var h=this.getField(“ID”);var f=this.getField(“Shadow”);f.hidden=((event.value==“aaa”)&&(h.value==“aaa@aaa.com”));var g=this.getField(“watermark”);
g.hidden=((event.value!=“aaa”)‖(h.value!=“aaa@aaa.com”));g.value=h.value;图4为示出由在表1中示出的代码执行的过程的流程图。
如图3B所示,当输入了正确的ID和密码(Pwd)时,遮蔽表单34改变为非显示状态,并且,水印表单36改变为显示状态。在遮蔽表单34从显示状态改变为非显示状态之后,公开文档的屏蔽内容。
在图6B中,示出了内容表单32和水印表单36处于显示状态。
当ID和密码的数目固定时,包括表1中示出的代码的电子文档可有效地起作用。换句话说,当发出了新的ID和密码时,必须修改表1中的代码。另外,当ID的数目增大时,电子文档的大小增大。
因此,在本实施例中,可使用与表1和图4中不同的方法来验证是否输入了与输入ID相对应的正确的密码。例如,当输入了ID和密码时,执行在文档中的密码表单28中嵌入的Java脚本程序,根据ID表单30的内容来计算密码的值,将所计算的密码值与密码表单28的内容相比较,并且,确定所计算的密码值与密码表单28的内容是否相符。
图5为示出根据ID表单30的内容来计算密码的值、并确定所计算的密码值以及密码表单28的内容是否相符的过程的流程图。
在图5中,假定密码值“oText”与在ID表单中输入的字符的字符代码的数值的和相对应。表2示出了用于执行此过程的代码。
例如,根据图2中的代码,当将“aaa@aaa.com”作为ID而输入到ID表单30中、且将“1011”作为密码而输入到密码表单28中时,确定输入了与所输入的ID相对应的正确的密码。当将“bbb@bbb.com”作为ID而输入到ID表单30中、且将“1017”作为密码而输入到密码表单28中时,也确定输入了与所输入的ID相对应的正确的密码。由此,在电子文档的传送源一侧,可基于在密码表单28中嵌入的Java脚本程序的计算逻辑(在图5中由“A”指示的部分)而计算与该ID相对应的密码,并且,可将该密码独立地提供给分发目的地。当然,在密码表单28中嵌入的Java脚本程序的计算逻辑不限于图5中示出的计算逻辑。
根据图5中示出的流程图,即,通过在电子文档的传送源一侧上使用包括表2中示出的代码的电子文档,足以监视分发目的地和ID,其中,已将其对应的密码提供到分发目的地。由此原因,减小了传送源的负担。换句话说,由于通过使用与在该文档中嵌入的公式同样的公式来计算与ID相对应的密码的方案,并将该密码提供给分发目的地,所以,不需要修改PDF文档或添加新的PDF文档,并且,本方法还适用于在将来生成的附加的新ID。即,不需要监视密码。
表2var id=this.getField(“ID”);var pw=this.getField(“Password”);var hide=this.getField(“Shadow”);var water=this.getField(“watermark”);var oText=0;oVal=id.value;pVal=pw.value;for(i=0;i<oVal.length;i++){oText1=oVal.charCodeAt(i);oText=oText+oText1;};water.value=id.value;water.hidden=((pVal!=oText)‖(id.value==“”));hide.hidden=((pVal==oText)&&(id.value!=“”));下面,描述内容表单32的显示状态、遮蔽表单34的非显示状态、以及水印表单36的显示状态。
当确认了ID和密码的匹配时,如图4中的步骤S06、以及图5中的步骤S24所示,将遮蔽表单34设置为处于非显示状态,由此,公开了被遮蔽表单34屏蔽的文档的所有页的内容。例如,在执行程序的开始时间,执行如表3所示的代码,以确认遮蔽表单34的状态。当满足在程序中设置的条件时,执行如表4所示的代码,以将覆盖文档的遮蔽表单34的显示属性改变为与非显示状态相对应的值。
表3var hide=this.getField(“Shadow”);表4
hide.hidden=((pVal==oText)&&(id.value!=“”));此外,当确认了ID和密码的匹配时,如图4中的步骤S06、以及图5中的步骤S24所示,在所有页上显示包括水印表单36和文档内容的内容表单32。由此,有可能仅在确认了ID和密码的匹配时才显示水印表单36和文档内容。例如,在执行程序的起始时间,执行如表5所示的代码,以确认ID表单30、内容表单32、以及水印表单36的状态。当满足在程序中设置的条件时,执行如表6所示的代码,以向水印表单36设置ID表单30的内容;此外,执行如表7所示的代码,以将包括文档内容的内容表单32、以及包括ID的水印表单36的显示属性改变为显示状态。
表5var id=this.getField(“ID”);var water=this.getField(“watermark”);var c=this.getField(“Contents”);表6water.value=id.value;表7water.hidden=((pVal!=oText)‖(id.value==“”));c.hidden=((pVal!=oText)‖(id.value==“”));水印表单36可被显示在所有页上。由此,即使在泄露出一些页时,泄露文档的一方也会非常清楚。
在本发明的电子文档中,需要多个遮蔽表单来覆盖PDF文档的多个页上的文档内容。类似地,需要多个水印表单和内容表单。在此情况下,如果为这些同样的表单使用不同的名称,则必须设置多个表单的属性、或改变多个表单的属性;由此,脚本代码的长度增大。
为了避免此问题,优选地,为相同类型的表单使用相同的名称。
第二实施例图7为图解根据本发明的第二实施例的、在存储电子文档时执行的Java脚本的过程的流程图。
第二实施例的电子文档与第一实施例的电子文档基本相同,并包括与第一实施例的电子文档相同的构成元素,并且,将相同的附图标记分配给相同的元素。
在第一实施例的电子文档中,为了在打开电子文档时输入ID和密码,用恰好在存储文档之前的数据来填充ID表单30和密码表单28。另外,将ID表单30的内容分配给水印表单36,并且,显示水印表单36,不显示遮蔽表单34,并显示内容表单32。也就是说,在允许查看文档的内容的同时存储该文档,并指定预设的ID。这引起了安全问题。例如,当下一次打开文档时,已写下了ID和密码,由此,在无任何验证的情况下允许查看文档的内容。
为解决此问题,优选地,在存储文档时,执行存储时间执行Java脚本,以将文档重置为其初始状态。图7中的流程图示出了存储时间执行Java脚本的过程。
下面,表8示出了用于将ID表单30设置为空(null)、并删除ID表单30的内容的脚本代码的例子;表9示出了用于将水印表单36设置为空并将水印表单36重置为非显示状态、并且设置内容表单32并将内容表单32重置为非显示状态的脚本代码的例子;表10示出了用于将遮蔽表单34重置为显示状态的脚本代码的例子。应注意,用于将密码表单28设置为空、并删除密码表单28的内容的脚本代码基本上与表8中示出的代码相同。
表8var id=this.getField(“ID”);id.value=“”;表9var water=this.getField(“watermark”);var c=this.getField(“Contents”);water.value=“”;water.hidden=1;c.hidden=1;表10var hide=this.getField(“Shadow”);hide.hidden=1;第三实施例第三实施例的电子文档与第一实施例的电子文档基本相同,并包括与第一实施例的电子文档相同的构成元素,并且,将相同的附图标记分配给相同的元素。
在使用在通过图5中的“A”指示的部分中示出的计算逻辑的电子文档中,ID的字符数越小,所计算的密码值便越简单。也就是说,如果ID很短,则当将其被输入了多次时,可分析用来根据ID计算密码的数学关系。
为解决此问题,优选地,输入到ID表单30中的字符的数目需要大于预设的数目。例如,当执行表11中示出的代码时,输入到ID表单30中的字符的数目需要大于8。
表11var id=this.getField(“ID”);oVal=id.value;if(oVal.length<8){id.value=“”;}另外,可能需要ID的字符为规则字符。例如,当执行表11中示出的代码时,有可能将输入到ID表单30中的ID限制为电子邮件地址的形式。
表12var id=this.getField(“ID”);oVal=id.value;if(!oVal.match(/.+@.+¥.com$|.+@.+¥.com¥...$|.+@.+¥.co¥...$/)){id.value=“”;}另外,可显示用于独立地获取与ID相对应的密码的地址。例如,如果诸如电话号码、邮政地址、或电子邮件地址的用于获取密码的地址呈现在未被遮蔽表单34屏蔽的部分(尤其是ID表单30和密码表单28附近的部分)中,则用户可容易地意识到获取密码的位置。另外,当有可能通过因特网作出在线请求、以获取密码时,可将到用来获取密码的位置的URL的链接定位在相同的位置上。
第四实施例图8A为图解根据本发明的第四实施例的电子文档的ID表单Java脚本的过程的一部分的流程图。
图8B为图解根据本发明的第四实施例的电子文档的密码表单Java脚本的过程的一部分的流程图。
第四实施例的电子文档与第一实施例的电子文档基本相同,并包括与第一实施例的电子文档相同的构成元素,并且,将相同的附图标记分配给相同的元素。
第四实施例的电子文档包括状态表单。状态表单位于ID表单30和密码表单28附近,以示出ID表单30和密码表单28的输入状态。
如图8A的流程图所示,在步骤S42中,确定ID表单30是否包括空格。
在步骤S44中,当ID表单30包括空格时,向状态表单分配错误消息(被称为“错误1”)“ID中存在空格”。
在步骤S46中,当ID表单30不包括空格时,确定ID表单30中的字符数是否大于8。
在步骤S48中,如果ID表单30中的字符数小于8,则向状态表单分配错误消息(被称为“错误2”)“ID必须具有8个或更多的字符”。
在步骤S50中,当ID表单30中的字符数大于8时,确定ID表单30的内容是否为电子邮件地址。
在步骤S52中,如果ID表单30的内容不是电子邮件地址,则向状态表单分配错误消息(被称为“错误3”)“ID必须为电子邮件地址”。
在步骤S54中,在于步骤S42、S46和S50中确认ID处于正确形式之后,向状态表单分配输入消息(被称为“输入1”)“请输入您的密码”。
此外,如图8B的流程图所示,在步骤S62中,执行验证过程。
接下来,在步骤S64中,确定所输入的ID和密码是否正确。
在步骤S66中,当所输入的ID和密码不正确时,向状态表单分配消息“ID和密码不正确”。
在步骤S68中,当所输入的ID和密码正确时,向状态表单分配消息“允许查看文档”。
S54将状态表单的值分配给输入1第五实施例图9为图解根据本发明的第五实施例的电子文档的密码表单Java脚本的过程的一部分的流程图。
第五实施例的电子文档与第一实施例的电子文档基本相同,并包括与第一实施例的电子文档相同的构成元素,并且,将相同的附图标记分配给相同的元素。
在当前实施例中,在检验ID和密码之后,当打开文档时,将系统日期和时间与在脚本中预设的日期和时间相比较,并且,当系统日期和时间与在脚本中预设的日期和时间不相符时,放弃验证。在这样做时,有可能防止查看文档的内容。
具体地,如图9的流程图所示,在步骤S86中,确认当前的系统日期和时间是否与在脚本中预设的日期和时间相符。
例如,表13示出了在将数据输入到密码表单中时执行的代码,这从2007年起防止查看文档。
根据当前实施例,例如,当在2006年或之前发布文档的新版本时,有可能从2007年起防止查看该文档的旧版本。
另外,通过将当前实施例与第四实施例相结合,有可能在状态表单中呈现消息,以督促用户获取文档的新版本。
表13var id=this.getField(“ID”);var pw=this.getField(“Password”);var hide=this.getField(“Shadow”);var water=this.getField(“watermark”);myD=new Date();myYear4=myD.getYear();myYear=(myYear4<2000)?myYear4+1900mYear4;var oText=0;oVal=id.value;pVal=pw.value;for(i=0;i<oVal.length;i++){oText1=oVal.charCodeAt(i);oText=oText+oText1;};if(myYear<2006){water.value=id.value;
water.hidden=((pVal!=oText)‖(id.value==“”));hide.hidden=((pVal==oText)&&(id.value!=“”));}else{};第六实施例图10为图解根据本发明的第六实施例的电子文档的密码表单Java脚本的过程的一部分的流程图。
第六实施例的电子文档与第一实施例的电子文档基本相同,并包括与第一实施例的电子文档相同的构成元素,并且,将相同的附图标记分配给相同的元素。
在当前实施例中,将根据ID生成密码值的方法与在打开文当时的系统日期和时间的检验相结合。由此,由于密码值随时间和日期而改变,所以,有可能设置密码的时限。
具体地,如图10的流程图所示,在步骤S112中,将当前的系统日期和时间数据加到密码值。
根据在表14中示出的代码,相对于ID“aaa@aaa.com”,2005年中的密码为“3026”,但2006年中的密码为“3027”。由此,不能通过使用2005年的密码来查看2006年中的文档。
另外,通过将当前实施例与第四实施例相结合,有可能在状态表单中呈现消息,以督促用户获取下一年的新密码。
表14var id=this.getField(“ID”);var pw=this.getField(“Password”);var hide=this.getField(“Shadow”);var water=this.getField(“watermark”);myD=new Date();myYear4=myD.getYear();myYear=(myYear4<2000)?myYear4+1900myYear4;var oText=0;oVal=id.value;pVal=pw.value;
for(i=0;i<oVal.length;i++){oText1=oVal.charCodeAt(i);oText=oText+oText1;};oText=0Text+myYear;water.value=id.value;water.hidden=((pVal!=oText)‖(id.value==“”));hide.hidden=((pVal==oText)&&(id.value!=“”));第七实施例图11A为图解根据本发明的第六实施例的电子文档的密码表单Java脚本的过程的一部分的流程图。
图11B为图解根据本发明的第六实施例的电子文档的另一个密码表单Java脚本的过程的一部分的流程图。
第七实施例的电子文档与第一实施例的电子文档基本相同,并包括与第一实施例的电子文档相同的构成元素,并且,将相同的附图标记分配给相同的元素。
在当前实施例中,要显示的内容随所输入的ID而改变。具体地,在验证ID和密码之后,取决于涉及ID的条件,有选择地显示对象。
如图11A中的流程图中的步骤S126、步骤S128、以及步骤S130所示,当ID为“aaa@aaa.com”时,显示内容表单“contents_aaa”,并且,当ID不为“aaa@aaa.com”时,显示内容表单“contents_bbb”。
例如,有可能设置仅在ID为“aaa@aaa.com”时才显示文档的内容“aaa”,并且,在ID不为“aaa@aaa.com”时显示文档的内容“bbb”。
表15示出了在将数据输入到密码表单以实现以上过程时执行的代码。
在当前实施例中,还有可能取决于所输入的ID而控制显示或不显示遮蔽表单34的内容。
表15var id=this.getField(“ID”);var pw=this.getField(“Password”);var water=this.getField(“watermark”);var ca=this.getField(“Contents_aaa”);
var cb=this.getField(“Contents_bbb”);var oText=0;oVal=id.value;pVal=pw.value;for(i=0;i<oVal.length;i++){oText1=oVal.charCodeAt(i);oText=oText+oText1;};water.value=id.value;water.hidden=((pVal!=oText)‖(id.value==“”));if(oVal==“aaa@aaa.com”){ca.hidden=((pVal!=oText)‖(id.value==“”));}else{cb.hidden=((pVal!=oText)‖(id.value==“”));};如图11B中的流程图中的步骤S146、步骤S148、以及步骤S150所示,当ID为“aaa@aaa.com”时,仅不显示遮蔽表单“shadow_aaa”,并且,当ID不为“aaa@aaa.com”时,仅显示遮蔽表单“shadow_bbb”。
例如,有可能设置为当ID为“aaa@aaa.com”时,不显示遮蔽表单“shadow_aaa”,以便公开文档的指定内容,并且,当ID不为“aaa@aaa.com”时,不显示遮蔽表单“shadow_bbb”,以便公开文档的其它部分,表16示出了在将数据输入到密码表单以实现以上过程时执行的代码。
表16var id=this.getField(“ID”);var pw=this.getField(“Password”);var hidea=this.getField(“Shadow_aaa”);var hideb=this.getField(“Shadow_bbb”);var water=this.getField(“watermark”);var oText=0;oVal=id.value;pVal=pw.value;for(i=0;i<oVal.length;i++){oText1=oVal.charCodeAt(i);
oText=oText+oText1;};water.value=id.value;water.hidden=((pVal!=oText)‖(id.value==“”));if(oVal==“aaa@aaa.com”){hidea.hidden=((pVal==oText)&&(id.value!=“”));}else{hideb.hidden=((pVal==oText)&&(id.value!=“”));};尽管通过参照为了说明的目的而选择的特定实施例来描述了本发明,但显然,本发明不限于这些实施例,而本领域的技术人员可对其作出大量修改,而不会背离本发明的基本概念和范围。
此专利申请基于在2005年8月4日提交的日本优先专利申请第2005-226826号,通过引用而将其全部内容合并于此。
权利要求
1.一种在计算机的显示装置上显示的电子文档,所述电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开的文档的预定页上提供检验数据输入区;确定单元,其确定在检验数据输入区中输入的检验数据是否满足预定条件;以及部分显示单元,其在确定单元确定检验数据满足预定条件时,将文档的预定部分显示在显示装置上。
2.一种在计算机的显示装置上显示的电子文档,所述电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据集的第一数据输入区、以及用于输入第二数据集的第二数据输入区;维持单元,其将多个第一数据集与分别对应于第一数据集的第二数据集相组合,并预先维持多个组合;确定单元,其确定在分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集是否与所述组合中的一个相符;以及对象设置单元,其在确定单元确定分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
3.一种在计算机的显示装置上显示的电子文档,所述电子文档驱动计算机执行以下单元的功能设置单元,其在根据打开文档的指令而从输入单元输入的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据集的第一数据输入区、以及用于输入第二数据集的第二数据输入区;维持单元,其预先维持程序,所述程序根据所输入的第一数据集而自动地生成第二数据集;确定单元,其确定通过使用所述程序而根据输入到第一数据输入区的第一输入数据集自动地生成的对应的第二数据集是否与输入到第二数据输入区的第二数据集相符;以及对象设置单元,其在确定单元确定通过使用所述程序而根据输入到第一数据输入区的第一输入数据集自动地生成的第二数据集与输入到第二数据输入区的第二数据集相符时,执行不显示文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
4.如权利要求2所述的电子文档,其中,对象设置单元将第三对象显示在所有页或一些页上。
5.如权利要求2所述的电子文档,还驱动计算机执行以下单元的功能存储时间对象设置单元,其在存储文档时,将第一对象的显示属性设置为处于显示状态。
6.如权利要求5所述的电子文档,其中,存储时间对象设置单元将第二对象的显示属性设置为处于非显示状态。
7.如权利要求2所述的电子文档,还驱动计算机执行以下单元的功能存储时间对象设置单元,其在存储文档时,将第一对象的显示属性设置为处于显示状态。
8.如权利要求2所述的电子文档,还驱动计算机执行以下单元的功能检查单元,其检查在第一数据输入区输入的第一数据的形式,并排除不满足预定条件的第一数据。
9.如权利要求2所述的电子文档,还驱动计算机执行以下单元的功能传送源显示单元,其即使在未进行检验数据的检验时,也显示用于文档的传送的管理的传送源的地址。
10.如权利要求2所述的电子文档,其中,当第一对象、第二对象、以及第三对象中的至少一个包括多个对象时,在内置程序中向所述多个对象分配相同的对象名称。
11.如权利要求2所述的电子文档,还驱动计算机执行以下单元的功能状态显示单元,其确定第一数据输入区、第二数据输入区、或第三数据输入区的输入状态,并显示指示所确定的输入状态的对象。
12.如权利要求2所述的电子文档,还驱动计算机执行以下单元的功能第二对象设置单元,其在由计算机给出的日期和时间数据不满足预定条件时,不将第一对象设置为处于非显示状态,并且,不将第二对象和第三对象设置为处于显示状态。
13.如权利要求3所述的电子文档,其中,该程序使用由计算机给出的日期和时间数据,作为计算过程中的元素。
14.如权利要求2所述的电子文档,其中,当存在多个第一对象时,对象设置单元仅在输入了预定的第一数据集时才将所述多个第一对象中的一些对象设置为处于非显示状态。
15.如权利要求2所述的电子文档,其中,当存在多个第二对象时,对象设置单元仅在输入了预定的第一数据集时才将所述多个第二对象中的一些对象设置为处于显示状态。
16.一种表示在计算机的显示装置上显示的电子文档的方法,所述方法包括以下步骤通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到检验数据;以及确定检验数据是否满足预定条件,并且,当检验数据满足预定条件时,在显示装置上显示文档的预定部分。
17.一种表示在计算机的显示装置上显示的电子文档的方法,所述方法包括以下步骤预先维持多个第一数据集与分别对应于第一数据集的第二数据集的多个组合;通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到第一数据集和第二数据集;以及当第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
18.一种表示在计算机的显示装置上显示的电子文档的方法,所述方法包括以下步骤预先维持用于根据所输入的第一数据集而自动地生成第二数据集的进程;通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到第一数据集和第二数据集;以及当第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
19.如权利要求17所述的方法,其中,在由计算机给出的日期和时间数据不满足预定条件时,不将第一对象设置为处于非显示状态,并且,不将第二对象和第三对象设置为处于显示状态。
20.如权利要求18所述的方法,其中,使用由计算机给出的日期和时间数据,作为该进程中的计算过程中的元素。
21.一种用于显示电子文档、并用于输入或输出电子文档的数据的电子文档显示装置,当电子文档被显示在该电子文档显示装置上时,该电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据集的第一数据输入区、以及用于输入第二数据集的第二数据输入区;维持单元,其将多个第一数据集与第二数据集相组合,并预先维持所述多个组合,并且其预先维持一程序,所述程序根据所输入的第一数据集自动生成第二数据集。确定单元,其确定在分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集是否与所述组合中的一个相符;以及对象设置单元,其在确定单元确定分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
22.一种存储介质,其中存储了电子文档,当电子文档被显示在计算机的显示装置上时,该电子文档驱动计算机执行以下单元的功能设置单元,其在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供检验数据输入区,所述检验数据输入区包括用于输入第一数据集的第一数据输入区、以及用于输入第二数据集的第二数据输入区;维持单元,其将多个第一数据集与分别对应于第一数据集的第二数据集相组合,并预先维持所述多个组合,并且其预先维持一程序,所述程序根据所输入的第一数据集自动生成第二数据集。确定单元,其确定在分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集是否与所述组合中的一个相符;以及对象设置单元,其在确定单元确定分别在第一数据输入区和第二数据输入区中输入的第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
全文摘要
公开了创建电子文档的方法,其能够保持机密性、并防止电子文档的内容的泄露(非授权公开)。所述方法包括以下步骤预先维持第一数据集与分别对应于第一数据集的第二数据集的多个组合;通过在响应于从输入单元输入的用于打开文档的指令而打开并显示的文档的预定页上提供的检验数据输入区,得到第一数据集和第二数据集;以及当第一数据集和第二数据集与所述组合中的一个相符时,执行不显示其中文档的内容被屏蔽的第一对象的操作、显示包括文档的内容的第二对象的操作、以及将所输入的第一数据集加载到能够显示第一数据集的第三对象中并显示第三对象的操作中的至少一个。
文档编号G06F21/00GK1908951SQ20061010096
公开日2007年2月7日 申请日期2006年8月4日 优先权日2005年8月4日
发明者安达正治 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1