Word 转换为 ftl 格式文件(Freemarker)
Siona
Word 转 Ftl 格式文件
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.converter.PicturesManager;
import org.apache.poi.hwpf.converter.WordToFoConverter;
import org.apache.poi.hwpf.usermodel.Picture;
import org.w3c.dom.Document;
public class Word2Ftl {
public static void main(String[] args) throws Exception {
File inputFile = new File("input.doc");
File outputFile = new File("output.ftl");
FileInputStream inputStream = new FileInputStream(inputFile);
HWPFDocument wordDocument = new HWPFDocument(inputStream);
WordToFoConverter converter = new WordToFoConverter(new FileOutputStream(outputFile));
converter.setPicturesManager(new PicturesManager() {
public String savePicture(byte[] content, PictureType pictureType, String suggestedName, float widthInches, float heightInches) {
return suggestedName;
}
});
Document doc = converter.convert(wordDocument);
converter.write(doc);
inputStream.close();
converter.close();
}
}
主要步骤是:
- 使用 FileInputStream 读取 word 文档
- 将 doc 文档转换为 HWPFDocument 对象
- 创建 WordToFoConverter 实例,并通过 convert() 方法转换
- 将转换后的 Document 写入输出文件 中间还处理了图片的保存。