{ "info": { "author": "Philip Stark, Fred Wenzel", "author_email": "git@codechaos.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Topic :: Utilities" ], "description": "Stapler\n=======\n\nStapler is a pure Python alternative to\n`PDFtk `__, a tool for manipulating PDF\ndocuments from the command line.\n\nHistory\n-------\n\nPDFtk was written in Java and C++, and is natively compiled with gcj.\nSadly, it has been discontinued a few years ago and bitrot is setting in\n(e.g., it does not compile easily on a number of platforms).\n\nPhilip Stark decided to look for an alternative and found pypdf, a PDF\nlibrary written in pure Python. He couldn't find a tool which actually\nused the library, so he started writing his own.\n\nVersion 0.3 of stapler was completely refactored by Fred Wenzel. He also\nadded tests and awesome functionality.\n\nLike pdftk, stapler is a command-line tool. If you would like to add a\nGUI, compile it into a binary for your favorite platform, or contribute\nanything else, feel free to fork and send a pull request.\n\nContributors and Authorship\n---------------------------\n\nStapler version 0.2 was written in 2009 by Philip Stark. Stapler version\n0.3 was written in 2010 by Fred Wenzel.\n\nFor a list of contributors, check the ``CONTRIBUTORS`` file.\n\nChange log (sorta)\n------------------\n\n- **0.3.3** include try-except blocks for supporting legacy pyPdf\n if needed. Also fixes some PyPI issues like the missing License Trove\n classifier and some dependencies.\n\n- **0.3.0** Refactoring by Fred Wenzel and now using PyPDF2\n\n- **0.2.0** Feature completeness using original pyPdf\n\nLicense\n-------\n\nStapler is distributed under a BSD license. A copy of the BSD Style\nLicense used can be found in the file ``LICENSE``.\n\nUsage\n-----\n\nThere are the following modes in Stapler:\n\nselect/delete (called with ``sel`` and ``del``, respectively)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n``sel`` is also available as ``cat`` for compatibility with my\npersonal muscle memory. :)\n\nWith select, you can cherry-pick pages from pdfs and concatenate them\ninto a new pdf file.\n\nSyntax:\n\n::\n\n stapler sel input1 page_or_range [page_or_range ...] [input2 p_o_r ...]\n\nExamples:\n\n::\n\n # concatenate a and b into output.pdf\n stapler sel a.pdf b.pdf output.pdf\n\n # generate a pdf file called output.pdf with the following pages:\n # 1, 4-8, 20-40 from a.pdf, 1-5 from b.pdf in this order\n stapler sel a.pdf 1 4-8 20-40 b.pdf 1-5 output.pdf\n\n # reverse some of the pages in a.pdf by specifying a negative range\n stapler sel a.pdf 1-3 9-6 10 output.pdf\n\nThe delete command works almost exactly the same as select, but inverse.\nIt uses the pages and ranges which you *didn't* specify.\n\nsplit/burst:\n~~~~~~~~~~~~\n\nSplits the specified pdf files into their single pages and writes each\npage into it's own pdf file with this naming scheme:\n\n::\n\n ${origname}_${zero-padded page no}.pdf\n\nSyntax:\n\n::\n\n stapler split input1 [input2 input3 ...]\n\nExample for a file foobar.pdf with 20 pages:\n\n::\n\n $ stapler split foobar.pdf\n $ ls\n foobar_01.pdf foobar_02.pdf ... foobar_19.pdf foobar_20.pdf\n\nMultiple files can be specified, they will be processed as if you called\nsingle instances of stapler.\n\nzip:\n~~~~\n\nWith zip, you can cherry-pick pages from pdfs (like select). The pages\nfrom each pdf are merged together in an interleaving manner. This can be\nused to collate a pdf with odd pages and a pdf with even pages into a\nsingle file.\n\nSyntax: stapler zip input1 [range[rotation]] [range ...] [input2\n[range...] ...] out\n\nExamples:\n\n::\n\n # combine a pdf with odd pages and a pdf with even pages into output.pdf\n stapler zip odd.pdf even.pdf output.pdf\n\n # combine a.pdf b.pdf and c.pdf, but use only some pages of c.pdf\n stapler zip a.pdf b.pdf c.pdf 1-3 output.pdf\n\nIf one of the ranges is shorter than the others, stapler will continue\nto merge the remaining pages.\n\ninfo:\n~~~~~\n\nShows information on the metadata stored inside a PDF file.\n\nSyntax:\n\n::\n\n stapler info foo.pdf\n\nExample output:\n\n::\n\n \\*\\*\\* Metadata for foo.pdf\n\n /ModDate: D:20100313082451+01'00'\n /CreationDate: D:20100313082451+01'00'\n /Producer: GPL Ghostscript 8.70\n /Title: foo.pdf\n /Creator: PDFCreator Version 0.9.9\n /Keywords:\n /Author: John Doe\n /Subject:\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hellerbarde/stapler", "keywords": "pdf utility cli concatenate tool", "license": "", "maintainer": "", "maintainer_email": "", "name": "stapler", "package_url": "https://pypi.org/project/stapler/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/stapler/", "project_urls": { "Homepage": "https://github.com/hellerbarde/stapler" }, "release_url": "https://pypi.org/project/stapler/0.3.3/", "requires_dist": [ "PyPDF2 (>=1.24)" ], "requires_python": "", "summary": "Manipulate PDF documents from the command line", "version": "0.3.3" }, "last_serial": 1732297, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "4b12f612e2faa31433cc6af7cf7e8cf9", "sha256": "488fcb98d65a45b60087edd0bad50c9986e0485df231d0e533443cfc06c26f98" }, "downloads": -1, "filename": "stapler-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4b12f612e2faa31433cc6af7cf7e8cf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4966, "upload_time": "2013-03-04T18:59:39", "url": "https://files.pythonhosted.org/packages/c3/14/59392af6adf833e5687a29d447e6cdbd53ac7a5207b319b5bbf76fe45021/stapler-0.3.0.tar.gz" } ], "0.3.1": [], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f5d4e2ab5a3314f56e174e991f00b34d", "sha256": "ede7ec75a31e9548ba030cd371f795beee8d1f9bd49215049421a2c427e2e18c" }, "downloads": -1, "filename": "stapler-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "f5d4e2ab5a3314f56e174e991f00b34d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8118, "upload_time": "2015-09-20T21:07:17", "url": "https://files.pythonhosted.org/packages/4b/f7/54921193c3f47f7759d3304862abec815413d2f942ec79846d483093b66f/stapler-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fe4895b954b07171240f62dbc754f84", "sha256": "10272d6e8898daa63019eb2d39957e3040ac8999246acccc3d39d52a4f515951" }, "downloads": -1, "filename": "stapler-0.3.2.tar.gz", "has_sig": false, "md5_digest": "3fe4895b954b07171240f62dbc754f84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7922, "upload_time": "2015-09-20T21:07:23", "url": "https://files.pythonhosted.org/packages/ba/1e/4726d7d6c336f07bb5c169ccb7058bb2c44d20f80eeb89679a457b606c2b/stapler-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "f1eb9ffd4e70cacd3bb528d8da2f6b32", "sha256": "790a55f405e02ba66f973c3e564b7c904aa23bfc4f4d423f645e718758bf018a" }, "downloads": -1, "filename": "stapler-0.3.3-py2-none-any.whl", "has_sig": false, "md5_digest": "f1eb9ffd4e70cacd3bb528d8da2f6b32", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8175, "upload_time": "2015-09-21T22:08:35", "url": "https://files.pythonhosted.org/packages/f7/7a/5f312ee71d33e54614339a2e563030f4057f8fe2ab87ea75324ec01dd5fc/stapler-0.3.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1b95ae76987133deca71e5faf1923f3", "sha256": "326d2eeb2556e98162d1c2671f944deb912f757469cf0316de121a25d16a6e4a" }, "downloads": -1, "filename": "stapler-0.3.3.tar.gz", "has_sig": false, "md5_digest": "e1b95ae76987133deca71e5faf1923f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8130, "upload_time": "2015-09-21T16:21:23", "url": "https://files.pythonhosted.org/packages/f1/1a/578b4dd5cfbcd4a65f6bb4c22ef4df66c55e2708d860042db888ac077df5/stapler-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f1eb9ffd4e70cacd3bb528d8da2f6b32", "sha256": "790a55f405e02ba66f973c3e564b7c904aa23bfc4f4d423f645e718758bf018a" }, "downloads": -1, "filename": "stapler-0.3.3-py2-none-any.whl", "has_sig": false, "md5_digest": "f1eb9ffd4e70cacd3bb528d8da2f6b32", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8175, "upload_time": "2015-09-21T22:08:35", "url": "https://files.pythonhosted.org/packages/f7/7a/5f312ee71d33e54614339a2e563030f4057f8fe2ab87ea75324ec01dd5fc/stapler-0.3.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1b95ae76987133deca71e5faf1923f3", "sha256": "326d2eeb2556e98162d1c2671f944deb912f757469cf0316de121a25d16a6e4a" }, "downloads": -1, "filename": "stapler-0.3.3.tar.gz", "has_sig": false, "md5_digest": "e1b95ae76987133deca71e5faf1923f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8130, "upload_time": "2015-09-21T16:21:23", "url": "https://files.pythonhosted.org/packages/f1/1a/578b4dd5cfbcd4a65f6bb4c22ef4df66c55e2708d860042db888ac077df5/stapler-0.3.3.tar.gz" } ] }