現在做一個專案,資料分析結束后需生成報告。報告可列印機列印輸出,也可生成PDF檔案。紙張為A4,報告首頁紙張方向為豎向,其余頁紙張方向需為橫向。
我使用的是VC檔案視圖結構處理報告輸出。當然,如果全部報告內容紙張方向是一致的,或全是橫向,或全是豎向,只需多載CView::OnPreparePrinting(CPrintInfo* pInfo)即可:
if(pApp->GetPrinterDeviceDefaults(&pInfo->m_pPD->m_pd))
{
ASSERT(pInfo->m_pPD->m_pd.hDevMode);
if(pInfo->m_pPD->m_pd.hDevMode == NULL)
pInfo->m_pPD->m_pd.hDevMode = GlobalAlloc(GHND, sizeof(DEVMODE));
ASSERT(pInfo->m_pPD->m_pd.hDevMode);
DEVMODE *pdm = (DEVMODE *)GlobalLock(pInfo->m_pPD->m_pd.hDevMode);
pdm->dmOrientation = DMORIENT_LANDSCAPE;
pdm->dmFields |= DM_ORIENTATION; //確定紙張方向
GlobalUnlock(pInfo->m_pPD->m_pd.hDevMode);
}
現在的問題是,報告首頁和其余頁的紙張方向不一致,如果單純列印,可設法分兩次列印解決這個問題。由于還要生成PDF檔案,我采用的是pdfCreator虛擬列印機,如果分兩次列印的話,最終將生成兩個PDF檔案了——當然,一份報告只有一個PDF檔案。
一次列印輸出中,不同頁紙張方向不同,請問有沒有哪位有這方面的編程經驗?謝謝!
uj5u.com熱心網友回復:
Word中可以每頁紙張方向不一樣,Word2007之后可以另存為PDF了。uj5u.com熱心網友回復:
列印程序中按需改變紙張方向,我已找到解決之道了,謝謝!轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127714.html
標籤:基礎類
上一篇:RichEdit文本內容拖放截獲
