我现在陷入困境的情况是,我正在使用 iTextSharp 生成 PDF ,但是当它在新浏览器中打开TAB 时它提供了打印,保存,放大,缩小等选项。
除了SAVE之外,所有其他默认功能(如打印,缩放)都正常工作。当我点击保存按钮时,保存文件。我尝试使用 CTRL + S 但结果是一样的。
这是我的代码:
public override void ExecuteResult(ControllerContext context)
{
IView viewEngineResult;
ViewContext viewContext;
if (ViewName == null)
{
ViewName = context.RouteData.GetRequiredString("action");
}
context.Controller.ViewData.Model = Model;
if (context.HttpContext.Request.QueryString["html"] != null &&
context.HttpContext.Request.QueryString["html"].ToLower().Equals("true"))
{
viewEngineResult = ViewEngines.Engines.FindView(context, ViewName, null).View;
viewContext = new ViewContext(context, viewEngineResult, context.Controller.ViewData,
context.Controller.TempData, context.HttpContext.Response.Output);
viewEngineResult.Render(viewContext, context.HttpContext.Response.Output);
}
else
{
var workStream = new MemoryStream();
var document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, workStream);
writer.CloseStream = false;
document.Open();
viewEngineResult = ViewEngines.Engines.FindView(context, ViewName, null).View;
var sb = new StringBuilder();
TextWriter tr = new StringWriter(sb);
viewContext = new ViewContext(context, viewEngineResult, context.Controller.ViewData,
context.Controller.TempData, tr);
viewEngineResult.Render(viewContext, tr);
Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString()));
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, stream, null);
document.Close();
new FileContentResult(workStream.ToArray(), "application/pdf").ExecuteResult(context);
}
自从过去1小时以来,我一直被困在这个问题中。帮帮我们。
由于