C#阻止打印字,直到文档中的图像完全加载

时间:2011-04-20 08:00:36

标签: c# printing word delay

这是我之前发现的here

的后续问题

我需要打印几页,每页都有需要下载的图片才能显示。但每当我启动.doc并通过我的C#应用​​程序进行打印时,它只打印文本,因为图像还没有完全加载。

那是我在上面提到的线程找到解决方案的时候。给出了一个解决方案,它工作得很好,直到昨天他们用更新的PC取代PC。这台PC仍安装了相同的Word 2007,当我尝试应用上述解决方案时;它不再起作用了。和以前一样的结果,我不明白为什么。

我还尝试将打印参数延迟10秒,以便为加载图像提供一些时间,这可行,但对于较大的文档,10秒可能不够,如果连接超时会怎么样?

所以我需要一种可靠的方法来阻止打印单词,直到图像已经(向下)加载到文档中,使用C#或内置Word选项。请帮忙。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

好吧,首先,对于极其迟到的回答感到抱歉,我发现这仍然是开放的。

显然,所有版本的Word(至少从2003年开始)都可以选择在内置打印之前加载外部内容。这包括Word 2010,仅在2010年,似乎Word忽略了该功能。我在3台机器上测试了这个,我不知道为什么,但是在2010年它被忽略了。

现在我注意到在测试如何打开一个已经在后台运行的word文档的时候,它会把它带到前面,这给了我一个让我了解解决方案的想法。

  • 步骤1:打开需要打印的文档。
  • 第2步:根据 要加载的外部项目数量,设置一个计时器(我给了 每个图像应用半秒钟加载,这是更多的方式 需要但比抱歉更安全。
  • 第3步:再次打开文档 但这次使用了print参数。

现在,文档只会重新显示在前面并开始打印已打开的文档。

我并不是真的向任何人推荐这个解决方案,因为它更像是一种可行的解决方案。但它完成了工作。