Создание pdf-файла с помощью wkhtmltopdf и рендеринга javascript

Я пытаюсь создать PDF-файл с диаграммой javascript, которая у меня есть в окне модели (моя диаграмма представляет собой комбинацию javascript и css в представлении .aspx ). Единственное, что есть в обработанном 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 будет более подходящей, или мне придется сохранить сгенерированную страницу в файл и передать его в инструмент.

Спасибо.

9
задан Zero Cool 4 August 2011 в 23:10
поделиться