novolis-documents / README.md
novolis-documents docs
One-column pages to Skia PDF
dotnetpdfdocumentsnovolis
Paged document island for Novolis: immutable model → one-column layout → SkiaSharp PDF.
| Doc | What it covers |
|---|---|
| getting-started.md | Install, first PDF, dogfood samples, build/test |
| design.md | Package stack, goals, non-goals, page lifecycle |
| authoring.md | Fluent Document.Create DSL (P1 spine) |
| model.md | PagedDocument, meta, page setup, typography |
| blocks.md | Block catalog (headings, tables, columns, images, …) |
| header-footer.md | Header / footer includes, templates, chapter title, watermark |
| layout-and-pdf.md | DocumentPaginator, PagePlan, DocumentPdf |
| mappers.md | Mapping external formats into PagedDocument |
| faq.md | Common questions |
| release.md | CalVer / publish |
Packages
| Package | Role |
|---|---|
| `Novolis.Documents` | Model + fluent builders |
| `Novolis.Documents.Layout` | Pagination |
| `Novolis.Documents.Skia` | PDF paint |
Mental model
Document.Create(title)
.Meta(…)
.Page(p => p.Header(…).Footer(…))
.Watermark(…) // optional
.Body(b => b
.First(…) // title page
.Content(c => c // main flow
.Toc()
.Chapter(…)
.Paragraph(…)
.Table(…))
.Last(…)) // closing page
.Build()
│
▼
PagedDocument (immutable)
│
▼
DocumentPaginator.Paginate → PagePlan
│
▼
DocumentPdf.Write / ToBytes → PDF