BlueCrafts.BluePrint.Render 1.1.61

Prefix Reserved
dotnet add package BlueCrafts.BluePrint.Render --version 1.1.61
                    
NuGet\Install-Package BlueCrafts.BluePrint.Render -Version 1.1.61
                    
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="BlueCrafts.BluePrint.Render" Version="1.1.61" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BlueCrafts.BluePrint.Render" Version="1.1.61" />
                    
Directory.Packages.props
<PackageReference Include="BlueCrafts.BluePrint.Render" />
                    
Project file
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 BlueCrafts.BluePrint.Render --version 1.1.61
                    
#r "nuget: BlueCrafts.BluePrint.Render, 1.1.61"
                    
#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 BlueCrafts.BluePrint.Render@1.1.61
                    
#: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=BlueCrafts.BluePrint.Render&version=1.1.61
                    
Install as a Cake Addin
#tool nuget:?package=BlueCrafts.BluePrint.Render&version=1.1.61
                    
Install as a Cake Tool

BlueCrafts.BluePrint.Render

Report engine for the BluePrint report platform. Loads a .bpt report definition, runs the layout engine and the expression evaluator, and writes the result to PDF, Excel, HTML or a printer.

This package contains the report model (BluePrint.Core), the expression contract (BluePrint.Expression), the engine itself (BluePrint.Render) and the data source layer (BluePrint.DataSources) that runs a report's query.

Installation

.NET CLI:

dotnet add package BlueCrafts.BluePrint.Render

Package Manager Console in Visual Studio:

Install-Package BlueCrafts.BluePrint.Render

Or add the reference to the project file and restore:

<PackageReference Include="BlueCrafts.BluePrint.Render" Version="1.0.46" />

1.0.46 is only an example. Use the version shown at the top of this page.

Target framework: net10.0.

Those three clients are maintained by the NuGet team. The Paket and Cake tabs on the nuget.org page are third party clients, and the support notice printed under them refers to those clients, not to this package.

Quick start

using BluePrint.Render;

var report = BluePrintDocument.Load("Invoice.bpt");
report.OverrideConnection("MainDB", connectionString);
report.ExportToPdf("Invoice.pdf");

To render into a stream instead of a file, for example from a web service:

report.ExportToPdf(responseStream, provider, measurer: shared, ct: ct);

Data access

BluePrint.DataSources runs the query a report definition carries, including the portable {bp:...} calls that let one report run on SQL Server, PostgreSQL, Firebird, SQLite, Oracle and MySQL alike.

It ships no ADO.NET driver. The host application registers the one it wants, so BluePrint stays free of any database dependency and of the license terms that come with those drivers:

using BluePrint.DataSources;
using Microsoft.Data.Sqlite;   // the driver the host chose, referenced by the host

BpDataProviders.Register(DatabaseProviderType.SQLite, SqliteFactory.Instance);

var profile = new ConnectionProfile
{
    ProviderType = DatabaseProviderType.SQLite,
    DataSource   = "northwind.db",
};

var rows = await new ReportQueryService()
    .ExecuteAsync(profile, report.Definition.DataSource!, argumentValues);

report.SetExternalData(rows);

A host that already has its own data access can skip all of this and hand the rows over directly with SetExternalData.

Output formats

Format Notes
PDF in-house writer, no external PDF library
Excel in-house streaming OOXML writer
HTML static export
Print Windows print path, see BlueCrafts.BluePrint.Render.WPF
Package Use it for
BlueCrafts.BluePrint.Render.WPF on-screen preview control for WPF
BlueCrafts.BluePrint.Designer embeddable WPF report designer
BlueCrafts.BluePrint.Barcode barcode and QR symbols (pulled in automatically)

Text rendering

Text measurement and line breaking use ICU. On Linux install libicu and set DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false; on Alpine use icu-libs together with icu-data-full, because icu-data-en omits the Thai dictionary.

License

Free to use, including commercially. Only enterprises with annual revenue above USD 10 million need a commercial license for production use. See LICENSE.txt in this package, or write to craftman@bluecrafts.co.

Product Compatible and additional computed target framework versions.
.NET 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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BlueCrafts.BluePrint.Render:

Package Downloads
BlueCrafts.BluePrint.Render.WPF

WPF preview control for BluePrint reports. Hosts BluePrintPreviewControl and the shared BluePrint.UI theme so a WPF application can show a rendered report on screen.

GitHub repositories

This package is not used by any popular GitHub repositories.