如何用c#实现“--print-media-type”?

时间:2013-05-13 09:20:11

标签: c# asp.net pdf-generation wkhtmltopdf

我目前正在使用带有c#的wkhtmltopdf将我的网页下载为PDF格式。但是,我希望生成的PDF显示为使用“print.css”。

其他细节: 我正在使用微软Visual Studio 2010。

这是我的代码:

protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
    string args = string.Format("\"{0}\" - ", Request.Url.AbsoluteUri);
    var startInfo = new ProcessStartInfo(Server.MapPath("~/wkhtmltoPDF/") + "wkhtmltopdf.exe", args)
    {
        UseShellExecute = false,
        RedirectStandardOutput = true
    };

    var proc = new Process { StartInfo = startInfo };
    proc.Start();

    Response.AddHeader("Content-Disposition", string.Format("attachment;filename=StaffDetails.pdf", Guid.NewGuid()));
    Response.AddHeader("Content-Type", "application/pdf"); string output = proc.StandardOutput.ReadToEnd();
    byte[] buffer = proc.StandardOutput.CurrentEncoding.GetBytes(output);
    proc.Close();
    Response.BinaryWrite(buffer);
    }
}

1 个答案:

答案 0 :(得分:0)

只需将其添加为参数即可。尝试像

这样的东西
string args = string.Format("--print-media-type \"{0}\" - ", Request.Url.AbsoluteUri);