2009-12-03 38 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

这就是我在做什么。谢谢! –

相关问题