我在学习 ASP.net MVC 的同时制作发票网站,到目前为止一切都很好。我遇到的问题是,当我在我的应用程序中更新发票,然后尝试将其下载为 pdf 格式时,我得到了页面的初始内容并且没有任何更新。我想在有人下载它之前显示 pdf,它工作得很好。所以我不知道我的问题是否与流没有在页面上获得更改有关。
如果可能的话,我还希望在 URL 中返回一个 Guid,并且不知道如何根据当前的设置来做到这一点。
任何帮助都会很棒!
注意:我发布了网站但 ABCpdf 出错(可能是因为它是试用版),但是,我可以在本地生成 PDF
看法
@Html.ActionLink("Download PDF", "DownloadPDF", null, new { @class = "btn btn-action", @target = "_blank" })
控制器
public ActionResult DownloadPDF()
{
Doc pdf = new Doc();
MemoryStream stream = new MemoryStream();
pdf.Rect.Inset(40, 40);
pdf.HtmlOptions.Engine = EngineType.Gecko;
pdf.HtmlOptions.UseScript = true;
pdf.AddImageUrl("http://local.completeinvoice.com/");
byte[] data = pdf.GetData();
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline; filename=invoice-001.pdf");
Response.AddHeader("content-length", data.Length.ToString());
Response.BinaryWrite(data);
Response.Flush();
Response.End();
pdf.Flatten();
pdf.Save(stream);
stream.Close();
pdf.Clear();
return View("Index");
}