C#读WORD中文字容易,读取里面图片就有点小波折了

思路1:第三方插件,比如:Free Spire.Doc for .NET   这个深度应用要钱的,免费支持转换500段,通常也够了

思路2:WORD其实是压缩过的文件,转为后缀为RAR后,可以解压缩,然后从里面XML格式再提取文字和图片。

图片文件在路径:word\media


 

但是这个排版啥的也要费事

思路3:用第三方nuget下的轮子 【尝试这个方法C#下最好用】

nuget下引用(备注需要.NET 4.5):Install-Package Mammoth -Version 1.4.0

轮子:mammoth  (using Mammoth;)

核心代码:

//Step1.将filepath下WORD先转为html
filepath = Path.Combine(@"E:\news\test", "test.docx"); //程序在哪运行,就是哪台机器上执行

var converter = new DocumentConverter();
var result_fromword = converter.ConvertToHtml(filepath);
var html = result_fromword.Value; // The generated HTML
var warnings = result_fromword.Warnings; // Any warnings during conversion
zcontent = "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\" />" + html;//文档内容,其中图片包含在base64代码中

备注:这样实现的HTML图片实际上是BASE64格式的。

 

效果图:

C#读取WORD 包含其中图片 解决方案(包含WORD 转 HTML解决方案)_C#读取WORD