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文档的字体大小和字体系列。
答案 0 :(得分:0)
您将HTML内容作为AltChunk
实例的集合提取到Word文档中,这意味着HTML作为单独的文件存在于docx“包”中,而不是作为实际流程的一部分Word文档。
如果要将导入的内容作为本机MS Word内容进行操作,则需要导入源XHTML。这意味着docx4j采用标记和(某些)相关样式,将它们转换为docx文件的各个组成部分(例如,表格,文本,运行和段落元素)。一旦以这种方式导入内容,就可以像对待任何其他docx实体一样设置样式。