Built to order

PDF Merger and Splitter Desktop App

This project is a desktop app for everyday PDF chores: merging multiple PDFs into one document with drag-to-reorder, and splitting a PDF into parts by page ranges. Dropped files get their real page counts parsed from the file itself, merge order is adjustable with up/down controls, split ranges are validated against the actual page count, and the results download as genuine, openable PDF files generated client-side. A history view lists every merge and split in the session. Suitable for B.E./B.Tech final-year projects in Computer Science and IT.

PDF Merger and Splitter Desktop App — project thumbnail preview
More project photos (2)

The problem

Students constantly wrestle with PDFs: assignment pages scattered across files, a lab manual that needs only chapters 3–5, a project report assembled from three teammates' documents. Online merge tools upload your files to someone else's server and cap the free tier; desktop suites are overkill. This project is a focused desktop-style app for the two operations students actually need. The Merge view accepts dropped PDFs, parses each file's real page count from the PDF structure, lets the student reorder files and toggle which ones are included, then combines the selection into one document. The Split view takes one PDF and a list of page ranges — 1–12, 13–24 — validates them against the real page count, and produces one file per range. Everything runs locally in the app: downloads are genuine PDF files written by the app's own PDF writer, and a history view records every operation in the session. No uploads, no accounts, no watermarks.

How it works

  1. The student drops PDF files onto the merge view; each file's page count is parsed from its internal structure.
  2. Files are toggled in or out and reordered with up/down controls to set the merge sequence.
  3. Clicking "merge selected" combines the chosen files in order and downloads the result as a valid PDF.
  4. In the split view, the student selects one PDF and enters page ranges such as 1–12, 13–24.
  5. Ranges are validated against the file's real page count; invalid ranges are rejected with an explanation.
  6. Each valid range downloads as its own PDF file, and the operation is logged in the history view.

Tech stack:

  • Python with a desktop GUI toolkit (delivered app)
  • PDF structure parsing for page counts
  • Minimal client-side PDF writer for downloads
  • Interactive web prototype of the app flow (HTML/CSS/JS) for demonstration
Parameter Value
Platform Desktop app in Python (design target)
Demo screens 3 (merge, split, history)
Demo merge 3 sample PDFs, 74 pages combined
Page-count parsing Read from each PDF's /Count entry (real files)
Split ranges Validated against the actual page count
Download format Genuine PDF files written by the app's PDF writer
Sample files 3 preloaded demo PDFs
History Session log with file names, pages and timestamps
Demo views Interactive web prototype of the desktop app flow
Data handling Fully local — no uploads, no accounts (design target)

Project features

  • [Merge with reorder] Drop multiple PDFs, toggle inclusion per file, reorder with up/down controls, and merge the selection — the demo combines 3 files totalling 74 pages.
  • [Real page-count parsing] Each dropped PDF's page count is read from the file's own structure (/Count), not guessed or typed.
  • [Split by page ranges] Enter ranges like 1–12 or 13–38; the app validates them against the actual page count before splitting.
  • [Genuine PDF downloads] Merged and split results download as real, openable PDF files written by the app's own minimal PDF writer.
  • [Session history] Every merge and split is logged with file names, page counts and timestamps.
  • [Sample documents preloaded] The demo ships with sample PDFs so every feature is tryable immediately.

What is included

  • Complete desktop app source code (Python) implementing merge, split and history
  • Interactive web prototype of the app flow (the demo shown in the screenshots)
  • The app's PDF parsing and PDF-writing modules with comments
  • Project report PDF (background, methodology, architecture, screens, testing notes)
  • PPT presentation for final review
  • Viva Q&A preparation document (PDF internals, page-count parsing, file generation)

Limitations & prerequisites

  • The demo's merge concatenates sample documents; the delivered app merges real uploaded PDFs page by page.
  • The minimal PDF writer produces clean text-based PDFs; complex source layouts (forms, annotations) are out of scope.
  • Encrypted or password-protected PDFs are not supported in the current build.
  • The demo prototype runs in the browser; the delivered app is a Python desktop application.
  • Very large PDFs (hundreds of megabytes) are outside the tested range.

Frequently Asked Questions

What does the app actually do?

It merges multiple PDFs into one with reorderable file order, and splits a PDF into parts by page ranges — with real page-count parsing and genuine PDF downloads.

How are page counts determined?

Each dropped PDF's page count is parsed from the file's own internal structure, so split ranges can be validated against reality.

Are the downloads real PDFs?

Yes — merged and split results download as genuine, openable PDF files written by the app's own PDF writer.

Is the demo a real desktop app?

The screenshots show an interactive web prototype of the desktop app flow. The delivered project is the full Python desktop application; the prototype demonstrates every screen and interaction.

What does the report include?

A background on PDF handling, the parsing and writing architecture, screen walkthroughs, and testing notes.

Is this project suitable for a final-year project?

Yes — for Computer Science and IT programs. It demonstrates file-format parsing, desktop UI design, and binary file generation. Suitable for B.E./B.Tech final-year projects in Computer Science and IT.

Components & software requirements
  • Python with a desktop GUI toolkit (delivered app)
  • PDF structure parsing for page counts
  • Minimal client-side PDF writer for downloads
  • Interactive web prototype of the app flow (HTML/CSS/JS) for demonstration
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Illustration of JWT authentication: a brass key handing a glowing sealed token to a server rack and a laptop login screen, linked by a chain motif.B.E./B.Tech Computer Science and IT students adding login and protected APIs to their final-year web projects

JWT Authentication for Students: Tokens, Signatures, Refresh Flows and a Node.js Implementation

How does JWT login actually work? When a user logs in, the server issues a signed token in three parts — header, payload, signature. The client sends it back as an Authorization: Bearer header, and the server verifies the signature instead of looking up a session. This guide decodes a real token by hand, walks through the full login and refresh flow, and builds a working Node.js implementation with bcrypt password hashing, token rotation, and storage rules that survive a viva.

Read guide
Illustration of SQL versus NoSQL: neat filing-cabinet table rows on one side against flexible nested document cards on the other, joined by dotted lines.B.E./B.Tech Computer Science and IT students choosing and designing the database for their final-year project

SQL vs NoSQL for Final-Year Projects: Which Database Should You Pick?

MySQL or MongoDB for your final-year project? SQL databases store data in related tables with enforced schemas, joins and transactions — the right default when your data is structured and money or records must stay consistent. NoSQL document stores trade the rigid schema for flexible, nested documents that ship faster when your data shape keeps changing. This guide compares them with a worked hospital-appointment example in both, a decision table, and rules matched to common project archetypes.

Read guide
Editorial illustration of shipping containers transforming into glowing software windows beside a laptop showing container layers, in blue and teal tones.B.E./B.Tech Computer Science and IT final-year students shipping web/backend projects

Docker for Student Projects: Images, Containers and Compose from Zero

End ‘it works on my machine’ failures: learn what Docker images and containers actually are, write lean Dockerfiles that exploit layer caching, persist data with volumes, orchestrate app-plus-database with Compose, and package an evaluator-proof submission — with the debugging table for every error you will definitely meet.

Read guide
Get a quotation