Plutext is pleased to now be able to offer a new and improved way of converting docx to PDF.
The key is to avoid FO entirely, and instead to use a rendering engine built from the ground up to give the same results Word does.
You can try it now, at https://converter-eval.plutext.com/
In docx4j 3.3.0 and later, this is the default way of creating a PDF. The default configuration is to use https://converter-eval.plutext.com:443 for conversion. See the link below for how to change that to your local install.
A side benefit is that this new approach is much faster than the FO approach.
We're offering this as a commercial component, so we can continue to invest in it. The existing FO approach will of course remain free and open source. (To use that instead, just add the export-FO jar and its dependencies to your classpath. See further https://github.com/plutext/docx4j-export-fo )
Pricing and more info is at https://converter-eval.plutext.com/
To use it from Java, see https://converter-eval.plutext.com/client_java.html