Example #1
0
        public async Task <ActionResult <FormFill> > UploadPDF(IFormFile file)
        {
            var formFill = new FormFill();

            if (file == null || file.Length == 0)
            {
                return(Content("file not selected"));
            }

            var path = Path.Combine(
                Directory.GetCurrentDirectory(), "wwwroot",
                file.FileName);

            using (var stream = new FileStream(path, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }
            WordDocument doc = new WordDocument(file.OpenReadStream(), FormatType.Docx);
            //Get the pattern for regular expression
            Regex regex = new Regex("{[A-Za-z]+}");
            var   items = doc.FindAll(regex);

            foreach (var item in items)
            {
                formFill.Items.Add(new Item {
                    Key = item.SelectedText
                });
            }
            formFill.Filename = file.FileName;
            return(formFill);
        }
Example #2
0
        public ActionResult CreatePDF(FormFill formFill)
        {
            string basePath = "";

            try
            {
                string     dataPath2   = basePath + @"/Adventure.docx";
                FileStream fileStream1 = new FileStream(dataPath2, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                //Load template document
                WordDocument doc = new WordDocument(fileStream1, FormatType.Docx);
                fileStream1.Dispose();
                fileStream1 = null;


                //Replace the text that matches the case and whole word
                foreach (var item in formFill.Items)
                {
                    doc.Replace(item.Key, item.Value, true, true);
                }

                try
                {
                    FormatType type        = FormatType.Docx;
                    string     filename    = "Sample.docx";
                    string     contenttype = "application/vnd.ms-word.document.12";
                    #region Document SaveOption
                    //Save as .doc format
                    switch (formFill.DocFile)
                    {
                    case DocFile.Doc:
                    {
                        type        = FormatType.Doc;
                        filename    = "Sample.doc";
                        contenttype = "application/msword";
                        break;
                    }

                    case DocFile.XML:
                    {
                        type        = FormatType.WordML;
                        filename    = "Sample.xml";
                        contenttype = "application/msword";
                        break;
                    }
                    }
                    #endregion Document SaveOption
                    MemoryStream ms = new MemoryStream();
                    doc.Save(ms, type);
                    doc.Close();
                    ms.Position = 0;
                    return(File(ms, contenttype, filename));
                }
                catch (Exception)
                { }
            }
            catch (Exception)
            { }
            return(BadRequest());
        }
Example #3
0
        private static void DisplayMergerExamples()
        {
            bool exitToProducts = false;

            while (!exitToProducts)
            {
                Console.WriteLine("Select a DynamicPDF Merger for .NET example to run:");
                Console.WriteLine("     A : Field Level Flattening");
                Console.WriteLine("     B : Form Field Reader");
                Console.WriteLine("     C : Form Flattening");
                Console.WriteLine("     D : Merge PDFs");
                Console.WriteLine("     E : Place PDFs");
                Console.WriteLine("     F : Stamp PDF");
                Console.WriteLine("     G : Text Extraction");
                Console.WriteLine("     H : Select Pages");
                Console.WriteLine("     I : Merge Invoices");
                Console.WriteLine("     J : AcroForm Fill");
                Console.WriteLine("     K : Form Fill");
                Console.WriteLine();
                Console.WriteLine("Press 'Backspace' for the main products menu");
                Console.WriteLine("Press 'Esc' to exit application");
                Console.WriteLine();

                ConsoleKeyInfo runKey = Console.ReadKey();
                Console.WriteLine();
                Console.WriteLine();

                string exampleName = string.Empty;
                string fileName    = string.Empty;
                switch (runKey.Key)
                {
                case ConsoleKey.A:
                    exampleName = "Field Level Flattening";
                    fileName    = "FieldLevelFlattening.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    FieldLevelFlattening.Run(fileName);
                    break;

                case ConsoleKey.B:
                    exampleName = "Form Field Reader";
                    fileName    = "FormFieldReader.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    FormFieldReader.Run(fileName);
                    break;

                case ConsoleKey.C:
                    exampleName = "Form Flattening";
                    fileName    = "FormFlattening.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    FormFlattening.Run(fileName);
                    break;

                case ConsoleKey.D:
                    exampleName = "Merge PDFs";
                    fileName    = "MergePDFs.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    MergePDFs.Run(fileName);
                    break;

                case ConsoleKey.E:
                    exampleName = "Place PDFs";
                    fileName    = "PlacePDFs.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    PlacePDFs.Run(fileName);
                    break;

                case ConsoleKey.F:
                    exampleName = "Stamp PDF";
                    fileName    = "StampPDF.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    StampPDF.Run(fileName);
                    break;

                case ConsoleKey.G:
                    exampleName = "Text Extraction";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    Console.WriteLine();
                    Console.WriteLine(TextExtraction.Run());
                    break;

                case ConsoleKey.H:
                    exampleName = "Select Pages";
                    fileName    = "SelectPages.pdf";
                    Console.WriteLine("Select Pages to Merge from Document A");
                    Console.WriteLine(" A1: Page 1");
                    Console.WriteLine(" A2: Page 2");
                    Console.WriteLine(" A3: Page 3");
                    Console.WriteLine(" A4: Page 4");
                    Console.WriteLine();
                    Console.WriteLine("Select Pages to Merge from Document B");
                    Console.WriteLine(" B1: Page 1");
                    Console.WriteLine(" B2: Page 2");
                    Console.WriteLine(" B3: Page 3");
                    Console.WriteLine();
                    Console.WriteLine("Select Pages to Merge from Document C");
                    Console.WriteLine(" C1: Page 1");
                    Console.WriteLine(" C2: Page 2");
                    Console.WriteLine();
                    Console.WriteLine("Select Pages to Merge from Document D");
                    Console.WriteLine(" D1: Page 1");
                    Console.WriteLine(" D2: Page 2");
                    Console.WriteLine(" D3: Page 3");
                    Console.WriteLine(" D4: Page 4");
                    Console.WriteLine(" D5: Page 5");
                    Console.WriteLine(" D6: Page 6");
                    Console.WriteLine();
                    Console.WriteLine("Please enter the page number(s) to merge. Use a comma ',' to seperate multiple entries (Ex: A1,B2,D5):");
                    Console.WriteLine();

                    string selectedPages = Console.ReadLine().ToUpper();
                    Console.WriteLine("Example " + exampleName + " is Running...");

                    SelectPages.Run(selectedPages.Split(','), fileName);
                    break;

                case ConsoleKey.I:
                    exampleName = "Merge Invoices PDF";
                    fileName    = "MergerInvoice.pdf";
                    Console.WriteLine("Please enter the invoice number(s) to include. Use a comma ',' to seperate multiple entries (Ex: 10248,10249,10250):");
                    Console.WriteLine();
                    Console.WriteLine("10248");
                    Console.WriteLine("10249");
                    Console.WriteLine("10250");
                    Console.WriteLine("10251");
                    Console.WriteLine("10252");
                    Console.WriteLine("10360");
                    Console.WriteLine("10979");
                    Console.WriteLine("11077");
                    Console.WriteLine();

                    string invoiceNumbers = Console.ReadLine();

                    Console.WriteLine("Example " + exampleName + " is Running...");

                    byte[] pdf = MergerInvoice.Run(invoiceNumbers.Split(','));
                    File.WriteAllBytes(fileName, pdf);
                    break;

                case ConsoleKey.J:
                    exampleName = "AcroForm Fill";
                    fileName    = "AcroFormFill.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    AcroFormFill.Run(fileName);
                    break;

                case ConsoleKey.K:
                    exampleName = "Form Fill";
                    fileName    = "FormFill.pdf";
                    Console.WriteLine("Example " + exampleName + " is Running...");
                    FormFill.Run(fileName);
                    break;

                case ConsoleKey.Escape:
                    System.Environment.Exit(0);
                    break;

                case ConsoleKey.Backspace:
                    exitToProducts = true;
                    break;

                default:
                    Console.WriteLine();
                    Console.WriteLine("Key not recognized.");
                    break;
                }

                if (fileName != string.Empty)
                {
                    DisplayOutputPathWithOptionToOpen(fileName);
                }
            }
        }