C++C# 中应用Word文书档案对图像实行操作

                          C# 中使用Word文书档案对图像进行操作

C++ 1Download
Files:

ImageOperationsInWord.zip


简介

在那篇作品中大家得以学到在C#次第中选取二个Word文书档案对图像的各个操作。图像会比读书文字更有吸重力,而且图像是与内容严俊有关的。有时图像能够将内容叙述的进一步清晰,就像是使用图表显示某三十一日期内的多少变化。

 

Spire.Doc
for
.NET
是多个的基于.NET
的专业Word组件,它不仅仅可以在退出微软office自动化的情事下快速地变化、打开、修改、保存Word文书档案,还帮助用户使用C#将图像插入Word并根据页面设置它的深浅。那篇正是介绍给我们一个简约的点子来插入图像—-使用Spire.Doc
for .NET。

 

以下正是我们要上学的操作步骤:

① 、在Word文书档案中插入一张图纸。

二 、从Word文书档案中提取一张图片。

叁 、在Word文书档案旅长图片替换来文字。

 

在进行这几个操作从前大家要先创设Word文书档案。在那边自身动用Spire.Doc for
.NET来创设文书档案并做到后续的操作。

 
 

创造3个控制台程序来做示范。依照以下步骤:        

1、打开Visual Studio        

2、”File” -> “New” ->
“Project…”        

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

4、单击OK。

 

在Word中插入图片

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

 

Namespace 使用:

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

 

在Word文书档案中开创并插入图像:

 

 private static void InsertImage()  

{  
 //Create Document  
  Document document = new Document();  
  Section s = document.AddSection();  
  Paragraph p = s.AddParagraph();  
 
  //Insert Image and Set Its Size  
  DocPicture Pic = p.AppendPicture(Image.FromFile(@”D:\C# Corner.png”));  
  Pic.Width = 500;  
  Pic.Height = 500;  

  //Save and Launch  
  document.SaveToFile(“Image.docx”, FileFormat.Docx);  
  System.Diagnostics.Process.Start(“Image.docx”);  
 }  

 

 

结果

 

 C++ 2

从Word文书档案中提取图片

 在此地我们学习下怎么在C#中从已存在的Word文书档案中领取图片并将图片保存到钦点的门路。图片是一种属于段落项目标文书档案对象。Spire.Doc for .NET 提供了几个DocumentObject类来存款和储蓄文书档案中的图像,并且还提供DocPicture类来赢得和安装文书档案中的图像。在此地本人利用了ExtractImages.docx并在里边保存了两幅图。在出口图像文件夹中大家能够见见古金色框中的来自Word文书档案的两幅图像。

 

 提取Word图片代码:

 

 private static void ExtractImages()  
 {  
     //Load document  
     Document document = new Document(@”D:\ExtractImages.docx”);  
     int index = 0;  
   
     //Get Each Section of Document  
     foreach (Section section in document.Sections)  
     {  
         //Get Each Paragraph of Section  
         foreach (Paragraph paragraph in section.Paragraphs)  
         {  
            //Get Each Document Object of Paragraph Items  
             foreach (DocumentObject docObject in paragraph.ChildObjects)  
             {  
                 //If Type of Document Object is Picture, Extract.  
                 if (docObject.DocumentObjectType == DocumentObjectType.Picture)  
                 {  
                     DocPicture pic = docObject as DocPicture;  
                     String imgName = String.Format(@”D:\Extracted_Image-{}.png”, index);  
  
                     //Save Image  
                     pic.Image.Save(imgName, System.Drawing.Imaging.ImageFormat.Png);  
                     index++;  
                 }  
             }  
         }  
     }  
 }  

  

 
 结果

 

    C++ 3 

 

在Word文书档案师长图片替换为文字

 
  大家来看下 Spire.Doc是怎么着帮衬开发者们消除他们关于office技术的主次难题的。观看以上难点的描述,大家最终是想使用相应的“C#
Corner 德姆o Example – {image index}” 来将Word文件中的每幅图都替换掉。大家依然用上面包车型地铁以身作则代码来缓解吗。

 

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

 

 
 private static void ReplaceImageWithText()  
 {  
     Document doc = new Document(@”D:\ExtractImages.docx”);  
     int j = 1;  
     foreach (Section sec in doc.Sections)  
    {  
         foreach (Paragraph para in sec.Paragraphs)  
         {  
             List<DocumentObject> images = new List<DocumentObject>();  
             foreach (DocumentObject docObj in para.ChildObjects)  
   
            {  
                 if (docObj.DocumentObjectType == DocumentObjectType.Picture)  
                 {  
                     images.Add(docObj);  
                }  
             }  
             foreach (DocumentObject pic in images)  
             {  
                 int index = para.ChildObjects.IndexOf(pic);  
                 TextRange range = new TextRange(doc);  
                 range.Text = string.Format(“C# Corner Demo Example {}”, 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”);  
 }   

 
    

      在轮换前

 

      C++ 4

 

 
   将图片替换为文字后

 

      C++ 5

 
 注意:更详实的代码请下载最上边包车型大巴附加的压缩包。

 

总结

 

 
 希望大家看完后都明白了何等以编制程序格局在Word文书档案中对图像实行操作。假诺我们有其余的有关图像操作的好建议,欢迎商量哦。

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