Skip to content

Latest commit

 

History

History
90 lines (74 loc) · 6.99 KB

File metadata and controls

90 lines (74 loc) · 6.99 KB

Capabilities

A one-glance map of what GraphCompose can do, the main API for each, and its stability tier. "Stability" rows use the tiers defined in the API stability policy; "Guide" links to the page that shows it in context.

This is a feature catalogue, not the contract — the API stability policy is authoritative for what each tier promises, and canonical ⇄ legacy parity tracks what is Partial or Planned.


Authoring

Capability Main API Stability Guide
Open a document session GraphCompose.document(...) → DocumentSession Stable Your first document
Describe content in reading order pageFlow(...), module(...), addSection(...) Stable Getting started
Combine sections with different page sizes and chrome GraphCompose.documents(...), MultiSectionDocument Stable Runnable example
Maintained document templates ModernInvoice, ModernProposal, the templates.cv.* / templates.coverletter.* preset galleries Stable Templates
Reusable building blocks (helpers) helper methods / widgets over the DSL Stable Diagrams
Custom node / backend NodeDefinition, render-handler SPI, FixedLayoutBackend Extension SPI (@Beta) Extending

Content

Capability Main API Stability Guide
Paragraphs & rich inline text addParagraph(...), addRich(...), RichText Stable Recipes — rich text
Lists (flat & nested) addList(...), ListBuilder Stable Recipes
Tables (spans, zebra, totals, repeat header) addTable(...), DocumentTableCell Stable Advanced tables
Raster images addImage(...), fit modes Stable Shapes & images
Inline SVG icons & colour emoji addSvgIcon(...), RichText.svgIcon(...), RichText.emoji(...) Stable (emoji requires its companion artifact or bundle) Rich text
Vector shapes, dividers, lines addShape(...), addLine(...), addEllipse(...) Stable Shapes
Vector paths, SVG path data & gradients addPath(...), SvgPath.parse(...), DocumentPaint Stable Runnable example
Charts & inline sparklines chart(ChartSpec...), RichText.sparkline(...) Stable Charts
Timelines & process steps addTimeline(...), TimelineBuilder Stable Timelines
Barcodes & QR addBarcode(...) Stable Recipes

Layout

Capability Main API Stability Guide
Columns that still flow addRow(row -> row.weights(...)) Stable Layered page design
Page-wide fills / bands pageBackground(...), pageBackgrounds(...) Stable Page backgrounds
Overlap & alignment addLayerStack(...) Stable Layered page design
Shape-as-container addContainer(...), addCircle(...), addEllipse(...) Stable Shape as container
Fixed (x, y) placement addCanvas(w, h, canvas -> canvas.position(...)) Stable Absolute placement
Content-driven block with a fixed width fixedWidth(points) Stable Fixed-width flows
Different margins by page range pageMargins(List<PageMarginRule>) Stable Runnable example
Bleed to page edge bleedToEdge(...) Stable Page backgrounds
Transforms (rotate / scale) DocumentTransform Stable Transforms
Translucent colours DocumentColor.rgba(...), withOpacity(...) Stable Translucency
Keep headings or composites together keepWithNext(), keepTogether() Stable Keep-together pagination

Output & testing

Capability Main API Stability Guide
Write a PDF file buildPdf(), buildPdf(Path) Stable Getting started
Stream to a caller-owned stream writePdf(OutputStream) Stable Streaming
In-memory bytes toPdfBytes() Stable Getting started
Page preview images toImage(pageIndex, dpi), toImages(dpi) Stable Streaming and output
Geometry-identical PowerPoint deck buildPptx(Path), writePptx(OutputStream), toPptxBytes() — needs graph-compose-render-pptx on the classpath Experimental (@Beta, first shipped in 2.1.0) Backend capability matrix
Editable Word (semantic) export(new DocxSemanticBackend()) Stable (semantic, not PDF parity) Troubleshooting
PDF chrome (metadata / watermark / header / footer / protection) metadata(...), watermark(...), header(...), footer(...), protect(...) Stable PDF chrome
Repeating node-based page zones chrome().zone(DocumentPageZone.header(...) / footer(...)) Stable PDF chrome
Layout snapshot regression LayoutSnapshotAssertions.assertMatches(...) Stable Layout snapshot testing
Visual (pixel) regression PdfVisualRegression Stable Layout snapshot testing
Render-only debug overlays guideLines(...), debug(...) Stable Getting started

Navigation

Capability Main API Stability Guide
External links addLink(...), inlineLink(...) Stable Getting started
Internal jumps anchor("x") + linkTo("x") Stable Getting started
PDF outline bookmarks bookmark(new DocumentBookmarkOptions(...)) Stable Getting started
Printed page references addPageReference("anchor") Stable In-PDF navigation
Generated table of contents addTableOfContents(toc -> toc.entry(...)) Stable In-PDF navigation

See also