poi把word文档转换成html文件编码问题

qq_20533371 2016-09-13 08:12:07
用poi讲word文档转换成html文件,文件可以生成成功,但是编码却不一致了,大家有没有遇到,代码如下:
public static String docx2html(File file, File outPutPath,String htmlFileName) {
InputStream in=null;
OutputStream out=null;
XWPFDocument document=null;
String outPutFile=outPutPath+File.separator+htmlFileName;
try{
// 1) 加载word文档生成 XWPFDocument对象
in = new FileInputStream(file);
document = new XWPFDocument(in);
// 2) 解析 XHTML配置 (这里设置IURIResolver来设置图片存放的目录)
final File imagePath=new File(outPutPath+File.separator+"image");
String img=SysConfig.getStrValue("upload_file_pre")+File.separator+imagePath;
final File url=new File(img);
if (!imagePath.exists() || !imagePath.isDirectory()) {
imagePath.mkdirs();
}
XHTMLOptions options = XHTMLOptions.create().indent(4);
options.URIResolver(new FileURIResolver(url));
options.setExtractor(new FileImageExtractor(imagePath));
options.setIgnoreStylesIfUnused(false);
options.setFragment(true);

// 3) 将 XWPFDocument转换成XHTML
out = new FileOutputStream(new File(outPutFile));
XHTMLConverter.getInstance().convert(document, out, options);

}catch(Exception e){
logger.error(e.getMessage(),e);
}finally{
close(out,document,in);
}
...全文
1055 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
五个小鬼 2019-12-10
  • 打赏
  • 举报
回复
有没有相同问题已解决的,其实这不算乱码,只是编码格式是html的,我想用utf-8的,明明设定了编码,还是编译有问题
weixin_41893405 2019-09-12
  • 打赏
  • 举报
回复
readFiles是html字符串 下面是方法: Matcher m=Pattern.compile("&#\\d*;").matcher(readFiles); StringBuffer sbf=new StringBuffer(); while (m.find()) { String s=m.group(0); s=s.replaceAll("(&#)|;",""); System.out.println("replaceAll :"+s); char c = (char) Integer.parseInt(s); m.appendReplacement(sbf, Character.toString(c)); //System.out.println("html全文group :" + m.group(0)); } m.appendTail(sbf); System.out.println("对乱码进行处理 :"+m.toString());
牛邪骁 2018-06-04
  • 打赏
  • 举报
回复
我也遇到了。 XHTMLConverter 里的instance引用是个接口
private static final IXWPFConverter<XHTMLOptions> INSTANCE = new XHTMLConverter();
接口只定义了OutputStream参数的convert方法 强转一下 可以用writer做参数的重载方法 OutputStream out = new FileOutputStream(new File(htmlFileName)); OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");//自定义编码 XHTMLConverter instance = (XHTMLConverter)XHTMLConverter.getInstance(); instance .convert(document, writer, options);
qq_27775803 2017-03-01
  • 打赏
  • 举报
回复
楼主后来解决了么?
qq_20533371 2016-09-18
  • 打赏
  • 举报
回复
...........................顶一下。。。。。。。。。。。。。。。。。
qq_20533371 2016-09-14
  • 打赏
  • 举报
回复
来人呀,十万火急啊。。。。。。。
sky_08_06_02 2016-09-14
  • 打赏
  • 举报
回复
qq_20533371 2016-09-14
  • 打赏
  • 举报
回复
没人回复。。。顶一下

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧