All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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