示例#1
0
        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            if (string.IsNullOrEmpty(ViewName))
            {
                throw new ArgumentNullException("ViewName");
            }

            ViewData = context.Controller.ViewData;
            TempData = context.Controller.TempData;

            ViewEngineResult viewEngineResult = null;

            if (View == null)
            {
                viewEngineResult = FindView(context);
                View             = viewEngineResult.View;
            }

            if (viewEngineResult != null)
            {
                viewEngineResult.ViewEngine.ReleaseView(context, View);
            }

            var streamReader = new StreamReader(_htmlFileSource);
            var htmlString   = streamReader.ReadToEnd();

            var pdfSource = _converter.ConvertToPdfAsArray(_settings, htmlString);

            FileContentResult result = new FileContentResult(pdfSource, "application/pdf")
            {
                FileDownloadName = _settings.FileName
            };

            result.ExecuteResult(context);
        }