如何使用docx4j在文档中设置字体大小和字体系列

时间:2014-12-08 10:46:11

标签: html docx4j

FileReader fr=new FileReader("E://HtmlToDoc//LETTER.html" );
BufferedReader br=new BufferedReader(fr); 
while( (s=br.readLine())!= null ){
    html=html+s;}

html="<html><body>"+html.substring(html.indexOf("<body>"));

/************************ Setting Page Size   **********************************/
Docx4jProperties.getProperties().setProperty("docx4j.PageSize", "B4JIS");
String papersize= Docx4jProperties.getProperties().getProperty("docx4j.PageSize", "B4JIS");

String landscapeString = Docx4jProperties.getProperties().getProperty("docx4j.PageOrientationLandscape", "true");
boolean landscape= Boolean.parseBoolean(landscapeString);

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.valueOf(papersize), landscape);

AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/hw.html"));
afiPart.setBinaryData(html.getBytes());
//afiPart.setBinaryData(fileContent);

afiPart.setContentType(new ContentType("text/html"));
Relationship altChunkRel = wordMLPackage.getMainDocumentPart().addTargetPart(afiPart);

// .. the bit in document body
CTAltChunk ac = Context.getWmlObjectFactory().createCTAltChunk();
ac.setId(altChunkRel.getId() );
wordMLPackage.getMainDocumentPart().addObject(ac);

// .. content type
wordMLPackage.getContentTypeManager().addDefaultContentType("html", "text/html");
wordMLPackage.save(new java.io.File("E://HtmlToDoc//" + "test.docx"));

这是我的代码从HTML转换为Word文档。如何设置此word文档的字体大小和字体系列。

1 个答案:

答案 0 :(得分:0)

您将HTML内容作为AltChunk实例的集合提取到Word文档中,这意味着HTML作为单独的文件存在于docx“包”中,而不是作为实际流程的一部分Word文档。

如果要将导入的内容作为本机MS Word内容进行操作,则需要导入源XHTML。这意味着docx4j采用标记和(某些)相关样式,将它们转换为docx文件的各个组成部分(例如,表格,文本,运行和段落元素)。一旦以这种方式导入内容,就可以像对待任何其他docx实体一样设置样式。