我在打印 html 文件时遇到问题,我尝试了 doc、xls 和 txt 文件,它们运行良好,但是当我提供 html 文件时,它会显示打印对话框,我必须选择 ghostscript 打印机才能工作。
我的代码是:
[DllImport("Winspool.drv")]
private static extern bool SetDefaultPrinter(string printerName);
[ValidateInput(false)]
public ActionResult CreatePdf(string file , string html)
{
SetDefaultPrinter("Ghostscript");
Process process1 = new Process();
if (html != null && html != "")
{ process1.StartInfo.FileName = "example.html"; }
else
{ process1.StartInfo.FileName = file; }
process1.EnableRaisingEvents = true;
process1.StartInfo.Verb = "print";
process1.StartInfo.Arguments = "\"Ghostscript PDF\"";
process1.StartInfo.WorkingDirectory = Server.MapPath("~" + "/Export");
process1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process1.StartInfo.CreateNoWindow = true;
process1.Start();
try
{
process1.WaitForExit();
}
catch (InvalidOperationException) { }
process1.Dispose();
}
这应该改变我的 output.ps 文件,然后我用它来制作 pdf 文件,它工作得很好,我只需要让它适用于 html 文件。
我遵循了这两个例子:
编辑:我需要这种转换才能从 html 中获取 pdf 文件,并发现 wkhtmltopdf 最适合我。