Aspose.Words简单生成word文档
Aspose.Words.Document doc = new Aspose.Words.Document();
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);builder.Writeln("试卷一-Title");
builder.Writeln("试卷一-Des");
string subject = @"<p>111-1<img src='/UploadFiles/UEditor/image/20161206/6361662975800625528094831.jpg' title='QQ图片20161107105516.jpg' _src='/UploadFiles/UEditor/image/20161206/6361662975800625528094831.jpg' alt='QQ图片20161107105516.jpg' style='float: right;'/></p>";
builder.Writeln(TextNoHTML(subject));
string[] imgurls = GetHtmlImageUrlList(subject);
string imgtargeturl = "";
foreach (string imgurl in imgurls)
{imgtargeturl = Server.MapPath(imgurl);if (File.Exists(imgtargeturl)){builder.InsertImage(imgtargeturl, 400, 300);}
}
//builder.InsertImage(@"C:\Users\Sale\Pictures\1366-768壁纸\1357640083366.jpg",400,300);
doc.Save(@"D:\1.docx");
C#获取纯文本 去除html标签
/// <summary>
/// 将html文本转化为 文本内容方法NoHTML
/// </summary>
/// <param name="Htmlstring">HTML文本值</param>
/// <returns></returns>
public string TextNoHTML(string Htmlstring)
{//删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);//删除HTML Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"([/r/n])[/s] ", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "/", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "/xa1", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "/xa2", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "/xa3", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "/xa9", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&#(/d );", "", RegexOptions.IgnoreCase);//替换掉 < 和 > 标记Htmlstring.Replace("<", "");Htmlstring.Replace(">", "");Htmlstring.Replace("/r/n", "");//返回去掉html标记的字符串return Htmlstring;
}
C#获取img src
/// <summary>
/// 获取Img的路径
/// </summary>
/// <param name="htmlText">Html字符串文本</param>
/// <returns>以数组形式返回图片路径</returns>
public static string[] GetHtmlImageUrlList(string htmlText)
{Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);//新建一个matches的MatchCollection对象 保存 匹配对象个数(img标签) MatchCollection matches = regImg.Matches(htmlText);int i = 0;string[] sUrlList = new string[matches.Count];//遍历所有的img标签对象 foreach (Match match in matches){//获取所有Img的路径src,并保存到数组中 sUrlList[i ] = match.Groups["imgUrl"].Value;}return sUrlList;
}
更多专业前端知识,请上 【猿2048】www.mk2048.com