在wkhtmltopdf进程中运行脚本

时间:2015-02-09 15:30:50

标签: javascript c# pdf wkhtmltopdf

我使用wkhtmltopdf从html(s)

创建pdf(s)

我有下一个功能:

private void CreateTempPdf(string htmlPath, string pdfPathTemp)
        {
            var processorInfo = new System.Diagnostics.ProcessStartInfo
                                {
                                    Arguments =
                                        "--margin-top 27 \"" + htmlPath + "\" \"" + pdfPathTemp +
                                        "\" ",
                                    FileName = PublisherConfigurationManager.Pdf2HtmlConverter,
                                    UseShellExecute = true
                                };

            using (var proc = new System.Diagnostics.Process())
            {
                proc.StartInfo = processorInfo;
                proc.Start();
                proc.WaitForExit();
            }
        }

其中我传递html文件和目标文件的路径。

我想在生成pdf之前添加一些js脚本来运行。

我在--run-script <js>之后将代码Arguments添加到pdfPathTemp,但脚本未应用于pdf。我也在--margin之前添加它,但这种情况对我没有帮助。

如何正确地将脚本添加到wkhtmltopdf进程中?

1 个答案:

答案 0 :(得分:0)

我只是将脚本直接添加到HTML页面中。在这种情况下,我会将路径中的HTML加载到字符串中,注入脚本,然后为进程持续时间写一个临时文件。

至于为什么 - 运行脚本不起作用,我不知道。您是否使用非常简单的脚本和HTML直接在命令行中尝试了它,看看最小的示例是否适合您?

如果这不是一个选项,如果你需要这些东西,你可能不得不为不同的js参数使用不同的文件。