script-publish.py: Add debugging output for the chunk stream
[mw2txt.git] / posts / PDF.mdwn
1 [[!meta  title="Portable document format"]]
2
3 [PDF][] is a common format used to distribute content online, and
4 provides more of a "digital paper" feel than more flexible formats
5 like [[HTML]].  This determinism is why tools like [[LaTeX]] work well
6 with PDFs.  Unfortunately, the PDF specs have evolved over the years,
7 incorperating more of HTMLs "features" like JavaScript (PDF 1.3,
8 2000), and as the specs get more complicated, PDF readers get larger
9 and more complicated, and there are more possiblities for security
10 holes.
11
12 For a quick, quasi-technical introduction, see Didier Stevens's
13 articles on the [structure of PDF files][struct] and [malicious
14 variants][mal] as well as his list of [parsing tools][tools].  If you
15 want a bit more detail, Didier wrote up [a 23 page summary][book].
16
17
18 [PDF]: http://en.wikipedia.org/wiki/Portable_Document_Format
19 [struct]: http://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/
20 [mal]: http://blog.didierstevens.com/2008/04/29/pdf-let-me-count-the-ways/
21 [tools]: http://blog.didierstevens.com/programs/pdf-tools/
22 [book]: http://blog.didierstevens.com/2010/09/26/free-malicious-pdf-analysis-e-book/