Convert PDF Report into Base65str in d365 fo x++
public Notes runReportandGenerateBase64()
{
PaymentReceiptController controller = this;
SRSPrintDestinationSettings settings;
Notes reportDataInBase64;
Array arrayFiles;
SRSProxy srsProxy;
Map reportParametersMap;
BinData bindataLoc = new BinData();
System.Byte[] reportBytes = new System.Byte[0]();
SRSReportRunService srsReportRunService = new SrsReportRunService();
SRSReportExecutionInfo executionInfo = new SRSReportExecutionInfo();
Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray;
Filename fileName = "PaymentReceiptreport" + '.pdf';
Controller.parmArgs(new Args());
controller.parmShowDialog(false);
controller.parmLoadFromSysLastValue(false);
//controller.preRunModifyContract();
controller.RunPrePromptModilfyContract();
settings = controller.parmReportContract().parmPrintSettings();
settings.printMediumType(SRSPrintMediumType::File);
settings.fileName(fileName);
settings.fileFormat(SRSReportFileFormat::PDF);
settings.overwriteFile(true);
controller.parmReportContract().parmReportServerConfig(SRSConfiguration::getDefaultServerConfiguration());
controller.parmReportContract().parmReportExecutionInfo(executionInfo);
srsReportRunService.getReportDataContract(controller.parmreportcontract().parmReportName());
srsReportRunService.preRunReport(controller.parmreportcontract());
reportParametersMap = srsReportRunService.createParamMapFromContract(controller.parmReportContract());
parameterValueArray = SrsReportRunUtil::getParameterValueArray(reportParametersMap);
srsProxy = SRSProxy::constructWithConfiguration(controller.parmReportContract().parmReportServerConfig());
reportBytes = srsproxy.renderReportToByteArray(controller.parmreportcontract().parmreportpath(),
parameterValueArray,
settings.fileFormat(),
settings.deviceinfo());
if (reportBytes)
{
using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(reportBytes))
{
reportDataInBase64 = System.Convert::ToBase64String(memoryStream.ToArray());
}
}
return reportDataInBase64;
}
Comments
Post a Comment