为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 HTML <h3> </h3> 转换为 Docx4j 中的 MS 文档 Heading3?

如何将 HTML <h3> </h3> 转换为 Docx4j 中的 MS 文档 Heading3?

BIG阳 2022-12-07 15:28:50
我一直在从 HTML 内容生成 word 文档。使用下面的代码。ordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.LETTER, false);XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);XHTMLImporter.setRunFormatting(FormattingOption.CLASS_PLUS_OTHER);NumberingDefinitionsPart ndp = new NumberingDefinitionsPart();wordMLPackage.getMainDocumentPart().addTargetPart(ndp);ndp.unmarshalDefaultNumbering();wordMLPackage.getMainDocumentPart().getContent().addAll(XHTMLImporter.convert("<h3> SAMPLE HEADING</h3>", null));File exportFile = new File(somepath/sample.docx);wordMLPackage.save(exportFile);上面的代码工作正常并生成文档,但 HTML<h3> SAMPLE HEADING</h3>没有转换为 MS word Heading 3,它在文档中显示为普通文本。稍后我将使用以下代码使用这些标题生成目录TOC 。tocGenerator.generateToc( 1,    "TOC \\o \"1-3\" \\h \\z \\u ", false);但是有些代码不支持普通文本生成目录。
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我们需要使用以下代码更改标题设置。


ImportXHTMLProperties.setProperty("docx4j-ImportXHTML.Element.Heading.MapToStyle", true);

这里是满足要求的更新代码。


//  activating Headings property for MS Word Heading Mapping

ImportXHTMLProperties.setProperty("docx4j-ImportXHTML.Element.Heading.MapToStyle", true);

ordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.LETTER, false);


XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);

XHTMLImporter.setRunFormatting(FormattingOption.CLASS_PLUS_OTHER);

NumberingDefinitionsPart ndp = new NumberingDefinitionsPart();


wordMLPackage.getMainDocumentPart().addTargetPart(ndp);

ndp.unmarshalDefaultNumbering();


wordMLPackage.getMainDocumentPart().getContent().addAll(XHTMLImporter.convert("<h3> SAMPLE HEADING</h3>", null));


File exportFile = new File(somepath/sample.docx);

// adding TOC - TABLE OF CONTENTS

TocGenerator tocGenerator = new TocGenerator(wordMLPackage);

tocGenerator.generateToc(0, "TOC \\o \"1-3\" \\h \\z \\u ", false);


wordMLPackage.save(exportFile);


查看完整回答
反对 回复 2022-12-07
  • 1 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信