You are browsing as a guest. Sign up (or log in) to start making projects!

36m 58s logged

PDF Toolkit — Devlog 1

Current Progress

I’ve started building PDF Toolkit, a small Python command-line utility for working with PDF files.

The goal is to keep it simple and modular, while gradually adding useful PDF operations.

Project Structure

PDF-Toolkit/
├── main.py
├── requirements.txt
├── operations/
│   ├── __init__.py
│   ├── merge.py
│   ├── convert.py
│   ├── split.py
│   └── extract.py
└── tests/
    ├── __init__.py
    └── test_merge.py

The PDF operations are separated into individual modules instead of putting everything into one file.

Implemented Features

Merge PDFs

Added support for combining multiple PDF files into a single PDF.

The merge operation uses PyMuPDF and accepts multiple input files.

PDF → Image

Added support for converting a specific PDF page into an image.

Current options include:

  • Selecting a specific page
  • PNG output
  • JPG output
  • Custom DPI

Split PDF

Added support for splitting a PDF into individual pages.

For example, a multi-page PDF can be split into separate files:

page_1.pdf
page_2.pdf
page_3.pdf
...

Extract Pages

Added support for extracting selected pages into a new PDF.

Pages can be specified individually or as ranges.

Example:

2,5,8-10

This creates a new PDF containing pages 2, 5, 8, 9 and 10.

CLI

The next step is to connect all the existing operations through a simple CLI interface.

The user will be able to start PDF Toolkit and select an operation from a menu:

PDF Toolkit

1. Merge PDFs
2. PDF → Image
3. Split PDF
4. Extract Pages
5. Exit

This will make the current features easier to use without having to call the Python functions manually.

What’s Next

After the CLI is working, I plan to continue expanding the toolkit with more PDF operations.

Planned features:

  • Rotate Pages
  • Delete Pages
  • Reorder Pages
  • Images → PDF
  • PDF information / metadata
  • PDF compression
  • Password protection

For now, the focus is on getting the existing features working properly and making them easy to use through the CLI.

0
46

Comments 0

No comments yet. Be the first!