У меня проблема с печатью на C ++.Насколько я знаю, этот код работал на моем предыдущем принтере, но с тех пор, как я получил другой (HP C7280), он начал создавать проблемы.Всякий раз, когда я пытаюсь распечатать что-либо, даже пустую страницу, страница ЗАГРУЗИТ принтер.Я должен вручную удалить страницу с принтера.Я понятия не имею, почему это происходит.Я делаю что-то не так, это проблема с драйверами, есть ли лучшие способы печати на C ++?Я использую 64-разрядную версию Windows 7, но эта проблема также возникла, когда я использовал 64-разрядную версию Windows Vista.Я использую следующий код:
PRINTDLG pd;
ZeroMemory(&pd, sizeof(pd));
pd.lStructSize = sizeof(pd);
pd.hwndOwner = mainWindow;
pd.hDevMode = NULL;
pd.hDevNames = NULL;
pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
pd.nCopies = 1;
pd.nMinPage = 1;
pd.nMaxPage = 0xFFFF;
if (PrintDlg(&pd)==TRUE)
{
DOCINFO di;
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = "Rumitec en Roblaco Print";
di.lpszOutput = (LPTSTR)NULL;
di.fwType = 0;
// Start printing
StartDoc(pd.hDC, &di);
StartPage(pd.hDC);
initPrinter(pd.hDC);
// ...
// Do some drawing
// ...
// End printing
EndPage(pd.hDC);
EndDoc(pd.hDC);
DeleteDC(pd.hDC);
}
Я что-то не так делаю?Кроме того, есть ли лучший, более простой и современный способ сделать это?
РЕДАКТИРОВАТЬ: я могу печатать из любого другого приложения без замятия бумаги.Блокнот, Word и т. Д., Любое другое приложение может печатать просто отлично.