我試圖創建一個我在模型窗口(我的圖表是javascript和css在.aspx視圖中的組合)的javascript圖表的PDF。呈現的PDF文件中唯一的東西是來自窗口的靜態內容,實際的javascript圖表不在那裏。用wkhtmltopdf創建pdf並呈現javascript
我呼籲創建PDF如下:
public byte[] WKHtmlToPdf(string url)
{
var fileName = " - ";
var wkhtmlDir = "C:\\Temp\\wkhtml";
var wkhtml = "C:\\Temp\\wkhtml\\wkhtmltopdf.exe";
var p = new Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = wkhtml;
p.StartInfo.WorkingDirectory = wkhtmlDir;
string switches = "";
switches += "--print-media-type ";
switches += "--margin-top 0mm --margin-bottom 0mm --margin-right 0mm --margin-left 0mm ";
switches += "--page-size Letter ";
p.StartInfo.Arguments = switches + " " + url + " " + fileName;
p.Start();
//read output
byte[] buffer = new byte[32768];
byte[] file;
using (var ms = new MemoryStream())
{
while (true)
{
int read = p.StandardOutput.BaseStream.Read(buffer, 0, buffer.Length);
if (read <= 0)
{
break;
}
ms.Write(buffer, 0, read);
}
file = ms.ToArray();
}
// wait or exit
p.WaitForExit(60000);
// read the exit code, close process
int returnCode = p.ExitCode;
p.Close();
return returnCode == 0 ? file : null;
}
對我怎麼能搶的JavaScript圖表任何想法? .Net版本可能更合適,或者我必須將生成的頁面保存到文件並將其傳遞到工具中。
謝謝。
我有這個問題,並確保我使用wkhtmltopdf 0.9.9修復它。 「寶石安裝」版本(0.8.3)並沒有削減它。 – dfrankow