##############################
# docx setup

# XHTMLImporter needs to know how to convert pixel measurements
# This is read by UnitsOfMeasurement
docx4j.DPI=96

# Page size: use a value from org.docx4j.model.structure.PageSizePaper enum
# eg A4, LETTER
docx4j.PageSize=LETTER
# Page size: use a value from org.docx4j.model.structure.MarginsWellKnown enum
docx4j.PageMargins=NORMAL
docx4j.PageOrientationLandscape=false

# These will be injected into docProps/app.xml
# if App.Write=true
docx4j.App.write=true
docx4j.Application=docx4j
docx4j.AppVersion=6.0
# of the form XX.YYYY where X and Y represent numerical values
# WARNING: -SNAPSHOT will cause Word 2010 x64 to treat the docx as corrupt! 

# These will be injected into docProps/core.xml
docx4j.dc.write=true
docx4j.dc.creator.value=docx4j
docx4j.dc.lastModifiedBy.value=docx4j

# By default, docx4j often logs an error before re-throwing,
# for easier diagnosis.  After v3.3.2, this property 
# allows you to stop that logging if you want 
# (in certain cases only, which will expand over time;
#  feel free to make a pull request in specific cases of interest)
docx4j.openpackaging.exceptions.LogBeforeThrow=true

# If this is set to a positive value, docx4j will throw
# a PartTooLarge exception if a part being unmarshalled from a zip file is
# larger than the set value.  Purpose is to avoid unmarshalling
# files which will take too long (eg a 300MB document.xml part).
# Setting this still allows the docx to be unzipped, in case there
# are things you want to do with it  (short of unmarshalling this part) 
# since docx4j 6.0.0
docx4j.openpackaging.parts.MAX_BYTES.unmarshal.error=-1

# If this is set to a positive value, docx4j will throw
# a PartTooLarge exception if a part being loaded from a zip file is
# larger than the set value.  This will prevent this docx from 
# being opened at all.  
# since docx4j 6.0.0
docx4j.openpackaging.parts.MAX_BYTES.unzip.error=-1
# named so could potentially have unzip.warn

##############################
# pptx setup

# Page size: use a value from org.pptx4j.model.SlideSizesWellKnown enum
# eg A4, LETTER
pptx4j.PageSize=LETTER
pptx4j.PageOrientationLandscape=true

pptx4j.openpackaging.packages.PresentationMLPackage.DefaultTheme=org/docx4j/openpackaging/parts/PresentationML/theme.xml

##############################
# docx4j general config

#
#docx4j.McPreprocessor=true


# Use output method "xml" (as opposed to "html")
docx4j.Convert.Out.HTML.OutputMethodXML=true

# convert a bookmark to anchor (a), @id (id), or ignore (null)
# defaults to anchor. @since 3.2.1 
docx4j.Convert.Out.HTML.BookmarkStartWriter.mapTo=a

# If false, throw an exception if something is encountered which
# output processing is unable to handle.  TODO fully implement this.
docx4j.Convert.Out.Lossy=true

# @since 3.3.0 default PDF output *and* docx ToC page number generation 
# is via Plutext's commercial converter
# (if you want to use FOP, just put docx4j-export-fo and its dependencies
#  on your classpath)
# Set the URL of the endpoint here.  Please only use converter-eval.plutext.com lightly,
# download your own installation from plutext.com.
com.plutext.converter.URL=https://converter-eval.plutext.com:443/v1/00000000-0000-0000-0000-000000000000/convert


# If true, parse 12/04/2012 as 4 December 
docx4j.Fields.Dates.DateFormatInferencer.USA=false

# What to treat as the decimal point when converting a string
# to a number.  Fallback only, 
# used if the docx itself does not contain a setting for
#    <w:decimalSymbol />
docx4j.Fields.Numbers.DecimalSymbol=.
# What character may be used to group thousands
docx4j.Fields.Numbers.GroupingSeparator=,
# What character may be used to separate styles and levels in \t switch field argument
docx4j.Fields.TOC.SwitchT.Separator=,

# PDF output; ability to specify font substitutions.  See src/samples/_resources
# Avoid using both this and fontMapper.getFontMappings() for the same fonts!
# since docx4j 3.2.0
#docx4j.fonts.fop.util.FopConfigUtil.substitutions=fop-substitutions.xml

# This override available since docx4j 3.2.0
# Defaults to org/docx4j/fonts/microsoft/MicrosoftFonts.xml
# which is contained in the docx4j jar
# If you need to override it in order to provide different file names for
# one or more fonts, start by extracting and editing a copy of the existing file
docx4j.fonts.microsoft.MicrosoftFonts=org/docx4j/fonts/microsoft/MicrosoftFonts.xml

# In XHTML import, span/@style='background-color:red;' would usually become w:rPr/w:shd/@w:fill="ff0000"
# Set this to true to use w:highlight instead 
docx4j.model.properties.PropertyFactory.createPropertyFromCssName.background-color.useHighlightInRPr=true

# Whether to System.gc() before attempting to delete tmp image files.
# Introduced in docx4j 3.  For consistency with previous versions, default is true 
docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage.TempFiles.ForceGC=true

# Unmarshalling via a DOM document (for XPath binder) can be 5x slower than
# unmarshalling an input stream directly!
# This setting lets you avoid eager unmarshalling via DOM, unless you know you'll be using XPath
# (XPath should still work either way, but creating the binder is deferred where eager=false)
# since docx4j 3.3.0
docx4j.openpackaging.parts.JaxbXmlPartXPathAware.binder.eager.MainDocumentPart=false
docx4j.openpackaging.parts.JaxbXmlPartXPathAware.binder.eager.OtherParts=false


# This override available since docx4j 3.2.0
# Defaults to org/docx4j/jaxb/mc-preprocessor.xslt
docx4j.jaxb.JaxbValidationEventHandler=custom-preprocessor.xslt

# Whether to pretty print XML parts (defaults to true)
# since docx4j 3.2.0
docx4j.jaxb.formatted.output=false
# in 3.3.x this only works if docx4j.jaxb.marshal.canonicalize=false


# Whether to canonicalize during marshalling (defaults to false).  
# This is mainly for aesthetic purposes: the Sun/Oracle JAXB reference implementation
# writes a lot of unnecessary namespaces (each one in the JAXB context?).  MOXy is better.
# Set this to true to get rid of them via an extra step: canonicalization 
# since docx4j 3.3.1
docx4j.jaxb.marshal.canonicalize=false

# ImageMagick 7 deprecates convert; use magick instead. Defaults to imconvert.
# since docx4j 3.3.4
#org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage.ImageMagickExecutable=magick

# The styles part content used by WordprocessingMLPackage createPackage
# and by getStyleDefinitionsPart(true) where the styles part is null
# This override available since docx4j 3.2.0
docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart.DefaultStyles=org/docx4j/openpackaging/parts/WordprocessingML/styles.xml

# Used to try to activate a style (PropertyResolver.activateStyle) which isn't defined in the styles part
# This override available since docx4j 3.2.0
docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart.KnownStyles=org/docx4j/openpackaging/parts/WordprocessingML/KnownStyles.xml

docx4j.openpackaging.parts.WordprocessingML.FontTablePart.DefaultFonts=org/docx4j/openpackaging/parts/WordprocessingML/fontTable.xml

docx4j.openpackaging.parts.WordprocessingML.NumberingDefinitionsPart.DefaultNumbering=org/docx4j/openpackaging/parts/WordprocessingML/numbering.xml

# Embedded Fonts - extract to dir
# By default, docx4j will extract embedded fonts to dir 
# ~/.docx4all/temporary embedded fonts
# (creating it if necessary).
#docx4j.openpackaging.parts.WordprocessingML.ObfuscatedFontPart.tmpFontDir=c:\\temp


# OpenDoPE

# Whether to use the "quick n dirty" heuristic to treat some results as 
# boolean or int without allowing an exception to happen first. 
# Defaults to true.  True may be quicker.  False may be better for your XPaths.
# Advanced users may wish to try both. Please report your results in the forum. 
docx4j.openpackaging.parts.XmlPart.cachedXPathGetString.heuristic=true

# Whether to use the XSLT or non-XSLT implementation for the binding step.
# Defaults to BindingTraverserXSLT, which is slower, but fully featured.
#docx4j.model.datastorage.BindingHandler.Implementation=BindingTraverserNonXSLT

docx4j.model.datastorage.BindingTraverser.XHTML.Block.rStyle.Adopt=true

# For BindingTraverserXSLT, which xslt?
docx4j.model.datastorage.BindingTraverserXSLT.xslt=org/docx4j/model/datastorage/bind.xslt
# if a validation event occurs, causing probable loss of content,
# whether to produce output or not.  Default is false (consistent with previous behaviour).
# (since 3.3.6)
docx4j.model.datastorage.BindingTraverserXSLT.ValidationEventContinue=false

# .. placeholder to use instead of "Click here to enter text" 
# Defaults to OpenDoPE/placeholder.xml, and if nothing is there,
# will fallback to org/docx4j/model/datastorage/placeholder.xml (which is in the docx4j jar)
#docx4j.model.datastorage.placeholder=OpenDoPE/placeholder.xml

# You can set this to false if you don't use OpenDoPEReverter; it omits some empty content controls from the BindlingHandler
# step, so it may speed processing up marginally, and make ODH's output easier to read.  Defaults to true. 
docx4j.model.datastorage.OpenDoPEReverter.Supported=true



# These affect the output of numbers in Arabic; see further RunFontSelector
# For further discussion, please see http://www.docx4java.org/forums/pdf-output-f27/arabic-number-digits-in-pdf-output-t1826.html
# Value can be 'Context'|'National'
docx4j.MicrosoftWindows.Region.Format.Numbers.NativeDigits=National
# Value can be 'Hindi'|'Context'|'Arabic'|'System'; default is Arabic ie 1234
docx4j.MicrosoftWord.Numeral=Arabic

# Whether events are published asynchronously (in which case order is not guaranteed).  Default is false. 
docx4j.events.Docx4jEvent.PublishAsync=false

# Provides default toc style definitions,
# for use if none are defined in the docx itself.
docx4j.toc.TocStyles.xml=org/docx4j/toc/TocStyles.xml


##############################
# JAXP factories

# Properties which XmlUtils uses to determine the factory class to be used for SAX style parsing 
# Use the following, if specified here
#javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
# If that is commented, then do nothing if the following is true (default is false)
#docx4j.javax.xml.parsers.SAXParserFactory.donotset=true
# If the javax.xml.parsers.SAXParserFactory is not specified, and donotset is false,
# AND you are using Sun/Oracle Java 6/7,
# "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl" will be used 
# (avoiding Crimson).

# Properties which XmlUtils uses to determine the factory class to be used for DOM style parsing 
# Use the following, if specified here
#javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
# If that is commented, then do nothing if the following is true (default is false)
#docx4j.javax.xml.parsers.DocumentBuilderFactory.donotset=true
# If the javax.xml.parsers.DocumentBuilderFactory is not specified, and donotset is false,
# AND you are using Sun/Oracle Java 6/7,
# "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl" will be used 


# TransformerFactory Property? that specifies the factory class to be used when transforming documents using 
# the javax.xml.transform packages.
# "org.apache.xalan.processor.TransformerFactoryImpl" 
# is used in docx4j.  Requires Xalan on your classpath.
# Note: if you chose something else, HTML and PDF output won't work, since
# these rely on Xalan extension functions. 
# docx4j stores a TransformerFactory in XmlUtils. It shouldn't affect the system-wide property. 
# Bottom line: add Xalan to your classpath. this property is NOT IMPLEMENTED.

# Xalan <= 2.7.2 can't handle Unicode astral characters
# See https://issues.apache.org/jira/browse/XALANJ-2419
# Set this to true for an experimental workaround.  Default is false.
# Hopefully the Xalan maintainers will fix the bug, so this workaround
# becomes unnecessary.  Vote for the issue at the above URL!
# since 3.3.0  
docx4j.xalan.XALANJ-2419.workaround=true

# XPathFactory  NOT USED

##############################
# docx4j commercial/enterprise settings


# MergePptx setup
# ^^^^^^^^^^^^^^^
# AlternateContent needs to be removed from the Slides.
# If it isn't, Powerpoint 2010 might complain that the presentation
# needs to be repaired.
# docx4j 3.0 does this (actually, nightlies post 2013 04 29).  But if you are using
# docx4j 2.8.1 (or a nightly earlier than 2013 04 29), then setting this to
# true will have MergePptx do it.  Default is false. 
MergePptx.AlternateContentFallback=true

# XML Dig Signature setup
# ^^^^^^^^^^^^^^^^^^^^^^^
# @since 3.3.0

# The property XAdESLevel supports the following values:
# 0 - 	XAdES Off (Create XML-DSig signatures)
# 1 - 	Create XAdES-EPES signatures 
# 2 - 	Create XAdES-T signatures
com.plutext.dsig.XAdES.Level=1


# if you use XAdES for a digital signature in Office 2013, the digital signature will not be compatible 
# with Office 2010 or 2007 unless you configure the Group Policy setting, Do not include 
# XAdES reference object in the manifest, and set it to Enabled. This is similar.
# TODO - NOT IMPLEMENTED
# com.plutext.dsig.XAdES.ExcludeFromManifest=true
 
# Check the XAdES portions of a digital signature
# This policy setting lets you specify whether docx4j checks the XAdES portions of a digital signature 
# when validating a digital signature for a document.
# TODO - NOT IMPLEMENTED
# com.plutext.dsig.XAdES.Validation=true

# Do not allow expired certificates when validating signatures
# This policy setting lets you configure whether Office 2013 applications accept expired digital certificates 
# when verifying digital signatures.
# TODO - NOT IMPLEMENTED
# com.plutext.dsig.ValidationAllowExpiredCertificates=true


  