private void BtnPDF_Click(object sender, EventArgs e)
        {
            List <Sport> sport = new List <Sport>();

            sport = Info();
            //Create a new PDF document
            Syncfusion.Pdf.PdfDocument doc = new PdfDocument();
            //Add a page
            PdfPage page = doc.Pages.Add();
            // Create a PdfLightTable
            PdfLightTable pdfLightTable = new PdfLightTable();

            // Initialize DataTable to assign as DateSource to the light table
            System.Data.DataTable table = new System.Data.DataTable();
            //Include columns to the DataTable

            table.Columns.Add("Kolesar");
            table.Columns.Add("Total distance");
            table.Columns.Add("Total calories");
            table.Columns.Add("Total time");
            //Include rows to the DataTable
            int count = sport.Count;

            int stevec = 1;

            foreach (var item in sport)
            {
                table.Rows.Add(new string[] { stevec.ToString(), item.Stevilo_prevozenih_km, item.Porabljene_kalorije, item.Trajanje_aktivnosti });
                stevec++;
            }

            //Applying cell padding to table
            pdfLightTable.Style.CellPadding = 3;
            pdfLightTable.ApplyBuiltinStyle(PdfLightTableBuiltinStyle.GridTable3Accent3);
            //Assign data source
            pdfLightTable.DataSource = table;
            //Setting this property to true to show the header of table
            pdfLightTable.Style.ShowHeader = true;
            //Draw PdfLightTable
            pdfLightTable.Draw(page, new PointF(0, 0));
            //Save the document

            doc.Save("PdfTable.pdf");
            //Close the document
            doc.Close(true);
            //This will open the PDF file so, the result will be seen in default PDF viewer
            Process.Start("PdfTable.pdf");
        }
        private void BtnPK_Click(object sender, EventArgs e)
        {
            List <Sport> sport = new List <Sport>();

            sport = InfoWhole();
            //Create a new PDF document
            PdfDocument doc = new PdfDocument();
            //Add a page
            PdfPage page = doc.Pages.Add();
            // Create a PdfLightTable
            PdfLightTable pdfLightTable = new PdfLightTable();

            // Initialize DataTable to assign as DateSource to the light table
            System.Data.DataTable table = new System.Data.DataTable();
            //Include columns to the DataTable

            table.Columns.Add("Kalorije");
            table.Columns.Add("Vzpon distance");
            table.Columns.Add("Kadenca");
            table.Columns.Add("Avg kadenca");
            //Include rows to the DataTable
            int count = sport.Count;

            int stevec = 1;

            foreach (var item in sport)
            {
                table.Rows.Add(new string[] { item.Porabljene_kalorije, item.Skupen_vzpon, item.Max_kadenca, item.Povp_kadenca });
                stevec++;
            }

            //Applying cell padding to table
            pdfLightTable.Style.CellPadding = 3;
            pdfLightTable.ApplyBuiltinStyle(PdfLightTableBuiltinStyle.GridTable3Accent3);
            //Assign data source
            pdfLightTable.DataSource = table;
            //Setting this property to true to show the header of table
            pdfLightTable.Style.ShowHeader = true;
            //Draw PdfLightTable
            pdfLightTable.Draw(page, new PointF(0, 0));
            //Save the document

            doc.Save("PdfTable.pdf");
            //Close the document
            doc.Close(true);
            //This will open the PDF file so, the result will be seen in default PDF viewer
            Process.Start("PdfTable.pdf");
        }
Example #3
0
        private string processMatNew(int[,] mtx, int height, int width, float scale)
        {
            var bookSegs    = new List <List <Segment> >();
            int maxSegCount = 0;

            for (int j = 0; j < width; j++)
            {//new page
                var  pageSegs   = new List <Segment>();
                int  begin      = -1;
                bool lookForEnd = false;
                for (int i = 0; i < height; i++)
                {//new pixel
                    Segment segment = new Segment();
                    segment.page = j + 1;

                    if (!lookForEnd)
                    {
                        if (mtx[i, j] == 1)//layer 1
                        {
                            lookForEnd    = true;
                            begin         = i;
                            segment.layer = 1;//layer 1
                        }
                    }
                    else if (mtx[i, j] == 0)
                    {
                        lookForEnd    = false;
                        segment.start = begin * scale;
                        segment.end   = i * scale;
                        pageSegs.Add(segment);
                    }
                    else if (i + 1 >= height)
                    {
                        segment.start = begin * scale;
                        segment.end   = -1;
                        pageSegs.Add(segment);
                    }
                    Console.WriteLine();
                }
                bookSegs.Add(pageSegs);
                maxSegCount = pageSegs.Count > maxSegCount ? pageSegs.Count : maxSegCount;
            }

            DataTable table = new DataTable();

            table.Columns.Add("Leaf/Page");
            for (int i = 0; i < maxSegCount; i++)
            {
                table.Columns.Add($"Cut {i + 1}");
            }
            var pageCount = 1;

            foreach (List <Segment> pageSegs in bookSegs)
            {
                var result = getLineForPageSegments(pageSegs, pageCount);
                table.Rows.Add(result);
                pageCount++;
            }

            PdfDocument   doc           = new PdfDocument();
            PdfPage       page          = doc.Pages.Add();
            PdfLightTable pdfLightTable = new PdfLightTable();

            pdfLightTable.Style.CellPadding = 3;
            pdfLightTable.ApplyBuiltinStyle(PdfLightTableBuiltinStyle.GridTable3Accent3);
            pdfLightTable.DataSource       = table;
            pdfLightTable.Style.ShowHeader = true;
            pdfLightTable.Draw(page, new Syncfusion.Drawing.PointF(0, 0));

            var filePath = $"{rootPath}/temp{(new Random()).Next(0, 999)}.pdf";

            using (FileStream stream = new FileStream(filePath, FileMode.Create))
            {
                doc.Save(stream);
                doc.Close(true);
                stream.Close();
            }

            if (File.Exists(filePath))
            {
                var bytes = File.ReadAllBytes(filePath);
                File.Delete(filePath);
                return(Convert.ToBase64String(bytes));
            }
            return(null);
        }