openoffice转换过程中遇到繁体字文档转换失败的问题
今天发现上线的文档转换功能中存在一个文档转换不成功,查看后台日志标志文档无法加载成功,提示日志如下:
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打开文件没有响应,导致转化失败,这个需要进一步研究确认。
wala-wo