Я использую COM-интерфейс для PDFCreator , в C # / Visual Studio.
У меня есть объект printJob, который я удаляю из рабочей очереди и пишув файл.
Похоже, я могу настроить некоторые параметры в задании на печать, например, открыть средство просмотра после преобразования задания.
var jobQueue = CreateJobQueue();
if (jobQueue.WaitForJobs(count, 30) {
MessageBox.Show("Could not get all jobs");
}
else {
jobQueue.mergeAllJobs();
var printJob = jobQueue.NextJob;
printJob.SetProfileByGuid("DefaultGuid");
printJob.SetProfileSetting("OpenViewer", "true");
printJob.ConvertTo(fileName);
}
Я знаю, что это по крайней мере частично работает, потому что .pdf создается в расположении fileName.Однако средство просмотра PDF по умолчанию не запускается, даже с включением этой строки
printJob.SetProfileSetting("OpenViewer", "true");
Как это отладить, это своего рода первое погружение в языки на основе .NET / C #.
РЕДАКТИРОВАТЬ:
Кажется, структурируя мой код, как это
printJob.ConvertToAsync(fileName);
printJob.SetProfileSetting("OpenViewer", "true");
Зритель откроется.
Это похоже на хак, чтобы сделать это такособенно потому, что мне кажется, что я полагаюсь на настройку OpenViewer во время, необходимое для асинхронного преобразования задания.