private static void AddSampleHdr(ref Document document, ListGrowerTareItem hdrItem, int cropYear, DailyGrowerTareDetailEvent pgEvent) { PdfPTable table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, "Delivery Date", _normalFont); PdfReports.AddText2Table(table, hdrItem.Delivery_Date, _normalFont); PdfReports.AddText2Table(table, "1st Net Lbs", _normalFont); PdfReports.AddText2Table(table, hdrItem.First_Net_Pounds.ToString(), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "% Sugar", _normalFont); PdfReports.AddText2Table(table, hdrItem.Sugar_Content.ToString("0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Station No", _normalFont); PdfReports.AddText2Table(table, hdrItem.Delivery_Station_No, _normalFont); PdfReports.AddText2Table(table, "Tare Lbs", _normalFont); PdfReports.AddText2Table(table, hdrItem.Tare_Pounds.ToString(), _normalFont); PdfReports.AddText2Table(table, hdrItem.Tare.ToString("0.00"), _normalFont); PdfReports.AddText2Table(table, "SLM", _normalFont); PdfReports.AddText2Table(table, hdrItem.SLM_Pct.ToString("0.0000"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Station Name", _normalFont); PdfReports.AddText2Table(table, hdrItem.Delivery_Station_Name, _normalFont); PdfReports.AddText2Table(table, "Final Net Lbs", _normalFont); PdfReports.AddText2Table(table, hdrItem.Final_Net_Pounds.ToString(), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Lbs Extractable Sugar/Ton", _normalFont, 2); PdfReports.AddText2Table(table, hdrItem.ExSugarPerTon.ToString(), _normalFont); PdfReports.AddText2Table(table, " ", _labelFont, _primaryTableLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); }
public static void AddTruckTotals(ref Document document, string loadCount, string dirtWeight, string netWeight, DailyGrowerTareDetailEvent pgEvent) { const string METHOD_NAME = "AddTruckTotals"; try { PdfPTable table = PdfReports.CreateTable(_primaryTableLayout, 1); // Let the PDF Page event handler take care of adding column labels on page breaks. pgEvent.HeaderNameList = _truckDetailHdrNames; pgEvent.HeaderTableLayout = _primaryTableLayout; PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Load Count:", _labelFont); PdfReports.AddText2Table(table, loadCount, _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, dirtWeight, _normalFont, "right"); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, netWeight, _normalFont, "right"); PdfReports.AddText2Table(table, " ", _normalFont, _primaryTableLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); pgEvent.HeaderNameList = null; pgEvent.HeaderTableLayout = null; } catch (Exception ex) { WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(MOD_NAME + "." + METHOD_NAME, ex); throw (wscEx); } }
private static void AddSampleHdr(ref Document document, SqlDataReader drHdr, int cropYear, DailyGrowerTareDetailEvent pgEvent) { PdfPTable table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, "Delivery Date", _normalFont); PdfReports.AddText2Table(table, drHdr.GetString(drHdr.GetOrdinal("Delivery_Date")), _normalFont); PdfReports.AddText2Table(table, "1st Net Lbs", _normalFont); PdfReports.AddText2Table(table, drHdr.GetInt32(drHdr.GetOrdinal("First_Net_Pounds")).ToString(), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "% Sugar", _normalFont); PdfReports.AddText2Table(table, drHdr.GetDecimal(drHdr.GetOrdinal("Sugar_Content")).ToString("0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Station No", _normalFont); PdfReports.AddText2Table(table, drHdr.GetInt32(drHdr.GetOrdinal("Delivery_Station_No")).ToString(), _normalFont); PdfReports.AddText2Table(table, "Tare Lbs", _normalFont); PdfReports.AddText2Table(table, drHdr.GetInt32(drHdr.GetOrdinal("Tare_Pounds")).ToString(), _normalFont); PdfReports.AddText2Table(table, drHdr.GetDecimal(drHdr.GetOrdinal("Tare")).ToString("0.00"), _normalFont); PdfReports.AddText2Table(table, "SLM", _normalFont); PdfReports.AddText2Table(table, drHdr.GetDecimal(drHdr.GetOrdinal("SLM_Pct")).ToString("0.0000"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Station Name", _normalFont); PdfReports.AddText2Table(table, drHdr.GetString(drHdr.GetOrdinal("Delivery_Station_Name")), _normalFont); PdfReports.AddText2Table(table, "Final Net Lbs", _normalFont); PdfReports.AddText2Table(table, drHdr.GetInt32(drHdr.GetOrdinal("Final_Net_Pounds")).ToString(), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Lbs Extractable Sugar/Ton", _normalFont, 2); PdfReports.AddText2Table(table, drHdr.GetInt32(drHdr.GetOrdinal("ExSugarPerTon")).ToString(), _normalFont); PdfReports.AddText2Table(table, " ", _labelFont, _primaryTableLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); }
//public override void OnEndPage(PdfWriter writer, Document document) { // String text = "Page " + writer.PageNumber.ToString(); // float len = bf.GetWidthPoint(text, 8); // cb.BeginText(); // cb.SetFontAndSize(bf, 8); // cb.SetTextMatrix(280, 30); // cb.ShowText(text); // cb.EndText(); // base.OnEndPage(writer, document); // //int pageN = writer.PageNumber; // ////string text = "Page " + pageN + " of "; // //string text = "Page " + pageN; // //float len = bf.GetWidthPoint(text, 8); // //cb.BeginText(); // //cb.SetFontAndSize(bf, 8); // //cb.SetTextMatrix(300, 30); // //cb.ShowText(text); // //cb.EndText(); // //cb.AddTemplate(template, 300 + len, 30); // //base.OnEndPage(writer, document); //} // Used to supply end of document values to template. //public override void OnCloseDocument(PdfWriter writer, Document document) { // // add template text to document here. // template.BeginText(); // template.SetFontAndSize(bf, 8); // template.ShowText((writer.PageNumber - 1).ToString()); // template.EndText(); // base.OnCloseDocument(writer, document); //} public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); ct.YLine = PortraitPageSize.HdrTopYLine; // We need a greyed (hidden) header having Trans# in the far left corner and Contract# in the far right corner. PdfPTable table = PdfReports.CreateTable(_headerLayout, 0); // Line 1 PdfReports.AddText2Table(table, DateTime.Now.ToShortDateString(), _subNormalFont); PdfReports.AddText2Table(table, "Western Sugar Cooperative\n" + "Contract/Delivery Summary\n" + "Crop Year " + _cropYear, _titleFont, "center"); PdfReports.AddImage2Table(table, _imgLogo); PdfReports.AddText2Table(table, " ", _normalFont, _headerLayout.Length); PdfReports.AddText2Table(table, " ", _normalFont, _headerLayout.Length); PdfReports.AddText2Table(table, " ", _normalFont, _headerLayout.Length); PdfReports.AddTableNoSplit(document, this, table); _headerBottomYLine = ct.YLine; } base.OnStartPage(writer, document); }
private static void AddFooter(ref PdfWriter writer, ref Document document, Font normalFont, string rptFooter, PaymentSummaryEvent pgEvent) { float[] footerLayout = new float[] { 540 }; PdfPTable table = PdfReports.CreateTable(footerLayout, 1); PdfReports.AddText2Table(table, rptFooter, normalFont, "center"); PdfReports.AddTableNoSplit(document, pgEvent, table); }
public void BuildContractDumpHeader(Document document, float[] layout) { PdfPTable table = PdfReports.CreateTable(layout, 0); //-------------------------------- // HEADER //-------------------------------- Color borderColor = Color.BLACK; //new Color(255, 0, 0); float borderWidth = 1.0F; int borderTypeAll = Rectangle.TOP_BORDER | Rectangle.RIGHT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.LEFT_BORDER; float fPadding = 2; iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Cnt #", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Station", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Field Desc.", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Landowner", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Final Net Tons", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Tons / Acre", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Sugar %", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Tare %", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("SLM %", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Lbs Ext. Sugar / Ton", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Plant Pop", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); PdfReports.AddTableNoSplit(document, this, table); }
public static void AddTruckDetail(ref Document document, SqlDataReader drTrucks, DailyGrowerTareDetailEvent pgEvent) { const string METHOD_NAME = "AddTruckDetail"; string yardCard = null; try { pgEvent.HeaderNameList = _truckDetailHdrNames; //PdfPTable table = PdfReports.CreateTable(_primaryTableLayout, 1); int iYardCard = drTrucks.GetOrdinal("Yard_Card_Sequence_Number"); int iDeliveryDate = drTrucks.GetOrdinal("Delivery_Date"); int iTruckNumber = drTrucks.GetOrdinal("Truck_Number"); int iWeightIn = drTrucks.GetOrdinal("Weight_In"); int iWeightOut = drTrucks.GetOrdinal("Weight_Out"); int iDirtWt = drTrucks.GetOrdinal("Dirt_Weight"); int iDirtTaken = drTrucks.GetOrdinal("Dirt_Taken"); int iNetWt = drTrucks.GetOrdinal("Net_Weight"); while (drTrucks.Read()) { PdfPTable table = PdfReports.CreateTable(_primaryTableLayout, 1); // On first pass, add the header labels here. if (yardCard == null) { PdfReports.FillHeaderLabels(ref table, _truckDetailHdrNames, _labelFont); } else { // Now let the PDF Page event handler take care of adding column labels on page breaks. pgEvent.HeaderTableLayout = _primaryTableLayout; } yardCard = drTrucks.GetString(iYardCard); PdfReports.AddText2Table(table, yardCard, _normalFont, "center"); PdfReports.AddText2Table(table, drTrucks.GetString(iDeliveryDate), _normalFont, "center"); PdfReports.AddText2Table(table, drTrucks.GetString(iTruckNumber), _normalFont, "center"); PdfReports.AddText2Table(table, drTrucks.GetInt32(iWeightIn).ToString("#,##0"), _normalFont, "right"); PdfReports.AddText2Table(table, drTrucks.GetInt32(iWeightOut).ToString("#,##0"), _normalFont, "right"); PdfReports.AddText2Table(table, drTrucks.GetInt32(iDirtWt).ToString("#,##0"), _normalFont, "right"); PdfReports.AddText2Table(table, drTrucks.GetString(iDirtTaken), _normalFont, "center"); PdfReports.AddText2Table(table, drTrucks.GetInt32(iNetWt).ToString("#,##0"), _normalFont, "right"); PdfReports.AddTableNoSplit(document, pgEvent, table); } //PdfReports.AddTableNoSplit(document, pgEvent, table); pgEvent.HeaderNameList = null; pgEvent.HeaderTableLayout = null; } catch (Exception ex) { WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(MOD_NAME + "." + METHOD_NAME, ex); throw (wscEx); } }
public static void AddSampleDetail(ref Document document, SqlDataReader drSamples, DailyGrowerTareDetailEvent pgEvent) { const string METHOD_NAME = "AddSampleDetail"; string yardCard = null; PdfPTable table = null; try { pgEvent.HeaderNameList = _sampleDetailHdrNames; while (drSamples.Read()) { table = PdfReports.CreateTable(_tareTableLayout, 1); // On first pass, add the header labels here. if (yardCard == null) { PdfReports.FillHeaderLabels(ref table, _sampleDetailHdrNames, _labelFont); } else { // Now let the PDF Page event handler take care of adding column labels on page breaks. pgEvent.HeaderTableLayout = _tareTableLayout; } yardCard = drSamples.GetString(drSamples.GetOrdinal("Yard_Card_No")); PdfReports.AddText2Table(table, yardCard, _normalFont, "center"); PdfReports.AddText2Table(table, drSamples.GetInt32(drSamples.GetOrdinal("SampleNo")).ToString("#"), _normalFont, "center"); PdfReports.AddText2Table(table, drSamples.GetDecimal(drSamples.GetOrdinal("Sugar_Content")).ToString("0.00"), _normalFont, "center"); PdfReports.AddText2Table(table, drSamples.GetDecimal(drSamples.GetOrdinal("Gross_Weight")).ToString("#,##0.0"), _normalFont, "right"); PdfReports.AddText2Table(table, drSamples.GetDecimal(drSamples.GetOrdinal("Clean_Weight")).ToString("#,##0.0"), _normalFont, "right"); PdfReports.AddText2Table(table, drSamples.GetDecimal(drSamples.GetOrdinal("Tare")).ToString("0.00"), _normalFont, "center"); PdfReports.AddText2Table(table, drSamples.GetString(drSamples.GetOrdinal("High_Tare")), _normalFont, "center"); PdfReports.AddText2Table(table, drSamples.GetInt32(drSamples.GetOrdinal("Sample_Quality")).ToString(), _normalFont, "center"); PdfReports.AddText2Table(table, drSamples.GetDecimal(drSamples.GetOrdinal("SLM_Pct")).ToString("0.0000"), _normalFont, "center"); PdfReports.AddTableNoSplit(document, pgEvent, table); } pgEvent.HeaderNameList = null; pgEvent.HeaderTableLayout = null; // Follow the table with a blank line table = PdfReports.CreateTable(_tareTableLayout, 1); PdfReports.AddText2Table(table, " ", _normalFont, _tareTableLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); } catch (Exception ex) { WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(MOD_NAME + "." + METHOD_NAME, ex); throw (wscEx); } }
private void FinishFinancingData(PdfWriter writer, Document document, ref PdfPTable table, EQStmtEvent pgEvent) { PdfReports.AddText2Table(table, " ", _normalFont, _equityFinancingLayout.Length); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Total", _labelFont, "center"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell(" ", _labelFont, "center"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); if (_financingPaid < 0) { cell = PdfReports.AddText2Cell("($" + Math.Abs(_financingPaid).ToString("#,##0.00") + ")", _labelFont, "right"); } else { cell = PdfReports.AddText2Cell("$" + _financingPaid.ToString("#,##0.00"), _labelFont, "right"); } cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); if (_financingInterest < 0) { cell = PdfReports.AddText2Cell("($" + Math.Abs(_financingInterest).ToString("#,##0.00") + ")", _labelFont, "right"); } else { cell = PdfReports.AddText2Cell("$" + _financingInterest.ToString("#,##0.00"), _labelFont, "right"); } cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); if (_financingBalance < 0) { cell = PdfReports.AddText2Cell("($" + Math.Abs(_financingBalance).ToString("#,##0.00") + ")", _labelFont, "right"); } else { cell = PdfReports.AddText2Cell("$" + _financingBalance.ToString("#,##0.00"), _labelFont, "right"); } cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont, 2); PdfReports.AddText2Table(table, " ", _normalFont, _equityFinancingLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); table = null; }
private static void AddTotals(ref PdfWriter writer, ref Document document, ref PdfPTable table, Font labelFont, Font normalFont, decimal totalTons, decimal totalEHPrem, decimal totalGross, decimal totalDeductions, decimal totalNet, decimal checkAmount, int payeeNumber, decimal totalGrowerNet, decimal totalLandownerNet, PaymentSummaryEvent pgEvent) { decimal growerAmt = 0; decimal landownerAmt = 0; growerAmt = totalGrowerNet; landownerAmt = totalLandownerNet; // =============================================================================== // Total Line: totalTons, totalEHPrem, totalGross, totalDeductions, totalNet // =============================================================================== PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, "Tons", labelFont, "center", 2); PdfReports.AddText2Table(table, "EH", labelFont, "right", 2); PdfReports.AddText2Table(table, "Gross", labelFont, "center"); PdfReports.AddText2Table(table, "Deductions", labelFont, "center"); PdfReports.AddText2Table(table, "Net", labelFont, "center"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, totalTons.ToString("N4"), normalFont, "right", 2); PdfReports.AddText2Table(table, totalEHPrem.ToString("N2"), normalFont, "right", 2); PdfReports.AddText2Table(table, totalGross.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, totalDeductions.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, totalNet.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Grower Net", labelFont, 2); PdfReports.AddText2Table(table, growerAmt.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Landowner Net", labelFont, 2); PdfReports.AddText2Table(table, landownerAmt.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); }
private void FinishPatronStockData(PdfWriter writer, Document document, ref PdfPTable table, EQStmtEvent pgEvent) { PdfReports.AddText2Table(table, " ", _normalFont, _patronStockLayout.Length); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Total Shares Owned", _labelFont, "center"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell(_patronStockShares.ToString("#,##0"), _labelFont, "center"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont, _patronStockLayout.Length - 2); PdfReports.AddText2Table(table, " ", _normalFont, _patronStockLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); table = null; }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_TOP); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Header // ======================================================= float[] layout = new float[] { 413F, 127F }; PdfPTable table = PdfReports.CreateTable(layout, 0); PdfReports.AddText2Table(table, _title + "\n", titleFont, "center"); PdfReports.AddImage2Table(table, _imgLogo); PdfReports.AddText2Table(table, " ", normalFont, table.NumberOfColumns); PdfReports.AddText2Table(table, " ", normalFont, table.NumberOfColumns); PdfReports.AddText2Table(table, "SHID: " + _shid, labelFont, "left", 2); PdfReports.AddText2Table(table, _payeeName, labelFont, "left", 2); PdfReports.AddText2Table(table, " ", normalFont, table.NumberOfColumns); PdfReports.AddTableNoSplit(document, this, table); PdfPTable hdrTab = PdfReports.CreateTable(_hdrTableLayout, 0); PdfReports.AddText2Table(hdrTab, _hdrNameList[0], labelFont, "center"); PdfReports.AddText2Table(hdrTab, _hdrNameList[1], labelFont, "center"); PdfReports.AddText2Table(hdrTab, _hdrNameList[2], labelFont, "center"); PdfReports.AddText2Table(hdrTab, _hdrNameList[3], labelFont, "center"); PdfReports.AddText2Table(hdrTab, _hdrNameList[4], labelFont, "center"); PdfReports.AddText2Table(hdrTab, _hdrNameList[5], labelFont, "center"); PdfReports.AddText2Table(hdrTab, _hdrNameList[6], labelFont, "center"); PdfReports.AddTableNoSplit(document, this, hdrTab); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
private void FinishUnitRetainData(PdfWriter writer, Document document, ref PdfPTable table, EQStmtEvent pgEvent) { PdfReports.AddText2Table(table, " ", _normalFont, _unitRetainsLayout.Length); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Total", _labelFont, "center"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); // Date cell = PdfReports.AddText2Cell(" ", _labelFont, "right"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell(_unitRetainTons.ToString("#,##0.0000"), _labelFont, "right"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell(" ", _labelFont, "center"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell("$" + _unitRetainAmount.ToString("#,##0.00"), _labelFont, "right"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell("$" + _unitRetainPaid.ToString("#,##0.00"), _labelFont, "right"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell("$" + _unitRetainBalance.ToString("#,##0.00"), _labelFont, "right"); cell.BackgroundColor = cell.BackgroundColor = Color_Highlight; table.AddCell(cell); cell = PdfReports.AddText2Cell(" ", _labelFont, "right"); table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont, _unitRetainsLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); table = null; }
// we override the onEndPage method //public override void OnEndPage(PdfWriter writer, Document document) { // String text = "Page " + _pageNumber.ToString(); // float len = _bf.GetWidthPoint(text, 8); // _cb.BeginText(); // _cb.SetFontAndSize(_bf, 8); // _cb.SetTextMatrix(280, 30); // _cb.ShowText(text); // _cb.EndText(); // base.OnEndPage(writer, document); //} public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { _pageNumber++; // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Header // ======================================================= float[] wscLogoLayout = new float[] { 60, 353F, 127F }; PdfPTable logoTable = PdfReports.CreateTable(wscLogoLayout, 0); PdfReports.AddText2Table(logoTable, _statementDate, _normalFont); PdfReports.AddText2Table(logoTable, _title, _titleFont, "center"); // Only add actual logo on First page of set. if (_pageNumber == 1) { PdfReports.AddImage2Table(logoTable, _imgLogo); } else { PdfReports.AddText2Table(logoTable, " ", _normalFont); } PdfReports.AddText2Table(logoTable, " \n \n ", _titleFont, wscLogoLayout.Length); PdfReports.AddTableNoSplit(document, this, logoTable); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
private static void ReportBuilder(SqlDataReader drPay, int cropYear, int paymentNumber, string paymentDescription, string fromDate, string toDate, string statementDate, bool isCumulative, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "rptTransmittal.ReportBuilder: "; const int resetFlag = 0; Document document = null; PdfWriter writer = null; PdfPTable table = null; TransmittalReportEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; int contractNumber = 0; int lastContractNumber = 0; int payeeNumber = 0; int lastPayeeNumber = 0; decimal ytdEHBonus = 0; decimal ytdEHAmount = 0; decimal ytdRHAmount = 0; decimal ytdDeductions = 0; decimal ytdEHAmountMoved = 0; decimal ytdRHAmountMoved = 0; decimal ytdNet = 0; decimal curSLM = 0; decimal pctPaid = 0; decimal actualSugar = 0; string rptTitle = "Western Sugar Cooperative Payment Transmittal"; Font headerFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font normalFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font labelFont = FontFactory.GetFont("HELVETICA", 8F, Font.BOLD); try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { while (drPay.Read()) { try { contractNumber = Convert.ToInt32(drPay.GetString(drPay.GetOrdinal("Contract_Number"))); payeeNumber = drPay.GetInt16(drPay.GetOrdinal("Payee_Number")); if (document == null) { lastContractNumber = contractNumber; lastPayeeNumber = payeeNumber; // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) pgEvent = new TransmittalReportEvent(); pgEvent.FillEvent(drPay, cropYear, statementDate, resetFlag, rptTitle, paymentDescription, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); } else { if (contractNumber != lastContractNumber || payeeNumber != lastPayeeNumber) { ytdEHBonus = 0; ytdEHAmount = 0; ytdRHAmount = 0; ytdDeductions = 0; ytdNet = 0; ytdEHAmountMoved = 0; ytdRHAmountMoved = 0; lastContractNumber = contractNumber; if (payeeNumber != lastPayeeNumber) { lastPayeeNumber = payeeNumber; } pgEvent.FillEvent(drPay, cropYear, statementDate, resetFlag, rptTitle, paymentDescription, imgLogo); document.NewPage(); } } // ======================================================= // Add Payment Detail // ======================================================= table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, drPay.GetString(drPay.GetOrdinal("Payment_Description")) + " Payment", labelFont, 8); // Header PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, "SLM", labelFont, "center"); PdfReports.AddText2Table(table, "% Sugar", labelFont); PdfReports.AddText2Table(table, "% Paid", labelFont); PdfReports.AddText2Table(table, "Price/Ton", labelFont); PdfReports.AddText2Table(table, "Tons", labelFont); PdfReports.AddText2Table(table, "YTD Amount", labelFont); PdfReports.AddText2Table(table, "Current Amount", labelFont); // EH Premium PdfReports.AddText2Table(table, "Early Harvest Premium", labelFont, "left"); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); if (isCumulative) { ytdEHBonus += drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")); } else { ytdEHBonus = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhBonus")); } PdfReports.AddText2Table(table, ytdEHBonus.ToString("$#,##0.00"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")).ToString("$#,##0.00"), normalFont); // Early Harvest actualSugar = drPay.GetDecimal(drPay.GetOrdinal("EH_Sugar")); curSLM = drPay.GetDecimal(drPay.GetOrdinal("EH_SLM")); pctPaid = drPay.GetDecimal(drPay.GetOrdinal("Pct_EH_Paid")); PdfReports.AddText2Table(table, "Early Harvest ", labelFont, "left"); if (drPay.GetDecimal(drPay.GetOrdinal("EH_SLM")) != 0) { PdfReports.AddText2Table(table, curSLM.ToString("N4"), normalFont, "center"); } else { PdfReports.AddText2Table(table, "------", normalFont, "center"); } if (drPay.GetDecimal(drPay.GetOrdinal("EH_Sugar")) != 0) { PdfReports.AddText2Table(table, actualSugar.ToString("N2"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (drPay.GetDecimal(drPay.GetOrdinal("Pct_EH_Paid")) != 0) { PdfReports.AddText2Table(table, pctPaid.ToString("N3"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (drPay.GetDecimal(drPay.GetOrdinal("EH_Price")) != 0) { PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_Price")).ToString("$#,##0.000"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (drPay.GetDecimal(drPay.GetOrdinal("EH_Tons")) != 0 || drPay.GetDecimal(drPay.GetOrdinal("EH_tons_moved")) != 0) { PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("EH_Tons")) - drPay.GetDecimal(drPay.GetOrdinal("EH_tons_moved"))).ToString("N4"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (isCumulative) { ytdEHAmount += drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")); } else { ytdEHAmount = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhGrossPay")) - drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")); } PdfReports.AddText2Table(table, ytdEHAmount.ToString("$#,##0.00"), normalFont); PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved"))).ToString("$#,##0.00"), normalFont); // Regular Harvest actualSugar = drPay.GetDecimal(drPay.GetOrdinal("RH_Sugar")); curSLM = drPay.GetDecimal(drPay.GetOrdinal("RH_SLM")); pctPaid = drPay.GetDecimal(drPay.GetOrdinal("Pct_RH_Paid")); PdfReports.AddText2Table(table, "Regular Harvest ", labelFont, "left"); PdfReports.AddText2Table(table, curSLM.ToString("N4"), normalFont, "center"); PdfReports.AddText2Table(table, actualSugar.ToString("N2"), normalFont); PdfReports.AddText2Table(table, pctPaid.ToString("N3"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("RH_Price")).ToString("$#,##0.000"), normalFont); PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("RH_Tons")) - drPay.GetDecimal(drPay.GetOrdinal("RH_Tons_moved"))).ToString("N4"), normalFont); if (isCumulative) { ytdRHAmount += drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")); } else { ytdRHAmount = drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhGrossPay")) - drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")); } // YTD Amount PdfReports.AddText2Table(table, ytdRHAmount.ToString("$#,##0.00"), normalFont); // Current Amount PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved"))).ToString("$#,##0.00"), normalFont); // Reduced Early Harvest PdfReports.AddText2Table(table, "Reduced Early Harvest Excess Beets ", labelFont, "left", 4); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_tons_moved")).ToString("#,#.0000;(#,#.0000)"), normalFont); if (isCumulative) { ytdEHAmountMoved += drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")); } else { ytdEHAmountMoved = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")); } PdfReports.AddText2Table(table, ytdEHAmountMoved.ToString("$#,#.00;$(#,#.00)"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")).ToString("$#,#.00;$(#,#.00)"), normalFont); // Reduced Regular Harvest PdfReports.AddText2Table(table, "Reduced Regular Harvest Excess Beets", labelFont, "left", 4); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("RH_tons_moved")).ToString("#,#.0000;(#,#.0000)"), normalFont); if (isCumulative) { ytdRHAmountMoved += drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")); } else { ytdRHAmountMoved = drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")); } PdfReports.AddText2Table(table, ytdRHAmountMoved.ToString("$#,#.00;$(#,#.00)"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")).ToString("$#,#.00;$(#,#.00)"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 8); // Total lines // YTD Amount PdfReports.AddText2Table(table, " ", normalFont, 4); PdfReports.AddText2Table(table, "Total Gross Amount: ", labelFont, "right", 2); PdfReports.AddText2Table(table, ((ytdEHBonus + ytdEHAmount + ytdRHAmount) + ytdEHAmountMoved + ytdRHAmountMoved //+ drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")) //+ drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")) ).ToString("#,##0.00"), normalFont); // Current Amount PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")) + drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) + drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) //+ //drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")) + //drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")) ).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, "Deduction Total: ", labelFont, "right"); if (isCumulative) { ytdDeductions += drPay.GetDecimal(drPay.GetOrdinal("Deduct_Total")); } else { ytdDeductions = drPay.GetDecimal(drPay.GetOrdinal("ncYtdDeductTotal")); } PdfReports.AddText2Table(table, ytdDeductions.ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("Deduct_Total")).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, "Net Payment: ", labelFont, "right"); decimal currentNet = drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")) + drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) + drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) //drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")) //drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")) - drPay.GetDecimal(drPay.GetOrdinal("Deduct_Total")); if (isCumulative) { ytdNet += currentNet; } else { ytdNet = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhBonus")) + drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhGrossPay")) + drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhGrossPay")) //drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")) //drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")) - drPay.GetDecimal(drPay.GetOrdinal("ncYtdDeductTotal")); } PdfReports.AddText2Table(table, ytdNet.ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, currentNet.ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 8); PdfReports.AddText2Table(table, " ", normalFont, 6); PdfReports.AddText2Table(table, "Grower Net: ", labelFont, "right"); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("Payment_Amount")).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 6); PdfReports.AddText2Table(table, "Landowner Net: ", labelFont, "right"); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("Split_Payment")).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 8); PdfReports.AddTableNoSplit(document, pgEvent, table); if (paymentNumber == drPay.GetInt16(drPay.GetOrdinal("Payment_Number"))) { //================================================================ // Add Deduction information //================================================================ table = PdfReports.CreateTable(_primaryTableLayout, 1); using (SqlDataReader drDed = WSCPayment.GetTransmittalDeduction(conn, cropYear, contractNumber, drPay.GetInt16(drPay.GetOrdinal("Payment_Number")), isCumulative)) { PdfReports.AddText2Table(table, "Deduction", labelFont, 5); PdfReports.AddText2Table(table, "Payment", labelFont); PdfReports.AddText2Table(table, "Amount", labelFont); PdfReports.AddText2Table(table, " ", labelFont); while (drDed.Read()) { PdfReports.AddText2Table(table, drDed.GetString(drDed.GetOrdinal("Deduction_Desc")), normalFont, 5); PdfReports.AddText2Table(table, drDed.GetString(drDed.GetOrdinal("Payment_Description")), normalFont); PdfReports.AddText2Table(table, drDed.GetDecimal(drDed.GetOrdinal("Amount")).ToString("$#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", labelFont); } PdfReports.AddText2Table(table, " ", normalFont, 8); PdfReports.AddTableNoSplit(document, pgEvent, table); } //================================================================ // Add Delivery information //================================================================ float[] deliveryLayout = new float[] { 110.8F, 110.8F, 55.4F, 110.8F, 55.4F, 55.4F, 55.4F }; table = PdfReports.CreateTable(deliveryLayout, 1); List <TransmittalDeliveryItem> deliveryList = WSCPayment.GetTransmittalDelivery(cropYear, contractNumber, paymentNumber, fromDate, toDate); PdfReports.AddText2Table(table, "Delivery Date", labelFont); PdfReports.AddText2Table(table, "First Net Pounds", labelFont); PdfReports.AddText2Table(table, "Tare %", labelFont); PdfReports.AddText2Table(table, "Final Net Lbs", labelFont); PdfReports.AddText2Table(table, "Sugar %", labelFont); PdfReports.AddText2Table(table, "SLM", labelFont); PdfReports.AddText2Table(table, "Loads", labelFont); foreach (TransmittalDeliveryItem deliveryDay in deliveryList) { PdfReports.AddText2Table(table, deliveryDay.Delivery_Date.ToShortDateString(), normalFont); PdfReports.AddText2Table(table, deliveryDay.First_Net_Pounds.ToString("###,###"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Tare.ToString("N2"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Final_Net_Pounds.ToString("###,###"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Sugar_Content.ToString("N2"), normalFont); PdfReports.AddText2Table(table, deliveryDay.SLM_Pct.ToString("N4"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Loads.ToString(), normalFont); } PdfReports.AddText2Table(table, " ", normalFont, 6); PdfReports.AddTableNoSplit(document, pgEvent, table); } } catch (System.Exception ex) { WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME, ex); throw (wscEx); } } } // ====================================================== // Close document // ====================================================== if (document != null) { document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { document.Close(); } if (drPay != null) { if (!drPay.IsClosed) { drPay.Close(); } } if (writer != null) { writer.Close(); } } }
public static void ReportBuilder(SqlDataReader dr, int cropYear, int shid, string busName, string deliveryDate, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "ReportBuilder"; Document document = null; PdfWriter writer = null; PdfPTable table = null; iTextSharp.text.Image imgLogo = null; DeliveryByDayEvent pgEvent = null; const int RowBlockSize = 4; int rowCount = 1; int resetFlag = 0; string rptTitle = "Delivery By Day - Summary"; try { while (dr.Read()) { if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) pgEvent = new DeliveryByDayEvent(); pgEvent.FillEvent(busName, shid, deliveryDate, resetFlag, rptTitle, imgLogo, _detailTableNames, _primaryTableLayout); writer.PageEvent = pgEvent; // Open the document document.Open(); } table = PdfReports.CreateTable(_primaryTableLayout, 1); // ======================================================= // Add Delivery information // ======================================================= PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("ContractFactory")), _normalFont, "left"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("DeliveryStation")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("ContractNo")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("LandownerName")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("FinalNetTons")).ToString("#,##0.0000"), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("SugarPct")).ToString("##0.00"), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("TarePct")).ToString("##0.00"), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("SLMPct")).ToString("##0.0000"), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("ExtractableSugarPerTon")).ToString("#,##0"), _normalFont, "center"); // add a blank after every row-block-size for visual breaks. if (rowCount % RowBlockSize == 0) { PdfReports.AddText2Table(table, " ", _normalFont, _primaryTableLayout.Length); rowCount = 1; } else { rowCount++; } PdfReports.AddTableNoSplit(document, pgEvent, table); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { _pageNumber++; if (_pageNumber == 1) { _template = _cb.CreateTemplate(PortraitPageSize.HdrUpperRightX - PortraitPageSize.HdrLowerLeftX, 50); } // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Header // ======================================================= float[] logoLayout = new float[] { 413F, 127F }; PdfPTable logoTable = PdfReports.CreateTable(logoLayout, 0); Paragraph p = null; PdfReports.AddText2Table(logoTable, _title + "\n" + _paymentDesc + " - " + _cropYear + " Crop " + (_statementDate.Length > 0 ? "- " : "") + _statementDate, titleFont, "center"); if (_pageNumber == 1) { PdfReports.AddImage2Table(logoTable, _imgLogo); } else { PdfReports.AddText2Table(logoTable, " ", normalFont); } PdfReports.AddTableNoSplit(document, this, logoTable); float[] headerLayout = new float[] { 51.5F, 306.4F, 44.1F, 51.5F, 86.5F }; PdfPTable table = PdfReports.CreateTable(headerLayout, 1); p = new Paragraph(23F, " ", normalFont); _ct.AddElement(p); _ct.Go(false); // Add blank lines float[] shareholderLayout = new float[] { 50F, 270F, 220F }; PdfPTable addrTable = PdfReports.CreateTable(shareholderLayout, 0); PdfReports.AddText2Table(addrTable, " ", normalFont, addrTable.NumberOfColumns); PdfReports.AddText2Table(addrTable, " ", normalFont, addrTable.NumberOfColumns); if (_pageNumber == 1) { string csz = _city + ", " + _state + " " + _postalCode; p = PdfReports.GetAddressBlock(_growerName, _adr1, _adr2, csz, 0F, 12F, iTextSharp.text.Element.ALIGN_LEFT, uspsFont); PdfReports.AddText2Table(addrTable, " ", uspsFont); PdfReports.AddText2Table(addrTable, p); PdfReports.AddText2Table(addrTable, _contractNumber.ToString() + "\n" + _factoryName + "\n" + _stationName, uspsFont, "right"); PdfReports.AddText2Table(addrTable, " ", normalFont, 3); PdfReports.AddText2Table(addrTable, " ", normalFont, 3); PdfReports.AddTableNoSplit(document, this, addrTable); } else { PdfReports.AddText2Table(addrTable, " ", uspsFont); PdfReports.AddText2Table(addrTable, _growerName, uspsFont); PdfReports.AddText2Table(addrTable, _factoryName + "\n" + _stationName, uspsFont, "right"); PdfReports.AddText2Table(addrTable, " ", normalFont, addrTable.NumberOfColumns); PdfReports.AddText2Table(addrTable, " ", normalFont, addrTable.NumberOfColumns); PdfReports.AddTableNoSplit(document, this, addrTable); } _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { _pageNumber++; // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Logo // ======================================================= if (_pageNumber == 1) { float[] wscLogoLayout = new float[] { 413F, 127F }; PdfPTable logoTable = PdfReports.CreateTable(wscLogoLayout, 0); PdfReports.AddText2Table(logoTable, " ", _normalFont); PdfReports.AddImage2Table(logoTable, _imgLogo); PdfReports.AddText2Table(logoTable, " ", _titleFont, wscLogoLayout.Length); PdfReports.AddTableNoSplit(document, this, logoTable); } float[] headerLayout = new float[] { 50F, 200F, 290F }; PdfPTable table = PdfReports.CreateTable(headerLayout, 1); Paragraph p = new Paragraph(_title, _titleFont); PdfReports.AddText2Table(table, p, "center", headerLayout.Length); // Add blank lines PdfReports.AddText2Table(table, " ", _subNormalFont, headerLayout.Length); PdfReports.AddText2Table(table, " ", _normalFont, headerLayout.Length); // Add Header information PdfReports.AddText2Table(table, "SHID", _labelFont); PdfReports.AddText2Table(table, "Shareholder Name", _labelFont); PdfReports.AddText2Table(table, "Delivery Date", _labelFont); PdfReports.AddText2Table(table, _shid, _normalFont); PdfReports.AddText2Table(table, _shareholderName, _normalFont); PdfReports.AddText2Table(table, _deliveryDate, _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, headerLayout.Length); PdfReports.AddText2Table(table, " ", _normalFont, headerLayout.Length); PdfReports.AddTableNoSplit(document, this, table); table = PdfReports.CreateTable(_hdrTableLayout, 1); PdfReports.FillHeaderLabels(ref table, _hdrTableNames, _labelFont); PdfReports.AddTableNoSplit(document, this, table); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
public static void ReportBuilder(SqlDataReader dr, int cropYear, int shid, string busName, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "ReportBuilder"; Document document = null; PdfWriter writer = null; PdfPTable table = null; iTextSharp.text.Image imgLogo = null; ContractSummaryEvent pgEvent = null; int resetFlag = 0; string rptTitle = "Contract Summary\nCrop Year " + cropYear.ToString(); Font headerFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font normalFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font labelFont = FontFactory.GetFont("HELVETICA", 8F, Font.BOLD); try { while (dr.Read()) { if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) pgEvent = new ContractSummaryEvent(); pgEvent.FillEvent(busName, shid, resetFlag, rptTitle, imgLogo, _primaryTableLayout); writer.PageEvent = pgEvent; // Open the document document.Open(); //table = PdfReports.CreateTable(_primaryTableLayout, 1); //AddDetailSectionHdr(ref table, labelFont, normalFont); } table = PdfReports.CreateTable(_primaryTableLayout, 1); // ======================================================= // Add Delivery information // ======================================================= PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("ContractFactory")), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("ContractStation")), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("ContractNo")), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("LandownerName")), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("FinalNetTons")).ToString("#,##0.0000"), normalFont, "right"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("SugarPct")).ToString("##0.00"), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("TarePct")).ToString("##0.00"), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("TonsPerAcre")).ToString("#,##0.00"), normalFont, "right"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("SLMPct")).ToString("##0.0000"), normalFont, "center"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("ExtSugarTon")).ToString("#,##0"), normalFont, "center"); PdfReports.AddTableNoSplit(document, pgEvent, table); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (table == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
private void ReportBuilder(SqlDataReader dr, int cropYear, DateTime reportDate, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "ReportBuilder: "; int contractNumber = 0; int groSHID = 0; int lastGroSHID = 0; Document document = null; PdfWriter writer = null; PdfPTable table = null; iTextSharp.text.Image imgLogo = null; ContractPayeeSummaryEvent pgEvent = null; string rptTitle = "Western Sugar Cooperative\n" + "Contract Payee Summary\n" + "Crop Year " + cropYear; try { while (dr.Read()) { contractNumber = Convert.ToInt32(dr.GetString(dr.GetOrdinal("ContractNumber"))); groSHID = Convert.ToInt32(dr.GetString(dr.GetOrdinal("GroAdrNumber"))); if (document == null) { lastGroSHID = groSHID; // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) pgEvent = new ContractPayeeSummaryEvent(); pgEvent.FillEvent(dr, reportDate.ToShortDateString(), 0, rptTitle, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); } else { if (lastGroSHID != groSHID) { lastGroSHID = groSHID; pgEvent.FillEvent(dr, reportDate.ToShortDateString(), 0, rptTitle, imgLogo); document.NewPage(); } } // ======================================================= // Build Report // ======================================================= table = PdfReports.CreateTable(_primaryTableLayout, 0); Phrase phrase = new Phrase("Contract: ", _labelFont); Paragraph p = new Paragraph("", _normalFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("ContractNumber")), _normalFont); p.Add(phrase); PdfReports.AddText2Table(table, p); phrase = new Phrase("Grower #: ", _labelFont); p = new Paragraph("", _normalFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("GroAdrNumber")), _normalFont); p.Add(phrase); PdfReports.AddText2Table(table, p); phrase = new Phrase("Landowner #: ", _labelFont); p = new Paragraph("", _normalFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("LdoAdrNumber")) + " - " + dr.GetString(dr.GetOrdinal("LandownerName")), _normalFont); p.Add(phrase); PdfReports.AddText2Table(table, p, 3); PdfReports.AddText2Table(table, "Factory", _labelFont); PdfReports.AddText2Table(table, "Station", _labelFont); PdfReports.AddText2Table(table, "Assoc Member", _labelFont); PdfReports.AddText2Table(table, "LO Name on Check", _labelFont); PdfReports.AddText2Table(table, "Pac Dues", _labelFont); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("FactoryName")), _normalFont); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("StationName")), _normalFont); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("AssocMember")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("CashRent")), _normalFont, "center"); PdfReports.AddText2Table(table, "$" + dr.GetDecimal(dr.GetOrdinal("PacDues")).ToString("0.00"), _normalFont); // Add Payee information ShowPayeeInformation(table, contractNumber, cropYear, dr.GetBoolean(dr.GetOrdinal("SplitRetain")), dr.GetBoolean(dr.GetOrdinal("SplitChemical"))); ShowAcreage(table, dr.GetInt16(dr.GetOrdinal("ContractAcres")), dr.GetInt16(dr.GetOrdinal("PlantedAcres")), dr.GetInt16(dr.GetOrdinal("AcresLost")), dr.GetInt16(dr.GetOrdinal("HarvestAcres"))); PdfReports.AddText2Table(table, " ", _normalFont, _primaryTableLayout.Length); PdfReports.AddText2Table(table, " ", _normalFont, _primaryTableLayout.Length); PdfReports.AddTableNoSplit(document, pgEvent, table); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Header: Logo 2010 // ======================================================= PdfPTable logoTable = PdfReports.CreateTable(_logo2010Layout, 0); // Only add actual logo on First Page of set Paragraph p = new Paragraph("", _normalFont); PdfReports.AddText2Table(logoTable, " ", _normalFont, _logo2010Layout.Length); //----------------------------------------- // Add and center the title //----------------------------------------- PdfReports.AddText2Table(logoTable, " ", _normalFont); PdfReports.AddText2Table(logoTable, _title, _titleFont, "center", 2); PdfReports.AddText2Table(logoTable, " ", _normalFont); PdfReports.AddTableNoSplit(document, this, logoTable); float[] addrLayout = new float[] { _primaryLeftIndent, 540F - _primaryLeftIndent - _primaryRightIndent, _primaryRightIndent }; PdfPTable addrTable = PdfReports.CreateTable(addrLayout, 0); // Blank PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddTableNoSplit(document, this, addrTable); //----------------------------------------------- // Address block //----------------------------------------------- addrTable = PdfReports.CreateTable(addrLayout, 0); // SHID ONLY PdfReports.AddText2Table(addrTable, " ", _normalFont); PdfReports.AddText2Table(addrTable, "Shareholder ID#: " + _shid, _uspsFont, "right"); PdfReports.AddText2Table(addrTable, " ", _normalFont); PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); // Modified address block: address only. PdfReports.AddText2Table(addrTable, " ", _normalFont); p = PdfReports.GetAddressBlock(_businessName, _memAddr1, _memAddr2, _memCSZ, 0F, 12F, iTextSharp.text.Element.ALIGN_LEFT, _uspsFont); PdfReports.AddText2Table(addrTable, p); PdfReports.AddText2Table(addrTable, " ", _normalFont); PdfReports.AddText2Table(addrTable, " ", _uspsFont, addrLayout.Length); PdfReports.AddText2Table(addrTable, " ", _uspsFont, addrLayout.Length); PdfReports.AddText2Table(addrTable, " ", _uspsFont, addrLayout.Length); PdfReports.AddTableNoSplit(document, this, addrTable); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
private static void ReportBuilderRetainRedeems(int cropYear, string paymentDate, string shid, string fromShid, string toShid, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "ReportBuilderRetainRedeems: "; string SHID = ""; string equityCropYear = ""; string lastSHID = ""; string lastEquityCropYear = ""; decimal totalCheckAmount = 0; string rptTitle = ""; string statementDate = Convert.ToDateTime(paymentDate).ToString(HEADER_DATE_FORMAT); Document document = null; PdfWriter writer = null; PdfPTable detailTable = null; iTextSharp.text.Image imgLogo = null; StatementPatronageRetainEvent pgEvent = null; try { List <ListStatementPatRetainItem> stateList = WSCReportsExec.RptStatementRetainRedeem(cropYear, shid, fromShid, toShid, paymentDate); for (int i = 0; i < stateList.Count; i++) { ListStatementPatRetainItem state = stateList[i]; if (rptTitle.Length == 0) { rptTitle = "Unit Retain -- " + state.Qualified + " -- " + statementDate; } SHID = state.SHID; equityCropYear = state.EquityCropYear; if (document == null) { // Create the detail table detailTable = PdfReports.CreateTable(_primaryTableLayout, 0); AddRetainRedeemDetailHeader(detailTable); lastSHID = state.SHID; totalCheckAmount = CalcRedeemCheck(stateList, i); // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 77, 45, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) pgEvent = new StatementPatronageRetainEvent(); pgEvent.FillEvent(state.SHID, state.BusName, state.Addr1, state.Addr2, state.CSZ, totalCheckAmount, 0, rptTitle, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); } else { if (lastSHID != SHID) { //------------------------------------------------------------------------------------- // When you change members, kick out the page and move on to the next member, // and reset flags. //------------------------------------------------------------------------------------- lastSHID = SHID; lastEquityCropYear = ""; // Add Grand Total Line PdfReports.AddText2Table(detailTable, " ", _normalFont, _primaryTableLayout.Length); PdfReports.AddText2Table(detailTable, "Total Amount", _labelFont, "center"); PdfReports.AddText2Table(detailTable, " ", _normalFont, 2); PdfReports.AddText2Table(detailTable, totalCheckAmount.ToString("$#,##0.00"), _normalFont, "right"); // Add this members detail lines to the document PdfReports.AddTableNoSplit(document, pgEvent, detailTable); // Calc the total for the new SHID totalCheckAmount = CalcRedeemCheck(stateList, i); pgEvent.FillEvent(state.SHID, state.BusName, state.Addr1, state.Addr2, state.CSZ, totalCheckAmount, 0, rptTitle, imgLogo); document.NewPage(); // Refresh the detail table detailTable = PdfReports.CreateTable(_primaryTableLayout, 0); AddRetainRedeemDetailHeader(detailTable); } } // ======================================================= // Build Report // ======================================================= if (state.EquityCropYear != lastEquityCropYear) { // Before resetting the lastEquityCropYear, a non-blank crop year means this is a subsequent // crop year for the same shid. Add a blank if (lastEquityCropYear.Length > 0) { PdfReports.AddText2Table(detailTable, " ", _normalFont, _primaryTableLayout.Length); } lastEquityCropYear = state.EquityCropYear; // Show Equity Data for Crop Year PdfReports.AddText2Table(detailTable, state.EquityCropYear, _normalFont, "center"); PdfReports.AddText2Table(detailTable, state.EquityTons, _normalFont, "right"); PdfReports.AddText2Table(detailTable, state.RatePerTon, _normalFont, "right"); PdfReports.AddText2Table(detailTable, Convert.ToDecimal(state.RedeemAmt).ToString("$#,##0.00"), _normalFont, "right"); if (state.DeductionDesc.Length > 0) { PdfReports.AddText2Table(detailTable, " ", _normalFont, _primaryTableLayout.Length); PdfReports.AddText2Table(detailTable, " ", _normalFont); PdfReports.AddText2Table(detailTable, "Less Deductions: ", _normalItalicFont, "left", 3); PdfReports.AddText2Table(detailTable, " ", _normalFont); PdfReports.AddText2Table(detailTable, state.DeductionDesc, _normalFont, "left", 2); PdfReports.AddText2Table(detailTable, Convert.ToDecimal(state.DeductionAmt).ToString("$#,##0.00"), _normalFont, "right"); } } else { //---------------------------------------------------------- // This is a deduction only line, a subsequent deduction. //---------------------------------------------------------- PdfReports.AddText2Table(detailTable, " ", _normalFont); PdfReports.AddText2Table(detailTable, state.DeductionDesc, _normalFont, "left", 2); PdfReports.AddText2Table(detailTable, Convert.ToDecimal(state.DeductionAmt).ToString("$#,##0.00"), _normalFont, "right"); } } if (detailTable != null) { // Add Grand Total Line PdfReports.AddText2Table(detailTable, " ", _normalFont, _primaryTableLayout.Length); PdfReports.AddText2Table(detailTable, "Total Amount", _labelFont, "center"); PdfReports.AddText2Table(detailTable, " ", _normalFont, 2); PdfReports.AddText2Table(detailTable, totalCheckAmount.ToString("$#,##0.00"), _normalFont, "right"); // Add this members detail lines to the document PdfReports.AddTableNoSplit(document, pgEvent, detailTable); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { _pageNumber++; if (_pageNumber == 1) { _template = _cb.CreateTemplate(PortraitPageSize.HdrUpperRightX - PortraitPageSize.HdrLowerLeftX, 50); } // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Header: Logo 2010 // ======================================================= PdfPTable logoTable = PdfReports.CreateTable(_logo2010Layout, 0); // Only add actual logo on First Page of set Paragraph p = new Paragraph("", _normalFont); if (_pageNumber == 1) { // BLANK PdfReports.AddText2Table(logoTable, " ", _normalFont); // LOGO PdfReports.AddImage2Table(logoTable, _imgLogo); // TEXT Phrase ph = new Phrase(16F, "The Western Sugar Cooperative", _superTitleFont); p.Add(ph); ph = new Phrase(5F, "\n\n(Grower Owned)", _normalFont); p.Add(ph); PdfReports.AddText2Table(logoTable, p, "center"); // BLANK PdfReports.AddText2Table(logoTable, " ", _normalFont); } else { PdfReports.AddText2Table(logoTable, " ", _normalFont, _logo2010Layout.Length); } //----------------------------------------- // Add and center the title //----------------------------------------- PdfReports.AddText2Table(logoTable, " ", _normalFont); PdfReports.AddText2Table(logoTable, _title, _titleFont, "center", 2); PdfReports.AddText2Table(logoTable, " ", _normalFont); // Skip a line: adjust font size to automatically adjust leading. Setting leading is not working !!! //PdfReports.AddText2Table(logoTable, " \n ", FontFactory.GetFont("HELVETICA", 12F, Font.NORMAL), _logo2010Layout.Length); PdfReports.AddTableNoSplit(document, this, logoTable); float[] addrLayout = new float[] { 50F, 355F, 135F }; PdfPTable addrTable = PdfReports.CreateTable(addrLayout, 0); if (_pageNumber == 1) { //----------------------------------------------- // Next Add SHID / Check Amt //----------------------------------------------- float[] summaryLayout = new float[] { 385F, 60F, 95F }; PdfPTable summaryTable = PdfReports.CreateTable(summaryLayout, 0); PdfReports.AddText2Table(summaryTable, " ", _normalFont, summaryLayout.Length); PdfReports.AddText2Table(summaryTable, " ", _normalFont); PdfReports.AddText2Table(summaryTable, "SHID:", _labelFont, "left"); PdfReports.AddText2Table(summaryTable, _shid, _normalFont, "right"); PdfReports.AddText2Table(summaryTable, " ", _normalFont); PdfReports.AddText2Table(summaryTable, "Check Amt:", _labelFont, "left"); PdfReports.AddText2Table(summaryTable, _checkAmount.ToString("$#,##0.00"), _normalFont, "right"); PdfReports.AddTableNoSplit(document, this, summaryTable); //----------------------------------------------- // Address block //----------------------------------------------- //PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); // Blank Line PdfReports.AddText2Table(addrTable, " ", _normalFont); p = PdfReports.GetAddressBlock(_businessName, _memAddr1, _memAddr2, _memCSZ, 0F, 12F, iTextSharp.text.Element.ALIGN_LEFT, _uspsFont); PdfReports.AddText2Table(addrTable, p); PdfReports.AddText2Table(addrTable, " ", _normalFont); PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); } PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddTableNoSplit(document, this, addrTable); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
private static void MakePDF(SqlDataReader dr, int cropYear, int shid, System.IO.FileStream fs) { // bus sta trk cnt date ycard inWt OutWt dtWt Left BDirt ADirt BTons ATons float[] _primaryTableLayout = new float[] { 80.5F, 77.0F, 30F, 37.5F, 48.5F, 42.5F, 51.5F, 51.0F, 49.0F, 22F, 57.5F, 57.0F, 58.0F, 58.0F }; // Total = 720 const string METHOD_NAME = "ReportBuilder"; Document document = null; PdfWriter writer = null; TonsByTruckByContractEvent pgEvent = null; string[] columnNames = new string[_primaryTableLayout.Length]; string rptTitle = "Western Sugar Cooperative\nTons By Truck By Contract"; PdfPTable table = null; try { string busName = ""; while (dr.Read()) { if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** // *** LANDSCAPE *** //document = new Document(iTextSharp.text.PageSize.LETTER.Rotate(), 36, 36, 54, 72); // may have to adjust margins? document = new Document(LandscapePageSize.PgPageSize, LandscapePageSize.PgLeftMargin, LandscapePageSize.PgRightMargin, LandscapePageSize.PgTopMargin, LandscapePageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); // Column Names: Drive getting the column names by the size of the receiving array. // the recordset may contain additional columns that work for the excel csv format, but not here. for (int i = 0; i < columnNames.Length; i++) { columnNames[i] = dr.GetName(i); } // Attach my override event handler(s) busName = dr["Business Name"].ToString(); pgEvent = new TonsByTruckByContractEvent(); pgEvent.FillEvent(cropYear, shid, busName, rptTitle, columnNames, _primaryTableLayout); writer.PageEvent = pgEvent; // Open the document document.Open(); } //========================================================== // Add data to the pdf //========================================================== table = PdfReports.CreateTable(_primaryTableLayout, 0); string s; PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Business Name")), _normalFont); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Station")), _normalFont); s = dr.GetString(dr.GetOrdinal("Truck")); if (s.IndexOf("Total") != -1) { PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Truck")), _normalFont, 2); } else { PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Truck")), _normalFont); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Contract")), _normalFont, "center"); } PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Date")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Yard Card")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("In Wt")).ToString(), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("Out Wt")).ToString(), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("Dirt Wt")).ToString(), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetString(dr.GetOrdinal("Left")), _normalFont, "center"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("Before Dirt")).ToString(), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetInt32(dr.GetOrdinal("After Dirt")).ToString(), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("Before Tons")).ToString(), _normalFont, "right"); PdfReports.AddText2Table(table, dr.GetDecimal(dr.GetOrdinal("After Tons")).ToString(), _normalFont, "right"); PdfReports.AddTableNoSplit(document, pgEvent, table); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { bool isNewArea = false; if (_pageNumber == 0 || _lastShid != _shid) { _pageNumber = 0; _lastPageNumber = 0; _lastShid = _shid; isNewArea = true; _lastAreaName = _areaName; _template = _cb.CreateTemplate(PortraitPageSize.HdrUpperRightX - PortraitPageSize.HdrLowerLeftX, 50); } if (_lastAreaName != _areaName) { isNewArea = true; _lastAreaName = _areaName; } _pageNumber++; // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_TOP); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Report Header // ======================================================= PdfPTable table = PdfReports.CreateTable(_headerLayout, 0); PdfReports.AddText2Table(table, " ", _normalFont, table.NumberOfColumns); PdfReports.AddText2Table(table, DateTime.Now.ToShortDateString(), _normalFont); PdfReports.AddText2Table(table, _rptTitle, _titleFont, "center"); if (isNewArea) { PdfReports.AddImage2Table(table, _imgLogo); } else { PdfReports.AddText2Table(table, " ", _normalFont); } //--------------------------------------- // SHID //--------------------------------------- Paragraph para = new Paragraph("", _normalFont); Phrase phrase = new Phrase("SHID: ", _labelFont); para.Add(phrase); phrase = new Phrase(_shid.ToString(), _normalFont); para.Add(phrase); PdfReports.AddText2Table(table, para); //--------------------------------------- // BUSINESS NAME //--------------------------------------- para = new Paragraph("", _normalFont); phrase = new Phrase("Name: ", _labelFont); para.Add(phrase); phrase = new Phrase(_busName, _labelFont); para.Add(phrase); PdfReports.AddText2Table(table, para, 2); //--------------------------------------- // REGION NAME //--------------------------------------- para = new Paragraph("", _normalFont); phrase = new Phrase("Region: ", _labelFont); para.Add(phrase); phrase = new Phrase(_regionName, _normalFont); para.Add(phrase); PdfReports.AddText2Table(table, para); //--------------------------------------- // AREA NAME //--------------------------------------- para = new Paragraph("", _normalFont); phrase = new Phrase("Area: ", _labelFont); para.Add(phrase); phrase = new Phrase(_areaName, _normalFont); para.Add(phrase); PdfReports.AddText2Table(table, para, 2); PdfReports.AddText2Table(table, " ", _normalFont, table.NumberOfColumns); PdfReports.AddText2Table(table, " ", _normalFont, table.NumberOfColumns); PdfReports.AddTableNoSplit(document, this, table); if (_contractTableLayout != null) { BuildContractDumpHeader(document, _contractTableLayout); // this routine adds table to document } _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { _pageNumber++; // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(LandscapePageSize.HdrLowerLeftX, LandscapePageSize.HdrLowerLeftY, LandscapePageSize.HdrUpperRightX, LandscapePageSize.HdrUpperRightY, LandscapePageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = LandscapePageSize.HdrTopYLine; // ======================================================= // Add Report Header // ======================================================= PdfPTable table = PdfReports.CreateTable(_headerLayout, 0); PdfReports.AddText2Table(table, " ", _normalFont, _headerLayout.Length); PdfReports.AddText2Table(table, _rptTitle, _titleFont, "center", 3); PdfReports.AddText2Table(table, " ", _normalFont, _headerLayout.Length); //--------------------------------------- // SHID //--------------------------------------- Phrase phrase = null; Paragraph para = new Paragraph("", _normalFont); phrase = new Phrase("SHID: ", _labelFont); para.Add(phrase); phrase = new Phrase(_shid.ToString(), _normalFont); para.Add(phrase); PdfReports.AddText2Table(table, para); //--------------------------------------- // BUSINESS NAME //--------------------------------------- para = new Paragraph("", _normalFont); phrase = new Phrase("Shareholder: ", _labelFont); para.Add(phrase); phrase = new Phrase(_busName, _normalFont); para.Add(phrase); PdfReports.AddText2Table(table, para); //--------------------------------------- // CROP YEAR //--------------------------------------- para = new Paragraph("", _normalFont); phrase = new Phrase("Crop Year: ", _labelFont); para.Add(phrase); phrase = new Phrase(_cropYear.ToString(), _normalFont); para.Add(phrase); PdfReports.AddText2Table(table, para); PdfReports.AddText2Table(table, " ", _normalFont, _headerLayout.Length); PdfReports.AddTableNoSplit(document, this, table); // Add column names here table = PdfReports.CreateTable(_primaryTableLayout, 0); for (int i = 0; i < _columnNames.Length; i++) { PdfReports.AddText2Table(table, _columnNames[i], _labelFont, "center"); } PdfReports.AddTableNoSplit(document, this, table); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }
private static void ReportBuilder(int cropYear, ArrayList shidList, string busName, ArrayList growerPerformanceList, ArrayList regionCodeList, ArrayList areaCodeList, ArrayList regionNameList, ArrayList areaNameList, string logoUrl, string filePath, System.IO.FileStream fs) { const string METHOD_NAME = "ReportBuilder: "; const string CharBlank = " "; const string CharAffirm = "X"; Document document = null; PdfWriter writer = null; PdfPTable table = null; ShareholderSummaryEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; int iShid = 0; string areaCode = ""; string regionCode = ""; string regionName = ""; string areaName = ""; int growerPerformanceID = 0; string rptTitle = "Western Sugar Cooperative\nShareholder Summary for " + cropYear.ToString() + " Crop Year"; string okFertility = ""; string okIrrigation = ""; string okStand = ""; string okWeed = ""; string okDisease = ""; string okVariety = ""; string descFertility = ""; string descIrrigation = ""; string descStand = ""; string descWeed = ""; string descDisease = ""; string descVariety = ""; // Build the contract information. try { for (int j = 0; j < shidList.Count; j++) { string shid = shidList[j].ToString(); iShid = Convert.ToInt32(shid); if (growerPerformanceList.Count == 0) { busName = ""; using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCField.SharholderSummaryGetAreas(conn, cropYear, iShid)) { while (dr.Read()) { growerPerformanceList.Add(dr["GrowerPerformanceID"].ToString()); regionCodeList.Add(dr["RegionCode"].ToString()); areaCodeList.Add(dr["AreaCode"].ToString()); regionNameList.Add(dr["RegionName"].ToString()); areaNameList.Add(dr["AreaName"].ToString()); if (busName.Length == 0) { busName = dr["BusName"].ToString(); } } } } } // --------------------------------------------------------------------------------------------------------- // Given all of the pieces, crop year, shid, growerPerformanceID, region, and area, generate the report // --------------------------------------------------------------------------------------------------------- if (areaCodeList.Count > 0) { for (int i = 0; i < areaCodeList.Count; i++) { growerPerformanceID = Convert.ToInt32(growerPerformanceList[i]); regionCode = regionCodeList[i].ToString(); areaCode = areaCodeList[i].ToString(); regionName = regionNameList[i].ToString(); areaName = areaNameList[i].ToString(); // ------------------------------------------------ // Collect the data: Get the report card. // ------------------------------------------------ using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCField.GrowerAdviceGetBySHID(conn, growerPerformanceID)) { if (dr.Read()) { //busName = dr["gadBusinessName"].ToString(); okFertility = dr["gadGoodFertilityManagement"].ToString(); okIrrigation = dr["gadGoodIrrigationManagement"].ToString(); okStand = dr["gadGoodStandEstablishment"].ToString(); okWeed = dr["gadGoodWeedControl"].ToString(); okDisease = dr["gadGoodDiseaseControl"].ToString(); okVariety = dr["gadGoodVarietySelection"].ToString(); descFertility = dr["gadTextFertilityManagement"].ToString(); descIrrigation = dr["gadTextIrrigationManagement"].ToString(); descStand = dr["gadTextStandEstablishment"].ToString(); descWeed = dr["gadTextWeedControl"].ToString(); descDisease = dr["gadTextDiseaseControl"].ToString(); descVariety = dr["gadTextVarietySelection"].ToString(); } else { //busName = ""; okFertility = ""; okIrrigation = ""; okStand = ""; okWeed = ""; okDisease = ""; okVariety = ""; descFertility = ""; descIrrigation = ""; descStand = ""; descWeed = ""; descDisease = ""; descVariety = ""; } } } if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) //busName = dr["Business Name"].ToString(); pgEvent = new ShareholderSummaryEvent(); pgEvent.FillEvent(cropYear, shid, busName, rptTitle, regionName, areaName, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); } else { // everytime thru kick out a new page because we're on a different shid/region/area combination. pgEvent.FillEvent(cropYear, shid, busName, rptTitle, regionName, areaName, imgLogo); document.NewPage(); } // ----------------------------------------------------- // Create the report card // ----------------------------------------------------- table = PdfReports.CreateTable(_adviceTableLayout, 1); Color borderColor = Color.BLACK; //new Color(255, 0, 0); float borderWidth = 1.0F; int borderTypeAll = Rectangle.TOP_BORDER | Rectangle.RIGHT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.LEFT_BORDER; float fPadding = 3; // HEADER iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Okay", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Opportunity\nfor\nImprovement", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Big Six Growing Practices", _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); /// ---------------------------------------- // TBODY /// ---------------------------------------- // Fertility cell = PdfReports.AddText2Cell((okFertility == "Y" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell((okFertility == "N" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Fertility Management", _labelFont, PdfPCell.ALIGN_LEFT, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); // Irrigation cell = PdfReports.AddText2Cell((okIrrigation == "Y" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell((okIrrigation == "N" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Irrigation Water Management", _labelFont, PdfPCell.ALIGN_LEFT, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); // Stand cell = PdfReports.AddText2Cell((okStand == "Y" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell((okStand == "N" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Stand Establishment (Harvest Plant Population)", _labelFont, PdfPCell.ALIGN_LEFT, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); // Weed cell = PdfReports.AddText2Cell((okWeed == "Y" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell((okWeed == "N" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Weed Control", _labelFont, PdfPCell.ALIGN_LEFT, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); // Disease cell = PdfReports.AddText2Cell((okDisease == "Y" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell((okDisease == "N" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Disease & Insect Control", _labelFont, PdfPCell.ALIGN_LEFT, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); // Varitey cell = PdfReports.AddText2Cell((okVariety == "Y" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell((okVariety == "N" ? CharAffirm : CharBlank), _labelFont, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); cell = PdfReports.AddText2Cell("Proper Variety Selection", _labelFont, PdfPCell.ALIGN_LEFT, PdfPCell.ALIGN_BOTTOM, fPadding, borderWidth, borderTypeAll, borderColor); table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont, 3); PdfReports.AddTableNoSplit(document, pgEvent, table); // ========================================================== // Recommendations for Improvement. // ========================================================== table = PdfReports.CreateTable(_adviceTableLayout, 1); // Caption iTextSharp.text.Phrase phrase = new iTextSharp.text.Phrase("Recommendations for Improvement", _labelFont); cell = new iTextSharp.text.pdf.PdfPCell(phrase); cell.Colspan = 3; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.VerticalAlignment = PdfPCell.ALIGN_BOTTOM; cell.Padding = fPadding; cell.BorderWidth = borderWidth; cell.Border = Rectangle.TOP_BORDER | Rectangle.RIGHT_BORDER | Rectangle.LEFT_BORDER; cell.BorderColor = borderColor; table.AddCell(cell); // Content phrase = new iTextSharp.text.Phrase((descFertility.Length > 0 ? descFertility + "\n\n" : "") + (descIrrigation.Length > 0 ? descIrrigation + "\n\n" : "") + (descStand.Length > 0 ? descStand + "\n\n" : "") + (descWeed.Length > 0 ? descWeed + "\n\n" : "") + (descDisease.Length > 0 ? descDisease + "\n\n" : "") + (descVariety.Length > 0 ? descVariety + "\n\n" : ""), _normalFont); cell = new iTextSharp.text.pdf.PdfPCell(phrase); cell.Colspan = 3; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.VerticalAlignment = PdfPCell.ALIGN_BOTTOM; cell.Padding = fPadding; cell.BorderWidth = borderWidth; cell.Border = Rectangle.RIGHT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.LEFT_BORDER; cell.BorderColor = borderColor; table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont, table.NumberOfColumns); PdfReports.AddText2Table(table, " ", _normalFont, table.NumberOfColumns); PdfReports.AddTableNoSplit(document, pgEvent, table); // ------------------------------------------------ // Create the contract dump. // ------------------------------------------------ ArrayList cntPerfs; using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { cntPerfs = WSCField.ShareholderSummaryContracts(conn, iShid, cropYear, regionCode, areaCode); } // ======================================= // HEADER // ======================================= table = PdfReports.CreateTable(_contractTableLayout, 0); pgEvent.BuildContractDumpHeader(document, _contractTableLayout); pgEvent.ContractTableLayout = _contractTableLayout; // DATA for (int k = 0; k < cntPerfs.Count; k++) { ContractPerformanceState perf = (ContractPerformanceState)cntPerfs[k]; switch (perf.RowType) { case 1: table = PdfReports.CreateTable(_contractTableLayout, 0); PdfReports.AddText2Table(table, perf.ContractNumber, _normalFont, "center"); PdfReports.AddText2Table(table, perf.ContractStation, _normalFont); PdfReports.AddText2Table(table, perf.FieldDescription, _normalFont); PdfReports.AddText2Table(table, perf.LandownerName, _normalFont); PdfReports.AddText2Table(table, perf.HarvestFinalNetTons, _normalFont, "right"); PdfReports.AddText2Table(table, perf.TonsPerAcre, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSugarPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestTarePct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSLMPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestExtractableSugar, _normalFont, "center"); PdfReports.AddText2Table(table, perf.BeetsPerAcre, _normalFont, "center"); PdfReports.AddTableNoSplit(document, pgEvent, table); break; case 2: table = PdfReports.CreateTable(_contractTableLayout, 0); PdfReports.AddText2Table(table, " ", _normalFont, _contractTableLayout.Length); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Overall Average", _labelFont, 3); PdfReports.AddText2Table(table, perf.HarvestFinalNetTons, _normalFont, "right"); PdfReports.AddText2Table(table, perf.TonsPerAcre, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSugarPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestTarePct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSLMPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestExtractableSugar, _normalFont, "center"); PdfReports.AddText2Table(table, perf.BeetsPerAcre, _normalFont, "center"); break; case 3: PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Top 20% Area Average", _labelFont, 4); PdfReports.AddText2Table(table, perf.TonsPerAcre, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSugarPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestTarePct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSLMPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestExtractableSugar, _normalFont, "center"); PdfReports.AddText2Table(table, perf.BeetsPerAcre, _normalFont, "center"); break; case 4: PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Your Rankings", _labelFont, 10); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, areaName, _labelFont, 4); PdfReports.AddText2Table(table, perf.TonsPerAcre, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSugarPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestTarePct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSLMPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestExtractableSugar, _normalFont, "center"); PdfReports.AddText2Table(table, perf.BeetsPerAcre, _normalFont, "center"); break; case 5: PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, regionName, _labelFont, 4); PdfReports.AddText2Table(table, perf.TonsPerAcre, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSugarPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestTarePct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestSLMPct, _normalFont, "center"); PdfReports.AddText2Table(table, perf.HarvestExtractableSugar, _normalFont, "center"); PdfReports.AddText2Table(table, perf.BeetsPerAcre, _normalFont, "center"); PdfReports.AddTableNoSplit(document, pgEvent, table); break; } } pgEvent.ContractTableLayout = null; } } // -------------------------------------------- // -------- reset for next iteration -------- // -------------------------------------------- growerPerformanceList.Clear(); regionCodeList.Clear(); areaCodeList.Clear(); regionNameList.Clear(); areaNameList.Clear(); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(MOD_NAME + METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); ct.YLine = PortraitPageSize.HdrTopYLine; //float[] layout = new float[] { 403F, 137F }; float[] layout = new float[] { 371F, 137F }; PdfPTable table = PdfReports.CreateTable(layout, 0); // Line 1 PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddImage2Table(table, _imgLogo); // Line 2 PdfReports.AddText2Table(table, " ", _normalFont, layout.Length); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, _statementDate, _subTitleFont, "center"); PdfReports.AddTableNoSplit(document, this, table); // Blank line: manuall adjust leading to get proper vertical spacing Paragraph p = new Paragraph(16F, " ", _normalFont); ct.AddElement(p); // Address block float adrLeading = 12.5F; float adrLeftIndent = 50F; if (_ldoBusinessName.Length > 0) { p = new Paragraph(adrLeading, _ldoBusinessName + " \n", _normalFont); p.IndentationLeft = adrLeftIndent; ct.AddElement(p); } if (_ldoAddressLine1.Length > 0) { p = new Paragraph(adrLeading, _ldoAddressLine1 + " \n", _normalFont); p.IndentationLeft = adrLeftIndent; ct.AddElement(p); } if (_ldoAddressLine2.Length > 0) { p = new Paragraph(adrLeading, _ldoAddressLine2 + " \n", _normalFont); p.IndentationLeft = adrLeftIndent; ct.AddElement(p); } if (_ldoCityStateZip.Length > 0) { p = new Paragraph(adrLeading, _ldoCityStateZip + " \n", _normalFont); p.IndentationLeft = adrLeftIndent; ct.AddElement(p); } p = new Paragraph(50F, " ", _normalFont); ct.AddElement(p); ct.Go(false); _headerBottomYLine = ct.YLine; } base.OnStartPage(writer, document); }
private static void ReportBuilder(int shid, int cropYear, int calYear, string logoUrl, FileStream fs) { const string METHOD_NAME = "rptBeetPaymentBreakdown.ReportBuilder: "; Document document = null; PdfWriter writer = null; PdfPTable table = null; BeetPaymentBreakdownEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; int curShid = 0; int lastShid = 0; decimal grossAmt = 0; decimal netAmt = 0; string rptTitle = "Western Sugar Cooperative Beet Payments by Year"; Font headerFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font normalFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font labelFont = FontFactory.GetFont("HELVETICA", 8F, Font.BOLD); try { List <BeetPaymentListItem> stateList = WSCPayment.RptBeetPayBreakdown(ConfigurationManager.ConnectionStrings["BeetConn"].ToString(), shid, cropYear, calYear); foreach (BeetPaymentListItem item in stateList) { curShid = item.SHID; if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); lastShid = curShid; grossAmt = 0; netAmt = 0; // Attach my override event handler(s) pgEvent = new BeetPaymentBreakdownEvent(); pgEvent.FillEvent(_primaryTableLayout, _hdrNames, curShid, item.PayeeName, rptTitle, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); table = PdfReports.CreateTable(_primaryTableLayout, 1); } if (curShid != lastShid) { // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, "center", 5); PdfReports.AddText2Table(table, grossAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, netAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); lastShid = curShid; grossAmt = 0; netAmt = 0; pgEvent.FillEvent(_primaryTableLayout, _hdrNames, curShid, item.PayeeName, rptTitle, imgLogo); document.NewPage(); table = PdfReports.CreateTable(_primaryTableLayout, 1); } PdfReports.AddText2Table(table, item.CalendarYear.ToString(), normalFont, "center"); PdfReports.AddText2Table(table, item.CropYear.ToString(), normalFont, "center"); PdfReports.AddText2Table(table, item.PaymentNumber.ToString("N0"), normalFont, "center"); PdfReports.AddText2Table(table, item.PaymentDescription, normalFont, "left"); PdfReports.AddText2Table(table, item.TransmittalDate.ToString("MM/dd/yyyy"), normalFont, "center"); PdfReports.AddText2Table(table, item.GrossDollars.ToString("c2"), normalFont, "right"); PdfReports.AddText2Table(table, item.PaymentAmount.ToString("c2"), normalFont, "right"); grossAmt += item.GrossDollars; netAmt += item.PaymentAmount; } if (document != null) { // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, "center", 5); PdfReports.AddText2Table(table, grossAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, netAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); } // ====================================================== // Close document // ====================================================== if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
public override void OnStartPage(PdfWriter writer, Document document) { if (!_isDocumentClosing) { _pageNumber++; if (_pageNumber == 1) { _template = _cb.CreateTemplate(PortraitPageSize.HdrUpperRightX - PortraitPageSize.HdrLowerLeftX, 50); } // =========================================================================== // Create header column -- in this report this is the page's column object // =========================================================================== _ct.SetSimpleColumn(PortraitPageSize.HdrLowerLeftX, PortraitPageSize.HdrLowerLeftY, PortraitPageSize.HdrUpperRightX, PortraitPageSize.HdrUpperRightY, PortraitPageSize.PgLeading, Element.ALIGN_CENTER); _ct.YLine = PortraitPageSize.HdrTopYLine; // ======================================================= // Add Header // ======================================================= float[] wscLogoLayout = new float[] { 60, 353F, 127F }; PdfPTable logoTable = PdfReports.CreateTable(wscLogoLayout, 0); PdfReports.AddText2Table(logoTable, _statementDate, _normalFont); PdfReports.AddText2Table(logoTable, _title, _titleFont, "center"); // Only add actual logo on First page of set. if (_pageNumber == 1) { PdfReports.AddImage2Table(logoTable, _imgLogo); } else { PdfReports.AddText2Table(logoTable, " ", _normalFont); } PdfReports.AddText2Table(logoTable, " \n \n ", _titleFont, wscLogoLayout.Length); PdfReports.AddTableNoSplit(document, this, logoTable); float[] addrLayout = new float[] { 50F, 355F, 135F }; PdfPTable addrTable = PdfReports.CreateTable(addrLayout, 0); if (_pageNumber == 1) { PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddText2Table(addrTable, " ", _normalFont); Paragraph p = PdfReports.GetAddressBlock(_groName, _groAdr1, _groAdr2, _groCSZ, 0F, 12F, iTextSharp.text.Element.ALIGN_LEFT, _uspsFont); PdfReports.AddText2Table(addrTable, p); PdfReports.AddText2Table(addrTable, " ", _normalFont); PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); } PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddText2Table(addrTable, " ", _normalFont, addrLayout.Length); PdfReports.AddTableNoSplit(document, this, addrTable); _headerBottomYLine = _ct.YLine; } base.OnStartPage(writer, document); }