昨日、印刷の質問をしたのですが、自力で調べたところ、プリンタDCを使用する方法では
1ページに出力する場合には、1度に転送する方法しかありえないようです
そこで、直接スプールに投げる方法を見つけて実装しました
しかし、スプールには期待通りのサイズのドキュメントが積まれるのですが、印刷されません
なぜでしょうか?
ご存知な方いましたら教えてください
-------------------------------------------------------------
HANDLE hPrinter;
if ( !OpenPrinter( Canon PIXUS 9900i, &hPrinter, NULL )) {
return;
}
DOC_INFO_1 info;
memset( &info, 0, sizeof(DOC_INFO_1) ) ;
info.pDocName = test;
info.pOutputFile = NULL;
info.pDatatype = NULL;
//info.pDatatype = RAW;
if ( !StartDocPrinter( hPrinter, 1, (LPBYTE)&info ) ) {
return;
}
if ( !StartPagePrinter(hPrinter) ) {
return;
}
DWORD dwCounter;
//char ESC[1+1];
//ESC[0] = 0x1b;
//BOOL result = WritePrinter( hPrinter, ESC, 1, &dwCounter );
//char a[] = abcde;
BOOL result2 = WritePrinter( hPrinter, a, 5, &dwCounter );
BOOL result3 = EndPagePrinter(hPrinter);
BOOL result4 = EndDocPrinter(hPrinter);
BOOL result5 = ClosePrinter(hPrinter);
-------------------------------------------------------------
WinXP SP1
VC++6.0 SP4
この方法では、スプーラにダイレクトに積まれてしまい
使用したいプリンタドライバの機能が使えないので、採用しないこととしました