# TerraFluent > Open-source fluent .NET libraries for reports and charts, MIT licensed. TerraFluent.Pdf.Reporting creates true PDF 1.7 files in C# with zero dependencies — no native binaries, no headless browser. TerraFluent.Html.Reporting creates paginated, print-ready HTML reports in C# without a PDF engine. TerraFluent.Docx.Reporting creates native Word (.docx) documents without Microsoft Office or COM interop. TerraFluent.Chart.Reporting renders 26 chart types as self-contained SVG server-side with zero JavaScript dependency. Html, Docx, and Chart target netstandard2.0 and up; Pdf targets .NET 8/9/10. All run on Windows, Linux, macOS, Docker, and serverless. Key facts: - Install: `dotnet add package TerraFluent.Pdf.Reporting`, `dotnet add package TerraFluent.Html.Reporting`, `dotnet add package TerraFluent.Docx.Reporting`, or `dotnet add package TerraFluent.Chart.Reporting` - Free for commercial use (MIT). No page limits, watermarks, or paid tiers. - PDF output: true PDF 1.7 bytes from pure managed C# — Column/Row/Table layouts, text styling, PNG/JPEG images, hyperlinks, bookmarks, automatic table of contents, Code 128 barcodes, QR codes (ISO/IEC 18004), vector graphics canvas, five predefined branded page templates (Corporate/Modern/Minimal/Elegant/Cover), custom TrueType font embedding with Devanagari shaping, gradients and background images, headers/footers with page numbers, AES-256 encryption by default (AES-128 compatibility), document metadata. TerraFluent.Pdf.Reporting 2.x is the continuation of TerraPDF 1.x. - HTML output: fixed page geometry (A4/Letter/Legal/custom), repeating headers/footers with {page}/{totalPages}, line-level pagination, ColSpan/RowSpan tables, native Code 128 barcodes, native QR codes, multi-column "newspaper" layouts, right-to-left text direction, custom font embedding, async streaming. - DOCX output: real Open XML .docx (no Word required), styled tables, native editable charts, images, vector Code 128 barcodes, vector QR codes, auto-numbered figure/table captions, "Restrict Editing" document protection, template placeholder replacement. - Chart output: 26 chart types (line, spline, area, column, bar, pie/donut, scatter, bubble, waterfall, gauge, candlestick, OHLC, Sankey, treemap, funnel, Gantt, radar, heatmap, and more) as self-contained SVG, 18 built-in themes plus custom palettes, Static/Animated/Interactive render modes, data-quality analysis, zero third-party dependencies. - For server-side PDF bytes use TerraFluent.Pdf.Reporting; the HTML output also prints/saves to PDF from any browser or HTML-to-PDF converter. Chart output is SVG that embeds into any of the other three. ## Docs - [Documentation index](https://terrafluent.dev/docs/): all guides for all three libraries - [Getting started](https://terrafluent.dev/getting-started/): first report in five minutes - [PDF Reporting — Getting Started](https://terrafluent.dev/docs/pdf/getting-started/) - [PDF Reporting — Layout](https://terrafluent.dev/docs/pdf/layout/): Column, Row, and Table - [PDF Reporting — Text & Spans](https://terrafluent.dev/docs/pdf/text-and-spans/) - [PDF Reporting — Decorators](https://terrafluent.dev/docs/pdf/decorators/): padding, borders, backgrounds - [PDF Reporting — Templates](https://terrafluent.dev/docs/pdf/templates/): branded page templates in one call - [PDF Reporting — Custom Fonts](https://terrafluent.dev/docs/pdf/custom-fonts/): any typeface, full Unicode - [PDF Reporting — Encryption](https://terrafluent.dev/docs/pdf/encryption/): AES-256, permissions - [PDF Reporting — Vector Graphics](https://terrafluent.dev/docs/pdf/vector-graphics/): canvas, shapes, charts - [PDF Reporting — Table of Contents](https://terrafluent.dev/docs/pdf/table-of-contents/) - [PDF Reporting — Bookmarks](https://terrafluent.dev/docs/pdf/bookmarks/) - [PDF Reporting — Images](https://terrafluent.dev/docs/pdf/images/): PNG and JPEG placement and sizing - [PDF Reporting — Colors](https://terrafluent.dev/docs/pdf/colors/): palettes, gradients, transparency - [PDF Reporting — Page Sizes and Units](https://terrafluent.dev/docs/pdf/page-sizes-and-units/): A4/Letter/Legal/custom, points, mm, inches - [PDF Reporting — Row and Column Layout](https://terrafluent.dev/docs/pdf/row-and-column-layout/): how children are arranged and sized - [PDF Reporting — Components and Templates](https://terrafluent.dev/docs/pdf/components-and-templates/): reusing document structure - [PDF Reporting — Metadata](https://terrafluent.dev/docs/pdf/metadata/): title, author, subject, keywords - [PDF Reporting — Unicode and Encoding](https://terrafluent.dev/docs/pdf/unicode-and-encoding/): non-Latin scripts, font subsetting - [HTML Reporting — Getting Started](https://terrafluent.dev/docs/html/getting-started/) - [HTML Reporting — Core Concepts](https://terrafluent.dev/docs/html/core-concepts/) - [HTML Reporting — Content Elements](https://terrafluent.dev/docs/html/content-elements/) - [HTML Reporting — Tables](https://terrafluent.dev/docs/html/tables/) - [HTML Reporting — Rows and Columns](https://terrafluent.dev/docs/html/rows-and-columns/): side-by-side and multi-column layouts - [HTML Reporting — Pagination and Layout](https://terrafluent.dev/docs/html/pagination-and-layout/) - [HTML Reporting — Cookbook](https://terrafluent.dev/docs/html/cookbook/): invoices, certificates, barcode labels - [HTML Reporting — FAQ / Troubleshooting](https://terrafluent.dev/docs/html/faq-troubleshooting/) - [HTML Reporting — Styling](https://terrafluent.dev/docs/html/styling/): CSS model, themes, print styles - [HTML Reporting — Rendering](https://terrafluent.dev/docs/html/rendering/): output targets and async streaming - [HTML Reporting — Text Measurement](https://terrafluent.dev/docs/html/text-measurement/): how line breaking and pagination are computed - [HTML Reporting — Composition Patterns](https://terrafluent.dev/docs/html/composition-patterns/): structuring larger reports - [HTML Reporting — Extending](https://terrafluent.dev/docs/html/extending/): custom elements and renderers - [DOCX Reporting — Getting Started](https://terrafluent.dev/docs/docx/getting-started/) - [DOCX Reporting — Feature Guide](https://terrafluent.dev/docs/docx/features/) - [DOCX Reporting — API Reference](https://terrafluent.dev/docs/docx/api/) - [DOCX Reporting — Troubleshooting](https://terrafluent.dev/docs/docx/troubleshooting/) - [DOCX Reporting — Core Concepts](https://terrafluent.dev/docs/docx/core-concepts/): the document model - [DOCX Reporting — Samples](https://terrafluent.dev/docs/docx/samples/): a runnable sample project - [Chart Reporting — Getting Started](https://terrafluent.dev/docs/chart/getting-started/) - [Chart Reporting — Chart Showcase](https://terrafluent.dev/docs/chart/showcase/) - [Chart Reporting — Chart Types](https://terrafluent.dev/docs/chart/chart-types/): all 26 chart types - [Chart Reporting — Themes & Styling](https://terrafluent.dev/docs/chart/themes-and-styling/) - [Chart Reporting — Advanced Features](https://terrafluent.dev/docs/chart/advanced/): render modes, axes, stacking, DI - [Chart Reporting — API Reference](https://terrafluent.dev/docs/chart/api-reference/) - [Chart Reporting — Troubleshooting & FAQ](https://terrafluent.dev/docs/chart/troubleshooting/) ## Chart type pages One page per chart type — specimen, C# source, and when not to use it. - [Line Chart in C#](https://terrafluent.dev/chart/types/line/): Draw line charts in C# as self-contained SVG with TerraFluent.Chart.Reporting. One AddLine call, 18 themes, no JavaScript and no browser. MIT licensed. - [Spline Chart in C#](https://terrafluent.dev/chart/types/spline/): Render smooth spline curves in C# with AddSpline — true Bézier interpolation, self-contained SVG, zero dependencies. Part of TerraFluent.Chart.Reporting. - [Area Chart in C#](https://terrafluent.dev/chart/types/area/): Create filled area charts in C# with AddArea — gradient and opacity control, stacking, self-contained SVG output. Zero-dependency .NET charting library. - [Column Chart in C#](https://terrafluent.dev/chart/types/column/): Generate column charts in C# with AddColumn — grouped, stacked, and 100% stacked, rendered as self-contained SVG with no JavaScript dependency. - [Horizontal Bar Chart in C#](https://terrafluent.dev/chart/types/bar/): Draw horizontal bar charts in C# with AddBar — room for long category labels, natural for ranked lists. Self-contained SVG, MIT licensed, zero dependencies. - [Pie Chart in C#](https://terrafluent.dev/chart/types/pie/): Render pie charts in C# with AsPie and Add — outside labels with connector lines, legend placement, self-contained SVG. TerraFluent.Chart.Reporting, MIT. - [Donut Chart in C#](https://terrafluent.dev/chart/types/donut/): Build donut charts in C# with DonutHole and DonutCenter — a total in the middle, labelled slices around it, rendered as self-contained SVG. - [Scatter Plot in C#](https://terrafluent.dev/chart/types/scatter/): Create scatter plots in C# with AddScatter — marker shapes, borders, and regression overlays. Self-contained SVG from .NET, no JavaScript required. - [Waterfall Chart in C#](https://terrafluent.dev/chart/types/waterfall/): Build waterfall and bridge charts in C# with AddWaterfall — running totals, absolute total bars, rendered as self-contained SVG. MIT licensed .NET library. - [Gauge Chart in C#](https://terrafluent.dev/chart/types/gauge/): Render semi-circular gauge charts in C# with AddGauge — one KPI against its range, as self-contained SVG. Embeds into PDF, HTML, and Word reports. - [Data Ring Chart in C#](https://terrafluent.dev/chart/types/data-ring/): Draw full-circle progress rings in C# with AddDataRing — one KPI per ring, ideal for dashboard tiles. Self-contained SVG, no JavaScript dependency. - [Bubble Chart in C#](https://terrafluent.dev/chart/types/bubble/): Plot three variables at once in C# with AddBubble and BubblePoint — X, Y, and size. Self-contained SVG output, zero third-party dependencies. - [Heatmap in C#](https://terrafluent.dev/chart/types/heatmap/): Generate heatmaps in C# with AddHeatmap and HeatmapPoint — colour-scaled grids for matrices and correlations, rendered as self-contained SVG. - [Column Range Chart in C#](https://terrafluent.dev/chart/types/column-range/): Draw floating low-high column ranges in C# with AddColumnRange and RangePoint — temperature and spread charts as self-contained SVG. Zero dependencies. - [Area Range Chart in C#](https://terrafluent.dev/chart/types/area-range/): Render low-high confidence bands in C# with AddAreaRange and RangePoint — forecast ranges and uncertainty envelopes as self-contained SVG. - [Funnel Chart in C#](https://terrafluent.dev/chart/types/funnel/): Build funnel charts in C# with AddFunnel — stage-by-stage conversion and sales pipelines rendered as self-contained SVG. MIT licensed, no dependencies. - [Treemap in C#](https://terrafluent.dev/chart/types/treemap/): Render treemaps in C# with AddTreemap — proportional rectangles for part-of-whole with many categories. Self-contained SVG from .NET. - [Radar Chart in C#](https://terrafluent.dev/chart/types/radar/): Create radar and spider charts in C# with AddRadar — multivariate profiles on a shared scale, rendered as self-contained SVG with zero dependencies. - [Box Plot in C#](https://terrafluent.dev/chart/types/box-plot/): Draw box-and-whisker plots in C# with AddBoxPlot and BoxPlotPoint — median, quartiles, and whiskers as self-contained SVG. Zero-dependency .NET charting. - [Error Bar Chart in C#](https://terrafluent.dev/chart/types/error-bar/): Add error bars in C# with AddErrorBar and RangePoint — confidence intervals and variance whiskers over columns, rendered as self-contained SVG. - [Candlestick Chart in C#](https://terrafluent.dev/chart/types/candlestick/): Render financial candlestick charts in C# with AddCandlestick and OhlcPoint — open, high, low, close with up/down colouring. Self-contained SVG, MIT. - [OHLC Chart in C#](https://terrafluent.dev/chart/types/ohlc/): Draw OHLC bar charts in C# with AddOhlc and OhlcPoint — high-low bars with open and close ticks, rendered as self-contained SVG from .NET. - [Dumbbell Chart in C#](https://terrafluent.dev/chart/types/dumbbell/): Build dumbbell and dot-plot charts in C# with AddDumbbell and RangePoint — before/after comparison per category as self-contained SVG. - [Stream Graph in C#](https://terrafluent.dev/chart/types/stream/): Render stream graphs and ThemeRiver charts in C# with AddStream — stacked bands around a centred baseline, as self-contained SVG. Zero dependencies. - [Gantt Chart in C#](https://terrafluent.dev/chart/types/gantt/): Generate Gantt charts in C# with AddGantt and GanttTask — task bars on a time axis, per-task colours, rendered as self-contained SVG for reports and PDFs. - [Sankey Diagram in C#](https://terrafluent.dev/chart/types/sankey/): Draw Sankey flow diagrams in C# with AddSankey, SankeyNode and SankeyLink — proportional ribbons between stages, as self-contained SVG. MIT licensed. - [Parliament Chart in C#](https://terrafluent.dev/chart/types/parliament/): Render parliament seating charts in C# with AddParliament and ParliamentGroup — one dot per seat, grouped by party, as self-contained SVG. ## Chart feature pages - [Chart Themes and Fills in C#](https://terrafluent.dev/chart/features/themes-and-fills/): Restyle any TerraFluent chart in C#: 18 built-in themes including dark and high-contrast, plus gradient fills, pattern fills, borders and marker styling. - [Chart Axes and Scales in C#](https://terrafluent.dev/chart/features/axes-and-scales/): Configure chart axes in C#: secondary Y-axis, logarithmic and date-time scales, inverted axes, tick intervals, plot bands, threshold zones and target lines. - [Chart Labels, Legends and Tooltips in C#](https://terrafluent.dev/chart/features/labels-legends-tooltips/): Control data labels, legend placement, tooltip styling and annotations on C# SVG charts — formatting, positioning and collision-aware label layout. - [Stacked and Combination Charts in C#](https://terrafluent.dev/chart/features/stacking-and-combos/): Build grouped, stacked and 100% stacked charts in C#, plus mixed-type and dual-axis combination charts, all as self-contained SVG. - [Chart Render Modes in C#](https://terrafluent.dev/chart/features/render-modes/): Choose how a C# chart renders: Static SVG for PDF and email, Animated SMIL, or Interactive with embedded JavaScript. Fixed or responsive width, and data-URI output. - [Interactive SVG Charts in C#](https://terrafluent.dev/chart/features/interactivity/): Add click handlers, legend toggles, SVG and PNG export, a data table toggle, a range selector and synchronized tooltips to C# charts — browser-only, opt-in. - [Accessible and Localized Charts in C#](https://terrafluent.dev/chart/features/accessibility-and-culture/): Make C# SVG charts accessible and localized: custom ARIA labels, right-to-left layout, CultureInfo number and date formatting, and explicit null-gap policy. - [Trend Lines and Analytics Overlays in C#](https://terrafluent.dev/chart/features/analytics-overlays/): Add computed series to C# charts: linear regression trend lines, moving averages, exponential smoothing, and AutoInsight annotations derived from the data. - [C# Chart Cookbook](https://terrafluent.dev/chart/cookbook/): Complete C# chart recipes: KPI dashboards, prebuilt report templates, chart variants with Fork, JSON round-trip serialization and drill-down charts. ## Solution pages - [Home](https://terrafluent.dev/): what TerraFluent is and which package solves which problem - [All solutions](https://terrafluent.dev/solutions/): overview of all four packages - [TerraFluent.Pdf.Reporting](https://terrafluent.dev/pdf/): free C# PDF library, zero dependencies - [TerraFluent.Html.Reporting](https://terrafluent.dev/html/): C# HTML report generator, no PDF engine - [TerraFluent.Docx.Reporting](https://terrafluent.dev/docx/): C# Word document library, no Office interop - [TerraFluent.Chart.Reporting](https://terrafluent.dev/chart/): C# SVG chart library, zero JavaScript required - [Live chart showcase](https://terrafluent.dev/chart/showcase/): the gallery index — 26 chart types, 8 feature groups and a cookbook, 102 live SVG specimens across 36 pages - [Which package do I need?](https://terrafluent.dev/compare/): PDF vs HTML vs DOCX decision guide - [Sample output](https://terrafluent.dev/samples/): live rendered reports, Word documents, and runnable PDF samples ## Project and policies - [Enterprise evaluation](https://terrafluent.dev/enterprise/): licensing, support posture, and supply-chain answers for procurement - [Releases](https://terrafluent.dev/releases/): version history and changelogs for all four packages - [Security policy](https://terrafluent.dev/security/): how to report a vulnerability, and the disclosure process - [Support](https://terrafluent.dev/support/): where to ask questions and file issues - [Privacy policy](https://terrafluent.dev/privacy/): what the site collects, which is almost nothing ## Source and packages - [TerraFluent.Pdf.Reporting on GitHub](https://github.com/sahebansari/TerraFluent.Pdf.Reporting) - [TerraFluent.Html.Reporting on GitHub](https://github.com/sahebansari/TerraFluent.Html.Reporting) - [TerraFluent.Docx.Reporting on GitHub](https://github.com/sahebansari/TerraFluent.Docx.Reporting) - [TerraFluent.Chart.Reporting on GitHub](https://github.com/sahebansari/TerraFluent.Chart.Reporting) - [TerraFluent.Pdf.Reporting on NuGet](https://www.nuget.org/packages/TerraFluent.Pdf.Reporting) - [TerraFluent.Html.Reporting on NuGet](https://www.nuget.org/packages/TerraFluent.Html.Reporting) - [TerraFluent.Docx.Reporting on NuGet](https://www.nuget.org/packages/TerraFluent.Docx.Reporting) - [TerraFluent.Chart.Reporting on NuGet](https://www.nuget.org/packages/TerraFluent.Chart.Reporting) ## Optional - [Full documentation as plain text](https://terrafluent.dev/llms-full.txt) - [Live HTML sample reports](https://sahebansari.github.io/TerraFluent.Html.Reporting/SampleReports/index.html)