• <menu id="w2i4a"></menu>
  • logo E-iceblue中文文檔

    文檔首頁>>E-iceblue中文文檔>>創(chuàng)建對書簽的交叉引用

    創(chuàng)建對書簽的交叉引用


    Spire.Doc for .NET是一款專門對 Word 文檔進行操作的 .NET 類庫。在于幫助開發(fā)人員無需安裝 Microsoft Word情況下,輕松快捷高效地創(chuàng)建、編輯、轉(zhuǎn)換和打印 Microsoft Word 文檔。擁有近10年專業(yè)開發(fā)經(jīng)驗Spire系列辦公文檔開發(fā)工具,專注于創(chuàng)建、編輯、轉(zhuǎn)換和打印Word/PDF/Excel等格式文件處理,小巧便捷。 

    E-iceblue 功能類庫Spire 系列文檔處理組件均由中國本土團隊研發(fā),不依賴第三方軟件,不受其他國家的技術(shù)或法律法規(guī)限制,同時適配國產(chǎn)操作系統(tǒng)如中科方德、中標麒麟等,兼容國產(chǎn)文檔處理軟件 WPS(如 .wps/.et/.dps 等格式

    Spire.Doc for.NET 最新下載

    我們已經(jīng)演示了如何在創(chuàng)建 word 文檔時添加一個全新的 TOC 。本文將向您展示如何將 TOC 插入到現(xiàn)有的帶有樣式的 Word 文檔中,并從 Word 文檔中刪除 TOC。

    交叉引用是指同一文檔中其他地方的相關(guān)信息。您可以創(chuàng)建對任何現(xiàn)有項目的交叉引用,例如標題、腳注、書簽、題注和編號段落。本文將向您展示如何使用 Spire.Doc 與 C# 和 VB.NET 創(chuàng)建對書簽的交叉引用。

    第 1 步創(chuàng)建一個 Document 實例。

    Document doc = new Document();
    Section section = doc.AddSection();

    第 2 步插入書簽。

    Paragraph paragraph = section.AddParagraph();
    paragraph.AppendBookmarkStart("MyBookmark");
    paragraph.AppendText("Text inside a bookmark");
    paragraph.AppendBookmarkEnd("MyBookmark");

    第 3 步創(chuàng)建一個交叉引用字段,并通過書簽名稱將其鏈接到書簽。

    Field field = new Field(doc);
    field.Type = FieldType.FieldRef;
    field.Code = @"REF MyBookmark \p \h";
    

    第 4 步添加一個段落,并將字段插入該段落。

    paragraph = section.AddParagraph();
    paragraph.AppendText("For more information, see ");
    paragraph.ChildObjects.Add(field);
    

    第 5 步在段落中插入一個 FieldSeparator 對象,作為字段中的分隔符。  


    FieldMark fieldSeparator= new FieldMark(doc, FieldMarkType.FieldSeparator);
    paragraph.ChildObjects.Add(fieldSeparator);
    第 6 步設(shè)置交叉引用字段的顯示文本。


    TextRange tr = new TextRange(doc);
    tr.Text = "above";
    paragraph.ChildObjects.Add(tr);

    第 7 步在段落中插入一個 FieldEnd 對象,用于標記字段的結(jié)束。

    FieldMark fieldEnd = new FieldMark(doc, FieldMarkType.FieldEnd);
    paragraph.ChildObjects.Add(fieldEnd);

    第 8 步保存到文件。

    doc.SaveToFile("output.docx", FileFormat.Docx2013);

    輸出

    交叉引用顯示為將讀者帶到引用項目的鏈接。

    在 C#、VB.NET 中的 Word 中創(chuàng)建對書簽的交叉引用

    完整代碼

    [C#]


    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    namespace CreatCR
    {
    class Program
    {
    static void Main(string[] args)
    {
    Document doc = new Document();
    Section section = doc.AddSection();
    //create a bookmark
    Paragraph paragraph = section.AddParagraph();
    paragraph.AppendBookmarkStart("MyBookmark");
    paragraph.AppendText("Text inside a bookmark");
    paragraph.AppendBookmarkEnd("MyBookmark");
    //insert line breaks
    for (int i = 0; i < 4; i++)
    {
    paragraph.AppendBreak(BreakType.LineBreak);
    }
    //create a cross-reference field, and link it to bookmark
    Field field = new Field(doc);
    field.Type = FieldType.FieldRef;
    field.Code = @"REF MyBookmark \p \h";
    //insert field to paragraph
    paragraph = section.AddParagraph();
    paragraph.AppendText("For more information, see ");
    paragraph.ChildObjects.Add(field);
    //insert FieldSeparator object
    FieldMark fieldSeparator = new FieldMark(doc, FieldMarkType.FieldSeparator);
    paragraph.ChildObjects.Add(fieldSeparator);
    //set display text of the field
    TextRange tr = new TextRange(doc);
    tr.Text = "above";
    paragraph.ChildObjects.Add(tr);
    //insert FieldEnd object to mark the end of the field
    FieldMark fieldEnd = new FieldMark(doc, FieldMarkType.FieldEnd);
    paragraph.ChildObjects.Add(fieldEnd);
    //save file
    doc.SaveToFile("output.docx", FileFormat.Docx2013);
    
    }
    }
    }


    [VB.NET]


    Imports Spire.Doc
    Imports Spire.Doc.Documents
    Imports Spire.Doc.Fields
    Namespace CreatCR
    Class Program
    Private Shared Sub Main(args As String())
    Dim doc As New Document()
    Dim section As Section = doc.AddSection()
    'create a bookmark
    Dim paragraph As Paragraph = section.AddParagraph()
    paragraph.AppendBookmarkStart("MyBookmark")
    paragraph.AppendText("Text inside a bookmark")
    paragraph.AppendBookmarkEnd("MyBookmark")
    'insert line breaks
    For i As Integer = 0 To 3
    paragraph.AppendBreak(BreakType.LineBreak)
    Next
    'create a cross-reference field, and link it to bookmark
    Dim field As New Field(doc)
    field.Type = FieldType.FieldRef
    field.Code = "REF MyBookmark \p \h"
    'insert field to paragraph
    paragraph = section.AddParagraph()
    paragraph.AppendText("For more information, see ")
    paragraph.ChildObjects.Add(field)
    'insert FieldSeparator object
    Dim fieldSeparator As New FieldMark(doc, FieldMarkType.FieldSeparator)
    paragraph.ChildObjects.Add(fieldSeparator)
    'set display text of the field
    Dim tr As New TextRange(doc)
    tr.Text = "above"
    paragraph.ChildObjects.Add(tr)
    'insert FieldEnd object to mark the end of the field
    Dim fieldEnd As New FieldMark(doc, FieldMarkType.FieldEnd)
    paragraph.ChildObjects.Add(fieldEnd)
    'save file
    doc.SaveToFile("output.docx", FileFormat.Docx2013)
    
    End Sub
    End Class
    End Namespace



    歡迎下載|體驗更多E-iceblue產(chǎn)品

    獲取更多信息請咨詢慧都在線客服  ;技術(shù)交流Q群(767755948)


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();