【发布时间】:2014-10-17 09:27:28
【问题描述】:
我已经在 MVC ASP.NET C# 中生成了一个 HTML 页面。 (带有 html 助手)
我想自动将此页面保存为特定文件夹中的 pdf
目前,当有人提交表单时,它会发送到数据库,但我也希望 [HttpPost] 将该提交的表单转换为 pdf
示例:http://example1234.com/Persons/details/15
如何将其保存为 pdf?
private string datadir = null;
private string wkhtmltopdf = null;
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Person person)
{
datadir = ConfigurationManager.AppSettings["datadir"];
wkhtmltopdf = ConfigurationManager.AppSettings["wkhtmltopdf"];
if (ModelState.IsValid)
{
db.People.Add(person);
db.SaveChanges();
//here the PDF should be created
System.IO.File.WriteAllText("details/" + person.ID +".html"));
var pdf1 = new ProcessStartInfo(wkhtmltopdf);
pdf1.CreateNoWindow = true;
pdf1.UseShellExecute = false;
pdf1.WorkingDirectory = datadir + "tmp\\";
pdf1.Arguments = "-q -n --disable-smart-shrinking Pdf." + person.ID + ".html Pdf." + person.ID + ".pdf";
using (var process = Process.Start(pdf1))
{
process.WaitForExit(99999);
Debug.WriteLine(process.ExitCode);
}
return View(person);
}
【问题讨论】:
标签: html asp.net-mvc pdf visual-studio-2013