agilecreativity/pdfs2pdf

View on GitHub
README.md

Summary

Maintainability
Test Coverage
## pdfs2pdf

[![Gem Version](https://badge.fury.io/rb/pdfs2pdf.svg)](http://badge.fury.io/rb/pdfs2pdf)
[![Dependency Status](https://gemnasium.com/agilecreativity/pdfs2pdf.png)](https://gemnasium.com/agilecreativity/pdfs2pdf)
[![Code Climate](https://codeclimate.com/github/agilecreativity/pdfs2pdf.png)](https://codeclimate.com/github/agilecreativity/pdfs2pdf)

Combine multiple PDF files into a single pdf file with combine table of centent using [Ghostscript][].

### What it does?

Says you have the follow pdf files

```
./test/fixtures/samples/demo1_xxx.rb.xhtml.pdf
./test/fixtures/samples/demo2_xxx.rb.xhtml.pdf
./test/fixtures/samples/sub_dir/demo3_xxx.rb.xhtml.pdf
./test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf
```

Which have the following content:

- File: `./test/fixtures/samples/demo1_xxx.rb.xhtml.pdf`

![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo1.png)

- File: `./test/fixtures/samples/demo2_xxx.rb.xhtml.pdf`

![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo2.png)

- File: `./test/fixtures/samples/sub_dir/demo3_xxx.rb.xhtml.pdf`

![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo3.png)

- File: `./test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf`

![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo4.png)

When you run the following command:

```
gem install pdfs2pdf
cd ./test/fixtures/samples
pdfs2pdf --recursive
```

Will produce the result like the following

- File: `pdfs2pdf_samples.pdf` (excepted screenshot)

![](https://github.com/agilecreativity/pdfs2pdf/raw/master/final_output.png)

### Requirements

### Mandatory Requirement

[Ghostscript][]

- Please follow the instruction [here](http://ghostscript.com/doc/current/Install.htm) for
installation from source.

- Alternatively, for Ubuntu you can try `sudo apt-get install ghostscript` and under OSX
you can use [Homebrew](https://github.com/Homebrew/homebrew).

### Usage

```sh
gem install pdfs2pdf
```

### Usage/Synopsis:

```
Usage:
  pdfs2pdf

Options:
  -b, [--base-dir=BASE_DIR]            # Base directory
                                       # Default: . (current directory)
  -r, [--recursive], [--no-recursive]  # Search for files recursively
                                       # Default: true
  -v, [--version], [--no-version]      # Display version information

Combine multiple pdfs into one file with bookmarks
```

To combine multiple pdfs just try something like

```
cd ./test/fixtures/samples
pdfs2pdf -r
```

This will merge all the pdf files from `test/fixtures/samples` and generate the
`pdfs2pdf_samples.pdf`.

### Contributing

1. Fork it ( http://github.com/agilecreativity/pdfs2pdf/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

[Ghostscript]: http://www.ghostscript.com/
[Semantic Versioning]: http://semver.org