ASP.NET MVC利用aspose实现word预览
1. 引入aspose.word插件
2. 准备好word文档,或者利用aspose.word生成word文档
3. 调用Aspose.Words.Document类下的Save方法生成html或者图片
这里生成的html效果不是太好,右对齐的文字跑到页面最右端
可以生成图片,实现预览,效果挺好。
代码:
/// <summary>
/// word文档预览
/// </summary>
public class PreviewController : Controller
{
/// <summary>
/// word预览,包括图片预览和html预览
/// </summary>
public void Index()
{
string saveDoc = "/Content/preview/test.png";
//需要预览的文件地址
string s_sourceDoc = Server.MapPath("/Content/preview/test.docx");
//展示的html文件地址或图片
string s_saveDoc = Server.MapPath(saveDoc);
//判断文档是否为word
string docExtendName = Path.GetExtension(s_sourceDoc).ToLower();
try
{
if (docExtendName == ".doc" || docExtendName == ".docx")
{
Aspose.Words.Document doc = new Aspose.Words.Document(s_sourceDoc);
//生成png图片或者html
doc.Save(s_saveDoc, Aspose.Words.SaveFormat.Png);
//doc.Save(s_saveDoc, Aspose.Words.SaveFormat.Html);
Response.Redirect(saveDoc);
}
else
{
Response.Write("请确认文档为word文档");
}
}
catch (Exception)
{
Response.Write("转换失败,服务器错误,请联系管理人员");
}
}
Word:
转换成png: