I looked at SetTextAlign/GetTextAlign. I did pDC->SetTextAlign ((TA_LEFT | TA_TOP | TA_NOUPDATECP)); from OnBeginPrinting. Still prints off. I dont not know if I need to account for printer margins and if so how to do so. I tried with accounting and without, as follows void CMyFormView::MyOutStr (CDC *pDC, int x, int y, char *str) { int xpos, ypos, sz; if (!(sz = strlen(str))) return; //xpos = x - r_xmargin; //account for margin //xpos = x; //do not account if (xpos < 0) xpos = 0; //ypos = y - r_ymargin; //ypos = y; r_xlast = xpos; r_ylast = ypos; pDC->TextOut (xpos, ypos, str, sz); } could not print to location I specified. Any clues, suggestions would be appreciated. Thanks. Henri