С C # используйте Chrome для преобразования HTML в PDF - PullRequest
0 голосов
/ 15 ноября 2018

Я думаю, что делаю что-то не так или это невозможно. Я могу запустить из командной строки и создать PDF отлично, используя пути в коде ниже. Для получения дополнительной информации строка аргумента при использовании командной строки выглядит следующим образом: chrome --headless --print-to-pdf = "c: \ Users \ pwtph82 \ desktop \ myreport \ myreport.pdf" https://google.com

Спасибо за любую помощь заранее.

     System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        process.StartInfo.FileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";

        string arguments = @"chrome --headless --print-to-pdf=""c:\\Users\pwtph82\desktop\myreport\myReport.pdf"" https://google.com";
        process.StartInfo.Arguments = "/C " + arguments;
        process.Start();

1 Ответ

0 голосов
/ 15 ноября 2018

Я не знаю, почему это не позволяет мне это сделать. Но вы можете запустить экземпляр powershell и запустить его через powershell:

var process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
var chrome = Path.Combine(Environment.GetEnvironmentVariable("ProgramFiles(x86)"), @"Google\Chrome\Application\chrome.exe");

// use powershell
process.StartInfo.FileName = "powershell";
// set the Chrome path as local variable in powershell and run
process.StartInfo.Arguments = "$chrome='" + chrome  + @"'; & $chrome --headless --print-to-pdf='c:\Users\" + Environment.UserName + @"\desktop\myReport.pdf' https://google.com";
process.Start(); 
...