Skip to main content

PC load letter

Project description

pcloadletter

A CLI tool to generate PDF documents from HTML templates


"PC LOAD LETTER" - WFT does that mean?!

PyPI Version Build Status

Installation

pip install pcloadletter

Usage

pcloadletter lets you generate a pdf document from an HTML Jinja template given some context data from the command line and/or a .yml/.json file.

usage: pcloadletter [-h] [-t TEMPLATE] [-o OUT] [-c CONTEXT_FILE] [extra_context ...]

Generate PDF file from a Jinja-rendered HTML template

positional arguments:
  extra_context         key=value pairs which are added to the template context (default: None)

optional arguments:
  -h, --help            show this help message and exit
  -t TEMPLATE, --template TEMPLATE
                        The invoice template to render. (default: invoice.html)
  -o OUT, --out OUT     Destination file. (default: invoice.pdf)
  -c CONTEXT_FILE, --context-file CONTEXT_FILE
                        A .yml or .json file containing context for the template. (default: None)

Examples:

    pcloadletter --template templates/invoice.html --out invoice.pdf invoice_number=2021-001 invoice_date=`date +%Y-%m-%d`

    pcloadletter --template report.html --context-file=report-data.yml addressee="Mr. M. Bolton"

For example, given a template file hello.html:

<!doctype html>
<html lang="en">
<head>
    <link rel="stylesheet" href="styles.css" />
</head>
<body>
    <h1>Hello {{ target }}!</h1>
</body>
</html>

and a stylesheet:

.h1 {
    font-style: italic;
}

we can render the pdf like so;

pcloadletter --template hello.html target="world out there"

The context could have been given in a context file hello.yml;

target: world out there
pcloadletter --template hello.html --context-file=hello.yml

The above commands will generate a file invoice.pdf in the current directory. You can change the destination using

--out=~/Documents/report.pdf

Project details


Download files

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

Source Distribution

pcloadletter-0.3.2.tar.gz (10.6 kB view hashes)

Uploaded Source

Built Distribution

pcloadletter-0.3.2-py2.py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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