.NET CORE开源工作流引擎 - 可视化流程设计器 - 工作流表单设计器 - .NET快速开发平台 - .NET三层代码生成器 - 通用权限管理

.NET MVC CORE开源工作流平台,可视化流程设计器
附件管理及在线预览office文件说明

RoadFlow工作流附件管理采用文件存储方式,文件保存在站点外,数据表中存加密后的文件地址方式实现。多个文件用|隔开:

image.png

文件保存目录在配置文件(appsettings.json)中设置:

image.png

在线预览OFFICE文件:

    RoadFlow中在线预览OFFICE文件采用在服务器安装LibreOffice来转换为PDF文件实现在线预览。

    服务端上要安装LibreOffice,下载地址:https://zh-cn.libreoffice.org/download/libreoffice/

    配置文件(appsettings.json)中设置安装目录:

    image.png

    如果是Linux环境这里路径直接填:libreoffice

    如果服务器是windows iis环境,则要在应用程序池,高级设置中,加载用户配置文件设置为True:

    image.png


如果是预览复杂格式的office文件,建议采用wps来转换pdf预览,wps对ms office的兼容会好一些,实现方式:

1、安装wps。

    从wps官网下载安装。

2、项目中添加引用。

    image.png

    image.png

    引用后:

    image.png

3、添加wps转换pdf的方法。

    文件:\src\RoadFlow.Utility\DocExtensions.cs

    image.png

    /// <summary>
        /// 转换为PDF-WPS方式
        /// </summary>
        /// <param name="file">要转换的文件</param>
        /// <param name="outPutPath">输出路径</param>
        /// <returns>转换后的pdf文件路径</returns>
        public static string ToPdfWps(string file, string outPutPath = "")
        {
            if (!File.Exists(file))
            {
                return string.Empty;
            }
            if (outPutPath.IsNullOrWhiteSpace())
            {
                outPutPath = Path.GetDirectoryName(file).Replace("\\", "/");
            }
            if (!Directory.Exists(outPutPath))
            {
                Directory.CreateDirectory(outPutPath);
            }
            string pdfFile = outPutPath + "/" + Path.GetFileNameWithoutExtension(file) + ".pdf";
            var wps = new Word.Application();
            try
            {
                var doc = wps.Documents.Open(file, Visible: false);
                doc.ExportAsFixedFormat(pdfFile, Word.WdExportFormat.wdExportFormatPDF);
                doc.Close();
            }
            catch
            {
                return string.Empty;
            }
            finally
            {
                wps.Quit();
            }
            return pdfFile;
        }

4、修改转换方法为wps,这里应该要判断只有word文件才调用此方法转换,其他的还是用liberoffice。

    修改文件:\src\RoadFlow.WebApi\Areas\RoadFlowWeb\Controllers\FilesController.cs

    image.png

5 、发布到IIS设置。

     64位的系统需要进入32位的组件服务才能看到office的相关组件,在此点击"开始" ->“运行”,输入"mmc -32"

     在出现有对话框里点击“文件”菜单下的“添加/删除管理单元”菜单后,再出现的对话框中选择“组件服务”后点击“添加”按钮。

     再依次展开"组件服务"->计算机—>我的电脑—>DDOM配置,找到word的组件。

     image.png

     依次打开右键属性,依次将“标识”标签下的“选择运行此应用程序的帐户”设置为“交互式用户”。

    image.png

联系QQ:493501010电话:13608325512(微信同号)邮箱:493501010@qq.com
Copyright 2014 - 2022 重庆天知软件技术有限公司 版权所有