【概述】

Word中可插入文本框,在文本框中可添加文本、图片、表格等内容。本篇文章通过C#程序代码介绍如何来读取文本框中的文本、图片和表格等内容。附VB.NET代码,有需要可作参考。

【程序环境】

程序中所需必要的程序集文件Spire.Doc.dll,及其他相关dll文件(见下文)。

用于测试的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("test.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.TextNamespace ExtractTextClass ProgramPrivate Shared Sub Main(args As String())'加载Word源文档Dim doc As New Document()doc.LoadFromFile("test.docx")'获取文本框Dim textbox As TextBox = doc.TextBoxes(0)'创建StringBuilder类的对象Dim sb As New StringBuilder()'遍历文本框中的对象,获取文本For Each obj As Object In textbox.Body.ChildObjectsIf TypeOf obj Is Paragraph ThenDim text As [String] = DirectCast(obj, Paragraph).Textsb.AppendLine(text)End IfNext'保存写入的txt文档到指定路径File.WriteAllText("ExtractedText.txt", sb.ToString())System.Diagnostics.Process.Start("ExtractedText.txt")End SubEnd Class
End Namespace

文本读取结果:

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("test.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.FieldsNamespace ExtractImgClass ProgramPrivate Shared Sub Main(args As String())'加载Word源文档Dim doc As New Document()doc.LoadFromFile("test.docx")'获取文本框Dim textbox As TextBox = doc.TextBoxes(0)Dim index As Integer = 0'遍历文本框中所有段落For i As Integer = 0 To textbox.Body.Paragraphs.Count - 1Dim paragraph As Paragraph = textbox.Body.Paragraphs(i)'遍历段落中的所有子对象For j As Integer = 0 To paragraph.ChildObjects.Count - 1Dim 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 += 1End IfNextNextEnd SubEnd Class
End Namespace

图片读取结果:

3.读取文本框中的表格

所需程序集:

【C#】

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.IO;
using System.Text;namespace ExtractTable
{class Program{static void Main(string[] args){//加载Word文档Document doc = new Document();doc.LoadFromFile("test.docx");//获取文本框TextBox textbox = doc.TextBoxes[0];//获取文本框中表格Table table = textbox.Body.Tables[0] as Table;StringBuilder sb = new StringBuilder();//遍历表格中的段落并提取文本foreach (TableRow row in table.Rows){foreach (TableCell cell in row.Cells){foreach (Paragraph paragraph in cell.Paragraphs){sb.AppendLine(paragraph.Text);}}}File.WriteAllText("ExtractedTable.txt", sb.ToString());}}
}

【vb.net】

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports System.IO
Imports System.TextNamespace ExtractTableClass ProgramPrivate Shared Sub Main(args As String())'加载Word文档Dim doc As New Document()doc.LoadFromFile("test.docx")'获取文本框Dim textbox As TextBox = doc.TextBoxes(0)'获取文本框中表格Dim table As Table = TryCast(textbox.Body.Tables(0), Table)Dim sb As New StringBuilder()'遍历表格中的段落并提取文本For Each row As TableRow In table.RowsFor Each cell As TableCell In row.CellsFor Each paragraph As Paragraph In cell.Paragraphssb.AppendLine(paragraph.Text)NextNextNextFile.WriteAllText("ExtractedTable.txt", sb.ToString())End SubEnd Class
End Namespace

表格数据读取结果:

【总结】

以上是本文关于通过C#程序读取Word中的文本框的方法。所附VB.NET代码供参考。

另推荐阅读《Java 读取Word文本框中的文本、图片和表格》

(本文完,如需转载,请务必注明出处!!)

C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)相关推荐

  1. java word文本框_Java 读取Word文本框中的文本、图片、表格

    Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...

  2. Java 读取Word文本框中的文本、图片、表格

    Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...

  3. Word控件Spire.Doc 【文本】教程(5) ;从 Word 文档中的文本框中提取文本

    文本框的目的是允许用户输入程序要使用的文本信息.也可以从文本框中提取现有的文本信息.以下指南重点介绍如何通过Spire.Doc for .NET从 C# 中 Word 文档的文本框中提取文本. Spi ...

  4. C# 读取Word文档中的文本内容

    C# 读取Word文档中的文本内容 这篇文章将介绍如何使用C#和Free Spire.Doc组件读取Word文档中的文本内容.Free Spire.Doc提供了两种方法来读取Word文档中的内容,一种 ...

  5. Free Spire.Doc组件C# 读取Word文档中的文本内容

    C# 读取Word文档中的文本内容 这篇文章将介绍如何使用C#和Free Spire.Doc组件读取Word文档中的文本内容.Free Spire.Doc提供了两种方法来读取Word文档中的内容,一种 ...

  6. python 获取文本框内容_如何在python中单击按钮时获取文本框中的文本?

    我可以让您的代码在单击按钮时显示文本框中的文本: 这就是你要达到的目的吗?您没有提到是否出现错误,但我确实发现您的代码存在两个问题:Button.py脚本中似乎存在一些缩进问题.在 对于changeT ...

  7. Java 读取Word文档中的文本内容

    这篇文章将介绍如何使用Free Spire.Doc for Java组件在Java应用程序中读取Word文档的文本内容.Free Spire.Doc for Java提供了两种方法来读取Word文档中 ...

  8. python docx提取word中的目录及文本框中的文本

    问题描述 同标题 解决方案 因未在docx库找到直接识别word中目录及文本框中文本的方法,所以采用了一个"笨"方法,docx库可以把word文档解析成xml格式,以解析xml的方 ...

  9. python 文本框内容变化_当文本框中的文本发生变化时,动态读取文本输入中的文本?...

    我是kivy新手,我正试图用python编写一个应用程序,有一次,每当textinput被更改时,我都要从textinput读取文本,基于此,我想实现我的按钮功能-我已经看过所有文档,但我不知道怎么做 ...

  10. javascript html 文本框插入文本,javascript – 在文本框中输入文本

    演示: jsFiddle HTML: nelson justin JS: function selectedItemChange(sel) { document.getElementById('tes ...

最新文章

  1. c、c++---linux上的GetTickCount函数
  2. mysql管理员操作
  3. 【面试必备】Swiftamp;nbsp;面试题及其答案
  4. 莫旗政务服务中心通过“互联网+智慧城市” 提升公共服务能力
  5. 白鹭引擎制作滚动框,类似div的oveflow
  6. 【转】解决 canvas 在高清屏中绘制模糊的问题
  7. 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识
  8. 计算机主机五大结构,计算机由哪五大部分组成?
  9. 高数叔c语言课件,高数叔网课资源合集 高数上下、线代、模电、物理、复变合集...
  10. 专业的WiFi检测工具有哪些?如何解决wifi信号不好?
  11. c语言钟表程序,制作一个电子时钟C语言版
  12. 第一章 Java性能调优概述
  13. php 如何使用ck播放视频,[原创]简单代码利用ckplayer播放器实现帝国CMS播放优酷在线视频...
  14. 华为中兴为何对未来信心十足?
  15. 总线揭密 串行传输VS并行传输
  16. Kendo UI 刷新数据源信息
  17. 用selenium和BeautifulSoup爬取网易云音乐歌手id
  18. Java之for循环打印倒直角三角形
  19. HIT 软件构造 Lab1
  20. 云对象获取服务器的文件列表,云对象获取服务器的文件列表

热门文章

  1. DIY回音壁多媒体音箱
  2. CSMA/CD协议最小帧长的思考
  3. 日志分析(偏linux)
  4. c语言鸡尾酒排序的例子,经典算法——鸡尾酒排序(冒泡算法改良)
  5. [Egret学习笔记 二]MovieClip的使用
  6. Python sys模块常见函数
  7. 男人养肾按摩运动更可取
  8. 机顶盒安装APK方法
  9. TCP四次挥手的等待时间为什么是2MSL而不是1MSL
  10. stLFR(single tube Long Fragment Read)介绍