0

我想使用 dot/dotx 和 doc/docx 格式的文档在 java 中执行邮件合并功能。我尝试使用 docx4j,但它从文档中删除了很多富文本缩进。

我还尝试从 word 文档中提取一些 html 内容,但无法在 word 文档中重新粘贴。

public static void readDocxFile1(String fileName) {
    //  this.file = file;

    try {
        File file = new File(fileName);
        FileInputStream finStream=new FileInputStream(file.getAbsolutePath()); 
        HWPFDocument doc=new HWPFDocument(finStream);
        WordExtractor wordExtract=new WordExtractor(doc);
        Document newDocument = DocumentBuilderFactory.newInstance() .newDocumentBuilder().newDocument();
        WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(newDocument) ;
        wordToHtmlConverter.processDocument(doc);

        StringWriter stringWriter = new StringWriter();
        Transformer transformer = TransformerFactory.newInstance().newTransformer();

        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
        transformer.setOutputProperty(OutputKeys.METHOD, "html");
        transformer.transform(new DOMSource( wordToHtmlConverter.getDocument()), new StreamResult( stringWriter ) );

        String html = stringWriter.toString();
        System.out.println("html>>>>>>"+html);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}

我的要求是我必须(1) 阅读 dot/dotx 或 doc/docx 模板,并且没有。的人将其循环到(2) 替换关键字,然后(3) 在新文档中重新粘贴

请提出一种如何执行此功能的方法。

另外请建议 ASPOSE.WORDS API for JAVA 是否会为我执行此操作。

4

1 回答 1

0

是的,您可以使用Aspose.Words for Java API满足这些要求。我建议您请参阅文档的以下部分:

我与 Aspose 一起担任开发人员宣传员。

于 2016-02-25T03:11:15.707 回答