= GJMAN is a handyman with some useful tools Gjman is my neighbourhood friendly handyman with some useful tools. Tools available will remain diverse, and are added as and when i need them. == Getting Started It's hosted on gemcutter.org. $ sudo gem install gjman Under the hood, gjman uses some java libs, u can either run it using: * jruby, or * any rubies with rjb installed, or * any rubies, as long as java can be found in $PATH == PDF Tools === 1. Merging (2 or more pdfs) require 'gjman/pdf' Gjman::PDF.merge('/path/to/pdf1', '/path/to/pdf2', '/path/to/pdf3') # >> merges the 3 pdfs & return the merged pdf path Gjman::PDF.merge('/path/to/pdf1', '/path/to/pdf2', :to => '/path/to/merged/pdf') # >> merges the pdfs & return the merged pdf path, which is '/path/to/merged/pdf' === 2. Testing if 2 pdfs have the same content require 'gjman/pdf' Gjman::PDF.match?('/path/to/pdf1', '/path/to/pdf2') # >> true/false if the 2 pdfs have same/different content Note: * textual comparison takes into account wordings, positioning, sizes, fonts, colors, backgrounds & styles (bold, italic, etc) * image comparison takes into account positioning, size, & byte length (if 2 images share the same byte length, they are taken to be the same) === 3. Compressing/uncompressing a pdf require 'gjman/pdf' Gjman::PDF.compress('/path/to/pdf') # >> compresses pdf & returns the compressed pdf path Gjman::PDF.compress('/path/to/pdf', :to => '/path/to/compressed/pdf') # >> compresses pdf to /path/to/compressed/pdf & returns it The above applies to uncompression as well. == Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Copyright Copyright (c) 2010 ngty77[at]gmail[dot]com. See LICENSE for details.