Я использую приложение wkhtmltopdf для преобразования моего визуализированного HTML ASPC MVC 2 в PDF и отображения PDF вместо стандартного представления для лучшей возможности печати. Все отлично работает минус одна вещь. Когда я запускаю wkhtmltopdf как процесс в своем приложении MVC на нашем веб-сервере, он не отображает установленный шрифт штрих-кода в PDF.
Вот код для процесса.
public void HtmlToPdf(string url, string appPath)
{
string message = null;
// to build command argument
StringBuilder argument = new StringBuilder();
// input html file
string switches = "";
switches += "--print-media-type ";
switches += "--margin-top 10mm --margin-bottom 10mm --margin-right 10mm --margin-left 10mm ";
switches += "--page-size Letter ";
switches += "--load-error-handling ignore ";
switches += "--username admin ";
switches += "--password pass ";
argument.Append(switches + " " + url + " " + "C:\\PDF\\temp.pdf");
// to call the exe to convert
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.FileName = "C:\\wkhtmltopdf\\wkhtmltopdf.exe";
p.StartInfo.WorkingDirectory = "C:\\wkhtmltopdf";
p.StartInfo.Arguments = argument.ToString();
p.Start();
p.WaitForExit();
message = p.StandardError.ReadToEnd();
if (string.IsNullOrEmpty(message))
{
message = p.StandardOutput.ReadToEnd();
}
else
{
System.Diagnostics.Debug.WriteLine(message);
}
}
Не совсем уверен, почему он не показывает штрих-код, потому что он отображается в том случае, когда вы отображаете html, а не в том, когда wkhtmltopddf преобразует его в pdf. Он также работает правильно, если вы запускаете wkhtmltopdf вне моего приложения MVC.
-Спасибо за любую помощь