Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stlehmann/pdftools
small collection of python scripts for pdf manipulation
https://github.com/stlehmann/pdftools
Last synced: about 2 months ago
JSON representation
small collection of python scripts for pdf manipulation
- Host: GitHub
- URL: https://github.com/stlehmann/pdftools
- Owner: stlehmann
- License: mit
- Created: 2014-11-27T16:09:54.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-03-28T15:31:52.000Z (6 months ago)
- Last Synced: 2024-07-29T07:31:56.930Z (about 2 months ago)
- Language: Python
- Size: 95.7 KB
- Stars: 92
- Watchers: 5
- Forks: 18
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
pdftools
========* **Copyright (c)** 2015 Stefan Lehmann
* **License:** MIT
* **Description:** Python-based command line tool for manipulating PDFs. It is based on the PyPdf2 package.[![Build Status](https://travis-ci.org/stlehmann/pdftools.svg?branch=master)](https://travis-ci.org/stlehmann/pdftools)
[![PyPI version](https://badge.fury.io/py/pdftools.svg)](https://badge.fury.io/py/pdftools)
[![Downloads](https://pepy.tech/badge/pdftools)](https://pepy.tech/project/pdftools)
[![Downloads](https://pepy.tech/badge/pdftools/week)](https://pepy.tech/project/pdftools/week)## Features
* add, insert, remove and rotate pages
* split PDF files in multiple documents
* copy specific pages in a new document
* merge or zip PDF files into one document## Usage
*pdftools* adds some scripts to your existing Python installation that can be called via the command line.
The description for each script is listed below.### pdftools
```
usage: pdftools [-h] [-V] ...Python-based command line tool for manipulating PDFs. It is based on the
PyPdf2 package.optional arguments:
-h, --help show this help message and exit
-V, --version Print version number and exit (default: False)Sub-commands:
add Add pages from a source file to an output PDF file
copy Copy specific pages of a PDF file in a new file
insert Insert pages of one file into another
merge Merge the pages of multiple input files into one output file
remove Remove pages from a PDF file
rotate Rotate the pages of a PDF files by 90 degrees
split Split a PDF file into multiple documents
zip Python-like zipping (interleaving) the pages of two documents
in one output file
```### Add
```
usage: pdftools add [-h] [-p PAGES [PAGES ...]] [-o OUTPUT] dest srcAdd pages from a source file to an output PDF file
positional arguments:
dest Destination PDF file
src PDF source fileoptional arguments:
-h, --help show this help message and exit
-p PAGES [PAGES ...], --pages PAGES [PAGES ...]
list of pages to add to the output. Examples: 5; 1-9;
1-; -9 (default: None)
-o OUTPUT, --output OUTPUT
Name of the output file. If None, the `dest` file will
be overwritten (default: None)
```### Copy
```
usage: pdftools copy [-h] [-o OUTPUT] [-p PAGES [PAGES ...]] [-y] srcCopy specific pages of a PDF file in a new file
positional arguments:
src Source PDF containing pages to copyoptional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Name of the output file. If None, the `dest` file will
be overwritten (default: None)
-p PAGES [PAGES ...], --pages PAGES [PAGES ...]
list of pages to copy in the new file. Examples: "5 8
10": Pages 5, 8, 10; "1-9": Pages 1 to 9; "5-": Pages
from 5 to last page; "-9": Pages from beginning to 9
(default: 1)
```### Insert
```
usage: pdftools insert [-h] [-o OUTPUT] [-p PAGES [PAGES ...]] [-i INDEX]
dest srcInsert pages of one file into another
positional arguments:
dest Destination PDF file
src Source PDF fileoptional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Name of the output file. If None, the `dest` file will
be overwritten (default: None)
-p PAGES [PAGES ...], --pages PAGES [PAGES ...]
List of page numbers (start with 1) which will be
inserted. If None, all pages will be inserted
(default). Examples: 5; 1-9; 1-; -9 (default: None)
-i INDEX, --index INDEX
Page number (1-indexed) of destination file where the
pages will be inserted. If None they will be added at
the end of the file (default: None)
```### Remove
```
usage: pdftools remove [-h] [-o OUTPUT] src pages [pages ...]Remove pages from a PDF file
positional arguments:
src PDF source file
pages List of pages to remove from file. Examples: 5; 1-9;
1-; -9optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Name of the output file. If None, the `src` file will
be overwritten (default: None)
```### Rotate
```
usage: pdftools rotate [-h] [-d {90,180,270}] [-c] [-p PAGES [PAGES ...]]
[-o OUTPUT]
srcRotate the pages of a PDF file by a set number of degrees
positional arguments:
src Source fileoptional arguments:
-h, --help show this help message and exit
-d {90,180,270}, --degrees {90,180,270}
Specify degrees value to rotate page(s) (default: 90)
-c, --counter-clockwise
Rotate pages counter-clockwise instead of clockwise,
by default (default: False)
-p PAGES [PAGES ...], --pages PAGES [PAGES ...]
List of page numbers which will be rotated. If None,
all pages will be rotated. Examples: 5; 1-9; 1-; -9
(default: None)
-o OUTPUT, --output OUTPUT
Output filename. If None, the source file will be
overwritten (default: None)
```### Split
```
usage: pdftools split [-h] [-o OUTPUT] [-s STEPSIZE]
[-q SEQUENCE [SEQUENCE ...]]
srcSplit a PDF file into multiple documents
positional arguments:
src Source file to be splitoptional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Output filenames. If None, will append page numbers to
the input file name. (default: None)
-s STEPSIZE, --stepsize STEPSIZE
How many pages are packed in each output file
(default: 1)
-q SEQUENCE [SEQUENCE ...], --sequence SEQUENCE [SEQUENCE ...]
Sequence of numbers describing how many pages to put
in each outputfile (default: None)
```### Merge
```
usage: pdftools merge [-h] [-o OUTPUT] [-d] src [src ...]Merge the pages of multiple input files into one output file
positional arguments:
src List of input source filesoptional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Output filename (default: merged.pdf)
-d, --delete Delete source files after merge (default: False)
```### Zip
```
usage: pdftools zip [-h] [-d] [-r] src1 src2 outputPython-like zipping (interleaving) the pages of two documents in one output
filepositional arguments:
src1 First source file
src2 Second source file
output Name of the output fileoptional arguments:
-h, --help show this help message and exit
-d, --delete Delete source files after merge (default: False)
-r, --revert Revert the pages of second input file (default: False)
```