FastReport .Net C# 使用 Map 对象加载 frx 文件

FastReport .Net C# load frx file with Map object

我使用 FastReport .Net Designer 创建包含我所有报表定义的 .frx 文件,然后将其加载到我的 C# 代码中,我添加了一个地图对象,我做了 运行 预览和地图显示的很好

但是当我尝试从我的 C# 代码加载 .frx 文件时,它抛出“找不到地图对象”异常。

我的解决方案是 .net4.7,我使用的是最新的 FastReport Nuget 包。

请注意,一旦我删除了 Map 对象,它就会恢复正常工作,.frx 会很好地加载到我的 C# 代码中,并且一切正常(当然没有地图)

我的抛出异常的 C# 代码:

var report = new Report();
report.Load(GetFrx(type));

异常详情:

Source: FastReport

Message: Can't find object MapObject

Stack Trace: at FastReport.Utils.FRReader.Read() at FastReport.Base.DeserializeSubItems(FRReader reader) at FastReport.Base.Deserialize(FRReader reader) at FastReport.ReportComponentBase.Deserialize(FRReader reader) at FastReport.Utils.FRReader.Read() at FastReport.Base.DeserializeSubItems(FRReader reader) at FastReport.Base.Deserialize(FRReader reader) at FastReport.Utils.FRReader.Read() at FastReport.Base.DeserializeSubItems(FRReader reader) at FastReport.Base.Deserialize(FRReader reader) at FastReport.Report.Deserialize(FRReader reader) at FastReport.Utils.FRReader.Read(IFRSerializable obj) at FastReport.Report.Load(Stream stream)

这是因为您可能正在使用免费的 NuGet 包 FastReport.OpenSource.Export.PdfSimple。 PdfSimple 将 PDF 页面导出为图像,这会导致一些限制以及您提到的地图问题。 为了解决您的问题,您需要购买和使用完整的 FastReport.Net 版本。您可以下载试用版 NuGet 包 FastReport.Net.Demo,看看它会解决您的问题。