XSL-FO Formatting Engine
Convert XSL-FO to PDF, Microsoft® Word, and 20+ output formats through a REST API. Process millions of documents per day in real-time or batch mode. Used by system integrators and software developers worldwide for production-scale document generation.
XSL-FO to PDF • REST API • 20+ Output Formats • Batch + Real-Time • Millions of Docs/Day • SOC 2 Type 2
What the XSL-FO Formatting Engine Does
The MHC XSL-FO formatting engine is the rendering layer of the MHC NorthStar Developer Toolkit. It accepts XSL-FO content (either pre-composed or generated from XML/JSON data through stored templates) and produces formatted documents in PDF, Microsoft® Word, HTML, and 20+ additional output formats.
The engine operates through a REST API. Applications send data and a template reference via HTTP POST. The engine merges data with layout instructions and returns the rendered document. Both real-time single-document requests and batch processing of millions of documents per run are supported.
System integrators embed the engine into enterprise solutions for insurance, healthcare, financial services, government, and manufacturing. Software developers use the API to add document generation to their applications without building a rendering engine from scratch.
How XSL-FO to PDF Conversion Works
XSL-FO (Extensible Stylesheet Language Formatting Objects) is a W3C standard that describes how XML data should be formatted into paginated documents. XML contains the data. XSL-FO contains the layout instructions: page size, margins, fonts, tables, headers, footers, conditional content, barcodes, and color profiles. The formatting engine reads both and produces the output.
1.
Design the Template
Use MHC Studio’s Visual XSL-FO Designer to build the template with drag-and-drop operations. Or write XSL-FO directly for full control. The template defines the document layout, data field mappings, conditional logic, and output rules. Save the template to the MHC server.
2.
Call the API with Data
Your application sends a REST API request with the data payload (XML, JSON, or raw XSL-FO) and the stored template reference. The formatting engine merges data with the template and returns the rendered document in the requested output format (PDF, Microsoft® Word, HTML, or any of 20+ formats).
3.
Receive the Document
The API returns the rendered document as a binary response. For real-time requests, response time is typically sub-second for standard documents. For batch processing, the engine processes entire data sets in a single run, producing millions of documents per batch.
XSL-FO to PDF API Example
// Send XSL-FO content directly to the rendering engine
POST /api/v1/render
Content-Type: application/xml
PDF
Account Statement
Account: 4821-7739-0012
// Response: Binary PDF document
XML Data + Stored Template Example
// Send XML data with a stored template reference
// The engine applies the XSL-FO template to the XML data
POST /api/v1/render
Content-Type: application/json
{
"template": "monthly-statement-v4",
"outputFormat": "PDF",
"data": "Jane Rodriguez 4821-7739 12450.00 "
}
// Response: Rendered PDF with full statement layout,
// dynamic transaction table, and conditional disclosures
Features
Formatting Engine Capabilities
Real-time rendering
Sub-second response for on-demand document requests through the REST API
Batch processing
Millions of documents per run for statements, tax forms, and regulatory mailings
Conditional content
Show or hide document sections based on data values, business rules, or regulatory requirements
Dynamic tables
Repeated tables with data-driven rows that span hundreds of pages (transaction histories, line-item invoices)
Barcode generation
Dynamic barcodes (Code 128, QR, PDF417, Data Matrix) rendered directly in the document
Print production
RGB, CMYK, and ICC color profiles for production-quality print output
Bookmarks and TOC:
Auto-generated bookmarks, cross-references, and table of contents in PDF output
Interactive HTML5:
Responsive, interactive document output for digital delivery alongside traditional PDF
Output Formats
Supported Output Formats
Category | Formats | Use Case |
Print Production | PDF, PDF/A (archival), PostScript, PCL, AFP | High-volume transactional print, production printing, check printing, archival |
Accessible Documents | PDF/UA | Section 508 compliance, European Accessibility Act, ADA compliance |
Digital Documents | PDF, Microsoft® Word (DOCX), HTML | Email delivery, web portals, digital archives, customer self-service portals |
Interactive | Interactive HTML5, Responsive HTML | Mobile-friendly documents, digital-first customer communications, web viewing |
Images | TIFF, PNG, JPEG | Fax output, image-based archiving, thumbnail generation |
Data Interchange | XPS, SVG | Cross-platform document exchange, vector graphics output |
Category | Formats | Use Case |
Print Production | PDF, PDF/A (archival), PostScript, PCL, AFP | High-volume transactional print, production printing, check printing, archival |
Accessible Documents | PDF/UA | Section 508 compliance, European Accessibility Act, ADA compliance |
Digital Documents | PDF, Microsoft® Word (DOCX), HTML | Email delivery, web portals, digital archives, customer self-service portals |
Interactive | Interactive HTML5, Responsive HTML | Mobile-friendly documents, digital-first customer communications, web viewing |
Images | TIFF, PNG, JPEG | Fax output, image-based archiving, thumbnail generation |
Data Interchange | XPS, SVG | Cross-platform document exchange, vector graphics output |
Interactive Code Samples
Try Our API Code Samples for Yourself
We’ve prepared code samples showcasing how to convert XML, JSON, and XSL-FO to PDF using stored templates, as well as how to merge multiple documents into a single PDF. Get in touch with our tech team to explore these examples and see how easily you can integrate with MHC.

Convert XML to PDF
Send an XML string with a stored template reference. The engine applies the XSL-FO template to the XML data and returns a rendered PDF. Supports conditional content, dynamic tables, and barcode generation from XML field values.

Convert JSON to PDF
Send a JSON object with a stored template reference. JSON properties map to template placeholders. The engine renders the document and returns PDF or any supported output format.

Convert XSL-FO to PDF
Send pre-composed XSL-FO content directly to the rendering engine. For teams that generate their own XSL-FO from XSLT transformations or custom pipelines and need a high-performance rendering engine to produce the final output.

Merge Multiple Documents
Combine multiple rendered documents (cover letter, statement, disclosures, attachments) into a single PDF through one API call. Supports documents stored on the server or generated on the fly in the same request.
MHC XSL-FO Engine vs. Alternatives
Capability | MHC XSL-FO Engine | Apache FOP (Open Source) | Antenna House (Commercial) |
Output Formats | PDF, Microsoft® Word, HTML, and 20+ formats | PDF, PostScript, PNG (limited set) | PDF, Microsoft® Word, HTML, and others |
REST API | Built-in, production-ready | Not included (must build) | Available as add-on |
Batch Processing | Millions of documents per run | Not optimized for high volume | Supported |
Visual Template Designer | MHC Studio (WYSIWYG, drag-and-drop) | None (hand-code XSL-FO) | None (hand-code or third-party tools) |
Print Color (CMYK/ICC) | Full support | Limited | Full support |
Barcode Generation | Built-in (Code 128, QR, PDF417, Data Matrix) | Plugin required (fop-barcode) | Built-in |
Interactive HTML5 Output | Yes | No | No |
PDF/UA Accessibility | Supported | Limited | Supported |
Enterprise Support | MHC support team, SLA-backed | Community only | Commercial support |
Security Certification | SOC 2 Type 2 | None | Varies |
JSON Input Support | Yes (native) | No (XML only) | No (XML only) |
Multi-Document Merge | Single API call | Custom code required | Available |
Capability | MHC XSL-FO Engine | Apache FOP (Open Source) | Antenna House (Commercial) |
Output Formats | PDF, Microsoft® Word, HTML, and 20+ formats | PDF, PostScript, PNG (limited set) | PDF, Microsoft® Word, HTML, and others |
REST API | Built-in, production-ready | Not included (must build) | Available as add-on |
Batch Processing | Millions of documents per run | Not optimized for high volume | Supported |
Visual Template Designer | MHC Studio (WYSIWYG, drag-and-drop) | None (hand-code XSL-FO) | None (hand-code or third-party tools) |
Print Color (CMYK/ICC) | Full support | Limited | Full support |
Barcode Generation | Built-in (Code 128, QR, PDF417, Data Matrix) | Plugin required (fop-barcode) | Built-in |
Interactive HTML5 Output | Yes | No | No |
PDF/UA Accessibility | Supported | Limited | Supported |
Enterprise Support | MHC support team, SLA-backed | Community only | Commercial support |
Security Certification | SOC 2 Type 2 | None | Varies |
JSON Input Support | Yes (native) | No (XML only) | No (XML only) |
Multi-Document Merge | Single API call | Custom code required | Available |
Document Types Generated by Industry
Insurance
Document Types:
Policy documents, declarations pages, claims correspondence, explanation of benefits (EOBs), regulatory notices, state-specific disclosures, renewal notices
Healthcare
Document Types:
Patient communications, HIPAA-compliant notices, EOBs, provider statements, clinical summaries, billing statements
Financial Services
Document Types:
Account statements, regulatory disclosures, loan documents, trade confirmations, tax reporting documents, compliance notices
Government
Document Types:
Citizen communications, regulatory filings, tax forms (W2, 1099), benefit notices, compliance documents
Manufacturing
Document Types:
Purchase orders, invoices, shipping documents, packing lists, quality certifications, supplier communications
Complete Document Generation Toolkit
MHC NorthStar Developer Toolkit
The XSL-FO Formatting Engine is one component of the MHC NorthStar Developer Toolkit. Related capabilities include:
Drag-and-drop template builder. WYSIWYG interface for building XSL-FO templates without coding.
High-volume XML data to PDF rendering using stored templates and the REST API.
Convert JSON application data to formatted PDF documents through the same REST API.
AI content generation, tone optimization, one-click translation across 60+ languages, and plain-language rewriting for customer-facing documents.
Why teams choose MHC
Analyst-Validated. Enterprise Compliant. Customer-Proven.
Ranked by the industry’s leading analysts, built for regulated industries, and trusted by the teams using it every day.
Real feedback from IT teams
“ MHC has been a great partner in figuring out [our issues], to understand our business, to understand what we’re trying to accomplish, to understand the things that we are doing with the tool that again may not be in documentation, that may not be something that you all planned on. We found that MHC is part of our team. ”
~ Ryan Boyd,
Senior Vice President, 2-COM
Recognized by Leading Analysts
Enterprise-Grade Security & Compliance
Frequently Asked Questions
XSL-FO Formatting Engine
What is the MHC XSL-FO formatting engine?
The MHC XSL-FO formatting engine is a high-performance rendering engine that converts XSL-FO content into PDF, Microsoft® Word, and 20+ output formats. It operates through a REST API, accepting XSL-FO input and returning rendered documents. The engine supports both real-time rendering for individual documents and batch processing for millions of documents per run. It is part of the MHC NorthStar Developer Toolkit.
How does XSL-FO to PDF conversion work?
Design an XSL-FO template using MHC Studio’s visual designer or write XSL-FO directly. Call the MHC REST API with your XML or JSON data and a template reference. The engine merges data with the template’s layout instructions and returns a rendered PDF, Microsoft® Word document, or other output format. Real-time and batch modes are both supported.
How does the MHC engine compare to Apache FOP?
Apache FOP is an open-source XSL-FO processor with a limited output format set and no built-in API. The MHC engine supports 20+ output formats, includes a production-ready REST API, is optimized for millions of documents per batch, provides CMYK/ICC print support, generates barcodes natively, produces interactive HTML5 output, accepts JSON input, and is SOC 2 Type 2 certified. Apache FOP is suitable for development and small-volume use. The MHC engine is designed for production-scale document generation.
What output formats are supported?
PDF (including PDF/A for archival and PDF/UA for accessibility), Microsoft® Word (DOCX), HTML, Interactive HTML5, PostScript, PCL, AFP, TIFF, PNG, JPEG, XPS, SVG, and additional formats. Print-ready formats support RGB, CMYK, and ICC color profiles.
Can the engine process millions of documents?
Yes. The engine supports real-time single-document rendering (sub-second for standard documents) and batch processing for millions of documents per run. Batch mode is used for monthly statements, annual tax documents, regulatory mailings, and other high-volume production jobs.
What is XSL-FO?
XSL-FO (Extensible Stylesheet Language Formatting Objects) is a W3C standard XML vocabulary for describing how data should be formatted into paginated documents. It specifies page layout, margins, fonts, tables, headers, footers, and conditional content. XSL-FO separates data from presentation, allowing the same data source to produce different layouts for print, email, and web channels.
How do developers integrate the engine?
Through the MHC REST API. Send POST requests with XML, JSON, or XSL-FO data and a template reference. Receive the rendered document back. Code samples are available for all common operations. The API integrates with Salesforce, Microsoft Dynamics, web services, and custom applications.
What industries use this engine?
Insurance (policy documents, claims, EOBs), healthcare (patient communications, HIPAA notices), financial services (statements, disclosures, loan documents), government (regulatory filings, tax forms), and manufacturing (invoices, POs, shipping documents).
Do I need to write XSL-FO code?
No. MHC Studio’s Visual XSL-FO Designer provides a drag-and-drop WYSIWYG interface for building templates without writing code. Developers who prefer direct XSL-FO access can also write code manually. The engine processes XSL-FO from either source.
See the XSL-FO Formatting Engine in Action
Ready to see how the XSL-FO formatting engine handles your document production workload?