snappy-java icon indicating copy to clipboard operation
snappy-java copied to clipboard

How can I decompress .iwa files format?

Open egorbarkovsky opened this issue 4 years ago • 3 comments

Hey, I'm trying to work with iWork 13' Format, and for my aim I have to decompress .iwa files using java. But when I tried to do this using you library, got this: Exception in thread "main" java.io.IOException: FAILED_TO_UNCOMPRESS(5) at org.xerial.snappy.SnappyNative.throw_error(SnappyNative.java:112) at org.xerial.snappy.SnappyNative.rawUncompress(Native Method) at org.xerial.snappy.Snappy.rawUncompress(Snappy.java:478) at org.xerial.snappy.Snappy.uncompress(Snappy.java:517) at org.xerial.snappy.Snappy.uncompress(Snappy.java:492) at Client.main(Client.java:25)

How can I prove that?

egorbarkovsky avatar Nov 14 '20 17:11 egorbarkovsky

@xerial

egorbarkovsky avatar Nov 14 '20 17:11 egorbarkovsky

As I read this description of iwa format, it is loosely the snappy framing format, but does not include required portions of the format.

If it actually adhered to the spec, you could use https://github.com/xerial/snappy-java/blob/master/src/main/java/org/xerial/snappy/SnappyFramedInputStream.java. Based on that doc, however, it seems that will not work. You could use the SnappyFramedInputStream source as a starting point to process the custom framing format of iwa files.

bokken avatar Nov 14 '20 17:11 bokken

Thank you for your answer! However, may be you know how can we add this "required Stream Identifier chunk" to the iwa file format buffer?

As I read this description of iwa format, it is loosely the snappy framing format, but does not include required portions of the format.

If it actually adhered to the spec, you could use https://github.com/xerial/snappy-java/blob/master/src/main/java/org/xerial/snappy/SnappyFramedInputStream.java. Based on that doc, however, it seems that will not work. You could use the SnappyFramedInputStream source as a starting point to process the custom framing format of iwa files.

egorbarkovsky avatar Dec 01 '20 11:12 egorbarkovsky