Project

gjman

0.0
No commit activity in last 3 years
No release in over 3 years
Gjman is my neighbourhood friendly handyman with some useful tools. Tools available will remain diverse, and are added as and when i need them.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
 Project Readme

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 © 2010 ngty77[at]gmailcom. See LICENSE for details.