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

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


用于测试的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.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsImports System.IOImports System.TextNamespace ExtractTextClass ProgramPrivate 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.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 ClassEnd 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.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsNamespace ExtractImgClass ProgramPrivate 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 - 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 ClassEnd Namespace

图片读取结果:

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

是E-iceblue官方友好合作伙伴,如果您对spire.Doc感兴趣,可以联系在线客服了解具体授权价格和使用机制。
标签:

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

上一篇 2021年1月15日
下一篇 2021年1月15日

相关推荐

发表回复

登录后才能评论