今天发现上线的文档转换功能中存在一个文档转换不成功,查看后台日志标志文档无法加载成功,提示日志如下:
INFO: connected
Jul 08, 2015 2:50:33 PM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection connect
INFO: connected
com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not load input document
at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadAndExport(OpenOfficeDocumentConverter.java:134)
at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:120)
at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:104)
at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:74)
at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:70)
at cn.com.pujiConvert.convert.ConvertDocumentToPdf.convertingToPdf(ConvertDocumentToPdf.java:122)
at cn.com.pujiConvert.convert.ConvertDocumentToPdf.getConvertPdfResult(ConvertDocumentToPdf.java:200)
at cn.com.pujiConvert.timer.ConvertTimerTask.convertDocumentToPdfTask(ConvertTimerTask.java:16)
at cn.com.pujiConvert.timer.ConvertTimerTask.run(ConvertTimerTask.java:49)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Jul 08, 2015 2:50:33 PM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection disposing
INFO: disconnected
于是改为流转换方式
DocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection);
converter.convert(documentFile, pdfFile);
调用运行后,生成相应pdf文件,但是再由pdf文件生成的缩略图却是一片空白,swf文件实际上没有生成成功。直接后台下载pdf文档到本机查看,提示pdf文档损坏。于是认真查看了原始的doc文档,原文中都是繁体字,进行繁简转换后,上传重新转换成功。由此推测应该是缺少繁体字的字体,导致openoffice打开文件没有响应,导致转化失败,这个需要进一步研究确认。