java prettyprint-override">public String xhtmlToDocx(List<String> fileData, File destinationFile) {
try {
InputStream in;
in = new FileInputStream(new File(TCellUtil.TCELL_DATA_LOG_FOLDER_PATH + File.separator + "Header_Temp.docx"));
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(in);
System.out.println("before");
for (String s : wordMLPackage.getMainDocumentPart().fontsInUse())
System.out.println(s);
System.out.println("aFTER ");
VariablePrepare.prepare(wordMLPackage);
RFonts rfonts = Context.getWmlObjectFactory().createRFonts();
rfonts.setAscii("Times New Roman");
rfonts.setHAnsi("Times New Roman");
rfonts.setEastAsia("Times New Roman");
XHTMLImporterImpl.addFontMapping("Times New Roman", rfonts);
wordMLPackage.getMainDocumentPart().getPropertyResolver().getDocumentDefaultRPr().setRFonts(rfonts);
int c = 1;
for (String xhtml : fileData) {
String file_data = "<html>" + xhtml + "</html>";
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/hw" + c + ".html"));
afiPart.setContentType(new ContentType("text/html"));
afiPart.setBinaryData(file_data.getBytes());
Relationship altChunkRel = wordMLPackage.getMainDocumentPart().addTargetPart(afiPart, AddPartBehaviour.REUSE_EXISTING);
CTAltChunk ac = Context.getWmlObjectFactory().createCTAltChunk();
ac.setId(altChunkRel.getId());
wordMLPackage.getMainDocumentPart().addObject(ac);
wordMLPackage.getMainDocumentPart().addObject(createPageBreak());
((CTSettings) wordMLPackage.getMainDocumentPart().getDocumentSettingsPart().getJaxbElement()).setUpdateFields(new BooleanDefaultTrue());
wordMLPackage.getMainDocumentPart().convertAltChunks();
for (String s : wordMLPackage.getMainDocumentPart().fontsInUse())
System.out.println(s);
wordMLPackage.getContentTypeManager().addDefaultContentType("docx", "text/html");
c++;
}
XmlUtils.marshaltoString(wordMLPackage.getMainDocumentPart().getJaxbElement(), true, true);
wordMLPackage.save(destinationFile);
this.dest_filePath = destinationFile.getAbsolutePath();
return this.dest_filePath;
} catch (Docx4JException var12) {
var12.printStackTrace();
} catch (Exception var13) {
var13.printStackTrace();
}
return null;
}
首先要了解的是,是docx4j在进行转换,还是Word在进行转换。
如果您专门调用docx4j-ImportXHTML,或者使用convertAltChunks(),那么docx4j将会尝试这样做。请注意,docx4j只转换XHTML类型(即不是HTML)的altChunk。因此,如果它是一个HTML altChunk,Word正在进行转换。
在您发布的代码中:
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/hw"+c+".html"));
afiPart.setContentType(new ContentType("text/html"));
afiPart.setBinaryData(file_data.getBytes());
本文向大家介绍容易被忽略的Python内置类型,包括了容易被忽略的Python内置类型的使用技巧和注意事项,需要的朋友参考一下 Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们。 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些“不同寻常”的内置类型。 (注意:本文基于python3,不会包含任何python2相关内容) fr
问题内容: 该属性不适用于。这仅在Chrome中发生。 问题答案: 从MDN的文档中 如果值 类型 属性是,,,,,或,此属性指定的最大字符数(在Unicode代码点),用户可以输入; 对于其他控件类型,将忽略它。 因此在设计上被忽略。 根据您的需求,您可以使用和属性作为 INON 在他/她的回答表明(注:这只会定义的约束范围,而不是值的实际字符长度,虽然-9999〜9999将覆盖所有0-4位数字
我试图用多行字符串创建一个表,但我的表没有正确设置字符串的格式。以下是jsx: 下面是相应的html: 但在浏览器中它看起来像: 发生了什么,如何让我的换行符出现?
问题内容: 我正在使用EclipseLink(2.5.1,也尝试过2.5.2-M1)构建一个Java SE 8(oracle 1.8.0-b129)应用程序,并且拥有一个Entity类,尽管已正确注释和删除,但EclipeLink只是忽略了它在persistence.xml文件中引用。日志中没有提及该类,没有为它生成任何模式,等等。使用该实体将给出“抽象模式类型未知”错误。 我想我终于找到了原因,
我创建了一个小提琴,试图使用字体权重为300的Open Sans字体: HTML语言 CSS公司 我使用谷歌字体来定义CSS 我可以看到Firefox(Ubuntu 13.10)在字体粗细:300(轻量级)和字体粗细:400(正常)下渲染时有所不同,但在Chrome(版本33.0.1750.117)中没有差异,其中所有内容看起来都像是以字体权重:400呈现的。是我做错了什么还是 Chrome 中存
问题内容: 如果lambda表达式不需要参数,因此名称过多,该如何写? 这种方式不能编译: 但这确实做到了: 有没有更好的办法? 问题答案: 既然您提到了这可行 我假设预期的功能接口方法必须接受一个参数。自Java8以来,该标识符是保留关键字。 我只会使用一个一次性的(有效标识符)字符。 甚至 明确地说。 在Java语言规范定义了一个lambda表达式的句法 和 换句话说,您不能省略标识符。 作为