Spire.Doc 教程:用C#,VB.NET在Word中创建对书签的交叉引用

Step 1: 创建一个文档实例。

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

Step 2: 插入一个书签。

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

Step 3: 创建交叉引用字段,并通过书签名称将其链接到书签。

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

Step 4: 添加一个段落,并将该字段插入段落。

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

Step 5: 将FieldSeparator对象插入到段落中,该段落在字段中用作分隔符。

FieldMark fieldSeparator= new FieldMark(doc, FieldMarkType.FieldSeparator);paragraph.ChildObjects.Add(fieldSeparator);

Step 6: 设置交叉引用字段的显示文本。

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

Step 7: 将FieldEnd对象插入段落,该段落用于标记字段的末尾。

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

Step 8: 保存到文件。

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

导出:交叉引用显示为将读者引用到引用项目的链接。

图片1

完整代码:

[C#]

Document doc = new Document();Section section = doc.AddSection();//create a bookmarkParagraph paragraph = section.AddParagraph();paragraph.AppendBookmarkStart("MyBookmark");paragraph.AppendText("Text inside a bookmark");paragraph.AppendBookmarkEnd("MyBookmark");//insert line breaksfor (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 paragraphparagraph = section.AddParagraph();paragraph.AppendText("For more information, see ");paragraph.ChildObjects.Add(field);//insert FieldSeparator objectFieldMark fieldSeparator = new FieldMark(doc, FieldMarkType.FieldSeparator);paragraph.ChildObjects.Add(fieldSeparator);//set display text of the fieldTextRange tr = new TextRange(doc);tr.Text = "above";paragraph.ChildObjects.Add(tr);//insert FieldEnd object to mark the end of the fieldFieldMark fieldEnd = new FieldMark(doc, FieldMarkType.FieldEnd);paragraph.ChildObjects.Add(fieldEnd);//save filedoc.SaveToFile("output.docx", FileFormat.Docx2013);

[VB.NET]

Document doc = New Document()Dim section As Section = doc.AddSection()'create a bookmarkDim paragraph As Paragraph = section.AddParagraph()paragraph.AppendBookmarkStart("MyBookmark")paragraph.AppendText("Text inside a bookmark")paragraph.AppendBookmarkEnd("MyBookmark")'insert line breaksDim i As IntegerFor i = 0 To  4- 1  Step i + 1    paragraph.AppendBreak(BreakType.LineBreak)Next'create a cross-reference field, and link it to bookmark            Dim field As Field = New Field(doc)field.Type = FieldType.FieldReffield.Code = "REF MyBookmark p h"'insert field to paragraphparagraph = section.AddParagraph()paragraph.AppendText("For more information, see ")paragraph.ChildObjects.Add(field)'insert FieldSeparator objectDim fieldSeparator As FieldMark = New FieldMark(doc, FieldMarkType.FieldSeparator)paragraph.ChildObjects.Add(fieldSeparator)'set display text of the fieldDim tr As TextRange = New TextRange(doc)tr.Text = "above"paragraph.ChildObjects.Add(tr)'insert FieldEnd object to mark the end of the fieldDim fieldEnd As FieldMark = New FieldMark(doc, FieldMarkType.FieldEnd)paragraph.ChildObjects.Add(fieldEnd)'save filedoc.SaveToFile("output.docx", FileFormat.Docx2013)

 

标签:文档管理word文档处理

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年11月23日
下一篇 2017年11月23日

相关推荐

发表回复

登录后才能评论