//http://localhost/ReportPublishDynamic/DDWebReportView.aspx?ReportName=90&uid=573aa0c3-528a-40a9-890e-701e097a1fb5&PdmRequestRegisterID=134&ReportDataSourceType=PLMDatabase //Search Print //http://localhost/ReportPublishCrystal/ReportPdfPrint.aspx?ReportName=90&uid=66e7fed1-1dfc-4003-89ad-f0831a0b4138&PdmRequestRegisterID=133&ReportDataSourceType=PLMDatabase private static List <Stream> PrintSearchViewPdf(int?aUId, string reportId, string PdmRequestRegisterID, string dataSourceType, string mainreferenceID, string masterReferenceId) { List <Stream> pdfFileStream = new List <Stream>(); string reportFileName = DDSetup.GetUserReportFileName(aUId.Value, reportId); // Cyrstal report if (reportFileName.EndsWith(".rpt") || reportFileName.EndsWith(".RPT")) { Stream result = CystalReportExport.GetCrystalPdfStream(reportFileName, aUId, null, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId); if (result != null) { pdfFileStream.Add(result); } } // Data Dynamics else if (reportFileName.EndsWith(".rdlx") || reportFileName.EndsWith(".RDLX")) { Stream result = DataDynamicsExport.GetDataDynamicPdfStream(reportFileName, aUId, null, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId); if (result != null) { pdfFileStream.Add(result); } } return(pdfFileStream); }
private static List <Stream> PrintTechPackPdf(int?aUId, string mutipleReportFiles, string PdmRequestRegisterID, string dataSourceType, string mainreferenceID, string masterReferenceId) { string[] reportnames = mutipleReportFiles.Split('|'); // var dictReportNameAndFileName = DDSetup.GetDictUserReportNameAndFileNameReports(aUId.Value); List <KeyValuePair <string, string> > mutipleReportAndReference = new List <KeyValuePair <string, string> >(); List <Stream> pdfFileStream = new List <Stream>(); foreach (String reportFileNameWithRef in reportnames) { string[] reportNameAndRef = reportFileNameWithRef.Split('^'); if (reportNameAndRef.Length != 2) { continue; } string reportId = reportNameAndRef[0]; string reportFileName = DDSetup.GetUserReportFileName(aUId.Value, reportId); if (string.IsNullOrEmpty(reportFileName)) { // Response.Write(" access denied "); continue; } string reportRefId = reportNameAndRef[1]; // Cyrstal report if (reportFileName.EndsWith(".rpt") || reportFileName.EndsWith(".RPT")) { Stream result = CystalReportExport.GetCrystalPdfStream(reportFileName, aUId, reportRefId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId); if (result != null) { pdfFileStream.Add(result); } } // Data Dynamics else if (reportFileName.EndsWith(".rdlx") || reportFileName.EndsWith(".RDLX")) { Stream result = DataDynamicsExport.GetDataDynamicPdfStream(reportFileName, aUId, reportRefId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId); if (result != null) { pdfFileStream.Add(result); } } } return(pdfFileStream); }
protected override void OnPreInit(EventArgs e) { string reportName = Request.QueryString[DDSetup.QueryReportName]; string sessionUid = Request.QueryString[DDSetup.ReportParameterUid]; int?userid = DDSetup.GetUserIdFromSessionId(sessionUid); if (!userid.HasValue) { Response.Write(" access denied "); return; } else { _ReportFileNmae = DDSetup.GetUserReportFileName(userid.Value, reportName); if (string.IsNullOrEmpty(_ReportFileNmae)) { Response.Write(" access denied "); return; } } _UId = userid; _ProductReferenceId = Request.QueryString[DDSetup.ReportParameterProductReferenceID]; _DatasourceType = Request.QueryString[DDSetup.QueryReportDataSourceType]; //Request.QueryString[DDSetup.ReportParameterMainReferenceID]; _MainReferenceID = Request.QueryString[DDSetup.QueryReportParameterMainReferenceID]; //Request.QueryString[DDSetup.ReportParameterMasterReferenceID]; _MasterReferenceID = Request.QueryString[DDSetup.QueryReportParameterMasterReferenceID]; //DDSetup.ReportParameterMutipleProductReferenceIDs string PdmRequestRegisterID = Request.QueryString[DDSetup.QueryPdmRequestRegisterID]; if (!string.IsNullOrEmpty(PdmRequestRegisterID)) { // need format like this '1,2,3,4,6' CystalReportExport.SetupCrystalReportRequestRegisterId(CurrnetReportDocument, PdmRequestRegisterID); } base.OnPreInit(e); if (!this.IsPostBack) { if (_ReportFileNmae != string.Empty) { // only create once !! BindReport(); } } }
private void PrintUserReaTimeReport(string aUId, string allReportFileNmae, string PdmRequestRegisterID, string dataSourceType, string mainreferenceID, string masterReferenceId) { //allReportFileNmae=ReportName=Crystal_OSC_GetTab1.rpt^21836|OSC_Proto Summary.rdlx^21863 if (allReportFileNmae != string.Empty) { // only create once !! string[] reportnames = allReportFileNmae.Split('|'); List <KeyValuePair <string, string> > mutipleReportAndReference = new List <KeyValuePair <string, string> >(); List <Stream> pdfFileStream = new List <Stream>(); foreach (String reportFileNameWithRef in reportnames) { string [] reportNameAndRef = reportFileNameWithRef.Split('^'); if (reportNameAndRef.Length != 2) { continue; } string reportFileName = reportNameAndRef[0]; string reportRefId = reportNameAndRef[1]; // Cyrstal report if (reportFileName.EndsWith(".rpt") || reportFileName.EndsWith(".RPT")) { Stream result = CystalReportExport.GetCrystalPdfStream(reportFileName, aUId, reportRefId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId); if (result != null) { pdfFileStream.Add(result); } } // Data Dynamics else if (reportFileName.EndsWith(".rdlx") || reportFileName.EndsWith(".RDLX")) { Stream result = DataDynamicsExport.GetDataDynamicPdfStream(reportFileName, aUId, reportRefId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId); if (result != null) { pdfFileStream.Add(result); } } } using (PdfDocument outputPdfDocument = new PdfDocument()) { foreach (Stream stream in pdfFileStream) { // Open the document to import pages from it. if (stream.Length > 0) { using (PdfDocument inputDocument = PdfReader.Open(stream, PdfDocumentOpenMode.Import)) { // Iterate pages int count = inputDocument.PageCount; for (int idx = 0; idx < count; idx++) { // Get the page from the external document... PdfPage page = inputDocument.Pages[idx]; // ...and add it to the output document. outputPdfDocument.AddPage(page); } stream.Close(); stream.Dispose(); } } } if (DDSetup.ReorptSetup.IsReportCompressionActivate) { string fileID = Guid.NewGuid().ToString(); string FileNameOrigin = DDSetup.ReorptSetup.ReportPdfCompressPath + "Origin_" + fileID + ".pdf"; outputPdfDocument.Save(FileNameOrigin); string FileNameDestination = DDSetup.ReorptSetup.ReportPdfCompressPath + "Dest_" + fileID + ".pdf"; ReportJobManagement.PdfCompression(FileNameOrigin, FileNameDestination); File.Delete(FileNameOrigin); OutputPdfFile(FileNameDestination); } else // need to compress PDF { MemoryStream memoStream = new MemoryStream(); outputPdfDocument.Save(memoStream, false); OutPutResponse(memoStream); } } // need to dispsoe output to release memeory // outputPdfDocument.Dispose(); // need to dispost } }