工作中遇到XHTMLConverter.getInstance().convert(document, baos, null);过程中报NullPointerException
解决办法:在HTMLConverter.getInstance().convert(document, baos, null);前面加上代码document.createNumbering();
具体如下(此问题为poi工具包本身问题)
public static String Word2007ToHtml(MultipartFile file) throws IOException {
if (file.isEmpty() || file.getSize() <= 0) {
logger.error("Sorry File does not Exists!");
return null;
} else {
if (file.getOriginalFilename().endsWith(".docx") || file.getOriginalFilename().endsWith(".DOCX")) {
// 1) 加载word文档生成 XWPFDocument对象
InputStream in = file.getInputStream();
XWPFDocument document = new XWPFDocument(in);
// 也可以使用字符数组流获取解析的内容
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//此处不加偶现会报错nullPointException updateBy AlexZ 2020/07/08
document.createNumbering();
XHTMLConverter.getInstance().convert(document, baos, null);
String content = baos.toString();
baos.close();
return content;
} else {
logger.error("Enter only MS Office 2007+ files");
return null;
工作中遇到XHTMLConverter.getInstance().convert(document, baos, null);过程中报NullPointerException解决办法:在HTMLConverter.getInstance().convert(document, baos, null);前面加上代码document.createNumbering();具体如下(此问题为poi工具包本身问题)public static String Word2007ToHtml(Multipar
poi操作
word后,将生成的
word解析为
html时
报空指针异常,于是跟踪代码发现三处poi的
空指针异常处理不严谨的地方。
1.package org.apache.poi.xwpf.converter.core包下的XWPFDocumentVisitor类
中的getXWPFNum方法
protected XWPFNum getXWPFNum(CTNumPr numPr) {
场景描述:
公司需要做一个打印功能,采用生成PDF的形式。由于PDF需要动态生成某些行,不能采用制作PDF表单的形式,
word文档直接
转PDF的形式会导致排版不美观。由于需要部署在linux服务器,采用windows的
中间件的框架也不方便采用,最后选择了动态操作
word文档,
word文档生成
html,再把
html转为pdf的形式。
中间也经历了不少坑,下面慢慢一一道来。
一、加pom依赖
操作
word文档的依赖
<dependency>
做项目的时候遇到预览文件的功能。需要支持图片、pdf、doc、xls、ppt等
图片和pdf还好,流方式浏览器能直接展示,但是pdf、xls、doc则需要转化为html,然后再读取html。
浏览器文件打开的两种方式
1流方式:针对pdf、图片等间接支持的文件
说明如果用流读取的方式读取html,那么其中的引用如img等会丢失。
if(directPreview(name)){
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.*;
* @param wordFile 被转换的word文件
* @param outputFolder 转换后HTML文件存放位置
* @param outputPictureFolder 转换后原word中图片存放位置
* @throws TransformerException
* @throws IOException
* @throws ParserConfigurati.
word转pdf是一个比较老的话题了,网上有各种各样的版本,经过了各种尝试,主要是在linux和windows平台运行,有通过脚本的,有通过代码的,这些方法效果各异。
一、openoffice和libreoffice
这两个是开源软件,libreoffice是openoffice的一个分支,两个软件的表现,只能说是中规中矩,如果样式不是很多,且对样式没有很高的要求,还是基本满足要求的。它们两个...
Aspose.word介绍
Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。使用Aspose.Words可以在不使用Microsoft.Word的情况下生成、修改、转换和打印文档。在项目中使用Aspose.Words可以有以下好处。
使用Aspose.word操作word文档
aspose.word jar包,这里还提供一种官方下载的方式,从
解决方案:
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
string currentValue= "";
catch (Exception...