public PdfGrid RenderingReportHeader(Document pdfDoc, PdfWriter pdfWriter, IList <SummaryCellData> summaryData)
        {
            var table = new PdfGrid(numColumns: 1)
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                //electroweb/Images/wwwroot/01.png does not exists & defaultImageFilePath was not found.'

                /*  string url ="http://54.86.105.4/";
                 * cellData.CellTemplate = new ImageFilePathField();
                 *
                 * cellData.Value = TestUtils.GetHtmlPage(url+"Fotos/fb9c27b1-98f7-4388-b13c-664d22cac022.jpg");
                 * cellProperties.HorizontalAlignment = HorizontalAlignment.Center;*/
                cellData.CellTemplate = new ImageFilePathField();
                cellData.Value        = TestUtils.GetImagePath("logo.png");
                cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Reporte inventario";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
            });
            return(table.AddBorderToTable());
        }
        public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
        {
            var codigoapoyo    = newGroupInfo.GetSafeStringValueOf <Usuario>(x => x.Nombre);
            var parentLastName = newGroupInfo.GetSafeStringValueOf <Usuario>(x => x.Empresa_Id);
            var IdElement      = newGroupInfo.GetSafeStringValueOf <Usuario>(x => x.Id);

            var table = new PdfGrid(relativeWidths: new[] { 1f, 5f })
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Codigo apoyo:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = codigoapoyo;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Empresa Id:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = parentLastName;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Id:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = IdElement;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            return(table.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 5f));
        }
Esempio n. 3
0
        public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
        {
            var parentName      = newGroupInfo.GetSafeStringValueOf("ParentName");
            var parentLastName  = newGroupInfo.GetSafeStringValueOf("ParentLastName");
            var parentBirthDate = newGroupInfo.GetSafeStringValueOf("ParentBirthDate");

            var table = new PdfGrid(relativeWidths: new[] { 1f, 5f })
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Name:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = parentName;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Last Name:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = parentLastName;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Birth Date:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = parentBirthDate;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            return(table.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 5f));
        }
    public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
    {
        var fechacreacion = "sdfdsf";
        var codigoapoyo   = "sdfdsf";
        var altura        = 4;

        var table = new PdfGrid(relativeWidths: new[] { 1f, 5f })
        {
            WidthPercentage = 100
        };

        table.AddSimpleRow(
            (cellData, cellProperties) =>
        {
            cellData.Value                     = "Codigo apoyo:";
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
        },
            (cellData, cellProperties) =>
        {
            cellData.Value                     = codigoapoyo;
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
        });
        table.AddSimpleRow(
            (cellData, cellProperties) =>
        {
            cellData.Value                     = "Fecha Creacion";
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
        },
            (cellData, cellProperties) =>
        {
            cellData.Value                     = fechacreacion;
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
        });
        table.AddSimpleRow(
            (cellData, cellProperties) =>
        {
            cellData.Value                     = "Altura Disp:";
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
        },
            (cellData, cellProperties) =>
        {
            cellData.Value                     = altura;
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
        });
        return(table.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 5f));
    }
Esempio n. 5
0
        public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
        {
            var groupName = newGroupInfo.GetSafeStringValueOf <vm.ShipmentItem>(x => x.ShipmentId);

            var table = new PdfGrid(relativeWidths: new[] { 1f, 5f })
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Shipment:".Localize();
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = groupName;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });

            return(table.AddBorderToTable(borderColor: BaseColor.LIGHT_GRAY, spacingBefore: 10f));
        }
Esempio n. 6
0
        public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
        {
            var groupName = newGroupInfo.GetSafeStringValueOf <Employee>(x => x.Department);
            var age       = newGroupInfo.GetSafeStringValueOf <Employee>(x => x.Age);

            var table = new PdfGrid(relativeWidths: new[] { 1f, 5f })
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Department:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = groupName;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Age:";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = age;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            });
            return(table.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 10f));
        }
Esempio n. 7
0
        public PdfGrid RenderingReportHeader(Document pdfDoc, PdfWriter pdfWriter, IList <SummaryCellData> summaryData)
        {
            var table = new PdfGrid(numColumns: 1)
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.CellTemplate = new ImageFilePathField();
                cellData.Value        = System.IO.Path.Combine(AppPath.ApplicationPath, "Images\\01.png");
                cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Family rpt";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
            });
            return(table.AddBorderToTable());
        }
Esempio n. 8
0
        public PdfGrid RenderingReportHeader(Document pdfDoc, PdfWriter pdfWriter, IList <SummaryCellData> summaryData)
        {
            var table = new PdfGrid(numColumns: 1)
            {
                WidthPercentage = 100
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.CellTemplate = new ImageFilePathField();
                cellData.Value        = TestUtils.GetImagePath("01.png");
                cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
            });
            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Grouping employees by department and age";
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
            });
            return(table.AddBorderToTable());
        }
Esempio n. 9
0
            public PdfGrid RenderingReportHeader(Document pdfDoc, PdfWriter pdfWriter, IList <SummaryCellData> summaryData)
            {
                var table = new PdfGrid(numColumns: 1)
                {
                    WidthPercentage = 100
                };

                table.AddSimpleRow(
                    (cellData, cellProperties) =>
                {
                    cellData.Value                     = naslov;
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                });
                return(table.AddBorderToTable());
            }
    public PdfGrid RenderingReportHeader(Document pdfDoc, PdfWriter pdfWriter, IList <SummaryCellData> summaryData)
    {
        var table = new PdfGrid(numColumns: 1)
        {
            WidthPercentage = 100
        };


        table.AddSimpleRow(
            (cellData, cellProperties) =>
        {
            //electroweb/Images/wwwroot/01.png does not exists & defaultImageFilePath was not found.'

            /*  string url ="http://54.86.105.4/";
             * cellData.CellTemplate = new ImageFilePathField();
             * cellData.Value = TestUtils.GetHtmlPage(url+"Fotos/fb9c27b1-98f7-4388-b13c-664d22cac022.jpg");
             * cellProperties.HorizontalAlignment = HorizontalAlignment.Center;*/


            cellData.CellTemplate = new ImageFilePathField();

            string url = "http://54.86.105.4/Fotos/d978a65c-5071-4d21-9aac-8a3b81032ba7.jpg";
            iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(new Uri(url));


            byte[] imageArray = System.IO.File.ReadAllBytes(@url);
            string base64ImageRepresentation = Convert.ToBase64String(imageArray);

            /*using (System.Drawing.Image image = jpg)
             * {
             *  using (MemoryStream m = new MemoryStream())
             *  {
             *      image.Save(m, image.RawFormat);
             *      byte[] imageBytes = m.ToArray();
             *      cellProperties.HorizontalAlignment = HorizontalAlignment.Justified;
             *     cellData.Value = TestUtils.GetHtmlPage("http://54.86.105.4/Fotos/d978a65c-5071-4d21-9aac-8a3b81032ba7.jpg");
             *
             *      // Convert byte[] to Base64 String
             *    //  string base64String = Convert.ToBase64String(imageBytes);
             *
             *  }
             * }*/



            /// iTextSharp.text.Image jpg =  iTextSharp.text.Image.GetInstance(new Uri(url));

            //cellData.Value = jpg.Url.LocalPath;

            //doc.Add(new Paragraph("JPG"));

            ///string url = "http://54.86.105.4/Fotos/d978a65c-5071-4d21-9aac-8a3b81032ba7.jpg";

            /// iTextSharp.text.Image jpg =  iTextSharp.text.Image.GetInstance(new Uri(url));



            ///cellData.Value=jpg.Width;
        });
        table.AddSimpleRow(
            (cellData, cellProperties) =>
        {
            cellData.Value                     = "Reporte inventario";
            cellProperties.PdfFont             = PdfRptFont;
            cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
        });

        /* table.AddSimpleRow(
         * (cellData, cellProperties) =>
         * {
         *  //electroweb/Images/wwwroot/01.png does not exists & defaultImageFilePath was not found.'
         *
         *  cellData.CellTemplate = new ImageFilePathField();
         *
         *  cellData.CellTemplate = new ImageFilePathField();
         *  cellData.Value = TestUtils.GetImagePath("reporte_superior.png");
         *  cellProperties.HorizontalAlignment = HorizontalAlignment.Justified;
         * });*/
        return(table.AddBorderToTable());
    }
Esempio n. 11
0
        public IPdfReportData CreatePdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy"));
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true); // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.LeftToRight);
                    defaultHeader.ImagePath(System.IO.Path.Combine(AppPath.ApplicationPath, "Images\\01.png"));
                    defaultHeader.Message("Our new rpt.");
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.ClassicTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                //table.NumberOfDataRowsPerPage(50); // don't set this line and let the PdfRpt calculate it automatically.
                //for long texts larger than a page
                table.SplitLate(false);
                table.SplitRows(true);
            })
                   .MainTableDataSource(dataSource =>
            {
                var longText = string.Join("", Enumerable.Repeat("a", 1500).ToArray());
                var report = new ApprovalReport
                {
                    DocumentTitle = "test",
                    StartDate = DateTime.Now,
                    EndDate = DateTime.Now,
                    InstanceId = Guid.Empty,
                    WorkflowInitiator = "test",
                    WorkflowInitiatorUrl = "test",
                    Approvals = new List <ApprovalReport.Approval>
                    {
                        new ApprovalReport.Approval {
                            Number = "1", ApprovalDate = DateTime.Now, Approver = "test1",
                            ApproverUrl = "test", Department = "test", Position = "test", Result = "test", Url = "test", Commentary = "test"
                        },

                        new ApprovalReport.Approval {
                            Number = "2", ApprovalDate = DateTime.Now, Approver = "test2",
                            ApproverUrl = "test", Department = "test", Position = "test", Result = "test", Url = "test",
                            Commentary = longText
                        },

                        new ApprovalReport.Approval {
                            Number = "3", ApprovalDate = DateTime.Now, Approver = "test3",
                            ApproverUrl = "test", Department = "test", Position = "test", Result = "test", Url = "test", Commentary = "test"
                        },
                    }
                };

                dataSource.StronglyTypedList(report.Approvals);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("Summary");
                summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                summarySettings.PageSummarySettings("Page Summary");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.Number);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(1);
                    column.HeaderCell("№ П/П");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.Approver);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(3);
                    column.HeaderCell("Ф.И.О. согласующего");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.Department);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(3);
                    column.HeaderCell("Подразделение");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.Position);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(3);
                    column.HeaderCell("Должность");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.ApprovalDate);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(5);
                    column.Width(2);
                    column.HeaderCell("Дата согласования");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.Result);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(6);
                    column.Width(2);
                    column.HeaderCell("Результат");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ApprovalReport.Approval>(x => x.Commentary);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(7);
                    column.Width(4);
                    column.HeaderCell("Замечания/комментарии");
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "Нет данных для отображения.");

                events.MainTableCreated(args =>
                {
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };
                    infoTable.AddSimpleRow((cellData, properties) =>
                    {
                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        cellData.Value = string.Format("Название документа:   {0}", "DocumentTitle");
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    infoTable.AddSimpleRow((cellData, properties) =>
                    {
                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        cellData.Value = string.Format("Инициатор согласования:   {0}", "WorkflowInitiator");
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    infoTable.AddSimpleRow((cellData, properties) =>
                    {
                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        cellData.Value = string.Format("Дата начала согласования:   {0}", "StartDate");
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    infoTable.AddSimpleRow((cellData, properties) =>
                    {
                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        cellData.Value = string.Format("Дата окончания согласования:   {0}", "EndDate");
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });

                    var table = infoTable.AddBorderToTable(borderColor: BaseColor.LIGHT_GRAY, spacingBefore: 10f);
                    table.SpacingAfter = 10f;
                    args.PdfDoc.Add(table);
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
                export.ToCsv();
                export.ToXml();
            })
                   .Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\RptLongTextInCellSample-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))));
        }
        public IPdfReportData CreateEventsPdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(TestUtils.GetVerdanaFontPath(),
                           TestUtils.GetTahomaFontPath());
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy"));
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true); // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.LeftToRight);
                    defaultHeader.ImagePath(TestUtils.GetImagePath("01.png"));
                    defaultHeader.Message("Our new rpt.");
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.SilverTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
            })
                   .MainTableDataSource(dataSource =>
            {
                var listOfRows = new List <Order>();
                for (int i = 0; i < 60; i++)
                {
                    listOfRows.Add(new Order
                    {
                        Id = i,
                        Description = "Description Description ... " + i,
                        Price = 1000 + i
                    });
                }
                dataSource.StronglyTypedList(listOfRows);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("Summary");
                summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                summarySettings.PageSummarySettings("Page Summary");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <Order>(x => x.Description);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(3);
                    column.HeaderCell("Description");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <Order>(x => x.Id);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(1);
                    column.HeaderCell("Id");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <Order>(x => x.Price);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(2);
                    column.HeaderCell("Price");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");

                events.CellCreated(args =>
                {
                    if (args.CellType == CellType.PreviousPageSummaryCell ||
                        args.CellType == CellType.PageSummaryCell ||
                        args.CellType == CellType.SummaryRowCell)
                    {
                        if (!string.IsNullOrEmpty(args.Cell.RowData.FormattedValue) &&
                            args.Cell.RowData.PropertyName == "Price")
                        {
                            args.Cell.RowData.FormattedValue += " $";
                        }
                    }
                });

                events.MainTableCreated(args =>
                {
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = "Show data before the main table ...";
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    var table = infoTable.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 10f);
                    table.SpacingAfter = 10f;
                    args.PdfDoc.Add(table);
                });

                events.ShouldSkipRow(args =>
                {
                    var rowData = args.TableRowData;
                    //var previousTableRowData = args.PreviousTableRowData;

                    var description = rowData.FirstOrDefault(x => x.PropertyName == "Description");
                    if (description != null &&
                        description.PropertyValue.ToSafeString() == "Description Description ... 1")
                    {
                        return true; // don't render this row.
                    }

                    return false;
                });

                var pageNumber = 0;
                events.ShouldSkipHeader(args =>
                {
                    pageNumber++;
                    if (pageNumber == 2)
                    {
                        return true; // don't render this header row.
                    }

                    return false;
                });

                events.ShouldSkipFooter(args =>
                {
                    if (pageNumber == 2)
                    {
                        return true; // don't render this footer row.
                    }

                    return false;
                });

                events.MainTableAdded(args =>
                {
                    /*var objData = args.ColumnCellsSummaryData.Where(x => x.CellData.PropertyName.Equals("Price"))
                     *  .OrderByDescending(x => x.OverallRowNumber)
                     *  .First()
                     *  .OverallAggregateValue;*/

                    var data = args.LastOverallAggregateValueOf <Order>(y => y.Price);
                    var msg = "Total: " + data + ", " + long.Parse(data, NumberStyles.AllowThousands, CultureInfo.InvariantCulture).NumberToText(Language.English);
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = "Show data after the main table ...";
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = msg;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    args.PdfDoc.Add(infoTable.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 10f));
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
            })
                   .Generate(data => data.AsPdfFile(TestUtils.GetOutputFileName())));
        }
Esempio n. 13
0
        public IPdfReportData CreatePdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.RightToLeft);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "وحيد", Application = "نرم افزار ", Keywords = "حساب تفصیلی ", Subject = "حساب تفصیلی ", Title = "حساب تفصیلی "
                });
                doc.DiagonalWatermark(new DiagonalWatermark
                {
                    Text = "Diagonal Watermark\nLine 2\nLine 3",
                    RunDirection = PdfRunDirection.LeftToRight,
                    Font = getWatermarkFont(),
                    FillOpacity = 0.6f,
                    StrokeOpacity = 1
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(AppPath.ApplicationPath, "fonts\\irsans.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Size(8);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(string.Concat("کاربر : ", "وحيد",
                                                   " | ", "تاریخ تهیه گزارش : ", PersianDate.ToPersianDateTime(DateTime.Now, "/", true).FixWeakCharacters()));
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true); // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.Message("دفتر فرضي");
                    defaultHeader.ImagePath(System.IO.Path.Combine(AppPath.ApplicationPath, "Images\\01.png"));
                });
            })
                   .MainTableTemplate(template =>
            {
                template.CustomTemplate(new GrayTemplate());
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.GroupsPreferences(new GroupsPreferences
                {
                    GroupType = GroupType.HideGroupingColumns,
                    RepeatHeaderRowPerGroup = true,
                    ShowOneGroupPerPage = true,
                    SpacingBeforeAllGroupsSummary = 5f,
                    NewGroupAvailableSpacingThreshold = 5f
                });
            })
                   .MainTableDataSource(dataSource =>
            {
                var rows = new List <VoucherRowPrintViewModel>();
                var rnd = new Random();
                for (int i = 0; i < 10; i++)
                {
                    rows.Add(new VoucherRowPrintViewModel
                    {
                        Title = "عنوان " + i,
                        VoucherNumber = i,
                        VoucherDate = DateTime.Now.AddDays(-i),
                        Description = "توضيحات " + i,
                        Debtor = i % 2 == 0? 0: rnd.Next(1, 100),
                        Creditor = i % 2 != 0? 0: rnd.Next(1, 100)
                    });
                }
                dataSource.StronglyTypedList(rows);
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.Title);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.IsRowNumber(true);
                    column.Order(0);
                    column.Width(0.7f);
                    column.Group(true,
                                 (val1, val2) =>
                    {
                        return val1.ToString() == val2.ToString();
                    });
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNumber");
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.IsRowNumber(true);
                    column.Order(0);
                    column.Width(0.7f);
                    column.HeaderCell("ردیف");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.VoucherNumber);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("سند");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.VoucherDate);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(1.5f);
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj =>
                        {
                            if (obj == null || string.IsNullOrEmpty(obj.ToString()))
                            {
                                return string.Empty;
                            }
                            return PersianDate.ToPersianDateTime((DateTime)obj);
                        });
                    });
                    column.HeaderCell("تاریخ");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.Description);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(4);
                    column.HeaderCell("شرح");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.Debtor);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Right);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(1.5f);
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.HeaderCell("بدهکار");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.Creditor);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Right);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(1.5f);
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.HeaderCell("بستانکار");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.CaclulatedDetection);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(1);
                    column.HeaderCell("تشخیص");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <VoucherRowPrintViewModel>(x => x.CaclulatedRemains);
                    column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Right);
                    column.IsVisible(true);
                    column.Order(5);
                    column.Width(1.5f);
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.HeaderCell("مانده");
                });
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("جمع کل");
                summarySettings.PreviousPageSummarySettings("نقل از صفحه قبل");
                //summarySettings.AllGroupsSummarySettings("جمع نهايي");
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "داده ای جهت نمایش وجود ندارد.");
                events.CellCreated(args =>
                {
                    args.Cell.BasicProperties.CellPadding = 4f;
                });
                events.MainTableAdded(args =>
                {
                    var taxTable = new PdfGrid(3);  // Create a clone of the MainTable's structure
                    taxTable.RunDirection = 3;
                    taxTable.SetWidths(new float[] { 3, 3, 3 });
                    taxTable.WidthPercentage = 100f;
                    taxTable.SpacingBefore = 10f;

                    taxTable.AddSimpleRow(
                        (data, cellProperties) =>
                    {
                        data.Value = "امضاء تنظیم کننده";
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = "امضاء حسابدار";
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = "امضاء مدیرعامل";
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    });
                    args.PdfDoc.Add(taxTable);
                });
            })
                   .Export(export =>
            {
                export.ToExcel("خروجی اکسل");
                export.ToCsv("خروجی CSV");
                export.ToXml("خروجی XML");
            })
                   .Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\RptIListSample-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))));
        }
Esempio n. 14
0
        public static PdfReport CreateHtmlHeaderPdfReport(String wwwroot, List <ElementoReportViewModel> reportElementos, string date_start_report, string date_end_report)
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);

                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "Test", Subject = "Test Rpt", Title = "Reporte de inventario"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(Path.Combine(wwwroot, "fonts", "verdana.ttf"),
                           Path.Combine(wwwroot, "fonts", "tahoma.ttf"));
                fonts.Size(5);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.HtmlFooter(rptFooter =>
                {
                    rptFooter.PageFooterProperties(new FooterBasicProperties
                    {
                        RunDirection = PdfRunDirection.LeftToRight,
                        ShowBorder = false,
                        PdfFont = footer.PdfFont,
                        TotalPagesCountTemplateHeight = 50,
                        TotalPagesCountTemplateWidth = 100
                    });
                    rptFooter.AddPageFooter(pageFooter =>
                    {
                        //var encabezado_inferior= Path.Combine(wwwroot, "Images","reporte_inferior.png");
                        ///var encabezado_inferior= TestUtils.GetImagePath("reporte_inferior.png");
                        //var image = string.Format("<img  width='450'  src='{0}' />", encabezado_inferior);
                        // TotalPagesNumber is a custom image.
                        var page = string.Format("Page {0} Of <img src='TotalPagesNumber' />", pageFooter.CurrentPageNumber);
                        var date = DateTime.Now.ToString("MM/dd/yyyy");

                        /*return string.Format(@"<table style='margin-top:-20px !important;font-size:9pt;font-family:tahoma;'>
                         *                             <tr>
                         *                                                                     <td align='center'>{0}</td>
                         *                                                         </tr>
                         *                                                             <tr>
                         *                                                                     <td width='50%' align='center'>{1}</td>
                         *                                                                     <td width='50%' align='center'>{2}</td>
                         *                                                              </tr>
                         *                                             </table>",image, page, date);*/
                        return string.Format(@"<table  style='width: 100%;font-size:5pt;font-family:tahoma;' >
														<tr style=' font-weight: bold;' >
															<th style='color:#e26912;'>CONDICION</th>
															<th style='color:#e26912;'>MATERIAL</th>
															<th style='color:#e26912;'>ESTADO</th>
															<th style='color:#e26912;'>PROPIEDAD</th>
															<th style='color:#e26912;'>TIPO DE RED BT</th>
															<th style='color:#e26912;'>TIPO CABLE COMUNICACION</th>
														</tr>
														<tbody>
															<tr>
																<td>
																<span style='color:#e26912; font-weight: bold;'>E</span>  ENCONTRADO <br />
																<span style='color:#e26912; font-weight: bold;'>I </span>  INSTALADO<br />
																<span style='color:#e26912; font-weight: bold;'>R </span> RETIRADO<br />
																<span style='color:#e26912; font-weight: bold;'>C</span> CAMBIO
																</td>
																<td>
																<span style='color:#e26912; font-weight: bold;'>CO</span>  CONCRETO<br />
																<span style='color:#e26912; font-weight: bold;'>MA</span>   POSTE MADERA<br />
																<span style='color:#e26912; font-weight: bold;'>TO </span>  TORRE METAL<br />
																<span style='color:#e26912; font-weight: bold;'>TU </span> TUBO
																</td>
																<td>
																<span style='color:#e26912; font-weight: bold;'>B:  </span> BUENO<br />
																<span style='color:#e26912; font-weight: bold;'>M:</span> MALO
																</td>
																<td>
																<span style='color:#e26912; font-weight: bold;'>EH: </span>  Electrohuila<br />
																<span style='color:#e26912; font-weight: bold;'>GO:</span>   Gobernacion<br />
																<span style='color:#e26912; font-weight: bold;'>MC: </span>  Municipio
																</td>
																<td>
																<span style='color:#e26912; font-weight: bold;'>ACSR:</span>  Aluminio Desnudo<br />
																<span style='color:#e26912; font-weight: bold;'>ASC: </span> Aluminio Aislado<br />
																<span style='color:#e26912; font-weight: bold;'>TRE: </span>  Trenzado
																</td>
																<td>RG6<br />RG11<br />.500</td>
															</tr>
															<tr >
																<td colspan='3'>{0}</td>
																<td colspan='3' >{1}</td>
															</tr>
														</tbody>
													</table>"                                                    , page, date);
                    });
                });
            })
                   .PagesHeader(header =>
            {
                header.HtmlHeader(rptHeader =>
                {
                    rptHeader.PageHeaderProperties(new HeaderBasicProperties
                    {
                        RunDirection = PdfRunDirection.LeftToRight,
                        ShowBorder = true,
                        PdfFont = header.PdfFont
                    });
                    rptHeader.AddPageHeader(pageHeader =>
                    {
                        //var message = "Reporte de cable de operadores.";
                        //var photo = "http://54.86.105.4/Fotos/d978a65c-5071-4d21-9aac-8a3b81032ba7.jpg";

                        var proyecto = "";
                        if (reportElementos.Count > 0)
                        {
                            proyecto = reportElementos.FirstOrDefault().Nombre_Proyecto;
                        }


                        /// var dateNow = DateTime.Now.ToString("MM/dd/yyyy");
                        var dateNow = string.Format("{0} a {1}", date_start_report, date_end_report);
                        var encabezado = Path.Combine(wwwroot, "Images", "logo_electrohuila.png");
                        ///var encabezado= TestUtils.GetImagePath("logo_electrohuila.png");
                        var image = string.Format("<img  width='130'  src='{0}' />", encabezado);

                        /* return string.Format(@"<table style='width: 100%;font-size:9pt;font-family:tahoma;'>
                         *                                                      <tr>
                         *                                                              <td align='center'>{0}</td>
                         *                                                      </tr>
                         *                                                      <!--<tr>
                         *                                                              <td align='center'>{1}</td>-->
                         *                                                      </tr>
                         *                                              </table>", image, message);*/

                        return string.Format(@"<table style='width: 100%;font-size:7pt;font-family:tahoma;'>
													<tr>
													<td rowspan='2'> 
														<center>
															{0}
														</center>
													</td>
													<td align='center' colspan='2'>
														
															<span style='padding:0px !important; color:#e26912; font-weight: bold;'>  
															INVENTARIO CABLE OPERADORES 
															</span>
														
													</td>
													
													</tr>
													<tr>
													<td > 
															<span style='color:#e26912; font-weight: bold;'>  FECHA(DD/MM/AAAA):  </span>{1}<br />
															<span style='color:#e26912; font-weight: bold;'>  CIUDAD DE EJECUCUION:  </span><br />
															<span style='color:#e26912; font-weight: bold;'>  PROYECTO:  </span>{2}<br />
													</td>
													<td> 
															<span style='color:#e26912; font-weight: bold;'> EMPRESA OPERADORA  </span><br />
															<span style='color:#e26912; font-weight: bold;'>  ORDEN DE TRABAJO  </span>01<br />
															<span style='color:#e26912; font-weight: bold;'>  VERSION:  </span>01<br />
													</td>
													</tr>
											</table>
										"                                        , image, dateNow, proyecto);
                    });

                    rptHeader.GroupHeaderProperties(new HeaderBasicProperties
                    {
                        RunDirection = PdfRunDirection.LeftToRight,
                        ShowBorder = true,
                        SpacingBeforeTable = 10f,
                        PdfFont = header.PdfFont
                    });


                    rptHeader.AddGroupHeader(groupHeader =>
                    {
                        var data = groupHeader.NewGroupInfo;


                        var id_usuario = long.Parse(data.GetSafeStringValueOf <ElementoReportViewModel>(x => x.Usuario_Id));
                        var id_ciudad = long.Parse(data.GetSafeStringValueOf <ElementoReportViewModel>(x => x.Ciudad_Id));

                        var fechaLevantamientoFormat = data.GetSafeStringValueOf <ElementoReportViewModel>(x => x.FechaLevantamientoFormat);



                        var postes = reportElementos.Where(a => a.Usuario_Id == id_usuario && a.Ciudad_Id == id_ciudad && a.FechaLevantamientoFormat == fechaLevantamientoFormat);


                        var meta = 40;
                        var adicionales = 0;
                        var meta_realizados = 0;
                        if (postes.ToList().Count > meta)
                        {
                            adicionales = postes.ToList().Count - meta;
                            meta_realizados = meta;
                        }
                        else
                        {
                            meta_realizados = postes.ToList().Count;
                        }



                        var Usuario = data.GetSafeStringValueOf <ElementoReportViewModel>(x => x.Usuario);
                        var ciudad = data.GetSafeStringValueOf <ElementoReportViewModel>(x => x.Ciudad);

                        /*return string.Format(@"<table style='width: 100%; font-size:9pt;font-family:tahoma;'>
                         *                                                                     <tr>
                         *                                                                             <td style='width:25%;border-bottom-width:0.2; border-bottom-color:red;border-bottom-style:solid'>Ciudad:</td>
                         *                                                                             <td style='width:75%'>{0}</td>
                         *                                                                     </tr>
                         *
                         *                                                                     <tr>
                         *                                                                             <td style='width:25%;border-bottom-width:0.2; border-bottom-color:red;border-bottom-style:solid'>Empresa:</td>
                         *                                                                             <td style='width:75%'>{1}</td>
                         *                                                                     </tr>
                         *                                             </table>",
                         *                                             ciudad,empresa);*/

                        return string.Format(@"<table style='width: 100%;font-size:7pt;font-family:tahoma;'>
	<tr>
		<th ><strong>Ciudad:</strong></th>
		<td width='50%' align='center'>{0}</td>
		<td  ><strong>Postes</strong></td>
		<td align='center'>{1}</td>
		
		<td rowspan='2'  style='padding-left:20px; width: 100%;font-size:7pt;font-family:tahoma;'>

		<strong>Meta  </strong> {4}
		<br><strong>Adicionales  </strong> {5}
	
		</td>
	</tr>
	<tr>
		<th ><strong>Usuario:</strong></th>
		<td align='center'>{2}</td>
		<th ><strong>Fecha:</strong></th>
		<td align='center'>{3}</td>										
	</tr>
</table>", ciudad, postes.Count(), Usuario, fechaLevantamientoFormat, meta_realizados, adicionales);

                        /*	return string.Format(@"<table style='width: 100%;font-size:7pt;font-family:tahoma;%'>
                         *              <tr>
                         *                      <td><strong>Ciudad</strong></td>
                         *                      <td>{0}</td>
                         *                      <td><strong>Cable Operador</strong></td>
                         *                      <td>{1}</td>
                         *              </tr>
                         *              </table>",ciudad,empresa);*/
                    });
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.SilverTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.GroupsPreferences(new GroupsPreferences
                {
                    GroupType = GroupType.HideGroupingColumns,

                    RepeatHeaderRowPerGroup = true,
                    ShowOneGroupPerPage = true,

                    SpacingBeforeAllGroupsSummary = 5f,
                    NewGroupAvailableSpacingThreshold = 150
                });

                //table.NumberOfDataRowsPerPage(35);
            })
                   .MainTableDataSource(dataSource =>
            {
                var listOfRows = new List <ElementoReportViewModel>();
                listOfRows = reportElementos;
                listOfRows = listOfRows.OrderBy(x => x.Ciudad).ThenBy(x => x.Usuario).ThenBy(x => x.FechaLevantamientoFormat).ToList();
                /// listOfRows = listOfRows.OrderBy(x => x.Department).ThenBy(x => x.Age).ToList();
                dataSource.StronglyTypedList(listOfRows);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                //summarySettings.OverallSummarySettings("Summary");
                ///  summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                //  summarySettings.PageSummarySettings("Page Summary");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(5);

                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Ciudad);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.Order(1);
                    column.Width(10);
                    column.HeaderCell("Ciudad");
                    column.Group(
                        (val1, val2) =>
                    {
                        return val1.ToString() == val2.ToString();
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Usuario);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.Order(2);
                    column.Width(10);
                    column.HeaderCell("Usuario");
                    column.Group(
                        (val1, val2) =>
                    {
                        //return (int)val1 == (int)val2;
                        return val1.ToString() == val2.ToString();
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.FechaLevantamientoFormat);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.Order(3);
                    column.Width(10);
                    column.HeaderCell("FechaLevantamientoFormat");
                    column.Group(
                        (val1, val2) =>
                    {
                        //return (int)val1 == (int)val2;
                        return val1.ToString() == val2.ToString();
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.CodigoApoyo);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(8);
                    column.HeaderCell("Codigo Apoyo");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Longitud);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(5);
                    column.Width(6);
                    column.HeaderCell("Long. Poste(M)");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Nombre_Estado);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(6);
                    column.Width(6);
                    column.HeaderCell("Estado");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Valor_Nivel_Tension);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(7);
                    column.Width(6);
                    column.HeaderCell("Nivel Tension");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.AlturaDisponible);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(8);
                    column.Width(7);
                    column.HeaderCell("Altura Disponible");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.ResistenciaMecanica);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(9);
                    column.Width(8);
                    column.HeaderCell("Resistencia Mecanica");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Nombre_Material);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(10);
                    column.Width(7);
                    column.HeaderCell("Material");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Retenidas);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(11);
                    column.Width(7);
                    column.HeaderCell("Retenidas");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Direccion_Elemento);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(12);
                    column.Width(12);
                    column.HeaderCell("Direccion");
                });



                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.Coordenadas_Elemento);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(13);
                    column.Width(16);
                    column.HeaderCell("Coordenadas");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.HoraInicio);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(14);
                    column.Width(8);
                    column.HeaderCell("Hora Inicio");
                });
                columns.AddColumn(column =>
                {
                    column.PropertyName <ElementoReportViewModel>(x => x.HoraFin);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(15);
                    column.Width(8);
                    column.HeaderCell("Hora Fin");
                });


                /* columns.AddColumn(column =>
                 * {
                 *       column.PropertyName<Employee>(x => x.Salary);
                 *       column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                 *       column.IsVisible(true);
                 *       column.Order(6);
                 *       column.Width(15);
                 *       column.HeaderCell("Salary");
                 *       column.ColumnItemsTemplate(template =>
                 *       {
                 *               template.TextBlock();
                 *               template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                 *                                                                                      ? string.Empty : string.Format("{0:n0}", obj));
                 *       });
                 *       column.AggregateFunction(aggregateFunction =>
                 *       {
                 *               aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                 *               aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                 *                                                                                      ? string.Empty : string.Format("{0:n0}", obj));
                 *       });
                 * });*/
            })

                   /*
                    * .MainTableEvents(events =>
                    *          {
                    *                  events.DataSourceIsEmpty(message: "There is no data available to display.");
                    *          })
                    *          .Export(export =>
                    *          {
                    *                  export.ToExcel();
                    *          })
                    *          .Generate(data => data.AsPdfFile(TestUtils.GetOutputFileName()));*/

                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");

                events.CellCreated(args =>
                {
                    args.Cell.BasicProperties.CellPadding = 4f;
                });
                events.MainTableAdded(args =>
                {
                    var taxTable = new PdfGrid(5);  // Create a clone of the MainTable's structure
                    taxTable.RunDirection = 3;
                    taxTable.SetWidths(new float[] { 5, 5, 5, 5, 5 });
                    taxTable.WidthPercentage = 100f;
                    taxTable.SpacingBefore = 10f;


                    //Row 1
                    taxTable.AddSimpleRow(
                        (data, cellProperties) =>
                    {
                        data.Value = " ADICIONALES";
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = " TOTAL";
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = " FECHA";
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = " USUARIO";
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = " #";
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                    }
                        );



                    var listGroupListByDates = reportElementos.ToList().GroupBy(a => a.FechaLevantamientoFormat);
                    var i = 0;

                    var total_adicionales = 0;
                    var total_apoyos = 0;

                    foreach (var item in listGroupListByDates)
                    {
                        i = i + 1;

                        var postes = reportElementos.Where(a => a.Usuario_Id == item.FirstOrDefault().Usuario_Id&& a.FechaLevantamientoFormat == item.FirstOrDefault().FechaLevantamientoFormat);
                        var meta = 40;
                        var adicionales = 0;
                        var meta_realizados = 0;
                        if (postes.ToList().Count > meta)
                        {
                            adicionales = postes.ToList().Count - meta;
                            meta_realizados = meta;
                        }
                        else
                        {
                            meta_realizados = postes.ToList().Count;
                        }


                        total_adicionales += adicionales;
                        total_apoyos += postes.ToList().Count;



                        //Row 1
                        taxTable.AddSimpleRow(
                            (data, cellProperties) =>
                        {
                            data.Value = adicionales;
                            cellProperties.FontColor = BaseColor.Black;
                            cellProperties.BackgroundColor = BaseColor.White;
                            cellProperties.ShowBorder = false;
                            cellProperties.PdfFont = args.PdfFont;
                        },
                            (data, cellProperties) =>
                        {
                            data.Value = postes.ToList().Count;
                            cellProperties.FontColor = BaseColor.Black;
                            cellProperties.BackgroundColor = BaseColor.White;
                            cellProperties.ShowBorder = false;
                            cellProperties.PdfFont = args.PdfFont;
                        },
                            (data, cellProperties) =>
                        {
                            data.Value = item.FirstOrDefault().FechaLevantamientoFormat;
                            cellProperties.FontColor = BaseColor.Black;
                            cellProperties.BackgroundColor = BaseColor.White;
                            cellProperties.ShowBorder = false;
                            cellProperties.PdfFont = args.PdfFont;
                        },
                            (data, cellProperties) =>
                        {
                            data.Value = item.FirstOrDefault().Usuario;
                            cellProperties.FontColor = BaseColor.Black;
                            cellProperties.BackgroundColor = BaseColor.White;
                            cellProperties.ShowBorder = false;
                            cellProperties.PdfFont = args.PdfFont;
                        },
                            (data, cellProperties) =>
                        {
                            data.Value = i;
                            cellProperties.FontColor = BaseColor.Black;
                            cellProperties.BackgroundColor = BaseColor.White;
                            cellProperties.ShowBorder = false;
                            cellProperties.PdfFont = args.PdfFont;
                        });
                    }



                    taxTable.AddSimpleRow(
                        (data, cellProperties) =>
                    {
                        data.Value = total_adicionales;
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = total_apoyos;
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = " ";
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = reportElementos.FirstOrDefault().Usuario;
                        cellProperties.FontColor = BaseColor.Black;
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = "TOTAL";
                        cellProperties.BackgroundColor = BaseColor.Orange;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LightGray;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    }
                        );



                    args.PdfDoc.Add(taxTable);
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
            }));
        }
Esempio n. 15
0
        public IPdfReportData CreatePdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy"));
            })
                   .PagesHeader(header =>
            {
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.LeftToRight);
                    defaultHeader.ImagePath(System.IO.Path.Combine(AppPath.ApplicationPath, "Images\\01.png"));
                    defaultHeader.Message("Our new rpt.");
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.SilverTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
            })
                   .MainTableDataSource(dataSource =>
            {
                var listOfRows = new List <Order>();
                for (int i = 0; i < 60; i++)
                {
                    listOfRows.Add(new Order
                    {
                        Id = i,
                        Description = "Description Description ... " + i,
                        Price = 1000 + i
                    });
                }
                dataSource.StronglyTypedList(listOfRows);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("Summary");
                summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                summarySettings.PageSummarySettings("Page Summary");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <Order>(x => x.Description);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(3);
                    column.HeaderCell("Description");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <Order>(x => x.Id);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(1);
                    column.HeaderCell("Id");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <Order>(x => x.Price);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(2);
                    column.HeaderCell("Price");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj));
                    });
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");

                events.MainTableCreated(args =>
                {
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = "Show data before the main table ...";
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    var table = infoTable.AddBorderToTable(borderColor: BaseColor.LIGHT_GRAY, spacingBefore: 10f);
                    table.SpacingAfter = 10f;
                    args.PdfDoc.Add(table);
                });

                events.MainTableAdded(args =>
                {
                    var data = args.LastOverallAggregateValueOf <Order>(y => y.Price);
                    var msg = "Total: " + data + ", " + long.Parse(data, NumberStyles.AllowThousands, CultureInfo.InvariantCulture).NumberToText(Language.English);
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = "Show data after the main table ...";
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = msg;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.LeftToRight;
                    });
                    args.PdfDoc.Add(infoTable.AddBorderToTable(borderColor: BaseColor.LIGHT_GRAY, spacingBefore: 10f));
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
            })
                   .Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\EventsPdfReport-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))));
        }
Esempio n. 16
0
        public static IPdfReportData CreatePdfReport(IndividualSportCompetitonReportModel reportModel, string headerMessage)
        {
            var appPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            if (HttpContext.Current != null)
            {
                appPath = HttpContext.Current.Server.MapPath("~/App_Data");
            }

            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.RightToLeft);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata
                {
                    Author = "Vahid",
                    Application = "PdfRpt",
                    Keywords = "IList Rpt.",
                    Subject = "Test Rpt",
                    Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                //fonts.Path(
                //    System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
                //    System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Path(HttpContext.Current.Server.MapPath("~/Content/Fonts/irsans.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\Tahoma.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToPersianDateTime());
                //var date = DateTime.Now.ToString("MM/dd/yyyy");
                //footer.InlineFooter(inlineFooter =>
                //{
                //    inlineFooter.FooterProperties(new FooterBasicProperties
                //    {
                //        PdfFont = footer.PdfFont,
                //        HorizontalAlignment = HorizontalAlignment.Center,
                //        RunDirection = PdfRunDirection.LeftToRight,
                //        SpacingBeforeTable = 30,
                //        TotalPagesCountTemplateHeight = 9,
                //        TotalPagesCountTemplateWidth = 50
                //    });

                //    //return inlineFooter;
                //});
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true);     // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.RightToLeft);
                    //defaultHeader.ImagePath(System.IO.Path.Combine(appPath, "Images\\01.png"));
                    defaultHeader.Message(headerMessage);
                });
            })
                   .MainTableTemplate(template =>
            {
                //template.BasicTemplate(BasicTemplate.BlackAndBlue1Template);
                template.CustomTemplate(new MyTemplate());
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.SpacingBefore(10);
                table.SplitLate(true);
            })
                   .MainTableDataSource(dataSource =>
            {
                dataSource.StronglyTypedList(reportModel.Competitors);
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.Image);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(3);
                    column.HeaderCell("تصویر");
                    column.FixedHeight(70);
                    column.ColumnItemsTemplate(t => t.ImageFilePath(defaultImageFilePath: string.Empty,
                                                                    fitImages: true));
                });


                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.FullName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(3.5f);
                    column.HeaderCell("نام و نام خانوادگی");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.FatherName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(2);
                    column.HeaderCell("نام پدر");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.BirthDate);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2.7f);
                    column.HeaderCell("تاریخ تولد");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                ? string.Empty
                                : ((DateTime)obj).ToPersianDateTime(includeHourMinute: false));
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.NationalCode);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(3);
                    column.HeaderCell("کد ملی");
                });



                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.StudyField);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2);
                    column.HeaderCell("رشته");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.StudentNumber);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2.5f);
                    column.HeaderCell("شماره دانشجویی");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.University);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2.5f);
                    column.HeaderCell("واحد/منطقه/استان");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <IndividualSportCompetitorReportModel>(x => x.InsuranceNumber);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(3);
                    column.HeaderCell("شماره کارت بیمه ورزشی");
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");



                events.MainTableAdded(args =>
                {
                    events.DocumentClosing(e =>
                    {
                        // close the document without closing the underlying stream
                        e.PdfWriter.CloseStream = false;
                        e.PdfDoc.Close();

                        e.PdfStreamOutput.Position = 0;
                    });


                    var infoTable = new PdfGrid(numColumns: 2)
                    {
                        WidthPercentage = 100,
                        SpacingAfter = 50,
                        SpacingBefore = 50,
                        RunDirection = PdfWriter.RUN_DIRECTION_RTL,
                        SplitLate = true,
                        SplitRows = true
                    };

                    infoTable.AddSimpleRow(

                        (cellData, properties) =>
                    {
                        cellData.Value =
                            "مراتب فوق مورد تایید است.\n \n \n \n \n مهر و امضاء مسئول تربیت بدنی واحد";
                        properties.ShowBorder = true;
                        properties.BorderWidth = 0;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;

                        properties.FixedHeight = 80;
                        //properties.PaddingTop = 0;
                        //properties.PaddingRight = 25;
                        //properties.PaddingLeft = 25;
                        //properties.PaddingBottom = 0;

                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        //properties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (cellData, properties) =>
                    {
                        cellData.Value = "مراتب فوق مورد تایید است.\n \n \n \n \n مهر و امضاء رئیس واحد";
                        properties.ShowBorder = true;
                        properties.BorderWidth = 0;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;

                        properties.FixedHeight = 80;
                        //properties.PaddingTop = 0;
                        //properties.PaddingRight = 25;
                        //properties.PaddingLeft = 25;
                        //properties.PaddingBottom = 0;

                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        //properties.PdfFontStyle= DocumentFontStyle.Bold;
                    }
                        );


                    //args.Table.ad


                    var techTitleTable = new PdfGrid(numColumns: 2)
                    {
                        WidthPercentage = 100,
                        SpacingAfter = 20,
                        SpacingBefore = 20,
                        RunDirection = PdfWriter.RUN_DIRECTION_RTL,
                    };

                    techTitleTable.AddSimpleRow(

                        (cellData, properties) =>
                    {
                        cellData.Value =
                            "فهرست اعضای کادر فنی";
                        properties.ShowBorder = true;
                        properties.BorderWidth = 0;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;

                        properties.FixedHeight = 20;
                        //properties.PaddingTop = 0;
                        //properties.PaddingRight = 25;
                        //properties.PaddingLeft = 25;
                        //properties.PaddingBottom = 0;

                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        //properties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (cellData, properties) =>
                    {
                        cellData.Value = "";
                        properties.ShowBorder = true;
                        properties.BorderWidth = 0;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;

                        properties.FixedHeight = 20;
                        //properties.PaddingTop = 0;
                        //properties.PaddingRight = 25;
                        //properties.PaddingLeft = 25;
                        //properties.PaddingBottom = 0;

                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        //properties.PdfFontStyle= DocumentFontStyle.Bold;
                    }
                        );



                    var table = new PdfGrid(7)
                    {
                        WidthPercentage = 100,
                        SpacingAfter = 50,
                        SpacingBefore = 50,
                        RunDirection = PdfWriter.RUN_DIRECTION_RTL,
                        ExtendLastRow = false,
                        HeaderRows = 1,
                        SplitLate = true,
                        SplitRows = true,
                    };



                    var borderColor = new BaseColor(ColorTranslator.FromHtml("#999999").ToArgb());

                    var oddRowColor = new BaseColor(ColorTranslator.FromHtml("#CCCCCC").ToArgb());


                    //table.SetExtendLastRow(false, false);


                    table.AddSimpleRow(
                        (cellData, cellProperties) =>
                    {
                        cellProperties.CellPadding = 3;
                        cellData.Value = "#";
                        //cellProperties.PdfFont = PdfRptFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    },
                        (cellData, cellProperties) =>
                    {
                        cellData.Value = "تصویر";
                        //cellProperties.PdfFont = PdfRptFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    },
                        (cellData, cellProperties) =>
                    {
                        cellData.Value = "نام و نام خانوادگی";
                        //cellProperties.PdfFont = PdfRptFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    },
                        (cellData, cellProperties) =>
                    {
                        cellData.Value = "نام پدر";
                        //cellProperties.PdfFont = PdfRptFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    },
                        (cellData, cellProperties) =>
                    {
                        cellData.Value = "کد ملی";
                        //cellProperties.PdfFont = PdfRptFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    },
                        (cellData, cellProperties) =>
                    {
                        cellData.Value = "واحد/منطقه/استان";
                        //cellProperties.PdfFont = PdfRptFont;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    },
                        (cellData, cellProperties) =>
                    {
                        cellData.Value = "سمت";
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                        cellProperties.ShowBorder = true;
                        cellProperties.BorderWidth = 0;
                        cellProperties.PdfFont = events.PdfFont;
                        cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                        cellProperties.BorderColor = borderColor;
                    }
                        );

                    var index = 1;
                    foreach (var technicalStaff in reportModel.TechnicalStaves)
                    {
                        var staff = technicalStaff;
                        var staff1 = technicalStaff;
                        var technicalStaff1 = technicalStaff;
                        bool isOdd = (index % 2 != 0);

                        table.AddSimpleRow(
                            (cellData, cellProperties) =>
                        {
                            cellData.Value = index.ToString();
                            index++;
                            //cellProperties.PdfFont = PdfRptFont;
                            cellProperties.PdfFontStyle = DocumentFontStyle.Normal;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        },
                            (cellData, cellProperties) =>
                        {
                            cellData.CellTemplate = new ImageFilePathField(defaultImageFilePath: string.Empty,
                                                                           fitImages: true);
                            cellData.Value = technicalStaff.Image;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.PdfFontStyle = DocumentFontStyle.None;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.FixedHeight = 70;
                            cellProperties.CellPadding = 0;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        },
                            (cellData, cellProperties) =>
                        {
                            cellData.Value = staff1.FullName;
                            //cellProperties.PdfFont = PdfRptFont;
                            cellProperties.PdfFontStyle = DocumentFontStyle.Normal;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        },
                            (cellData, cellProperties) =>
                        {
                            cellData.Value = technicalStaff1.FatherName;
                            //cellProperties.PdfFont = PdfRptFont;
                            cellProperties.PdfFontStyle = DocumentFontStyle.Normal;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        },
                            (cellData, cellProperties) =>
                        {
                            cellData.Value = staff.NationalCode;
                            //cellProperties.PdfFont = PdfRptFont;
                            cellProperties.PdfFontStyle = DocumentFontStyle.Normal;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        },
                            (cellData, cellProperties) =>
                        {
                            cellData.Value = staff.University;
                            //cellProperties.PdfFont = PdfRptFont;
                            cellProperties.PdfFontStyle = DocumentFontStyle.Normal;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        },
                            (cellData, cellProperties) =>
                        {
                            cellData.Value = staff.Role;
                            //cellProperties.PdfFont = PdfRptFont;
                            cellProperties.PdfFontStyle = DocumentFontStyle.Normal;
                            cellProperties.HorizontalAlignment = HorizontalAlignment.Center;
                            cellProperties.ShowBorder = true;
                            cellProperties.BorderWidth = 0;
                            cellProperties.PdfFont = events.PdfFont;
                            cellProperties.RunDirection = PdfRunDirection.RightToLeft;
                            cellProperties.BorderColor = borderColor;
                            if (isOdd)
                            {
                                cellProperties.BackgroundColor = oddRowColor;
                            }
                        }
                            );
                    }


                    techTitleTable.AddBorderToTable(
                        borderColor: new BaseColor(ColorTranslator.FromHtml("#999999").ToArgb()), spacingBefore: 5f);


                    table.AddBorderToTable(
                        borderColor: new BaseColor(ColorTranslator.FromHtml("#999999").ToArgb()), spacingBefore: 5f);

                    table.SetExtendLastRow(false, false);

                    int[] firstTablecellwidth = { 10, 13, 15, 12, 20, 12, 5 };

                    table.SetWidths(firstTablecellwidth);


                    infoTable.SetExtendLastRow(false, false);

                    args.PdfDoc.Add(table);
                    //args.PdfDoc.Add(techTitleTable);
                    args.PdfDoc.Add(infoTable);
                });
            })
                   .Export(export =>
            {
                //export.ToExcel();
            })
                   .Generate(data =>
                             data.AsPdfStream(new MemoryStream())
                             // data.AsPdfFile(string.Format("{0}\\Pdf\\EFSample-{1}.pdf", appPath, Guid.NewGuid().ToString("N")))
                             ));
            // data.AsPdfFile(string.Format("{0}\\Pdf\\EFSample-{1}.pdf", appPath, Guid.NewGuid().ToString("N"))));
        }
Esempio n. 17
0
        public static IPdfReportData CreatePdfReport(CommonTechnicalStaffReportModel reportModel, string headerMessage)
        {
            var appPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            if (HttpContext.Current != null)
            {
                appPath = HttpContext.Current.Server.MapPath("~/App_Data");
            }

            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.RightToLeft);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata
                {
                    Author = "Vahid",
                    Application = "PdfRpt",
                    Keywords = "IList Rpt.",
                    Subject = "Test Rpt",
                    Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                //fonts.Path(
                //    System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
                //    System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Path(HttpContext.Current.Server.MapPath("~/Content/Fonts/irsans.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\Tahoma.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToPersianDateTime());
                //var date = DateTime.Now.ToString("MM/dd/yyyy");
                //footer.InlineFooter(inlineFooter =>
                //{
                //    inlineFooter.FooterProperties(new FooterBasicProperties
                //    {
                //        PdfFont = footer.PdfFont,
                //        HorizontalAlignment = HorizontalAlignment.Center,
                //        RunDirection = PdfRunDirection.LeftToRight,
                //        SpacingBeforeTable = 30,
                //        TotalPagesCountTemplateHeight = 9,
                //        TotalPagesCountTemplateWidth = 50
                //    });

                //    //return inlineFooter;
                //});
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true);     // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.RightToLeft);
                    //defaultHeader.ImagePath(System.IO.Path.Combine(appPath, "Images\\01.png"));
                    defaultHeader.Message(headerMessage);
                });
            })
                   .MainTableTemplate(template =>
            {
                //template.BasicTemplate(BasicTemplate.BlackAndBlue1Template);
                template.CustomTemplate(new MyTemplate());
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.SpacingBefore(10);
                table.SplitLate(true);
            })
                   .MainTableDataSource(dataSource =>
            {
                dataSource.StronglyTypedList(reportModel.TechnicalStaves);
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <TechnicalStaffReportModel>(x => x.Image);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(3);
                    column.HeaderCell("تصویر");
                    column.FixedHeight(70);
                    column.ColumnItemsTemplate(t => t.ImageFilePath(defaultImageFilePath: string.Empty,
                                                                    fitImages: true));
                });


                columns.AddColumn(column =>
                {
                    column.PropertyName <TechnicalStaffReportModel>(x => x.FullName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(3.5f);
                    column.HeaderCell("نام و نام خانوادگی");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <TechnicalStaffReportModel>(x => x.FatherName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(2);
                    column.HeaderCell("نام پدر");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <TechnicalStaffReportModel>(x => x.NationalCode);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(3);
                    column.HeaderCell("کد ملی");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <TechnicalStaffReportModel>(x => x.Role);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2.5f);
                    column.HeaderCell("سمت");
                    //column.ColumnItemsTemplate(template =>
                    //{
                    //    template.TextBlock();
                    //    template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                    //        ? string.Empty
                    //        : ((DateTime)obj).ToPersianDateTime(includeHourMinute: false));
                    //});
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");

                events.DocumentClosing(e =>
                {
                    // close the document without closing the underlying stream
                    e.PdfWriter.CloseStream = false;
                    e.PdfDoc.Close();

                    e.PdfStreamOutput.Position = 0;
                });


                events.MainTableAdded(args =>
                {
                    var infoTable = new PdfGrid(numColumns: 2)
                    {
                        WidthPercentage = 100,
                        SpacingAfter = 50,
                        SpacingBefore = 50,
                        RunDirection = PdfWriter.RUN_DIRECTION_RTL,
                        SplitLate = true,
                        SplitRows = true
                    };

                    infoTable.AddSimpleRow(

                        (cellData, properties) =>
                    {
                        cellData.Value =
                            "مراتب فوق مورد تایید است.\n \n \n \n \n مهر و امضاء مسئول تربیت بدنی واحد";
                        properties.ShowBorder = true;
                        properties.BorderWidth = 0;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;

                        properties.FixedHeight = 80;
                        //properties.PaddingTop = 0;
                        //properties.PaddingRight = 25;
                        //properties.PaddingLeft = 25;
                        //properties.PaddingBottom = 0;

                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        //properties.PdfFontStyle = DocumentFontStyle.Bold;
                    },
                        (cellData, properties) =>
                    {
                        cellData.Value = "مراتب فوق مورد تایید است.\n \n \n \n \n مهر و امضاء رئیس واحد";
                        properties.ShowBorder = true;
                        properties.BorderWidth = 0;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;

                        properties.FixedHeight = 80;
                        //properties.PaddingTop = 0;
                        //properties.PaddingRight = 25;
                        //properties.PaddingLeft = 25;
                        //properties.PaddingBottom = 0;

                        properties.HorizontalAlignment = HorizontalAlignment.Left;
                        //properties.PdfFontStyle= DocumentFontStyle.Bold;
                    }
                        );

                    infoTable.SetExtendLastRow(false, false);


                    args.PdfDoc.Add(infoTable);
                });
            })
                   .Export(export =>
            {
                //export.ToExcel();
            })
                   .Generate(
                       data => data.AsPdfStream(new MemoryStream())
                       //data.AsPdfFile(string.Format("{0}\\Pdf\\EFSample-{1}.pdf", appPath, Guid.NewGuid().ToString("N")))
                       ));
            // data.AsPdfFile(string.Format("{0}\\Pdf\\EFSample-{1}.pdf", appPath, Guid.NewGuid().ToString("N"))));
        }
        public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
        {
            var shippingAddress = newGroupInfo.GetSafeStringValueOf <vm.ShipmentItem>(x => x.ShippingAddress);
            var billingAddress  = newGroupInfo.GetSafeStringValueOf <vm.ShipmentItem>(x => x.BillingAddress);
            var orderDate       = newGroupInfo.GetValueOf <vm.ShipmentItem>(x => x.OrderDate);
            var order           = newGroupInfo.GetSafeStringValueOf <vm.ShipmentItem>(x => x.Order);
            var customer        = newGroupInfo.GetSafeStringValueOf <vm.ShipmentItem>(x => x.Customer);

            var table = new PdfGrid(relativeWidths: new[] { 5f, 5f })
            {
                WidthPercentage = 80
            };

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Billing address".Localize();
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Shipping address".Localize();
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
            });

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = customer;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Normal;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = customer;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Normal;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
            });

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = billingAddress;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Normal;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value                     = shippingAddress;
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Normal;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
            });

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = "Invoice and Receipt".Localize();
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value = string.Empty;
            });



            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = string.Format("Order date: {0}".Localize(), ((DateTime?)orderDate).Value.ToShortDateString());
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Normal;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value = string.Empty;
            });

            table.AddSimpleRow(
                (cellData, cellProperties) =>
            {
                cellData.Value                     = string.Format("Order number: {0}".Localize(), order);
                cellProperties.PdfFont             = PdfRptFont;
                cellProperties.PdfFontStyle        = DocumentFontStyle.Normal;
                cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
            },
                (cellData, cellProperties) =>
            {
                cellData.Value = string.Empty;
            });

            table.HorizontalAlignment = 0;

            return(table);
        }
Esempio n. 19
0
        public byte[] CreateInvoiceRtlPdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.RightToLeft);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A5);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
                doc.PrintingPreferences(new PrintingPreferences
                {
                    ShowPrintDialogAutomatically = false
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(TestUtils.GetBaseDir(), "fonts", "irsans.ttf"),
                           TestUtils.GetVerdanaFontPath());
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter("تاريخ: " + PersianDate.ToPersianDateTime(DateTime.Now, "/", true).FixWeakCharacters(),
                                     PdfRunDirection.RightToLeft);
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true);
                header.InlineHeader(inlineHeader =>
                {
                    inlineHeader.AddPageHeader(data => createHeader(header));
                });
            })
                   .MainTableTemplate(template =>
            {
                template.CustomTemplate(new TransparentTemplate());
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.SpacingAfter(0);
            })
                   .MainTableDataSource(dataSource =>
            {
                dataSource.StronglyTypedList(getDataSourceList());
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.FixedHeight(30);
                    column.HeaderCell("#");
                    column.AddHeadingCell("فاکتور پرداخت", mergeHeaderCell: true);
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <InvoicePdfViewModel>(x => x.Status);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Left);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(6);
                    column.MinimumHeight(30);
                    column.HeaderCell("اطلاعات");
                    column.AddHeadingCell(string.Empty, mergeHeaderCell: true);
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <InvoicePdfViewModel>(x => x.Details);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(5);
                    column.HeaderCell("جزئیات");
                    column.AddHeadingCell(string.Empty, mergeHeaderCell: true);
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "رکوردی یافت نشد.");

                events.MainTableAdded(args =>
                {
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };

                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = $"این فاکتور به منزله پرداخت شما به اشکان است.";
                        properties.PdfFont = events.PdfFont;
                        properties.FontColor = BaseColor.Gray;
                        properties.RunDirection = PdfRunDirection.RightToLeft;
                    });
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = "هر گونه سوال در مورد خدمات یا محصول را با فروشنده در میان گذارید";
                        properties.PdfFont = events.PdfFont;
                        properties.FontColor = BaseColor.Gray;
                        properties.RunDirection = PdfRunDirection.RightToLeft;
                    });
                    args.PdfDoc.Add(infoTable.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 1f));
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
            })
                   .GenerateAsByteArray());
        }
        public static PdfReport CreateCustomSummaryPerPagePdfReport(String wwwroot)
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "CustomSummaryPerPage Rpt.", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(TestUtils.GetVerdanaFontPath(),
                           TestUtils.GetTahomaFontPath());
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy"));
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true); // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.LeftToRight);
                    defaultHeader.ImagePath(TestUtils.GetImagePath("01.png"));
                    defaultHeader.Message("Our new rpt.");
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.ClassicTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.NumberOfDataRowsPerPage(5);
            })
                   .MainTableDataSource(dataSource =>
            {
                var listOfRows = new List <User>();
                for (int i = 0; i < 50; i++)
                {
                    listOfRows.Add(new User {
                        Id = i, LastName = "LastName " + i, Name = "Name " + i, Balance = i + 1000
                    });
                }
                dataSource.StronglyTypedList(listOfRows);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("Summary");
                summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                summarySettings.PageSummarySettings("Page Summary");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Id);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(2);
                    column.HeaderCell("Id");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Name);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(3);
                    column.HeaderCell("Name");
                    column.Font(font =>
                    {
                        font.Size(10);
                        font.Color(System.Drawing.Color.Brown);
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.LastName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(3);
                    column.HeaderCell("Last Name");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Balance);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(2);
                    column.HeaderCell("Balance");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");
                var page = 0;
                events.PageTableAdded(args =>
                {
                    page++;
                    var balanceData = args.LastOverallAggregateValueOf <User>(u => u.Balance);
                    var balance = double.Parse(balanceData, System.Globalization.NumberStyles.AllowThousands);

                    var others = Math.Round(balance * 1.8 / 100);
                    var tax = Math.Round(balance * 2.2 / 100);
                    var total = balance + tax + others;

                    var taxTable = new PdfGrid(args.Table.RelativeWidths); // Create a clone of the MainTable's structure
                    taxTable.WidthPercentage = 100;
                    if (page == 1)
                    {
                        taxTable.SpacingBefore = args.Table.FooterHeight;
                    }

                    taxTable.AddSimpleRow(
                        null /* null = empty cell */, null, null,
                        (data, cellProperties) =>
                    {
                        data.Value = "tax";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = string.Format("{0:n0}", tax);
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LightGray;
                        cellProperties.ShowBorder = true;
                    });

                    taxTable.AddSimpleRow(
                        null, null, null,
                        (data, cellProperties) =>
                    {
                        data.Value = "others";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = string.Format("{0:n0}", others);
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LightGray;
                        cellProperties.ShowBorder = true;
                    });

                    taxTable.AddSimpleRow(
                        null, null, null,
                        (data, cellProperties) =>
                    {
                        data.Value = "Total";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = string.Format("{0:n0}", total);
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LightGray;
                        cellProperties.ShowBorder = true;
                    });

                    taxTable.AddSimpleRow(
                        null, null, null,
                        null,
                        (data, cellProperties) =>
                    {
                        data.Value = total.NumberToText(Language.English) + " $";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LightGray;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    });

                    args.PdfDoc.Add(taxTable);
                });



/*
 *              events.CellCreated(args =>
 *              {
 *                  args.Cell.BasicProperties.CellPadding = 4f;
 *              });
 *              events.PageTableAdded(args =>
 *              {
 *                  var taxTableaddd = new PdfGrid(3);  // Create a clone of the MainTable's structure
 *                  taxTableaddd.RunDirection = 3;
 *                  taxTableaddd.SetWidths(new float[] { 3, 3, 3 });
 *                  taxTableaddd.WidthPercentage = 100f;
 *                  taxTableaddd.SpacingBefore = 10f;
 *
 *                  taxTableaddd.AddSimpleRow(
 *                      (data, cellProperties) =>
 *                      {
 *                          data.Value = " Enuar";
 *                          cellProperties.ShowBorder = true;
 *                          cellProperties.PdfFont = args.PdfFont;
 *                      },
 *                      (data, cellProperties) =>
 *                      {
 *                          data.Value = " Muñoz";
 *                          cellProperties.ShowBorder = true;
 *                          cellProperties.PdfFont = args.PdfFont;
 *                      },
 *                      (data, cellProperties) =>
 *                      {
 *                          data.Value = " Castillo";
 *                          cellProperties.ShowBorder = true;
 *                          cellProperties.PdfFont = args.PdfFont;
 *                      });
 *                  args.PdfDoc.Add(taxTableaddd);
 *              });
 */
            })
                   .Export(export =>
            {
                export.ToExcel();
            }));
        }
Esempio n. 21
0
        public IPdfReportData CreatePdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.RightToLeft);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "Test", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(AppPath.ApplicationPath, "fonts\\irsans.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter("تاريخ: " + PersianDate.ToPersianDateTime(DateTime.Now, "/", true).FixWeakCharacters(),
                                     PdfRunDirection.RightToLeft);
            })
                   .PagesHeader(header =>
            {
                header.CacheHeader(cache: true); // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.Message("گزارش جديد ما");
                    defaultHeader.ImagePath(System.IO.Path.Combine(AppPath.ApplicationPath, "Images\\01.png"));
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.ClassicTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
            })
                   .MainTableDataSource(dataSource =>
            {
                var listOfRows = new List <User>();
                for (int i = 0; i < 320; i++)
                {
                    listOfRows.Add(new User
                    {
                        Id = i + 1,
                        LastName = "نام خانوادگي " + i,
                        Name = "نام " + i,
                        Balance = i + 1000,
                        RegisterDate = DateTime.Now.AddDays(-i)
                    });
                }
                dataSource.StronglyTypedList(listOfRows);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.PreviousPageSummarySettings("منقول از صفحه قبل");
                summarySettings.PageSummarySettings("جمع صفحه");
                summarySettings.OverallSummarySettings("جمع");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("رديف");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Id);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(2);
                    column.HeaderCell("شماره");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : long.Parse(obj.ToString()).NumberToText(Language.Persian));
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Name);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(2);
                    column.HeaderCell("نام");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.LastName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2.5f);
                    column.HeaderCell("نام خانوادگي");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Balance);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Left);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(2);
                    column.HeaderCell("موجودي");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:n0}", obj));
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.RegisterDate);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(5);
                    column.Width(3);
                    column.HeaderCell("ثبت نام");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : PersianDate.ToPersianDateTime((DateTime)obj));
                    });
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");
                events.MainTableAdded(args =>
                {
                    var data = args.LastOverallAggregateValueOf <User>(y => y.Balance);
                    var msg = "جمع نهايي گزارش : " + data + "، معادل: " + long.Parse(data, NumberStyles.AllowThousands, CultureInfo.InvariantCulture).NumberToText(Language.Persian);
                    var infoTable = new PdfGrid(numColumns: 1)
                    {
                        WidthPercentage = 100
                    };
                    infoTable.AddSimpleRow(
                        (cellData, properties) =>
                    {
                        cellData.Value = msg;
                        properties.PdfFont = events.PdfFont;
                        properties.RunDirection = PdfRunDirection.RightToLeft;
                    });
                    args.PdfDoc.Add(infoTable.AddBorderToTable());
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
            })
                   .Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\PersianRtlSample-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))));
        }
Esempio n. 22
0
            public PdfGrid RenderingGroupHeader(Document pdfDoc, PdfWriter pdfWriter, IList <CellData> newGroupInfo, IList <SummaryCellData> summaryData)
            {
                var idDokumenta    = newGroupInfo.GetSafeStringValueOf(nameof(StavkaDenorm.IdDokumenta));
                var urlDokumenta   = newGroupInfo.GetSafeStringValueOf(nameof(StavkaDenorm.UrlDokumenta));
                var nazPartnera    = newGroupInfo.GetSafeStringValueOf(nameof(StavkaDenorm.NazPartnera));
                var datDokumenta   = (DateTime)newGroupInfo.GetValueOf(nameof(StavkaDenorm.DatDokumenta));
                var iznosDokumenta = (decimal)newGroupInfo.GetValueOf(nameof(StavkaDenorm.IznosDokumenta));

                var table = new PdfGrid(relativeWidths: new[] { 2f, 5f, 2f, 3f })
                {
                    WidthPercentage = 100
                };

                table.AddSimpleRow(
                    (cellData, cellProperties) =>
                {
                    cellData.Value                     = "Id dokumenta:";
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                },
                    (cellData, cellProperties) =>
                {
                    cellData.TableRowData = newGroupInfo; //postavi podatke retka za ćeliju
                    var cellTemplate      = new HyperlinkField(BaseColor.Black, false)
                    {
                        TextPropertyName          = nameof(StavkaDenorm.IdDokumenta),
                        NavigationUrlPropertyName = nameof(StavkaDenorm.UrlDokumenta),
                        BasicProperties           = new CellBasicProperties
                        {
                            HorizontalAlignment = HorizontalAlignment.Left,
                            PdfFontStyle        = DocumentFontStyle.Bold,
                            PdfFont             = PdfRptFont
                        }
                    };

                    cellData.CellTemplate              = cellTemplate;
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                },
                    (cellData, cellProperties) =>
                {
                    cellData.Value                     = "Datum dokumenta:";
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                },
                    (cellData, cellProperties) =>
                {
                    cellData.Value                      = datDokumenta;
                    cellProperties.PdfFont              = PdfRptFont;
                    cellProperties.HorizontalAlignment  = HorizontalAlignment.Left;
                    cellProperties.DisplayFormatFormula = obj => ((DateTime)obj).ToString("dd.MM.yyyy");
                });

                table.AddSimpleRow(
                    (cellData, cellProperties) =>
                {
                    cellData.Value                     = "Partner:";
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                },
                    (cellData, cellProperties) =>
                {
                    cellData.Value                     = nazPartnera;
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                },
                    (cellData, cellProperties) =>
                {
                    cellData.Value                     = "Iznos dokumenta:";
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.PdfFontStyle        = DocumentFontStyle.Bold;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                },
                    (cellData, cellProperties) =>
                {
                    cellData.Value = iznosDokumenta;
                    cellProperties.DisplayFormatFormula = obj => ((decimal)obj).ToString("C2");
                    cellProperties.PdfFont             = PdfRptFont;
                    cellProperties.HorizontalAlignment = HorizontalAlignment.Left;
                });
                return(table.AddBorderToTable(borderColor: BaseColor.LightGray, spacingBefore: 5f));
            }
        public IPdfReportData CreatePdfReport()
        {
            return(new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Vahid", Application = "PdfRpt", Keywords = "CustomSummaryPerPage Rpt.", Subject = "Test Rpt", Title = "Test"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
                   .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                   .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy"));
            })
                   .PagesHeader(header =>
            {
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.LeftToRight);
                    defaultHeader.ImagePath(System.IO.Path.Combine(AppPath.ApplicationPath, "Images\\01.png"));
                    defaultHeader.Message("Our new rpt.");
                });
            })
                   .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.ClassicTemplate);
            })
                   .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
                table.NumberOfDataRowsPerPage(5);
            })
                   .MainTableDataSource(dataSource =>
            {
                var listOfRows = new List <User>();
                for (int i = 0; i < 50; i++)
                {
                    listOfRows.Add(new User {
                        Id = i, LastName = "LastName " + i, Name = "Name " + i, Balance = i + 1000
                    });
                }
                dataSource.StronglyTypedList(listOfRows);
            })
                   .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("Summary");
                summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                summarySettings.PageSummarySettings("Page Summary");
            })
                   .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName("rowNo");
                    column.IsRowNumber(true);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(1);
                    column.HeaderCell("#");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Id);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(2);
                    column.HeaderCell("Id");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Name);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(3);
                    column.HeaderCell("Name");
                    column.Font(font =>
                    {
                        font.Size(10);
                        font.Color(System.Drawing.Color.Brown);
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.LastName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(3);
                    column.HeaderCell("Last Name");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <User>(x => x.Balance);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Center);
                    column.IsVisible(true);
                    column.Order(4);
                    column.Width(2);
                    column.HeaderCell("Balance");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj));
                    });
                    column.AggregateFunction(aggregateFunction =>
                    {
                        aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum);
                        aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj));
                    });
                });
            })
                   .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There is no data available to display.");
                var page = 0;
                events.PageTableAdded(args =>
                {
                    page++;
                    var balanceData = args.LastOverallAggregateValueOf <User>(u => u.Balance);
                    var balance = double.Parse(balanceData, System.Globalization.NumberStyles.AllowThousands);

                    var others = Math.Round(balance * 1.8 / 100);
                    var tax = Math.Round(balance * 2.2 / 100);
                    var total = balance + tax + others;

                    var taxTable = new PdfGrid(args.Table.RelativeWidths); // Create a clone of the MainTable's structure
                    taxTable.WidthPercentage = args.Table.WidthPercentage;
                    if (page == 1)
                    {
                        taxTable.SpacingBefore = args.Table.FooterHeight;
                    }

                    taxTable.AddSimpleRow(
                        null /* null = empty cell */, null, null,
                        (data, cellProperties) =>
                    {
                        data.Value = "tax";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = string.Format("{0:n0}", tax);
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LIGHT_GRAY;
                        cellProperties.ShowBorder = true;
                    });

                    taxTable.AddSimpleRow(
                        null, null, null,
                        (data, cellProperties) =>
                    {
                        data.Value = "others";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = string.Format("{0:n0}", others);
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LIGHT_GRAY;
                        cellProperties.ShowBorder = true;
                    });

                    taxTable.AddSimpleRow(
                        null, null, null,
                        (data, cellProperties) =>
                    {
                        data.Value = "Total";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value = string.Format("{0:n0}", total);
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LIGHT_GRAY;
                        cellProperties.ShowBorder = true;
                    });

                    taxTable.AddSimpleRow(
                        null, null, null,
                        null,
                        (data, cellProperties) =>
                    {
                        data.Value = total.NumberToText(Language.English) + " $";
                        cellProperties.PdfFont = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LIGHT_GRAY;
                        cellProperties.ShowBorder = true;
                        cellProperties.PdfFontStyle = DocumentFontStyle.Bold;
                    });

                    args.PdfDoc.Add(taxTable);
                });
            })
                   .Export(export =>
            {
                export.ToExcel();
            })
                   .Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\CustomSummaryPerPage-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))));
        }
        public byte[] CreatePdfReport(OrderViewModel order, string fileName)
        {
            var pdfReportData = new PdfReport().DocumentPreferences(doc =>
            {
                doc.RunDirection(PdfRunDirection.LeftToRight);
                doc.Orientation(PageOrientation.Portrait);
                doc.PageSize(PdfPageSize.A4);
                doc.DocumentMetadata(new DocumentMetadata {
                    Author = "Contoso Sports League", Application = "Contoso.Apps.SportsLeague", Subject = "Contoso Sports League Store Receipt", Title = "Receipt"
                });
                doc.Compression(new CompressionSettings
                {
                    EnableCompression     = true,
                    EnableFullCompression = true
                });
            })
                                .DefaultFonts(fonts =>
            {
                fonts.Path(System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
                           System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
                fonts.Size(9);
                fonts.Color(System.Drawing.Color.Black);
            })
                                .PagesFooter(footer =>
            {
                footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy"));
            })
                                .PagesHeader(header =>
            {
                header.CacheHeader(cache: true); // It's a default setting to improve the performance.
                header.DefaultHeader(defaultHeader =>
                {
                    defaultHeader.RunDirection(PdfRunDirection.LeftToRight);
                    defaultHeader.ImagePath(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Images\\logo.png"));
                    defaultHeader.Message("Contoso Sports League - Purchase Receipt");
                });
            })
                                .MainTableTemplate(template =>
            {
                template.BasicTemplate(BasicTemplate.ClassicTemplate);
            })
                                .MainTablePreferences(table =>
            {
                table.ColumnsWidthsType(TableColumnWidthType.Relative);
            })
                                .MainTableDataSource(dataSource =>
            {
                dataSource.StronglyTypedList(order.OrderDetails);
            })
                                .MainTableSummarySettings(summarySettings =>
            {
                summarySettings.OverallSummarySettings("Summary");
                summarySettings.PreviousPageSummarySettings("Previous Page Summary");
                summarySettings.PageSummarySettings("Page Summary");
            })
                                .MainTableColumns(columns =>
            {
                columns.AddColumn(column =>
                {
                    column.PropertyName <OrderDetailViewModel>(o => o.ProductName);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Left);
                    column.IsVisible(true);
                    column.Order(0);
                    column.Width(4);
                    column.HeaderCell("Product");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <OrderDetailViewModel>(o => o.Quantity);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Right);
                    column.IsVisible(true);
                    column.Order(1);
                    column.Width(1);
                    column.HeaderCell("Quantity");
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <OrderDetailViewModel>(o => o.UnitPrice);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Right);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(2);
                    column.HeaderCell("Unit Price");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:c}", obj));
                    });
                });

                columns.AddColumn(column =>
                {
                    column.PropertyName <OrderDetailViewModel>(o => o.Cost);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Right);
                    column.IsVisible(true);
                    column.Order(3);
                    column.Width(2);
                    column.HeaderCell("Total");
                    column.ColumnItemsTemplate(template =>
                    {
                        template.TextBlock();
                        template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString())
                                                            ? string.Empty : string.Format("{0:c}", obj));
                    });
                });
            })
                                .MainTableEvents(events =>
            {
                events.DataSourceIsEmpty(message: "There are no purchased items to display.");

                events.MainTableAdded(args =>
                {
                    var total = order.Total;

                    var summaryTable             = new PdfGrid(args.Table.RelativeWidths); // Create a clone of the MainTable's structure
                    summaryTable.WidthPercentage = args.Table.WidthPercentage;
                    summaryTable.SpacingBefore   = args.Table.SpacingBefore;

                    summaryTable.AddSimpleRow(
                        null, null,
                        (data, cellProperties) =>
                    {
                        data.Value                         = "Total";
                        cellProperties.PdfFont             = args.PdfFont;
                        cellProperties.HorizontalAlignment = HorizontalAlignment.Right;
                    },
                        (data, cellProperties) =>
                    {
                        data.Value                 = string.Format("{0:c}", total);
                        cellProperties.PdfFont     = args.PdfFont;
                        cellProperties.BorderColor = BaseColor.LIGHT_GRAY;
                        cellProperties.ShowBorder  = true;
                    });

                    args.PdfDoc.Add(summaryTable);
                });
            })
                                .Export(export =>
            {
                export.ToExcel();
            })
                                .Generate(data => data.AsPdfStream(new MemoryStream()));

            return(((MemoryStream)pdfReportData.PdfStreamOutput).ToArray());
        }