{"id":23284200,"url":"https://github.com/agilecreativity/pdfs2pdf","last_synced_at":"2025-04-06T15:15:15.587Z","repository":{"id":16365871,"uuid":"19116031","full_name":"agilecreativity/pdfs2pdf","owner":"agilecreativity","description":"Combine multiple pdfs into one with combined bookmarks","archived":false,"fork":false,"pushed_at":"2018-03-15T03:25:21.000Z","size":626,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T05:01:58.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agilecreativity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-24T16:40:33.000Z","updated_at":"2018-03-15T03:25:14.000Z","dependencies_parsed_at":"2022-09-13T20:01:36.164Z","dependency_job_id":null,"html_url":"https://github.com/agilecreativity/pdfs2pdf","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fpdfs2pdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fpdfs2pdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fpdfs2pdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fpdfs2pdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agilecreativity","download_url":"https://codeload.github.com/agilecreativity/pdfs2pdf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500476,"owners_count":20948880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-20T01:38:38.036Z","updated_at":"2025-04-06T15:15:15.556Z","avatar_url":"https://github.com/agilecreativity.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## pdfs2pdf\n\n[![Gem Version](https://badge.fury.io/rb/pdfs2pdf.svg)](http://badge.fury.io/rb/pdfs2pdf)\n[![Dependency Status](https://gemnasium.com/agilecreativity/pdfs2pdf.png)](https://gemnasium.com/agilecreativity/pdfs2pdf)\n[![Code Climate](https://codeclimate.com/github/agilecreativity/pdfs2pdf.png)](https://codeclimate.com/github/agilecreativity/pdfs2pdf)\n\nCombine multiple PDF files into a single pdf file with combine table of centent using [Ghostscript][].\n\n### What it does?\n\nSays you have the follow pdf files\n\n```\n./test/fixtures/samples/demo1_xxx.rb.xhtml.pdf\n./test/fixtures/samples/demo2_xxx.rb.xhtml.pdf\n./test/fixtures/samples/sub_dir/demo3_xxx.rb.xhtml.pdf\n./test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf\n```\n\nWhich have the following content:\n\n- File: `./test/fixtures/samples/demo1_xxx.rb.xhtml.pdf`\n\n![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo1.png)\n\n- File: `./test/fixtures/samples/demo2_xxx.rb.xhtml.pdf`\n\n![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo2.png)\n\n- File: `./test/fixtures/samples/sub_dir/demo3_xxx.rb.xhtml.pdf`\n\n![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo3.png)\n\n- File: `./test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf`\n\n![](https://github.com/agilecreativity/pdfs2pdf/raw/master/demo4.png)\n\nWhen you run the following command:\n\n```\ngem install pdfs2pdf\ncd ./test/fixtures/samples\npdfs2pdf --recursive\n```\n\nWill produce the result like the following\n\n- File: `pdfs2pdf_samples.pdf` (excepted screenshot)\n\n![](https://github.com/agilecreativity/pdfs2pdf/raw/master/final_output.png)\n\n### Requirements\n\n### Mandatory Requirement\n\n[Ghostscript][]\n\n- Please follow the instruction [here](http://ghostscript.com/doc/current/Install.htm) for\ninstallation from source.\n\n- Alternatively, for Ubuntu you can try `sudo apt-get install ghostscript` and under OSX\nyou can use [Homebrew](https://github.com/Homebrew/homebrew).\n\n### Usage\n\n```sh\ngem install pdfs2pdf\n```\n\n### Usage/Synopsis:\n\n```\nUsage:\n  pdfs2pdf\n\nOptions:\n  -b, [--base-dir=BASE_DIR]            # Base directory\n                                       # Default: . (current directory)\n  -r, [--recursive], [--no-recursive]  # Search for files recursively\n                                       # Default: true\n  -v, [--version], [--no-version]      # Display version information\n\nCombine multiple pdfs into one file with bookmarks\n```\n\nTo combine multiple pdfs just try something like\n\n```\ncd ./test/fixtures/samples\npdfs2pdf -r\n```\n\nThis will merge all the pdf files from `test/fixtures/samples` and generate the\n`pdfs2pdf_samples.pdf`.\n\n### Contributing\n\n1. Fork it ( http://github.com/agilecreativity/pdfs2pdf/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n[Ghostscript]: http://www.ghostscript.com/\n[Semantic Versioning]: http://semver.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilecreativity%2Fpdfs2pdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagilecreativity%2Fpdfs2pdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilecreativity%2Fpdfs2pdf/lists"}