Telerik报告?下载30天免费试用

.NET核心支持

从版本开始R1 2019 (13.0.19.116)Telerik Reporting提供了一组为。net Core项目设计的程序集和NuGet包,使您能够在Windows、Linux和macOS平台上的。net Core应用程序中使用Telerik报告。

NuGet包可在Telerik NuGet feed.此外,程序集可在\ Bin \ netstandard2.0 \\ Bin \ netcoreapp3.1 \\ Bin \ net5.0 \\ Bin \ net5.0-windows \\ Bin \ net6.0 \,\ Bin \ net6.0-windows \位于Telerik Reporting安装目录中的文件夹。

程序集的目标是。net Standard 2.0,桌面查看器的目标是。net Core 3.1、。net 5.0或。net 6.0,这确保了与更多种类的框架和应用程序的兼容性。此外,NuGet包解析外部依赖项,以提供更好的依赖项管理和代码可移植性。

需求

  • (对于web项目)ASP。NET Core 2.1或更高版本。
  • (对于桌面项目). net Core 3.1或更高版本。

要使用NuGet,您需要提供以下NuGet包。注意,当使用Telerik NuGet包时,所需的依赖关系会自动解析。否则,您需要手动将它们添加到项目中。

包名 版本
Microsoft.Extensions.Configuration 2.1.2001
Microsoft.Extensions.Configuration.Binder 2.1.2001
Microsoft.Extensions.Configuration.Json 2.1.2001
System.Configuration.ConfigurationManager 4.5.2000
System.Data.Common 4.3.2000
System.Data.SqlClient 4.6.2000
System.Drawing.Common 4.5.2001
System.IO.Packaging 4.5.2000
System.Reflection.Emit 4.3.2000
System.Reflection.Emit.Lightweight 4.3.2000
System.Runtime.Loader 4.3.2000
System.Security.Cryptography.Pkcs 4.5.2001
System.Security.Permissions 4.5.2000
System.Text.Encoding.CodePages 4.5.2000
System.Threading.AccessControl 4.5.2000
sqlite-net-pcl 1.7.302-beta

特点和限制

在Windows上,报告引擎仍然依赖于GDI+库,因为它提供了处理文本的最快、最方便的方法,这对产品来说是必不可少的。

  • 对于Windows, . net Core运行时本地解析GDI+调用。
  • 对于Linux和macOS,需要安装下面列出的库集。

大多数在Windows上运行并使用。net Framework 4或更高版本的处理和呈现特性也在。net Core项目中得到了新的。net标准程序集的支持。

作为一个缺点,报表项设计器与。net标准不兼容。因此,Visual Studio中没有可用的设计时支持,也不支持类型报告。因此,建议您这样做转换该等报告.trdx.trdp使用独立报表设计器定义。

另外,您可以将这些类用作运行时创建的报表实例。您可以使用Visual Studio中创建的报表定义作为。net Core应用程序中的报表实例,但是它们的代码不能包含任何对codedom特定类的调用,比如ResourceManager

Telerik Reporting支持以下功能:

  • 除了MHTML (HTML存档)、XPS (XML纸规范)和XLS (Microsoft Excel 97 - 2003)之外的所有渲染扩展。

  • Linux和macOS上支持HTML、PDF和基于openxml的渲染。由于图形库不兼容,在某些情况下,OpenXML呈现中的基于图形的项显示不正确。

  • 除了过时的Chart报表项外,支持所有报表项。

  • 支持的报表定义类型为TRDXTRDP,并报告在Visual studio中创建的类,而不使用VS设计器特定的代码。

  • Telerik Reporting支持以下数据源组件:

  • 基于json的报告配置也受支持。对于CLI项目,JSON配置优先于当前基于xml的报告配置。

在Linux上部署

在部署到Linux机器时,请确保您拥有libgdiplus库安装。该库是针对非windows操作系统的GDI+ API的Mono实现。

下面的代码片段演示了如何在Ubuntu或Debian上更新和安装必要的库:

Sudo apt-get update Sudo apt-get install libc6-dev Sudo apt-get install libgdiplus

由于libgdiplus库不是Windows图形库的完美替代品,因此呈现的报告在文本定位、换行和对齐方面可能有所不同。这些问题大多影响图像渲染扩展因此,不建议使用它。

下面的JSON配置片段从可用的渲染扩展列表中隐藏了图像渲染扩展:

"telerikReporting": {"extensions": [{"name": "IMAGE", "visible": "false"}]}

在Linux机器上,还需要安装报告中使用的字体。否则,字体替换算法将用系统字体替换它们。在呈现PDF文档时,只有当字体列在< privateFonts >配置元素。

在macOS上部署

在mascOS上使用。net Core:

  1. 安装.NET Core for macOS

  2. 安装libgdiplus通过使用家酿

    Brew安装monoo -libgdiplus
  3. 创建你的。net Core应用程序,或者从Windows机器上复制一个现有的。net Core应用程序。

  4. 添加nuget.config带有NuGet存储库路径的文件。

  5. 中添加一个部分appsettings.json文件的任何字体后退。

  6. 运行以下命令构建项目并运行应用程序。如果您以调试模式运行项目,visualstudio Code将要求您将调试配置添加到launch.json文件。

    dotnet构建

使用集装箱平台

您可以在Docker映像中使用Telerik Reporting,如果它满足GDI+的要求。的Microsoft-distributed微软/ windowsservercore图像包含图形库。但是,它们的大小与Linux容器中的。net运行时的大小相比要大得多。这样的容器只需要安装libgdiplus库及其配套库。

以下dockerfile代码片段演示了如何实现预期的结果。安装了这三个库后,Telerik Reporting将在生成的Docker映像上运行。

运行apt-get update \ && apt-get install -y——allow-unauthenticated \ libc6-dev \ libgdiplus \ libx11-dev \ && rm -rf /var/lib/apt/lists/*

要在Windows容器中使用Telerik Reporting,目标是包含GDI支持的Windows基映像。同样的方法是微软推荐

示例项目

Telerik Reporting附带了现成的。net Core示例,演示了如何在ASP中显示示例报告。NET Core, WinForms Core和WPF Core应用程序。ASP。网络核心demo also shows how to inject anappsettings.json配置文件到控制器,以及如何初始化WebHostBuilder,使其在Windows和Linux下运行。

示例项目可在\ \ CSharp例子\ Asp。NetCoreDemoTelerik Reporting安装目录的子文件夹。

另请参阅

在本文中
Baidu
map