Paperwork.CLI 9.7.4.4

dotnet tool install --global Paperwork.CLI --version 9.7.4.4
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Paperwork.CLI --version 9.7.4.4
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Paperwork.CLI&version=9.7.4.4
                    
nuke :add-package Paperwork.CLI --version 9.7.4.4
                    

Paperwork CLI

Command-line tool for generating PDF documents using the Paperwork / Scryber engine.

Installation

dotnet tool install -g Paperwork.CLI

Commands

Command Description
generate Generate a PDF document
validate <config> Validate a template config JSON file (schemaVers/template-wrapped shape — see docs/config-format.md)
login Sign in with GitHub (device flow) to fetch personal-scope templates
info Display version and environment information

Quick Start

From a stored public template

paperwork generate --template 929mMaxCcf5Nr3UT1DZg --output report.pdf

From a personal (unlisted) template — requires login first

paperwork login --environment staging
paperwork generate --template "myGithubUsername:my-template-slug" \
  --personal --environment staging --async \
  --output report.pdf

From an HTML file

paperwork generate --layout invoice.html --output invoice.pdf

With data and fields

paperwork generate \
  --layout invoice.html \
  --data order=order.json \
  --field date=2026-03-26 \
  --field title="March Invoice" \
  --output invoice.pdf

From a config file

paperwork generate --config invoice-config.json --output invoice.pdf

Override a config data source at runtime

paperwork generate --config invoice-config.json \
  --data customer=local-customer.json \
  --output invoice.pdf

Pipe output to stdout

paperwork generate --layout report.html | aws s3 cp - s3://my-bucket/report.pdf

generate options

Option Description
--template <id> Fetch a template from Firebase Storage (mutually exclusive with --config/--layout)
--personal Fetch a personal-scope template (--template must be {owner}:{slug}) — requires login first
--environment <name> production (default) | staging | dev
--config <file> Template config JSON file — schemaVers/template-wrapped shape
--layout <file> HTML layout file
--style <file> CSS file — repeatable
--data name=path JSON data file — repeatable; overrides config/template data by name
--field key=value Scalar field override — repeatable; accessible as $fields["key"] in templates
--output <file> Output PDF path; omit to write bytes to stdout
--async Use Scryber's async render path — required for any remote content ($assets, $maps, Source items)

Validate

paperwork validate report.json
# Valid. Layouts: 1, Styles: 2, Data: 3, Fields: 1

Full documentation

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
9.7.4.4 52 10/2/2026
9.7.4.3 44 10/1/2026
9.7.4.2 50 10/1/2026
1.2.0 179 3/27/2026
1.1.0 132 3/27/2026
1.0.0 115 3/26/2026