[發明專利]WORD內容批量拷貝到基于S1000D標準DM的快速轉換方法有效
| 申請號: | 202110316627.8 | 申請日: | 2021-03-25 |
| 公開(公告)號: | CN112699641B | 公開(公告)日: | 2021-07-20 |
| 發明(設計)人: | 孫國防;蔣巍;孫浩 | 申請(專利權)人: | 南京國睿信維軟件有限公司 |
| 主分類號: | G06F40/151 | 分類號: | G06F40/151;G06F40/186 |
| 代理公司: | 南京蘇創專利代理事務所(普通合伙) 32273 | 代理人: | 鳳婷 |
| 地址: | 210013 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | word 內容 批量 拷貝 基于 s1000d 標準 dm 快速 轉換 方法 | ||
1.WORD內容批量拷貝到基于S1000D標準DM的快速轉換方法,其特征在于:包括如下步驟:
步驟1:文檔html化:對文檔全文進行html標簽語言的文本化,通過鍵盤“CTRL+C/CTRL+V”觸發復制/粘貼命令,將文檔內容復制到剪切板中,設置文檔數據格式為html格式,通過Transformer轉換對象獲取剪切板中html格式內容,輸出html標簽語言文本;
步驟2:根據步驟1中底層html數據的“xmlns:w=urn:schemas-microsoft-com:office:WORD”標簽語言文本判斷是否來源于word文檔,若是,則進入步驟3,若不是,則調用普通轉換操作;
步驟3:核對html標簽語言文本是否為已注冊的word粘貼命令,若否,則把word粘貼命令注冊到緩存的命令集合中,然后進入步驟4,若是,則直接進入步驟4;
步驟4:判斷當前光標是否定位在編輯區節點中,若否,則警告提示,若是,則進入步驟5;
步驟5:獲取word需要粘貼的對象,執行粘貼命令,并且初始化xslt樣式模板;
步驟6:啟動多線程操作,對粘貼后的html標簽語言文本進行裁剪、調整或者刪除不必要的內容,為轉換S1000D節點做準備,多線程操作的具體執行過程為:
步驟6.1:把html標簽語言文本中字符串轉成Document對象進行解析,并刪除html標簽語言文本中的命名空間及注釋內容,再把圖片內容下載到本地臨時文件夾,普通圖片用png格式保存,VISIO格式用EMF壓縮格式保存,文件命名格式為“image”+編號;
步驟6.2:刪除html標簽語言文本中底層對應的meta多余標簽內容,刪除全局字體相關的樣式;
步驟6.3:刪除原word純文本內容樣式、有序列表、無序列表樣式及文本布局格式,修改語言為“zh-CN”格式;
步驟6.4:刪除底層原word文檔全文中的鏈接樣式;
步驟6.5:根據原word文檔底層表格列寬,修改為用百分比表示列寬,增加處理指令,用來預處理按照S1000D標準標簽表示的表格;
步驟6.6:修改圖片標簽,把原word文檔中的底層img標簽改為figure,并且增加屬性“class='figcaption'”來表示圖片,若沒有加入此屬性的,則默認作為圖標;
步驟6.7:根據原word文檔中的底層p標簽的屬性“class='MsoNormal'”判斷底層p標簽是有序列表還是無序列表,若是有序列表,則把p標簽轉成對應的有序“olli”標簽,若是無序列表,則把p標簽轉成對應的無序“ulli”標簽;
步驟6.8:處理圖注或者表注,根據原word文檔中的圖片或者表格標簽中的“class='figcaption'”或者“class='caption'”來填充圖片或者表格的標題;
步驟6.9:預處理標題標簽,根據原word文檔全文中的底層標簽,一級標題標簽“h1/h1”轉成對應的“div class='section1'h1h1/div”標簽,在后期根據“class='section1'”轉成對應的S1000D節點或者步驟標簽;
步驟6.10:刪除原word文檔中的底層空文本標簽、span標簽及樣式,把“b、big、cite、em、i、small、strong和u”標簽中的內容替換到外層p標簽中,并且刪除“b、big、cite、em、i、small、strong和u”標簽及其樣式;
步驟6.11:根據步驟6.1-6.10,生成對應的標簽內容,作為轉成S1000D標簽的輸入原Xml內容;
步驟6.12:將步驟6.11生成的輸入原Xml內容解析轉成“Document”對象,為轉成標準S1000D內容做準備;
步驟7:若當前線程能在1秒內處理完源數據,則不彈出日志對話框,若超過1秒還沒有執行完,則通過thread.join(1000)結束當前線程,彈出操作日志對話框;
步驟8:根據xslt樣式文件路徑獲取樣式模板,若緩存中有樣式模板信息,則默認樣式模板信息從緩存中取,若緩存中沒有樣式模板信息,則把樣式模板信息存入到緩存中,需要模板信息時直接從緩存中取;
步驟9:通過模板樣式文件進行轉換,轉換成標準S1000D節點后,根據當前光標位置節點的上下文約束關系,判斷是否能插入轉換后節點,若能夠插入,則把根據樣式模板轉成的節點粘貼到對應位置,若不能插入,則進行提示信息說明,再往Transformer轉換對象中設置必要參數,轉換成S1000D標準DM的Xml文件。
2.根據權利要求1所述的WORD內容批量拷貝到基于S1000D標準DM的快速轉換方法,其特征在于:所述步驟9中通過單例模式獲取樣式模板,往“Document”對象中設置必要參數的具體過程為:
當進行層級或者步驟節點轉換時,將當前的DM類型設置到“Document”對象中,若當前DM類型是描述類型,html標簽div class=section1轉成S1000D標準一級層級段落標簽levelledPara,html標簽div class=section2轉成S1000D標準子級層級段落標簽levelledPara,用1,1.1,1.1.1來表示層級段落標簽levelledPara樣式,節點的父子或兄弟關系根據class屬性值進行確定;若當前DM類型是程序類型,html標簽div class=section1轉成一級步驟節點標簽procduralStep,div class=section2轉成子級步驟節點標簽levelledPara或者procduralStep,并且用1,1.1,1.1.1來表示層級樣式,節點的父子或者兄弟關系根據class的屬性值進行確定;
當進行標題節點轉換時,若當前DM類型是描述類型,則轉成title標簽;若當前DM是程序類型,則將html標簽h1~h6標簽轉成S1000D標準Xml的para標簽;
當進行段落節點轉換時,將html的P標簽轉成對應的S1000D標準Xml的para標簽,根據節點上下文關系,在解析時,若當前節點的父節點是警告標簽、注意標簽和注標簽時,則將html的P標簽轉換成S1000D標準Xml的warningAndCautionPara標簽;
當進行有序/無序列表轉換時,將html的有序標簽olli轉成S1000D標準Xml的sequentialListlistItem標簽,用1,1.1,1.1.1來表示層級段落標簽樣式;將html的無序標簽ulli S1000D標準Xml的randomListlistItem標簽,用“.”表述無序樣式;
當進行圖標轉換時,若源數據html中沒有div class=figure標簽,只出現imgalt=… src=xxx.png /img時,則默認轉成S1000D標準Xml的圖標標簽symbol src= /;
當進行表格轉換時,根據表格樣式模板,把源數據表格節點及子節點與S1000D節點根據tr-----row、td-----entry、colgroup-----colspec、caption-----title對應關系進行轉換;源數據表格跨列,則通過處理指令計算當前開始列與結束列,并且把對應結果作為單元格namest和nameend的屬性值;
當進行文本操作時,若有處理指令.toxml-text.,則默認當作文本進行拷貝,若沒有處理指令.toxml-text.,則作為para節點進行拷貝。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京國睿信維軟件有限公司,未經南京國睿信維軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110316627.8/1.html,轉載請聲明來源鉆瓜專利網。
- 內容再現系統、內容提供方法、內容再現裝置、內容提供裝置、內容再現程序和內容提供程序
- 內容記錄系統、內容記錄方法、內容記錄設備和內容接收設備
- 內容服務系統、內容服務器、內容終端及內容服務方法
- 內容分發系統、內容分發裝置、內容再生終端及內容分發方法
- 內容發布、內容獲取的方法、內容發布裝置及內容傳播系統
- 內容提供裝置、內容提供方法、內容再現裝置、內容再現方法
- 內容傳輸設備、內容傳輸方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容發送設備、內容發送方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容再現裝置、內容再現方法、內容再現程序及內容提供系統
- 內容記錄裝置、內容編輯裝置、內容再生裝置、內容記錄方法、內容編輯方法、以及內容再生方法





