можно в процессе перехватывать следуюшие апи:
int
StartDocW(HDC hdc, const DOCINFO *lpdi);
создать контекст асоциированый с hdc.
создать и сохранить в контексте свой CompatibleDC размером ( GetDeviceCaps(hdc, HORZRES), GetDeviceCaps(hdc, VERTRES))
создать файл для логирования , базируясь на lpdi->lpszDocName
int
EndPage(HDC hdc);
найти контекст асоциированый с hdc. логировать текущую каритинку в hdc.
int
EndDoc(HDC hdc);
удалить контекст асоциированый с hdc.
возможно нужно будет перехватывать и другие апи, например int
StartPage(HDC hDC);