我正在C#/ Visual Studio中使用COM Interface for PDFCreator。
我有一个printJob对象,该对象正在从工作队列中删除,并正在写入文件。
看起来我能够configure some settings处理打印作业,例如在转换作业后打开查看器。
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");
查看器将打开。
以这种方式执行此操作似乎很hack,尤其是因为似乎我依赖于在作业异步转换所需的时间内设置OpenViewer设置。