A visual designer in your editor
Double-click a .pdfx and the designer opens as a tab in Visual Studio or VS Code: drag blocks, bind your DTO's fields and see the real PDF while you design. No need to run your app.
For .NET developers
Design inside Visual Studio or VS Code, and generate from your code with its own engine on SkiaSharp. With PDF/A, digital signatures and the e-invoice XML inside the same PDF.
A simple PDF is easy. Making a 200-page invoice not break, pass archival validation and look the same on your Linux server is what really costs. That's XtudioPdf.
Double-click a .pdfx and the designer opens as a tab in Visual Studio or VS Code: drag blocks, bind your DTO's fields and see the real PDF while you design. No need to run your app.
The printable invoice with its QR code and the XML attached inside the same PDF (PDF/A-3), declared in the template with a field from your model.
PAdES signature with your .p12 certificate, visible in a box on the template, and an RFC 3161 timestamp so it stays verifiable for years.
PDF/A-2b, 2u, 3b and 3u for long-term archiving, tested with veraPDF, the reference validator, also when signed and with attachments.
Thousands of rows across pages, with carried-forward totals, groups with subtotals, repeating headers and a table of contents with page numbers.
Amounts in words, 80 and 58 mm thermal tickets, per-country currency formats and a designer in English and Spanish.
Your fonts travel inside the app and the ✓ ★ ☐ symbols are included: the PDF looks the same on Windows, Linux or Docker, even with no fonts installed.
At build time, XtudioPdf checks every template field against your DTO and points to the exact line if one doesn't exist.
The .pdfx template is embedded at build time. Your report takes the DTO and returns the PDF: no manual positions, no HTML in between and no browser on the server.
Works with .NET 8 and .NET 10. Step-by-step guide →
// Program.cs
builder.Services.AddPdfReports();
builder.Services.AddXtudioPdf(); // optional: the designer at /xtudiopdf, Development only
app.MapGet("/invoices/{id}.pdf", async (int id, InvoiceReport report) =>
Results.File(await report.GenerateAsync(id), "application/pdf"));
// Invoice.pdfx: the XML goes inside the PDF
"pdfA": "a3u",
"attachments": [{ "name": "{{Number}}.xml", "source": "{{InvoiceXml}}" }]
A perpetual license with one year of updates. If you don't renew, you keep using your version with no time limit; if you renew, you get new versions for another year.
To try it out and for simple documents
1 developer
Up to 5 developers
Unlimited developers, one company
Prices in US dollars, before taxes. By buying you accept the License Agreement and the Terms of Service. 14-day refunds, no questions asked.
Want to try everything first? Get a 30-day Pro trial license: when it ends, your project goes back to Community on its own, without breaking anything.
Only one. XtudioPdf.AspNetCore for ASP.NET Core apps and APIs; XtudioPdf.Core for everything else (worker services, console, desktop, Azure Functions). AspNetCore already includes Core.
No. With the Visual Studio or VS Code extension, the designer opens in a tab when you double-click the .pdfx. In production there is no designer or browser: the template is embedded in your DLL and your code generates the PDF.
You keep using XtudioPdf forever, with every version released during your year of updates. You just stop getting new ones.
No. Community can be used in commercial products, by any company, no matter its revenue. Only the Pro features need a license.
XtudioPdf generates the printable version of the invoice, with its QR code, and can carry the XML inside the PDF. The XML comes from your system or your e-invoicing provider; XtudioPdf doesn't validate it with the tax authority.
Yes. Your project's fonts are embedded at build time and the symbols are included, so the PDF comes out the same even if the container has no fonts installed.
No. The key is validated offline, on your server. We never send your documents' data anywhere.
After you pay, the key arrives by email with its PDF certificate. You can always find it in My licenses, where you can also renew it.
Write to support@xtudiopdf.com and we'll issue your license once the payment is confirmed.