彩票走势图

Word控件Spire.Doc 【书签】教程(7): 设在 C#、VB.NET 中获取书签中的文本

翻译|使用教程|编辑:胡涛|2023-03-13 13:20:34.720|阅读 94 次

概述:本文将向您展示我们如何通过将 Spire.Doc 与 C# 和 VB.NET 结合使用来获取书签中的纯文本。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。 

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.Doc for.NET 最新下载

Spire.Doc 支持检索、替换和删除指定书签的书签内容。本文将向您展示我们如何通过将 Spire.Doc 与 C# 和 VB.NET 结合使用来获取书签中的纯文本。

第 1 步创建一个 Document 实例,并加载一个示例 Word 文档。

Document doc = new Document();
doc.LoadFromFile("Bookmark.docx");

第 2 步创建 BookmarkNavigator 实例以访问书签。

BookmarksNavigator navigator = new BookmarksNavigator(doc);

第 3 步通过书签名称找到特定书签。调用 GetBookmarkContent 方法获取书签内的内容。

navigator.MoveToBookmark("bookmark_1");
TextBodyPart textBodyPart = navigator.GetBookmarkContent();

第 4 步遍历书签内容中的项目以获得书签的纯文本、无格式文本。

foreach (var item in textBodyPart.BodyItems) }

结果

string text = null;
foreach (var item in textBodyPart.BodyItems)
{
if (item is Paragraph)
{
foreach (var childObject in (item as Paragraph).ChildObjects)
{
if (childObject is TextRange)
{
text += (childObject as TextRange).Text;
}
}
}
}

在 C#、VB.NET 中获取书签中的文本

完整代码

[C#]

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
namespace GetText
{
class Program
{

static void Main(string[] args)
{

Document doc = new Document();
doc.LoadFromFile("Bookmark.docx");

BookmarksNavigator navigator = new BookmarksNavigator(doc);
navigator.MoveToBookmark("bookmark_1");
TextBodyPart textBodyPart = navigator.GetBookmarkContent();

string text = null;
foreach (var item in textBodyPart.BodyItems)
{
if (item is Paragraph)
{
foreach (var childObject in (item as Paragraph).ChildObjects)
{
if (childObject is TextRange)
{
text += (childObject as TextRange).Text;
}
}
}
}
Console.WriteLine(text);
}
}
}

[VB.NET]

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Namespace GetText
Class Program

Private Shared Sub Main(args As String())

Dim doc As New Document()
doc.LoadFromFile("Bookmark.docx")

Dim navigator As New BookmarksNavigator(doc)
navigator.MoveToBookmark("bookmark_1")
Dim textBodyPart As TextBodyPart = navigator.GetBookmarkContent()

Dim text As String = Nothing
For Each item As var In textBodyPart.BodyItems
If TypeOf item Is Paragraph Then
For Each childObject As var In TryCast(item, Paragraph).ChildObjects
If TypeOf childObject Is TextRange Then
text += TryCast(childObject, TextRange).Text
End If
Next
End If
Next
Console.WriteLine(text)
End Sub
End Class
End Namespace

以上便是在 C#、VB.NET 中获取书签中的文本,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。


欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询  ;技术交流Q群(767755948)


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP