kbw.qin 发表于 2020-8-19 15:29:50

是否可以在JAVA中使用ACTIVEREPORT

目前需求是在想在java环境下实现生成报表并打印的功能(不需要在前台预览,只通过后台操作),咨询下是否可以实现及方式

KearneyKang 发表于 2020-8-19 15:29:51

你好,报表打印是可以实现的,

使用Asp.Net的Web项目用Webviewer渲染,然后再后端通过代码实现打印
代码:
//Set the rendering extension and render the report.
var pdfExport = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();

//Define settings for PDF
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSettings = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
pdfSettings.Version = GrapeCity.ActiveReports.Export.Pdf.Page.PdfVersion.Pdf17;
pdfSettings.PrintOnOpen = true;

//Set default print settings using PrintPresets class
GrapeCity.ActiveReports.Export.Pdf.PrintPresets pdfPresetsSetting = new GrapeCity.ActiveReports.Export.Pdf.PrintPresets();
pdfPresetsSetting.PageScaling = GrapeCity.ActiveReports.Export.Pdf.Enums.PageScaling.None;
pdfPresetsSetting.DuplexMode = GrapeCity.ActiveReports.Export.Pdf.Enums.DuplexMode.DuplexFlipLongEdge;
pdfPresetsSetting.NumberOfCopies = GrapeCity.ActiveReports.Export.Pdf.Enums.NumberOfCopies.Two;
pdfPresetsSetting.PaperSourceByPageSize = true;
pdfPresetsSetting.PrintPageRange = "1-3";

pdfSettings.PrintPresets = pdfPresetsSetting;

var outputFile = new System.IO.FileInfo(@"..\..\PrintPresets.pdf");
var reportFile = new System.IO.FileInfo(@"..\..\PageReport1.rdlx");

var fileStreamProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputFile.Directory,
System.IO.Path.GetFileNameWithoutExtension(outputFile.FullName));

using (var pageDocument = new GrapeCity.ActiveReports.PageReport(reportFile).Document)
{
    pageDocument.Render(pdfExport, fileStreamProvider, pdfSettings);
}

页: [1]
查看完整版本: 是否可以在JAVA中使用ACTIVEREPORT