A clojure only pdf library with the goal of being elegant.
Based on the Adobe 2.0 PDF Specification
This library is intended to be data centric. You can build PDF documents using core language eleoquency.
There are many builders provider with examples you can find, by the great news is that even if high-level api does not contain what you are looking for. All contextual representations are just data and you can manipulate them to your liking.
- PDF names and clojure keywords are mapped between kebab-case and PasalCase (ex: :font-name = /FontName)
- Clojure symbols go directly to PDF Name (ex: 'SubType = /SubType)
- PDF arrays are expressed as sequences
- PDF dictionaries are expressed as maps
- PDF data streams are expressed as byte-array
The PDF document format is both incredibly impressive and unnaturally wide. I work with PDF a good bit so I do intended to add some of the more intricate parts of the format. For now my primary goal is to create a library elegant for producing PDFs from clojure contexts. Building out the elegant clojure internal context system for large support preceeds building a proper parser to deserialize into this well made context.
- PDF Support
- Pages
- Create pages
- Resize pages
- Layout
- Create a layout engine (ouch)
- Content
- Text
- Fonts
- Embed a font to a document
- Fonts
- Images
- Embedded PDFs (yeah that's a thing)
- Text
- Serialization
- File Serializer
- Deserialization
- Parser
- PDF Verification
- Warnings
- Errors
- Pages