Reportman.Drawing
3.9.15
dotnet add package Reportman.Drawing --version 3.9.15
NuGet\Install-Package Reportman.Drawing -Version 3.9.15
<PackageReference Include="Reportman.Drawing" Version="3.9.15" />
<PackageVersion Include="Reportman.Drawing" Version="3.9.15" />
<PackageReference Include="Reportman.Drawing" />
paket add Reportman.Drawing --version 3.9.15
#r "nuget: Reportman.Drawing, 3.9.15"
#:package Reportman.Drawing@3.9.15
#addin nuget:?package=Reportman.Drawing&version=3.9.15
#tool nuget:?package=Reportman.Drawing&version=3.9.15
Reportman .Net Library
A cross-platform reporting library for .NET and Delphi/C++Builder, ActiveX and command line.
Report Designer and Report server, supporting .Net, Delphi/C++Builder, ActiveX and command line tools. Currently supported platforms: Windows and Linux. Supported .NET versions: .NET Framework 4.8, .NET 8, .NET 9
Usage
var report = new Reportman.Reporting.Report();
report.LoadFromFile("test.rep");
// PDF
var printout = new Reportman.Drawing.Windows.PrintOutPDF();
printout.FileName = "test.pdf";
printout.Print(report.metafile);
// Preview/print report
var printoutWin = new Reportman.Reporting.Forms.PrintOutReportWinForms();
printoutWin.Preview = true;
printoutWin.Print(report.metafile);
Architecture Overview
Reportman is organized into several modular libraries, each with a specific responsibility. Developers can choose which components to use, and cross-platform compatibility is ensured where possible.
Core Libraries
| Library | Purpose | Platforms / Notes |
|---|---|---|
| Reportman.Reporting | Core reporting engine. Loads, parses, and executes report templates (.rep). Produces a metafile representing the rendered report, but allways using an output driver defined in other libraries. |
Cross-platform: Windows, Linux. Supports .NET Framework 4.8, .NET 8/9 |
| Reportman.Drawing | Base drawing and rendering library used by all output formats. Provides common graphics abstraction. Core for all output formats | Cross-platform |
| Reportman.Drawing.CrossPlatform | Output to PDF using FreeType and SkiaSharp. Handles fonts, PDF generation, and multiplatform PDF rendering. | Cross-platform |
| Reportman.Drawing.Windows | Output to PDF, Bitmap, or Excel using Windows APIs (OLE, GDI, DirectWrite). | Windows only |
| Reportman.Drawing.Excel | Cross-platform Excel output using ClosedXML. No Excel installation required. | Cross-platform |
UI Libraries
| Library | Purpose | Platforms / Notes |
|---|---|---|
| Reportman.Reporting.Forms | Preview reports and modify report parameters. Page setup and basic report properties can be edited via UI. | Windows Forms, Windows only |
| Reportman.Drawing.Forms | Provides UI controls to preview and print a metafile. Works with both PDF and Excel outputs. | Windows Forms, Windows only |
| Reportman.WPF | Preview and print metafiles in a Windows Presentation Foundation (WPF) application. | WPF, Windows only |
| Reportman.Designer | Embed the Reportman designer into your Windows Forms application. Allows creating, editing, executing, previewing, printing, and exporting templates. | Windows Forms, Windows only |
Executables
PrintReportPDF – multiplatform command line tool to render reports to PDF.
PrintReport – Windows-only preview and print tool with UI for parameters.
Designer – .Net Standalone designer executable for editing report templates.
Classic native Designer – Standalone designer executable for editing report templates, Report Manager Designer, not .net but more mature.
Classic command line tools – Command line tools, not .net, allow also to execute reports in Windows and linux (printreptopdf), not .net but more mature.
Classic server and web tools – Web server (CGI/ISAPI), and TCP Reort Server and Client are also availzable (not .net).
How It Works
Design a Report Using
Reportman.Designer(embedded in your app), create a.reptemplate defining data sources, layout, and formatting. You can also download the classic designer from the proyect page, at page setup set prefered save format to XML for .net compatibility.Load the Report
var report = new Reportman.Reporting.Report(); report.LoadFromFile("test.rep");The report reads the template, you can alter parameters.
Output Options
PDF
var printout = new Reportman.Drawing.Windows.PrintOutPDF(); printout.FileName = "test.pdf"; printout.Print(report.metafile);- Supports Windows APIs for rendering or cross-platform via SkiaSharp/Freetype using Reportman.Drawing.CrossPlatform.
Preview / Print
var printoutWin = new Reportman.Drawing.Forms.PrintOuttWinForms(); printoutWin.Preview = true; printoutWin.Print(report.metafile);- UI allows preview, print, pdf and excel output.
Excel Export If the report contains tabular data, export to Excel using
Reportman.Drawing.Excel(ClosedXML), fully cross-platform without requiring Excel installation.
Dependency Flow (Textual Diagram)
+-------------------+
| Reportman.Reporting | <-- core engine (templates)
+-------------------+
|
v
+-------------------+ +--------------------------+
| Reportman.Drawing | ----> | Drawing output (PDF/Excel) |
+-------------------+ +--------------------------+
|
+-------------------+ +-------------------------+
| CrossPlatform | | Windows-specific (GDI/OLE) |
+-------------------+ +-------------------------+
|
+-------------------+ +----------------------+
| Preview / Print UI | | Designer embedding |
| (Forms / WPF) | | in Windows Forms |
+-------------------+ +----------------------+
Project Links
- Project homepage, downloadable designer and tools, including .net and native: https://reportman.es
- GitHub repository: https://github.com/tonimartir/reportman
| 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 was computed. 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. |
| .NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- SharpZipLib (>= 1.4.2)
-
net8.0
- SharpZipLib (>= 1.4.2)
-
net9.0
- SharpZipLib (>= 1.4.2)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Reportman.Drawing:
| Package | Downloads |
|---|---|
|
Reportman.Drawing.Excel
Reportman, Cross-Platform Excel Output, using ClosedXML. |
|
|
Reportman.Drawing.Windows
Reportman, output to PDF, Bitmap or Excel (OLE) using Windows APIs. |
|
|
Reportman.Reporting
Reportman reporting engine. |
|
|
Reportman.Drawing.CrossPlatform
Reportman, Cross-Platform PDF Output, using FreeType and SkiaSharp. |
|
|
Reportman.WPF
Reportman Metafile preview and print, Windows Presentation Foundation (WPF). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.9.15 | 181 | 12/13/2025 |
Initial release