• 
    

    
    

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

      ?

      基于.NET技術(shù)的文檔自動化處理研究

      2021-01-13 11:19:28唐云婷
      黑龍江科學(xué) 2021年10期
      關(guān)鍵詞:面向?qū)ο?/a>應(yīng)用程序文檔

      唐云婷

      (北海職業(yè)學(xué)院,廣西 北海 536000)

      Microsoft Office文檔是日常辦公的主要軟件,其占據(jù)非常大的市場份額,在某些場合下需要對范圍限定的文檔進(jìn)行批處理,以判斷其內(nèi)容是否符合期望內(nèi)容,自動化處理是一個良好的解決方案。

      1 Word文檔

      Microsoft Office Word是微軟公司的一個功能強(qiáng)大、流行的文字處理器應(yīng)用程序,具備完善的文檔(如信函、論文、報表和手冊等)處理能力,作為 Microsoft Office 套件的核心程序,Word提供了許多易于使用的文檔創(chuàng)建工具,同時也提供了豐富的功能集供創(chuàng)建復(fù)雜的文檔使用。第一個Windows版本的Word發(fā)售于1989年,它被認(rèn)為是 Office 的主要程序,在文字處理領(lǐng)域其份額幾乎是統(tǒng)治級,其自稱規(guī)則的DOC格式也被推至行業(yè)標(biāo)準(zhǔn)。

      Office系列軟件是高校計算機(jī)應(yīng)用基礎(chǔ)課的必學(xué)軟件,也是大學(xué)計算機(jī)等級考試的基礎(chǔ)軟件、日常辦公的常用軟件。Word是Office系列里重要的套件之一,圍繞Office自動閱卷的研究多如牛毛,但涉及的環(huán)境復(fù)雜,無法統(tǒng)一試題標(biāo)準(zhǔn),故目前市面上也沒有此類文檔自動處理軟件。

      2 NET Framework

      2002年,微軟發(fā)布了.NET Framework的第一個版本,并為其技術(shù)實現(xiàn)制訂了一套完整的規(guī)范,這套規(guī)范便是CLI(Common Language Infrastructure,公共語言基礎(chǔ)結(jié)構(gòu))。CLI由CTS(Common Type System,公共類型系統(tǒng))、CLS(Common Language Specification,公共語言規(guī)范)、CIL(Common Intermediate Language,公共中間語言)、CLR(Common Language Runtime,公共語言運行庫)、BCL(Base Class Library,基類庫)、元數(shù)據(jù)定義、語義及其他相關(guān)標(biāo)準(zhǔn)化文檔、協(xié)議、規(guī)范組成。Microsoft針對CLI在Windows上的完整實現(xiàn)便是 .NET Framework。

      .NET Framework是由微軟開發(fā)的一個致力于快速應(yīng)用和部署、與平臺無關(guān)的透明化軟件平臺。.NET Framework集成了多語言組件開發(fā)和集成的環(huán)境(如C、C++、C#等),提供了一個統(tǒng)一的面向?qū)ο蟮木幊汰h(huán)境,這一集成將軟件部署和版本控制沖突的概率進(jìn)一步降低,其提供的跨語言(.NET Core已支持跨系統(tǒng))統(tǒng)一平臺旨在使開發(fā)人員更便捷地建立應(yīng)用程序,使這些應(yīng)用程序能夠無縫地運行在各種環(huán)境平臺下,達(dá)到一處開發(fā)隨處可用的目的。

      3 組件對象模型

      1993年,微軟公司提出了一種組件技術(shù),其是一種面向?qū)ο蟮木幊棠J?,定義了對象在單個應(yīng)用內(nèi)部或多個應(yīng)用內(nèi)部的行為方式,是一種與平臺無關(guān)、位置透明且支持網(wǎng)絡(luò)的中間件技術(shù),這種技術(shù)就是組件對象模型,即COM(Component Object Model),它提供了一種在不同應(yīng)用程序和語言之間共享二進(jìn)制代碼的規(guī)范,是致力于Web服務(wù)器與客戶端、增益集與Office系列軟件之間交互的一項軟件組件技術(shù)。COM定義了軟件組件互相通信的方式,是一種二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn),允許任意兩個組件之間進(jìn)行通信而忽略它們所在的軟件環(huán)境(包括操作系統(tǒng)、編寫語言),只要環(huán)境支持COM即可。COM還提供了位置透明性,當(dāng)使用COM組件時,一切都變得透明,組件運行位置都將被忽略。

      由于COM對象和.NET對象在生命周期、內(nèi)存管理、接口服務(wù)上的差異,運行時提供了包裝類來使其互相調(diào)用。Windows可以使用DLLs在二進(jìn)制級別共享代碼,如kernel 32.dll、user 32.dll等。

      4 Word對象操作

      Word文檔本身是一個壓縮文件,如果對某個Word文檔進(jìn)行解壓會得到一堆XML文檔的存檔,由許多元素組成,這些元素通過一定的壓縮算法形成Word文檔,對Word的操作實際上是對組成Word文檔元素的操作,也就是對象操作。在Windows平臺,利用C#的面向?qū)ο筇匦约耙肅OM中的“Microsoft Word 12.0 Object. Library”庫(因本機(jī)安裝的版本不同,此對象庫的名稱可能不一樣,如Microsoft Word 14.0 Object. Library),搭建Word對象操作的運行環(huán)境,對Word中的元素或?qū)ο筮M(jìn)行實驗性操作,以研究其進(jìn)行自動化處理的可行性。

      4.1 實驗條件

      研究依靠Windows下的.NET平臺進(jìn)行測試時,本地環(huán)境是:

      操作系統(tǒng)windows 10 Profession,開發(fā)環(huán)境.NET Framework 4.0,開發(fā)工具Visual Studio 2013 Express 、Microsoft Office2010,開發(fā)語言C#。

      4.2 實驗步驟

      引入“Microsoft Word 12.0 Object. Library”,其是Office 2010版本中Word對象類庫,提供了豐富的操作Word所需的方法和函數(shù),將其引入后,可以使用其提供的方法或函數(shù)對Word文檔進(jìn)行編輯與操作,這是實現(xiàn)文檔自動化處理的前提,讓文檔成為可編程處理的對象。引用PIA(主互操作程序集,COM組件生成)時,可以設(shè)置是否嵌入互操作類型。嵌入互操作類型時,PIA不隨著程序一起部署,程序只是引用COM中的類型信息,好處是可以部署到不同COM版本的環(huán)境中。如常用的Office開發(fā)“Microsoft.Office.Interop.Word”,設(shè)置嵌入互操作類型,就可以不依賴Office版本,改為互操作false后也就將PIA復(fù)制到本地。

      利用C#面向?qū)ο筇卣鳎谩癕icrosoft.Office.Interop.Word”提供的方法,通過基本的面向?qū)ο蟪绦蛟O(shè)計,實現(xiàn)對Word文檔中的對象進(jìn)行操作,現(xiàn)選取在Word中自動插入圖片,部分代碼如下:

      1.wordApp.Selection.EndKey(ref unite, ref Nothing);

      2.string filename=Environment.CurrentDirectory+″6.png″;

      3.Object range=wordDoc.Paragraphs.Last.Range;

      4.Object linkToFile=false;

      5.Object saveWithDocument=true;

      6.wordDoc.InlineShapes.AddPicture(filename, ref linkToFile, ref saveWithDocument, ref range);

      7.wordApp.Selection.ParagraphFormat.Alignment=MSWord.WdParagraphAlignment.wdAlignParagraphCenter;

      8.wordDoc.InlineShapes[1].ScaleWidth=20;

      9.wordDoc.InlineShapes[1].ScaleHeight=20;

      10.wordDoc.Content.InsertAfter(″ ″);

      11.wordApp.Selection.EndKey(ref unite, ref Nothing);

      12.wordApp.Selection.ParagraphFormat.Alignment=MSWord.WdParagraphAlignment.wdAlignParagraphCenter;

      13.wordApp.Selection.Font.Size=10;

      14.wordApp.Selection.TypeText(″北海職業(yè)學(xué)院logo ″);

      對象操作完畢,結(jié)果存儲至外存,需要銷毀對象回收內(nèi)存,以保證系統(tǒng)資源的合理使用,可以在程序邏輯中顯式的銷毀對象釋放內(nèi)存,也可以利用C#的垃圾回收機(jī)制自動回收內(nèi)存。

      4.3 實驗結(jié)論

      實驗通過引用“Microsoft Word 12.0 Object. Library”類庫,利用C#面向?qū)ο笤O(shè)計方法,對Word文檔對象進(jìn)行了字體、圖片、表格等方面的自動化處理(篇幅所限僅展示一部分),實驗結(jié)果表明,利用自動化(其實是半自動)思想對Word文檔對象進(jìn)行批處理是可行的,這讓人們在處理大量格式統(tǒng)一卻重復(fù)的文檔時,有了更好的解決方案,提高工作效率的同時,節(jié)省了寶貴時間。

      5 總結(jié)與展望

      在.NET Framework框架下利用C#面向?qū)ο蠹夹g(shù),引入“Microsoft Word 12.0 Object. Library”類庫,介紹了利用程序邏輯操作Word對象的過程,以探索對Word文檔進(jìn)行自動化處理的可行性。得到實驗成果的同時,了解了要實現(xiàn)自動識別自動判斷是極其困難的,歸根結(jié)底是Word的靈活性導(dǎo)致,其功能復(fù)雜、靈活、細(xì)節(jié)豐富,實際應(yīng)用時必須結(jié)合當(dāng)前環(huán)境進(jìn)行邏輯設(shè)計和定制,才能實現(xiàn)自動化處理,這實際是一種半自動化處理方案。隨著信息技術(shù)的發(fā)展,云課堂的興起,圍繞批量文檔操作的研究和實踐也會越來越多,軟件功能也會越來越豐富,自動化程度也會越來越高。

      猜你喜歡
      面向?qū)ο?/a>應(yīng)用程序文檔
      有人一聲不吭向你扔了個文檔
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      面向?qū)ο蟮挠嬎銠C(jī)網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
      電子測試(2018年15期)2018-09-26 06:01:34
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      基于RI碼計算的Word復(fù)制文檔鑒別
      面向?qū)ο骔eb開發(fā)編程語言的的評估方法
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
      河南科技(2014年10期)2014-02-27 14:09:03
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      不讓他人隨意下載Google文檔
      電腦迷(2012年4期)2012-04-29 06:12:13
      论坛| 武邑县| 尼玛县| 临高县| 唐海县| 莒南县| 社旗县| 剑川县| 北辰区| 抚松县| 芜湖市| 乡城县| 南宫市| 宣化县| 香河县| 佛教| 西吉县| 大理市| 惠安县| 牙克石市| 曲阳县| 贡山| 拜泉县| 滦南县| 平原县| 永济市| 施甸县| 巴南区| 新津县| 乡城县| 巨鹿县| 北碚区| 疏勒县| 雷山县| 博爱县| 玉门市| 永顺县| 榆社县| 柳林县| 广水市| 景泰县|