小编Dav*_*ave的帖子

docx4j XHTMLImporter忽略了(不间断空格)

从docx4j所述XHTMLImporter未进行转换NBSP&到MS Word非中断空格.

使用以下代码:

public void convert() throws Exception {



    String stringFromFile = FileUtils.readFileToString(new File("tmp.xhtml"), "UTF-8");

    String unescaped = stringFromFile;
    System.out.println("Unescaped: " + unescaped);


    // Setup font mapping
    RFonts rfonts = Context.getWmlObjectFactory().createRFonts();
    rfonts.setAscii("Century Gothic");
    XHTMLImporterImpl.addFontMapping("Century Gothic", rfonts);

    // Create an empty docx package
    WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();

    NumberingDefinitionsPart ndp = new NumberingDefinitionsPart();
    wordMLPackage.getMainDocumentPart().addTargetPart(ndp);
    ndp.unmarshalDefaultNumbering();

    // Convert the XHTML, and add it into the empty docx we made
    XHTMLImporter XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);
    XHTMLImporter.setHyperlinkStyle("Hyperlink");

    wordMLPackage.getMainDocumentPart().getContent().addAll(
            XHTMLImporter.convert(unescaped, null) );

    System.out.println(
            XmlUtils.marshaltoString(wordMLPackage.getMainDocumentPart().getJaxbElement(), …
Run Code Online (Sandbox Code Playgroud)

xhtml docx docx4j

5
推荐指数
1
解决办法
661
查看次数

标签 统计

docx ×1

docx4j ×1

xhtml ×1