
cn.virens.office.factory.html.DocToHtmlFactory Maven / Gradle / Ivy
package cn.virens.office.factory.html;
import java.io.InputStream;
import java.io.OutputStream;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.converter.WordToHtmlConverter;
import org.w3c.dom.Document;
import cn.hutool.core.codec.Base64Encoder;
import cn.virens.office.factory.AbstractFactory;
/**
* Office By DOC 转换为HTML的工厂
*
* @author Virens
*/
public class DocToHtmlFactory extends AbstractToHtmlFactory implements AbstractFactory {
@Override
public void convert(InputStream inputStream, OutputStream outputStream) throws Exception {
transform(outputStream, loadDocument(new HWPFDocument(inputStream), (mHWPFDocument) -> {
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
// 获取word转换为html的句柄
WordToHtmlConverter htmlConverter = new WordToHtmlConverter(document);
htmlConverter.setPicturesManager((content, t, n, w, h) -> {
return "data:;base64," + Base64Encoder.encode(content);
});
htmlConverter.processDocument(mHWPFDocument);
return htmlConverter.getDocument();
}));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy