See it in action
No Chromium. No headless browser. One ~828 KB managed DLL, zero dependencies. Each document below is produced by the engine itself — copy the C# and run it.
Multi-page transaction statements with repeating headers, running balances and precise table alignment — pixel-consistent every run.
using Bhowra.Ink;
byte[] pdf = HtmlConverter.ConvertToBytes(statementHtml);
File.WriteAllBytes("statement.pdf", pdf);
Branded salary slips with earnings/deductions tables, net-pay summary and amount-in-words — 3 pages with a repeating ledger header.
using Bhowra.Ink;
var result = HtmlConverter.Convert(payslipHtml,
new ConverterProperties { Title = "Payslip May 2026" });
result.SaveToFile("payslip.pdf");
Production-grade Arabic shaping and bidirectional layout for bilingual GCC documents — full right-to-left tables, GOSI/SANED breakdown, WPS reference. No external shaping engine.
using Bhowra.Ink;
// RTL + Arabic shaping are automatic from the HTML dir/lang attributes.
byte[] pdf = HtmlConverter.ConvertToBytes(arabicPayslipHtml);
File.WriteAllBytes("payslip-gcc.pdf", pdf);
Bilingual Arabic/English tax-invoice layout with VAT breakdown, seller/buyer headers, and line items. Renders the human-readable buyer-facing PDF.
using Bhowra.Ink;
// Renders the visual invoice layout — Arabic RTL + English LTR in one document.
byte[] pdf = HtmlConverter.ConvertToBytes(invoiceHtml);
File.WriteAllBytes("invoice.pdf", pdf);
// PDF/A-3 hybrid invoice with embedded XML + TLV QR
var props = new ConverterProperties { PdfA = PdfAConformance.PdfA3B, QrCodeData = tlvQr }
.AttachFile("invoice.xml", ublXml, "application/xml", afRelationship: "Alternative");
byte[] pdf = HtmlConverter.ConvertToBytes(invoiceHtml, props);
Bhowra.Ink renders the invoice PDF. XML signing and tax-authority submission remain your pipeline’s responsibility.
Add Bhowra.Ink to your project and turn your own HTML templates into production PDFs — no browser required.