ASP.net MVC wkhtmltopdf проблема со шрифтом системного процесса - PullRequest
2 голосов
/ 20 мая 2011

Я использую приложение 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.

-Спасибо за любую помощь

1 Ответ

0 голосов
/ 16 августа 2012

Пробовали ли вы какое-то время с обновленной версией wkhtmltopdf?

С какой версией была эта проблема? Недавно я попытался сгенерировать с использованием случайного шрифта, который я скачал, и он работал нормально.

Если вы генерируете PDF на сервере, серверу тоже нужен шрифт, я предполагаю, что вы это знаете, но кто-то другой, читающий, может этого не понять :) Могу ли я получить соответствующий шрифт для тестирования в моей системе? Было ли преобразование сделано в какой среде? (Скорее всего, не Linux из-за asp.net, но на всякий случай спрашиваю)

...