欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種xml文檔轉(zhuǎn)換為pptx文檔的方法和裝置的制作方法

文檔序號:6332770閱讀:958來源:國知局
專利名稱:一種xml文檔轉(zhuǎn)換為pptx文檔的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于文檔應(yīng)用領(lǐng)域,具體涉及一種XML文檔轉(zhuǎn)換為PPTX文檔的方法和裝置。
背景技術(shù)
隨著電腦的不斷普及,無紙化辦公得到越來越多的應(yīng)用,各種各樣的文檔也大量的出現(xiàn)在用戶的面前。Microsoft Office PowerPoint是制作和演示幻燈片的軟件,能夠制作出集文字、 圖形、圖像、聲音以及視頻剪輯等多媒體元素于一體的演示文稿,將用戶所要表達的信息組 織在一組圖文并茂的畫面中,用于介紹公司的產(chǎn)品、展示自己的學(xué)術(shù)成果。如何在最大限度保留PowerPoint原始信息的前提下、脫離PowerPoint、高效快速 的生成PowerPoint文檔成為了一個迫切的需求,現(xiàn)有技術(shù)中,從XML格式批量轉(zhuǎn)換為PPTX 格式通常有以下幾種方案方案一,通過調(diào)用PowerPoint的自動化Com接口來實現(xiàn),每輸入一個基本元素調(diào) 用一次Com接口 ;方案二,通過調(diào)用一些較成熟的開源文檔編輯軟件的接口實現(xiàn)PowerPoint基本 信息的寫入,比較流行的是調(diào)用OpenOffice的API接口來實現(xiàn)PowerPoint文檔的生成;方案三,將一個Slide中的信息合成一張圖片整體輸入。發(fā)明人在研究過程中發(fā)現(xiàn),上述幾種方案都存在缺點方案一的缺點系統(tǒng)必須安裝了 PowerPoint程序,否則將會導(dǎo)致轉(zhuǎn)換失??;而且 由于每輸入一個PowerPoint基本元素就會有一次Com調(diào)用,由此帶來的大量Com調(diào)用會降 低系統(tǒng)的性能和穩(wěn)定性;方案二的缺點=OpenOffice對MS-PowerPoint的特效支持不好,尤其是兩個文檔 間的切換效果和動畫展示效果,但這些功能對于MS-PowerPoint來說又是比較重要的;方案三的缺點由于將一個Slide中的所有元素合成了一張圖片,雖然使得排版 比較美觀,但是降低了生成文檔的可編輯性。如何提高XML文檔轉(zhuǎn)換為PPTX文檔的轉(zhuǎn)換效率和穩(wěn)定性,提高XML文檔轉(zhuǎn)換為 PPTX文檔的的通用性,能夠方便的對轉(zhuǎn)換后的文檔進行修改,是文檔應(yīng)用領(lǐng)域研究的方向之一。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種XML文檔轉(zhuǎn)換為PPTX文檔的方法,目的在于提高XML 文檔轉(zhuǎn)換為PPTX文檔的轉(zhuǎn)換效率和穩(wěn)定性,提高XML文檔轉(zhuǎn)換為PPTX文檔的的通用性,能 夠方便的對轉(zhuǎn)換后的文檔進行修改。本發(fā)明實施例是這樣實現(xiàn)的,一種XML文檔轉(zhuǎn)換為PPTX文檔的方法,所述方法包 括以下步驟
讀取XML文件中的基本元素信息; 對讀取的XML文件中的基本元素信息按照PowerPoint的排版格式進行排版,獲取 一排版結(jié)果;根據(jù)所述排版結(jié)果生成PowerPoint格式的XML系列文件;調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX后綴的方式給壓縮后的 文件命名。本發(fā)明實施例的另一目的在于提供一種XML文檔轉(zhuǎn)換為PPTX文檔的裝置,所述裝 置包括信息讀取模塊,用于讀取XML文件中的基本元素信息; 排版模塊,用于對讀取的XML文件中的基本元素信息按照PowerPoint的排版格式 進行排版,獲取一排版結(jié)果;文件生成模塊,用于根據(jù)所述排版結(jié)果生成PowerPoint格式的XML系列文件;以 及壓縮轉(zhuǎn)換模塊,用于調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX后 綴的方式給壓縮后的文件命名。本發(fā)明實施例在將XML文檔轉(zhuǎn)換為PowerPoint文檔的過程中,在生成端直接寫 PPTX樣式的XML文件,并將生成的文件按照zip的格式進行壓縮進而生成PPTX文件,提高 了 XML文檔轉(zhuǎn)換為PPTX文檔的轉(zhuǎn)換效率和穩(wěn)定性,提高了 XML文檔轉(zhuǎn)換為PPTX文檔的的 通用性,能夠方便的對轉(zhuǎn)換后的文檔進行修改。


圖1為本發(fā)明實施例提供的XML文檔轉(zhuǎn)換為PPTX文檔的方法的流程圖;圖2為本發(fā)明實施例提供的XML文檔轉(zhuǎn)換為PPTX文檔的裝置的結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。圖1示出了本發(fā)明實施例提供的XML文檔轉(zhuǎn)換為PPTX文檔的方法的流程。在步驟SlOl中,讀取可擴展標記語言(Extensible Markup Language, XML)文件 中的基本元素信息;在步驟S102中,對讀取的XML文件中的基本元素信息按照PowerPoint的排版格 式進行排版,獲取一排版結(jié)果;在步驟S103中,根據(jù)步驟S102中的排版結(jié)果生成PowerPoint格式的XML系列文 件;在步驟S104中,調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX后綴的 方式給壓縮后的文件命名。具體的,步驟SlOl包括從XML文件中讀取兩類基本元素信息
第一類是每個Slide中元素的物理信息,包括元素的大小位置、文檔的頁數(shù)和是 否加密等信息。其中,基本元素信息的類型包括文本、圖像、圖元、表格,在具體實施過程中, 首先使用XML讀取庫將基本元素讀出,按照基本元素的類型對元素進行分組,對各組的元 素按照層次順序進行重新排列,最后將得到的信息輸入到中間數(shù)據(jù)結(jié)構(gòu)中;第二類是Slide間的切換效果和每個Slide中元素顯示和消失的動畫特效。此 處需要建立兩張表,一張表為Slide的切換效果列表,一張表為單個Slide中元素的動畫 顯示效果。其中,本發(fā)明實施例中的XML文件為與其他系統(tǒng)的接口文件,其他需要生成 PowerPoint文檔的系統(tǒng)只需要按要求生成XML文件即可與本發(fā)明實施例實現(xiàn)無縫連接。具體的,步驟S102包括對步驟SlOl中獲取的基本元素信息按照PowerPoint的排版格式進行排版,主要 過程是將XML中的文本最大化,理由是由于PowerPoint的文本輸入都是采用文本框的方 式進行輸入,所以如果一個文本框中的文本可以盡可能的大的話,將可以減少文本框的輸 入數(shù)目,調(diào)高了用戶的編輯性。文本的最大化過程為
首先是在水平方向上求閉包,將文本塊合成文本行,按照水平坐標的從小到大的 次序?qū)ξ谋緣K進行排列和輸出,找到水平坐標最小的文本塊,將水平坐標最小的文本塊加 入閉包,完后遍歷其他的文本塊,如果這個文本塊的垂直位置和閉包中的文本塊在一個水 平位置,即可以橫向切割,則將此文本塊加入行閉包,依次類推,即可將文本塊按照行為單 位進行合成。其次是在垂直方向上求閉包,將文本行合成為最大的文本段落,原理同求行閉 包類似。具體的,步驟S103包括按照PPTX文件格式生成文件夾和XML文件。此步驟負責將步驟S102得到的排版 結(jié)果按照POWerPOint2007格式生成XML系列文件,以文件夾的形式進行輸出。生成過程如 下a、生成索引文件。索引文件[Contentjypes]. xml文件主要起兩個方面的作用 一是索引文件夾內(nèi)其他文件的位置;二是索引資源文件如圖片和超鏈接等元素的信息,所 以在每頁的生成過程中在動態(tài)生成圖片信息的同時要動態(tài)的修改[Contentjypes]. xml 文件中的圖片索引;b、生成縮略圖文件??s略圖文件thumbnail, jpeg為PPTX文件的縮略圖文件,此 文件為PPTX文件在縮略圖顯示模式下的封面圖片,本發(fā)明實施例首先在內(nèi)存DC中對開辟 一塊區(qū)域用于圖片合成,之后將第一頁中的元素按照圖元、圖像和文本的順序輸入,注意此 處圖元和圖像的輸入順序是按照其層次順序進行輸入,在內(nèi)存DC中繪圖完畢后,使用JPEG 庫將該圖片存為jpeg格式并重命名為thumbnail, jpeg并修改[Contentjypes]. xml文件 中縮略圖的的索引路徑;c、生成PPTX文檔屬性文件。本發(fā)明實施例采用presentation文件記錄PPTX文 檔信息,首先從XML文件中讀取到一個Page的寬和高,完后針對presentation中的IdSz 關(guān)鍵字,進行Slide寬高的設(shè)置;d、生成Slide文件。每寫入一個新的Page頁就需要生成一個Slide文件,該文件 記錄Slide中的基本信息,包括文本、圖像、圖元、動畫特效和切換效果等。在生成圖像對象 的時候,首先需要在media文件中生成一個圖像文件,并將該圖像文件的位置記錄在索引文件中,其次需要二是在Slide文件中pic字段中記錄圖片控制信息。最后是將media中 的圖片索引添加到[Content_Types].xml文件中。具體的,步驟S104包括(1)調(diào)用Zip壓縮庫將步驟S103中生成的XML系列文件生成PPTX壓縮文件,注意 此壓縮過程對ZIP的壓縮率沒有特殊要求,只需要按照ZIP的算法要求將文件進行壓縮即 可;(2)重命名PPTX文件,主要過程就是將zip重命名為PPTX即可。
本發(fā)明實施例由于直接生成PPTX文件,提高了轉(zhuǎn)換的性能和穩(wěn)定性,而且生成的 PPTX文件可編輯性較高,并盡量保存了 Slide間切換效果和Slide中元素的動畫效果。圖2示出了本發(fā)明實施例提供的XML文檔轉(zhuǎn)換為PPTX文檔的裝置的結(jié)構(gòu)。所述裝置包括信息讀取模塊21、排版模塊22、文件生成模塊23以及壓縮轉(zhuǎn)換模塊 24。其中,信息讀取模塊21,用于讀取XML文件中的基本元素信息;排版模塊22,用于對讀取的XML文件中的基本元素信息按照PowerPoint的排版格 式進行排版,獲取一排版結(jié)果;文件生成模塊23,用于根據(jù)所述排版結(jié)果生成PowerPoint格式的XML系列文件; 以及壓縮轉(zhuǎn)換模塊24,用于調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX 后綴的方式給壓縮后的文件命名。具體的,所述信息讀取模塊21具體包括讀取庫調(diào)用模塊211,用于通過XML文件讀取庫將XML文件中的基本元素信息讀 出;分組模塊212,用于按照讀取的基本元素信息的類型對元素進行分組,并對分組后 各組的元素按照層次順序進行重新排列;輸入模塊213,用于將得到的排列結(jié)果輸入到XML文件的中間數(shù)據(jù)結(jié)構(gòu)中。具體的,所述排版模塊22具體包括閉包生成模塊221,用于在水平方向上求閉包,將文本塊合成文本行;文本塊獲取模塊222,用于按照水平坐標從小到大的次序?qū)ξ谋緣K進行排列和輸 出,獲取水平坐標最小的文本塊;合成模塊223,用于將水平坐標最小的文本塊加入閉包。在具體實施過程中,所述閉包生成模塊221,還用于在垂平方向上求閉包,將文本 塊合成文本行;所述文本塊獲取模塊222,還用于按照垂直坐標從小到大的次序?qū)ξ谋緣K進行排 列和輸出,獲取垂直坐標最小的文本塊;所述合成模塊223,還用于將垂直坐標最小的文本塊加入閉包。具體的,所述壓縮轉(zhuǎn)換模塊24具體包括索引文件生成模塊241,用于生成索引文件;縮略圖文件生成模塊242,用于生成縮略圖文件;PPTX文檔屬性文件生成模塊243,用于生成PPTX文檔屬性文件;
Slide文件生成模塊244,用于生成Slide文件。本發(fā)明實施例在將XML文檔轉(zhuǎn)換為PowerPoint文檔的過程中,在生成端直接寫 PPTX樣式的XML文件,并將生成的文件按照zip的格式進行壓縮進而生成PPTX文件,提高 了 XML文檔轉(zhuǎn)換為PPTX文檔的轉(zhuǎn)換效率和穩(wěn)定性,提高了 XML文檔轉(zhuǎn)換為PPTX文檔的的 通用性,能夠方便的對轉(zhuǎn)換后的文檔進行修改。應(yīng)當理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換, 而這些 改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
權(quán)利要求
一種XML文檔轉(zhuǎn)換為PPTX文檔的方法,其特征在于,所述方法包括以下步驟讀取XML文件中的基本元素信息;對讀取的XML文件中的基本元素信息按照PowerPoint的排版格式進行排版,獲取一排版結(jié)果;根據(jù)所述排版結(jié)果生成PowerPoint格式的XML系列文件;調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX后綴的方式給壓縮后的文件命名。
2.如權(quán)利要求1所述的XML文檔轉(zhuǎn)換為PPTX文檔的方法,其特征在于,所述讀取XML 文件中的基本元素信息的步驟具體包括通過XML文件讀取庫將XML文件中的基本元素信息讀出;按照讀取的基本元素信息的類型對元素進行分組,并對分組后各組的元素按照層次順 序進行重新排列;將得到的排列結(jié)果輸入到XML文件的中間數(shù)據(jù)結(jié)構(gòu)中。
3.如權(quán)利要求1所述的XML文檔轉(zhuǎn)換為PPTX文檔的方法,其特征在于,對讀取的XML 文件中的基本元素信息按照PowerPoint的排版格式進行排版的步驟具體包括在水平方向上求閉包,將文本塊合成文本行;按照水平坐標從小到大的次序?qū)ξ谋緣K進行排列和輸出,獲取水平坐標最小的文本塊;將水平坐標最小的文本塊加入閉包,并遍歷其他的文本塊。
4.如權(quán)利要求1所述的XML文檔轉(zhuǎn)換為PPTX文檔的方法,其特征在于,對讀取的XML 文件中的基本元素信息按照PowerPoint的排版格式進行排版的步驟還包括在垂平方向上求閉包,將文本塊合成文本行;按照垂直坐標從小到大的次序?qū)ξ谋緣K進行排列和輸出,獲取垂直坐標最小的文本塊;將水平坐標最小的文本塊加入閉包,并遍歷其他的文本塊。
5.如權(quán)利要求1所述的XML文檔轉(zhuǎn)換為PPTX文檔的方法,其特征在于,根據(jù)所述排版 結(jié)果生成PowerPoint格式的XML系列文件的步驟具體包括生成索引文件; 生成縮略圖文件; 生成PPTX文檔屬性文件; 生成Slide文件。
6.一種XML文檔轉(zhuǎn)換為PPTX文檔的裝置,其特征在于,所述裝置包括 信息讀取模塊,用于讀取XML文件中的基本元素信息;排版模塊,用于對讀取的XML文件中的基本元素信息按照PowerPoint的排版格式進行 排版,獲取一排版結(jié)果;文件生成模塊,用于根據(jù)所述排版結(jié)果生成PowerPoint格式的XML系列文件;以及 壓縮轉(zhuǎn)換模塊,用于調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX后綴的 方式給壓縮后的文件命名。
7.如權(quán)利要求6所述的XML文檔轉(zhuǎn)換為PPTX文檔的裝置,其特征在于,所述信息讀取模塊具體包括讀取庫調(diào)用模塊,用于通過XML文件讀取庫將XML文件中的基本元素信息讀出; 分組模塊,用于按照讀取的基本元素信息的類型對元素進行分組,并對分組后各組的 元素按照層次順序進行重新排列;輸入模塊,用于將得到的排列結(jié)果輸入到XML文件的中間數(shù)據(jù)結(jié)構(gòu)中。
8.如權(quán)利要求6所述的XML文檔轉(zhuǎn)換為PPTX文檔的裝置,其特征在于,所述排版模塊 具體包括閉包生成模塊,用于在水平方向上求閉包,將文本塊合成文本行; 文本塊獲取模塊,用于按照水平坐標從小到大的次序?qū)ξ谋緣K進行排列和輸出,獲取 水平坐標最小的文本塊;合成模塊,用于將水平坐標最小的文本塊加入閉包。
9.如權(quán)利要求8所述的XML文檔轉(zhuǎn)換為PPTX文檔的裝置,其特征在于, 所述閉包生成模塊,還用于在垂平方向上求閉包,將文本塊合成文本行;所述文本塊獲取模塊,還用于按照垂直坐標從小到大的次序?qū)ξ谋緣K進行排列和輸 出,獲取垂直坐標最小的文本塊;所述合成模塊,還用于將水平坐標最小的文本塊加入閉包。
10.如權(quán)利要求6所述的XML文檔轉(zhuǎn)換為PPTX文檔的裝置,其特征在于,所述壓縮轉(zhuǎn)換 模塊具體包括索引文件生成模塊,用于生成索引文件; 縮略圖文件生成模塊,用于生成縮略圖文件; PPTX文檔屬性文件生成模塊,用于生成PPTX文檔屬性文件; Slide文件生成模塊,用于生成Slide文件。
全文摘要
本發(fā)明屬于文檔應(yīng)用領(lǐng)域,公開了一種XML文檔轉(zhuǎn)換為PPTX文檔的方法和裝置,所述方法包括讀取XML文件中的基本元素信息;對讀取的XML文件中的基本元素信息按照PowerPoint的排版格式進行排版,獲取一排版結(jié)果;根據(jù)所述排版結(jié)果生成PowerPoint格式的XML系列文件;調(diào)用zip庫對生成的XML系列文件進行壓縮,并按照PPTX后綴的方式給壓縮后的文件命名。本發(fā)明不僅提高了XML文檔轉(zhuǎn)換為PPTX文檔的轉(zhuǎn)換效率和穩(wěn)定性,還極大的提高了XML文檔轉(zhuǎn)換為PPTX文檔的的通用性,能夠方便的對轉(zhuǎn)換后的文檔進行修改。
文檔編號G06F17/22GK101963956SQ20101029375
公開日2011年2月2日 申請日期2010年9月19日 優(yōu)先權(quán)日2010年9月19日
發(fā)明者解輝 申請人:深圳市萬興軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汝城县| 乐至县| 东丽区| 江口县| 太仆寺旗| 砀山县| 黑河市| 香河县| 封开县| 宜城市| 南京市| 林西县| 宜阳县| 长寿区| 离岛区| 罗城| 民乐县| 嘉峪关市| 永川市| 木兰县| 鄂温| 祁阳县| 松桃| 高碑店市| 甘洛县| 龙口市| 大理市| 冷水江市| 涞源县| 汉中市| 西充县| 聊城市| 长葛市| 河间市| 大田县| 本溪| 双柏县| 黔南| 贵州省| 玉龙| 大埔县|