У меня есть задача, где мне нужно запускать команды tabcmd из проекта c #, которые будут читать отчеты с сервера и сохранять их в файл PDF.Я использую следующий код, чтобы сделать это.
string reportPath = "/Agency/AYR_CurrentYearAgencyIATA=0125452&:refresh=yes";
string currentYearPdf = @"C:\Reports\StatusReport_CurrentYear_0125452.PDF";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.WorkingDirectory = @"C:\tabcmd\Command Line Utility\";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = false;
process.StartInfo.RedirectStandardOutput = false;
process.StartInfo.RedirectStandardError = false;
process.StartInfo.Arguments = "/C tabcmd login -s http://prodtableau -u xxx -p xxx";
process.Start();
process.StartInfo.Arguments = "'/C tabcmd export \"" + reportPath + "\"" +
" --pdf --pagelayout landscape--pagesize legal --width 1600 -f \"" + currentYearPdf +
"\"'";
process.Start();
Когда я запускаю эти команды tabcmd непосредственно из командной строки, они выполняются нормально, и файл PDF сохраняется в моем локальном каталоге, но при запуске через код c # 2-йПроцесс начинается, но он никогда не заканчивается и не генерирует необходимый файл PDF.Используемая команда tabcmd:
tabcmd export "/ Agency / AYR_CurrentYearAgencyIATA = 0125452 &: refresh = yes" --pdf - pagelayout landscape --pagesize legal --width 1600 -f "C: \ Reports\ StatusReport_CurrentYear_0125452.PDF "