C# 实现将图片到 Word文件中,以及提取 Word文件中的图片

下载并安装Spire.Doc for .NET, 并将Spire.Doc.dll文件引用到项目中。

插入图片

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Spire.Doc;

using Spire.Doc.Documents;

using System.Drawing;

using Spire.Doc.Fields;

namespace Insert_Image_in_Word

{   

    class Program  

        {       

            static void Main(string[] args)       

                 {           

                    //实例化一个Document对象           

                    Document doc = new Document();          

                    doc.LoadFromFile("爱莲说.docx");           

                    //添加section和段落           

                    Section section = doc.AddSection();          

                    Paragraph para = section.AddParagraph();          

                   //加载图片到System.Drawing.Image对象, 使用AppendPicture方法将图片插入到段落           

                   Image image = Image.FromFile("莲花.jpg");           

                   DocPicture picture = doc.Sections[0].Paragraphs[0].AppendPicture(image);           

                   //设置文字环绕方式           

                  picture.TextWrappingStyle = TextWrappingStyle.Square;                           //指定图片位置           

                  picture.HorizontalPosition = 10f;           

                  picture.VerticalPosition = 10f;          

                  //设置图片大小          

                  picture.Width = 200;          

                  picture.Height = 200;           

                  //保存到文档          

                 doc.SaveToFile("Image.doc", FileFormat.Doc);       

               }   

        }

}

提取Word文档中的图片

using Spire.Doc;

using Spire.Doc.Documents;

using Spire.Doc.Fields;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Drawing;

namespace Extract_Image_in_Word

{  

     class Program   

        {       

            static void Main(string[] args)       

                {          

                   //初始化一个Document实例并加载Word文档           

                   Document doc = new Document();           

                   doc.LoadFromFile("Image.doc");          

                    int index = 0;           

                   //遍历Word文档中每一个section           

                   foreach (Section section in doc.Sections)           

                       {               

                        //遍历section中的每个段落               

                       foreach (Paragraph paragraph in section.Paragraphs)                                     {                   

                              //遍历段落中的每个DocumentObject                   

                            foreach (DocumentObject docObject in paragraph.ChildObjects)                   

                                {                       

                                  //判断DocumentObject是否为图片                       

                                     if (docObject.DocumentObjectType == DocumentObjectType.Picture)                       

                                     {                          

                                        //保存图片到指定路径并设置图片格式                                                             DocPicture picture = docObject as DocPicture;                        String imageName = String.Format("Image-{0}.jpg", index);                           

picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png);                           

                                        index++;                      

                                           }                   

                                    }               

                           }          

                   }       

            }   

      }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要比较两个Word文件的文本相似度,可以使用C#的Microsoft.Office.Interop.Word库来处理Word文件。下面是一个简单的实现示例: ```csharp using Microsoft.Office.Interop.Word; using System; using System.IO; using System.Linq; namespace WordCompare { class Program { static void Main(string[] args) { string file1 = @"C:\path\to\file1.docx"; string file2 = @"C:\path\to\file2.docx"; string text1 = ExtractTextFromWord(file1); string text2 = ExtractTextFromWord(file2); Console.WriteLine($"文本1:{text1}"); Console.WriteLine($"文本2:{text2}"); // 比较文本相似度 double similarity = CalculateSimilarity(text1, text2); Console.WriteLine($"文本相似度:{similarity:P2}"); } /// <summary> /// 从Word文件提取文本 /// </summary> /// <param name="filePath">Word文件路径</param> /// <returns>提取的文本</returns> static string ExtractTextFromWord(string filePath) { Application word = new Application(); Document doc = word.Documents.Open(filePath); string text = doc.Content.Text; doc.Close(); word.Quit(); return text; } /// <summary> /// 计算文本相似度 /// </summary> /// <param name="text1">文本1</param> /// <param name="text2">文本2</param> /// <returns>文本相似度</returns> static double CalculateSimilarity(string text1, string text2) { var words1 = text1.Split(new[] { ' ', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); var words2 = text2.Split(new[] { ' ', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); int commonWords = words1.Intersect(words2).Count(); int totalWords = words1.Union(words2).Count(); return (double)commonWords / totalWords; } } } ``` 这个示例使用了Microsoft.Office.Interop.Word库,通过ExtractTextFromWord函数提取Word文件的文本内容。在CalculateSimilarity函数,将文本分割为单词,然后计算两个文本共同的单词数量以及总单词数,最后计算文本相似度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值