專利名稱:一種帶格式的Word文件內(nèi)容拷貝和粘貼的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于印刷排版技術(shù)領(lǐng)域,具體涉及一種帶格式的Word文件內(nèi)容拷貝和粘貼的方法及系統(tǒng),特別適合應(yīng)用于將含有圖形、圖像和表格等對(duì)象的Word文件內(nèi)容拷貝到排版軟件中的場合。
背景技術(shù):
在印刷排版領(lǐng)域中,目前大部分的用戶稿件都是使用微軟公司的Word文字處理軟件編寫的。Word中能夠呈現(xiàn)的內(nèi)容很豐富,包括文字、圖形、圖像、表格等對(duì)象,以及在對(duì)象上設(shè)置的各種樣式和屬性。在將Word文件中內(nèi)容拷貝到專業(yè)排版軟件過程中,傳統(tǒng)的拷貝和粘貼方法只能保留Word文件中的文字內(nèi)容,文字的格式會(huì)丟失。而且,如果Word文件中含有圖形、圖像、表格等對(duì)象,則無法將這些對(duì)象拷貝到專業(yè)排版軟件中,需要在專業(yè)排版軟件中重新排入這些對(duì)象,并重新設(shè)置文字格式,導(dǎo)致降低了排版效率。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種帶格式的Word文件內(nèi)容拷貝和粘貼的方法及系統(tǒng)。該方法及系統(tǒng)能夠提高排版效率。為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下一種帶格式的Word文件內(nèi)容拷貝和粘貼的方法,包括以下步驟(1)創(chuàng)建docx格式的臨時(shí)Word文件,將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word 文件中;(2)根據(jù)臨時(shí)Word文件獲取待拷貝Word文件內(nèi)容的XML源文件;(3)將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件;(4)將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中。如上所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,步驟(1)中,在創(chuàng)建臨時(shí) Word文件之前,先判斷Word程序的版本;如果Word程序的版本為Word2007或者更高,則直接創(chuàng)建docx格式的臨時(shí)Word文件;否則,先創(chuàng)建doc格式的臨時(shí)Word文件,再將doc格式的臨時(shí)Word文件轉(zhuǎn)換為docx格式的臨時(shí)Word文件。如上所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,步驟O)中,獲取XML源文件的方法為解壓docx格式的臨時(shí)Word文件,將解壓后產(chǎn)生的Word文件夾下的document, xml文件作為XML源文件。如上所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,步驟(3)中,根據(jù)目標(biāo)軟件能夠識(shí)別的XML格式,利用XSLT將XML源文件轉(zhuǎn)換為XML目標(biāo)文件,所述XSLT是一種用于將XML文檔轉(zhuǎn)換為其他XML文檔的語言。如上所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其中,XSLT根據(jù)XML源文件遵守的XML模式定義和XML目標(biāo)文件遵守的XML模式定義編寫轉(zhuǎn)換模板,將XML源文件轉(zhuǎn)換為XML目標(biāo)文件。
如上所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其中,在將XML源文件轉(zhuǎn)換為XML目標(biāo)文件的過程中,XSLT使用XML路徑語言來查找XML源文件中可匹配一個(gè)或多個(gè)預(yù)定義模板的部分;一旦匹配被找到,XSLT根據(jù)模板將XML源文件中的匹配部分轉(zhuǎn)換為XML 目標(biāo)文件中的內(nèi)容。如上所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,步驟(4)中所述將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件的過程為目標(biāo)軟件根據(jù)XML目標(biāo)文件遵守的XML模式定義從根節(jié)點(diǎn)開始循環(huán)遍歷并處理XML目標(biāo)文件中的所有XML節(jié)點(diǎn),根據(jù)每個(gè)XML節(jié)點(diǎn)中記錄的內(nèi)容以及屬性數(shù)據(jù)在目標(biāo)軟件中創(chuàng)建相應(yīng)的對(duì)象并設(shè)置屬性。一種帶格式的Word文件內(nèi)容拷貝和粘貼的系統(tǒng),包括用于創(chuàng)建docx格式的臨時(shí) Word文件,并將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word文件中的創(chuàng)建裝置;用于根據(jù)臨時(shí)Word文件獲取待拷貝Word文件內(nèi)容的XML源文件的獲取裝置;用于將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件的轉(zhuǎn)換裝置A ;用于將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中的導(dǎo)入裝置。如上所述的帶格式的Word文件內(nèi)容拷貝和粘貼的系統(tǒng),其中,所述系統(tǒng)還包括判斷裝置,用于判斷Word程序的版本。如上所述的帶格式的Word文件內(nèi)容拷貝和粘貼的系統(tǒng),其中,所述系統(tǒng)還包括轉(zhuǎn)換裝置B,當(dāng)判斷裝置判斷出Word程序的版本比Word2007低時(shí),創(chuàng)建裝置創(chuàng)建doc格式的臨時(shí)Word文件,轉(zhuǎn)換裝置B將doc格式的臨時(shí)Word文件轉(zhuǎn)換成docx格式的臨時(shí)Word文件。本發(fā)明所述方法及系統(tǒng),能夠?qū)ord文件中的所有內(nèi)容直接拷貝到專業(yè)排版軟件中,無需在專業(yè)排版軟件中對(duì)文字的格式和圖形、圖像、表格等對(duì)象重新排入,大大簡化了 Word文件內(nèi)容拷貝到專業(yè)排版軟件的過程,從而提高了排版效率。
圖1是本發(fā)明所述系統(tǒng)的優(yōu)選實(shí)施方式的結(jié)構(gòu)框圖2是本發(fā)明所述方法的優(yōu)選實(shí)施方式的流程圖3是實(shí)施例中所述方法的流程圖4是實(shí)施例中待拷貝word文件內(nèi)容示意圖5是實(shí)施例中解壓docx格式的臨時(shí)Word文件后的結(jié)構(gòu)示意圖6是實(shí)施例中document, xml文件中關(guān)于表格的描述示意圖7是實(shí)施例中XML目標(biāo)文件中對(duì)于表格的描述示意圖8是實(shí)施例中與XML目標(biāo)文件中對(duì)于表格的描述相應(yīng)的XSLT描述示意圖9是實(shí)施例中將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到飛騰創(chuàng)藝排版軟件后的效果示意圖。
具體實(shí)施例方式下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。圖1出示了本發(fā)明所述系統(tǒng)的優(yōu)選實(shí)施方式的結(jié)構(gòu)。該系統(tǒng)包括創(chuàng)建裝置11,與創(chuàng)建裝置11連接的獲取裝置12、判斷裝置15和轉(zhuǎn)換裝置B 16,與獲取裝置12連接的轉(zhuǎn)換裝置A13,與轉(zhuǎn)換裝置A13連接的導(dǎo)入裝置14。
判斷裝置15用于判斷Word程序的版本。當(dāng)Word程序的版本為Word2007或者更高時(shí),創(chuàng)建裝置11直接創(chuàng)建docx格式的臨時(shí)Word文件,并將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word文件中;當(dāng)Word程序的版本為Word2003或者更低時(shí),創(chuàng)建裝置11先創(chuàng)建doc 格式的臨時(shí)Word文件,由轉(zhuǎn)換裝置B16將doc格式的臨時(shí)Word文件轉(zhuǎn)換成docx格式的臨時(shí)Word文件,創(chuàng)建裝置11再將待拷貝Word文件內(nèi)容粘貼到轉(zhuǎn)換后的docx格式的臨時(shí) Word文件中。獲取裝置12用于根據(jù)docx格式的臨時(shí)Word文件獲取待拷貝Word文件內(nèi)容的XML源文件。轉(zhuǎn)換裝置A13用于將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件。導(dǎo)入裝置14用于將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中。圖2出示了本發(fā)明所述方法的優(yōu)選實(shí)施方式的流程圖。該方法包括以下步驟(1)創(chuàng)建docx格式的臨時(shí)Word文件,將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word 文件中。由于docx格式為Word2007或更高版本的文件格式,因此在創(chuàng)建docx格式的臨時(shí) Word文件之前,需要先判斷Word程序的版本;如果Word程序的版本為Word2007或者更高, 則直接創(chuàng)建docx格式的臨時(shí)Word文件;否則,先創(chuàng)建doc格式的臨時(shí)Word文件,再將doc 格式的臨時(shí)Word文件轉(zhuǎn)換為docx格式的臨時(shí)Word文件,如圖3所示。將doc格式的臨時(shí) Word文件轉(zhuǎn)換為docx格式的臨時(shí)Word文件可以利用微軟公司的兼容轉(zhuǎn)換程序。(2)根據(jù)臨時(shí)Word文件獲取待拷貝Word文件內(nèi)容的XML源文件。根據(jù)開放打包約定,解壓docx格式的臨時(shí)Word文件,將解壓后產(chǎn)生的Word文件夾下的document, xml文件作為XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)源文件。document, xml 文件為 ooxml (Office Open XML)格式。ooxml 是微軟公司為 Office 2007產(chǎn)品開發(fā)的技術(shù)規(guī)范,現(xiàn)已成為國際文檔格式標(biāo)準(zhǔn)。(3)將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件。根據(jù)目標(biāo)軟件能夠識(shí)別的XML格式,利用XSLT (Extensible StylesheetLanguage Transformations,擴(kuò)展樣式單轉(zhuǎn)換語言)將XML源文件轉(zhuǎn)換為XML目標(biāo)文件。XSLT是一種用于將XML文檔轉(zhuǎn)換為其他XML文檔的語言。XML目標(biāo)文件的格式符合約定的XSD (XML Schema Definition,XML模式定義), XSLT根據(jù)XML源文件(即ooxml格式)遵守的XSD和XML目標(biāo)文件遵守的XSD編寫轉(zhuǎn)換模板,將XML源文件轉(zhuǎn)換為XML目標(biāo)文件。在轉(zhuǎn)換過程中,XSLT使用XPath (XML路徑語言) 來查找XML源文件中可匹配一個(gè)或多個(gè)預(yù)定義模板的部分。一旦匹配被找到,XSLT就根據(jù)模板將XML源文件中的匹配部分轉(zhuǎn)換為XML目標(biāo)文件中的內(nèi)容。其中,XPath是一種專門用來在XML文檔中查找信息的語言,是XSLT的重要組成部分。(4)將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中。目標(biāo)軟件根據(jù)XML目標(biāo)文件遵守的XSD從根節(jié)點(diǎn)開始循環(huán)遍歷并處理XML目標(biāo)文件中的所有XML節(jié)點(diǎn),根據(jù)每個(gè)XML節(jié)點(diǎn)中記錄的內(nèi)容以及屬性數(shù)據(jù)在目標(biāo)軟件中創(chuàng)建相應(yīng)的對(duì)象并設(shè)置屬性,從而使XML目標(biāo)文件中的內(nèi)容導(dǎo)入到目標(biāo)軟件中。將XML目標(biāo)文件循環(huán)從XML的根節(jié)點(diǎn)開始遞歸導(dǎo)入當(dāng)前節(jié)點(diǎn)及其子節(jié)點(diǎn),直到將XML目標(biāo)文件中的所有節(jié)點(diǎn)導(dǎo)入完畢。
實(shí)施例
本實(shí)施例以將圖4所示的Word文檔中的內(nèi)容拷貝粘貼到飛騰創(chuàng)藝排版軟件中為例。待拷貝的內(nèi)容包括兩個(gè)文字,一個(gè)2行2列的表格和一張圖片。根據(jù)圖3所示流程,首先拷貝待拷貝內(nèi)容,判斷Word軟件的版本,本實(shí)施例中的Word軟件版面為Word2007,直接創(chuàng)建docx格式的臨時(shí)Word文件,將待拷貝內(nèi)容粘貼到臨時(shí)Word文件中。然后根據(jù)開放打包約定解壓縮該臨時(shí)Word文件,解壓后的文件結(jié)構(gòu)如圖5所示。其中,document, xml中關(guān)于表格的描述如圖6所示。將document, xml作為XML源文件,利用XSLT將該XML源文件轉(zhuǎn)換為XML目標(biāo)文件。XML目標(biāo)文件中對(duì)于表格的描述如圖7所示,相應(yīng)的XSLT如圖8所示。將XML目標(biāo)文件中數(shù)據(jù)導(dǎo)入到目標(biāo)軟件時(shí),循環(huán)處理其中的節(jié)點(diǎn),主要包括段落節(jié)點(diǎn) <w:p>,段落屬性節(jié)點(diǎn)W:pft·〉,表格節(jié)點(diǎn)W:tbl>,圖片所在節(jié)點(diǎn)W:drawing〉。XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到飛騰創(chuàng)藝排版軟件后的效果如圖9所示。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種帶格式的Word文件內(nèi)容拷貝和粘貼的方法,包括以下步驟(1)創(chuàng)建docx格式的臨時(shí)Word文件,將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word文件中;(2)根據(jù)臨時(shí)Word文件獲取待拷貝Word文件內(nèi)容的XML源文件;(3)將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件;(4)將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中。
2.如權(quán)利要求1所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其特征在于步驟⑴中,在創(chuàng)建臨時(shí)Word文件之前,先判斷Word程序的版本;如果Word程序的版本為 Word2007或者更高,則直接創(chuàng)建docx格式的臨時(shí)Word文件;否則,先創(chuàng)建doc格式的臨時(shí) Word文件,再將doc格式的臨時(shí)Word文件轉(zhuǎn)換為docx格式的臨時(shí)Word文件。
3.如權(quán)利要求1所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其特征在于,步驟 (2)中獲取XML源文件的方法為解壓docx格式的臨時(shí)Word文件,將解壓后產(chǎn)生的Word文件夾下的document, xml文件作為XML源文件。
4.如權(quán)利要求1至3之一所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其特征在于步驟⑶中,根據(jù)目標(biāo)軟件能夠識(shí)別的XML格式,利用XSLT將XML源文件轉(zhuǎn)換為XML目標(biāo)文件,所述XSLT是一種用于將XML文檔轉(zhuǎn)換為其他XML文檔的語言。
5.如權(quán)利要求4所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其特征在于=XSLI^g 據(jù)XML源文件遵守的XML模式定義和XML目標(biāo)文件遵守的XML模式定義編寫轉(zhuǎn)換模板,將 XML源文件轉(zhuǎn)換為XML目標(biāo)文件。
6.如權(quán)利要求5所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其特征在于在將 XML源文件轉(zhuǎn)換為XML目標(biāo)文件的過程中,XSLT使用XML路徑語言來查找XML源文件中可匹配一個(gè)或多個(gè)預(yù)定義模板的部分;一旦匹配被找到,XSLT根據(jù)模板將XML源文件中的匹配部分轉(zhuǎn)換為XML目標(biāo)文件中的內(nèi)容。
7.如權(quán)利要求1至3之一所述帶格式的Word文件內(nèi)容拷貝和粘貼的方法,其特征在于,步驟⑷中所述將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件的過程為目標(biāo)軟件根據(jù)XML目標(biāo)文件遵守的XML模式定義從根節(jié)點(diǎn)開始循環(huán)遍歷并處理XML目標(biāo)文件中的所有XML節(jié)點(diǎn), 根據(jù)每個(gè)XML節(jié)點(diǎn)中記錄的內(nèi)容以及屬性數(shù)據(jù)在目標(biāo)軟件中創(chuàng)建相應(yīng)的對(duì)象并設(shè)置屬性。
8.一種帶格式的Word文件內(nèi)容拷貝和粘貼的系統(tǒng),包括用于創(chuàng)建docx格式的臨時(shí) Word文件,并將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word文件中的創(chuàng)建裝置(11);用于根據(jù)臨時(shí)Word文件獲取待拷貝Word文件內(nèi)容的XML源文件的獲取裝置(12);用于將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件的轉(zhuǎn)換裝置A(U);用于將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中的導(dǎo)入裝置(14)。
9.如權(quán)利要求8所述的帶格式的Word文件內(nèi)容拷貝和粘貼的系統(tǒng),其特征在于所述系統(tǒng)還包括判斷裝置(15),用于判斷Word程序的版本。
10.如權(quán)利要求9所述的帶格式的Word文件內(nèi)容拷貝和粘貼的系統(tǒng),其特征在于所述系統(tǒng)還包括轉(zhuǎn)換裝置B (16),當(dāng)判斷裝置(15)判斷出Word程序的版本比Word2007低時(shí), 創(chuàng)建裝置(11)創(chuàng)建doc格式的臨時(shí)Word文件,轉(zhuǎn)換裝置B (16)將doc格式的臨時(shí)Word文件轉(zhuǎn)換成docx格式的臨時(shí)Word文件。
全文摘要
本發(fā)明公開了一種帶格式的Word文件內(nèi)容拷貝和粘貼的方法及系統(tǒng),屬于印刷排版技術(shù)領(lǐng)域。本發(fā)明首先創(chuàng)建docx格式的臨時(shí)Word文件,將待拷貝Word文件內(nèi)容粘貼到該臨時(shí)Word文件中;然后根據(jù)臨時(shí)Word文件獲取待拷貝內(nèi)容的XML源文件;再將XML源文件轉(zhuǎn)換為目標(biāo)軟件能夠識(shí)別的XML目標(biāo)文件;最后將XML目標(biāo)文件數(shù)據(jù)導(dǎo)入到目標(biāo)軟件中。本發(fā)明能夠?qū)ord文件中的所有內(nèi)容直接拷貝到專業(yè)排版軟件中,無需在專業(yè)排版軟件中對(duì)文字的格式,圖形、圖像、表格等對(duì)象重新排入,大大簡化了Word文件內(nèi)容拷貝到專業(yè)排版軟件的過程,提高了排版效率。
文檔編號(hào)G06F17/24GK102298575SQ20101021132
公開日2011年12月28日 申請(qǐng)日期2010年6月28日 優(yōu)先權(quán)日2010年6月28日
發(fā)明者尚高峰, 岳永強(qiáng), 李彥娜, 魏超鵬 申請(qǐng)人:北京北大方正電子有限公司, 北大方正集團(tuán)有限公司