检测 C# 中 Worksheet.PrintOut 调用的完成(或失败)?
当使用 C# + Excel Interop 打印为 PDF 时,检测文件何时存在的最佳实践是什么打印成功还是有问题?
我需要知道,以便我的应用程序可以获取生成的 PDF 文件、重命名它、将其移动到共享网络驱动器、通过电子邮件发送等。(也许我应该构建一个专用的 SSIS 应用程序来处理该部分......嗯......然后我就有借口学习 SSIS/BIDS)
简单地轮询目录直到 File.Exists() 或我们达到一些 maxTries 上限并不是一个非常令人满意的处理方法。
我使用的是 VS 2008 Pro、Excel 2003(11.0 对象库)和 Adobe Acrobat 7.0 Pro。在 WinXP SP3 上运行。
When printing to PDF using C# + Excel Interop what is the best practice for detecting when the file has successfully printed or if there was a problem?
I need to know so that my app can take the generated PDF file, rename it, move it to a shared network drive, email it, etc. (Perhaps I should build a dedicated SSIS app to handle that part... hmmm... then I have an excuse to learn SSIS/BIDS)
Simply polling the directory until File.Exists() or we reach some maxTries cap is not a very satisfying way to handle it.
I am using VS 2008 Pro, Excel 2003 (11.0 Object Library), and Adobe Acrobat 7.0 Pro. Running on WinXP SP3.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为投票技术很好。这是一种常见的技术。我确实同意,如果有一个 AfterPrint(StatusCode) 来匹配 BeforePrint 就好了,但是自动化 API 没有提供这一点,所以请远离!它几乎适用于 Linux 上的每个进程、许多 Windows 服务和应用程序。
I think the polling technique is fine. Its a common technique. I do agree that it'd be nice to have an AfterPrint(StatusCode) to match BeforePrint, but the Automation API doesn't provide for that, so poll away!!! It works for almost every process on linux, many windows services, and applications.