public void GenerateReport(int id)
        {
            EntityDTO dto = entityData.GetOneEntity(id);

            dto.ExtractProperties();

            FileDTO file = filesData.GetFile(dto.DGXFileName);

            byte[] diagram = file.Data;
            //Save the raw .wmf file
            int poolCount = entityData.GetPoolCount(dto.ID);


            this.imageManager = new WmfImageManager(dto, diagram, dto.DGXFileName, dto.Type, poolCount, true);

            string resizedDiagram = imageManager.SaveAndResizeImage(diagram, dto.DGXFileName, dto.Type,
                                                                    poolCount, true);

            string[] images = new string[] { PathResolver.MapPath(resizedDiagram) };

            if (poolCount > 1 && dto.Type == 142)
            {
                //slice the wmf
                SubProcessSlicer slicer = new SubProcessSlicer(resizedDiagram);
                images = slicer.Slice();
            }

            List <PdfContentParameter> contents = ReportBuilder.BuildReport(dto);

            byte[] pdfBytes = PDFBuilder.CreatePDF(contents, images, dto.Type);
            this.view.RenderReport(pdfBytes);
        }
示例#2
0
        public ActionResult Index(FileUploadModel fileUpload)
        {
            MemoryStream target = new MemoryStream();

            fileUpload.ImageFile.InputStream.CopyTo(target);
            byte[] data     = target.ToArray();
            string fileType = Path.GetExtension(fileUpload.ImageFile.FileName);
            string fileName = fileUpload.ImageFile.FileName;

            byte[] filePdf = data;
            string QrCode  = fileUpload.QRCode;

            // Image QrImage = PDFBuilder.GenerateQr(QrCode);
            Image QrImage = PDFBuilder.GenerateOfflineQr(QrCode);

            Font   font         = new Font("Times New Roman", 30.0f);
            string hexValue     = "#000000";
            Color  color        = System.Drawing.ColorTranslator.FromHtml(hexValue);
            string hexValueBack = "#FFFFFF";
            Color  backColor    = System.Drawing.ColorTranslator.FromHtml(hexValueBack);
            string Footer       = "Date: " + DateTime.Now.ToShortDateString();

            Image FontImage = PDFBuilder.DrawText(Footer, font, color, backColor);

            byte[] pdf = PDFBuilder.InsertImageIntoPDF(filePdf, QrImage, FontImage);
            DownLoadPdf(pdf, fileName, fileType);
            return(View());
        }
        private void SaveAs_Click(object sender, RoutedEventArgs e)
        {
            if (IsDataInvalid())
            {
                try
                {
                    PDFBuilder     builder = new PDFBuilder();
                    SaveFileDialog save    = new SaveFileDialog();
                    save.Filter = "pdf files (*.pdf)|*.pdf";

                    if (save.ShowDialog() == true)
                    {
                        DumpTemplate();
                        builder.Build(Template, save.FileName);
                    }
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.StackTrace + "\n" + exc.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show("Fill all data boxes!!!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
示例#4
0
        private void PaymentReceipt()
        {
            System.Console.WriteLine("processPaymentReceipt on Payment {0}", PaymentInfo.ID);
            // Call the conversion method and get back the path to the converted PDF document
            var fileName = PDFBuilder.GenerateReceiptFax(PaymentInfo);

            Emailer.SendEmailWithAttachment(Config.EmailContact, fileName);
        }
示例#5
0
 public ShareModel(IAuthorizationService authorizationService, ApplicationDbContext context,
                   PDFBuilder pdfBuilder, TokenGenerator tokenGenerator)
 {
     _authorizationService = authorizationService;
     _context        = context;
     _pdfBuilder     = pdfBuilder;
     _tokenGenerator = tokenGenerator;
 }
示例#6
0
        public void Should_Throw_Exception_When_File_Locked()
        {
            // Arrange
            var builder = new PDFBuilder(_outputPath, new[] { _imageName });

            // Act / Assert
            builder.Build("img");
        }
示例#7
0
 public DownloadModel(IAuthorizationService authorizationService, ApplicationDbContext context,
                      PDFBuilder pdfBuilder, TokenValidator tokenValidator)
 {
     _authorizationService = authorizationService;
     _context        = context;
     _pdfBuilder     = pdfBuilder;
     _tokenValidator = tokenValidator;
 }
示例#8
0
        private void generateBookingConfirmation(BookingInfo info)
        {
            System.Console.WriteLine("Generate Bus Confirmation for Booking {0}", info.Id);
            info.IsBookingConfirmationCreated = true;

            // Call the conversion method and get back the path to the converted PDF document
            var fileName = PDFBuilder.GenerateBusConfirmationPdf(info);

            Emailer.SendEmailWithAttachment(Config.EmailContact, fileName);
        }
示例#9
0
        public void Should_Throw_Exception_When_File_Locked()
        {
            // Arrange
            var builder = new PDFBuilder(new[] { _imageName });

            // Act / Assert
            using (var stream = new MemoryStream())
            {
                builder.Build("img", stream);
            }
        }
示例#10
0
        /// <summary>
        /// Exports Data to XML and PDF File
        /// </summary>
        public void ExportData()
        {
            if (IsValidPOList == false)
            {
                MessageBox.Show(@"Export could not be completed due to the following possible causes:

1) Only online Spotify search results can be exported. 
2) An offline export file that was imported cannot be exported again.", @"Warning",
                                MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                MessageBoxOptions.DefaultDesktopOnly);

                return;
            }

            // 1. Build Export XML for import (leverage XMLBuilder)
            XMLBuilder      xmlBuilder = new XMLBuilder();
            SpotifySearchPO path       = CompleteSpotifySearchList.FirstOrDefault(s => !string.IsNullOrEmpty(s.ImportExportLocationText));
            DateTime        date       = DateTime.Now;

            string fileAppendDateFormat = $"{date.Year}{date.Day}{date.Month}{date.Hour}{date.Minute}";
            string codedPathXml         = @"\" + fileAppendDateFormat + "_SpotifySearchResults.xml";
            string codedPathPdf         = @"\" + fileAppendDateFormat + "_SpotifySearchResults.pdf";

            if (path != null && !string.IsNullOrEmpty(path.ImportExportLocationText))
            {
                xmlBuilder.CreateXMLFromSpotifySearchPOList(CompleteSpotifySearchList,
                                                            path.ImportExportLocationText + codedPathXml);
            }
            else
            {
                // Place into my documents folder if user hasn't set an actual folder
                string myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                string myPath      = myDocuments + @"\" + fileAppendDateFormat + "_SpotifySearchResults.xml";
                xmlBuilder.CreateXMLFromSpotifySearchPOList(CompleteSpotifySearchList, myPath);
            }

            // 2. Build Export PDF for easy viewing (leverage PDFBuilder)
            PDFBuilder pdfBuilder = new PDFBuilder();

            if (path != null && !string.IsNullOrEmpty(path.ImportExportLocationText))
            {
                pdfBuilder.CreatePdfFromMainFrameDataPoList(
                    CompleteSpotifySearchList,
                    path.ImportExportLocationText + codedPathPdf);
            }
            else
            {
                // Place into my documents folder if user hasn't set an actual folder
                string myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                string myPath      = myDocuments + @"\" + fileAppendDateFormat + "_SpotifySearchResults.pdf";
                pdfBuilder.CreatePdfFromMainFrameDataPoList(CompleteSpotifySearchList, myPath);
            }
        }
示例#11
0
        private void ProcessReverse()
        {
            string file = PDFBuilder.GenerateReversePaymentFax(PaymentInfo);

            Emailer.SendEmailWithAttachment(Config.EmailContact, file);
        }
        public void ProcessInstruction(PaymentInfo pay)
        {
            string file = PDFBuilder.GeneratePaymentFax(pay);

            Emailer.SendEmailWithAttachment(Config.EmailContact, file);
        }
示例#13
0
        public void ReserveSeat(BookingInfo info)
        {
            string file = PDFBuilder.GenerateBusReservationPdf(info);

            Emailer.SendEmailWithAttachment(Config.EmailContact, file);
        }
示例#14
0
        //Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab
        //illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut
        //fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet
        //, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad
        //minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure
        //reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
        static void Main(string[] args)
        {
            //Document document = new Document();
            //document.Add();
            //AreaBreak
            WorkTemplate2 workTemplate = new WorkTemplate2();

            byte[] bytes = Encoding.Default.GetBytes("something");

            workTemplate.Experience = new ResumeBuilderLib.Elements.InfoBlockDocument()
            {
                Header = "My Experience",
                Info   = new string[]
                {
                    Encoding.UTF8.GetString(bytes),
                    "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab ",
                    "illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut ",
                    ", consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad ",
                    "reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
                }
            };
            workTemplate.Education = new ResumeBuilderLib.Elements.InfoBlockDocument()
            {
                Header = "My Education",
                Info   = new string[]
                {
                    "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab ",
                    "illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut ",
                    ", consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad ",
                    "reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
                }
            };
            workTemplate.ContactInfo = new ResumeBuilderLib.Elements.InfoBlockDocument()
            {
                Header = "My contacts",
                Info   = new string[]
                {
                    "istagramm: dslfjajfs",
                    "email: [email protected]",
                    "+380 69 420 420",
                    "github: https://github.com/ittybe"
                }
            };
            workTemplate.Birthday = new ResumeBuilderLib.Elements.TextDocument()
            {
                Text = DateTime.Now.ToString()
            };
            workTemplate.Name = new ResumeBuilderLib.Elements.TextDocument()
            {
                Text = "Geralt of Rivia"
            };
            workTemplate.ProfileImage = new ResumeBuilderLib.Elements.ImageDocument()
            {
                Filepath = @"C:\Users\Lenovo\OneDrive\Pictures\Saved Pictures\aqua_(konosuba)1.jpg"
            };
            workTemplate.FontSize = 16;

            PDFBuilder builder = new PDFBuilder();

            builder.Build(workTemplate, "text.pdf");
        }