Skip to main content

PDF Liner

A simple Python tool that adds equally spaced horizontal lines to PDF files, making them perfect for printing and handwriting and taking notes on them.

Installation

Install from PyPI (Recommended)

Install pdf-liner directly from PyPI:

pip install pdf-liner

Or using pipx for isolated installation:

pipx install pdf-liner

Install from Source

  1. Clone the repository:
git clone https://github.com/raideno/pdf-liner.git
cd pdf-liner
  1. Install using Poetry:
poetry install

Or install in development mode using pip:

pip install -e .

Usage

Once installed, you can use the pdf-liner command from anywhere:

pdf-liner input.pdf

This will create input_lined.pdf with default settings (20-point spacing, 0.25 opacity).

Specify Output File

pdf-liner input.pdf -o output.pdf
# or
pdf-liner input.pdf --output output.pdf

Customize Line Spacing and Opacity

pdf-liner input.pdf -o output.pdf -s 25 -a 0.2
# or
pdf-liner input.pdf --output output.pdf --line-spacing 25 --opacity 0.2
  • -s or --line-spacing: Space between lines in points (default: 20)
  • -a or --opacity: Line opacity from 0.0 to 1.0 (default: 0.25)

Enhance Bottom Lines for Better Printing

Some printers tend to fade lines at the bottom of pages. Use the -e option to make the bottom lines thicker and darker:

pdf-liner input.pdf -e 5
# or
pdf-liner input.pdf --enhance-bottom-lines 5
  • -e or --enhance-bottom-lines: Number of bottom lines to enhance (default: 3, set to 0 to disable)

Add Padding Pages

Add a blank lined page after each page:

pdf-liner input.pdf -p
# or
pdf-liner input.pdf --padding

Get Help

pdf-liner -h
# or
pdf-liner --help

Parameters

  • input_pdf (required) - Path to the input PDF file
  • -o, --output (optional) - Path for the output file (default: input_lined.pdf)
  • -s, --line-spacing (optional) - Space between lines in points (default: 20)
  • -a, --opacity (optional) - Line opacity from 0.0 to 1.0 (default: 0.25)
  • -e, --enhance-bottom-lines (optional) - Number of bottom lines to enhance for better printing (default: 3)
  • -p, --padding (optional) - Adds a white page with lines after each page

Development

Requirements

  • Python 3.9+
  • Poetry

Setup Development Environment

# Install Poetry if you haven't already
pip install poetry

# Install dependencies
poetry install

# Run the tool
poetry run pdf-liner input.pdf

Build the Package

poetry build

This will create distribution files in the dist/ directory.

Publishing

The package is automatically published to PyPI when a new release is created on GitHub. The workflow uses the PYPI_API_TOKEN secret configured in the repository.

To publish manually:

poetry config pypi-token.pypi YOUR_PYPI_TOKEN
poetry publish --build

License

MIT

Release files for pdf-liner 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pdf-liner 0.1.0
File Size Uploaded
pdf_liner-0.1.0.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pdf-liner 0.1.0
File Interpreter ABI Platform
pdf_liner-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / pdf_liner-0.1.0.tar.gz

Download URL pdf_liner-0.1.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b539ab0027b616557082221cca5782ffa8ffae7cd527077545aa075943b11210
BLAKE2b-256 checksum
How to use checksums
03f763b0a618b9ca54c7c133fc45daace6a297543cadb12c249bbb9d514b79b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure

Release files / pdf_liner-0.1.0-py3-none-any.whl

Download URL pdf_liner-0.1.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aafee1850ae7bed0b0383bfd4b62f91093555495b370f7e36f1053df1f9f9d01
BLAKE2b-256 checksum
How to use checksums
577ff19d2aae7f8e684cf24cb3aa477d3728628158993cb4039e8717fc505c64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page