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); }
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()); }
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); } } }