public void Returns_ERROR_because_of_repository_error() { Response <PDFReport> response = invalidRepositorySystem.GenerateReport(outage.Id); PDFReport result = response.Data; ResponseStatus status = response.Status; Assert.IsNotNull(result); Assert.AreEqual(ResponseStatus.Error, status); }
public void Returns_ERROR_because_of_invalid_id(int id) { Response <PDFReport> response = system.GenerateReport(id); PDFReport result = response.Data; ResponseStatus status = response.Status; Assert.IsNotNull(result); Assert.AreEqual(ResponseStatus.Error, status); }
public IActionResult Relatorio(MovimentacoesRelatorioModel model) { if (ModelState.IsValid) { var consulta = new MovimentacoesConsultaModel { DataInicio = model.DataInicio, DataTermino = model.DataTermino }; //consultando as movimentações var dados = movimentacaoFinanceiraApplicationService.Consultar(consulta); try { //verificar o tipo do relatorio switch (model.TipoRelatorio) { case "EXCEL": var relatorioExcel = ExcelReport.GenerateReport (DateTime.Parse(model.DataInicio), DateTime.Parse(model.DataTermino), dados); //download do arquivo Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.Headers.Add("content-disposition", "attachment; filename=relatorio.xlsx"); Response.Body.WriteAsync(relatorioExcel, 0, relatorioExcel.Length); Response.Body.Flush(); Response.StatusCode = StatusCodes.Status200OK; break; case "PDF": var relatorioPDF = PDFReport.GenerateReport (DateTime.Parse(model.DataInicio), DateTime.Parse(model.DataTermino), dados); //download do arquivo Response.Clear(); Response.ContentType = "application/pdf"; Response.Headers.Add("content-disposition", "attachment; filename=relatorio.pdf"); Response.Body.WriteAsync(relatorioPDF, 0, relatorioPDF.Length); Response.Body.Flush(); Response.StatusCode = StatusCodes.Status200OK; break; } } catch (Exception e) { TempData["MensagemErro"] = e.Message; } } return(View()); }
public PDFReport GetReport() { var report = new PDFReport(); report.SetReportType(_reportType); report.SetReportHeader(_header); report.SetReportContent(_content); report.SetReportFooter(_footer); return(report); }
private void button1_Click(object sender, EventArgs e) { if (listView1.Items.Count > 0) { var empnum = new List <string>(); var fname = new List <string>(); var lname = new List <string>(); var list1 = new List <string>(); var list2 = new List <string>(); var list3 = new List <string>(); var list4 = new List <string>(); var list5 = new List <string>(); var list6 = new List <string>(); var list7 = new List <string>(); var list8 = new List <string>(); var list9 = new List <string>(); var list10 = new List <string>(); var list11 = new List <string>(); var list12 = new List <string>(); var list13 = new List <string>(); var list14 = new List <string>(); var list15 = new List <string>(); foreach (ListViewItem lvItems in listView1.Items) { empnum.Add(lvItems.SubItems[0].Text); lname.Add(lvItems.SubItems[1].Text); fname.Add(lvItems.SubItems[2].Text); list1.Add(lvItems.SubItems[3].Text); list2.Add(lvItems.SubItems[4].Text); list3.Add(lvItems.SubItems[5].Text); list4.Add(lvItems.SubItems[6].Text); list5.Add(lvItems.SubItems[7].Text); list6.Add(lvItems.SubItems[8].Text); list7.Add(lvItems.SubItems[9].Text); list8.Add(lvItems.SubItems[10].Text); list9.Add(lvItems.SubItems[11].Text); list10.Add(lvItems.SubItems[12].Text); list11.Add(lvItems.SubItems[13].Text); list12.Add(lvItems.SubItems[14].Text); list13.Add(lvItems.SubItems[15].Text); list14.Add(lvItems.SubItems[16].Text); list15.Add(lvItems.SubItems[17].Text); } PDFReport report = new PDFReport(); Document doc = report.Overtime_summary(dtpFrom.Value, dtpTo.Value, empnum, fname, lname, list1, list2, list3, list4, list5, list6, list7, list8, list9, list10, list11, list12, list13, list14, list15); PdfDocumentRenderer pdfRender = new PdfDocumentRenderer(); pdfRender.Document = doc; pdfRender.RenderDocument(); const string filename = "Overtime_SUMMARY.pdf"; pdfRender.PdfDocument.Save(filename); Process.Start(filename); } }
private void cbxReportType_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (this.cbxReportType.SelectedItem == null) { return; } AReport newReport; switch ((ReportType)this.cbxReportType.SelectedItem) { case ReportType.PDF: newReport = new PDFReport(); break; case ReportType.EXCEL: newReport = new PDFReport(); break; case ReportType.CSV: newReport = new PDFReport(); break; case ReportType.XML: newReport = new PDFReport(); break; default: throw new ApplicationException("Failed to select a report type"); } newReport.Name = report.Name; foreach (Field f in report.fields) { newReport.fields.Add(f); } foreach (Table t in report.tables) { newReport.tables.Add(t); } //newReport.ExportPath = report.ExportPath; //newReport.TemplatePath = report.TemplatePath; newReport.Script = report.Script; newReport.SampleDataSet = report.SampleDataSet; newReport.SetTemplate(report.GetTemplate( )); report = newReport; }
public void Returns_OK() { Response <PDFReport> response = system.GenerateReport(outage.Id); PDFReport result = response.Data; ResponseStatus status = response.Status; Assert.IsNotNull(result); Assert.IsNotNullOrEmpty(result.FileName); Assert.IsNotNull(result.BinaryData); Assert.IsTrue(result.BinaryData.Any()); Assert.AreEqual(ResponseStatus.OK, status); }
// Modified 2015-05-22 removed TemplatePath from parameter list as Template can now change with each competitor public static List <string> SaveAllEventCertificatesByType(List <CertificateData> CDs, string ExportPath, AEvent [] Events = null) { List <string> pdfCertificates = new List <string>(); if (Events == null) { Events = ((App)App.Current).CurrentChampionship.Championship.listAllEvents( ).ToArray(); } // Generate Event Certificates //foreach (AEvent Event in MainWindow.CurrentChampionship.listAllEvents()) foreach (AEvent Event in Events) { //PDFReport CertsReport = (PDFReport)MainWindow.ReportLibrary["Certificate"]; // (PDFReport)AReport.LoadTemplate(Event.CertificateTemplate); //PDFReport CertsReport = (PDFReport) ChampionshipSolutions.Reports.CSReportLibrary.getLibrary() ["Certificate"]; // (PDFReport)AReport.LoadTemplate(Event.CertificateTemplate); if (!Event.IsFinal) { continue; } if (Event.CertificateTemplate == null) { continue; } PDFReport CertsReport = (PDFReport)PDFReport.LoadTemplate(Event.CertificateTemplate.Instructions, Event.CertificateTemplate.TemplateFile); if (CertsReport == null) { continue; } List <CertificateData> GroupedCertificates = CDs.Where(cd => cd.Competitor.CompetingIn.Name == Event.Name).ToList(); foreach (string str in GroupedCertificates.Select(c => c.CertificateName).Distinct()) { List <CertificateData> GroupedCertificatesType = GroupedCertificates.Where(cd => cd.CertificateName == str).OrderBy(cd => cd.CertifiacteType).ThenBy(cd => cd.RankCounter).ToList(); byte[] b = CertsReport.Generate(GroupedCertificatesType.ToDataSet().Tables[0]); CertsReport.SaveGeneratedFile(string.Format("{0}\\{1} {2}.pdf", ExportPath, Event.Name, str)); pdfCertificates.Add(string.Format("{0}\\{1} {2}.pdf", ExportPath, Event.Name, str)); } } return(pdfCertificates); }
private void BtnPrint_Click(object sender, RoutedEventArgs e) { PDFReport report = null; if (cmbTotalResult.SelectedValue is CBItem selected) { CBObjectTotalResults selObj = selected.Value as CBObjectTotalResults; if (selObj == null || // Fallback selObj.Type == "raceresults") // ResultList { if (_thisRace.GetResultViewProvider() is DSVSchoolRaceResultViewProvider) { report = new DSVSchoolRaceResultReport(_thisRace); } else { report = new RaceResultReport(_thisRace); } } else if (selObj.Type == "raceresults") { displayView(_thisRace.GetResultViewProvider()); } else if (selObj.Type == "results_run") { report = new RaceRunResultReport(selObj.RaceRun); } else if (selObj.Type == "startlist_run") { if (selObj.RaceRun.GetStartListProvider() is BasedOnResultsFirstRunStartListViewProvider) { report = new StartListReport2ndRun(selObj.RaceRun); } else { report = new StartListReport(selObj.RaceRun); } } } if (report != null) { report.WithDiagram = chkPrintOptionWithDiagram.IsChecked == true; report.WithRaceHeader = chkPrintOptionWithRaceHeader.IsChecked == true; CreateAndOpenReport(report); } }
private void button1_Click(object sender, EventArgs e) { if (listView1.Items.Count > 0) { string dtFrom = dtpFrom.Value.ToString( ); string dtTo = dtpTo.Value.ToString(); var empNum = new List <string>(); var empName = new List <string>(); var workhr = new List <string>(); var totalabs = new List <string>(); var totallate_hr = new List <string>(); var totallate_min = new List <string>(); var totalut_hr = new List <string>(); var totalut_min = new List <string>(); var render_date = new List <string>(); foreach (ListViewItem items in listView1.Items) { empNum.Add(items.SubItems[0].Text); empName.Add(items.SubItems[1].Text); totalabs.Add(items.SubItems[2].Text); totallate_hr.Add(items.SubItems[3].Text); totallate_min.Add(items.SubItems[4].Text); totalut_hr.Add(items.SubItems[5].Text); totalut_min.Add(items.SubItems[6].Text); render_date.Add(items.SubItems[7].Text); } PDFReport report = new PDFReport(); Document document = report.Late_absence_summary(dtFrom, dtTo, empNum, empName, totalabs, totallate_hr, totallate_min, totalut_hr, totalut_min, render_date); PdfDocumentRenderer pdfrender = new PdfDocumentRenderer(); pdfrender.Document = document; pdfrender.RenderDocument(); const string filename = "Late_and_Absences_SUMMARY.pdf"; pdfrender.PdfDocument.Save(filename); Process.Start(filename); } else { MessageBox.Show("You have no report to print", "Unable to Print", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public PDFReport GenerateReport(Outage outage) { PDFReport report; if (outage != null && outage.Id > 0) { string body = GenerateBody(outage); string fileName = $"Outage{outage.Id}_Report"; byte[] binaryData = renderer.RenderHtmlAsPdf(body).BinaryData; report = new PDFReport(fileName, binaryData); } else { report = new PDFReport(); } return(report); }
/// <summary> /// JPG转PDF。by liuhy on 20151019 /// </summary> /// <param name="pdfName">输出PDF文件路径</param> /// <param name="jpgName">输入JPG文件路径</param> public static bool CreatePdfFileByJPG(string pdfName, string jpgName, ReportPara para) { bool bResult = false; try { var document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 100, 25); using (var stream = new FileStream(pdfName, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfWriter writer = PdfWriter.GetInstance(document, stream); if (para != null) { PDFReport report = new PDFReport(); report.ReportPar = para; //report.Route = route; writer.PageEvent = report; } document.Open(); using (var imageStream = new FileStream(jpgName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var image = Image.GetInstance(imageStream); if (image.Height > iTextSharp.text.PageSize.A4.Height - 25) { image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25); } else if (image.Width > iTextSharp.text.PageSize.A4.Width - 25) { image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25); } image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE; document.Add(image); } document.Close(); } bResult = true; } catch (Exception ex) { } return(bResult); }
//Modified 2015-05-22 removed Template Path from parameters as the template can change with each new competitor. public static List <string> SaveIndividualCertificates(List <CertificateData> CDs, string ExportPath) { List <string> pdfCertificates = new List <string>(); //Generate the individual Certificates foreach (CertificateData CD in CDs) { //PDFReport CertsReport = (PDFReport)MainWindow.ReportLibrary["Certificate"]; //(PDFReport)AReport.LoadTemplate(CD.Competitor.CompetingIn.CertificateTemplate); PDFReport CertsReport = (PDFReport)Reports.CSReportLibrary.getLibrary() ["Certificate"]; //(PDFReport)AReport.LoadTemplate(CD.Competitor.CompetingIn.CertificateTemplate); // To do 2016-05-14 this is a bodge. The template is being chosen based on a hard coded string and not on the selection in EditEvent ACertificate cert = new CertificateInvididual() { Competitor = CD.Competitor, Event = CD.Competitor.CompetingIn, File = new FileStorage(ExportPath, "PDF", CertsReport.Generate(new List <CertificateData>() { CD }.ToDataSet().Tables[0])) }; //if (Properties.Settings.Default.SaveCertificateToDB) //{ // CD.Competitor.Certificates.Add(cert); // if (Properties.Settings.Default.SaveCertificateImage) // Printing.GetPdfThumbnail( // Printing.saveArrayToTemp(cert.File.FileData), // string.Format("{0}{1} {4} {3} {2}.png", ExportPath, CD.EventName, CD.Competitor.getName(), CD.CertifiacteType, CD.Competitor.printVestNumber()), // 1, 1, GhostscriptSharp.Settings.GhostscriptPageSizes.a5); //} //Printing.PrintPDF(cert.File.FileData); CertsReport.SaveGeneratedFile(string.Format("{0}\\{1} {4} {3} {2}.pdf", ExportPath, CD.EventName, CD.Competitor.getName(), CD.CertifiacteType, CD.Competitor.printVestNumber())); pdfCertificates.Add(string.Format("{0}\\{1} {4} {3} {2}.pdf", ExportPath, CD.EventName, CD.Competitor.getName(), CD.CertifiacteType, CD.Competitor.printVestNumber())); } return(pdfCertificates); }
public Response <PDFReport> GenerateReport(int id) { Console.WriteLine($"Request: GenerateReport."); Outage outage = outageService.Get(id, out string message); if (outage == null || outage.Id <= 0) { return(new Response <PDFReport>(ResponseStatus.Error, message, new PDFReport())); } PDFReport report = reportService.GenerateReport(outage, out message); if (report != null && !string.IsNullOrWhiteSpace(report.FileName) && report.BinaryData.Any()) { return(new Response <PDFReport>(ResponseStatus.OK, message, report)); } else { return(new Response <PDFReport>(ResponseStatus.Error, message, report)); } }
public static int Main(string[] args) { if (args.Length < 2) { Console.WriteLine("USAGE: PDFConcat srcfile [srcfile...] dstfile"); return(1); } string[] infiles = new string[args.Length - 1]; for (int i = 0; i < args.Length - 1; i++) { infiles[i] = args[i]; } try { PDFReport.Combine(args[args.Length - 1], infiles); } catch (Exception e) { Console.WriteLine("Error: {0}", e.Message); return(1); } return(0); }
public PDFReport GenerateReport(Outage outage, out string message) { if (outage == null || outage.Id <= 0) { message = "Outage is invalid."; return(new PDFReport()); } PDFReport report = generator.GenerateReport(outage); if (!string.IsNullOrWhiteSpace(report.FileName) && report.BinaryData.Any()) { message = string.Empty; } else { message = "An unexpected error occured while trying to generate a report."; } return(report); }
// Modified 2015-05-22 removed TemplatePath from parameter list as Template can now change with each competitor public static List <string> SaveAllEventCertificates(List <CertificateData> CDs, string ExportPath) { List <string> pdfCertificates = new List <string>(); // // Generate Event Certificates //foreach (AEvent Event in MainWindow.CurrentChampionship.listAllEvents()) foreach (AEvent Event in ((App)App.Current).CurrentChampionship.Championship.listAllEvents()) { //PDFReport CertsReport = (PDFReport)MainWindow.ReportLibrary["Certificate"]; //(PDFReport)AReport.LoadTemplate(Event.CertificateTemplate); PDFReport CertsReport = (PDFReport)ChampionshipSolutions.Reports.CSReportLibrary.getLibrary()["Certificate"]; List <CertificateData> GroupedCertificates = CDs.Where(cd => cd.EventName == Event.Name).OrderBy(cd => cd.CertifiacteType).ThenBy(cd => cd.RankCounter).ToList(); byte[] b = CertsReport.Generate(GroupedCertificates.ToDataSet().Tables[0]); CertsReport.SaveGeneratedFile(string.Format("{0}{1} {2}.pdf", ExportPath, Event.Name, "All")); pdfCertificates.Add(string.Format("{0}{1} {2}.pdf", ExportPath, Event.Name, "All")); } return(pdfCertificates); }
public static int Main(string[] args) { string xmlfile = null; string fieldfile = null; List <string> listfiles = new List <string>(); string outfile = null; bool showFieldName = false; bool showPageFrame = false; bool rotate = false; for (int i = 0; i < args.Length; i++) { switch (args[i]) { case "-o": outfile = args[++i]; break; case "-f": showFieldName = true; showPageFrame = true; break; case "-r": rotate = true; break; default: if (xmlfile == null) { xmlfile = args[i]; } else if (fieldfile == null) { fieldfile = args[i]; } else { listfiles.Add(args[i]); } break; } } PDFReport.FontDir = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "fonts"); if (xmlfile == null) { Console.WriteLine("usage: PDFReport [options] xmlfile [fieldfile listfile1 listfile2...]"); Console.WriteLine("option:"); Console.WriteLine(" -o filename: Specify outpur PDF file name."); Console.WriteLine(" -f: Show field names and page frame."); return(1); } PDFReport rep = new PDFReport(xmlfile); rep.Rotate = rotate; rep.ShowFieldName = showFieldName; rep.ShowPageFrame = showPageFrame; DataArray field = null; if (fieldfile != null) { field = DataArray.FromFile(fieldfile); } List <List <DataArray> > listList = new List <List <DataArray> >(); foreach (string listfile in listfiles) { using (CSVFile csv = new CSVFile(listfile)) { listList.Add(csv.ReadAllData()); csv.Close(); } } if (outfile == null) { rep.Output(Console.OpenStandardOutput(), field, listList); } else { rep.Output(outfile, field, listList); } return(0); }
public void GenerateReportLexicalErrorsPDF() { PDFReport pdfReport = new PDFReport(); pdfReport.GeneratePDF(ListError); }
private void FillResult() { bool ViewOn = (RadioResult.SelectedValue == "HTML"); string delimiter = String.Empty; if (!ViewOn) { HttpContext.Current.Items.Add("render", "no"); } QueryBuilderManager qb = new QueryBuilderManager(); Hashtable Params = new Hashtable(); string sqlHash = "SELECT QB_CUSTOMERQUERYPARAMFIELDS.IDFIELD,QB_ALL_FIELDS.FIELD,QB_ALL_FIELDS.FIELDTYPE,QB_CUSTOMERQUERYPARAMFIELDS.IDTABLE " + "FROM QB_CUSTOMERQUERYPARAMFIELDS " + "INNER JOIN QB_ALL_FIELDS ON QB_CUSTOMERQUERYPARAMFIELDS.IDFIELD = QB_ALL_FIELDS.ID " + "WHERE QB_CUSTOMERQUERYPARAMFIELDS.IDQUERY=" + int.Parse(Session["QueryID"].ToString()); DataSet dsQB = DatabaseConnection.CreateDataset(sqlHash); foreach (DataRow s in dsQB.Tables[0].Rows) { if ((int)s[3] > 0) { switch (s[2].ToString()) { case "8": Params.Add(s[1].ToString().ToLower(), Request.Form["Param_" + s[0].ToString()] + "|" + Request.Form["Param2_" + s[0].ToString()]); break; case "12": Params.Add(s[1].ToString().ToLower(), Request.Form["Param_" + s[0].ToString()] + "|" + Request.Form["Paramt_" + s[0].ToString()]); break; case "1": case "13": case "2": if (Request.Form["Param_" + s[0].ToString()].Length > 0) { if (Request.Form["Param_" + s[0].ToString()].IndexOf("-1") < 0) { Params.Add(s[1].ToString().ToLower(), Request.Form["Param_" + s[0].ToString()]); } } else { if (Request.Form["SParam_" + s[0].ToString()].IndexOf("-1") < 0) { Params.Add(s[1].ToString().ToLower(), Request.Form["SParam_" + s[0].ToString()]); } } break; case "4": Params.Add(s[1].ToString().ToLower(), (Request.Form["Param_" + s[0].ToString()] != null) ? Request.Form["SParam_-" + s[0].ToString()] : "false"); break; case "14": Params.Add(s[1].ToString().ToLower(), Request.Form["Paramt_" + s[0].ToString()]); break; default: Params.Add(s[1].ToString().ToLower(), Request.Form["Param_" + s[0].ToString()]); break; } Trace.Warn("params-" + s[1].ToString().ToLower(), Request.Form["Param_" + s[0].ToString()]); } else { DataRow freeParameter = DatabaseConnection.CreateDataset("SELECT * FROM ADDEDFIELDS WHERE ID=" + s[0].ToString()).Tables[0].Rows[0]; switch (freeParameter["Type"].ToString()) { case "4": Params.Add("-" + freeParameter["Name"].ToString(), (Request.Form["SParam_-" + s[0].ToString()] != null) ? Request.Form["SParam_-" + s[0].ToString()] : "false"); break; case "1": case "2": Params.Add("-" + freeParameter["Name"].ToString(), Request.Form["Param_-" + s[0].ToString()]); break; } Trace.Warn("params-" + "-" + freeParameter["Name"].ToString(), Request.Form["Param_" + s[0].ToString()]); } } DataTable d = qb.QBManager(Convert.ToInt32(Session["QueryID"]), Params); if (d.Rows.Count > 0) { StringBuilder sb = new StringBuilder(); if (!ViewOn) { switch (RadioResult.SelectedValue) { case "CSV1": delimiter = ","; break; case "CSV2": delimiter = ";"; break; case "PDF": case "RTF": delimiter = ((char)2) + ""; break; default: delimiter = ","; break; } } if (ViewOn) { sb.Append("<table class=\"normal\" id=\"unique_id\" width=\"98%\" border=1 cellspacing=0 bgcolor=#ffffff><tr>"); } int errocount = 0; try { foreach (DataColumn cc in d.Columns) { if (ViewOn) { sb.AppendFormat("<th>{0}</th>", (cc.ColumnName.StartsWith("{+}") || cc.ColumnName.StartsWith("{t}")) ? cc.ColumnName.Substring(3, cc.ColumnName.Length - 3) : cc.ColumnName); } else { sb.AppendFormat("\"{0}\"{1}", (cc.ColumnName.StartsWith("{+}") || cc.ColumnName.StartsWith("{t}")) ? cc.ColumnName.Substring(3, cc.ColumnName.Length - 3) : cc.ColumnName, delimiter); } errocount++; } }catch (Exception ex) { string error = "DEBUG CHECK\r\n" + Session["QueryID"].ToString() + "\r\n"; foreach (DictionaryEntry de in Params) { error += de.Key + " - " + de.Value + "\r\n"; } foreach (DataColumn cc in d.Columns) { error += ">" + cc.ColumnName + "\r\n"; } error += errocount; throw new Exception(ex.Message + "\r\n" + error); } if (ViewOn) { sb.Append("</tr>"); } else { if (RadioResult.SelectedValue == "PDF" || RadioResult.SelectedValue == "RTF") { if (sb.Length > 0) { sb.Remove(sb.Length - 1, 1); } sb.Append((char)1); } else { if (sb.Length > 0) { sb.Remove(sb.Length - 1, 1); } sb.Append("\r\n"); } } double[] sum = new double[d.Columns.Count]; bool[] sumType = new bool[d.Columns.Count]; bool boolSum = false; foreach (DataRow dr in d.Rows) { int indexSum = 0; if (ViewOn) { sb.Append("<tr>"); } foreach (DataColumn cc in d.Columns) { if (cc.ColumnName.StartsWith("{+}") || cc.ColumnName.StartsWith("{t}")) { double sumtoadd = 0; try { sumtoadd = Convert.ToDouble(dr[cc.ColumnName]); } catch { sumtoadd = 0; } sum[indexSum] += sumtoadd; sumType[indexSum] = (cc.ColumnName.StartsWith("{t}")); // true = tempo , false = numerico boolSum = true; } string timeToPrint = String.Empty; if (cc.ColumnName.StartsWith("{t}")) { int duration = 0; try { duration = Convert.ToInt32(dr[cc.ColumnName]); } catch { duration = 0; } if (duration > 0) { if (duration < 60) { timeToPrint = "00:" + ((duration > 9) ? duration.ToString() : "0" + duration.ToString()); } else { timeToPrint = ((Convert.ToInt32(duration / 60) > 9) ? Convert.ToInt32(duration / 60).ToString() : "0" + Convert.ToInt32(duration / 60).ToString()) + ":" + ((Convert.ToInt32(duration % 60) > 9) ? Convert.ToInt32(duration % 60).ToString() : "0" + Convert.ToInt32(duration % 60).ToString()); } } } if (ViewOn) { if (cc.ColumnName.StartsWith("{t}")) { sb.AppendFormat("<td valign=top>{0} </td>", timeToPrint); } else if (dr[cc.ColumnName].ToString().StartsWith("Mottxt")) { sb.AppendFormat("<td valign=top>{0} </td>", Root.rm.GetString(dr[cc.ColumnName].ToString())); } else { sb.AppendFormat("<td valign=top>{0} </td>", dr[cc.ColumnName]); } } else { if (dr[cc.ColumnName].ToString().Length > 0) { if (cc.ColumnName.StartsWith("{t}")) { sb.AppendFormat("\"{0}\"{1}", timeToPrint, delimiter); } else { sb.AppendFormat("\"{0}\"{1}", dr[cc.ColumnName], delimiter); } } else { sb.AppendFormat("{0}", delimiter); } } indexSum++; } if (ViewOn) { sb.Append("</tr>"); } else { if (RadioResult.SelectedValue == "PDF" || RadioResult.SelectedValue == "RTF") { sb.Remove(sb.Length - 1, 1); sb.Append((char)1); } else { sb.Remove(sb.Length - 1, 1); sb.Append("\r\n"); } } } if (boolSum) { if (ViewOn) { sb.Append("<tr>"); for (int i = 0; i < sum.Length; i++) { sb.Append("<td>"); if (sum[i] > 0) { if (sumType[i]) { int duration = Convert.ToInt32(sum[i]); string timeToPrint = String.Empty; if (duration > 0) { if (duration < 60) { timeToPrint = "00:" + ((duration > 9) ? duration.ToString() : "0" + duration.ToString()); } else { timeToPrint = ((Convert.ToInt32(duration / 60) > 9) ? Convert.ToInt32(duration / 60).ToString() : "0" + Convert.ToInt32(duration / 60).ToString()) + ":" + ((Convert.ToInt32(duration % 60) > 9) ? Convert.ToInt32(duration % 60).ToString() : "0" + Convert.ToInt32(duration % 60).ToString()); } } sb.Append("<b>" + timeToPrint + "</b>"); } else { sb.Append("<b>" + sum[i].ToString() + "</b>"); } } else { sb.Append(" "); } sb.Append("</td>"); } sb.Append("</tr>"); } else { for (int i = 0; i < sum.Length; i++) { if (sum[i] > 0) { if (sumType[i]) { int duration = Convert.ToInt32(sum[i]); string timeToPrint = String.Empty; if (duration > 0) { if (duration < 60) { timeToPrint = "00:" + ((duration > 9) ? duration.ToString() : "0" + duration.ToString()); } else { timeToPrint = ((Convert.ToInt32(duration / 60) > 9) ? Convert.ToInt32(duration / 60).ToString() : "0" + Convert.ToInt32(duration / 60).ToString()) + ":" + ((Convert.ToInt32(duration % 60) > 9) ? Convert.ToInt32(duration % 60).ToString() : "0" + Convert.ToInt32(duration % 60).ToString()); } } sb.AppendFormat("\"{0}\"{1}", timeToPrint, delimiter); } else { sb.AppendFormat("\"{0}\"{1}", sum[i].ToString(), delimiter); } } else { sb.AppendFormat("{0}", delimiter); } } sb.Remove(sb.Length - 1, 1); sb.Append("\r\n"); } } if (ViewOn) { sb.Append("</table>"); if (RadioResult.SelectedValue == "HTML") { sb.Append("</table><script src=\"/js/reporthtml.js\"></script>"); QBResult.Text = sb.ToString(); } } else if (RadioResult.SelectedValue == "Excel") { ExportUtils eu = new ExportUtils(); DataSet dt = new DataSet(); dt.Tables.Add(d); eu.ExportDataSet(dt, "report", ExportUtils.DataSetExportType.ExcelXML, HttpContext.Current); return; } else if (RadioResult.SelectedValue == "XML") { ExportUtils eu = new ExportUtils(); DataSet dt = new DataSet(); dt.Tables.Add(d); eu.ExportDataSet(dt, "report", ExportUtils.DataSetExportType.XML, HttpContext.Current); return; } else if (RadioResult.SelectedValue == "ADO") { ExportUtils eu = new ExportUtils(); DataSet dt = new DataSet(); dt.Tables.Add(d); eu.ExportDataSet(dt, "report", ExportUtils.DataSetExportType.ADORecordSet, HttpContext.Current); return; } else { if (RadioResult.SelectedValue != "PDF" && RadioResult.SelectedValue != "RTF") { Response.AddHeader("Content-Disposition", "attachment; filename=Result.csv"); Response.AddHeader("Expires", "Thu, 01 Dec 1994 16:00:00 GMT "); Response.AddHeader("Pragma", "nocache"); Response.ContentType = "application/vnd.ms-excel"; Response.Write(sb.ToString()); return; } else if (RadioResult.SelectedValue == "PDF") { PDFReport p = new PDFReport(); MemoryStream MyStream = p.PDFRender(d); Response.AddHeader("Content-Disposition", "attachment; filename=report.pdf"); Response.CacheControl = "Private"; Response.AddHeader("Pragma", "No-Cache"); Response.ContentType = "application/pdf"; Response.BinaryWrite(MyStream.GetBuffer()); Response.End(); return; } else { PDFReport p = new PDFReport(); MemoryStream MyStream = p.RTFRender(d); Response.AddHeader("Content-Disposition", "attachment; filename=report.rtf"); Response.CacheControl = "Private"; Response.AddHeader("Pragma", "No-Cache"); Response.ContentType = "application/rtf"; Response.BinaryWrite(MyStream.GetBuffer()); Response.End(); return; } } } else { QBResult.ForeColor = Color.Red; QBResult.CssClass = "normal"; QBResult.Text = Root.rm.GetString("QBUtxt26"); } }
/// <summary> /// 创建pdf文件。by liuhy on 20141103 /// </summary> /// <param name="pdfName">包含文件路径的pdf文件名</param> /// <param name="pdfContent">pdf文件的内容</param> /// <param name="pdfWordSize">pdf文件字体大小</param> public static bool CreatePdfFile(string pdfName, string pdfContent, int pdfWordSize, ReportPara para) { bool bResult = false; try { #region 创建pdf文件 //获取字体 string fontPath = @"C:\WINDOWS\Fonts\simsun.ttc"; string mm = Environment.SystemDirectory.Substring(0, 1); if (!mm.ToUpper().Equals(fontPath.Substring(0, 1))) { fontPath = mm + @":\WINDOWS\Fonts\simsun.ttc"; } BaseFont baseFont = null; try { baseFont = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); } catch { fontPath = fontPath + ",1"; baseFont = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); } Font pdfFont = new Font(baseFont, pdfWordSize, Font.NORMAL); Document pdfDocument = new Document(PageSize.A4, 10, 10, 100, 20); //PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, pdfDocument.PageSize.Height, 1f); PdfWriter writer = PdfWriter.GetInstance(pdfDocument, new FileStream(pdfName, FileMode.OpenOrCreate)); //PdfAction action = PdfAction.GotoLocalPage(1, pdfDest, writer); if (para != null) { var report = new PDFReport(); report.ReportPar = para; writer.PageEvent = report; } //writer.SetOpenAction(action); pdfDocument.Open(); //HeaderAndFooterEvent.PAGE_NUMBER = true; //增加行距参数:10f.modify by liuhy on 20141120 pdfDocument.Add(new Paragraph(10f, pdfContent, pdfFont)); writer.Flush(); writer.CloseStream = true; pdfDocument.Close(); bResult = true; #endregion } catch (Exception ex) { throw; } return(bResult); }