I have been playing for a while with files that have small bits of
FlateDecode, ASCIIHexDecode, ASCII85Decode, and LZWDecode streams. My
familiarity with these compression methods is limited to using the
unix uncompress, gunzip and other compiled commands. At one time I was
able to conveniently decode base64 fragments in emacs using the
following commands.
base64-decode-region
Command: Base64-decode the region between BEG and END.
hexlify-buffer and dehexlify-buffer
Is there a solution within emacs or someone has a method to use
libraries or to translate code from python/ruby etc. I could not find
any (apropos decode) with reference to the above compression methods.
In ruby, FlateDecode and ASCII85Decode can be decompressed with
existing ruby module which are zlib and Ascii85.
Thank You.
P.S. I am including links that may help anyone interested.
http://www.frugalcorner.com/lzw/lzwfree.html
http://groups.google.com/group/comp.compression/browse_thread/thread/2d88635982a60b54/15fc41f6e3556d9?q=Decompressing+LZW+compression+from+PDF#015fc41f6e3556d9
The PostScript spec either directly, or via authoritative references,
documents the compression formats.
Further, since PostScript (doh!) supports these formats,
you can simply use the Filter implementations
in PostScript (e.g. GhostScript) to decompress data.
BugBear
I did not get enough ideas so I am expanding my posting from
gnu.emacs.help, gnu.emacs.sources, gnu.emacs.gnus, comp.text.pdf
to
gnu.emacs.help,comp.lang.lisp,comp.compression,comp.lang.scheme,comp.text.pdf
Whilst one could write code to do this, you are better off using your
existing knowledge and commands. In particular "shell-command-on-
region" (normal binding M-| ) allows you to feed a piece of a buffer
through an external command such as the uncompress, and gunzip commands
you list. If you invoke it with a prefix then the region is replaced by
the output.