# Rendro v1.0.0 - Table of Contents Pure-Elixir, Phoenix-first PDF/document generation with deterministic layout and pagination ## Pages - [Rendro](readme.md) - Guides - [Rendro Integrations](integrations.md) - [Branding](branding.md) - [User Flows and Jobs To Be Done](user_flows_and_jtbd.md) - Evaluation - [Generating PDFs in Elixir without Chrome](comparison.md) - [First Invoice With Rendro](first_invoice.md) - Policies - [Adoption Signals](adoption.md) - [Changelog](changelog.md) - [API Stability and Support Boundaries](api_stability.md) - [Upgrading to 1.0](upgrading_to_1-0.md) - [Viewer Evidence Recording](viewer_evidence.md) - Recipes & Primitives - [PAGE Primitive](page_primitive.md) - [Canonical Recipes](recipes.md) ## Modules - [Rendro.Adapters.Pdfium](Rendro.Adapters.Pdfium.md): Optional runtime adapter for [pdfium-cli](https://github.com/klippa-app/pdfium-cli). - [Rendro.Adapters.Poppler](Rendro.Adapters.Poppler.md): External binary adapter for Poppler's pdfinfo tool. Provides structural validation of generated PDF files. - [Rendro.Artifact](Rendro.Artifact.md): A pure data carrier containing the rendered PDF bytes, a deterministic hash, and structured diagnostics from the render pipeline. - [Rendro.FormField](Rendro.FormField.md): Interactive form field content with deterministic authoring defaults. - [Rendro.Link](Rendro.Link.md): Explicit authored link content wrapper with a narrow target contract. - [Rendro.Path](Rendro.Path.md): Declarative vector-graphics block element for Rendro documents. - Core Builder API - [Rendro](Rendro.md): Pure-Elixir, Phoenix-first PDF/document generation with deterministic layout and pagination. - [Rendro.AssetRegistry](Rendro.AssetRegistry.md): State container for registered assets and their metadata. - [Rendro.Block](Rendro.Block.md): Content container with position and size. - [Rendro.Cell](Rendro.Cell.md): Cell primitive for explicit table fragmentation configuration. - [Rendro.Component](Rendro.Component.md): Component-based layout pattern for reusable PDF UI parts. - [Rendro.Document](Rendro.Document.md): Top-level document: pages, content (flow), metadata, and rendering options. - [Rendro.EmbeddedFileRegistry](Rendro.EmbeddedFileRegistry.md): Pure data registry for document-owned embedded-file registrations. - [Rendro.Error](Rendro.Error.md): Structured diagnostics for render failures. - [Rendro.FontRegistry](Rendro.FontRegistry.md): Pure data registry for document-owned logical font registrations. - [Rendro.Image](Rendro.Image.md): AST representation of a registered image asset to be rendered. - [Rendro.Metadata](Rendro.Metadata.md): Input metadata for a rendered PDF document. - [Rendro.PDF.Font](Rendro.PDF.Font.md): Font representation passed to text shapers. - [Rendro.Page](Rendro.Page.md): A page with blocks, dimensions, and margins. - [Rendro.PageTemplate](Rendro.PageTemplate.md): Explicit flow-page layout template with page geometry and named regions. - [Rendro.Region](Rendro.Region.md): Bounded layout region with named role and anchoring metadata. - [Rendro.Row](Rendro.Row.md): Row primitive for explicit table fragmentation configuration. - [Rendro.RunningContent](Rendro.RunningContent.md): Wraps a per-page content function for use in running header/footer regions. - [Rendro.Section](Rendro.Section.md): Reusable flow section that targets a named template region. - [Rendro.Table](Rendro.Table.md): Table primitive for structured data. - [Rendro.Text](Rendro.Text.md): Text content with logical font, size, and color attributes. - [Rendro.Text.Shaper](Rendro.Text.Shaper.md): Behaviour for text shaping adapters. - [Rendro.Text.Shaper.Simple](Rendro.Text.Shaper.Simple.md): Pure-Elixir text shaper. Uses cmap advance widths only — no NIF compilation required. - Canonical Recipes - [Rendro.Recipes](Rendro.Recipes.md): Canonical PDF recipes for standard document types. - [Rendro.Recipes.BrandedInvoice](Rendro.Recipes.BrandedInvoice.md): Branded canonical invoice recipe using the Tiered Composition pattern. - [Rendro.Recipes.Certificate](Rendro.Recipes.Certificate.md): Data-driven certificate recipe for completion, compliance, and award certificates. - [Rendro.Recipes.Invoice](Rendro.Recipes.Invoice.md): Canonical invoice recipe using the Tiered Composition pattern. - [Rendro.Recipes.Receipt](Rendro.Recipes.Receipt.md): Payment receipt and tabular report recipe using the Tiered Composition pattern. - [Rendro.Recipes.Statement](Rendro.Recipes.Statement.md): Canonical account statement recipe using the Tiered Composition pattern. - Ecosystem Adapters - [Rendro.Adapters.HarfBuzz](Rendro.Adapters.HarfBuzz.md): HarfBuzz text shaping adapter via the `harfbuzz_ex` NIF. - [Rendro.Adapters.Oban.RenderWorker](Rendro.Adapters.Oban.RenderWorker.md): Oban worker pattern for background PDF rendering. - [Rendro.Adapters.Pdfsig](Rendro.Adapters.Pdfsig.md): External binary adapter for Poppler's `pdfsig` tool. - [Rendro.Adapters.Phoenix](Rendro.Adapters.Phoenix.md): Phoenix integration for Rendro. - [Rendro.Adapters.PyHanko](Rendro.Adapters.PyHanko.md): Optional runtime adapter for pyHanko-based PDF signing. - [Rendro.Adapters.Qpdf](Rendro.Adapters.Qpdf.md): Optional runtime adapter for qpdf-based PDF protection. - Protection - [Rendro.Protect](Rendro.Protect.md): Artifact-first PDF protection boundary. - [Rendro.Protect.Adapter](Rendro.Protect.Adapter.md): Behavior for artifact protection adapters. - Signing - [Rendro.Sign](Rendro.Sign.md): Artifact-first signing boundary. - [Rendro.Sign.Adapter](Rendro.Sign.Adapter.md): Optional behaviour for external signing adapters. - Inspection & Observability - [Rendro.Inspector](Rendro.Inspector.md): Deterministic layout inspector for ASCII snapshot testing. Provides string serialization of document structure and diagnostics. - [Rendro.Telemetry](Rendro.Telemetry.md): Telemetry event definitions and helpers for the Rendro render pipeline. - Storage - [Rendro.Storage](Rendro.Storage.md): Behavior for artifact storage adapters. - [Rendro.Storage.Local](Rendro.Storage.Local.md): A simple local filesystem storage adapter for Rendro artifacts. - Exceptions - [Rendro.AssetRegistry.InvalidAssetError](Rendro.AssetRegistry.InvalidAssetError.md): Raised when a registered asset fails validation (missing file, unsupported format, etc.). - [Rendro.FontRegistry.EmbeddedFontFamilyError](Rendro.FontRegistry.EmbeddedFontFamilyError.md): Raised when an embedded font family registration fails due to missing or unexpected variants. ## Mix Tasks - [mix brand.gen](Mix.Tasks.Brand.Gen.md): Regenerates derived brand assets from the single source of truth, `brand/tokens/tokens.json`. - [mix docs.contract](Mix.Tasks.Docs.Contract.md): Runs the canonical docs-contract verification command. - [mix release.preflight](Mix.Tasks.Release.Preflight.md): Runs preflight checks before release. - [mix rendro.api.gen](Mix.Tasks.Rendro.Api.Gen.md): Introspects all public Rendro modules for their `tags: [:stable|:adapter]` annotation and writes `priv/public_api.json`. - [mix rendro.comparison.check](Mix.Tasks.Rendro.Comparison.Check.md): Verifies the committed comparison manifest and raw artifacts without rerunning benchmarks or launching external comparator tools. - [mix rendro.comparison.gen](Mix.Tasks.Rendro.Comparison.Gen.md): Generates comparison benchmark artifacts. - [mix rendro.launch_artifacts.check](Mix.Tasks.Rendro.LaunchArtifacts.Check.md): Regenerates launch artifact hashes and compares them to `assets/rendro/artifacts.json` without writing repo files. - [mix rendro.launch_artifacts.gen](Mix.Tasks.Rendro.LaunchArtifacts.Gen.md): Generates the public launch artifact set - [mix rendro.livebook.check](Mix.Tasks.Rendro.Livebook.Check.md): Converts `guides/livebook/first_invoice.livemd` with `Livebook.live_markdown_to_elixir/1` and executes the resulting script with `RENDRO_LIVEBOOK_LOCAL=1`. - [mix rendro.viewer_evidence](Mix.Tasks.Rendro.ViewerEvidence.md): Operator tooling for viewer-evidence coverage gaps in `priv/support_matrix.json`. - [mix rendro.visual_uat](Mix.Tasks.Rendro.VisualUat.md): Renders the branded invoice fixture, rasterises page 1 to PNG via `pdftoppm`, asks the Claude API to grade three visual criteria (logo present, header uses the embedded branded font, layout looks intentional), and writes the verdict back into the phase's UAT file. - [mix verify](Mix.Tasks.Verify.md): Runs full verification suite with deterministic and advisory lanes.