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 写入输出文件 中间还处理了图片的保存。
Last Updated 3/2/2024, 4:00:59 PM