libpm930c.so 仕様書 Copyright (C) SEIKO EPSON CORPORATION 2003-2004. 目次 1 概要 2 API関数 2.1 libprt_init関数 2.2 libprt_page_init関数 2.3 libprt_out & libprt_out_at関数 2.4 libprt_page_end関数 2.5 libprt_end関数 3 エラーコード 1 概要 libpm930c.soは、BGRデータをESC/Pデータに変換するライブラリです。 ユーザーは、本ライブラリを利用したコードを書くことができます。 2 API関数 2.1 libprt_init関数 libraryの初期化を行う int libprt_init ( HANDLE*, library内部で使用するハンドルへのポインタ LP_LIBPRT_INIT libraryの初期化構造体 ); 戻り値 : エラーコード 構造体 : typedef struct _LIBPRT_INIT_STRUCT { FILE* output; 出力先へのポインタ char* paper; 用紙 "A4" :A4 210x297 mm "A5" :A5 148x210 mm "A6" :A6 105x148 mm "B5" :B5 182x257 mm "PC" :ハガキ 100x148 mm "DPC" :往復ハガキ 200x148 mm "ENVC3" :長形3号封筒 120x235 mm "ENVC4" :長形4号封筒 90x205 mm "ENVY1" :洋形1号封筒 120x176 mm "ENVY2" :洋形2号封筒 114x162 mm "ENVY3" :洋形3号封筒 98x148 mm "ENVY4" :洋形4号封筒 105x235 mm "LT" :Letter 8.5x11 in "LGL" :Legal 8.5x14 in "4X6" :4x6 100x152 mm "L" :L版 89x127 mm "2L" :2L版 127 x 178 mm char* format; 印刷フォーマット "MONO" :モノクロ印刷 "COLOR" :カラー印刷 char* resol; 入力解像度 "360" :360dpi "720" :720dpi char* high_speed; 双方向印刷 "ON" :双方向 "OFF" :単方向 char* bin_id; 給紙方法 "AUTO" :オートシートフィーダ "ROLL" :ロール紙 "TROLL" :ロール紙(4辺縁無し) "T4AUTO" :オートシートフィーダ(4辺縁無し) char* media_type; メディア種類 "PLAIN" :普通紙 "ESF" :EPSONスーパーファイン紙 "EPP" :EPSON光沢紙 "PMPHOTO":PM写真用紙 "PMMATT" :PMマット紙 "IJPC" :官製ハガキ (インクジェット紙) "OHP" :専用OHPシート "IRON" :アイロンプリントペーパー "MBOARD":マットボード紙 char* qlevel; 品質レベル "DRAFT" :ドラフト印刷 "STD360" :スタンダード印刷 "FINE720" :ファイン "SFINE720" :スーパーファイン "PHOTO1440" :フォト "PHOTO2880" :フォト "SPHOTO2880" :スーパーフォト POINT margin; マージン x = 上端マージン[0 - 下端最大値](pixel) y = 左端マージン[0 - 右端最大値](pixel) POINT paper_size; 用紙サイズ x = 用紙の横幅(pixel) y = 用紙の縦幅(pixel) POINT paper_area; 印字領域 x = 印字可能領域の横幅(pixel) y = 印字可能領域の縦幅(pixel) char* mw_type; マイクロウィーブ "ON" :マイクロウィーブON "OFF" :マイクロウィーブOFF char* inkset; インクセット "DEFAULT" :機種指定のデフォルト値 char* auto_cut; オートカット "NONE" :カット無し } LIBPRT_INIT, *LP_LIBPRT_INIT; 2.2 libprt_page_init関数 ページ印刷の初期化を行う int libprt_page_init ( HANDLE, library内部で使用するハンドル LP_LIBPRT_PAGE ページ印刷初期化構造体 ); 戻り値 : エラーコード 構造体 : typedef struct _LIBPRT_PAGE_STRUCT { char* color_mode; 色補正方法 "AUTO" :自動調整 "PHOTO" :自然な色合い "GRAPH" :鮮やかな色合い "NONE" :色補正無し char* halftone_type; ハーフトーン種類 "ED" :高画質ハーフトーン int brightness; 明度 = [-50 - 50] int contrast; コントラスト = [-50 - 50] int saturation; 彩度 = [-50 - 50] int r_strength; 赤色補正 = [-50 - 50] int g_strength; 緑色補正 = [-50 - 50] int b_strength; 青色補正 = [-50 - 50] void* reserved; reserved 未使用 } LIBPRT_PAGE, *LP_LIBPRT_PAGE; 2.3 libprt_out & libprt_out_at関数 RGBデータをプリンターコードに変換する もし、色補正方法に"AUTO"を設定した場合は、libprt_outではなくlibprt_out_atを使用する。libprt_out_atもAPI仕様は同じ。 int libprt_out ( HANDLE, library内部で使用するハンドル LP_LIBPRT_BAND 印刷データ構造体 ); 戻り値 : エラーコード 構造体 : typedef struct _LIBPRT_BAND_STRUCT { long width_pixel; ラスターのピクセル数 long width_bytes; ラスターのバイト数 long line_number; ラスター数 unsigned char* byte_data; ラスターイメージ LP_LIBPRT_ATBMP_BAND lp_atbmp_band; 色補正方法に"AUTO"を設定した場合は、属性情報を 渡し、そうでなければNULLを渡す } LIBPRT_BAND, *LP_LIBPRT_BAND; typedef struct _LIBPRT_ATBMP_BAND_STRUCT { long width_bytes; 属性ビットマップのバイト数 unsigned char* byte_data; 属性ビットマップ } LIBPRT_ATBMP_BAND, *LP_LIBPRT_ATBMP_BAND; 2.4 libprt_page_end関数 ページ印刷の終了、及び中断の処理を行う int libprt_page_end ( HANDLE, library内部で使用するハンドル int cancel flag 何らかの理由で処理を中断する時にTUREをセットする。 通常はFALSEをセットする。 ); 戻り値 : エラーコード 2.5 libprt_end関数 libraryの終了処理を行う int libprt_end ( HANDLE library内部で使用するハンドル ); 戻り値 : エラーコード 3 エラーコード 関数の返す値の意味を以下に示す。 0 正常終了 1 Memoryの確保に失敗 2 誤ったパラメータが入力された 3 関数が誤った順序で呼ばれた 4 原因を特定できないエラーが発生した [EOF]