config/projects/business/src/pdf-api
2026-02-17 21:49:00 +00:00
..
.forgejo/workflows memory: 2026-02-17 daily log 2026-02-17 21:49:00 +00:00
deploy DocFast: landing page, tests, deployment config, session 4 log 2026-02-14 12:40:03 +00:00
dist memory: 2026-02-17 daily log 2026-02-17 21:49:00 +00:00
infrastructure Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
public memory: 2026-02-17 daily log 2026-02-17 21:49:00 +00:00
scripts memory: 2026-02-17 daily log 2026-02-17 21:49:00 +00:00
src memory: 2026-02-17 daily log 2026-02-17 21:49:00 +00:00
templates fix: frontend polish — BUG-053,055,058,060,061,067,069 (minify JS, skip-link, OG tags, sitemap, docs footer) 2026-02-17 13:13:56 +00:00
@ Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
.gitignore session 11: fixed signup flows, unified key store 2026-02-14 14:20:32 +00:00
BACKUP_PROCEDURES.md Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
bugs.md Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
CI-CD-SETUP-COMPLETE.md Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
decisions.md Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
DEPLOYMENT.md Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
docker-compose.yml Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
Dockerfile Add support@docfast.dev mailbox (FreeScout) to CEO state 2026-02-16 19:24:43 +00:00
Dockerfile.backup Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
logrotate-docfast Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
nginx-docfast.conf memory: 2026-02-17 daily log 2026-02-17 21:49:00 +00:00
package-lock.json fix: frontend polish — BUG-053,055,058,060,061,067,069 (minify JS, skip-link, OG tags, sitemap, docs footer) 2026-02-17 13:13:56 +00:00
package.json fix: frontend polish — BUG-053,055,058,060,061,067,069 (minify JS, skip-link, OG tags, sitemap, docs footer) 2026-02-17 13:13:56 +00:00
README.md DocFast MVP: HTML/Markdown to PDF API with invoice templates 2026-02-14 12:30:17 +00:00
sessions.md Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
state.json Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00
tsconfig.json DocFast MVP: HTML/Markdown to PDF API with invoice templates 2026-02-14 12:30:17 +00:00
VERSION Clear all blockers: payment tested, CI/CD secrets added, status launch-ready 2026-02-16 18:49:39 +00:00

DocFast API

Fast, simple HTML/Markdown to PDF API with built-in invoice templates.

Quick Start

npm install
npm run build
API_KEYS=your-key-here npm start

Endpoints

Convert HTML to PDF

curl -X POST http://localhost:3100/v1/convert/html \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html": "<h1>Hello</h1><p>World</p>"}' \
  -o output.pdf

Convert Markdown to PDF

curl -X POST http://localhost:3100/v1/convert/markdown \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"markdown": "# Hello\n\nWorld"}' \
  -o output.pdf

Invoice Template

curl -X POST http://localhost:3100/v1/templates/invoice/render \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "invoiceNumber": "INV-001",
    "date": "2026-02-14",
    "from": {"name": "Your Company", "email": "you@example.com"},
    "to": {"name": "Client", "email": "client@example.com"},
    "items": [{"description": "Service", "quantity": 1, "unitPrice": 100, "taxRate": 20}]
  }' \
  -o invoice.pdf

Options

  • format: Paper size (A4, Letter, Legal, etc.)
  • landscape: true/false
  • margin: {top, right, bottom, left} in CSS units
  • css: Custom CSS (for markdown/html fragments)
  • filename: Suggested filename in Content-Disposition header

Auth

Pass API key via Authorization: Bearer <key>. Set API_KEYS env var (comma-separated for multiple keys).

Docker

docker build -t docfast .
docker run -p 3100:3100 -e API_KEYS=your-key docfast