2009-12-03 2 views
1

ExtEscape를 사용하여 포스트 스크립트 데이터를 프린터로 보내려고했지만 다음 코드에 대해 프린터가 전혀 응답하지 않았습니다 (첫 번째 ExtEscape가 true를 반환했습니다.) 두 번째 ExtEscape도 true를 반환했습니다. 인쇄는 나오지 않았다.). 어떤 도움을 주셔서 감사합니다.문제 - 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     
       ); 

답변

1

이 방법을 사용하면 데이터가 드라이버 포스트 스크립트 출력 중간에 삽입된다는 것을 알고 계셨습니까?

프린터 드라이버를 거치지 않고 직접 프린터로 전체 포스트 스크립트 파일을 스풀링하려면

는이 같은 필요합니다

내가 뭘 무엇
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

. 감사! –

관련 문제