700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C# Word文档中插入 提取图片 文字替换图片

C# Word文档中插入 提取图片 文字替换图片

时间:2021-05-28 01:26:41

相关推荐

C# Word文档中插入 提取图片 文字替换图片

Download Files:

http://www.c-/UploadFile/26b237/image-operations-using-word-document-in-C-Sharp/download/ImageOperationsInWord.zip

如文章代码学习需要解释,可以参考视频教程c# & 视频教程|xin3721自学网c#入门经典视频教程/eschool/CSharpxin3721/

简介

在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作。图像会比阅读文字更有吸引力,而且图像是与内容紧密相关的。有时图像可以将内容描述的更为清晰,就像使用图表显示某一周期内的数据变化。

Spire.Doc for .NET是一个的基于.NET的专业Word组件,它不仅可以在脱离微软office自动化的情况下快速地生成、打开、修改、保存Word文档,还支持用户使用C#将图像插入Word并根据页面设置它的大小。这篇就是介绍给大家一个简单的方法来插入图像----使用Spire.Doc for .NET。

以下就是我们要学习的操作步骤:

1、在Word文档中插入一张图片。

2、从Word文档中提取一张图片。

3、在Word文档中将图片替换成文字。

在进行这些操作之前我们要先创建Word文档。在这里我使用Spire.Doc for .NET来创建文档并完成后续的操作。

创建一个控制台程序来做演示。根据以下步骤:

1、打开Visual Studio

2、"File" -> "New" -> "Project..."

3、选择C#语言然后选择控制台程序并命名为“ImageOperationInWord”

4、单击OK。

在Word中插入图片

首先,创建新的Word文档并为之添加章节和段。然后,使用p.AppendPicture(Image)方法将图像插入到新段中。设置图像的高度和宽度属性来规定图片大小。使用以下代码来用C#把图片插入到Word中。

Namespace使用:

usingSpire.Doc;

usingSpire.Doc.Documents;

usingSpire.Doc.Fields;

usingSystem.Drawing;

在Word文档中创建并插入图像:

privatestaticvoidInsertImage()

{

//CreateDocument

Documentdocument=newDocument();

Sections=document.AddSection();

Paragraphp=s.AddParagraph();

//InsertImageandSetItsSize

DocPicturePic=p.AppendPicture(Image.FromFile(@"D:\C#Corner.png"));

Pic.Width=500;

Pic.Height=500;

//SaveandLaunch

document.SaveToFile("Image.docx",FileFormat.Docx);

System.Diagnostics.Process.Start("Image.docx");

}

结果

从Word文档中提取图片

在这里我们学习下如何在C#中从已存在的Word文档中提取图片并将图片保存到指定的路径。图片是一种属于段落项目的文档对象。Spire.Doc for .NET提供了一个DocumentObject类来存储文档中的图像,并且还提供DocPicture类来获得和设置文档中的图像。在这里我使用了ExtractImages.docx并在其中保存了两幅图。在输出图像文件夹中我们可以看到红色框中的来自Word文档的两幅图像。

提取Word图片代码:

privatestaticvoidExtractImages()

{

//Loaddocument

Documentdocument=newDocument(@"D:\ExtractImages.docx");

intindex=0;

//GetEachSectionofDocument

foreach(Sectionsectionindocument.Sections)

{

//GetEachParagraphofSection

foreach(Paragraphparagraphinsection.Paragraphs)

{

//GetEachDocumentObjectofParagraphItems

foreach(DocumentObjectdocObjectinparagraph.ChildObjects)

{

//IfTypeofDocumentObjectisPicture,Extract.

if(docObject.DocumentObjectType==DocumentObjectType.Picture)

{

DocPicturepic=docObjectasDocPicture;

StringimgName=String.Format(@"D:\Extracted_Image-{}.png",index);

//SaveImage

pic.Image.Save(imgName,System.Drawing.Imaging.ImageFormat.Png);

index++;

}

}

}

}

}

结果

在Word文档中将图片替换为文字

我们来看下Spire.Doc是如何帮助开发者们解决他们关于office技术的程序问题的。观察以上问题的描述,我们最终是想使用相应的“C# Corner Demo Example - {image index}”来将Word文件中的每幅图都替换掉。我们还是用下面的演示代码来解决吧。

Word文档中的图片替换为文字的代码:

privatestaticvoidReplaceImageWithText()

{

Documentdoc=newDocument(@"D:\ExtractImages.docx");

intj=1;

foreach(Sectionsecindoc.Sections)

{

foreach(Paragraphparainsec.Paragraphs)

{

List<DocumentObject>images=newList<DocumentObject>();

foreach(DocumentObjectdocObjinpara.ChildObjects)

{

if(docObj.DocumentObjectType==DocumentObjectType.Picture)

{

images.Add(docObj);

}

}

foreach(DocumentObjectpicinimages)

{

intindex=para.ChildObjects.IndexOf(pic);

TextRangerange=newTextRange(doc);

range.Text=string.Format("C#CornerDemoExample{}",j);

para.ChildObjects.Insert(index,range);

para.ChildObjects.Remove(pic);

j++;

}

}

doc.SaveToFile(@"D:\result.docx",FileFormat.Docx);

System.Diagnostics.Process.Start(@"D:\result.docx");

}

在替换前

将图片替换为文字后

注意:更详细的代码请下载最上面的附加的压缩包。

总结

希望大家看完后都理解了如何以编程方式在Word文档中对图像进行操作。如果大家有其他的关于图像操作的好建议,欢迎讨论哦。

关于Spire.Doc的更多内容点击这里。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。