Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

NOTHI

A simple PDF imposition and print-layout tool.

NOTHI takes an existing PDF and rearranges its pages into customizable grids such as 1×2, 2×2, 2×3, 3×3, and more, making it suitable for printing notes, study materials, handouts, and booklets.

Features

  • Custom page grids (rows × columns)
  • Portrait or landscape output
  • Optional cover page generation
  • Print-friendly layout
  • Preserves PDF quality using PyMuPDF
  • Command-line interface
  • Supports any PDF size as input
  • Generates standard A4 output

Installation

Clone the project

git clone https://github.com/hello2himel/nothi.git
cd nothi

Create a virtual environment

python3 -m venv .venv
source .venv/bin/activate

Install dependencies

pip install pymupdf reportlab

Usage

Run:

python main.py

You will be guided through a setup wizard.

Example:

====================================
            NOTHI
      PDF Imposition Tool
====================================

Source PDF: notes.pdf

Grid Layout
Rows: 2
Columns: 2

Orientation
1. Portrait
2. Landscape

Add cover page? (y/n): y

Title: Physics Notes
Subtitle: SSC Preparation
Extra text: Compiled by Himel Das

Output file [notes_nothi.pdf]:

Generating...
Done.

Grid Examples

1×2

┌─────┐
│  1  │
├─────┤
│  2  │
└─────┘

2×2

┌─────┬─────┐
│  1  │  2  │
├─────┼─────┤
│  3  │  4  │
└─────┴─────┘

3×3

┌───┬───┬───┐
│ 1 │ 2 │ 3 │
├───┼───┼───┤
│ 4 │ 5 │ 6 │
├───┼───┼───┤
│ 7 │ 8 │ 9 │
└───┴───┴───┘

Any positive row and column combination is supported.

Cover Page

NOTHI can optionally generate a clean cover page before the imposed document.

Fields:

  • Title
  • Subtitle
  • Additional note

All fields except the title are optional.

Requirements

  • Python 3.10+
  • PyMuPDF
  • ReportLab

Project Structure

nothi/
├── main.py
├── README.md
├── input.pdf
└── output.pdf

Future Plans

  • GUI version (Tkinter)
  • Booklet printing mode
  • Automatic margins
  • Crop marks
  • Page numbering
  • Headers and footers
  • Drag-and-drop support
  • Preset layouts
  • Duplex printing support

License

MIT License

Name Origin

"নথি" (Nothi) is a Bengali word meaning "document", "record", or "file", reflecting the tool's purpose of preparing documents for printing and distribution.

About

NOTHI takes an existing PDF and rearranges its pages into customizable grids such as 1×2, 2×2, 2×3, 3×3, and more, making it suitable for printing notes, study materials, handouts, and booklets.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages