kkFileView代码分析(四)——office文件的转换(1)office插件管理

2021SC@SDUSC

目录

前言:

office插件管理分析:

1、public void startOfficeManager(); 启动Office组件进程

2、public OfficeDocumentConverter getDocumentConverter()

3、private Map getLoadProperties()

4、private boolean killProcess():判断当前系统中是否已经存在正在运行的office组件进程。

5、public void destroyOfficeManager();


前言:

       该项目支持预览多种office文件如:doc、docx文档,word文档,ppt、pptx文档预览,word预览,pdf文档。其中word文档,pptx、ppt文档等有两种预览方式:图片预览、pdf预览。

  • 图片预览:文件大,前台加载过慢
  • pdf预览:内网访问,加载pdf快

        对office文件的操作大多都依赖org.artofsolving.jodconverter包,相比com.artofsolving. jodconverter而言,org能操作的文件类型更多,但是文字清晰度比com低一点。 

        如果平均上传的文件不大于5M,且不超过5个文件,org包可以在10秒内处理完成。 但有个性能问题,文件超过20M时会出现超时,而源码中设置的单个pdf转换任务的执行时间是120s,如果文件太大就会导致超时报错,并重新进行连接,处理下一个任务。包的maven配置如下:

        <dependency>
            <groupId>org.artofsolving.jodconverter</groupId>
            <artifactId>jodconverter-core</artifactId>
            <version>3.0-beta-4</version>
        </dependency>

office插件管理分析:

         该项目中涉及到很多office文件的转换,office发展时间很长,已经是一个庞大、稳定的文件体系,里面有非常多复杂的规则,单靠我们自己是很难写出一个office文件转换的功能插件来的,但是好在现在市场上提供了一些可以操作office的接口,只要使用好接口即可在我们个人的项目中实现office文件转换。

项目中使用的office工具类如下:

        import org.artofsolving.jodconverter.OfficeDocumentConverter;

        import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;

        import org.artofsolving.jodconverter.office.OfficeManager;

        import org.artofsolving.jodconverter.office.OfficeUtils;

maven配置如下:

        OfficePluginManager类是实现office文件管理的基础,提供对office文件的相关操作。在早期的系统版本中,这个类的名字叫ConverterUtils,实现功能大致一样,本文就接受较新的版本。OfficePluginManager 类中定义变量如下:


    private final Logger logger = LoggerFactory.getLogger(OfficePluginManager.class);

    private OfficeManager officeManager;

    @Value("${office.plugin.server.ports:2001,2002}")
    private String serverPorts;

    @Value("${office.plugin.task.timeout:5m}")
    private String timeOut;

1、public void startOfficeManager(); 启动Office组件进程

        准备工作:先定义一个File变量来检测是否存在office组件可以对office文件进行操作;开始对文件转换之前要结束office进程。

        在方法定义处看到了@PostConstruct注解,该注解被用来修饰一个非静态的void方法,是一种JSR-250的规范。被@PostConstruct

### 回答1: window kkfileview启动office组件失败可能有多种原因。首先,可能是由于office组件没有正确安装或配置。通过重新安装office程序或修复现有的安装,可以解决这个问题。其次,kkfileview可能与操作系统或office版本不兼容,需要确保使用兼容的版本。另外,如果操作系统或office有任何更新或修补程序可用,应该安装它们,以确保系统和组件的稳定性。同时,还应检查kkfileview的最新更新,并确保已安装最新版本,以获得最佳兼容性和性能。 ### 回答2: window kkfileview启动office组件失败可能是由于以下几个原因: 1. Office组件没有正确安装:如果您没有正确安装Office组件,或者Office组件的版本与kkfileview不兼容,就会导致启动失败。您可以尝试重新安装Office组件,并确保安装的版本与kkfileview要求的版本匹配。 2. Office组件缺少必要的依赖文件:有时候,Office组件启动失败是因为需要一些必要的依赖文件,例如.NET Framework等,而这些文件可能缺失或损坏。您可以尝试重新安装这些依赖文件,或者通过Office修复工具修复Office组件。 3. 系统设置不正确:某些系统设置也可能导致Office组件启动失败。例如,系统语言设置不正确、注册表项损坏等。您可以尝试调整这些设置或者使用系统修复工具修复相关问题。 4. 内存不足:如果系统内存不足或者被其他应用程序占用过多,也可能导致Office组件启动失败。您可以关闭一些不必要的应用程序,释放系统内存。 如果您尝试了以上方法仍然无法解决问题,建议您联系kkfileview的技术支持或者微软的Office技术支持,寻求进一步的帮助和指导。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值