Skip to content

tech-savvy-guy/lock-pdf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lock-pdf

A powerful command-line tool for adding password protection to PDF files.

lock-pdf-overview

Features

  • Add password protection to PDF files
  • Interactive CLI with file browser
  • Automatic dependency detection and installation
  • Cross-platform support (Linux, macOS, Windows)
  • Comprehensive error handling
  • Preserves PDF quality and text selectability

Prerequisites

This tool requires qpdf to be installed on your system. The CLI will automatically detect if qpdf is missing and offer to install it for you using your system's package manager.

Manual Installation of qpdf

If you prefer to install qpdf manually:

Linux (Debian/Ubuntu):

sudo apt-get install qpdf

macOS (Homebrew):

brew install qpdf

Windows (Chocolatey):

choco install qpdf

Windows (winget):

winget install qpdf.qpdf

For more installation options, visit: https://qpdf.readthedocs.io/en/stable/installation.html

Installation

Install globally to use the command-line tool:

npm install -g lock-pdf

Or with pnpm:

pnpm add -g lock-pdf

Usage

Command Line Interface

Interactive Mode

Simply run the command without arguments for an interactive experience:

lock-pdf

This will:

  1. Open an interactive file browser to select your PDF
  2. Check if the PDF is already password-protected (warns if so)
  3. Prompt for the password (with confirmation)
  4. Ask for the output file path (with a default suggestion)
  5. Lock the PDF and save it

Non-Interactive Mode

Provide all arguments directly:

lock-pdf <input-file> <password> [options]

Examples:

# Lock a PDF with default output name
lock-pdf document.pdf myPassword123

# Specify custom output path
lock-pdf document.pdf myPassword123 -o protected.pdf

# Using full paths
lock-pdf /path/to/document.pdf myPassword123 -o /path/to/output.pdf

Options

  • -o, --output <path> - Specify the output file path (default: adds "_locked" suffix to input filename)
  • --skip-dependency-check - Skip the qpdf dependency check (not recommended)
  • -V, --version - Output the version number
  • -h, --help - Display help information

How It Works

This tool uses qpdf, a powerful command-line program for PDF manipulation. When you provide a PDF file:

  1. The tool validates the input file
  2. Checks if the PDF is already password-protected (warns if so)
  3. Uses qpdf with the provided password to encrypt the PDF
  4. Saves the password-protected PDF to the specified output path

The original PDF quality, formatting, and text selectability are preserved.