# status work in progress (though stalled now). has three tools so far: - pdf/text, converts a pdf to text (though does not implement character encoding/sets, and whitespace is often wrong). - pdf/walk, a tk program for navigation the structure of a pdf. - pdf/inflate, rewrites pdf file, reformatting pdf objects and decompressing text. there is no code to render a pdf on a canvas. # intro this package contains a library & tools for reading pdf files. in the future, perhaps a pdf renderer can be build on top of this code. there is no documentation since this is a work in progress. feel free to fix/improve! # install make sure you have $ROOT set, now "mk install" to compile and install the files. when building from within inferno, insert SYSHOST=Inferno and ROOT= in the mk invocations to override the values in the mkconfig. # download the latest version can be found at: http://www.ueber.net/code/r/pdfread # licence & author appl/lib/pdfinflate.b is copyright & subject to the license from vitanuova. all other files are in the public domain. this code has been written by mechiel lukkien, reachable at firstname.lastname@example.org or email@example.com. # todo doc/syntax.txt has some random blurps on the syntax/structure of pdf files. todo.txt has a (probably outdated/inaccurate) list of things to improve. - lzw decoding sometimes breaks - improve the parser appl/lib/pdfread.b, perhaps more proper tokenizer, and probably use exceptions for error propagation. - implement DCTDecode filter. - pdf/inflate: fix Prev byte offset in trailers - pdf/inflate: fix remaining bugs. like fonts that are wrong in the new file. - pdf/inflate: if compressed data has non-ascii in it, just keep the original encoding? image-specific encodings can probably be kept too, no need to make the file size huge with raw bitmaps.