information about this package can be found in the README. here is a html-version of the README:
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.
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!
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.
the latest version can be found at:
http://www.ueber.net/code/r/pdfread
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 mechiel@ueber.net or mechiel@xs4all.nl.
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.
improve the parser appl/lib/pdfread.b, perhaps more proper tokenizer, and probably use exceptions for error propagation.
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.
to clone & pull:
hg clone http://www.ueber.net/hgsrv/pdfread/
hg clone static-http://www.ueber.net/who/mjl/hg/pdfread/
download a snapshot of the latest version: pdfread-5.tgz.
the files in the latest revision can be found at /hg/pdfread/files/tip/. a specific revision can be access by replacing "tip" with the revision number, (partial) nodeid or tag name. a few direct links to useful files in the latest revision:
| rev | nodeid | when | diff | why |
|---|---|---|---|---|
| 5 | 965842843dea | 2 years | diff | add mkconfig, mention it in README, style nits. |
| 4 | 3c8cf4b20d9e | 3 years | diff | add simple-minded pdf/inflate. it rewrites pdf files, reformattin... |
| 3 | d2c4817c8224 | 3 years | diff | make style in line. modules are declared after inclusion of .m, i... |
| 2 | 4edd1ccd7ddb | 3 years | diff | fix up a README for putting online. make it compile again. |
| 1 | c492b5d3a096 | 3 years | diff | fix mkfiles for /man & /module |
| 0 | 7a243cf4fbe5 | 4 years | - | import pdfreading code. really just parsing the pdf document stru... |