最近在做個項目,涉及到一個展示打印預(yù)覽的問題,現(xiàn)在知道有兩種解決方案:第一個是調(diào)用word中的PrintPreview打印預(yù)覽功能,這種方法顯示沒問題,但是在點擊關(guān)閉以后會顯示所預(yù)覽的word文檔,還要再點擊關(guān)閉當(dāng)前的文檔,而且還有可能對文檔進(jìn)行修改,我理解可能是因為先調(diào)用了word應(yīng)用程序而后從外部操作打開office自帶的預(yù)覽功能,這種方式用戶體驗度不好;第二個是.net中的PrintPreviewDialog控件,他的顯示效果完全是我想要的樣子,但是需要關(guān)聯(lián)PrintDocument,而這個PrintDocument如何指定我本地的word文檔呢(test.doc)??現(xiàn)在顯示的預(yù)覽效果是空白的~~綜上呢 我只是想單機按鈕,顯示本地word的打印預(yù)覽模式,并且不顯示word文檔!有高手能幫我解決這個問題嗎?或者有其他解決方案也可以,在此謝過了,這個問題已經(jīng)琢磨好幾天了,一直沒有好辦法實現(xiàn)!
2 回答

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊
樓主遇到的第一給問題可以這樣解決:在 try...catch語句塊的finally中添加一個循環(huán):while (wApp.PrintPreview){}。如果用戶關(guān)閉預(yù)覽窗口,PrintPreview的值為false,跳出循環(huán)后,再執(zhí)行關(guān)閉word文檔的操作。
finally
{
if (wApp != null)
{
while (wApp.PrintPreview)
{
//這里這么做是因為在用戶關(guān)閉了預(yù)覽窗口后,卻打開了word文檔,但是要求必須在用戶關(guān)閉預(yù)覽窗口后不能打開文檔的
}
wApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(wApp);
wApp = null;
}
GC.Collect();
}
- 2 回答
- 0 關(guān)注
- 972 瀏覽
添加回答
舉報
0/150
提交
取消