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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file pcloadletter-0.3.2.tar.gz.

File metadata

  • Download URL: pcloadletter-0.3.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for pcloadletter-0.3.2.tar.gz
Algorithm Hash digest
SHA256 67f7beba803cb8562260310733cda0c9a77f5c09a6bf1eeb1e80ed40b5c63de1
MD5 ee057be49b787713e2cd5019c9c367c6
BLAKE2b-256 c1c957dbd6a0667e2beb5d7e569af262e25d2387bb85327fafa570596fbee90b

See more details on using hashes here.

File details

Details for the file pcloadletter-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pcloadletter-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cb80d231d1b8a41a576211c9041204f8f24aad458efc1326578bfe956c643327
MD5 d8566ced7d598839ca8db66665081dae
BLAKE2b-256 fb74f3a50a01ee8369bdfc64bff339df75bd9f32bfeed996913f423791d5d61d

See more details on using hashes here.

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