发明内容
有鉴于此,本发明提供一种兼容不同格式文档的软件实现方法,能够实现对多种格式文档的功能操作。
为实现上述目的,本发明采用如下的技术方案:
一种兼容不同格式文档的软件实现方法,包括:
将软件操作的文档转换成符合文档库标准的目标文档,调用文档库标准接口打开并显示转换后的所述目标文档。
较佳地,在所述打开并显示目标文档后,该方法进一步包括:
所述软件根据用户指令,在打开的文档上进行编辑;
在进行保存时,将编辑的新内容加入所述目标文档中。
较佳地,利用虚拟打印将所述软件操作的文档转换成所述目标文档,或者,通过调用转换软件将所述文档转换成所述目标文档。
较佳地,所述利用虚拟打印将所述软件操作的文档转换成所述目标文档为:
所述软件打开所操作的文档时,调用支持目标文档的文档格式的编辑软件所开发的打印接口,生成打印数据,并送入支持文档库标准的虚拟打印机进行文档打印,则输出的文档为符合文档库标准的文档。
较佳地,所述将编辑的新内容加入所述目标文档中包括:
调用文档库标准接口,将编辑的新内容的版面信息加入所述目标文档中。
较佳地,所述将编辑的新内容加入所述目标文档中包括:
将编辑的新内容以虚拟打印方式加入到所述目标文档中。
较佳地,所述将编辑的新内容加入所述符合文档库标准的文档中包括:
在所述符合文档库标准的文档被编辑的页中创建新层,将编辑的新内容保存在所述新层中。
较佳地,所述将编辑的新内容加入所述符合文档库标准的文档中包括:将编辑的新内容以所述软件支持的格式保存,并作为源文件嵌入所述目标文档中。
较佳地,在下一次利用所述软件打开所述编辑后并保存的目标文档时,将其中包括的所述源文件内容以源文件格式直接打开并显示;对于除源文件外的其他内容,调用文档库标准接口打开并显示。
较佳地,文档库标准为UOML。
由上述技术方案可见,在本发明中,实施操作的软件在实现上支持文档库标准,能够调用文档库的标准接口执行相应操作。在利用该软件对文档进行操作时,首先,利用虚拟打印将操作的目标文档转换成符合文档库标准的文档,调用文档库标准接口打开并显示转换后的所述符合文档库标准的文档;然后,软件根据用户指令,在打开的文档上进行编辑;最后,在进行保存时,将编辑的新内容加入所述符合文档库标准的文档中。如上通过虚拟打印将不同格式的文档转换为符合文档库标准,从而使支持文档库标准的软件可以利用文档库的标准接口对转换后的文档实施各类文档操作。这样,便能够实现利用一个软件对多种文档进行功能操作的目的。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明做进一步详细说明。
本发明的基本思想是:利用虚拟打印生成符合文档库标准的文档,然后在该转换格式后的文档上进行操作。
本发明的方法是基于虚拟打印技术和文档库标准技术的,下面首先对这两种技术做进一步具体说明。
虚拟打印技术:一种通过虚拟打印接口生成文档的技术,利用该技术能够生成具有一定文档格式要求的文档。由于该技术不需要通过解析文档的格式获取文档信息,所以支持一切可以打印的文档格式。制作精良的虚拟打印机可以象真的打印机一样,软件可以在打印文档时选择它作为打印机,并实施打印。不同的是,它不需要硬件支持,打印的结果即生成的文件。该技术属于通用技术,在这里不再详述。
文档库(DocBase)技术:文档库系统是一种复杂的软件系统,提供大量电子文档的组织、管理、安全、存储和展示等功能。在本申请人在先提交的申请号为CN200510131072.0的基础专利申请说明书中提供了一种包括文档库系统、存储器、应用软件的文档处理系统,其中,文档库的数据存储在存储器中,文档库系统和应用软件通过一种标准接口连接起来。在文档库系统中定义了一系列标准接口,每个标准接口通过函数的形式实现对文档或文档中的部分内容进行的一系列操作,从而使每个标准接口实现对文档的一个标准功能操作。各个不同的标准接口提供对文档的各种不同功能操作,应用软件通过调用这些标准接口,向文档库系统发出指令,文档库系统按照应用软件的指令,对存储在存储器中的文档执行相应的操作。
图1为本发明提供的兼容不同格式文档的软件实现方法总体流程图。如图1所示,该方法包括:
步骤101,将软件操作的文档转换成符合文档库标准的目标文档。
本步骤中,软件先将操作的文档转换为符合文档库标准规范的文档。其中,软件操作的文档可以是各种不同文档格式的文档,包括该软件支持的文档格式以及该软件不支持的文档格式。将转换后的符合文档库标准的文档称为目标文档,将转换前的文档称为操作文档。
步骤102,软件调用文档库标准接口打开并显示转换后的目标文档。
本步骤中,软件使用文档库标准接口(例如:UOML)将转换后的文档打开并显示。
在显示所述文档后,优选地,还可以进一步利用该软件对文档内容进行编辑和保存,具体可以执行如下步骤:
步骤103,软件根据用户指令,在打开的目标文档上进行编辑。
步骤104,在进行保存时,将编辑的新内容加入目标文档中。
本步骤中,软件将通过步骤103更新后的内容可以调用文档库标准接口写入生成的文档,或者直接按照符合文档库标准的格式生成文档。
在上述流程可以看出,通过软件调用虚拟打印机将操作的目标文档(包括软件支持格式或不支持格式的文档)转换为符合文档库标准的文档,从而使软件能够打开并利用文档库操作该文档。这样,该软件就能够对各种不同格式的文档执行功能操作,从而避免对软件进行改造以兼容各种文档格式而带来的设计复杂度,以及用户为转换文档而带来的时间、成本等各类消耗。
下面通过具体实施例对本发明的具体实施方法进行详述。其中,文档库标准以UOML标准为例。
图2为本发明实施例中兼容不同格式文档的软件实现方法具体流程图。如图2所示,该方法包括:
步骤201,将软件操作的文档转换成符合UOML标准的目标文档。
本步骤中,将文档转换成符合UOML标准的目标文档时,可以利用虚拟打印实现该转换,或者调用其他转换软件进行转换。
具体地,若利用虚拟打印进行转换,则软件在打开操作的文档时,调用支持目标文档的文档格式的编辑软件所开发的打印接口,生成打印数据,并将该打印数据提交给生成符合UOML标准文档的虚拟打印机进行文档打印,则该虚拟打印机输出的文档为符合UOML标准的文档。
步骤202,软件利用UOML标准接口打开并显示所述转换后的文档。
软件可以直接调用UOML标准中打开和显示文档的标准接口,将转换后的文档打开并显示。文档库系统执行所述打开并显示的具体操作。这样,便实现了利用该软件打开并显示其不支持格式文档的目的。具体调用UOML标准接口的方式参见本申请人在先提交的申请号为CN200510131072.0的说明书部分。
步骤203,软件根据用户指令,在打开的文档上进行编辑。
经过步骤202,已经实现了目标文档内容的显示。也就是说,软件已经将目标文档的内容显示在屏幕上。接下来,用户可以根据需要,通过键盘鼠标等输入指令,利用软件提供的功能进行编辑。软件根据用户输入的指令,根据自身的处理逻辑进行处理。此时目标文档的内容不能被修改,软件以显示的目标文档内容作为背景,在所述背景上显示用户新编辑的内容。
步骤204,在进行保存时,将编辑的新内容加入符合UOML标准的目标文档中。
本步骤中,将步骤204中根据用户指令编辑的新内容加入所述符合文档库标准的文档中,从而保存编辑后的结果。
具体的保存方式可以为:
一、调用文档库标准接口,将编辑的新内容的版面信息加入符合文档库标准的文档中。
二、将编辑的新内容以虚拟打印形式加入所述符合文档库标准的文档中。
三、在目标文档被编辑的页中创建新层,将编辑的新内容保存在创建的新层中。
四、将编辑的新内容以所述软件支持的格式保存,并作为源文件嵌入所述文档库标准文档中。这样,当下一次打开该文档并显示页时,调用文档库系统提供的显示接口进行显示时,不显示新编辑的内容,该新编辑的内容由所述软件来解析,显示并提供相应的编辑。
上述四种方式可以同时采用,也可以分别采用。
至此,本发明提供的兼容不同格式文档的软件实现方法流程结束。由上述流程可见,利用本发明的方法,软件能够对各种不同格式的文档进行相应的功能操作,包括自身支持的文档格式和自身不支持的文档格式,从而大大方便了用户利用软件对文档的操作。
在上述本发明的具体实施方式中,文档库的标准接口可以是各种各样的,例如UOML标准接口。
下面通过一个具体的例子对上述软件实现过程进行示例型描述。在该具体例子中,假设开发商提供一款文字编辑软件DocEditor,该软件支持自己定义的ECF文件格式,而不支持Word文档格式,但用户只能使用Word软件编辑文档,所以希望DocEditor能够编辑Word文档。应用上述本发明的方法实现对于Word文档的编辑流程如下:
首先当DocEditor打开Word文档时,DocEditor在后台通过调用Word软件开发的打印接口,使用虚拟打印程序将Word文档转换为符合UOML标准的文档。
然后通过调用UOML标准接口打开符合UOML标准的文档并显示已有的文档内容。
之后DocEditor使用自己原有的编辑功能编辑新的文档内容,所有的操作和编辑它所支持的自定义ECF文件格式一样。
当需要把编辑的新内容保存到硬盘时,DocEditor可以进行如下处理:
1)将新内容转义成符合文档库标准的指令,并使用文档库标准接口保存为符合UOML标准的文档。
2)将新内容使用打印指令通过虚拟打印机生成新的文档库标准指令,并将生成的指令加入到正在编辑的符合UOML标准的文档中。
3)在被编辑的页中创建新层,并将新内容以自己的格式,比如ECF格式,直接保存在新创建的层里。当该页需要显示时,指定文档库显示接口不显示包含自定义数据的层,该层的数据由DocEditor软件来解析,显示并提供相应的编辑。
上述1)到3)的方式可以同时采用,或分别采用。以上的所有保存生成的文件格式可以根据使用的文档库实现的不同而不同,比如使用SEP文档库系统单机版可以生成SEP格式的文档,当然DocEditor的开发商也可以自行撰写ECF格式的文档库实现,然后调用文档库标准接口将结果保存成ECF文件。
由上,DocEditor软件通过使用虚拟打印机及文档库技术,在不支持Word文档格式的情况下,完成了对Word文档的编辑操作。当然,由上述过程可见,在实际使用应用本发明方法实现的软件时,要求用户的系统环境中包括能够编辑软件所操作文档的文档格式的编辑软件(例如,能够编辑Word文档的office软件),并且该系统环境支持文档库标准,从而保证应用本发明方法实现的软件能够实现软件所操作文档到目标文档的转换、以及调用文档库标准接口显示和保存文档的操作。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。