public ActionResult Crear(FormCollection form, Reporte reporte) { List<Columna> columnas = new List<Columna>(); for (int i = 0; i < form.Count-2; i += 4) { Columna columna = new Columna(); columna.fecha = form[i]; columna.detalle = form[i+1]; columna.num_boleta = form[i+2]; columna.costo = Int32.Parse(form[i+3]); columnas.Add(columna); } //string file = @"C:\Users\juancarlosgonzalezca\Documents\Documento.pdf"; string path = AppDomain.CurrentDomain.BaseDirectory; string file = path + "/Reportes/" + reporte.reporte_id + ".pdf"; ViewBag.Columnas = columnas; reporte.url = file; try { if (ModelState.IsValid) { db.Reportes.Add(reporte); db.SaveChanges(); } } catch (Exception ex) { TempData["Error"] = ex.Message; return View("Error"); } string html; using (var sw = new StringWriter()) { var viewResult = ViewEngines.Engines.FindPartialView(this.ControllerContext, "PDF"); var viewContext = new ViewContext(this.ControllerContext, viewResult.View, this.ViewData, this.TempData, sw); viewResult.View.Render(viewContext, sw); viewResult.ViewEngine.ReleaseView(this.ControllerContext, viewResult.View); html= sw.GetStringBuilder().ToString(); } Document document = new Document(PageSize.A4, 80, 50, 30, 65); PdfWriter.GetInstance(document, new FileStream(file, FileMode.Create)); document.Open(); foreach (IElement E in HTMLWorker.ParseToList(new StringReader(html), new StyleSheet())) document.Add(E); document.Close(); return RedirectToAction("Index"); }
public ActionResult Crear() { Reporte reporte = new Reporte(); reporte.reporte_id = db.Reportes.Count() + 1; return View(reporte); }