Skip to main content

A macOS PDF Service to merge letterhead with printed documents

Project description

Mac-letterhead

A macOS PDF Service that automatically merges a letterhead template with printed documents.

Installation

Install the package:

uv pip install -e .

Usage

Installing a Letterhead Service

To create a PDF Service for a specific letterhead template:

uv run mac-letterhead install /path/to/your/letterhead.pdf

This will create a new PDF Service named "Letterhead " in your PDF Services directory.

Using the Letterhead Service

  1. Open any document you want to print with the letterhead
  2. Choose File > Print
  3. Click the PDF dropdown button
  4. Select "Letterhead " from the menu
  5. Choose where to save the merged PDF

By default, this will generate multiple PDF files with different merging strategies so you can choose the one that works best for your specific letterhead and document.

Using Different Merge Strategies

If you already know which strategy works best for your letterhead, you can specify it directly:

uv run mac-letterhead print /path/to/your/letterhead.pdf "Document Name" "" /path/to/document.pdf --strategy overlay

Available strategies:

  • multiply: Original strategy using multiply blend mode
  • reverse: Draws content first, then letterhead on top with blend mode
  • overlay: Uses overlay blend mode for better visibility
  • transparency: Uses transparency layers for better blending
  • darken: (Default) Uses darken blend mode which works well for light letterheads with dark text/logos
  • all: Generates files using all strategies for comparison (the main output file will use the darken strategy)

Version Information

To check the current version:

uv run mac-letterhead --version

Error Logging

The tool logs all operations and errors to:

~/Library/Logs/Mac-letterhead/letterhead.log

If you encounter any issues while using the tool, check this log file for detailed error messages and stack traces.

Features

  • Easy installation of letterhead services
  • Supports multiple letterhead templates
  • Maintains original PDF metadata
  • Preserves PDF quality
  • Shows save dialog for output location
  • Proper error handling with detailed logging
  • Supports --version flag
  • Type hints for better code maintainability

Development

To install in development mode:

uv pip install -e .

Publishing a New Release

First-time Setup

  1. Create an account on PyPI if you don't have one
  2. Create an API token on PyPI:
  3. Add the token to GitHub repository secrets:
    • Go to your repository's Settings > Secrets and variables > Actions
    • Create a new secret named PYPI_API_TOKEN
    • Paste your PyPI token as the value

Publishing a Release

  1. Update the version in:

    • pyproject.toml
    • letterhead_pdf/init.py
    • letterhead_pdf/main.py
  2. Run the release script:

./tag_release.sh

This will:

  • Create a git tag for the current version
  • Push the tag to GitHub
  • Trigger the GitHub workflow to publish to PyPI

The GitHub workflow will:

  • Build the package
  • Upload it to PyPI using the configured API token
  • Make it available for installation via pip/uv

Troubleshooting

If you encounter any issues:

  1. Check the log file at ~/Library/Logs/Mac-letterhead/letterhead.log
  2. The log contains detailed information about:
    • All operations performed
    • Error messages with stack traces
    • Input/output file paths
    • PDF processing steps

License

MIT License

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mac_letterhead-0.2.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mac_letterhead-0.2.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file mac_letterhead-0.2.1.tar.gz.

File metadata

  • Download URL: mac_letterhead-0.2.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for mac_letterhead-0.2.1.tar.gz
Algorithm Hash digest
SHA256 324fada85246e14b6f4dd96c045a53584afadd5d33c96a7c69af684e73bb5419
MD5 ef3645f1c47038c539390b4e9af517e5
BLAKE2b-256 625c1737e6a1f3f9552a5e26ef4d38bdd300c8fdf17251d4650ca4f00a96055d

See more details on using hashes here.

File details

Details for the file mac_letterhead-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mac_letterhead-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for mac_letterhead-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0f13d6ad135178e54e373cc467121774f21b73c76e9085607f8eaa4af78be41
MD5 d29c8a10f3422befd65103124faedbef
BLAKE2b-256 083ee42c2a72339e6d590ea8d9da6c1a74d6b884538be0489747e8496cc4aca0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page