為了實作在一個表格模版上將資料列印進去,設計思路為:先列印模版,再將資料文字列印到模版的相應位置。
以下是部分代碼
//使用位圖將模版列印出來
開始列印
....
...
Printer1->Canvas->BrushCopy(MyRect, Bitmap , MyRect, clBlack);
..
...
//然后在向位圖上列印文本
Printer1->Canvas->TextOutA(Width,Height,"列印日期");
....
...
結束列印
結果:在XPS虛擬列印機上列印出的效果符合預期效果,但是在真實列印機上列印出的效果為模版位置發生偏移,文字資料位置正確。這是怎么一回事呢?求解。沒分了不好意思只有10分了。
uj5u.com熱心網友回復:
XPS是顯示在顯示幕上面的,而實際列印機列印解析度沒那么高,所以有偏差。當然找一臺顯示幕和列印機解析度是一樣的,然后輸出,應該是就是所見所得。
sp = Screen->PixelsPerInch;
//顯示幕
px=GetDeviceCaps(GetWindowDC(GetDesktopWindow()),LOGPIXELSX);
py=GetDeviceCaps(GetWindowDC(GetDesktopWindow()),LOGPIXELSY);
//列印機
px = GetDeviceCaps(Printer()->Handle,LOGPIXELSX);
py = GetDeviceCaps(Printer()->Handle,LOGPIXELSY);
uj5u.com熱心網友回復:
對頭,解析度和紙張大小及頁邊距是不是一樣的轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/132747.html
上一篇:關于delete的一點疑問
