package com.izerofx.wenku.service; import java.io.File; import org.apache.commons.lang3.StringUtils; import org.artofsolving.jodconverter.OfficeDocumentConverter; import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration; import org.artofsolving.jodconverter.office.OfficeManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; /** * * 类名称:WebappContext<br> * 类描述:office转换服务上下文<br> * 创建人:qinjiaxue<br> * 创建时间:2016年3月23日 下午1:23:55<br> * @version v1.0 * */ @Component public class OfficeConService { private final Logger logger = LoggerFactory.getLogger(OfficeConService.class); private String officePort; private String officeHome; private final OfficeManager officeManager; private final OfficeDocumentConverter documentConverter; /** * * 创建一个新的实例 OfficeConService. */ public OfficeConService() { DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration(); //设置转换端口,默认为2002 if (StringUtils.isNotBlank(this.officePort)) { configuration.setPortNumber(Integer.parseInt(this.officePort)); logger.info("office转换服务监听端口设置为:" + this.officePort); } //设置office安装目录 if (StringUtils.isNotBlank(officeHome)) { configuration.setOfficeHome(new File(this.officeHome)); logger.info("设置office安装目录为:" + this.officeHome); } officeManager = configuration.buildOfficeManager(); documentConverter = new OfficeDocumentConverter(this.officeManager); } /** * * 创建一个新的实例 OfficeConService. * @param officePort * @param officeHome */ public OfficeConService(String officePort, String officeHome) { this.officePort = officePort; this.officeHome = officeHome; DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration(); //设置转换端口,默认为8100 if (StringUtils.isNotBlank(this.officePort)) { configuration.setPortNumber(Integer.parseInt(this.officePort)); logger.info("office转换服务监听端口设置为:" + this.officePort); } //设置office安装目录 if (StringUtils.isNotBlank(this.officeHome)) { configuration.setOfficeHome(new File(this.officeHome)); logger.info("设置office安装目录为:" + this.officeHome); } officeManager = configuration.buildOfficeManager(); documentConverter = new OfficeDocumentConverter(officeManager); } protected void init() { officeManager.start(); } protected void destroy() { officeManager.stop(); } public String getOfficePort() { return officePort; } public void setOfficePort(String officePort) { this.officePort = officePort; } public String getOfficeHome() { return officeHome; } public void setOfficeHome(String officeHome) { this.officeHome = officeHome; } public OfficeManager getOfficeManager() { return officeManager; } public OfficeDocumentConverter getDocumentConverter() { return documentConverter; } }