Я использую DLL из (PDF Creator Pilot) для манипулирования файлами PDF, все в порядке, но проблема в том, что этот процесс не WaitForExit, потому что второй шаг перемещает файл, а первый процесс делает ошибку. Итак, я использую WaitForExit для второго процесса, но я не знаю, как построить WaitForExit () для моей внешней функции.
Моя неверная догадка была //pdf.WaitForExit(XMLout);
Это для Windows 10, PDF Creator Pilot 4.3 x64, контролируемая среда
...
try
{
PDFDocument4 pdf = new PDFDocument4();
pdf.SetLicenseData("demo@demo", "demo");
int fnt = pdf.AddFont("Verdana", false, false, false, false, fontCharset.fcANSI);
pdf.Open(Path.GetFullPath(file),"");
pdf.UseFont(fnt, 14.0f);
pdf.ShowTextAt(20, 30, "Nro OC: " + fileName);
pdf.ShowTextAt(20, 50, "Nro CO: " + "123456");
pdf.SaveToFile(XMLfind + "\\"+ fileName, false);
pdf = null;
//pdf.WaitForExit(XMLout);
}
catch (Exception err)
{
LogFile($"{DateTime.Now:u}|Error0 imposting data: {err.Message}|{file}");
}
try
{
Process printing = new Process();
printing.StartInfo.FileName = XMLprinter;
printing.StartInfo.Arguments = string.Format(XMLarg, XMLrelease, Path.GetFullPath(file));
printing.StartInfo.RedirectStandardOutput = true;
printing.StartInfo.UseShellExecute = false;
printing.Start();
printing.WaitForExit(XMLout);
printing.Close();
}
...
PDF не существует в исходном пути. (потому что процесс печати / перемещения был более быстрым)