Class DocxRenderer

  • All Implemented Interfaces:
    IRender

    public class DocxRenderer
    extends java.lang.Object
    implements IRender
    Renders a tree of nodes to docx4j API.
    • Field Detail

      • STYLES_XML

        public static final DataKey<java.lang.String> STYLES_XML
      • NUMBERING_XML

        public static final DataKey<java.lang.String> NUMBERING_XML
      • RENDER_BODY_ONLY

        public static final DataKey<java.lang.Boolean> RENDER_BODY_ONLY
      • MAX_IMAGE_WIDTH

        public static final DataKey<java.lang.Integer> MAX_IMAGE_WIDTH
      • DEFAULT_LINK_RESOLVER

        public static final DataKey<java.lang.Boolean> DEFAULT_LINK_RESOLVER
      • DOC_RELATIVE_URL

        public static final DataKey<java.lang.String> DOC_RELATIVE_URL
      • DOC_ROOT_URL

        public static final DataKey<java.lang.String> DOC_ROOT_URL
      • PREFIX_WWW_LINKS

        public static final DataKey<java.lang.Boolean> PREFIX_WWW_LINKS
      • DEFAULT_CONTENT_RESOLVER

        public static final DataKey<java.lang.Boolean> DEFAULT_CONTENT_RESOLVER
      • RECHECK_UNDEFINED_REFERENCES

        public static final DataKey<java.lang.Boolean> RECHECK_UNDEFINED_REFERENCES
      • PERCENT_ENCODE_URLS

        public static final DataKey<java.lang.Boolean> PERCENT_ENCODE_URLS
      • ESCAPE_HTML

        public static final DataKey<java.lang.Boolean> ESCAPE_HTML
      • ESCAPE_HTML_BLOCKS

        public static final DataKey<java.lang.Boolean> ESCAPE_HTML_BLOCKS
      • ESCAPE_HTML_COMMENT_BLOCKS

        public static final DataKey<java.lang.Boolean> ESCAPE_HTML_COMMENT_BLOCKS
      • ESCAPE_INLINE_HTML

        public static final DataKey<java.lang.Boolean> ESCAPE_INLINE_HTML
      • ESCAPE_INLINE_HTML_COMMENTS

        public static final DataKey<java.lang.Boolean> ESCAPE_INLINE_HTML_COMMENTS
      • SUPPRESS_HTML

        public static final DataKey<java.lang.Boolean> SUPPRESS_HTML
      • SUPPRESS_HTML_BLOCKS

        public static final DataKey<java.lang.Boolean> SUPPRESS_HTML_BLOCKS
      • SUPPRESS_HTML_COMMENT_BLOCKS

        public static final DataKey<java.lang.Boolean> SUPPRESS_HTML_COMMENT_BLOCKS
      • SUPPRESS_INLINE_HTML

        public static final DataKey<java.lang.Boolean> SUPPRESS_INLINE_HTML
      • SUPPRESS_INLINE_HTML_COMMENTS

        public static final DataKey<java.lang.Boolean> SUPPRESS_INLINE_HTML_COMMENTS
      • LINEBREAK_ON_INLINE_HTML_BR

        public static final DataKey<java.lang.Boolean> LINEBREAK_ON_INLINE_HTML_BR
      • TABLE_CAPTION_TO_PARAGRAPH

        public static final DataKey<java.lang.Boolean> TABLE_CAPTION_TO_PARAGRAPH
      • TABLE_CAPTION_BEFORE_TABLE

        public static final DataKey<java.lang.Boolean> TABLE_CAPTION_BEFORE_TABLE
      • TABLE_PREFERRED_WIDTH_PCT

        public static final DataKey<java.lang.Integer> TABLE_PREFERRED_WIDTH_PCT
      • TABLE_LEFT_INDENT

        public static final DataKey<java.lang.Integer> TABLE_LEFT_INDENT
      • TABLE_STYLE

        public static final DataKey<java.lang.String> TABLE_STYLE
      • TOC_GENERATE

        public static final DataKey<java.lang.Boolean> TOC_GENERATE
      • TOC_INSTRUCTION

        public static final DataKey<java.lang.String> TOC_INSTRUCTION
      • LOG_IMAGE_PROCESSING

        public static final DataKey<java.lang.Boolean> LOG_IMAGE_PROCESSING
      • NO_CHARACTER_STYLES

        public static final DataKey<java.lang.Boolean> NO_CHARACTER_STYLES
      • CODE_HIGHLIGHT_SHADING

        public static final DataKey<java.lang.String> CODE_HIGHLIGHT_SHADING
      • ERRORS_TO_STDERR

        public static final DataKey<java.lang.Boolean> ERRORS_TO_STDERR
      • ERROR_SOURCE_FILE

        public static final DataKey<java.lang.String> ERROR_SOURCE_FILE
      • DOC_EMOJI_IMAGE_VERT_OFFSET

        public static final DataKey<java.lang.Double> DOC_EMOJI_IMAGE_VERT_OFFSET
      • DOC_EMOJI_IMAGE_VERT_SIZE

        public static final DataKey<java.lang.Double> DOC_EMOJI_IMAGE_VERT_SIZE
      • FORM_CONTROLS

        public static final DataKey<java.lang.String> FORM_CONTROLS
      • HEADER_ID_GENERATOR_RESOLVE_DUPES

        public static final DataKey<java.lang.Boolean> HEADER_ID_GENERATOR_RESOLVE_DUPES
      • HEADER_ID_GENERATOR_TO_DASH_CHARS

        public static final DataKey<java.lang.String> HEADER_ID_GENERATOR_TO_DASH_CHARS
      • HEADER_ID_GENERATOR_NO_DUPED_DASHES

        public static final DataKey<java.lang.Boolean> HEADER_ID_GENERATOR_NO_DUPED_DASHES
      • RENDER_HEADER_ID

        public static final DataKey<java.lang.Boolean> RENDER_HEADER_ID
      • HEADER_ID_GENERATOR_NON_DASH_CHARS

        public static final DataKey<java.lang.String> HEADER_ID_GENERATOR_NON_DASH_CHARS
      • HEADER_ID_GENERATOR_NON_ASCII_TO_LOWERCASE

        public static final DataKey<java.lang.Boolean> HEADER_ID_GENERATOR_NON_ASCII_TO_LOWERCASE
      • HEADER_ID_REF_TEXT_TRIM_LEADING_SPACES

        public static final DataKey<java.lang.Boolean> HEADER_ID_REF_TEXT_TRIM_LEADING_SPACES
      • HEADER_ID_REF_TEXT_TRIM_TRAILING_SPACES

        public static final DataKey<java.lang.Boolean> HEADER_ID_REF_TEXT_TRIM_TRAILING_SPACES
      • HEADER_ID_ADD_EMOJI_SHORTCUT

        public static final DataKey<java.lang.Boolean> HEADER_ID_ADD_EMOJI_SHORTCUT
      • LOCAL_HYPERLINK_SUFFIX

        public static final DataKey<java.lang.String> LOCAL_HYPERLINK_SUFFIX
      • LOCAL_HYPERLINK_MISSING_HIGHLIGHT

        public static final DataKey<java.lang.String> LOCAL_HYPERLINK_MISSING_HIGHLIGHT
      • LOCAL_HYPERLINK_MISSING_FORMAT

        public static final DataKey<java.lang.String> LOCAL_HYPERLINK_MISSING_FORMAT
      • ASIDE_BLOCK_STYLE

        public static final DataKey<java.lang.String> ASIDE_BLOCK_STYLE
      • BLOCK_QUOTE_STYLE

        public static final DataKey<java.lang.String> BLOCK_QUOTE_STYLE
      • BOLD_STYLE

        public static final DataKey<java.lang.String> BOLD_STYLE
      • DEFAULT_STYLE

        public static final DataKey<java.lang.String> DEFAULT_STYLE
      • ENDNOTE_ANCHOR_STYLE

        public static final DataKey<java.lang.String> ENDNOTE_ANCHOR_STYLE
      • FOOTER

        public static final DataKey<java.lang.String> FOOTER
      • FOOTNOTE_ANCHOR_STYLE

        public static final DataKey<java.lang.String> FOOTNOTE_ANCHOR_STYLE
      • FOOTNOTE_STYLE

        public static final DataKey<java.lang.String> FOOTNOTE_STYLE
      • FOOTNOTE_TEXT

        public static final DataKey<java.lang.String> FOOTNOTE_TEXT
      • HEADER

        public static final DataKey<java.lang.String> HEADER
      • HEADING_1

        public static final DataKey<java.lang.String> HEADING_1
      • HEADING_2

        public static final DataKey<java.lang.String> HEADING_2
      • HEADING_3

        public static final DataKey<java.lang.String> HEADING_3
      • HEADING_4

        public static final DataKey<java.lang.String> HEADING_4
      • HEADING_5

        public static final DataKey<java.lang.String> HEADING_5
      • HEADING_6

        public static final DataKey<java.lang.String> HEADING_6
      • HORIZONTAL_LINE_STYLE

        public static final DataKey<java.lang.String> HORIZONTAL_LINE_STYLE
      • HYPERLINK_STYLE

        public static final DataKey<java.lang.String> HYPERLINK_STYLE
      • INLINE_CODE_STYLE

        public static final DataKey<java.lang.String> INLINE_CODE_STYLE
      • INS_STYLE

        public static final DataKey<java.lang.String> INS_STYLE
      • ITALIC_STYLE

        public static final DataKey<java.lang.String> ITALIC_STYLE
      • LOOSE_PARAGRAPH_STYLE

        public static final DataKey<java.lang.String> LOOSE_PARAGRAPH_STYLE
      • PREFORMATTED_TEXT_STYLE

        public static final DataKey<java.lang.String> PREFORMATTED_TEXT_STYLE
      • STRIKE_THROUGH_STYLE

        public static final DataKey<java.lang.String> STRIKE_THROUGH_STYLE
      • SUBSCRIPT_STYLE

        public static final DataKey<java.lang.String> SUBSCRIPT_STYLE
      • SUPERSCRIPT_STYLE

        public static final DataKey<java.lang.String> SUPERSCRIPT_STYLE
      • TABLE_CAPTION

        public static final DataKey<java.lang.String> TABLE_CAPTION
      • TABLE_CONTENTS

        public static final DataKey<java.lang.String> TABLE_CONTENTS
      • TABLE_GRID

        public static final DataKey<java.lang.String> TABLE_GRID
      • TABLE_HEADING

        public static final DataKey<java.lang.String> TABLE_HEADING
      • TIGHT_PARAGRAPH_STYLE

        public static final DataKey<java.lang.String> TIGHT_PARAGRAPH_STYLE
      • DEFAULT_TEMPLATE_RESOURCE

        public static final DataKey<java.lang.String> DEFAULT_TEMPLATE_RESOURCE
      • BULLET_LIST_STYLE

        public static final DataKey<java.lang.String> BULLET_LIST_STYLE
      • NUMBERED_LIST_STYLE

        public static final DataKey<java.lang.String> NUMBERED_LIST_STYLE
      • PARAGRAPH_BULLET_LIST_STYLE

        public static final DataKey<java.lang.String> PARAGRAPH_BULLET_LIST_STYLE
      • PARAGRAPH_NUMBERED_LIST_STYLE

        public static final DataKey<java.lang.String> PARAGRAPH_NUMBERED_LIST_STYLE
      • PAGE_SIZE

        public static final DataKey<java.lang.String> PAGE_SIZE
      • PAGE_LANDSCAPE

        public static final DataKey<java.lang.Boolean> PAGE_LANDSCAPE
      • EMOJI_RESOURCE_PREFIX

        public static final java.lang.String EMOJI_RESOURCE_PREFIX
        See Also:
        Constant Field Values
      • DOC_EMOJI_ROOT_IMAGE_PATH

        public static final DataKey<java.lang.String> DOC_EMOJI_ROOT_IMAGE_PATH
      • CUSTOM_PROPERTIES

        public static final DataKey<java.util.Map<java.lang.String,​java.lang.String>> CUSTOM_PROPERTIES
    • Method Detail

      • getOptions

        @Nullable
        public DataHolder getOptions()
        Description copied from interface: IRender
        Get Options for parsing
        Specified by:
        getOptions in interface IRender
        Returns:
        DataHolder for options
      • builder

        public static DocxRenderer.Builder builder()
        Create a new builder for configuring the DocxRenderer.
        Returns:
        a builder
      • builder

        public static DocxRenderer.Builder builder​(DataHolder options)
        Create a new builder for configuring the DocxRenderer.
        Parameters:
        options - initialization options
        Returns:
        a builder
      • getDefaultTemplate

        public static org.docx4j.openpackaging.packages.WordprocessingMLPackage getDefaultTemplate​(DataHolder options)
      • getDefaultTemplate

        public static org.docx4j.openpackaging.packages.WordprocessingMLPackage getDefaultTemplate()
      • getDefaultTemplate

        public static org.docx4j.openpackaging.packages.WordprocessingMLPackage getDefaultTemplate​(java.lang.String emptyXMLResourcePath)
      • getDefaultTemplate

        public static org.docx4j.openpackaging.packages.WordprocessingMLPackage getDefaultTemplate​(java.io.InputStream inputStream)
      • setPageSize

        public static void setPageSize​(org.docx4j.openpackaging.packages.WordprocessingMLPackage out,
                                       org.docx4j.model.structure.PageSizePaper sz,
                                       boolean landscape)
      • setDocumentProperties

        public static void setDocumentProperties​(org.docx4j.openpackaging.packages.WordprocessingMLPackage out,
                                                 DataHolder options)
      • render

        public void render​(Node node,
                           org.docx4j.openpackaging.packages.WordprocessingMLPackage output)
        Render a node to the given word processing package
        Parameters:
        node - node to render
        output - appendable to use for the output
      • render

        public void render​(Node node,
                           org.docx4j.openpackaging.packages.WordprocessingMLPackage output,
                           DocumentContentHandler contentContainer)
        Render a node to the given word processing package
        Parameters:
        node - node to render
        output - appendable to use for the output
        contentContainer - container for content to use
      • render

        @NotNull
        public java.lang.String render​(@NotNull
                                       Node document)
        Render the tree of nodes to DocX.
        Specified by:
        render in interface IRender
        Parameters:
        document - the root node
        Returns:
        the rendered HTML
      • render

        public void render​(@NotNull
                           Node document,
                           @NotNull
                           java.lang.Appendable output)
        Specified by:
        render in interface IRender
      • getResourceString

        public static java.lang.String getResourceString​(java.lang.String resourcePath)
      • getResourceInputStream

        public static java.io.InputStream getResourceInputStream​(java.lang.String resourcePath)