//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 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); }
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); }
private void AddPatronStockHeader(ref PdfPTable table) { table = PdfReports.CreateTable(_patronStockLayout, 0); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Patron Preferred Stock", _labelFont, "left", _patronStockLayout.Length); cell.BackgroundColor = Color.LIGHT_GRAY; table.AddCell(cell); }
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 AddCommonHeader(ref PdfPTable table) { table = PdfReports.CreateTable(_commonStockLayout, 0); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Common Stock Purchase", _labelFont, "left", _commonStockLayout.Length); cell.BackgroundColor = Color.LIGHT_GRAY; table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Shares", _labelFont, "center"); PdfReports.AddText2Table(table, "Date", _labelFont, "center"); PdfReports.AddText2Table(table, "Price", _labelFont, "center"); PdfReports.AddText2Table(table, "Value", _labelFont, "center"); PdfReports.AddText2Table(table, " ", _normalFont); }
private void AddFinancingHeader(ref PdfPTable table) { table = PdfReports.CreateTable(_equityFinancingLayout, 0); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Equity Financing", _labelFont, "left", _equityFinancingLayout.Length); cell.BackgroundColor = Color.LIGHT_GRAY; table.AddCell(cell); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, "Date", _labelFont, "center"); PdfReports.AddText2Table(table, "Principal Paid", _labelFont, "center"); PdfReports.AddText2Table(table, "Interest", _labelFont, "center"); PdfReports.AddText2Table(table, "Balance", _labelFont, "center"); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, " ", _normalFont); }
private void AddUnitRetainHeader(ref PdfPTable table) { table = PdfReports.CreateTable(_unitRetainsLayout, 0); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Unit Retains", _labelFont, "left", _unitRetainsLayout.Length); cell.BackgroundColor = Color.LIGHT_GRAY; table.AddCell(cell); PdfReports.AddText2Table(table, "Crop Year", _labelFont, "center"); PdfReports.AddText2Table(table, "Date", _labelFont, "center"); PdfReports.AddText2Table(table, "Tons Delivered", _labelFont, "center"); PdfReports.AddText2Table(table, "$/Ton", _labelFont, "center"); PdfReports.AddText2Table(table, "Amount", _labelFont, "center"); PdfReports.AddText2Table(table, "$ Paid", _labelFont, "center"); PdfReports.AddText2Table(table, "Balance", _labelFont, "center"); PdfReports.AddText2Table(table, " ", _normalFont); }
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 AddPatronageRefundHeader(ref PdfPTable table) { table = PdfReports.CreateTable(_patronageRefundLayout, 0); iTextSharp.text.pdf.PdfPCell cell = PdfReports.AddText2Cell("Patronage Refunds", _labelFont, "left", _patronageRefundLayout.Length); cell.BackgroundColor = Color.LIGHT_GRAY; table.AddCell(cell); PdfReports.AddText2Table(table, "Crop Year", _labelFont, "center"); PdfReports.AddText2Table(table, "Date", _labelFont, "center"); PdfReports.AddText2Table(table, "Tons Delivered", _labelFont, "center"); PdfReports.AddText2Table(table, "$/Ton", _labelFont, "center"); PdfReports.AddText2Table(table, "Amount", _labelFont, "center"); PdfReports.AddText2Table(table, "Initial Pay", _labelFont, "center"); PdfReports.AddText2Table(table, "Crop Loss Allocation/Pmt", _labelFont, "center"); PdfReports.AddText2Table(table, "Certificate Paid", _labelFont, "center"); PdfReports.AddText2Table(table, "Balance", _labelFont, "center"); }
// 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); }
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); }
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 ReportBuilderRetain(List <ListStatementPatRetainItem> stateList, int cropYear, DateTime certificateDate, string shid, string fromShid, string toShid, string logoUrl, System.IO.FileStream fs, string sigName, string sigTitle, string sigImagePath) { const string METHOD_NAME = "ReportBuilderRetain: "; string SHID = ""; string equityCropYear = ""; string rptTitle = ""; string certificateDateStr = certificateDate.ToString(HEADER_DATE_FORMAT); string qualifiedStr = ""; float pdfYPos = 0; float pdfXPos = -4; Document document = null; PdfWriter writer = null; PdfPTable bottomTable = null; ColumnText ct = null; PdfImportedPage pdfImport = null; CertificateEvent pgEvent = null; try { if (stateList.Count > 0) { qualifiedStr = (stateList[0].Qualified.ToLower() == "qualified" ? "Qualified" : "NonQualified"); } iTextSharp.text.Image imgSignature = PdfReports.GetImage(sigImagePath, 228, 68, iTextSharp.text.Element.ALIGN_LEFT); foreach (ListStatementPatRetainItem state in stateList) { if (rptTitle.Length == 0) { rptTitle = qualifiedStr.ToUpper() + " UNIT RETAIN NOTICE\n" + "CROP YEAR " + cropYear.ToString(); } SHID = state.SHID; equityCropYear = state.EquityCropYear; if (document == null) { // 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); // Attach my override event handler(s) pgEvent = new CertificateEvent(); pgEvent.FillEvent(state.SHID, state.BusName, state.Addr1, state.Addr2, state.CSZ, rptTitle, logoUrl); writer.PageEvent = pgEvent; // Open the document document.Open(); // ================================================================================================================ // FROM PDF -- Pulls a background image out of a pdf and uses it as the under layer! Works BUT NEEDS ADJUSTMENT // ================================================================================================================ string _certBorderPath = sigImagePath.Replace("CertificateSignature.gif", "CertBorders.pdf"); PdfReader rdrCertBorder = new PdfReader(_certBorderPath); pdfImport = writer.GetImportedPage(rdrCertBorder, 1); // import only page 1. } else { pgEvent.FillEvent(state.SHID, state.BusName, state.Addr1, state.Addr2, state.CSZ, rptTitle, logoUrl); document.NewPage(); } writer.DirectContentUnder.AddTemplate(pdfImport, pdfXPos, pdfYPos); // ======================================================= // Build Report // ======================================================= // Fill report Body ct = pgEvent.GetColumnObject(); BuildRetainBodyText(cropYear, qualifiedStr, ct); // Add Bottom section -- Date, Amount, SigLine. bottomTable = PdfReports.CreateTable(_bottomRetLayout, 0); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, "Dated: " + certificateDateStr, _normalFont, "left"); PdfReports.AddText2Table(bottomTable, "Amount: " + Convert.ToDecimal(state.EquityAmt).ToString("$#,##0.00"), _normalFont, "left"); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont, _bottomRetLayout.Length); PdfReports.AddText2Table(bottomTable, " ", _normalFont, _bottomRetLayout.Length); //---------------------------------- // Add Signature //---------------------------------- PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddImage2Table(bottomTable, imgSignature); PdfReports.AddText2Table(bottomTable, " ", _normalFont); // add signature info PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddText2Table(bottomTable, sigName, _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddText2Table(bottomTable, sigTitle, _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont); ct.AddElement(bottomTable); ct.Go(false); } // ====================================================== // 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(); } } }
private static void ReportBuilderPatronage(List <ListStatementPatRetainItem> stateList, int cropYear, DateTime certificateDate, string shid, string fromShid, string toShid, string logoUrl, System.IO.FileStream fs, string sigName, string sigTitle, string sigImagePath) { const string METHOD_NAME = "ReportBuilderPatronage: "; string SHID = ""; string equityCropYear = ""; string rptTitle = ""; string certificateDateStr = certificateDate.ToString(HEADER_DATE_FORMAT); string qualifiedStr = ""; float pdfYPos = 0; float pdfXPos = -4; Document document = null; PdfWriter writer = null; PdfPTable bottomTable = null; ColumnText ct = null; PdfImportedPage pdfImport = null; CertificateEvent pgEvent = null; try { if (stateList.Count > 0) { qualifiedStr = (stateList[0].Qualified.ToLower() == "qualified" ? "Qualified" : "NonQualified"); } iTextSharp.text.Image imgSignature = PdfReports.GetImage(sigImagePath, 228, 68, iTextSharp.text.Element.ALIGN_LEFT); foreach (ListStatementPatRetainItem state in stateList) { if (rptTitle.Length == 0) { rptTitle = qualifiedStr.ToUpper() + " PATRONAGE REFUND NOTICE\n" + "CROP YEAR " + cropYear.ToString(); } SHID = state.SHID; equityCropYear = state.EquityCropYear; if (document == null) { // 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); // Attach my override event handler(s) pgEvent = new CertificateEvent(); pgEvent.FillEvent(state.SHID, state.BusName, state.Addr1, state.Addr2, state.CSZ, rptTitle, logoUrl); writer.PageEvent = pgEvent; // Open the document document.Open(); //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // ** ROTATE ** ROTATE ** --------------------------------------------------------------------------------------- //PdfReader reader = new PdfReader(...); //for (int k = 1; k <= reader.getNumberOfPages(); ++k) { // reader.getPageN(k).put(PdfName.ROTATE, new PdfNumber(90)); //} //PdfStamper stp = new PdfStamper(reader, ...); //stp.close(); // ** ROTATE ** ROTATE ** --------------------------------------------------------------------------------------- //string tmpFilePath = sigImagePath.Replace("CertificateSignature.gif", "WorkTemplate.pdf"); //PdfReader rdr = new PdfReader(tmpFilePath); //rdr.GetPageN(1).Put(PdfName.ROTATE, new PdfNumber(90)); //Document docCopy = new Document(rdr.GetPageSizeWithRotation(1)); //PdfCopy pCopy = new PdfCopy(docCopy, new System.IO.FileStream(sigImagePath.Replace("CertificateSignature.gif", "WorkTemplate90.pdf"), // System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Read)); //docCopy.Open(); //docCopy.AddCreationDate(); //docCopy.AddCreator(""); //docCopy.AddTitle("CertificateTemplate.pdf"); //pCopy.AddPage(pCopy.GetImportedPage(rdr, 1)); //docCopy.Close(); //using (System.IO.FileStream fsTmpOut = new FileStream(sigImagePath.Replace("CertificateSignature.gif", "WorkTemplate90.pdf"), // System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Read)) { // PdfStamper tmpStamp = new PdfStamper(rdr, fsTmpOut); // tmpStamp.Close(); //} // ================================================================================================================ // FROM PDF -- Pulls a background image out of a pdf and uses it as the under layer! Works BUT NEEDS ADJUSTMENT // ================================================================================================================ string _certBorderPath = sigImagePath.Replace("CertificateSignature.gif", "CertBorders.pdf"); PdfReader rdrCertBorder = new PdfReader(_certBorderPath); pdfImport = writer.GetImportedPage(rdrCertBorder, 1); // import only page 1. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< // ================================================================================================================ // FROM JPG -- Uses a jpg image as the under layer!!! This ROUGHLY WORKS -- NEEDS HELP ! // ================================================================================================================ //string _logo = sigImagePath.Replace("CertificateSignature.gif", "MyBorders.gif"); //iTextSharp.text.Image imgBack = PdfReports.GetImage(_logo, Convert.ToInt32(document.Right - document.RightMargin - document.LeftMargin), // Convert.ToInt32(document.Top - document.TopMargin - document.BottomMargin), iTextSharp.text.Element.ALIGN_CENTER); //float imageYPos = document.Top - imgBack.Height; //float imageXPos = 0; //// To position an image at (x,y) use addImage(image, image_width, 0, 0, image_height, x, y) //writer.DirectContentUnder.AddImage(imgBack, imgBack.Width, 0, 0, imgBack.Height, imageXPos, imageYPos); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< } else { pgEvent.FillEvent(state.SHID, state.BusName, state.Addr1, state.Addr2, state.CSZ, rptTitle, logoUrl); document.NewPage(); } writer.DirectContentUnder.AddTemplate(pdfImport, pdfXPos, pdfYPos); // ======================================================= // Build Report // ======================================================= // Fill report Body ct = pgEvent.GetColumnObject(); BuildPatronageBodyText(cropYear, qualifiedStr, ct); // Add Bottom section -- Date, Amount, SigLine. bottomTable = PdfReports.CreateTable(_bottomPatLayout, 0); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, "Dated: " + certificateDateStr, _normalFont, "left"); PdfReports.AddText2Table(bottomTable, "Total patronage refund: ", _normalFont, "left"); PdfReports.AddText2Table(bottomTable, Convert.ToDecimal(state.EquityAmt).ToString("$#,##0.00"), _normalFont, "right"); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddText2Table(bottomTable, "Paid by check: ", _normalFont, "left"); PdfReports.AddText2Table(bottomTable, Convert.ToDecimal(state.PatInitPayment).ToString("$#,##0.00"), _normalFont, "right"); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddText2Table(bottomTable, "Patronage equity: ", _normalFont, "left"); PdfReports.AddText2Table(bottomTable, Convert.ToDecimal(state.RedeemAmt).ToString("$#,##0.00"), _normalFont, "right"); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont, _bottomRetLayout.Length); PdfReports.AddText2Table(bottomTable, " ", _normalFont, _bottomRetLayout.Length); ct.AddElement(bottomTable); //---------------------------------- // Add Signature //---------------------------------- // this is odd, but use the RET layout for sig line. bottomTable = PdfReports.CreateTable(_bottomRetLayout, 0); PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddImage2Table(bottomTable, imgSignature); PdfReports.AddText2Table(bottomTable, " ", _normalFont); // add signature info PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddText2Table(bottomTable, sigName, _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont, 2); PdfReports.AddText2Table(bottomTable, sigTitle, _normalFont); PdfReports.AddText2Table(bottomTable, " ", _normalFont); ct.AddElement(bottomTable); ct.Go(false); } // ====================================================== // 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(); } } }
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 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 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++; // =========================================================================== // 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); }
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) { 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++; 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); }
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(); } } }
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(); } } }
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 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(); } } }