NuvTools.Report.Pdf
10.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package NuvTools.Report.Pdf --version 10.1.0
NuGet\Install-Package NuvTools.Report.Pdf -Version 10.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NuvTools.Report.Pdf" Version="10.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NuvTools.Report.Pdf" Version="10.1.0" />
<PackageReference Include="NuvTools.Report.Pdf" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NuvTools.Report.Pdf --version 10.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NuvTools.Report.Pdf, 10.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NuvTools.Report.Pdf@10.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NuvTools.Report.Pdf&version=10.1.0
#tool nuget:?package=NuvTools.Report.Pdf&version=10.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
NuvTools.Report
A .NET library suite for generating reports in PDF, Excel, and CSV formats. Build structured table-based reports with styling, company branding, and reflection-based data binding. Targets .NET 8, .NET 9, and .NET 10.
Libraries
Installation
# For PDF export
dotnet add package NuvTools.Report.Pdf
# For Excel/CSV export
dotnet add package NuvTools.Report.Sheet
# Or install the base library only
dotnet add package NuvTools.Report
Features
- Multiple export formats: PDF (landscape A4), Excel (.xlsx), CSV
- Automatic data binding from object collections via reflection
- Customizable colors, fonts, and formatting
- Company branding with logos, names, and URLs in headers
- Metadata support: titles, filter descriptions, issue dates, user info
- Base64-encoded output for API transmission
- Multi-table documents with separate worksheets/pages
- DateTime formatting with custom format strings
- PDF merging utility
Architecture
The library uses a document-table-component hierarchy:
Document
└── Tables (List<Table>)
├── Info (metadata: name, title, company info, issue date/user)
├── Style (formatting: colors, fonts)
└── Content (Body)
├── Header
│ └── Columns (List<Column>)
└── Rows (List<Row>)
└── Cells (List<Cell>)
Usage
PDF Export
using NuvTools.Report.Table.Models;
using NuvTools.Report.Table.Models.Components;
using NuvTools.Report.Pdf.Table;
// Define columns
var columns = new List<Column>
{
new Column { Name = "Id", Label = "ID", Order = 1, Format = "" },
new Column { Name = "Name", Label = "Product Name", Order = 2, Format = "" },
new Column { Name = "Price", Label = "Price", Order = 3, Format = "C2" },
new Column { Name = "Date", Label = "Date", Order = 4, Format = "yyyy-MM-dd" }
};
// Create a table
var table = new Table
{
Info = new Info
{
Name = "Products",
Title = "Product Catalog",
CompanyAbbreviation = "ACME Corp",
CompanyUrl = "https://acme.com",
FilterDescription = "All Products",
IssueDate = DateTime.Now,
IssueUser = "john.doe"
},
Style = new Style
{
BackgroundHeaderColor = "#003366",
FontHeaderColor = "#FFFFFF"
},
Content = new Body()
};
// Populate rows from objects using reflection
table.SetRows(columns, products);
// Create document and export
var document = new Document
{
BackgroundDocumentHeaderColor = "#003366",
Tables = [table]
};
string pdfBase64 = document.ExportFirstSheetToPdf();
List<string> allPdfs = document.ExportSheetToPdf();
Excel Export
using NuvTools.Report.Sheet.Extensions;
string excelBase64 = document.ExportToExcel();
byte[] excelBytes = Convert.FromBase64String(excelBase64);
File.WriteAllBytes("report.xlsx", excelBytes);
CSV Export
using NuvTools.Report.Sheet.Extensions;
List<string> csvFiles = document.ExportToCsv();
string csvBase64 = document.ExportFirstSheetToCsv();
PDF Merging
using NuvTools.Report.Pdf.Util;
byte[] mergedPdf = PdfUtil.Merge([pdf1Bytes, pdf2Bytes]);
Dependencies
NuvTools.Report.Pdf
- QuestPDF [2025.12.3,2026.1.0)
- PDFsharp [6.2.4,6.3.0)
NuvTools.Report.Sheet
- ClosedXML [0.105.0,0.106.0)
Building
This solution uses the .slnx (XML-based solution) format.
dotnet build NuvTools.Report.slnx
dotnet build NuvTools.Report.slnx -c Release
Project Structure
nuvtools-report/
├── src/
│ ├── NuvTools.Report/
│ ├── NuvTools.Report.Pdf/
│ └── NuvTools.Report.Sheet/
├── NuvTools.Report.slnx
└── README.md
License
This project requires license acceptance. See the LICENSE file for details.
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- NuvTools.Report (>= 10.1.0)
- PDFsharp (>= 6.2.4 && < 6.3.0)
- QuestPDF (>= 2025.12.3 && < 2026.1.0)
-
net8.0
- NuvTools.Report (>= 10.1.0)
- PDFsharp (>= 6.2.4 && < 6.3.0)
- QuestPDF (>= 2025.12.3 && < 2026.1.0)
-
net9.0
- NuvTools.Report (>= 10.1.0)
- PDFsharp (>= 6.2.4 && < 6.3.0)
- QuestPDF (>= 2025.12.3 && < 2026.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.