Printing 问题-使用ExtEscape将postscript数据发送到打印机

Printing 问题-使用ExtEscape将postscript数据发送到打印机,printing,escaping,postscript,Printing,Escaping,Postscript,我试图使用ExtEscape将postscript数据发送到打印机,但打印机对以下代码根本没有响应(第一个ExtEscape返回true。第二个ExtEscape也返回true,但没有打印出来)。谢谢你的帮助 escapeCode = POSTSCRIPT_PASSTHROUGH; if (bReturn = ExtEscape( printerDC, QUERYESCSUPPORT, sizeof(int), (LPCSTR)&esca

我试图使用ExtEscape将postscript数据发送到打印机,但打印机对以下代码根本没有响应(第一个ExtEscape返回true。第二个ExtEscape也返回true,但没有打印出来)。谢谢你的帮助

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                 
                 );
escapeCode=POSTSCRIPT\u PASSTHROUGH;
if(bReturn=ExtEscape(printerDC,queryescaport,sizeof(int)),

(LPCSTR)&escapeCode,0,NULL)您是否知道使用此方法将数据插入到驱动程序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);

您知道吗,使用此方法,您的数据将插入到驱动程序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);

这就是我在做的。谢谢!这就是我在做的。谢谢!