Exemplo n.º 1
0
        private void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin, string header, string defaultFont, float defaultSize)
        {
            if (string.IsNullOrEmpty(header))
            {
                return;
            }
            //set a top page template
            PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);

            topSpace.Foreground = true;
            doc.Template.Top    = topSpace;
            //draw text header in template
            float y = 0;
            float x = 0;

            var lines = GetLines(header, defaultFont, defaultSize);

            foreach (var line in lines)
            {
                topSpace.Graphics.DrawString(line.Text, line.Font, line.Brush, x, y, line.Format);
                y = y + line.Size.Height;

                if (line.IsLine)
                {
                    PdfPen pen1 = new PdfPen(Color.Black, 2f);
                    topSpace.Graphics.DrawLine(pen1, 0, y, pageSize.Width, y);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Fired when Header and Footer are exported to PDF
        /// </summary>
        /// <param name="sender">PDF Export_HeaderAndFooterExporting sender</param>
        /// <param name="e">PDF Export_HeaderAndFooterExporting EventArgs e</param>
        private void PdfExport_HeaderAndFooterExporting(object sender, PdfHeaderFooterEventArgs e)
        {
            var                    width    = e.PdfPage.GetClientSize().Width;
            PdfStandardFont        font     = null;
            PdfPageTemplateElement header   = new PdfPageTemplateElement(width, 60);
            var                    assmbely = this.GetType().GetTypeInfo().Assembly;

#if COMMONSB
            var imagestream = assmbely.GetManifestResourceStream("SampleBrowser.Icons.SyncfusionLogo.jpg");
#else
            var imagestream = assmbely.GetManifestResourceStream("SampleBrowser.SfDataGrid.Icons.SyncfusionLogo.jpg");
#endif
            PdfImage pdfImage = PdfImage.FromStream(imagestream);
            header.Graphics.DrawImage(pdfImage, new RectangleF(width - 148, 0, 148, 60));
            if (Device.RuntimePlatform == Device.iOS)
            {
                font = new PdfStandardFont(PdfFontFamily.Helvetica, 18, PdfFontStyle.Bold);
            }
            else
            {
                font = new PdfStandardFont(PdfFontFamily.Helvetica, 13, PdfFontStyle.Bold);
            }

            PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
            header.Graphics.DrawString("Customer Details", font, PdfBrushes.Black, new RectangleF(0, 25, 200, 60), format);
            e.PdfDocumentTemplate.Top = header;
        }
Exemplo n.º 3
0
        private static PdfPageTemplateElement CreateFooterTemplate(PdfDocument doc, PdfMargins margins)
        {
            SizeF pageSize = doc.PageSettings.Size;

            PdfPageTemplateElement footerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Bottom + margins.Top);

            footerSpace.Foreground = false;

            float x = margins.Left;
            float y = 0;

            DrawLine(footerSpace.Graphics, x, y, GetRightPage(), y);

            y += 5;
            PdfStringFormat format     = new PdfStringFormat(PdfTextAlignment.Left);
            string          footerText = "This document was generated using computer software\nand is deemed to be as accurate as possible.";

            footerSpace.Graphics.DrawString(footerText, pageFont, PdfBrushes.Gray, x, y, format);

            PdfPageNumberField number         = new PdfPageNumberField();
            PdfPageCountField  count          = new PdfPageCountField();
            PdfCompositeField  compositeField = new PdfCompositeField(pageFont, PdfBrushes.Gray, "Page {0} of {1}", number, count);

            compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top);
            SizeF size = pageFont.MeasureString(compositeField.Text);

            compositeField.Bounds = new RectangleF(GetRightPage() - margins.Right - size.Width, y, size.Width, size.Height);
            compositeField.Draw(footerSpace.Graphics);

            return(footerSpace);
        }
Exemplo n.º 4
0
        private void SetSectionTemplate(PdfSection section, SizeF pageSize, PdfMargins margin, String label)
        {
            PdfPageTemplateElement leftSpace
                = new PdfPageTemplateElement(margin.Left, pageSize.Height);

            leftSpace.Foreground     = true;
            section.Template.OddLeft = leftSpace;

            PdfTrueTypeFont font   = new PdfTrueTypeFont(new Font("Arial", 9f, FontStyle.Italic));
            PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
            float           y      = (pageSize.Height - margin.Top - margin.Bottom) * (1 - 0.618f);
            RectangleF      bounds
                = new RectangleF(10, y, margin.Left - 20, font.Height + 6);

            leftSpace.Graphics.DrawRectangle(PdfBrushes.OrangeRed, bounds);
            leftSpace.Graphics.DrawString(label, font, PdfBrushes.White, bounds, format);

            PdfPageTemplateElement rightSpace
                = new PdfPageTemplateElement(margin.Right, pageSize.Height);

            rightSpace.Foreground      = true;
            section.Template.EvenRight = rightSpace;
            bounds
                = new RectangleF(10, y, margin.Right - 20, font.Height + 6);
            rightSpace.Graphics.DrawRectangle(PdfBrushes.SaddleBrown, bounds);
            rightSpace.Graphics.DrawString(label, font, PdfBrushes.White, bounds, format);
        }
        private PdfPageTemplateElement CreateHeaderTemplate(PdfDocument doc, PdfMargins margins)
        {
            //get page size
            SizeF pageSize = doc.PageSettings.Size;

            //create a PdfPageTemplateElement object as header space
            PdfPageTemplateElement headerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Top);

            headerSpace.Foreground = false;

            //declare two float variables
            float x = margins.Left;
            float y = 0;
            //draw line in header space
            PdfPen pen = new PdfPen(PdfBrushes.Gray, 2);

            headerSpace.Graphics.DrawLine(pen, x, y + margins.Top - 2, pageSize.Width - x, y + margins.Top - 2);

            //draw text in header space
            PdfTrueTypeFont font       = new PdfTrueTypeFont(new Font("Helvetica", 25f, FontStyle.Bold));
            PdfStringFormat format     = new PdfStringFormat(PdfTextAlignment.Center);
            String          headerText = "SACRAMENT MEETING AGENDA";
            SizeF           size       = font.MeasureString(headerText, format);

            headerSpace.Graphics.DrawString(headerText, font, PdfBrushes.Gray, pageSize.Width - x - size.Width + 165, margins.Top - (size.Height + 5), format);

            //return headerSpace
            return(headerSpace);
        }
Exemplo n.º 6
0
        private static PdfPageTemplateElement CreateHeaderTemplate(PdfDocument doc, PdfMargins margins, string headerString)
        {
            SizeF pageSize = doc.PageSettings.Size;

            PdfPageTemplateElement headerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Top + margins.Bottom)
            {
                Foreground = false
            };

            float x = margins.Left;
            float y = 0;

            //Figure out what logo to use; either the application's logo or the owning company's logo
            Bitmap logo = null; //Resources.logo.ToBitmap();


            //Draw image in header if we have one
            if (logo != null)
            {
                PdfImage headerImage = PdfImage.FromImage(Utility.ResizeImage(logo, 96, 96));
                float    width       = headerImage.Width / 3;
                float    height      = headerImage.Height / 3;
                headerSpace.Graphics.DrawImage(headerImage, x, margins.Top - height - 2, width, height);
            }

            DrawLine(headerSpace.Graphics, x, y + margins.Top - 2, pageSize.Width - x, y + margins.Top - 2);

            //Draw string in header
            PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
            SizeF           size   = headerFontBold.MeasureString(headerString, format);

            headerSpace.Graphics.DrawString(headerString, headerFontBold, PdfBrushes.Black, (headerSpace.Width / 2) - (size.Width / 2), margins.Top - (size.Height + 5), format);
            headerSpace.Graphics.DrawString(DateTime.Now.Date.ToString("MM-dd-yyyy"), headerFontBold, PdfBrushes.Black, GetRightPage() - headerFontBold.MeasureString(DateTime.Now.Date.ToString("MM-dd-yyyy")).Width, margins.Top - (size.Height + 5), format);
            return(headerSpace);
        }
Exemplo n.º 7
0
        void GridPdfExportExtension_DrawPdfFooter(object sender, PdfHeaderFooterEventArgs e)
        {
            PdfPageTemplateElement footer = e.HeaderFooterTemplate;
            PdfSolidBrush          brush  = new PdfSolidBrush(new PdfColor(System.Drawing.Color.Gray));
            PdfFont         font          = new PdfStandardFont(PdfFontFamily.Helvetica, 6, PdfFontStyle.Bold);
            PdfStringFormat format        = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;
            footer.Graphics.DrawString("@Copyright 2020", font, brush, new System.Drawing.RectangleF(0, footer.Height - 40, footer.Width, footer.Height), format);

            format               = new PdfStringFormat();
            format.Alignment     = PdfTextAlignment.Right;
            format.LineAlignment = PdfVerticalAlignment.Bottom;

            //Create page number field.
            PdfPageNumberField pageNumber = new PdfPageNumberField(font, brush);

            //Create page count field.
            PdfPageCountField count = new PdfPageCountField(font, brush);

            PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumber, count);

            compositeField.Bounds = footer.Bounds;
            compositeField.Draw(footer.Graphics, new System.Drawing.PointF(470, footer.Height - 10));
            //header.Graphics.DrawImage(PdfImage.FromFile(@"pack:/application:,,,/syncfusion.gridcontroldemos.wpf;component/Assets/GridControl/Footer.png"), 0, 0, header.Width, header.Height);
        }
Exemplo n.º 8
0
        static void PdfHeaderFooterEventHandler(object sender, PdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 80);
            FormattedText          Ft     = new FormattedText(GlobalClass.company.NAME, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Tahoma"), 14, System.Windows.Media.Brushes.Black);

            Ft.SetFontWeight(FontWeights.SemiBold);

            header.Graphics.DrawString(GlobalClass.company.NAME, new PdfTrueTypeFont(new Font("Tahoma", 14, System.Drawing.FontStyle.Bold)), PdfBrushes.Black, new PointF((width - (float)Ft.Width) / 2, 0));

            Ft = new FormattedText(GlobalClass.company.ADDRESS, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Tahoma"), 11, System.Windows.Media.Brushes.Black);
            header.Graphics.DrawString(GlobalClass.company.ADDRESS, new PdfTrueTypeFont(new Font("Tahoma", 11)), PdfBrushes.Black, new PointF((width - (float)Ft.Width) / 2, 20));

            Ft = new FormattedText(GlobalClass.company.VAT, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Tahoma"), 11, System.Windows.Media.Brushes.Black);
            header.Graphics.DrawString(GlobalClass.company.VAT, new PdfTrueTypeFont(new Font("Tahoma", 11)), PdfBrushes.Black, new PointF((width - (float)Ft.Width) / 2, 35));

            Ft = new FormattedText(GlobalClass.ReportName, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Tahoma"), 12, System.Windows.Media.Brushes.Black);
            Ft.SetFontWeight(FontWeights.SemiBold);
            header.Graphics.DrawString(GlobalClass.ReportName, new PdfTrueTypeFont(new Font("Tahoma", 12, System.Drawing.FontStyle.Bold)), PdfBrushes.Black, new PointF((width - (float)Ft.Width) / 2, 50));

            Ft = new FormattedText(GlobalClass.ReportParams, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Tahoma"), 11, System.Windows.Media.Brushes.Black);
            header.Graphics.DrawString(GlobalClass.ReportParams, new PdfTrueTypeFont(new Font("Tahoma", 11, System.Drawing.FontStyle.Bold)), PdfBrushes.Black, new PointF((width - (float)Ft.Width) / 2, 65));



            //header.Graphics.DrawImage(PdfImage.FromFile(@"C:\555.png"), 155, 5, width / 3f, 34);
            e.PdfDocumentTemplate.Top = header;

            //PdfPageTemplateElement footer = new PdfPageTemplateElement(width, 30);
            //footer.Graphics.DrawImage(PdfImage.FromFile(@"..\..\Resources\Footer.jpg"), 0, 0);
            //e.PdfDocumentTemplate.Bottom = footer;
        }
Exemplo n.º 9
0
        /// <summary>
        /// Draws footer to the document.
        /// </summary>
        private PdfPageTemplateElement AddFooter(float width, string footerText)
        {
            RectangleF rect = new RectangleF(0, 0, width, 50);
            //Create a new instance of PdfPageTemplateElement class.
            PdfPageTemplateElement footer = new PdfPageTemplateElement(rect);
            PdfGraphics            g      = footer.Graphics;

            // Draw footer text.
            PdfSolidBrush brush = new PdfSolidBrush(Color.Gray);
            PdfFont       font  = new PdfTrueTypeFont(new Font("Helvetica", 6, FontStyle.Bold), true);
            float         x     = (width / 2) - (font.MeasureString(footerText).Width) / 2;

            g.DrawString(footerText, font, brush, new RectangleF(x, g.ClientSize.Height - 10, font.MeasureString(footerText).Width, font.Height));

            //Create page number field
            PdfPageNumberField pageNumber = new PdfPageNumberField(font, brush);

            //Create page count field
            PdfPageCountField count = new PdfPageCountField(font, brush);

            PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumber, count);

            compositeField.Bounds = footer.Bounds;
            compositeField.Draw(g, new PointF(470, 40));

            return(footer);
        }
        protected void GanttControlExporting_ServerPdfExporting(object sender, Syncfusion.JavaScript.Web.GanttEventArgs e)
        {
            PdfExport exp = new PdfExport();
            GanttPdfExportSettings settings = new GanttPdfExportSettings();

            settings.Theme  = GanttExportTheme.FlatLime;
            settings.Locale = e.Arguments["locale"].ToString();
            //Create footer template
            RectangleF      bounds = new RectangleF(0, 0, 762, 25);
            PdfSolidBrush   brush  = new PdfSolidBrush(new PdfColor(51, 51, 51));
            PdfPen          pen    = new PdfPen(new PdfColor(200, 200, 200));
            PdfFont         font   = new PdfTrueTypeFont(new Font("Segoe UI", 10), true);
            PdfStringFormat format = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;
            PdfPageTemplateElement footer         = new PdfPageTemplateElement(bounds);
            PdfPageNumberField     pageNumber     = new PdfPageNumberField(font, brush);
            PdfCompositeField      compositeField = new PdfCompositeField(font, brush, "Page {0}", pageNumber);

            compositeField.StringFormat = format;
            compositeField.Bounds       = footer.Bounds;
            footer.Graphics.DrawRectangle(pen, bounds);
            compositeField.Draw(footer.Graphics, new PointF(0, 0));
            PdfDocumentTemplate footerTemplate = new PdfDocumentTemplate();

            footerTemplate.Bottom        = footer;
            settings.PdfDocumentTemplate = footerTemplate;
            PdfDocument document = exp.Export(this.GanttControlExporting.Model, (IEnumerable)this.GanttControlExporting.DataSource, settings, false);

            document = exp.Export(this.GanttControlDesign.Model, (IEnumerable)this.GanttControlDesign.DataSource, settings, document, false);
            exp.Export(this.GanttControlImplementation.Model, (IEnumerable)this.GanttControlImplementation.DataSource, settings, "Gantt", document, true);
        }
Exemplo n.º 11
0
        // Layout, Styling Operationen

        public void setMarginForA4Document(float valueTopBottom, float valueLeftRight)
        {
            PdfUnitConvertor unitCvtr = new PdfUnitConvertor();

            margin        = new PdfMargins();
            margin.Top    = unitCvtr.ConvertUnits(valueTopBottom, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
            margin.Bottom = margin.Top;
            margin.Left   = unitCvtr.ConvertUnits(valueLeftRight, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
            margin.Right  = margin.Left;

            PdfPageTemplateElement leftSpace = new PdfPageTemplateElement(margin.Left, PdfPageSize.A4.Height);

            pdf.Template.Left = leftSpace;
            PdfPageTemplateElement topSpace = new PdfPageTemplateElement(PdfPageSize.A4.Width, margin.Top);

            topSpace.Foreground = true;
            pdf.Template.Top    = topSpace;
            PdfPageTemplateElement rightSpace = new PdfPageTemplateElement(margin.Right, PdfPageSize.A4.Height);

            pdf.Template.Right = rightSpace;
            PdfPageTemplateElement bottomSpace = new PdfPageTemplateElement(PdfPageSize.A4.Width, margin.Bottom);

            bottomSpace.Foreground = true;
            pdf.Template.Bottom    = bottomSpace;
        }
Exemplo n.º 12
0
        static void PdfHeaderFooterEventHandler(object sender, PdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 38);
            string filePath = "";

            if (AppDomain.CurrentDomain.BaseDirectory.Contains("Binaries"))
            {
                filePath = System.IO.Path.GetFullPath(@"..\..\datagrid\Assets\datagrid\Header.jpg");
            }
            else
            {
                filePath = System.IO.Path.GetFullPath(@"..\..\..\datagrid\Assets\datagrid\Header.jpg");
            }
            header.Graphics.DrawImage(PdfImage.FromFile(filePath), 155, 5, width / 3f, 34);
            e.PdfDocumentTemplate.Top = header;

            PdfPageTemplateElement footer = new PdfPageTemplateElement(width, 30);

            if (AppDomain.CurrentDomain.BaseDirectory.Contains("Binaries"))
            {
                filePath = System.IO.Path.GetFullPath(@"..\..\datagrid\Assets\datagrid\Footer.jpg");
            }
            else
            {
                filePath = System.IO.Path.GetFullPath(@"..\..\..\datagrid\Assets\datagrid\Footer.jpg");
            }
            footer.Graphics.DrawImage(PdfImage.FromFile(filePath), 0, 0);
            e.PdfDocumentTemplate.Bottom = footer;
        }
Exemplo n.º 13
0
        //create the pdf footer
        void pdfConvertor_DrawPDFFooter(object sender, PDFHeaderFooterEventArgs e)
        {
            PdfPageTemplateElement footer = e.HeaderFooterTemplate;

            PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 8);

            PdfSolidBrush brush = new PdfSolidBrush(Color.Gray);

            PdfPen pen = new PdfPen(Color.DarkBlue, 3f);

            font = new PdfStandardFont(PdfFontFamily.Helvetica, 6, PdfFontStyle.Bold);
            PdfStringFormat format = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;
            footer.Graphics.DrawString("@Copyright 2008", font, brush, new RectangleF(0, footer.Height - 40, footer.Width, footer.Height), format);

            format               = new PdfStringFormat();
            format.Alignment     = PdfTextAlignment.Right;
            format.LineAlignment = PdfVerticalAlignment.Bottom;

            //Create page number field
            PdfPageNumberField pageNumber = new PdfPageNumberField(font, brush);

            //Create page count field
            PdfPageCountField count = new PdfPageCountField(font, brush);

            PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumber, count);

            compositeField.Bounds = footer.Bounds;
            compositeField.Draw(footer.Graphics, new PointF(470, footer.Height - 10));
        }
Exemplo n.º 14
0
        private PdfPageTemplateElement CreateFooterTemplate(PdfDocument doc, PdfMargins margins, SizeF pageSize)
        {
            //create a PdfPageTemplateElement object which works as footer space
            PdfPageTemplateElement footerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Bottom);

            footerSpace.Foreground = false;

            //declare two float variables
            float x = margins.Left;
            float y = 0;

            //draw line in footer space
            PdfPen pen = new PdfPen(PdfBrushes.Gray, 1);

            footerSpace.Graphics.DrawLine(pen, x, y, pageSize.Width - x, y);

            //draw text in footer space
            y = y + 5;
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 10f), true);
            //draw dynamic field in footer space
            PdfPageNumberField number         = new PdfPageNumberField();
            PdfPageCountField  count          = new PdfPageCountField();
            PdfCompositeField  compositeField = new PdfCompositeField(font, PdfBrushes.Black, "Page {0} of {1}", number, count);

            compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top);
            SizeF size = font.MeasureString(compositeField.Text);

            compositeField.Bounds = new RectangleF(x, y, size.Width, size.Height);
            compositeField.Draw(footerSpace.Graphics);

            //return footerSpace
            return(footerSpace);
        }
Exemplo n.º 15
0
        private PdfPageTemplateElement CreateHeaderTemplate(PdfDocument doc, PdfMargins margins, SizeF pageSize)
        {
            //create a PdfPageTemplateElement object as header space
            PdfPageTemplateElement headerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Top);

            headerSpace.Foreground = false;

            //declare two float variables
            float x = margins.Left;
            float y = 0;

            //draw image in header space
            PdfImage headerImage = PdfImage.FromFile("../../../../../../../Data/E-iceblueLogo.png");
            float    width       = headerImage.Width / 2;
            float    height      = headerImage.Height / 2;

            headerSpace.Graphics.DrawImage(headerImage, x, margins.Top - height - 5, width, height);

            //draw line in header space
            PdfPen pen = new PdfPen(PdfBrushes.LightGray, 1);

            headerSpace.Graphics.DrawLine(pen, x, y + margins.Top - 2, pageSize.Width - x, y + margins.Top - 2);

            //return headerSpace
            return(headerSpace);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Adds header to the document
        /// </summary>
        /// <param name="width"></param>
        /// <param name="title"></param>
        /// <param name="description"></param>
        private PdfPageTemplateElement AddHeader(float width, string title, string description)
        {
            RectangleF rect = new RectangleF(0, 0, width, 50);
            //Create a new instance of PdfPageTemplateElement class.
            PdfPageTemplateElement header = new PdfPageTemplateElement(rect);
            PdfGraphics            g      = header.Graphics;

            //Draw title.
            PdfFont       font  = new PdfStandardFont(PdfFontFamily.Helvetica, 16, PdfFontStyle.Bold);
            PdfSolidBrush brush = new PdfSolidBrush(Color.FromArgb(44, 71, 120));
            float         x     = (width / 2) - (font.MeasureString(title).Width) / 2;

            g.DrawString(title, font, brush, new RectangleF(x, (rect.Height / 4) + 3, font.MeasureString(title).Width, font.Height));

            //Draw description
            brush = new PdfSolidBrush(Color.Gray);
            font  = new PdfStandardFont(PdfFontFamily.Helvetica, 16, PdfFontStyle.Bold);
            PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Bottom);

            g.DrawString(description, font, brush, new RectangleF(0, 0, header.Width, header.Height - 8), format);

            //Draw some lines in the header
            PdfPen pen = new PdfPen(Color.DarkBlue, 0.7f);

            g.DrawLine(pen, 0, 0, header.Width, 0);
            pen = new PdfPen(Color.DarkBlue, 2f);
            g.DrawLine(pen, 0, 03, header.Width + 3, 03);
            pen = new PdfPen(Color.DarkBlue, 2f);
            g.DrawLine(pen, 0, header.Height - 3, header.Width, header.Height - 3);
            g.DrawLine(pen, 0, header.Height, header.Width, header.Height);

            return(header);
        }
Exemplo n.º 17
0
        static async void PdfHeaderFooterEventHandler(object sender, TreeGridPdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 38);

            e.PdfDocumentTemplate.Top = header;

            PdfPageTemplateElement footer = new PdfPageTemplateElement(width, 30);

            e.PdfDocumentTemplate.Bottom = footer;
            var uri     = new Uri("ms-appx:///Images/Header.png", UriKind.RelativeOrAbsolute);
            var srcfile = await StorageFile.GetFileFromApplicationUriAsync(uri);

            var stream = await srcfile.OpenStreamForReadAsync();

            header.Graphics.DrawImage(PdfImage.FromStream(stream), 0, 0, width / 3f, 34);

            uri     = new Uri("ms-appx:///Images/Footer.png", UriKind.RelativeOrAbsolute);
            srcfile = await StorageFile.GetFileFromApplicationUriAsync(uri);

            stream = await srcfile.OpenStreamForReadAsync();

            footer.Graphics.DrawImage(PdfImage.FromStream(stream), 0, 0, width, 25);
            stream.Dispose();
        }
        private void AddHeader(PdfDocument doc, string title, string description)
        {
            RectangleF rect      = new RectangleF(0, 0, doc.Pages[0].GetClientSize().Width, 50);
            PdfColor   blueColor = new PdfColor(System.Drawing.Color.FromArgb(255, 0, 0, 255));
            PdfColor   GrayColor = new PdfColor(System.Drawing.Color.FromArgb(255, 128, 128, 128));

            //Create page template
            PdfPageTemplateElement header = new PdfPageTemplateElement(rect);
            PdfFont font         = new PdfStandardFont(PdfFontFamily.Helvetica, 24);
            float   doubleHeight = font.Height * 2;

            System.Drawing.Color activeColor = System.Drawing.Color.FromArgb(255, 44, 71, 120);
            SizeF imageSize = new SizeF(110f, 35f);
            //Locating the logo on the right corner of the Drawing Surface
            PointF imageLocation = new PointF(doc.Pages[0].GetClientSize().Width - imageSize.Width - 20, 5);

            Stream   imgStream = typeof(HeadersAndFooters).GetTypeInfo().Assembly.GetManifestResourceStream("Syncfusion.SampleBrowser.UWP.Pdf.Pdf.Assets.logo.png");
            PdfImage img       = new PdfBitmap(imgStream);

            //Draw the image in the Header.
            header.Graphics.DrawImage(img, imageLocation, imageSize);

            PdfSolidBrush brush = new PdfSolidBrush(activeColor);

            PdfPen pen = new PdfPen(blueColor, 3f);

            font = new PdfStandardFont(PdfFontFamily.Helvetica, 16, PdfFontStyle.Bold);

            //Set formattings for the text
            PdfStringFormat format = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;

            //Draw title
            header.Graphics.DrawString(title, font, brush, new RectangleF(0, 0, header.Width, header.Height), format);
            brush = new PdfSolidBrush(GrayColor);
            font  = new PdfStandardFont(PdfFontFamily.Helvetica, 6, PdfFontStyle.Bold);

            format               = new PdfStringFormat();
            format.Alignment     = PdfTextAlignment.Left;
            format.LineAlignment = PdfVerticalAlignment.Bottom;

            //Draw description
            header.Graphics.DrawString(description, font, brush, new RectangleF(0, 0, header.Width, header.Height - 8), format);

            //Draw some lines in the header
            pen = new PdfPen(blueColor, 0.7f);
            header.Graphics.DrawLine(pen, 0, 0, header.Width, 0);
            pen = new PdfPen(blueColor, 2f);
            header.Graphics.DrawLine(pen, 0, 03, header.Width + 3, 03);
            pen = new PdfPen(blueColor, 2f);
            header.Graphics.DrawLine(pen, 0, header.Height - 3, header.Width, header.Height - 3);
            header.Graphics.DrawLine(pen, 0, header.Height, header.Width, header.Height);

            //Add header template at the top.
            doc.Template.Top = header;
        }
        private void AddMulticolumnHeader(PdfDocument doc, string title, string description)
        {
            string basePath = _hostingEnvironment.WebRootPath;
            string dataPath = string.Empty;

            dataPath = basePath + @"/PDF/";
            RectangleF rect = new RectangleF(0, 0, doc.Pages[0].GetClientSize().Width, 50);

            //Create page template
            PdfPageTemplateElement header = new PdfPageTemplateElement(rect);
            PdfFont font         = new PdfStandardFont(PdfFontFamily.Helvetica, 24);
            float   doubleHeight = font.Height * 2;
            Color   activeColor  = Color.FromArgb(44, 71, 120);
            SizeF   imageSize    = new SizeF(110f, 35f);
            //Locating the logo on the right corner of the Drawing Surface
            PointF     imageLocation = new PointF(doc.Pages[0].GetClientSize().Width - imageSize.Width - 20, 5);
            FileStream pngStream     = new FileStream(dataPath + "logo.png", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            PdfImage   img           = new PdfBitmap(pngStream);

            //Draw the image in the Header.
            header.Graphics.DrawImage(img, imageLocation, imageSize);

            PdfSolidBrush brush = new PdfSolidBrush(activeColor);

            PdfPen pen = new PdfPen(Color.DarkBlue, 3f);

            font = new PdfStandardFont(PdfFontFamily.Helvetica, 16, PdfFontStyle.Bold);

            //Set formattings for the text
            PdfStringFormat format = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;

            //Draw title
            header.Graphics.DrawString(title, font, brush, new RectangleF(0, 0, header.Width, header.Height), format);
            brush = new PdfSolidBrush(Color.Gray);
            font  = new PdfStandardFont(PdfFontFamily.Helvetica, 6, PdfFontStyle.Bold);

            format               = new PdfStringFormat();
            format.Alignment     = PdfTextAlignment.Left;
            format.LineAlignment = PdfVerticalAlignment.Bottom;

            //Draw description
            header.Graphics.DrawString(description, font, brush, new RectangleF(0, 0, header.Width, header.Height - 8), format);

            //Draw some lines in the header
            pen = new PdfPen(Color.DarkBlue, 0.7f);
            header.Graphics.DrawLine(pen, 0, 0, header.Width, 0);
            pen = new PdfPen(Color.DarkBlue, 2f);
            header.Graphics.DrawLine(pen, 0, 03, header.Width + 3, 03);
            pen = new PdfPen(Color.DarkBlue, 2f);
            header.Graphics.DrawLine(pen, 0, header.Height - 3, header.Width, header.Height - 3);
            header.Graphics.DrawLine(pen, 0, header.Height, header.Width, header.Height);

            //Add header template at the top.
            doc.Template.Top = header;
        }
Exemplo n.º 20
0
        static PdfPageTemplateElement CreateHeaderTemplate(PdfDocument doc, PdfMargins margins)
        {
            //get page size
            SizeF pageSize = doc.PageSettings.Size;

            //create a PdfPageTemplateElement object as header space
            PdfPageTemplateElement headerSpace = new PdfPageTemplateElement(pageSize.Width, 170);

            headerSpace.Foreground = false;

            //declare two float variables
            float x = margins.Left;
            float y = 0;

            //draw image in header space
            PdfImage headerImage = PdfImage.FromFile("1.png");
            float    width       = headerImage.Width / 2;
            float    height      = headerImage.Height / 2;

            headerSpace.Graphics.DrawImage(headerImage, x, margins.Top - height + 130, width, height);

            /*  //draw line in header space
             * PdfPen pen = new PdfPen(PdfBrushes.Gray, 1);
             * headerSpace.Graphics.DrawLine(pen, x, y + margins.Top - 2, pageSize.Width - x, y + margins.Top - 2);
             *
             * //draw text in header space
             * PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Impact", 25f, FontStyle.Bold));
             * PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
             * String headerText = "HEADER TEXT";
             * SizeF size = font.MeasureString(headerText, format);
             * headerSpace.Graphics.DrawString(headerText, font, PdfBrushes.Gray, pageSize.Width - x - size.Width - 2, margins.Top - (size.Height + 5), format);
             */

            PdfImage headerImage2 = PdfImage.FromFile("2.png");
            float    width2       = headerImage.Width / 2;
            float    height2      = headerImage.Height / 5;

            headerSpace.Graphics.DrawImage(headerImage2, x + 230, margins.Top - height2 + 50, width2, height2);


            PdfImage headerImage3 = PdfImage.FromFile("3.png");
            float    width3       = headerImage.Width / 4;
            float    height3      = headerImage.Height / 5;

            headerSpace.Graphics.DrawImage(headerImage3, x + 510, margins.Top - height3 + 50, width3, height3);

            PdfTrueTypeFont font       = new PdfTrueTypeFont(new Font("Arial", 28.5f, FontStyle.Bold));
            PdfStringFormat format     = new PdfStringFormat(PdfTextAlignment.Left);
            String          headerText = "Invoice";
            SizeF           size       = font.MeasureString(headerText, format);

            headerSpace.Graphics.DrawString(headerText, font, PdfBrushes.Black, pageSize.Width - x - size.Width - 40, margins.Top - (size.Height - 130), format);


            //return headerSpace
            return(headerSpace);
        }
        private void AddHeader(PdfDocument doc, string title, string description)
        {
            RectangleF rect = new RectangleF(0, 0, doc.Pages[0].GetClientSize().Width, 50);

            //Create page template
            PdfPageTemplateElement header = new PdfPageTemplateElement(rect);
            PdfFont font         = new PdfStandardFont(PdfFontFamily.Helvetica, 24);
            float   doubleHeight = font.Height * 2;
            Color   activeColor  = Color.FromArgb(44, 71, 120);
            SizeF   imageSize    = new SizeF(110f, 35f);
            //Locating the logo on the right corner of the Drawing Surface
            PointF imageLocation = new PointF(doc.Pages[0].GetClientSize().Width - imageSize.Width - 20, 5);

#if NETCORE
            PdfImage img = new PdfBitmap(@"..\..\..\..\..\..\..\Common\Images\PDF\logo.png");
#else
            PdfImage img = new PdfBitmap(@"..\..\..\..\..\..\Common\Images\PDF\logo.png");
#endif

            //Draw the image in the Header.
            header.Graphics.DrawImage(img, imageLocation, imageSize);

            PdfSolidBrush brush = new PdfSolidBrush(activeColor);

            PdfPen pen = new PdfPen(Color.DarkBlue, 3f);
            font = new PdfStandardFont(PdfFontFamily.Helvetica, 16, PdfFontStyle.Bold);

            //Set formattings for the text
            PdfStringFormat format = new PdfStringFormat();
            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;

            //Draw title
            header.Graphics.DrawString(title, font, brush, new RectangleF(0, 0, header.Width, header.Height), format);
            brush = new PdfSolidBrush(Color.Gray);
            font  = new PdfStandardFont(PdfFontFamily.Helvetica, 6, PdfFontStyle.Bold);

            format               = new PdfStringFormat();
            format.Alignment     = PdfTextAlignment.Left;
            format.LineAlignment = PdfVerticalAlignment.Bottom;

            //Draw description
            header.Graphics.DrawString(description, font, brush, new RectangleF(0, 0, header.Width, header.Height - 8), format);

            //Draw some lines in the header
            pen = new PdfPen(Color.DarkBlue, 0.7f);
            header.Graphics.DrawLine(pen, 0, 0, header.Width, 0);
            pen = new PdfPen(Color.DarkBlue, 2f);
            header.Graphics.DrawLine(pen, 0, 03, header.Width + 3, 03);
            pen = new PdfPen(Color.DarkBlue, 2f);
            header.Graphics.DrawLine(pen, 0, header.Height - 3, header.Width, header.Height - 3);
            header.Graphics.DrawLine(pen, 0, header.Height, header.Width, header.Height);

            //Add header template at the top.
            doc.Template.Top = header;
        }
        private void GenerateHeader(GenerateInvoiceContext request, PdfGenerator pdf)
        {
            RectangleF bounds = new RectangleF(0, 0, pdf.PageWidth, 50);

            PdfPageTemplateElement header = new PdfPageTemplateElement(bounds);

            pdf.DrawText("Header Text", 10, 0, pdf.NormalFont, pdf.AccentBrush, header.Graphics);

            pdf.Document.Template.Top = header;
        }
Exemplo n.º 23
0
        public static PdfPageTemplateElement AddFooter(PdfDocument doc, string strFooterLine1, string strFooterLine2, string strFooterLine3)
        {
            RectangleF rect = new RectangleF(0, 0, doc.Pages[0].GetClientSize().Width, 50);

            //Create a page template
            PdfPageTemplateElement footer = new PdfPageTemplateElement(rect);

            //Create a PdfGrid
            PdfGrid pdfGrid = new PdfGrid();

            //Add three columns
            pdfGrid.Columns.Add(1);

            //create and customize the string formats
            PdfStringFormat format = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;

            //Create the font for setting the style
            PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 8, PdfFontStyle.Bold | PdfFontStyle.Italic);

            //Add rows
            PdfGridRow pdfGridRow = pdfGrid.Rows.Add();

            pdfGridRow.Cells[0].Value           = spFooterLine1;
            pdfGridRow.Cells[0].Style.Font      = font;
            pdfGridRow.Cells[0].Style.TextBrush = PdfBrushes.Red;

            //Add rows
            PdfGridRow pdfGridRow1 = pdfGrid.Rows.Add();

            pdfGridRow1.Cells[0].Value = spFooterLine2;

            //Add rows
            PdfGridRow pdfGridRow2 = pdfGrid.Rows.Add();

            pdfGridRow2.Cells[0].Value = spFooterLine3;

            for (int i = 0; i < pdfGrid.Rows.Count; i++)
            {
                PdfGridRow row = pdfGrid.Rows[i];

                for (int j = 0; j < row.Cells.Count; j++)
                {
                    row.Cells[j].StringFormat      = format;
                    row.Cells[j].Style.Borders.All = PdfPens.Transparent;
                }
            }

            //Draw grid to the page of PDF document
            pdfGrid.Draw(footer.Graphics);

            return(footer);
        }
Exemplo n.º 24
0
        private void AddFooterToPage(PdfDocument doc, string pageNum, ref PdfPageBase page1, float pageWidth, string fontName)
        {
            PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
            PdfMargins       margin   = new PdfMargins();

            margin.Top    = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
            margin.Bottom = margin.Top;
            margin.Left   = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
            margin.Right  = margin.Left;

            var pageSize = PdfPageSize.A4;

            PdfPageTemplateElement bottomSpace
                = new PdfPageTemplateElement(pageSize.Width, margin.Bottom - 10);

            bottomSpace.Foreground = true;
            doc.Template.Bottom    = bottomSpace;

            PdfTrueTypeFont pageNormalFont = new PdfTrueTypeFont(new Font(fontName, 6f, FontStyle.Regular));
            PdfPen          linePen1       = new PdfPen(Color.Black, 0.5f);
            //draw footer label
            float y = pageNormalFont.Height + 1;

            bottomSpace.Graphics.DrawLine(linePen1, 0, y, pageSize.Width - 1, y);
            y = y + 1;


            PdfPageNumberField pageNumber      = new PdfPageNumberField();
            PdfPageCountField  pageCount       = new PdfPageCountField();
            PdfCompositeField  pageNumberLabel = new PdfCompositeField();

            pageNumberLabel.AutomaticFields
                = new PdfAutomaticField[] { pageNumber, pageCount };
            pageNumberLabel.Brush        = PdfBrushes.Black;
            pageNumberLabel.Font         = pageNormalFont;
            pageNumberLabel.StringFormat = new PdfStringFormat(PdfTextAlignment.Right);
            pageNumberLabel.Text         = "Page {0}";
            pageNumberLabel.Draw(bottomSpace.Graphics, pageSize.Width - MARGIN_FROM_RIGHT, y);

            //footerY = footerY + 6;
            var    brush2  = new PdfSolidBrush(Color.Black);
            var    font2   = new PdfTrueTypeFont(new Font(fontName, 6f, FontStyle.Regular));
            var    format2 = new PdfStringFormat(PdfTextAlignment.Left);
            string text    = "Proof Of Delivery - Generated by Linfox Australia Pty Ltd.";

            bottomSpace.Graphics.DrawString(text, font2, brush2, 0, y, format2);
            text = "Page " + pageNumberLabel.Text;
            //bottomSpace.Graphics.DrawString(text, font2, brush2, pageWidth - 30, y, format2);

            string tz = "";

            text = "Generated On: " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss ") + tz;
            bottomSpace.Graphics.DrawString(text, font2, brush2, 0, y + 10, format2);
        }
Exemplo n.º 25
0
        private void ExportOptions_HeaderFooterExporting(object sender, PdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;
            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 38);

            header.Graphics.DrawImage(PdfImage.FromFile(@"..\..\Resources\Header.jpg"), 155, 5, width / 3f, 34);
            e.PdfDocumentTemplate.Top = header;
            PdfPageTemplateElement footer = new PdfPageTemplateElement(width, 30);

            footer.Graphics.DrawImage(PdfImage.FromFile(@"..\..\Resources\Footer.jpg"), 0, 0);
            e.PdfDocumentTemplate.Bottom = footer;
        }
Exemplo n.º 26
0
        private static void PdfHeaderFooterEventHandler(object sender, TreeGridPdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;
            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 38);

            header.Graphics.DrawImage(PdfImage.FromFile(@"Assets/treegrid/Header.png"), 155, 5, width / 3f, 34);
            e.PdfDocumentTemplate.Top = header;
            PdfPageTemplateElement footer = new PdfPageTemplateElement(width, 30);

            footer.Graphics.DrawImage(PdfImage.FromFile(@"Assets/treegrid/Footer.png"), 0, 0);
            e.PdfDocumentTemplate.Bottom = footer;
        }
Exemplo n.º 27
0
        private void pdfExport_HeaderAndFooterExporting(object sender, PdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 60);
            var      assmbely             = Assembly.GetExecutingAssembly();
            var      imagestream          = assmbely.GetManifestResourceStream("SampleBrowser.Resources.Images.SyncfusionLogo.jpg");
            PdfImage pdfImage             = PdfImage.FromStream(imagestream);

            header.Graphics.DrawImage(pdfImage, new RectangleF(0, 0, width, 50));
            e.PdfDocumentTemplate.Top = header;
        }
Exemplo n.º 28
0
        private static PdfPageTemplateElement AddHeader(PdfDocument doc)
        {
            RectangleF bounds = new RectangleF(0, 0, doc.Pages[0].GetClientSize().Width, 50);
            //Create a page template for header
            PdfPageTemplateElement header = new PdfPageTemplateElement(bounds);

            //Draw the rectangle in header
            header.Graphics.DrawRectangle(PdfPens.DarkBlue, bounds);
            //Draw the image in header

            return(header);
        }
        public void MultipleExportToPdf(string[] GanttModel)
        {
            PdfExport              exp                = new PdfExport();
            var                    PlanData           = this.GetPlanDataSource();
            var                    DesignData         = this.GetDesignDataSource();
            var                    ImplementationData = this.GetImplementationDataSource();
            PdfDocument            document           = null;
            GanttPdfExportSettings settings           = new GanttPdfExportSettings();

            settings.Theme  = GanttExportTheme.FlatSaffron;
            settings.Locale = Request.Form["locale"];
            //Create footer template
            RectangleF      bounds = new RectangleF(0, 0, 762, 25);
            PdfSolidBrush   brush  = new PdfSolidBrush(new PdfColor(51, 51, 51));
            PdfPen          pen    = new PdfPen(new PdfColor(200, 200, 200));
            PdfFont         font   = new PdfTrueTypeFont(new Font("Segoe UI", 10), true);
            PdfStringFormat format = new PdfStringFormat();

            format.Alignment     = PdfTextAlignment.Center;
            format.LineAlignment = PdfVerticalAlignment.Middle;
            PdfPageTemplateElement footer         = new PdfPageTemplateElement(bounds);
            PdfPageNumberField     pageNumber     = new PdfPageNumberField(font, brush);
            PdfCompositeField      compositeField = new PdfCompositeField(font, brush, "Page {0}", pageNumber);

            compositeField.StringFormat = format;
            compositeField.Bounds       = footer.Bounds;
            footer.Graphics.DrawRectangle(pen, bounds);
            compositeField.Draw(footer.Graphics, new PointF(0, 0));
            PdfDocumentTemplate footerTemplate = new PdfDocumentTemplate();

            footerTemplate.Bottom        = footer;
            settings.PdfDocumentTemplate = footerTemplate;
            int count = 1;

            foreach (string gridProperty in GanttModel)
            {
                GanttProperties gridProp = this.ConvertGanttObject(gridProperty);
                if (count == 1)
                {
                    document = exp.Export(gridProp, (IEnumerable)PlanData, settings, false);
                }
                else if (count == 2)
                {
                    document = exp.Export(gridProp, (IEnumerable)DesignData, settings, document, false);
                }
                else
                {
                    exp.Export(gridProp, (IEnumerable)ImplementationData, settings, "Gantt", document, true);
                }
                count++;
            }
        }
Exemplo n.º 30
0
        protected void gvDepartment_ServerPdfExporting(object sender, Syncfusion.JavaScript.Web.GridEventArgs e)
        {
            try
            {
                PdfExport exp = new PdfExport();
                for (var i = 0; i < this.gvDepartment.Columns.Count(); i++)
                {
                    if (this.gvDepartment.Columns[i].HeaderText == "Action") // use the template column HeaderText here.
                    {
                        gvDepartment.Model.Columns.RemoveAt(i);              // remove the respective column
                        i--;
                    }
                }
                PdfDocument doc = new PdfDocument();
                doc.PageSettings.Orientation = PdfPageOrientation.Landscape;
                doc.PageSettings.Size        = PdfPageSize.A4;
                doc.PageSettings.Width       = 750;

                RectangleF rect = new RectangleF(0, 0, doc.PageSettings.Width, 15);
                //create a header pager template
                PdfPageTemplateElement header = new PdfPageTemplateElement(rect);

                //create a footer pager template
                PdfPageTemplateElement footer = new PdfPageTemplateElement(rect);

                //Font f = new System.Drawing.Font("Helvetica", 10, FontStyle.Bold);

                // PdfFont font = new PdfTrueTypeFont(f, true);

                //   header.Graphics.DrawString(ReportTitle, font, PdfBrushes.Black, new Point(300, 0)); //Add custom text to the Header
                // doc.Template.Top = header; //Append custom template to the document

                // footer.Graphics.DrawString("Report Generated Date: " + DateTime.Now.ToString("dd-MMM-yyyy hh:mm tt"), font, PdfBrushes.Gray, new Point(280, 0));//Add Custom text to footer
                doc.Template.Bottom = footer;//Add the footer template to document

                doc.DocumentInformation.Title        = ReportTitle;
                doc.DocumentInformation.Keywords     = "PDF";
                doc.DocumentInformation.Subject      = ReportTitle;
                doc.DocumentInformation.Producer     = "SMS";
                doc.DocumentInformation.CreationDate = DateTime.Now;
                //  doc.DocumentInformation.Author = CU.CurrentUserFullName;

                doc.ViewerPreferences.FitWindow   = true;
                doc.ViewerPreferences.PageLayout  = PdfPageLayout.SinglePage;
                doc.ViewerPreferences.PageScaling = PageScalingMode.AppDefault;
                exp.Export(gvDepartment.Model, (IEnumerable)gvDepartment.DataSource, ExportFileName + ".pdf", false, false, "flat-saffron", false, doc, "");
            }
            catch (Exception ex)
            {
                // CU.LogError(ex);
            }
        }
Exemplo n.º 31
0
        private void SetSectionTemplate(PdfSection section, SizeF pageSize, PdfMargins margin, String label)
        {
            PdfPageTemplateElement leftSpace
                = new PdfPageTemplateElement(margin.Left, pageSize.Height);
            leftSpace.Foreground = true;
            section.Template.OddLeft = leftSpace;

            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 9f, FontStyle.Italic));
            PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
            float y = (pageSize.Height - margin.Top - margin.Bottom) * (1 - 0.618f);
            RectangleF bounds
                = new RectangleF(10, y, margin.Left - 20, font.Height + 6);
            leftSpace.Graphics.DrawRectangle(PdfBrushes.OrangeRed, bounds);
            leftSpace.Graphics.DrawString(label, font, PdfBrushes.White, bounds, format);

            PdfPageTemplateElement rightSpace
                = new PdfPageTemplateElement(margin.Right, pageSize.Height);
            rightSpace.Foreground = true;
            section.Template.EvenRight = rightSpace;
            bounds
                = new RectangleF(10, y, margin.Right - 20, font.Height + 6);
            rightSpace.Graphics.DrawRectangle(PdfBrushes.SaddleBrown, bounds);
            rightSpace.Graphics.DrawString(label, font, PdfBrushes.White, bounds, format);
        }
Exemplo n.º 32
0
        private void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
        {
            PdfPageTemplateElement leftSpace
                = new PdfPageTemplateElement(margin.Left, pageSize.Height);
            doc.Template.Left = leftSpace;

            PdfPageTemplateElement topSpace
                = new PdfPageTemplateElement(pageSize.Width, margin.Top);
            topSpace.Foreground = true;
            doc.Template.Top = topSpace;

            //draw header label
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 9f, FontStyle.Italic));
            PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
            String label = "Demo of Spire.Pdf";
            SizeF size = font.MeasureString(label, format);
            float y = topSpace.Height - font.Height - 1;
            PdfPen pen = new PdfPen(Color.Black, 0.75f);
            topSpace.Graphics.SetTransparency(0.5f);
            topSpace.Graphics.DrawLine(pen, margin.Left, y, pageSize.Width - margin.Right, y);
            y = y - 1 - size.Height;
            topSpace.Graphics.DrawString(label, font, PdfBrushes.Black, pageSize.Width - margin.Right, y, format);

            PdfPageTemplateElement rightSpace
                = new PdfPageTemplateElement(margin.Right, pageSize.Height);
            doc.Template.Right = rightSpace;

            PdfPageTemplateElement bottomSpace
                = new PdfPageTemplateElement(pageSize.Width, margin.Bottom);
            bottomSpace.Foreground = true;
            doc.Template.Bottom = bottomSpace;

            //draw footer label
            y = font.Height + 1;
            bottomSpace.Graphics.SetTransparency(0.5f);
            bottomSpace.Graphics.DrawLine(pen, margin.Left, y, pageSize.Width - margin.Right, y);
            y = y + 1;
            PdfPageNumberField pageNumber = new PdfPageNumberField();
            PdfPageCountField pageCount = new PdfPageCountField();
            PdfCompositeField pageNumberLabel = new PdfCompositeField();
            pageNumberLabel.AutomaticFields
                = new PdfAutomaticField[] { pageNumber, pageCount };
            pageNumberLabel.Brush = PdfBrushes.Black;
            pageNumberLabel.Font = font;
            pageNumberLabel.StringFormat = format;
            pageNumberLabel.Text = "page {0} of {1}";
            pageNumberLabel.Draw(bottomSpace.Graphics, pageSize.Width - margin.Right, y);

            PdfImage headerImage
                = PdfImage.FromFile(@"..\..\..\..\..\..\Data\Header.png");
            PointF pageLeftTop = new PointF(-margin.Left, -margin.Top);
            PdfPageTemplateElement header = new PdfPageTemplateElement(pageLeftTop, headerImage.PhysicalDimension);
            header.Foreground = false;
            header.Graphics.SetTransparency(0.5f);
            header.Graphics.DrawImage(headerImage, 0, 0);
            doc.Template.Stamps.Add(header);

            PdfImage footerImage
                = PdfImage.FromFile(@"..\..\..\..\..\..\Data\Footer.png");
            y = pageSize.Height - footerImage.PhysicalDimension.Height;
            PointF footerLocation = new PointF(-margin.Left, y);
            PdfPageTemplateElement footer = new PdfPageTemplateElement(footerLocation, footerImage.PhysicalDimension);
            footer.Foreground = false;
            footer.Graphics.SetTransparency(0.5f);
            footer.Graphics.DrawImage(footerImage, 0, 0);
            doc.Template.Stamps.Add(footer);
        }
Exemplo n.º 33
0
        private void pdfExport_HeaderAndFooterExporting(object sender, PdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 60);
            var assmbely = Assembly.GetExecutingAssembly();
            var imagestream = assmbely.GetManifestResourceStream("SampleBrowser.Resources.drawable.SyncfusionLogo.jpg");
            if (imagestream != null)
            {
                PdfImage pdfImage = PdfImage.FromStream(imagestream);
                header.Graphics.DrawImage(pdfImage, new RectangleF(0, 0, width, 50));
                e.PdfDocumentTemplate.Top = header;
            }
        }
Exemplo n.º 34
0
        async void PdfHeaderFooterEventHandler(object sender, PdfHeaderFooterEventArgs e) {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 38);
            e.PdfDocumentTemplate.Top = header;

            PdfPageTemplateElement footer = new PdfPageTemplateElement(width, 30);
            e.PdfDocumentTemplate.Bottom = footer;

            var uri = new Uri("ms-appx:///Assets/Header.jpg", UriKind.RelativeOrAbsolute);
            var srcfile = await StorageFile.GetFileFromApplicationUriAsync(uri);
            var stream = await srcfile.OpenStreamForReadAsync();
            header.Graphics.DrawImage(PdfImage.FromStream(stream), 0, 0, width / 3f, 34);

            uri = new Uri("ms-appx:///Assets/Footer.jpg", UriKind.RelativeOrAbsolute);
            srcfile = await StorageFile.GetFileFromApplicationUriAsync(uri);
            stream = await srcfile.OpenStreamForReadAsync();
            footer.Graphics.DrawImage(PdfImage.FromStream(stream), 0, 0, width, 25);
            stream.Dispose();
        }
Exemplo n.º 35
0
        private void pdfExport_HeaderAndFooterExporting(object sender, PdfHeaderFooterEventArgs e)
        {
            var width = e.PdfPage.GetClientSize().Width;

            PdfPageTemplateElement header = new PdfPageTemplateElement(width, 60);
            var assmbely = this.GetType().GetTypeInfo().Assembly;
            var imagestream = assmbely.GetManifestResourceStream("SampleBrowser.Icons.DataGrid.SyncfusionLogo.jpg");
            PdfImage pdfImage = PdfImage.FromStream(imagestream);
            header.Graphics.DrawImage(pdfImage,new RectangleF(0,0,width,50));
            e.PdfDocumentTemplate.Top = header;
        }