彩票走势图

Word .NET库组件Spire.Doc系列教程(51):读取 Word 文本框中的文本、图片

翻译|使用教程|编辑:李显亮|2021-03-18 09:39:43.027|阅读 354 次

概述:本文介绍使用Spire.Doc for .NET读取Word文本框的方法。可读取文本框中的文本、图片和表格等。

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

相关链接:

Spire.Doc for .NET是一个专业的Word .NET库,设计用于帮助开发人员高效地开发创建、阅读、编写、转换和打印任何来自.NET( C#, VB.NET, ASP.NET)平台的Word文档文件的功能。

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。致力于在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档,而无需安装 Microsoft Word。本文介绍使用Spire.Doc for .NET读取Word文本框的方法。可读取文本框中的文本、图片和表格等。

点击下载Spire.Doc for .NET最新版

*这么优秀的国产工具怎能错过呢!在线下单专享“一口价”,查看折扣价!想要获取更多福利的朋友可以哦~

用于测试的Word源文档如图:

Word .NET库组件Spire.Doc系列教程(51):读取 Word 文本框中的文本、图片

1、读取文本框中的文本

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
using System.IO;
using System.Text;

namespace ExtractText
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载Word源文档
            Document doc = new Document();
            doc.LoadFromFile("sample.docx");

            //获取文本框
            TextBox textbox = doc.TextBoxes[0];

            //创建StringBuilder类的对象
            StringBuilder sb = new StringBuilder();

            //遍历文本框中的对象,获取文本
            foreach (object obj in textbox.Body.ChildObjects)
            {
                if (obj is Paragraph)
                {
                    String text = ((Paragraph)obj).Text;
                    sb.AppendLine(text);
                }
            }

            //保存写入的txt文档到指定路径
            File.WriteAllText("ExtractedText.txt", sb.ToString());
            System.Diagnostics.Process.Start("ExtractedText.txt");
        }
    }
}

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports System.IO
Imports System.Text

Namespace ExtractText
	Class Program
		Private Shared Sub Main(args As String())
			'加载Word源文档
			Dim doc As New Document()
			doc.LoadFromFile("sample.docx")

			'获取文本框
			Dim textbox As TextBox = doc.TextBoxes(0)

			'创建StringBuilder类的对象
			Dim sb As New StringBuilder()

			'遍历文本框中的对象,获取文本
			For Each obj As Object In textbox.Body.ChildObjects
				If TypeOf obj Is Paragraph Then
					Dim text As [String] = DirectCast(obj, Paragraph).Text
					sb.AppendLine(text)
				End If
			Next

			'保存写入的txt文档到指定路径
			File.WriteAllText("ExtractedText.txt", sb.ToString())
			System.Diagnostics.Process.Start("ExtractedText.txt")
		End Sub
	End Class
End Namespace

文本读取结果:

Word .NET库组件Spire.Doc系列教程(51):读取 Word 文本框中的文本、图片

2、读取文本框中的图片

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;

namespace ExtractImg
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载Word源文档
            Document doc = new Document();
            doc.LoadFromFile("sample.docx");

            //获取文本框
            TextBox textbox = doc.TextBoxes[0];    

            int index = 0 ;
            //遍历文本框中所有段落
            for (int i = 0 ; i < textbox.Body.Paragraphs.Count;i++) { Paragraph paragraph = textbox.Body.Paragraphs[i]; //遍历段落中的所有子对象 for (int j = 0; j < paragraph.ChildObjects.Count; j++) { object obj = paragraph.ChildObjects[j]; //判定对象是否为图片 if (obj is DocPicture) { //获取图片 DocPicture picture = (DocPicture) obj; String imageName = String.Format("Image-{0}.png", index); picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png); index++; } } } } } }

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields

Namespace ExtractImg
	Class Program
		Private Shared Sub Main(args As String())
			'加载Word源文档
			Dim doc As New Document()
			doc.LoadFromFile("sample.docx")

			'获取文本框
			Dim textbox As TextBox = doc.TextBoxes(0)

			Dim index As Integer = 0
			'遍历文本框中所有段落
			For i As Integer = 0 To textbox.Body.Paragraphs.Count - 1
				Dim paragraph As Paragraph = textbox.Body.Paragraphs(i)
				'遍历段落中的所有子对象
				For j As Integer = 0 To paragraph.ChildObjects.Count - 1
					Dim obj As Object = paragraph.ChildObjects(j)

					'判定对象是否为图片
					If TypeOf obj Is DocPicture Then
						'获取图片
						Dim picture As DocPicture = DirectCast(obj, DocPicture)
						Dim imageName As [String] = [String].Format("Image-{0}.png", index)
						picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png)
						index += 1
					End If
				Next
			Next

		End Sub
	End Class
End Namespace

图片读取结果:

Word .NET库组件Spire.Doc系列教程(51):读取 Word 文本框中的文本、图片

慧都是E-iceblue官方友好合作伙伴,如果您对spire.Doc感兴趣,可以了解具体授权价格和使用机制。

标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP