Exemple #1
0
        private bool addImage(string sFilename, iTextSharp.text.Document doc)
        {
            bool bReturn = false;
            iTextSharp.text.Image img;
            try
            {
                Paragraph p1 = new Paragraph(new Chunk(sFilename, FontFactory.GetFont(FontFactory.HELVETICA, 12)));
                doc.Add(p1);

#if !TEST
                Bitmap myBitmap = new Bitmap(sFilename);
                if (sFilename.ToLower().EndsWith("jpg"))
                    img = iTextSharp.text.Image.GetInstance(myBitmap, System.Drawing.Imaging.ImageFormat.Jpeg);
                else if (sFilename.ToLower().EndsWith("gif"))
                    img = iTextSharp.text.Image.GetInstance(myBitmap, System.Drawing.Imaging.ImageFormat.Gif);
                else if (sFilename.ToLower().EndsWith("bmp"))
                    img = iTextSharp.text.Image.GetInstance(myBitmap, System.Drawing.Imaging.ImageFormat.Bmp);
                else if (sFilename.ToLower().EndsWith("png"))
                    img = iTextSharp.text.Image.GetInstance(myBitmap, System.Drawing.Imaging.ImageFormat.Png);
                else
                    throw new NotSupportedException("Unsupported image format");
                //is the image to wide or to high?
                float fWidth=doc.Right - doc.Left - doc.RightMargin - doc.LeftMargin;
                float fHeight=doc.Top - doc.Bottom - doc.TopMargin - doc.BottomMargin;
                if ((myBitmap.Width > fWidth) || (myBitmap.Height>fHeight))
                    img.ScaleToFit(fWidth, fHeight);

#else
                img = iTextSharp.text.Image.GetInstance(sFilename);
#endif
                doc.Add(img);
                doc.NewPage(); //used to create a new page for every image
                bReturn = true;
            }
            catch (iTextSharp.text.BadElementException bx)
            {
                System.Diagnostics.Debug.WriteLine("BadElementException in doc.add() for '" + sFilename + "': " + bx.Message);
            }
            catch (iTextSharp.text.DocumentException dx)
            {
                System.Diagnostics.Debug.WriteLine("DocumentException in doc.add() for '" + sFilename + "': " + dx.Message);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Exception in doc.add() for '" + sFilename + "': " + ex.Message);
            }
            return bReturn;
        }
Exemple #2
0
        private static void AddAllContractDetails(SqlDataReader dr, iTextSharp.text.Document document,
            string shid, int cropYear, FieldSummaryReportEvent pgEvent)
        {
            try {

                string tmp = "";
                int harvestAcres = 0;
                float[] layout = new float[] { 50F, 68F, 35F, 61F, 47F, 37.0F, 32.0F, 41F, 35F, 50F, 38F, 46F };
                PdfPTable table = null;
                decimal grossDollars = 0;

                while (dr.Read()) {

                    if (table == null) {

                        document.NewPage();

                        table = PdfReports.CreateTable(layout, 0);
                        PdfReports.AddText2Table(table, " ", normalFont, "left", layout.Length);

                        // Header
                        //	Row 1
                        PdfReports.AddText2Table(table, " ", labelFont, "left");
                        PdfReports.AddText2Table(table, " ", labelFont, "left");
                        PdfReports.AddText2Table(table, "Acres", labelFont, "center");
                        PdfReports.AddText2Table(table, " ", labelFont, "right");
                        PdfReports.AddText2Table(table, " ", labelFont, "right");

                        PdfReports.AddText2Table(table, " ", labelFont, "right");
                        PdfReports.AddText2Table(table, " ", labelFont, "right");

                        PdfReports.AddText2Table(table, " ", labelFont, "center");
                        PdfReports.AddText2Table(table, " ", labelFont, "center");
                        PdfReports.AddText2Table(table, @"Ext. Sugar", labelFont, "right");
                        PdfReports.AddText2Table(table, " ", labelFont, "center");
                        PdfReports.AddText2Table(table, " ", labelFont, "center");

                        //	Row 2
                        PdfReports.AddText2Table(table, "Contract #", labelFont, "left");
                        PdfReports.AddText2Table(table, "Field Name", labelFont, "left");
                        PdfReports.AddText2Table(table, "Harvest", labelFont, "center");
                        PdfReports.AddText2Table(table, "Net Tons", labelFont, "right");
                        PdfReports.AddText2Table(table, "TPA", labelFont, "right");

                        PdfReports.AddText2Table(table, "BPA", labelFont, "right");
                        PdfReports.AddText2Table(table, "Top", labelFont, "right");

                        PdfReports.AddText2Table(table, "% Sugar", labelFont, "right");
                        PdfReports.AddText2Table(table, "SLM", labelFont, "right");
                        PdfReports.AddText2Table(table, "Lbs/Acre", labelFont, "right");
                        PdfReports.AddText2Table(table, "% Tare", labelFont, "right");
                        PdfReports.AddText2Table(table, @"$/Acre", labelFont, "right");

                    }

                    tmp = dr.GetInt32(dr.GetOrdinal("ContractNo")).ToString();
                    PdfReports.AddText2Table(table, tmp, normalFont, "left");

                    tmp = dr.GetString(dr.GetOrdinal("FieldName"));
                    PdfReports.AddText2Table(table, tmp, normalFont, "left");

                    harvestAcres = dr.GetInt32(dr.GetOrdinal("AcresHarvested"));
                    PdfReports.AddText2Table(table, harvestAcres.ToString(), normalFont, "center");

                    tmp = dr.GetDecimal(dr.GetOrdinal("TonsHarvested")).ToString("#,###.0000");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    tmp = dr.GetDecimal(dr.GetOrdinal("TonsPerAcre")).ToString("#,###.0000");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    tmp = dr.GetInt32(dr.GetOrdinal("BeetsPerAcre")).ToString("#,##0");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    tmp = dr.GetDecimal(dr.GetOrdinal("AvgTopping")).ToString("0.00");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    tmp = dr.GetDecimal(dr.GetOrdinal("SugarPct")).ToString("#,###.00");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    tmp = dr.GetDecimal(dr.GetOrdinal("SLMPct")).ToString("#,###.00");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    // convert to lbs\acre extractable
                    int extSugar = 0;
                    if (harvestAcres > 0) {
                        extSugar = Convert.ToInt32(Math.Round(dr.GetDecimal(dr.GetOrdinal("ExtractableSugar")) / harvestAcres, 0));
                    }
                    PdfReports.AddText2Table(table, extSugar.ToString("#,###"), normalFont, "right");

                    tmp = dr.GetDecimal(dr.GetOrdinal("TarePct")).ToString("#,###.00");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    tmp = dr.GetDecimal(dr.GetOrdinal("GrossDollarsPerAcre")).ToString("#,###.00");
                    PdfReports.AddText2Table(table, tmp, normalFont, "right");

                    grossDollars += dr.GetDecimal(dr.GetOrdinal("GrossDollars"));

                }

                if (table != null) {

                    PdfReports.AddTableNoSplit(document, pgEvent, table);
                    AddHarvestTotals(document, shid, cropYear, grossDollars, layout, pgEvent);
                }

            }
            catch (Exception ex) {
                WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException("rptFieldSummary.AddAllContractDetails", ex);
                throw (wscex);
            }
        }
        /// <summary>
        /// Add a blank page to the document.
        /// </summary>
        /// <param name="doc"></param>
        private void AddPageWithInternalLinks(iTextSharp.text.Document doc)
        {
            // Generate links to be embedded in the page
            Anchor researchAnchor = new Anchor("Research & Hypothesis\n\n", _standardFont);
            researchAnchor.Reference = "#research"; // this link references a named anchor within the document
            Anchor graphAnchor = new Anchor("Graph\n\n", _standardFont);
            graphAnchor.Reference = "#graph";
            Anchor resultsAnchor = new Anchor("Results & Bibliography", _standardFont);
            resultsAnchor.Reference = "#results";

            // Add a new page to the document
            doc.NewPage();

            // Add heading text to the page
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, new iTextSharp.text.Chunk("TABLE OF CONTENTS\n\n\n\n\n"));

            // Add the links to the page
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _standardFont, researchAnchor);
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _standardFont, graphAnchor);
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _standardFont, resultsAnchor);
        }
        /// <summary>
        /// Add a page containing a single image.  Set the page size to match the image size.
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="imagePath"></param>
        private void AddPageWithImage(iTextSharp.text.Document doc, String imagePath)
        {
            // Read the image file
            iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(new Uri(imagePath));

            // Set the page size to the dimensions of the image BEFORE adding a new page to the document.
            // Pad the height a bit to leave room for the page header.
            float imageWidth = image.Width;
            float imageHeight = image.Height;
            doc.SetMargins(0, 0, 0, 0);
            doc.SetPageSize(new iTextSharp.text.Rectangle(imageWidth, imageHeight + 100));

            // Add a new page
            doc.NewPage();

            // The header at the top of the page is an anchor linked to by the table of contents.
            iTextSharp.text.Anchor contentsAnchor = new iTextSharp.text.Anchor("\nGRAPH\n\n", _largeFont);
            contentsAnchor.Name = "graph";

            // Add the anchor and image to the page
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, contentsAnchor);
            doc.Add(image);
            image = null;
        }
        /// <summary>
        /// Add a page that includes a bullet list.
        /// </summary>
        /// <param name="doc"></param>
        private void AddPageWithBulletList(iTextSharp.text.Document doc)
        {
            // Add a new page to the document
            doc.NewPage();

            // The header at the top of the page is an anchor linked to by the table of contents.
            iTextSharp.text.Anchor contentsAnchor = new iTextSharp.text.Anchor("RESEARCH\n\n", _largeFont);
            contentsAnchor.Name = "research";

            // Add the header anchor to the page
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, contentsAnchor);

            // Create an unordered bullet list.  The 10f argument separates the bullet from the text by 10 points
            iTextSharp.text.List list = new iTextSharp.text.List(iTextSharp.text.List.UNORDERED, 10f);
            list.SetListSymbol("\u2022");   // Set the bullet symbol (without this a hypen starts each list item)
            list.IndentationLeft = 20f;     // Indent the list 20 points
            list.Add(new ListItem("Lift, thrust, drag, and gravity are the four forces that act on a plane.", _standardFont));
            list.Add(new ListItem("A plane should be light to help fight against gravity's pull to the ground.", _standardFont));
            list.Add(new ListItem("Gravity will have less effect on a plane built from the lightest materials available.", _standardFont));
            list.Add(new ListItem("In order to fly well, airplanes must be stable.", _standardFont));
            list.Add(new ListItem("A plane that is unstable will either pitch up into a stall, or nose-dive.", _standardFont));
            doc.Add(list);  // Add the list to the page

            // Add some white space and another heading
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, new Chunk("\n\n\n"));
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, new Chunk("HYPOTHESIS\n\n"));

            // Add some final text to the page
            this.AddParagraph(doc, iTextSharp.text.Element.ALIGN_LEFT, _standardFont, new Chunk("Given five paper airplanes made out of newspaper, printer paper, construction paper, paper towel, and posterboard, the airplane made out of printer paper will fly the furthest."));
        }
Exemple #6
0
        /// <summary>
        /// This method consist settings of pdf file
        /// </summary>
        /// <param name="ms"></param>
        /// <param name="doc"></param>
        public void Settings(MemoryStream ms, iTextSharp.text.Document doc)
        {
            PdfWriter.GetInstance(doc, ms);
            iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(iTextSharp.text.PageSize.A4);

            doc.SetPageSize(rec);

            doc.SetMargins(0, 0, 0, 0);

            doc.Open();

            doc.NewPage();
        }