读书人

word文档printout后关闭无法打印解决

发布时间: 2012-02-05 12:07:15 作者: rapoo

word文档printout后关闭,无法打印
C# winform ,代码生成 WORD 文档,并打印,打印完后关闭 Word ,需要完全后台,用户看不到Word程序,dc为Document

object m_true = true;
object m_miss = Type.Missing;

app.visible=false ;
try
{
Docment dc=app.documents.add(...)
......//写入文档内容。

dc.PrintOut(ref m_true, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss, ref m_miss);
dc.Close(ref m_false, ref m_null, ref m_null);
}
finally
{
if (app != null)
{
if (app.Documents.Count == 0)
{
app.Quit(ref m_false, ref m_null, ref m_null);
app = null;
}
else app.Visible = true;
}
GC.Collect(); GC.WaitForPendingFinalizers();
}

问题出在:如果事先未打开Word程序,则打印不出任何东西,是调用 PrintOut 后马上 dc.Close()的缘故,如果去掉 dc.close()及app.quit语句,能正常打印。
printout的第一个参数是后台打印,无论为true 或false ,均不能打印,但如果事先打开 Word程序,哪怕是个空文档,又可以打印。

请教:如何等PrintOut打印完后再关闭?(别跟我说 Sleep,机子有快有慢,谁知道要 Sleep 多久?)

[解决办法]
第一个参数就是用 false 啊,我一直都是这样做的,没出过任何问题啊!!!!

读书人网 >C#

热点推荐