• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)的設(shè)計(jì)

      2021-11-21 19:20:51葉萍
      電子技術(shù)與軟件工程 2021年18期
      關(guān)鍵詞:待處理附件文檔

      葉萍

      (常州信息職業(yè)技術(shù)學(xué)院軟件與大數(shù)據(jù)學(xué)院 江蘇省常州市 213164)

      本文旨在實(shí)現(xiàn)文檔附件自動(dòng)化轉(zhuǎn)換系統(tǒng),對(duì)于多個(gè)文檔附件的處理。通過多個(gè)不同的方案進(jìn)行對(duì)比,分別在其優(yōu)缺點(diǎn)、工作流程、操作復(fù)雜度等進(jìn)行多方面解析。此系統(tǒng)可以將多個(gè)文檔附件進(jìn)行合并,將所需要內(nèi)容進(jìn)行篩選整合,降低文檔處理人員工作量,提高了文檔處理效率,并減少存儲(chǔ)空間和處理時(shí)間。

      1 現(xiàn)狀分析

      傳統(tǒng)的文檔附件處理,都是需要處理者手動(dòng)進(jìn)行篩選、識(shí)別、添加、刪除、合并等操作。其處理方式工程量大,并且會(huì)遇到搜索定位復(fù)雜、修改內(nèi)容困難等多個(gè)問題。文檔處理的需求主要有如下四個(gè)方面:

      (1)副本內(nèi)容的同步,文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)需要實(shí)現(xiàn)將副本文檔與原文檔進(jìn)行內(nèi)容同步轉(zhuǎn)換。在操作文檔之前需要進(jìn)行數(shù)據(jù)備份,在修改原文檔內(nèi)容時(shí),會(huì)出現(xiàn)只修改了原來文檔的內(nèi)容,而副本文檔內(nèi)容卻沒有與原文檔同步,這就需要手動(dòng)去核對(duì)和修改,較多的文件進(jìn)行修改的場景中,給文檔處理增加了許多負(fù)擔(dān)。

      (2)附件文檔的篩選,文檔附件的類型有許多種,不同的文檔類型在文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)中需要進(jìn)行篩選。一般附件文檔的文件類型為PDF 文檔,所以在設(shè)計(jì)系統(tǒng)時(shí)需要設(shè)計(jì)文檔篩選功能,選出PDF 類型文檔。篩選出來的文檔中還有可能存在個(gè)別所不需要或用不上的文檔,需要對(duì)這一類文檔進(jìn)行刪除操作。

      (3)附件文檔格式化,在處理文檔時(shí),需要進(jìn)行將每個(gè)PDF文檔的每一頁都轉(zhuǎn)換為圖片保存于本地,一是為了做好數(shù)據(jù)備份,二是為了能夠方便使用者將不需要的內(nèi)容進(jìn)行修改與刪除。在進(jìn)行附件文檔格式化時(shí),還需考慮所保存的圖片清晰度、圖片的大小、圖片的尺寸、圖片的格式。

      (4)附件文檔的整合,將格式化后的文檔附件進(jìn)行整合,首先需要考慮文檔頁眉頁碼的添加,其次要考慮如何能夠按照順序?qū)⑽臋n逐步的合并,最后需要考慮如何生成一個(gè)清晰完整的目錄。

      對(duì)于非功能性需求主要有三個(gè)。

      (1)存儲(chǔ)空間大小,文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)在實(shí)現(xiàn)過程需要進(jìn)行文檔資源備份,而備份操作會(huì)將整個(gè)項(xiàng)目文檔的大小逐漸增大,而減少存儲(chǔ)空間大小是我們?cè)谠O(shè)計(jì)系統(tǒng)時(shí)要仔細(xì)考慮如何解決這個(gè)問題,一般可以下面從三個(gè)方面進(jìn)行考慮。在進(jìn)行文檔處理之前,就直接篩選保存需要操作的文檔,而不操作、不修改的文檔可以不進(jìn)行備份保存。在備份時(shí),將備份文檔的清晰度降到最適合的像素,這樣保存的備份圖片占用的存儲(chǔ)空間就會(huì)大大減少??梢栽诖鎯?chǔ)圖片時(shí),使用圖片占用存儲(chǔ)空間較小的圖片格式類型來存儲(chǔ)。

      (2)系統(tǒng)的及時(shí)性,傳統(tǒng)文檔處理方式需要花費(fèi)較多的時(shí)間,基本上需要以分鐘來進(jìn)行計(jì)算。那么系統(tǒng)在處理文檔是需要花費(fèi)的時(shí)間一般要以MS(毫秒)來計(jì)算是基本要求。處理文檔時(shí)間花費(fèi)越小,系統(tǒng)的效率越高。

      (3)系統(tǒng)的友好程度,系統(tǒng)的應(yīng)用性即系統(tǒng)應(yīng)該要便于用戶的使用,使用者不需要太多的學(xué)習(xí)就可以輕松掌握其使用方法,在與傳統(tǒng)文檔處理方式相比較下,系統(tǒng)的應(yīng)該需要做到使用者在處理文檔附件過程中盡量少去進(jìn)行操作,減少一些用戶所不必要的操作;可擴(kuò)展性是系統(tǒng)程序應(yīng)在未來能添加新的性能、能夠進(jìn)行系統(tǒng)升級(jí)、確保維護(hù)人員能夠修改和優(yōu)化。所以系統(tǒng)需要有較高的可分析行、可重用性及模塊性。可維護(hù)性為文檔附件的自動(dòng)轉(zhuǎn)換系統(tǒng)在日后需要進(jìn)行優(yōu)化和修復(fù),首先應(yīng)考慮該系統(tǒng)在維護(hù)時(shí)的難易程度,其次是考慮該系統(tǒng)能否接受重新改進(jìn)。

      2 解決對(duì)策

      本文提出了文檔附件自動(dòng)轉(zhuǎn)換的設(shè)計(jì)方法,系統(tǒng)在傳統(tǒng)的文檔處理思路上實(shí)現(xiàn)自動(dòng)化,遇到多文檔處理時(shí)可以通過文檔附件自動(dòng)轉(zhuǎn)換節(jié)約大量時(shí)間。此方案設(shè)計(jì)在Ubuntu 操作系統(tǒng)下對(duì)基于Python 的文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),主要可以分為五個(gè)模塊,分別為PDF 類型模板模塊、篩選合并PDF 文檔模塊、模板與待處理文檔合并模塊及SHELL 腳本的文件模塊。

      (1)Shell 腳本模塊。該模塊是為了方便用戶一次性執(zhí)行多項(xiàng)操作,事先將所要執(zhí)行命令放到一個(gè)文件中,類似于Windows 操作系統(tǒng)下的批處理,而Shell 腳本文件只能在Ubuntu 操作系統(tǒng)或者Unix 操作系統(tǒng)下運(yùn)行,功能卻比Windows 下批處理強(qiáng)大的多。Shell 腳本主要編寫內(nèi)容為篩選所需要的PDF 類型文檔附件、設(shè)計(jì)RST 模板文件、合并模板文件與待處理文檔及生成結(jié)果文檔。此模塊編寫的腳本文檔為shell 類型文件,編寫內(nèi)容主要有四個(gè)部分,第一部分為生成一個(gè)JSON 文檔。第二部分為運(yùn)行一個(gè) Python 文檔生成一個(gè)為RST 模板文檔和一個(gè)合并所有所需處理文檔的PDF 類型的待處理文檔。第三部分是將RST 文檔轉(zhuǎn)換為PDF 類型的模板文檔。第四部分為將PDF 模板文檔與待處理文檔進(jìn)行合并。

      (2)篩選文檔模塊。主要用來實(shí)現(xiàn)將路徑下的所有PDF 類型文檔進(jìn)行篩選并寫入后綴是“.json”的JSON 文件。JSON 是一種輕量級(jí)的數(shù)據(jù)交換格式,因?yàn)镴SON 層次結(jié)構(gòu)清晰、簡潔明了、便于閱讀及編寫,而且也易于計(jì)算機(jī)解析和生成。本系統(tǒng)設(shè)計(jì)方案基于Python 編程語言,而Python 中的一種基本數(shù)據(jù)結(jié)構(gòu)就是Dictionary(字典),字典的結(jié)構(gòu)與JSON 的結(jié)構(gòu)非常相近,而且Python 中也有JSON 庫可供用戶進(jìn)行兩者之間的自動(dòng)化轉(zhuǎn)換。用 tree 命令生成一個(gè)該路徑下所有為 PDF 類型文件的json 文件,以完整的路徑方式保存。所生成的 JSON 文件主要存放的有多個(gè)字典組成的列表,每個(gè)字典都有至少兩個(gè)鍵值,分別為“type”(存放的是該文件或者文件夾類型)、“name” (該文件名)。JSON 類型文件將其打開后可直接進(jìn)行編輯,即就可以很方便的將不需要處理的該文檔所在的字典中進(jìn)行刪除。

      (3)設(shè)計(jì)模板模塊。此模塊設(shè)計(jì)主要運(yùn)用了reStructuredText輕量級(jí)標(biāo)記語言編寫RST 類型的模板文檔。用reStructuredText 來進(jìn)行文檔格式編輯是因?yàn)樗Z法簡單、運(yùn)行環(huán)境輕量、功能強(qiáng)大,更重要的是它可以將編寫的文檔內(nèi)容轉(zhuǎn)換為PDF 類型文檔。需要設(shè)計(jì)兩個(gè)模板文檔,一個(gè)是目錄模板文檔,另一個(gè)是標(biāo)題模板文檔。目錄模板通過對(duì)附件文檔格式的考慮,主要對(duì)文檔附件的目錄、標(biāo)題、章節(jié)編號(hào)及頁碼來進(jìn)行編寫設(shè)計(jì),模板文件需要實(shí)現(xiàn)的目錄、頁碼清晰,最后效果能夠一眼識(shí)別。標(biāo)題模板文檔需要設(shè)計(jì)功能圖,主要是對(duì)內(nèi)容、標(biāo)題進(jìn)行操作。下一步將兩個(gè)模板文件都設(shè)計(jì)好以后進(jìn)行合并,最后再轉(zhuǎn)換為PDF 類型文檔,為組合文檔模塊時(shí)做準(zhǔn)備。模板文檔主要有兩個(gè)部分,第一部分為目錄模板。目錄模板主要是對(duì)文檔的主標(biāo)題及目錄進(jìn)行編寫。使用reStructuredText輕量級(jí)標(biāo)記語言來對(duì)目錄模板文檔的實(shí)現(xiàn)生成RST 類型文檔。在內(nèi)容上標(biāo)與下標(biāo)都有多個(gè)連續(xù)的符號(hào)(如“=”)為一級(jí)標(biāo)題,即顯示的內(nèi)容樣式為一級(jí)標(biāo)題樣式。通過:class 對(duì)內(nèi)容添加樣式;通過..section-numbering:: 添加章節(jié)編號(hào);通過..raw::pdf PageBreak 命令來訪問頁面模板,cutePage 為頁面模板中的樣式,其內(nèi)容為給頁面添加頁眉頁碼。第二部分為標(biāo)題模板的設(shè)計(jì),標(biāo)題模板主要是通過對(duì)符號(hào)的控制來設(shè)編寫標(biāo)題的級(jí)別。表示標(biāo)題的符號(hào)有_ 、 * 、 =、 -、`、:、'、"、~、+、 ^、#、<、>,標(biāo)題可以通過自由組合來進(jìn)行使用,最多可分為六級(jí)。而相同的符號(hào)可以通過上標(biāo)、下標(biāo)來控制標(biāo)題級(jí)別,使用不同的六個(gè)符號(hào)的標(biāo)題依次排列,依次產(chǎn)生的標(biāo)題為一級(jí)標(biāo)題到六級(jí)標(biāo)題。

      最后將模板文檔通過rst2pdf 命令將RST 類型文檔轉(zhuǎn)為PDF 類型的模板文檔。

      (4)合并文檔模塊,主要是將多個(gè)需要處理的PDF 類型文檔進(jìn)行合并,生成一個(gè)待處理的PDF 類型文檔,為組合文檔模塊做準(zhǔn)備。該模塊需分兩個(gè)操作,第一個(gè)操作是對(duì)于Word 文檔內(nèi)容整合模塊的實(shí)現(xiàn),首先需要?jiǎng)?chuàng)建一個(gè)模板文件,并對(duì)其進(jìn)行頁眉、頁腳、樣式的設(shè)計(jì),先使用 Python 中的docx 庫中的Document 類將模板文件打開,再使用clear 類來把模板Word 文檔里面所都段落內(nèi)容都進(jìn)行清 除(clear 類僅刪除內(nèi)容,不刪除樣式),這樣做是為了在對(duì) Word 文檔進(jìn)行操作 時(shí)避免出現(xiàn)不必要的問題。使用add_paragraph 方法添加一個(gè)段落,內(nèi)容為待處理 PDF 文檔的文件名,使用style 屬性給段落添加樣式。再add_picture 方法將 圖片插入文檔內(nèi),用inches 屬性來設(shè)置圖片的大小。還需要解決word 文檔生成目錄問題,需要oxml 類中的 OxmlElement 方法和qn 方法進(jìn)行目錄的生成。

      第二個(gè)操作主要是生成一個(gè)PDF 類型結(jié)果文檔,為組合文檔模塊做準(zhǔn)備的待處理文檔,實(shí)現(xiàn)步驟主要有四個(gè)步驟。第一步運(yùn)用Python 中的json 庫的load 方法將json 文件轉(zhuǎn)換為有多個(gè)字典組成的列表;第二步通讀取每個(gè)字典的“type”來判斷文件類型;第三步若是文件類型是文件夾則繼續(xù)循環(huán)訪問文件夾內(nèi)文件,直到為類型為文檔后再將文檔進(jìn)行合并;第四步生成一個(gè)待處理的文檔附件。

      (5)組合文檔模塊,此模塊主要實(shí)現(xiàn)模板文件與待處理文檔進(jìn)行組合,然后輸出PDF 類型的結(jié)果文檔,解決了在需求分析中所提出的附件文檔整合的問題。主要分為四個(gè)部分,第一部分是獲取模板文件與待處理文檔頁碼;第二部分是縮小待處理文檔頁面,主要是為了后期將兩個(gè)文檔組合時(shí)不出現(xiàn)內(nèi)容覆蓋;第三部分是將文檔附件與模板進(jìn)行組合;第四部分是將結(jié)果文檔進(jìn)行輸出展示。主要是將模板文檔與待處理文檔相組合,再生成一個(gè)最后的結(jié)果文檔。該模塊主要分成四個(gè)主要步驟,第一步是通過Python 中pdfrw庫的PdfReader類將兩個(gè)文件打開,再通過pages的方法來獲取頁碼;第二步是通過scale 方法將待處理的文檔頁面按比例縮放;第三步是用PageMerge 類將模板文件也待處理文檔附件進(jìn)行頁面組合;第四步用PdfWriter 類將組合后的文檔進(jìn)行生成輸出。

      本文所設(shè)計(jì)的基于Python 的文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)系統(tǒng),在與傳統(tǒng)文檔處理方式相比較下,該系統(tǒng)做到使用者在處理文檔附件過程中盡量減少重復(fù)性操作,并從根本意義上實(shí)現(xiàn)了文檔處理部分流程的“自動(dòng)化”。

      3 結(jié)束語

      文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)是用程序自動(dòng)實(shí)現(xiàn)文檔處理操作。從執(zhí)行效率來看,傳統(tǒng)文檔附件處理方式時(shí)間較長,處理者工作量大、出錯(cuò)率高,而文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)則只需處理者點(diǎn)擊啟動(dòng),等待自動(dòng)化文檔結(jié)果的生成。從花費(fèi)時(shí)間來看,傳統(tǒng)文檔附件處理方式需要花費(fèi)大量時(shí)間去執(zhí)行重復(fù)性操作,比如打開多個(gè)文件、復(fù)制文檔內(nèi)容、篩選文檔標(biāo)題名、保存內(nèi)容于本地等,這些重復(fù)性操作浪費(fèi)了大量時(shí)間。文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)使用計(jì)算機(jī)對(duì)重復(fù)性操作進(jìn)行自動(dòng)化處理;從執(zhí)行效果來看,傳統(tǒng)文檔附件處理方式,結(jié)果文檔會(huì)有較多的錯(cuò)誤,比如圖片大小不一、內(nèi)容順序顛倒等,文檔附件自動(dòng)轉(zhuǎn)換系統(tǒng)是由計(jì)算機(jī)按照統(tǒng)一的邏輯和規(guī)則進(jìn)行處理,會(huì)大大減少上述問題,并能將最后輸出的文檔整理的更美觀。

      猜你喜歡
      待處理附件文檔
      附件三:擬制定的標(biāo)準(zhǔn)匯總表
      有人一聲不吭向你扔了個(gè)文檔
      財(cái)產(chǎn)清查結(jié)果的賬務(wù)處理
      關(guān)于TSG 07——2019附件M與TSG Z0004——2007內(nèi)容的對(duì)照
      “待處理”事項(xiàng)在科學(xué)事業(yè)單位的核算探討
      政府會(huì)計(jì)核算中待處理財(cái)產(chǎn)損溢賬戶應(yīng)用探究
      新型武器及附件展呈
      輕兵器(2017年3期)2017-03-13 19:15:42
      附件 注釋體例
      基于RI碼計(jì)算的Word復(fù)制文檔鑒別
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      闽清县| 乐都县| 宁南县| 濉溪县| 攀枝花市| 南岸区| 茌平县| 昌平区| 阜南县| 旬邑县| 乐陵市| 哈密市| 河间市| 台南市| 长丰县| 大足县| 台南县| 苍南县| 冷水江市| 石台县| 拉孜县| 库伦旗| 盐津县| 江阴市| 东明县| 景德镇市| 弥渡县| 西吉县| 颍上县| 综艺| 芒康县| 弋阳县| 乳山市| 武义县| 长兴县| 二连浩特市| 富阳市| 池州市| 鲁山县| 游戏| 安福县|