public static String getCssForStyles(HTMLConversionContext context) { StringBuffer result = new StringBuffer(); StyleTree styleTree = null; try { styleTree = context.getWmlPackage().getMainDocumentPart().getStyleTree(); } catch (Exception e) { log.error("Couldn't getStyleTree", e); return result.toString(); } HtmlCssHelper.createCssForStyles(context.getWmlPackage(), styleTree, result); if (log.isDebugEnabled()) { return result.toString(); } else { String debug = result.toString(); return debug; } }
/** * The method used by the XSLT extension function during HTML export. * * <p>If there is no number, it returns an empty span element. * * @param em * @param levelId * @param numId * @return */ public static String getNumberXmlNode( HTMLConversionContext context, NodeIterator pPrNodeIt, String pStyleVal, String numId, String levelId) { // Note that this is invoked for every paragraph with a pPr node. log.debug("numbering, using style '" + pStyleVal + "'; numId=" + numId + "; ilvl " + levelId); try { ResultTriple triple = org.docx4j.model.listnumbering.Emulator.getNumber( context.getWmlPackage(), pStyleVal, numId, levelId); if (triple == null) { log.debug("computed number ResultTriple was null"); return null; } String styleVal = ""; if (triple.getBullet() != null) { // return (triple.getBullet() + " " ); // The old code did that:- // https://github.com/plutext/docx4j/commit/7627863e47c5dc7b3c91290b8d993ae5a7cd9fab#docx4j/src/main/java/org/docx4j/convert/out/html/AbstractHtmlExporter.java // What is wrong with that approach? // return "\u2022 "; // see notes in docx2xhtmlNG2.xslt as to why we don't use • } else if (triple.getNumString() == null) { log.error("computed NumString was null!"); return "? "; } else { return triple.getNumString() + " "; } } catch (Exception e) { e.printStackTrace(); // System.out.println(e.toString() ); log.error(e); } return "? "; }