Page 1 of 1

Docx4j 6.1.0 release candidate - please test

PostPosted: Fri Dec 07, 2018 4:21 pm
by jason
Docx4j 6.1.0 is likely to be released within the next week.

A release candidate is available at https://docx4java.org/docx4j/docx4j-6.1 ... didate.jar

Please try it to confirm/verify it works for you, and provide feedback here.

From the changelog at https://github.com/plutext/docx4j/blob/ ... ANGELOG.md

Notable Changes in Version 6.1.0

IMPORTANT FIX: Force namespaces used in mc:choice to be declared top-level. If they aren't there, Word can't open the docx.

mc:Ignorable: support attribute in footnotes/endnotes, numbering, styles (already supported in main and headers/footers)

w14 namespace handling improvements: Don't drop these attributes in mc-preprocessor.xslt; Support w14:EG_RPrOpenType elements

PDF Converter now defaults to localhost endpoint to avoid information leakage. (controlled by docx4j property com.plutext.converter.URL) The localhost endpoint will only work if you download and install the converter there! If you choose to use converter-eval.plutext.com, please only use it for light testing purposes.

BookmarksIntegrity checking now part of docx4j proper; used before ToC updating

AttachTemplate now part of docx4j proper; method cloneAs

OpenDoPE finisher: optional step in which formatting can be applied (this is often neater than using conditional content controls just for formatting)

OpenDoPE RemovalHandler: new Quantifier.ALL_BUT_PLACEHOLDERS (ie remove content controls, but keep any placeholders inserted where there is empty content), ability to specify Quantifier via docx4j.properties; also ability to substitute your own RemovalHandler.xslt.

OpenDoPE: simplified component processing model [requires Enterprise]:

  • components don't have to be at the top paragraph level of the content tree, BUT:
  • component processing is now done before condition/repeat processing
  • component processing is not recursive anymore
components typically use the "main" answer file component processing is OFF by default Enable it with property "docx4j.model.datastorage.OpenDoPEHandlerComponents.enabled"

Re: Docx4j 6.1.0 release candidate - please test

PostPosted: Thu Dec 13, 2018 6:45 pm
by Shreyansh
I am using DocX4j4Android4 on android.

I was using docx4j-3.3.5-SNAPSHOT2-shaded.jar version of docx4j.

But when i was loading .docx document using

Code: Select all
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(path);


i was getting this error
Code: Select all
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err: org.docx4j.openpackaging.exceptions.Docx4JException: Error reading from the stream
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:373)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:270)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:250)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:168)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at docx4j.org.docx4j4android4.MainActivity.ClassifyDocx(MainActivity.java:121)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at docx4j.org.docx4j4android4.MainActivity.access$100(MainActivity.java:61)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at docx4j.org.docx4j4android4.MainActivity$DoSomeTask.doInBackground(MainActivity.java:659)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at docx4j.org.docx4j4android4.MainActivity$DoSomeTask.doInBackground(MainActivity.java:645)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:295)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at java.lang.Thread.run(Thread.java:818)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err: Caused by: java.io.IOException: Mark has been invalidated.
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at java.io.BufferedInputStream.reset(BufferedInputStream.java:336)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:     at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:371)
12-13 12:57:36.428 30969-31735/docx4j.org.docx4j4android4 W/System.err:    ... 13 more


so then i loaded document using this code
Code: Select all
ZipPartStore partLoader = new ZipPartStore(path);
            final Load3 loader = new Load3(partLoader);
            WordprocessingMLPackage wordMLPackage = (WordprocessingMLPackage) loader.get();


Now, i need to use docx4j-6.1.0-release-candidate.jar version of docx4j, because in older release i am getting error in editing header/footer and you suggested me to use new release
here https://www.docx4java.org/forums/docx-java-f6/error-when-getting-content-from-headerpart-or-footerpart-t2405.html

but in new realease also, i can not use (getting same error)
Code: Select all
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(path);


or (getting same error)
Code: Select all
WordprocessingMLPackage wordMLPackage = Docx4j.load(path);


and when using this code
Code: Select all
ZipPartStore partLoader = new ZipPartStore(path);
            final Load3 loader = new Load3(partLoader);
            WordprocessingMLPackage wordMLPackage = (WordprocessingMLPackage) loader.get();


i am getting this error
Code: Select all
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
                                                                            Process: docx4j.org.docx4j4android4, PID: 17179
                                                                            java.lang.RuntimeException: An error occurred while executing doInBackground()
                                                                                at android.os.AsyncTask$3.done(AsyncTask.java:309)
                                                                                at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
                                                                                at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
                                                                                at java.util.concurrent.FutureTask.run(FutureTask.java:242)
                                                                                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                                                at java.lang.Thread.run(Thread.java:818)
                                                                             Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/commons/compress/archivers/zip/ZipFile;
                                                                                at org.docx4j.openpackaging.io3.stores.ZipPartStore.<init>(ZipPartStore.java:97)
                                                                                at docx4j.org.docx4j4android4.MainActivity.ClassifyDocx(MainActivity.java:122)
                                                                                at docx4j.org.docx4j4android4.MainActivity.access$100(MainActivity.java:61)
                                                                                at docx4j.org.docx4j4android4.MainActivity$DoSomeTask.doInBackground(MainActivity.java:659)
                                                                                at docx4j.org.docx4j4android4.MainActivity$DoSomeTask.doInBackground(MainActivity.java:645)
                                                                                at android.os.AsyncTask$2.call(AsyncTask.java:295)
                                                                                at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                                                                                at java.lang.Thread.run(Thread.java:818) 
                                                                             Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.commons.compress.archivers.zip.ZipFile" on path: DexPathList[[zip file "/data/app/docx4j.org.docx4j4android4-1/base.apk"],nativeLibraryDirectories=[/data/app/docx4j.org.docx4j4android4-1/lib/arm, /vendor/lib, /system/lib]]
                                                                                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                                                at org.docx4j.openpackaging.io3.stores.ZipPartStore.<init>(ZipPartStore.java:97) 
                                                                                at docx4j.org.docx4j4android4.MainActivity.ClassifyDocx(MainActivity.java:122) 
                                                                                at docx4j.org.docx4j4android4.MainActivity.access$100(MainActivity.java:61) 
                                                                                at docx4j.org.docx4j4android4.MainActivity$DoSomeTask.doInBackground(MainActivity.java:659) 
                                                                                at docx4j.org.docx4j4android4.MainActivity$DoSomeTask.doInBackground(MainActivity.java:645) 
                                                                                at android.os.AsyncTask$2.call(AsyncTask.java:295) 
                                                                                at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                                                                                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                                                                                at java.lang.Thread.run(Thread.java:818) 
                                                                               Suppressed: java.lang.ClassNotFoundException: org.apache.commons.compress.archivers.zip.ZipFile
                                                                                at java.lang.Class.classForName(Native Method)
                                                                                at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                                                at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                                                      ... 12 more
                                                                             Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

because there is no 'commons' package inside 'org.apache' package.

please help me loading the file.

thanks

Re: Docx4j 6.1.0 release candidate - please test

PostPosted: Sat Dec 15, 2018 10:53 am
by jason
I'll look into running 6.1.0 on Android some time after the release.

Re: Docx4j 6.1.0 release candidate - please test

PostPosted: Tue Dec 18, 2018 5:58 pm
by Shreyansh
sure, it would be very helpful if you look as soon as possible because my project is stuck on this point,
and Thanks for this awesome library :) :)

Re: Docx4j 6.1.0 release candidate - please test

PostPosted: Mon Dec 31, 2018 7:58 pm
by Shreyansh
Hi Jason,

Did you got time to run Docx4j 6.1.0 on Android?

regards

Re: Docx4j 6.1.0 release candidate - please test

PostPosted: Tue Jan 01, 2019 6:39 pm
by jason