Document Services: Output, Assembler, and PDF Generation
The three services
Output merges an XDP template with XML data to produce a PDF (or other render format). Assembler combines, splits, converts, and manipulates PDFs (DDX-driven). PDF Generator converts native files (Word, Excel, images) to PDF using native binaries. Each is an OSGi service with a defined API and invocation path (Java API, watched folder, or workflow step).
Concepts to master
XDP templates, data binding in Output, render options (PDF, print, etc.), DDX documents for Assembler, and watched folder endpoints. Know that Output requires a template plus data and that missing data nodes produce blank or errored output depending on binding settings. Assembler operations are declared in DDX; the service executes the DDX against input documents.
Traps
- Confusing Output (template + data) with Assembler (document manipulation).
- Assuming PDF Generator works without native binaries or with unsupported fonts.
- Forgetting that DDX syntax errors fail at runtime, not authoring time.
- Ignoring that Output rendering can be resource-heavy; large batches need tuning.
Rule of thumb
Ask what the input is: XML + XDP means Output; existing PDFs/documents to combine or convert means Assembler; native Office/image files to PDF means PDF Generator. Pick the service by input type, then verify configuration (fonts, binaries, DDX).