public async Task<IHttpActionResult> Upload() { System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); try { byte[] content = await Request.Content.ReadAsByteArrayAsync(); Extractor e = new Extractor(); DocumentModel doc = e.ReadPdf(content); watch.Start(); DbManager db = new DbManager(); db.AddDocument(doc); watch.Stop(); return Ok(doc); } catch (Exception e) { return BadRequest(e.Message); } }
public void ParsePDF() { const string file = @"C:\Users\vmalakhov.ARTGROUP\Desktop\pdfupload\JobCost.pdf"; var path = @"C:\Users\vmalakhov.ARTGROUP\Desktop\pdfupload\pdfupload\Files\1410712015114130133.xlsx"; using(var stream = new FileStream(file, FileMode.Open)) { byte[] content; using (BinaryReader b = new BinaryReader(stream)) { int length = (int)stream.Length; content = b.ReadBytes(length); } Extractor e = new Extractor(); var doc = e.ReadPdf(content); ExcelExport.Exporter ex = new ExcelExport.Exporter(); ex.ExportToExcel(doc,path); Assert.AreNotEqual(doc, null); } }
public async Task<HttpResponseMessage> Download() { HttpResponseMessage result = null; byte[] content = await Request.Content.ReadAsByteArrayAsync(); Extractor e = new Extractor(); if (content.Length > 0) { DocumentModel doc = e.ReadPdf(content); var excelSavePath = System.Web.Hosting.HostingEnvironment.MapPath("~/Files/"); //var path = @"C:\Users\vmalakhov.ARTGROUP\Desktop\pdfupload\pdfupload\Files\1410712015114130133.xlsx"; var path = new Exporter().ExportToExcel(doc, excelSavePath); result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new FileStream(path, FileMode.Open, FileAccess.Read)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentDisposition.FileName = "table.xlsx"; } else { result.RequestMessage.CreateResponse(HttpStatusCode.BadRequest); } return result; }