提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:王香|2017-12-26 11:47:42.000|阅读 473 次
概述:Spire.Doc 是一个MS Word 组件,使用户可以直接执行各种Word文档处理任务, 分为.NET、WPF和Silverlight 三个版本,本文介绍了如何通过Spire.Doc用C#,VB.NET在Word中创建对书签的交叉引用。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
交叉引用是指同一文档中其他地方的相关信息,我们可以创建对任何现有项目(如标题,脚注,书签,标题和编号段落)的交叉引用,本文将展示如何使用C#和VB.NET的Spire.Doc创建书签的交叉引用。
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);
导出:交叉引用显示为将读者引用到引用项目的链接。
完整代码:
[C#]
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]
Document doc = 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 Dim i As Integer For 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.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 FieldMark = New FieldMark(doc, FieldMarkType.FieldSeparator) paragraph.ChildObjects.Add(fieldSeparator) 'set display text of the field Dim tr As TextRange = New TextRange(doc) tr.Text = "above" paragraph.ChildObjects.Add(tr) 'insert FieldEnd object to mark the end of the field Dim fieldEnd As FieldMark = New FieldMark(doc, FieldMarkType.FieldEnd) paragraph.ChildObjects.Add(fieldEnd) 'save file doc.SaveToFile("output.docx", FileFormat.Docx2013)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。
Spire.Doc for WPFSpire.Doc for WPF 是一款在WPF平台上操作的MS Word组件,可以轻松并专业地访问大量各种不同的word文档处理任务。
Spire.Doc for SilverlightSpire.Doc for Silverlight是一款在Silverlight平台上操作的MS Word组件,让用户可以执行基本的文字处理任务。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢