pdfmerge


Namepdfmerge JSON
Version 1.0.0 PyPI version JSON
download
home_page
SummaryCommand-line utility for merging, splicing, and rotating PDF documents.
upload_time2023-06-05 12:33:00
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT
keywords pdf merge split cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pdfmerge

_Command-line utility for merging, splicing, and rotating PDF documents._

[![Build Status](https://img.shields.io/github/actions/workflow/status/metaist/pdfmerge/.github/workflows/ci.yaml?branch=main&style=for-the-badge)](https://github.com/metaist/pdfmerge/actions)
[![pdfmerge on PyPI](https://img.shields.io/pypi/v/pdfmerge.svg?color=blue&style=for-the-badge)](https://pypi.org/project/pdfmerge)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/pdfmerge?style=for-the-badge)](https://pypi.org/project/pdfmerge)

[Changelog] - [Issues] - [Documentation]

[changelog]: https://github.com/metaist/pdfmerge/blob/main/CHANGELOG.md
[issues]: https://github.com/metaist/pdfmerge/issues
[documentation]: https://metaist.github.io/pdfmerge/

## Why?

I find myself merging bits of different PDFs fairly regularly and really wanted a simple CLI way to do it.

## Install

```bash
python -m pip install pdfmerge
```

## Usage

    $ pdfmerge [-h] [--version] [-o FILE|--output FILE] [-p PASSWORD|--password PASSWORD] PATH[RULE[, RULE ...]] [PATH[RULE, ...]] ...]

- `-o`, `--output` output file (default: `output.pdf`).
  **Must not be any of the input files.**
- `-p`, '--password` password for encrypted files (default: empty string).
- `PATH` a file, directory, or wildcard string (e.g., `file*.pdf`) of files
  to merge.
- `RULE` an optional string indicating which pages to extract and rotate.
  The syntax for each rule is:

      [START][..][END][ROTATE]

  Where `START` and `END` are positive (1-based) or negative page numbers and
  `ROTATE` is one of `>`, `V`, or `<` indicating a clockwise rotation of
  90, 180, 270 degrees, respectively.

## Command-line Example

    $ pdfmerge -o out.pdf file1.pdf file2.pdf[3,3] file2.pdf[1V,2..-1] "other*.pdf[<]" "/path/pdf[1..4>,5]"

This example illustrates several features:

- specifying an output file (must not be any of the input files)
- merging multiple files, some more than once
- splicing parts of file using indices (1-based; negatives allowed)
- including the same page multiple times
- rotating a page or page range
- merging all the PDFs in a directory

[Read more about the options](https://metaist.github.io/pdfmerge/__main__.html)

# Python Module Usage

`pdfmerge` can also be imported into python scripts.

```python
from pdfmerge import pdfmerge
pdfmerge(["pdf-1.pdf", "pdf-2.pdf[2>]"], "output.pdf")
```

## License

[MIT License](https://github.com/metaist/pypdf/blob/main/LICENSE.md)

[ci-image]: https://travis-ci.org/metaist/pdfmerge.png?branch=master
[ci-status]: http://travis-ci.org/metaist/pdfmerge
[gh-code]: https://github.com/metaist/pdfmerge/zipball/master
[gh-issues]: https://github.com/metaist/pdfmerge/issues
[gh-issues-all]: https://github.com/metaist/pdfmerge/issues/search?q=
[gh-pdfmerge]: https://github.com/metaist/pdfmerge/blob/master/pdfmerge.py
[gh-setup]: https://github.com/metaist/pdfmerge/blob/master/releases/pdfmerge-latest-setup.exe
[osi-mit]: http://opensource.org/licenses/MIT
[pypdf]: https://pypi.python.org/pypi/pyPdf

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pdfmerge",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "pdf,merge,split,cli",
    "author": "",
    "author_email": "Metaist LLC <metaist@metaist.com>",
    "download_url": "https://files.pythonhosted.org/packages/55/50/e9751e29937fb5470fe874547c0d81c02defe8b0c3463255423772562332/pdfmerge-1.0.0.tar.gz",
    "platform": null,
    "description": "# pdfmerge\n\n_Command-line utility for merging, splicing, and rotating PDF documents._\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/metaist/pdfmerge/.github/workflows/ci.yaml?branch=main&style=for-the-badge)](https://github.com/metaist/pdfmerge/actions)\n[![pdfmerge on PyPI](https://img.shields.io/pypi/v/pdfmerge.svg?color=blue&style=for-the-badge)](https://pypi.org/project/pdfmerge)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/pdfmerge?style=for-the-badge)](https://pypi.org/project/pdfmerge)\n\n[Changelog] - [Issues] - [Documentation]\n\n[changelog]: https://github.com/metaist/pdfmerge/blob/main/CHANGELOG.md\n[issues]: https://github.com/metaist/pdfmerge/issues\n[documentation]: https://metaist.github.io/pdfmerge/\n\n## Why?\n\nI find myself merging bits of different PDFs fairly regularly and really wanted a simple CLI way to do it.\n\n## Install\n\n```bash\npython -m pip install pdfmerge\n```\n\n## Usage\n\n    $ pdfmerge [-h] [--version] [-o FILE|--output FILE] [-p PASSWORD|--password PASSWORD] PATH[RULE[, RULE ...]] [PATH[RULE, ...]] ...]\n\n- `-o`, `--output` output file (default: `output.pdf`).\n  **Must not be any of the input files.**\n- `-p`, '--password` password for encrypted files (default: empty string).\n- `PATH` a file, directory, or wildcard string (e.g., `file*.pdf`) of files\n  to merge.\n- `RULE` an optional string indicating which pages to extract and rotate.\n  The syntax for each rule is:\n\n      [START][..][END][ROTATE]\n\n  Where `START` and `END` are positive (1-based) or negative page numbers and\n  `ROTATE` is one of `>`, `V`, or `<` indicating a clockwise rotation of\n  90, 180, 270 degrees, respectively.\n\n## Command-line Example\n\n    $ pdfmerge -o out.pdf file1.pdf file2.pdf[3,3] file2.pdf[1V,2..-1] \"other*.pdf[<]\" \"/path/pdf[1..4>,5]\"\n\nThis example illustrates several features:\n\n- specifying an output file (must not be any of the input files)\n- merging multiple files, some more than once\n- splicing parts of file using indices (1-based; negatives allowed)\n- including the same page multiple times\n- rotating a page or page range\n- merging all the PDFs in a directory\n\n[Read more about the options](https://metaist.github.io/pdfmerge/__main__.html)\n\n# Python Module Usage\n\n`pdfmerge` can also be imported into python scripts.\n\n```python\nfrom pdfmerge import pdfmerge\npdfmerge([\"pdf-1.pdf\", \"pdf-2.pdf[2>]\"], \"output.pdf\")\n```\n\n## License\n\n[MIT License](https://github.com/metaist/pypdf/blob/main/LICENSE.md)\n\n[ci-image]: https://travis-ci.org/metaist/pdfmerge.png?branch=master\n[ci-status]: http://travis-ci.org/metaist/pdfmerge\n[gh-code]: https://github.com/metaist/pdfmerge/zipball/master\n[gh-issues]: https://github.com/metaist/pdfmerge/issues\n[gh-issues-all]: https://github.com/metaist/pdfmerge/issues/search?q=\n[gh-pdfmerge]: https://github.com/metaist/pdfmerge/blob/master/pdfmerge.py\n[gh-setup]: https://github.com/metaist/pdfmerge/blob/master/releases/pdfmerge-latest-setup.exe\n[osi-mit]: http://opensource.org/licenses/MIT\n[pypdf]: https://pypi.python.org/pypi/pyPdf\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Command-line utility for merging, splicing, and rotating PDF documents.",
    "version": "1.0.0",
    "project_urls": {
        "Changelog": "https://github.com/metaist/pdfmerge/blob/main/CHANGELOG.md",
        "Documentation": "https://metaist.github.io/pdfmerge/",
        "Homepage": "https://github.com/metaist/pdfmerge",
        "Repository": "https://github.com/metaist/pdfmerge.git"
    },
    "split_keywords": [
        "pdf",
        "merge",
        "split",
        "cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fb2844abc95682aee12ca3fc4672e9a01005770c96e5aeb8a10ddbcee9240433",
                "md5": "6db0c0489b677e7654bdd74a8946c7dd",
                "sha256": "eca68c41af5cb89d78727932994ae6ef5f858f9e5459509300adf93d726e9e8e"
            },
            "downloads": -1,
            "filename": "pdfmerge-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6db0c0489b677e7654bdd74a8946c7dd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 8252,
            "upload_time": "2023-06-05T12:32:58",
            "upload_time_iso_8601": "2023-06-05T12:32:58.622557Z",
            "url": "https://files.pythonhosted.org/packages/fb/28/44abc95682aee12ca3fc4672e9a01005770c96e5aeb8a10ddbcee9240433/pdfmerge-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5550e9751e29937fb5470fe874547c0d81c02defe8b0c3463255423772562332",
                "md5": "438597c054dcb3cd2aecdd2703d9591f",
                "sha256": "5641742b4d6c4512dd6459282f45de6e7ac8c8374bf7404809f050d5fa24eefd"
            },
            "downloads": -1,
            "filename": "pdfmerge-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "438597c054dcb3cd2aecdd2703d9591f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8527,
            "upload_time": "2023-06-05T12:33:00",
            "upload_time_iso_8601": "2023-06-05T12:33:00.275497Z",
            "url": "https://files.pythonhosted.org/packages/55/50/e9751e29937fb5470fe874547c0d81c02defe8b0c3463255423772562332/pdfmerge-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-05 12:33:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "metaist",
    "github_project": "pdfmerge",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pdfmerge"
}
        
Elapsed time: 0.06496s