XSL-FO stands for eXtensible Stylesheet Language - Formatting Objects. It's a language for completely describing a styled document. The XSL-FO file contains the medium and appearance specific Formatting Objects that make up the page (or, for audio output, the speech).
For the Print Medium, formatting objects can include Characters, Blocks of Text, Images, Tables, Borders, Master Pages and so on. XSL-FO is Not a Page Description Language.
It can specify various:
But it does not determine the actual placement of each element. That is determined by the XSL-FO Pagination Engine, called a Formatter. The output from a formatter need not actually drive a printer. Rather, the output might be a PostScript or PDF file, which would need additional rendering software.
Indeed, there are several XSL-FO formatters that are commonly used to generate PDF on-the-fly.
XSL-FO and Aspose.Pdf
Aspose.Pdf uses XSL-FO in a variety of ways to:
To make it simpler, the Input can be:
And the Output can be:
And you can also customize the Meta Information of the generated output PDF document.
There are Six types of Meta Information that can be customized as follows:
TIFF and SVG type images are not supported yet.
TrueType font and unicode will be supported soon.