Initial commit: FastReport PDF rendering sidecar

Tiny .NET 6 web app that accepts a JSON dataset and a FastReport template
name, renders to PDF, and returns the bytes. Exists because System.Drawing
is unsupported on .NET 8 Linux even with libgdiplus, but works on .NET 6
with `System.Drawing.EnableUnixSupport=true`. The main pwa_api (.NET 8)
calls this over loopback HTTP.

Endpoints:
  POST /render        single template, returns one PDF
  POST /render/multi  array of sections, merges into one PDF
  GET  /health        liveness probe

Templates and Fonts are sourced at build time from the sibling pwa_api
project so there's a single source of truth for .frx files.

Deployed as pwa-pdf-service.service on api.pwabilling.com, listening on
127.0.0.1:7082, self-contained (no system .NET 6 runtime needed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-04 11:40:16 +07:00
commit af48f51e4c
8 changed files with 278 additions and 0 deletions

7
nuget.config Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="71dev" value="https://nuget.71dev.com/v3/index.json" />
</packageSources>
</configuration>