Quincy 发表于 2024-8-13 11:23:47

如何将报表变为图片对象

本帖最后由 Quincy 于 2024-8-14 15:00 编辑

AR版本:18
当前遇到一个需求:需要利用系统的打印机将AR设计的模板打印成RFID标签。


目前打印机的SDK提供了图片打印接口,我的想法很简单,就是将AR设计出来的标签报表变成多张图片输出到打印机。


但是问题来了,需要如何才能将标签报表绑定数据后,变成图片发送给打印机?

Eden.Sun 发表于 2024-8-13 11:23:48

您好,报表本身不能变成图片,您可以试试导出成图片,然后用到处的图片打印呢:
https://developer.mescius.com/activereportsnet/docs/latest/online/image-export-page-rdl.html


咱们的打印机只能接收图片类型的数据吗?如果可以接收其他类型的数据的话,您可以参考下面的教程,设计标签打印的报表呢:
https://gcdn.grapecity.com.cn/showtopic-151075-1-8.html

Quincy 发表于 2024-8-13 16:13:13

Eden.Sun 发表于 2024-8-13 16:00
您好,报表本身不能变成图片,您可以试试导出成图片,然后用到处的图片打印呢:
https://developer.mesciu ...

好的,我先按指南上面的导出图片后再读取回来打印试试,这样应该是可以的:hjyzw:

Eden.Sun 发表于 2024-8-13 16:16:03

Quincy 发表于 2024-8-13 16:13
好的,我先按指南上面的导出图片后再读取回来打印试试,这样应该是可以的

嗯嗯呢,您先试试,有问题在继续沟通呢。:mj72:

Quincy 发表于 2024-8-14 10:48:37

Eden.Sun 发表于 2024-8-13 16:00
您好,报表本身不能变成图片,您可以试试导出成图片,然后用到处的图片打印呢:
https://developer.mesciu ...

请问我需要如何在导出图片的时候指定我的数据源

Quincy 发表于 2024-8-14 12:10:50

Quincy 发表于 2024-8-14 10:48
请问我需要如何在导出图片的时候指定我的数据源
已解决,代码如下:
// Provide the Page report you want to render.
FileInfo rptPath = new FileInfo(@".\Reports\Resources\AssetBarCode_QR_60x40.rdlx");

GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);// Create an output directory.
pageReport.Document.LocateDataSource += Document_LocateDataSource;


DirectoryInfo outputDirectory = new DirectoryInfo(@".\Reports\ExportImages");
outputDirectory.Create();

// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Image.Page.Settings imageSetting = new GrapeCity.ActiveReports.Export.Image.Page.Settings();
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = imageSetting;

// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension imageRenderingExtension = new GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, Path.GetFileNameWithoutExtension(outputDirectory.Name));

// Overwrite output file if it already exists.
outputProvider.OverwriteOutputFile = true;

pageReport.Document.Render(imageRenderingExtension, outputProvider, imageSetting);

Felix.Li 发表于 2024-8-14 18:01:19

:hjyzw:
页: [1]
查看完整版本: 如何将报表变为图片对象