要如何在一個 Word 檔中,加入 「目錄索引」呢?
我們有個Word檔,文件中有設定階層,如下圖,
可以看到,裡面並沒有「目錄索引(table of contents)」,那要如何產生「目錄索引」呢?
Devexpress 的 Rich Edit Document Server ,就可以幫我們達到這樣的需求。
只要透過新增一個「目錄索引(table of contents)」,就可以了。
先加入以下DLL參考,
DevExpress.Data
DevExpress.Docs
DevExpress.Office.Core
DevExpress.RichEDit.Core
程式如下,
//using DevExpress.XtraRichEdit;
//using DevExpress.XtraRichEdit.API.Native;
//建立 RichEditDocumentServer
RichEditDocumentServer srv = new RichEditDocumentServer();
//讀進 word 檔案
srv.LoadDocument(@"d:\rm.docx");
//取得 Document
Document doc = srv.Document;
doc.BeginUpdate();
//https://documentation.devexpress.com/#DocumentServer/CustomDocument15301
//在最前面加入 目錄索引
string tocCode = @"TOC \h";
Field todField = doc.Fields.Create(doc.Range.Start, tocCode);
//執行更新
todField.Update();
//加入分頁
Section newPageSession = doc.InsertSection(todField.Range.End);
newPageSession.StartType = SectionStartType.NextPage;
doc.EndUpdate();
//另存成RM2.Docx
doc.SaveDocument(@"d:\rm2.docx", DocumentFormat.OpenXml);
加入「目錄索引」後的內容如下,
當然也可以設定「目錄索引」要顯示到幾階,例如,顯示一、二階(標題1跟2)就使用 TOC \o 1-2,如下,
如果只要顯示二階的,就使用 TOC \o 2-2,如下,
詳細可以參考: TOC
參考資料
透過 .NET Document Automation 來將Word檔轉成PDF,並加入浮水印
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^