Пример #1
0
 private void Begin(PdfDocument document, IInstruments instruments, bool isLive)
 {
     SetTitle(document, instruments.BandName);
     SetPageProperties(instruments.Width, instruments.Height);
     AddPlan(document, instruments.Height, instruments.Width, instruments, isLive);
     AddDetails(document, instruments);
 }
Пример #2
0
        private void AddDetails(PdfDocument document, IInstruments instruments)
        {
            var gfx = GetGraphics(document);

            var font       = new XFont("Verdana", 12, XFontStyle.Bold);
            var fontDetail = new XFont("Verdana", 10, XFontStyle.Regular);

            gfx.DrawString("Band Name: " + instruments.BandName, font, new XSolidBrush(XColor.FromArgb(0, 0, 0)), 15, 25);

            var top           = this._top;
            var secondColumn  = 250;
            var currentMember = "";

            foreach (var instrument in instruments.AllInstruments)
            {
                if (currentMember != instrument.BandMemberName)
                {
                    top = top + 25;
                    gfx.DrawLine(new XPen(XColor.FromArgb(0, 0, 0)), 15, secondColumn, 16, secondColumn);
                    gfx.DrawString("Band member", font, new XSolidBrush(XColor.FromArgb(0, 0, 0)), 15, top);
                    gfx.DrawString(instrument.BandMemberName, font, new XSolidBrush(XColor.FromArgb(0, 0, 0)), secondColumn, top);
                    top = top + 20;
                }

                currentMember = instrument.BandMemberName;

                gfx.DrawString("Equipment", fontDetail, new XSolidBrush(XColor.FromArgb(0, 0, 0)), 15, top);

                gfx.DrawString(instrument.Text, fontDetail, new XSolidBrush(XColor.FromArgb(0, 0, 0)), secondColumn, top);

                if (!String.IsNullOrWhiteSpace(instrument.Detail))
                {
                    gfx.DrawString("Extra Detail", fontDetail, new XSolidBrush(XColor.FromArgb(0, 0, 0)), 15, top + 15);
                    gfx.DrawString(instrument.Detail, fontDetail, new XSolidBrush(XColor.FromArgb(0, 0, 0)), secondColumn, top + 15);
                }
                else
                {
                    top -= 20;
                }

                top += 35;

                if (top > gfx.PageSize.Height - 50)
                {
                    top = this._top + 40;
                    AddStageplanFooter(gfx, font, instruments.Width, instruments.Height);
                    gfx = GetGraphics(document);
                }
            }

            AddStageplanFooter(gfx, font, instruments.Width, instruments.Height);
        }
Пример #3
0
        public bool Create(IInstruments instruments, bool isLive)
        {
            var document = new PdfDocument();

            Begin(document, instruments, isLive);

            string filename = instruments.BandName + "_" + DateTime.Now.ToFileTimeUtc() + ".pdf";

            document.Save(filename);
            // ...and start a viewer.
            Process.Start(filename);
            document.Close();

            return(false);
        }
Пример #4
0
        private void AddPlan(PdfDocument document, decimal stageHeight, decimal stageWidth, IInstruments instruments, bool isLive)
        {
            var gfx = GetGraphics(document);
            // Get an XGraphics object for drawing

            // Create a font
            var font = new XFont("Verdana", 12, XFontStyle.Bold | XFontStyle.Underline);

            foreach (var instrument in instruments.AllInstruments)
            {
                var path = "";
                if (!isLive)
                {
                    if (Environment.UserDomainName == "MR-TEE")
                    {
                        path = @"D:\Projects\Stageplan\stageplan\Stage-Plan.Ui\Content\Stageplan\Images\";
                    }
                    else
                    {
                        path = @"D:\GitHub\Stageplan\stageplan\Stage-Plan.Ui\Content\Stageplan\Images\";
                    }

                    path += Path.GetFileName(instrument.Src);
                }
                else
                {
                    path = instrument.GetMappedPath(new Uri(instrument.Src).AbsolutePath);
                }

                var img = XImage.FromFile(path);
                gfx.DrawImage(img, (int)instrument.Left, (int)instrument.Top, 60.00, 60.00);

                var fontInstrument = new XFont("Verdana", 10, XFontStyle.Regular);

                gfx.DrawString(instrument.Text, fontInstrument, new XSolidBrush(XColor.FromArgb(0, 0, 0)),
                               (int)instrument.Left + 30, (int)instrument.Top + 75, XStringFormats.BottomCenter);
            }

            gfx.DrawString("Front of Stage. . .  https://stage-plan.com ", font, new XSolidBrush(XColor.FromArgb(0, 0, 0)),
                           (int)instruments.Width / 2, (int)instruments.Height - 50, XStringFormats.BottomCenter);
        }