程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 自動化工具word文檔批量轉html

自動化工具word文檔批量轉html

編輯:C#入門知識

企業有很多的科室,科室的每個人或多或少都會寫一些文檔,有些文檔領導需要浏覽,解決的辦法是將編輯的文檔打印出來,供領導浏覽,或是為了節約企業成本,文檔就在人與人這間或部門之間copy過來,copy過去。如果員工或領導不善於管理文檔,就會造成有很多的版本,或者是在以後無法輕松的找到相關的文檔。

所以企業專門找到一個人(文檔管理員),讓這個人負責文檔的管理。而文檔的管理的方式有兩種形式,第一種是doc形式的(即word文檔),第二種是分享形式的

對於第一種文檔管理方式,只涉及到這個文檔管理員,收集各部門的文檔,將部門規劃成一種如下圖的形式:

然後在部門中再規劃人員,如下圖:

 

通過第一種形式,那麼文檔的管理也就解決了。只保存最新文檔,對文檔進行匯總等,如果領導需要什麼文檔的話,只需要讓文檔管理員打印並呈送就可以了。

但是領導或職員需要什麼文檔?領導也不是一台機器,沒有過目不忘的本領,並不知道公司有什麼文檔?如果文檔中有錯字有誰來發現?所以為了解決這幾個問題,需要實現文檔的分享,也就是第二種文檔管理方式。

解決思路是在局域網中建立一個網站,企業中的任何一個人都可以浏覽公司的文檔。通過這個網站,企業中的任何一個人也都知道本企業有什麼文檔,尋找資料也會方便些。

網站也很簡單,只需要實現目錄結構上的復制,部門對應部門,人員對應人員。再把doc轉換成html,文檔名稱對應頁面名稱。然後再自動生成網站首頁,這個網站也就做完了。

技術實現:
在這裡只是大體介紹一下,如果需要了解技術詳細的話,可以下載下面的源代碼。

1.給定需要轉換的目錄(包含word文檔的目錄)和輸出目錄
2.讀取目錄中的所有word文檔
3.將所有的word文章轉換成Html文件,並將html文件保存到輸出目錄下對應的目錄(即部門對應部門,人員對應人員),代碼如下

  ToHtml(.FilePath == ==== (Word.Document)docsType.InvokeMember( Object[] { ()FilePath, ,  }); 
    Type docType =
     strSaveFileName = TargetFilePath;  
     saveFileName = (
    docType.InvokeMember(, doc,  , System.Reflection.BindingFlags.InvokeMethod, , doc, , System.Reflection.BindingFlags.InvokeMethod, , word, 

word轉為html後,測試頁面樣式:

4.生成首頁,並將首頁保存到輸出目錄下。為使首頁結構清晰,使用了jquery插件treeview。

 = = = directory.GetFiles( (FileInfo fi  relativelinks = Uri.EscapeUriString(fi.FullName.Replace(.Format(, DirectoryPath), ).Replace(/
        _sb.AppendLine(.Format(= (DirectoryInfo dirInfo 

生成的首頁顯示大體如下(非企業的文檔,而是自己的文檔):

總結:
在開發這個工具時,最主要的還是word轉html。而我使用的方式是com方法調用word的open,saveas,close和quit。這種方式會在word的最近浏覽記錄中留下信息,如下:

並且html的生成完全由word控制,生成的html的樣式也完全由word控制。有的文章轉換為html後,顯得html內容不美觀。我測試了一下,安裝不同的office版本,office2003(無法轉換高版本的文檔),office2007,office2010,版本越高,轉換後的html樣式越好。

我也在網上尋找了word轉html的控制方式(包括國內的、國外的),發現如果想完全控制轉換,似乎是不可能的。當然也有doc轉換工具,如google doc。不知道我這個觀點對不對?

 

源代碼下載:源碼Convertor.rar

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved