public byte[] OrderToPdf(Order order) { Guard.NotNull(order, nameof(order)); var controllerContext = CreateControllerContext(); var pdfSettings = _services.Settings.LoadSetting <PdfSettings>(order.StoreId); var routeValues = new RouteValueDictionary(new { storeId = order.StoreId, lid = _services.WorkContext.WorkingLanguage.Id, area = "" }); var model = _orderHelper.PrepareOrderDetailsModel(order); var models = new List <OrderDetailsModel> { model }; var settings = new PdfConvertSettings(); settings.Size = pdfSettings.LetterPageSizeEnabled ? PdfPageSize.Letter : PdfPageSize.A4; settings.Margins = new PdfPageMargins { Top = 35, Bottom = 35 }; settings.Page = new PdfViewContent(OrderHelper.OrderDetailsPrintViewPath, models, controllerContext); settings.Header = new PdfRouteContent("PdfReceiptHeader", "Common", routeValues, controllerContext); settings.Footer = new PdfRouteContent("PdfReceiptFooter", "Common", routeValues, controllerContext); var pdfData = _pdfConverter.Convert(settings); return(pdfData); }
private ActionResult PrintCore(List <OrderDetailsModel> model, bool pdf, string pdfFileName) { ViewBag.PdfMode = pdf; var viewName = "Details.Print"; if (pdf) { // TODO: (mc) this is bad for multi-document processing, where orders can originate from different stores. var storeId = model[0].StoreId; var routeValues = new RouteValueDictionary { ["storeId"] = storeId, ["lid"] = Services.WorkContext.WorkingLanguage.Id }; var pdfSettings = Services.Settings.LoadSetting <PdfSettings>(storeId); var settings = new PdfConvertSettings { Size = pdfSettings.LetterPageSizeEnabled ? PdfPageSize.Letter : PdfPageSize.A4, Margins = new PdfPageMargins { Top = 35, Bottom = 35 }, Page = new PdfViewContent(viewName, model, this.ControllerContext), Header = new PdfRouteContent("PdfReceiptHeader", "Common", routeValues, this.ControllerContext), Footer = new PdfRouteContent("PdfReceiptFooter", "Common", routeValues, this.ControllerContext) }; return(new PdfResult(_pdfConverter, settings) { FileName = pdfFileName }); } return(View(viewName, model)); }
public PdfResult(IPdfConverter converter, PdfConvertSettings settings) { Guard.ArgumentNotNull(() => converter); this.Converter = converter; this.Settings = settings ?? new PdfConvertSettings(); }
public PdfResult(IPdfConverter converter, PdfConvertSettings settings) { Guard.NotNull(converter, nameof(converter)); this.Converter = converter; this.Settings = settings ?? new PdfConvertSettings(); }
public PdfResult(IPdfConverter converter, PdfConvertSettings settings) { this.Converter = converter; this.Settings = settings ?? new PdfConvertSettings(); }