2009-12-03 4 views
1

J'essaie d'envoyer des données postscript à l'imprimante à l'aide d'ExtEscape, mais l'imprimante n'a pas répondu du tout au code suivant (1ère ExtEscape a renvoyé true 2 e ExtEscape a également renvoyé true , mais aucune impression n'est sortie). J'apprécie toute aide.Problème - Envoi de données postscript à l'imprimante à l'aide d'ExtEscape

escapeCode = POSTSCRIPT_PASSTHROUGH; 
if (bReturn = ExtEscape(printerDC, QUERYESCSUPPORT, sizeof(int), 
         (LPCSTR)&escapeCode, 0, NULL) <= 0) 
    return; 


bReturn = ExtEscape(
       hdcPrint, 
       escapeCode, 
       sizeof(temp_out_ptr),  
       temp_out_ptr,  // this contains postscript data    
       0,     
       NULL     
       ); 

Répondre

1

Saviez-vous que vous utilisez cette méthode, vos données seront insérées dans le milieu des pilotes de sortie PostScript.

Si vous souhaitez spouler un fichier PostScript ensemble directement à l'imprimante sans passer par le pilote d'imprimante, vous besoin de quelque chose comme ceci:

HANDLE ph = 0; 
OpenPrinter(PrinterName, &ph, NULL); 

DOC_INFO_1 di; 
di.pDatatype = _T("RAW"); 
di.pDocName = DocumentName; 
di.pOutputFile = NULL; 

StartDocPrinter(ph, 1, (LPBYTE)(&di)); 
StartPagePrinter(ph); 
DWORD dwWritten; 
WritePrinter(ph, Data, LengthOfData, &dwWritten); 
EndPagePrinter(ph); 
EndDocPrinter(ph); 
ClosePrinter(ph); 
+0

Voilà ce que je fais. Merci! –