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

24m 52s logged

PDF Toolkit — DevLog 3

Text Extraction & Final Polish

The PDF Toolkit is starting to feel like a real application now.

After finishing the main PDF operations and the interactive CLI, I focused this time on adding text extraction and improving the overall reliability of the program.

PDF → Text

I added a new PDF → Text operation using PyMuPDF.

The tool goes through the pages of a PDF, extracts the text and saves everything into a .txt file.

This makes it possible to quickly get the text from a PDF without manually copying it page by page.

The extracted text keeps the content from all pages in the document.

CLI Improvements

I also spent some time making the CLI more reliable.

The program now handles common problems such as:

  • Cancelled file selection
  • Missing input files
  • Missing output paths
  • Invalid page numbers
  • Invalid page ranges
  • Errors during PDF operations

Instead of crashing immediately, the CLI can display an error and return to the main menu.

Better User Feedback

The CLI now gives clearer feedback when an operation finishes.

For example:

✓ PDF merged successfully!

If an operation fails, the user gets an error message instead of being left with a Python traceback.

This makes the tool much easier to use, especially for someone who doesn’t know how the code works internally.

Command-Line Options

I also added basic command-line options to make the program easier to use outside of the interactive menu.

The application now supports:

--help

for displaying information about the available commands and options, and:

--version

for displaying the current version of PDF Toolkit.

These are small additions, but they make the project feel much more like a proper command-line application.

Current Features

At this point, PDF Toolkit supports:

  • Merge PDFs
  • PDF → Image
  • Split PDF
  • Extract Pages
  • PDF → Text
  • Interactive CLI
  • --help
  • --version
  • Input validation
  • Error handling
  • Cancel handling

The project is now much more complete than when I started.

Testing

I’ve been testing the different operations both individually and through the CLI.

The main goal is to make sure that the normal workflow works correctly while also handling common user mistakes without crashing the application.

There are still things I want to test more thoroughly before calling the project finished, especially when packaging it for other computers.

What’s Next

The core functionality is now basically finished.

The next step is no longer about adding lots of new features. I want to focus on actually shipping the project.

The next stage will be:

  • Final testing
  • Packaging PDF Toolkit as a Windows .exe
  • Cleaning up the project
  • Final README updates
  • Preparing the first release

Next milestone: v1.0.0 🚀

The goal is to have a version that someone can download and use without needing to manually set up the Python environment.

0
26

Comments 0

No comments yet. Be the first!