Skip to content

An attempt to make the iText API not the most terrible thing in the world.

Notifications You must be signed in to change notification settings

mattdeboard/clj-itext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clj-itext

The iText API is extremely painful. This is an effort to make it less so by wrapping the Java bindings in more friendly interfaces.

Features:

  • Simplified PdfReader instance generation
  • ...more coming soon...

Example Usage

(pdf<- "/path/to/sample.pdf")

returns a PdfReader instance with the following metadata:

  • :bookmarks
  • :pagecount
  • :filename

Using metadata removes the need to write extra code in your application to get this information. It can be accessed via meta, e.g. (meta (pdf<- "/path/to/sample.pdf")).

Also included is the burst fn:

(burst (pdf<- "/path/to/sample.pdf"))

This fn takes a PDF with n pages and explodes it into n PDF files, one for each page. Its return value is a list of the new filenames. (By default, for a file named sample.pdf, the new filenames will be sample-n.pdf, with n representing the index of that page in the master document.)

To Do

  • Smooth out PdfWriter instantiation & interaction (this is the hairiest wart on the iText API, IMO)
  • Other human-friendly improvements to the API as they come up.

License

Copyright © 2012 Matt DeBoard

Distributed under the Eclipse Public License, the same as Clojure.

About

An attempt to make the iText API not the most terrible thing in the world.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published