Click here to Skip to main content
15,921,212 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Blum Blum Shub Pin
Member 149564755-Oct-20 8:31
Member 149564755-Oct-20 8:31 
AnswerRe: Blum Blum Shub Pin
Richard MacCutchan5-Oct-20 8:48
mveRichard MacCutchan5-Oct-20 8:48 
GeneralRe: Blum Blum Shub Pin
Member 149564755-Oct-20 8:57
Member 149564755-Oct-20 8:57 
GeneralRe: Blum Blum Shub Pin
Richard MacCutchan5-Oct-20 9:02
mveRichard MacCutchan5-Oct-20 9:02 
GeneralRe: Blum Blum Shub Pin
Member 149564755-Oct-20 9:08
Member 149564755-Oct-20 9:08 
GeneralRe: Blum Blum Shub Pin
Richard MacCutchan5-Oct-20 9:23
mveRichard MacCutchan5-Oct-20 9:23 
AnswerRe: Blum Blum Shub Pin
ZurdoDev5-Oct-20 10:15
professionalZurdoDev5-Oct-20 10:15 
AnswerRe: Blum Blum Shub Pin
David Crow6-Oct-20 2:39
David Crow6-Oct-20 2:39 
GeneralRe: Blum Blum Shub Pin
Member 149564756-Oct-20 10:32
Member 149564756-Oct-20 10:32 
GeneralRe: Blum Blum Shub Pin
Richard Andrew x646-Oct-20 10:45
professionalRichard Andrew x646-Oct-20 10:45 
SuggestionRe: Blum Blum Shub Pin
David Crow6-Oct-20 16:05
David Crow6-Oct-20 16:05 
GeneralRe: Blum Blum Shub Pin
Member 149564757-Oct-20 7:13
Member 149564757-Oct-20 7:13 
AnswerRe: Blum Blum Shub Pin
David Crow7-Oct-20 7:31
David Crow7-Oct-20 7:31 
GeneralRe: Blum Blum Shub Pin
Member 149564757-Oct-20 7:39
Member 149564757-Oct-20 7:39 
GeneralRe: Blum Blum Shub Pin
David Crow7-Oct-20 7:55
David Crow7-Oct-20 7:55 
AnswerRe: Blum Blum Shub Pin
Member 149564758-Oct-20 1:36
Member 149564758-Oct-20 1:36 
GeneralRe: Blum Blum Shub Pin
Richard MacCutchan8-Oct-20 2:27
mveRichard MacCutchan8-Oct-20 2:27 
QuestionWritePrinter Fails to Print on Inkjet Printer Pin
sandford_j29-Sep-20 6:52
professionalsandford_j29-Sep-20 6:52 
QuestionRe: WritePrinter Fails to Print on Inkjet Printer Pin
David Crow29-Sep-20 16:44
David Crow29-Sep-20 16:44 
AnswerRe: WritePrinter Fails to Print on Inkjet Printer Pin
sandford_j29-Sep-20 22:16
professionalsandford_j29-Sep-20 22:16 
Hi David,

Font selection, font size and condensed printing work with dot matrix printer that support Esc/P.
Unpredictable problems occur when trying to print on Inkjet printers such as:
1. The printer ignores the font type, font size and condensed printing.
2. Both Epson WF-7611 and HP OfficeJet Pro do not accept "RAW" for the data type in "StartDocPrinter" parameter. Epson WF-7611 will only accept "Text", while HP OfficeJet Pro only accept "XPS_XPSS". This means I have to detect what printer to print before assigning the data type.
3. The Win32 Printing API says that calling "EndPagePrinter" will end the current page, but it doesn't work that way.

Thank you.
Sandford


Please refer to the code below:

BOOL testPrint (char dataToPrint []) {
char pName [1024];
DWORD level,
sizeof_pName;
HANDLE hPrinter;
DOC_INFO_1 DocInfo;
DWORD dwJob;
DWORD dwBytesToPrint,
dwBytesPrinted;

sizeof_pName = sizeof(pName);
memset (pName, 0, sizeof(pName));
if (!GetDefaultPrinter(pName, &sizeof_pName)) {
printf ("Fail to GetDefaultPrinter. ");
return FALSE;
}

if(!OpenPrinter (pName, &hPrinter, NULL)) {
printf ("Fail to OpenPrinter [%s]. ", pName);
return FALSE;
}

level = 1;
DocInfo.pDocName = "My Document";
DocInfo.pOutputFile = NULL;
DocInfo.pDatatype = "TEXT";
if((dwJob = StartDocPrinter(hPrinter, level, (LPSTR)&DocInfo)) == 0) {
ClosePrinter (hPrinter);
printf ("Fail to StartDocPrinter [%s]. ", pName);
return FALSE;
}

if(!StartPagePrinter (hPrinter)) {
EndDocPrinter (hPrinter);
ClosePrinter (hPrinter);
printf ("Fail to StartPagePrinter [%s]. ", pName;
return FALSE;
}

dwBytesToPrint = strlen(dataToPrint);
if(!WritePrinter (hPrinter, dataToPrint, dwBytesToPrint, &dwBytesPrinted)) {
EndPagePrinter (hPrinter);
EndDocPrinter (hPrinter);
ClosePrinter (hPrinter);
printf ("Fail to WritePrinter [%s]. ", pName);
return FALSE;
}

if(!EndPagePrinter (hPrinter)) {
EndDocPrinter (hPrinter);
ClosePrinter (hPrinter);
printf ("Fail to EndPagePrinter [%s]. ", pName);
return FALSE;
}

if(dwBytesPrinted != dwBytesToPrint) {
printf ("Fail to print [%s] to [%s]. ", dataToPrint, pName);
return FALSE;
}

if(!EndDocPrinter(hPrinter)) {
ClosePrinter(hPrinter);
printf ("Fail to EndDocPrinter [%s]. ", pName);
return FALSE;
}

ClosePrinter(hPrinter);

return TRUE;
}
QuestionRe: WritePrinter Fails to Print on Inkjet Printer Pin
David Crow30-Sep-20 2:01
David Crow30-Sep-20 2:01 
AnswerRe: WritePrinter Fails to Print on Inkjet Printer Pin
sandford_j30-Sep-20 4:54
professionalsandford_j30-Sep-20 4:54 
AnswerRe: WritePrinter Fails to Print on Inkjet Printer Pin
Gerry Schmitz29-Sep-20 18:33
mveGerry Schmitz29-Sep-20 18:33 
GeneralRe: WritePrinter Fails to Print on Inkjet Printer Pin
sandford_j29-Sep-20 22:23
professionalsandford_j29-Sep-20 22:23 
AnswerRe: WritePrinter Fails to Print on Inkjet Printer Pin
mo149230-Sep-20 8:55
mo149230-Sep-20 8:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.