Example #1
0
        public async Task <Stream> GeneratePdfAsync(Guid ticketId, string ticketValidationUriFormat)
        {
            var ticket = await _tickets.GetAsync(ticketId);

            if (ticket == null)
            {
                throw new TicketNotFoundException();
            }

            TicketData ticketData = Map(ticket, ticketValidationUriFormat);

            var stream    = new MemoryStream();
            var generator = new PdfTicketGenerator();

            generator.GenerateTicket(ticketData, stream);
            stream.Position = 0;
            return(stream);
        }
Example #2
0
        private static void Main(string[] args)
        {
            var ticketData = new TicketData
            {
                EventName     = "ONE",
                TicketId      = "123780112",
                QrValue       = "https://one-movement.de",
                EventLogo     = "https://i.ibb.co/YdZyH50/jesussaves-black.png",
                Host          = "ONE Network",
                EventDate     = "Samstag, 06.04.2019",
                EventLocation = "Neu-Ulm",
                TicketType    = "Tageskonferenz + ONE Night",
                Price         = "30 € (inkl. Vorverkaufsgebühr)",
                Transmissible = "false",
                EntranceTime  = "18:30 Uhr",
                BeginTime     = "19:00 Uhr",
                Address       =
                {
                    "ratiopharm arena",
                    "Europastraße 25",
                    "89231 Neu-Ulm"
                },
                QrTrafficImageUrl = "http://placehold.jp/150x150.png",
                Buyer             = "John Doe",
                BookingDate       = "01.04.2019",
                BookingNumber     = "12892984"
            };

            // generate a file with a random filename in the system's temp directory.
            string filePath = Path.GetTempFileName() + ".pdf";

            var fileStream = new FileStream(filePath,
                                            FileMode.Create, FileAccess.Write, FileShare.None);

            using (fileStream)
            {
                var generator = new PdfTicketGenerator();
                generator.GenerateTicket(ticketData, fileStream);
            }

            Console.WriteLine("Ticket was saved as file:\n{0}", filePath);
            // Open in pdf viewer.
            Process.Start("cmd.exe", $"/c {filePath}");
        }