我正在尝试使用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
);
答案 0 :(得分: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);