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:

posted @ 2019-10-11 13:31  星空天宇  阅读(429)  评论(0编辑  收藏  举报