PdfEngine.Cli
1.0.260519.2
dotnet tool install --global PdfEngine.Cli --version 1.0.260519.2
dotnet new tool-manifest
dotnet tool install --local PdfEngine.Cli --version 1.0.260519.2
#tool dotnet:?package=PdfEngine.Cli&version=1.0.260519.2
nuke :add-package PdfEngine.Cli --version 1.0.260519.2
PdfEngine CLI
Command-line interface for the PdfEngine library — inspect, parse, convert and merge PDF files from your terminal.
Distributed as a global .NET tool.
Requirements
- .NET 8 runtime (or SDK)
- A PdfEngine license key (Demo, Starter, Business or Pro). Get one here.
Installation
dotnet tool install --global PdfEngine.Cli
To upgrade later:
dotnet tool update --global PdfEngine.Cli
To uninstall:
dotnet tool uninstall --global PdfEngine.Cli
After installation, the command pdfengine is available on your PATH.
From a private feed
dotnet tool install --global PdfEngine.Cli --add-source https://your-feed/index.json
Providing the license key
The CLI requires a valid PdfEngine license. You can supply it in two ways:
Option A — environment variable (recommended)
# Windows (PowerShell)
$env:PDFENGINE_LICENSE_KEY = "PE-XXXX-XXXX-XXXX-XXXX"
# macOS / Linux
export PDFENGINE_LICENSE_KEY="PE-XXXX-XXXX-XXXX-XXXX"
Persist it across sessions with setx PDFENGINE_LICENSE_KEY "..." (Windows) or by adding the export line to your ~/.bashrc / ~/.zshrc.
Option B — --license option per call
pdfengine --license PE-XXXX-XXXX-XXXX-XXXX info invoice.pdf
The --license flag overrides the environment variable for that single call.
If neither is provided, the CLI exits with code 1 and an error message.
Commands
| Command | Description |
|---|---|
pdfengine info <pdf> |
Show document info: version, type, page count, PDF/A profile, Factur-X status |
pdfengine text <pdf> |
Extract textual content (with optional page range) |
pdfengine tables <pdf> |
Detect and extract tables as JSON |
pdfengine images <pdf> |
Extract embedded images |
pdfengine merge <output> <pdf1> <pdf2> ... |
Merge multiple PDFs into one |
pdfengine split-pages <pdf> <outDir> |
Split a PDF into one file per page |
pdfengine batch <directory> |
Run an operation across all PDFs in a directory |
Use pdfengine <command> --help for the full set of options for any command.
Common options
| Option | Description |
|---|---|
--password <pwd> |
Decryption password for protected PDFs |
--license <key> |
Override the license key for this call |
--help |
Show command help |
Examples
# Quick info
pdfengine info ./invoice.pdf
# Extract all text
pdfengine text ./invoice.pdf > invoice.txt
# Detect tables and pipe to jq
pdfengine tables ./report.pdf | jq '.[] | .rows | length'
# Merge a folder of PDFs
pdfengine merge ./merged.pdf ./folder/*.pdf
# Split a multi-page invoice into per-page files
pdfengine split-pages ./invoice.pdf ./pages
# Batch info on a directory
pdfengine batch ./incoming
Exit codes
| Code | Meaning |
|---|---|
0 |
Success |
1 |
License key missing |
2 |
License registration failed (invalid key, network error, quota exceeded) |
| Other | Operation-specific error (file not found, parsing error, etc.) |
License & quotas
The CLI honors the same monthly quotas as the lib:
- Demo — 100 generations + 100 parsings per month, 30-day trial
- Starter — 5 000 / 5 000 per month
- Business — 20 000 / 20 000 per month
- Pro — unlimited
When a quota is reached, the CLI returns an error and the next call resumes once the new month starts (or after upgrading the plan).
See https://www.pdf-engine.fr/pricing for plan details.
Troubleshooting
pdfengine: command not found
Make sure ~/.dotnet/tools (Linux/macOS) or %USERPROFILE%\.dotnet\tools (Windows) is on your PATH. The .NET SDK installer normally adds it automatically; if not, add it manually and restart your shell.
Error: a PdfEngine license key is required
Set PDFENGINE_LICENSE_KEY or pass --license <key>.
Error: failed to register PdfEngine license: license_invalid
The key is rejected by the licensing server. Verify it is active in your customer dashboard.
Network or proxy issues
If your machine sits behind a corporate proxy, ensure the .NET HttpClient picks up your proxy settings (usually via HTTP_PROXY / HTTPS_PROXY environment variables).
Project links
- Library: PdfEngine
- Documentation: https://www.pdf-engine.fr
- Pricing: https://www.pdf-engine.fr/pricing
- Support: contact@pdf-engine.fr
License
Commercial — see your subscription terms.
| Product | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.260519.2 | 67 | 5/19/2026 |
| 1.0.260519.1 | 73 | 5/19/2026 |
| 1.0.260517.1 | 83 | 5/17/2026 |
| 1.0.260513.1 | 80 | 5/13/2026 |
| 1.0.260512.1 | 80 | 5/12/2026 |
| 1.0.260510.2 | 87 | 5/10/2026 |
| 1.0.260510.1 | 80 | 5/10/2026 |
| 1.0.260509.6 | 90 | 5/10/2026 |