JP2002287926A - プリンタドライバにおけるページ制御方法 - Google Patents

プリンタドライバにおけるページ制御方法

Info

Publication number
JP2002287926A
JP2002287926A JP2001086137A JP2001086137A JP2002287926A JP 2002287926 A JP2002287926 A JP 2002287926A JP 2001086137 A JP2001086137 A JP 2001086137A JP 2001086137 A JP2001086137 A JP 2001086137A JP 2002287926 A JP2002287926 A JP 2002287926A
Authority
JP
Japan
Prior art keywords
page
range information
printer driver
drawing range
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001086137A
Other languages
English (en)
Inventor
Yoshihiro Iijima
芳広 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2001086137A priority Critical patent/JP2002287926A/ja
Publication of JP2002287926A publication Critical patent/JP2002287926A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 プリンタドライバがデータを出力イメージに
変換してプリンタに送出する印刷システムにおいて、描
画オブジェクトがページを跨いで居る場合に、データが
消失してしたり、ページを跨いで印刷されてしまう不具
合があった。 【解決手段】 初期化処理において、印刷開始位置取得
部で印刷開始位置を取得する。次に描画処理において、
描画範囲格納部でオブジェクトの描画範囲をメモリに格
納する。その後、ページ跨ぎ制御部でメモリに格納した
描画範囲情報を読み込み、ページを跨ぐかどうかを判定
し、跨ぐ場合は次ページに印刷するよう印刷位置を制御
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプリンタドライバを
有した印刷システムにおけるページ制御方法に関し、特
にプリンタドライバがイメージデータを作成しプリンタ
に送信する場合のページ制御方法に関する。
【0002】
【従来の技術】プリンタドライバを有した印刷システム
で従来用いられている制御方法につき簡単に説明する。
【0003】このような印刷システムにおいて、プリン
タドライバとプリンタ間での処理分担については、以下
に挙げる二種の方法が存在する。第一の方法はプリンタ
ドライバが文字、図形、ビットマップの描画オブジェク
トをプリンタに転送し、プリンタ側でイメージデータに
変換するものであり、第二の方法はプリンタドライバが
文字、図形、ビットマップの描画オブジェクトをイメー
ジデータに変換し、プリンタにこれを転送するものであ
った。この第二の方法において、アプリケーションで作
成したデータを印刷する場合、プリンタドライバ側で印
刷開始位置を設定することとなる。しかしながら、実際
のプリンタの印刷可能領域は、機種や装置により様々で
あり、この領域からはみ出してしまうようなイメージデ
ータについてはそのまま消失してしまうか、ページ間に
文字、図形、ビットマップが跨って印刷されてしまうと
いう不具合があった。
【0004】
【発明が解決しようとする課題】プリンタドライバがイ
メージデータに変換してプリンタに送信する第二の方法
は、印刷開始位置をアプリケーションでの設定位置から
変更した場合、印刷可能領域内に収まりきらない描画オ
ブジェクト(文字、図形、ビットマップ)が消失した
り、ページを跨いで印刷されたりしていた。これはイメ
ージデータをプリント装置に出力する際に、アプリケー
ションのページ管理により決定された改ページ位置が、
印刷開始位置の変更に伴い、本来存在すべき用紙下端位
置からずれてしまうためである。本発明は、プリンタド
ライバがイメージデータに変換してプリンタに送信する
ような印刷システムにおいて、文字、図形、ビットマッ
プがページを跨いで印刷するような場合には、これを跨
がないような位置で改ページさせることを目的とする。
【0005】
【課題を解決するための手段】請求項1に係るプリンタ
ドライバにおけるページ制御方法では、コンピュータに
設定されているプリンタドライバが描画オブジェクトを
イメージデータに変換し、回線を介してプリンタに前記
イメージデータを転送し印刷する印刷形式において、与
えられた印刷開始座標を格納する初期化ステップと、前
記プリンタドライバと前記コンピュータ上で動作するア
プリケーションプログラムとを仲介するオペレーティン
グシステムから指定される描画コマンドを解析する解析
ステップと、前記描画オブジェクトの座標情報から描画
範囲情報を取得すると、前記描画範囲情報を格納する領
域を確保し、該格納領域を次の描画範囲情報の格納領域
と次々に連結させ、最後の描画範囲情報を格納する領域
に終端を示すフラグを設定する描画範囲格納ステップ
と、前記与えられた印刷開始座標と先頭の描画範囲情報
を基に印刷開始位置を決定する印刷開始位置決定ステッ
プと、前記先頭の描画範囲情報が、前記与えられた印刷
開始位置と該ページの印刷限界座標により求められる最
大出力可能範囲の下端を跨ぐか否か比較するページ跨ぎ
比較ステップと、比較の結果跨いでいない場合は先頭の
描画オブジェクトの該ページへの印刷出力を確定させ、
前記先頭の描画範囲情報を基に最大出力可能範囲を演算
更新し、跨いでいる場合は次ページの先頭座標と印刷限
界座標により定まる印刷範囲に前記先頭の描画オブジェ
クトの印刷出力を確定させる出力確定ステップと、前記
先頭の描画オブジェクトの印刷出力確定に伴い、次の描
画範囲情報に終端フラグが設定されているかを判定し、
設定されていなければ前記ページ跨ぎ比較ステップ及び
前記出力確定ステップを繰り返すことを特徴としてい
る。また、請求項2に係るプリンタドライバにおけるペ
ージ制御方法では更に、前記描画オブジェクトの種類を
判別し該種類別に前記ページ跨ぎ比較ステップを行わせ
るか否かを判定する種別判定ステップを、該ページ跨ぎ
比較ステップの前に実行することを特徴とする。
【0006】
【発明の実施の形態】本発明の実施の形態について、図
面を参照して詳細に説明する。本実施形態のプリンタド
ライバ5は、ホストPC1上のハードディスク4に格納
され、ホストPCのメモリ3上で動作する(図1参
照)。このプリンタドライバ5は、図2に示すように、
印刷開始位置を取得するための印刷開始位置取得部、描
画コマンドを解析する描画コマンド解析部、描画範囲を
メモリに格納する描画範囲格納部、描画データをメモリ
上に展開してイメージデータを作成する展開処理部、イ
メージデータをプリンタの出力形式に変換する階調処理
部、階調処理されたイメージデータについてページ跨ぎ
を制御するページ跨ぎ部、イメージデータを出力する出
力処理部により構成される。次にプリンタドライバの動
作について説明する。この動作は大きく初期化処理と描
画処理に分類される。図10に示すように初期化処理
は、印刷の開始時に1度だけ行われる。この初期化処理
において、印刷開始位置をユーザインタフェースから、
もしくは双方向通信により取得する処理と、取得した印
刷開始位置をワークエリアに格納する処理を行う。ワー
クエリアは後述する描画処理の際に読み込むことも可能
な格納領域である。図11に示される描画処理では、最
初に描画コマンド解析処理が行われる。プリンタドライ
バにおける描画コマンド解析処理とは、アプリケーショ
ンとプリンタドライバを仲介するGDI(Graphic Devi
ce Interface)というwindows(OS)が管理す
るモジュールから指定される描画コマンドを、どのよう
にメモリ上に展開するかを解析する処理である。次に描
画範囲を格納するために描画範囲格納処理を行う。図1
2に描画オブジェクトの描画範囲について示す。ここで
は描画オブジェクトが文字列である場合を例にとり説明
しているが、図形やビットマップの場合も同様のものと
する。描画オブジェクトの文字、図形、ビットマップの
幅と高さは、前述したGDIから指定される。また、文
字も文字列の場合、文字列単位で一度に指定される場合
が多い。このようなとき、図14に示すように文字列
「ABCD」の左上のx,y座標と右下のx,y座標に
より決定される矩形領域を描画範囲として扱う。ここ
で、左上のx座標をLeft、左上のy座標をTop、
右下のx座標をRight、右下のy座標をBotto
mと呼ぶこととする。図11のフローチャートで示され
た描画範囲格納処理(S1102)は、このような描画
範囲をオブジェクトごとにメモリ上に格納する処理であ
る。図12は描画範囲格納処理を示す図である。まず描
画範囲を格納するワークエリアをメモリ上に確保する
(S1201)。1つのオブジェクトに対して必要なワ
ークエリアのサイズは、図14に示すように描画オブジ
ェクトの描画範囲情報を示すLeft、Top、Rig
ht、Bottomの値及び次のオブジェクトの描画範
囲情報を指し示すアドレス情報を確保可能なサイズとす
る。また、描画範囲情報をキューイングして管理するた
めに、確保したワークエリアを1つ前の描画範囲情報に
連結する処理(S1202)を行う。さらに確保したワ
ークエリアについて、次の描画オブジェクトの描画範囲
情報を示すアドレスに終端を表す情報を設定する(S1
203)。続いて初期化処理でワークエリアに格納した
印刷開始位置情報を読み込む(S1204)。その後描
画オブジェクトの描画範囲情報のTopとBottom
値に印刷開始位置を加算する(S1205)。これは、
GDIから指定された描画座標が、実際の印刷で印刷開
始位置分だけY方向に移動するのに必要な処理である。
その結果求められた描画範囲を、先に確保したワークエ
リアに格納する(S1206)。描画範囲格納処理が終
了すると、図11に示すような展開処理を行う(S11
03)。展開処理とは、描画オブジェクト単位でメモリ
上にイメージデータを作成していく処理のことで、本実
施形態のプリンタドライバにおける展開処理は、従来技
術で行っていた展開処理と同等の機能を有する。ここま
での処理は、アプリケーションのページ管理により決定
した改ページ命令が、GDIから送られてくるまで繰り
返される(S1104)。1ページ分の展開処理が終了
すると、次に階調処理を行う(S1105)。階調処理
は、展開処理の出力をプリンタの出力形式に変換する処
理のことであり、本実施形態のプリンタドライバにおけ
る階調処理もまた、従来技術のものと同等の機能を有し
ている。プリンタが2値出力(モノクロ)の場合は、階
調処理によって2値化する。次にページ跨ぎ制御処理を
行う(S1106)。ページ跨ぎ制御では、描画オブジ
ェクトがページを跨がないように、出力するイメージデ
ータのラスタ数を決定する。図15に示すように、アプ
リケーションで作成した「A」と「B」というデータを
印刷開始位置分だけY方向(図中下方向)へ移動した場
合、「B」は印刷範囲を越えてしまうため、ページを跨
いで印刷されてしまう。しかし「出力する範囲」内のイ
メージデータを出力するようにすれば、「B」はページ
を跨がず次ページの先頭から印刷される。ページ跨ぎ制
御処理の詳細について図13を用いて説明する。ページ
跨ぎ処理は、描画オブジェクトの描画範囲をチェック
し、当該ページに印刷可能な最大出力位置(Y座標)を
求める処理である。まず最大出力位置を0で初期化する
(S1301)。次に描画範囲情報Left,Top,
Right,Bottomの4つの値を読み込み(S1
302)、読み込んだ情報が印刷範囲の下端位置を跨ぐ
かどうかを判定する(S1303)。跨いでいる場合
は、そのオブジェクトが描画されたイメージデータは出
力しないので、最大出力位置の更新は行わずに次の描画
範囲情報を読み込む。跨いでいない場合は、描画範囲情
報のBottom値が最大出力位置よりも大きい値であ
るかを比較する(S1304)。小さい場合、そのオブ
ジェクトが描画されたイメージデータは出力されるが、
最大出力位置よりも手前に存在しているため、最大出力
位置の更新は行わず、次の描画範囲情報を読み込む。大
きい場合は、Bottom値で最大出力位置を更新する
(S1305)。続いて描画範囲を格納したワークエリ
アが連結されているかどうかを判断する(S130
6)。この判断はS1303で設定した終端の情報を検
出した場合に、次のオブジェクトの描画範囲情報はない
ものとし、そうでない場合は描画範囲情報が連結されて
いるものとして行う。このようにして、連結されている
すべての描画情報に対して一連の処理が行われると、最
大出力位置は出力する範囲の下端を示す値(図15中
(a))となる。最大出力位置が決定すると、出力処理
が行われる(S1107)。この出力処理は、まず印刷
開始位置へ移動するコマンドをプリンタに送出し、次に
ページ跨ぎ処理で決定される最大出力位置までのイメー
ジデータをプリンタに出力し、最後に改ページコマンド
をプリンタに対して送出する処理のことであり、本実施
形態のプリンタドライバにおける出力処理も、展開処理
や階調処理の場合と同じく、従来技術のものと同等の機
能を有している。続いて、まだ出力されていないイメー
ジデータが存在するかどうかを判定し(S1108)、
イメージデータが残って居る場合はその出力処理を引き
続き行う。
【0007】また、ここまでの説明は描画オブジェクト
として文字、図形、ビットマップを同等に扱うものとし
てきたか、ページを跨るか跨らないか判断するオブジェ
クトを個別あるいは種別毎に指定できるようにしてもよ
い。例えば、ユーザインタフェースなどでページを跨ぐ
か跨がないかの判断を文字、図形、ビットマップで各々
選択できるようにして、図16に示すような描画範囲格
納処理を行う。例えばこの場合は、文字とビットマップ
はページを跨げないが、図面は跨ってもよいような設定
をした場合の描画範囲格納処理である。この際、描画範
囲情報が文字とビットマップであればワークエリアに格
納し、図形であれば格納しないように処理する。描画範
囲情報をワークエリアに格納しなければ、ページを跨ぐ
か跨がないかの判断が行われず、結果として図形のみペ
ージを跨いで印刷されることとなる。
【0008】
【発明の効果】本発明のプリンタドライバにおけるペー
ジ制御方法によれば、描画オブジェクトがページを跨い
でしまうとき、跨がないように改ページを制御すること
が可能となる。つまり、ユーザが印刷開始位置を任意の
場所に指定した場合でも、描アプリケーション上でデー
タを再度編集する作業に煩わされることなく印刷するこ
とができる。
【図面の簡単な説明】
【図1】アプリケーションで作成したデータを示す図で
ある。
【図2】手書き欄のある帳票を示す図である。
【図3】印刷可能領域を越えたデータが印刷されず消失
してしまう場合を示した図である。
【図4】印刷可能領域を越えたデータが、ページ間に跨
って印刷されてしまう場合を示した図である。
【図5】ページ間を跨がないで印刷された場合を示す図
である。
【図6】本発明の第一の実施形態につき、ユーザインタ
フェースの一例を示した図である。
【図7】プリンタとホストPCの双方向通信を示す図で
ある。
【図8】プリンタドライバの動作環境を示すブロック図
である。
【図9】プリンタドライバの構成を示すブロック図であ
【図10】初期化処理を示すフローチャートである。
【図11】描画処理を示すフローチャートである。
【図12】描画範囲格納処理を示すフローチャートであ
る。
【図13】ページ跨ぎ制御処理を示すフローチャートで
ある。
【図14】描画オブジェクトの描画範囲を説明する図で
ある。
【図15】出力する範囲を説明する図である。
【図16】本発明の第二の実施形態につき、使用する専
用帳票の一例である。
【図17】本発明の第二の実施形態につき、描画範囲格
納処理を示すフローチャートである。
【符号の説明】
1 ホストPC 2 CPU 3 メモリ 4 ハードディスク 5 プリンタドライバ 6 プリンタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータに設定されているプリンタ
    ドライバが描画オブジェクトをイメージデータに変換
    し、回線を介してプリンタに前記イメージデータを転送
    し印刷する印刷形式において、 与えられた印刷開始座標を格納する初期化ステップと、
    前記プリンタドライバと前記コンピュータ上で動作する
    アプリケーションプログラムとを仲介するオペレーティ
    ングシステムから指定される描画コマンドを解析する解
    析ステップと、前記描画オブジェクトの座標情報から描
    画範囲情報を取得すると、前記描画範囲情報を格納する
    領域を確保し、該格納領域を次の描画範囲情報の格納領
    域と次々に連結させ、最後の描画範囲情報を格納する領
    域に終端を示すフラグを設定する描画範囲格納ステップ
    と、前記与えられた印刷開始座標と先頭の描画範囲情報
    を基に印刷開始位置を決定する印刷開始位置決定ステッ
    プと、前記先頭の描画範囲情報が、前記与えられた印刷
    開始位置と該ページの印刷限界座標により求められる最
    大出力可能範囲の下端を跨ぐか否か比較するページ跨ぎ
    比較ステップと、比較の結果跨いでいない場合は先頭の
    描画オブジェクトの該ページへの印刷出力を確定させ、
    前記先頭の描画範囲情報を基に最大出力可能範囲を演算
    更新し、跨いでいる場合は次ページの先頭座標と印刷限
    界座標により定まる印刷範囲に前記先頭の描画オブジェ
    クトの印刷出力を確定させる出力確定ステップと、 前記先頭の描画オブジェクトの印刷出力確定に伴い、次
    の描画範囲情報に終端フラグが設定されているかを判定
    し、設定されていなければ前記ページ跨ぎ比較ステップ
    及び前記出力確定ステップを繰り返すことを特徴とす
    る、プリンタドライバにおけるページ制御方法。
  2. 【請求項2】 前記描画オブジェクトの種類を判別し該
    種類別に前記ページ跨ぎ比較ステップを行わせるか否か
    を判定する種別判定ステップを、該ページ跨ぎ比較ステ
    ップの前に実行することを特徴とする、請求項1記載の
    プリンタドライバにおけるページ制御方法。
JP2001086137A 2001-03-23 2001-03-23 プリンタドライバにおけるページ制御方法 Pending JP2002287926A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001086137A JP2002287926A (ja) 2001-03-23 2001-03-23 プリンタドライバにおけるページ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001086137A JP2002287926A (ja) 2001-03-23 2001-03-23 プリンタドライバにおけるページ制御方法

Publications (1)

Publication Number Publication Date
JP2002287926A true JP2002287926A (ja) 2002-10-04

Family

ID=18941560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001086137A Pending JP2002287926A (ja) 2001-03-23 2001-03-23 プリンタドライバにおけるページ制御方法

Country Status (1)

Country Link
JP (1) JP2002287926A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041011A (ja) * 2009-08-11 2011-02-24 Ricoh Co Ltd 情報処理装置、そのプログラム、記録媒体
JP2012014336A (ja) * 2010-06-30 2012-01-19 Oki Data Corp 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041011A (ja) * 2009-08-11 2011-02-24 Ricoh Co Ltd 情報処理装置、そのプログラム、記録媒体
JP2012014336A (ja) * 2010-06-30 2012-01-19 Oki Data Corp 画像処理装置

Similar Documents

Publication Publication Date Title
US7884952B2 (en) Print control apparatus, print control method, and program for implementing the method
US20120105873A1 (en) Information processing apparatus, information processing method and printing control method
JP2000083161A (ja) 画像処理装置及びその方法、及び画像処理システム
JP2007140597A (ja) 印刷制御プログラム
JP3209102B2 (ja) プリントシステム、プリンタドライバ及びプリンタ
JP2002287926A (ja) プリンタドライバにおけるページ制御方法
US20150262043A1 (en) Information processing apparatus, information processing method, and information processing system
JP3336800B2 (ja) 画像処理装置
JP2003076512A (ja) 情報処理装置および印刷装置およびデータ処理方法および記憶媒体およびプログラム
JP2008299845A (ja) 透明オブジェクトのレンダリング・システムおよび方法
JP3833107B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記憶媒体
JP4100912B2 (ja) 情報処理装置及びその制御方法、プログラム並びに記憶媒体
JP2004192394A (ja) 情報処理装置
JP4400709B2 (ja) 画像処理装置及び画像処理方法
JP3833106B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記憶媒体
JP2008269260A (ja) データ処理装置、データ処理方法及びそのプログラム
JP2007249403A (ja) 画像データ処理システムおよびその方法
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2005092461A (ja) データ編集装置及びその制御方法並びに制御プログラム
JP2005148954A (ja) 画像形成制御装置及びその制御方法とプリンタドライバ及び印刷制御装置および印刷制御方法
JP2784823B2 (ja) プリンタの画像編集印字方式
JP2001282482A (ja) データ処理装置、および、該データの処理方法
JP2006178607A (ja) 情報処理装置及び情報処理方法
JP2000216987A (ja) 電子透かしデ―タ作成装置、電子透かしデ―タ出力装置、電子透かしデ―タ出力システム、電子透かしデ―タ出力方法及び記憶媒体
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040309