Give the attachment its moment.
Your app does the work. The report carries it forward. Open-source, flow-based documents from JSON to HTML and PDF.
Start buildingTwo JSON files. One useful attachment.
Define the shape.
A header, a body that flows, and a footer. Save the layout as JSON.
Bring the data.
Keep the values separate. Bind property paths, format fields, and populate tables.
Send it out.
.NET compiles self-contained HTML. Playwright prints the same document to PDF.
Useful looks good.
Three real reports. Synthetic data. Working downloads.

01 / Invoice
Line items, quantities, currency, and a total. The everyday attachment, done clearly.
Learn more →
02 / Statement
Dates, activity, and a running balance. A month of transactions in one readable document.
Learn more →
03 / Packing list
SKUs, boxes, and quantities. The list that keeps the handoff organized.
Learn more →Build visually. Keep it in JSON.
The Windows builder puts blocks on the left, the preview in the middle, and properties on the right.

Small pieces. A clear system.
A focused v1 for documents that flow. Here is what the source actually does.
Flow, not a free canvas.
Text, fields, images, spacers, columns, and tables. Tables split by row; their headings repeat when printed.
Learn more →One definition. Real outputs.
A separate JSON data object binds on the .NET side. The compiler produces HTML; the exporter produces PDF.
Learn more →Yours to inspect.
MIT-licensed source. A Windows builder, a Blazor viewer, and a Next.js display sample.
Learn more →Before you attach.
A few useful answers, including the boundaries.
Your next attachment starts here.
Take the source. Define the layout. Give your data a document worth opening.
Get the code ↗