Я использую wkhtmltopdf для создания pdf в консольном приложении c#.net
Ниже приведен код и
psi.UseShellExecute = false;
psi.FileName = "C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";
psi.CreateNoWindow = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.Arguments = "--enable-javascript --no-stop-slow-scripts --javascript-delay 10000 --page-size A4 --dpi 300 --margin-top 20mm --header-html D:\\header.html --margin-bottom 10mm - --footer-html D:\\footer.html " + tempPath + "\\" + outFileName;
p = Process.Start(psi);
try
{
stdin = p.StandardInput;
stdin.AutoFlush = true;
stdin.Write(HTML);
stdin.Close();
p.WaitForExit(60000);
}
finally
{
p.Close();
p.Dispose();
}
Я ожидаю, что wkhtmltopdf.exe завершится в строке waitforexit.
Но я все еще вижу это в памяти, и pdf создается с 0kb
Если я закрою консольное приложение, PDF-файл будет создан правильно
Эта проблема возникает только тогда, когда я использую HTML-код заголовка и нижнего колонтитула в аргументах, иначе он работает нормально.