Skip to main content

A simple python script that helps with doing simple stuff with PDFs.

Project description

PDF-Helper

A simple python package that helps with doing simple stuff with PDFs.

Features

  • Bundle: Bundle multiple files into one PDF
    • PDF inputs
    • Image inputs (e.g. PNG, JPG, etc.)
    • Markdown inputs
  • Merge PDFs: Merge multiple PDFs into one PDF
  • Split PDFs: Split a PDF into multiple PDFs, each containing a range of pages from the original PDF
  • Export as image: Export designated pages from a PDF as image files
  • Remove pages: Remove designated pages from a PDF
  • Encrypt a PDF
  • Decrypt a PDF
  • Add watermark to a PDF
  • Extract images from a PDF
  • Extract text: Export text from a PDF file and optionally save it to a text file
  • Extract links from a PDF

If you want any other feature to be added, feel free to open an issue or fork the repo and make a pull request after adding your contribution.

Usage

Installation

You can install PDF-Helper via pip:

pip install pdf-helper

# Or use uv to install the tool
uv tool install pdf-helper

And run it using the command line:

pdf-helper <command> [options]

Or you can use uvx to run the package without installing it in a specific python environment:

uvx pdf-helper <command> [options]

You can also clone the repository and use uv run:

git clone https://github.com/MPCodeWriter21/PDF-Helper.git
cd PDF-Helper
uv run pdf-helper <command> [options]

Bundle PDFs

Bundle multiple files into one PDF:

pdf-helper bundle <input_file_1> <input_file_2>... <input_file_n> <output_file>

# E.g. Merge PDFs 1, 2 and 3 into a new PDF
pdf-helper merge 1.pdf 2.pdf 3.pdf new.pdf

# E.g. Take 1.png, 2.jpg, and 3.png and create a PDF named 123.pdf and override
# if already exists
pdf-helper bundle 1.png 2.jpg 3.png 123.pdf -f

# E.g. Take part1.pdf, image1.png, ending.pdf and bundle them into a PDF named final.pdf
pdf-helper bundle part1.pdf image1.png ending.pdf final.pdf -v

Split PDFs

Split a PDF into multiple PDFs, each containing a range of pages:

pdf-helper split <input_file> <output_folder> -s <split_point_1>,<split_point_2>

# E.g. Split a PDF into three PDFs, one with pages 1-10, the second with pages 11-20 and
# the third with pages 21-end
pdf-helper split my-pdf.pdf my-split-pdfs -s 10,20

# E.g. Split a PDF into PDFs each containing one page
pdf-helper split my-pdf.pdf my-split-pdfs  # No need to specify split points

Export PDF pages as image files

Export PDF pages as image files:

pdf-helper to-image <input_file> <output_folder> \
        -p <page_number_1>,<page_number_2>,...,<page_number_n> -s <scale_factor>

# E.g. Export pages 1, 2, 3 and 6 from a PDF with scale factor 1
pdf-helper to-image 1.pdf images -p 1-3,6 -s 1

# E.g. Export all pages from a PDF with scale 2
pdf-helper to-image my-pdf.pdf my-images

Remove pages from a PDF

Remove pages from a PDF:

pdf-helper remove-pages <input_file> <output_file> <page_number_1>,<page_number_2>,...,<page_number_n>

# E.g. Remove pages 1, 2, 3 and 6 from a PDF
pdf-helper remove-pages 1.pdf new.pdf 1-3,6

Export text from a PDF

To extract text from a PDF file and export them to text files you can do as follows:

pdf-helper extract-text <input_file> -o <output_file_name>

# E.g. Extract text from a PDF named my-pdf.pdf and save it to my-text.txt
pdf-helper extract-text my-pdf.pdf -o my-text.txt

About

Author: CodeWriter21

GitHub: MPCodeWriter21/PDF-Helper

Donations

Your donations are very welcome: nowpayments.io

You can also consider donating a Star to the repo.

License

This project is licensed under the MIT License.

See the LICENSE

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdf_helper-0.2.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdf_helper-0.2.1-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file pdf_helper-0.2.1.tar.gz.

File metadata

  • Download URL: pdf_helper-0.2.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pdf_helper-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6f07ebcc3fd142dfb3592f654d0365741c38d296b858ca59d85fb275cc4df8fb
MD5 f06ebbc8e8cdb83112432b1de8a22092
BLAKE2b-256 b23b69becff2e201c65c73a5e34dac546a94961fb94b1ae1e9645c800a4b0897

See more details on using hashes here.

File details

Details for the file pdf_helper-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pdf_helper-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pdf_helper-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 62231e730426bc4b646d341b0db313d1c44570afa421c6724004ca628ca04e7b
MD5 478447746da20af9b487c31ff445aa95
BLAKE2b-256 416f3cb8eca7a26387ea1d70602f07aad8a13d1d0196f79c8c90b77ca198ed3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page