Html2Pdf

Gem Version Dependency Status Code Climate

Convert multiple html or xhtml files to pdfs using the power of Ghostscript and Wkhtmltopdf.

Installation

Mandatory Requirement

This gem is built on top of my other gems

Dependencies

  • wkhtmltopdf (Linux/OSX)
  • Ghostscript (Linux/OSX)
  • OSX or Linux (no Windows sorry)

Usage

gem install html2pdf

For list of usage type

html2pdf

Which should give the following options

Usage:
html2pdf export [OPTIONS]

Options:
  -b, [--base-dir=BASE_DIR]                # Base directory
                                           # Default: . (current directory)
  -n, [--inc-words=one two three]          # List of words to be included in the result
  -x, [--exc-words=one two three]          # List of words to be excluded from the result
  -i, [--ignore-case], [--no-ignore-case]  # Match case insensitively
                                           # Default: true
  -r, [--recursive], [--no-recursive]      # Search for files recursively
                                           # Default: true
  -v, [--version], [--no-version]          # Display version information

Example Usage

  • Convert all xhtml and html from test/fixtures/samples directory recursively html2pdf -b test/fixtures/samples -r Before the run test/fixtures/samples/ ├── demo1_xxx.rb.xhtml ├── demo2_xxx.rb.xhtml └── sub_dir ├── demo3_xxx.rb.xhtml └── demo4_xxx.rb.xhtml After the above command is executed:

You should get the output html2pdf-output.tar.gz which contain the pdf version of the input files above. e.g.

Usage Tips

This is my personal use case

  • Use vim_printer which export any source code to list of (x)html files in a single tar.gzipped file.

  • Use the output from vim_printer as input to this program so that you get the pdf version of it.

  • Then combine the generated pdf files using pdfs2pdf gem to produce one pdf file

Contributing

  1. Fork it ( http://github.com//code_exporter/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request