User manual - GUIライブラリマニュアルver.1.01(2012年3月29日)
40
4.2 裏面バーコードの読み取り
本サンプルプログラムではライブラリの関数を使用して、GDI 関数である"LineTo"によるイメージを印
刷し、裏面バーコードの読み取りを行います。
裏面バーコードを読み取る場合の注意点
• ヘッダファイルは Cp780Lib.h と CpExtDvm.h の両方をインクルードしてください。
• 裏面バーコードの読み取り設定関数 CpSetBarcodeTypeを CpStartDoc関数実行前に呼び、バ
ーコードタイプを設定してください。
• 印刷の描画サイズ(長さ)を 42mm 以上に設定してください。
• テキストのみを印字する場合は、印刷長が 42mm 以上となるように、改行を入れてください。
• デフォルトの文字サイズ(縦 2mm)・改行ピッチ(1mm)の場合、(2+1)×14 行=42mm。
• マーカ検出設定に「マーカ検出(終端)」を設定してください。
• バーコード読み取りデータ取得関数 CpDecodeBarcode は、印刷が完了してから実行してくださ
い。印刷完了のタイミングはメッセージ CP_WM_PRINTDONE により通知されます。
void Sample(HWND hWnd) // hWnd アプリケーションのウィンドウハンドル
{
HANDLE hPrinter;
HDC hDC;
LPCPDEVMODE pInCDM = NULL; // プリンタデータ入力値
LPCPDEVMODE pCDM = NULL; // プリンタデータ領域
CPDOCINFO doc;
int fMode = CPDM_OUT_BUFFER; // プリンタデータ出力要求
int size;
DWORD dwBarType;
/***** CpOpenPrinter:指定プリンタをオープンしてハンドルを取得します *****/
// プリンタ名:BuiltIn(内蔵プリンタ) 出力ポート名:BuiltIn(内蔵プリンタ)
if (CpOpenPrinter(_T("BuiltIn"), _T("BuiltIn"), &hPrinter) != TRUE)
return;
/***** CpSetBarcodeType:裏面バーコードの読み取り方式を指定します *****/
// dwBarType = 1; // 裏面バーコードタイプ 1
dwBarType = 2; // 裏面バーコードタイプ 2
CpSetBarcodeType( hPrinter, dwBarType);
/***** CpDocumentProperties:プリンタデータを取得します *****/
// プリンタデータ保存用領域として必要なサイズを取得
size = CpDocumentProperties(hWnd, hPrinter, pCDM, pInCDM, fMode);
if (size < 0)
{
CpClosePrinter(hPrinter);
return;
}