2009-12-03 59 views
1

我試圖使用ExtEscape將PostScript數據發送到打印機,但打印機根本沒有響應下面的代碼(第一個ExtEscape返回true。第二個ExtEscape也返回true ,但沒有打印出來)。我感謝任何幫助。問題 - 使用ExtEscape將PostScript數據發送到打印機

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     
       ); 

回答

1

你知道使用這種方法您的數據將被插入驅動程序PostScript輸出的中間。

如果您想直接後臺整個PostScript文件到打印機繞過打印機驅動程序,那麼你需要的是這樣的:

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

這就是我在做什麼。謝謝! –

相關問題