C#读取WORD 包含其中图片 解决方案(包含WORD 转 HTML解决方案)
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格式的。
效果图: