(57)【要約】【課題】ＰＤＬ言語を使用するプリンタであってもデバイス側の任意の領域をＢｉｔｍａｐ化するという描画命令をプリンタドライバの処理として正確に実現すること。【解決手段】描画命令を１ページ分、格納領域に格納し、格納される描画命令の中で任意の領域に該当する描画命令を抽出し、抽出された描画命令に、任意の領域のクリップ属性を付加し、抽出され、クリップ属性を付加された描画命令をビットマップに展開することを特徴とする。【選択図】      図５
2004341806.tif 000002
【特許請求の範囲】
【請求項１】
描画命令を１ページ分、格納領域に格納する格納手段と、
上記格納される描画命令の中で任意の領域に該当する描画命令を抽出する抽出手段と、
上記抽出された描画命令に、任意の領域のクリップ属性を付加するクリップ付加手段と、
上記抽出され、クリップ属性を付加された描画命令をビットマップに展開するレンダリング手段を有することを特徴とする情報処理装置。
【請求項２】
前記格納される描画命令は、ＯＳまたはアプリケーションから渡される描画命令、ＰＤＬコマンド、中間言語のいずれかを含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記描画命令を１ページ分格納領域に格納する格納手段は、格納する際にページの上部からソートしながら格納することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記格納手段に格納される描画命令は、アプリケーションまたはＯＳから受け取るものそのままでまくＰＤＬコマンドまたは中間言語等に変換したものを含み、その場合は前記抽出手段や前記クリップ付加手段や前記レンダリング手段で処理されるものはその格納したフォーマットであることを特徴とする請求項１記載の情報処理装置。
【請求項５】
上記ビットマップに展開された描画命令をＯＳまたはアプリケーションに渡す手段と、
上記格納された描画命令を１ページ分格納した後、ＰＤＬまたは中間言語に変換する手段とをさらに有することを特徴とする請求項１記載の情報処理装置。
【請求項６】
描画命令を１ページ分、格納領域に格納する格納ステップと、
上記格納される描画命令の中で任意の領域に該当する描画命令を抽出する抽出ステップと、
上記抽出された描画命令に、任意の領域のクリップ属性を付加するクリップ付加ステップと、
上記抽出され、クリップ属性を付加された描画命令をビットマップに展開するレンダリングステップを有することを特徴とする情報処理方法。
【請求項７】
前記格納される描画命令は、ＯＳまたはアプリケーションから渡される描画命令、ＰＤＬコマンド、中間言語のいずれかを含むことを特徴とする請求項６記載の情報処理方法。
【請求項８】
前記描画命令を１ページ分格納領域に格納する格納ステップは、格納する際にページの上部からソートしながら格納することを特徴とする請求項６記載の情報処理方法。
【請求項９】
前記格納ステップに格納される描画命令は、アプリケーションまたはＯＳから受け取るものそのままでまくＰＤＬコマンドまたは中間言語等に変換したものを含み、その場合は前記抽出ステップや前記クリップ付加ステップや前記レンダリングステップで処理されるものはその格納したフォーマットであることを特徴とする請求項６記載の情報処理方法。
【請求項１０】
上記ビットマップに展開された描画命令をＯＳまたはアプリケーションに渡す手段と、
上記格納された描画命令を１ページ分格納した後、ＰＤＬまたは中間言語に変換する手段とをさらに有することを特徴とする請求項６記載の情報処理方法。
【請求項１１】
描画命令を１ページ分、格納領域に格納する格納ステップと、
上記格納される描画命令の中で任意の領域に該当する描画命令を抽出する抽出ステップと、
上記抽出された描画命令に、任意の領域のクリップ属性を付加するクリップ付加ステップと、
上記抽出され、クリップ属性を付加された描画命令をビットマップに展開するレンダリングステップを有することを特徴とするコンピュータ読み取り可能なプリンタドライバ。
【請求項１２】
前記格納される描画命令は、ＯＳまたはアプリケーションから渡される描画命令、ＰＤＬコマンド、中間言語のいずれかを含むことを特徴とする請求項１１記載のコンピュータ読み取り可能なプリンタドライバ。
【請求項１３】
前記描画命令を１ページ分格納領域に格納する格納ステップは、格納する際にページの上部からソートしながら格納することを特徴とする請求項１１記載のコンピュータ読み取り可能なプリンタドライバ。
【請求項１４】
前記格納ステップに格納される描画命令は、アプリケーションまたはＯＳから受け取るものそのままでまくＰＤＬコマンドまたは中間言語等に変換したものを含み、その場合は前記抽出ステップや前記クリップ付加ステップや前記レンダリングステップで処理されるものはその格納したフォーマットであることを特徴とする請求項１１記載のコンピュータ読み取り可能なプリンタドライバ。
【請求項１５】
上記ビットマップに展開された描画命令をＯＳまたはアプリケーションに渡す手段と、
上記格納された描画命令を１ページ分格納した後、ＰＤＬまたは中間言語に変換する手段とをさらに有することを特徴とする請求項１１記載のコンピュータ読み取り可能なプリンタドライバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションから指定される描画命令を受け、印刷装置において処理できるデータを生成する情報処理装置、情報処理方法、およびプリンタドライバに関するものである。
【０００２】
【従来の技術】
ＭｉｃｒｏＳｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）におけるプリンタドライバの処理として、デバイス側の任意の領域をＢｉｔｍａｐ化するという描画命令が存在する。ＰＤＬ言語にて処理を行うページプリンタ等は、描画命令を既にプリンタに送信しているため、この描画命令を実行することは出来ないのは一般的である。たとえば特開平１０―３０９８４１号公報参照。
【０００３】
これを実現するために、プリンタとホストＰＣを双方向でつなぎ、プリンタから該当するＢｉｔｍａｐを転送する等という手段も存在するが、現実問題としてパフォーマンス等の観点からこれを実行しているデバイスはほとんど存在しない。
【０００４】
また、別の実現方法として、描画命令をホストＰＣですべてＢｉｔｍａｐ化してしまうという手段もあるが、それ以外の描画命令を処理する際のパフォーマンスがＰＤＬ言語に比べて劣化するため、あくまでも回避手段でしかなかった。
【０００５】
【発明が解決しようとしている課題】
結局の所、上記デバイス側の任意の領域をＢｉｔｍａｐ化するという描画命令に対し、ＰＤＬ言語を使用するページプリンタ等では正確に処理することは出来ず、白抜けが発生する状況になっている。
【０００６】
これに対し本発明においては、ＰＤＬ言語を使用するデバイスでありながら、上記描画命令を正確に処理できる方法を提供する。
【０００７】
【課題を解決するための手段】
上記課題を解決するために本発明の情報処理装置は、
描画命令を１ページ分、格納領域に格納する格納手段と、
上記格納される描画命令の中で任意の領域に該当する描画命令を抽出する抽出手段と、
上記抽出された描画命令に、任意の領域のクリップ属性を付加するクリップ付加手段と、
上記抽出され、クリップ属性を付加された描画命令をビットマップに展開するレンダリング手段を有することを特徴とする。
【０００８】
【発明の実施の形態】
以下、添付図面に従って本発明に係わる実施の形態を詳細に説明する。また本実施の実施の啓太ではホスト装置と印刷装置がセントロニクスインターフェースで接続されたシステムに応用した例について説明する。このインターフェース形式は、本発明における重要な構成要件ではなく、赤外線通信、無線通信、ＵＳＢやＩＥＥＥ１３９４規格で定義されたインターフェースあるいは、さまざまなネットワーク接続形態であっても容易に応用可能である。
【０００９】
図１、図２、図３は本発明である印刷方法が適用される情報処理システムの構成の一例を示すブロック図である。
【００１０】
図１において、１は中央処理装置で、上記プログラムおよび関連データが記憶されているＦＤ，ＣＤ−ＲＯＭ，ＩＣメモリカード等の記憶媒体をシステムに接続された媒体読取装置６から読み込み、補助記憶装置３から主記憶装置２にロードされたシステムプログラム、アプリケーションプログラムによって、入力装置４から入力される情報を処理して、出力装置５や印刷装置７に出力する。なお、本実施例では、出力装置５はディスプレイなどの表示装置とし、本来出力装置に含まれる印刷装置７と区別する。また、入力装置４はキーボード、ポインティングデバイス等で構成されているものとする。さらに補助記憶装置３は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていようとも、この特許を制約するものではない。
【００１１】
図２は媒体読取装置記憶装置に格納されていたプログラムと関連するデータが中央処理演算装置に読み込まれ、入力装置から印刷命令が入力されて、プリンタへデータを送り印刷するまでの概念図をあらわす。アプリケーション、ドライバともＯＳ（オペレーティングシステム）の制御下で機能する。
【００１２】
図３は、本発明の特徴を最もよくあらわす図面であり、同図において９は後述する本発明の印刷システムにおけるクライアントコンピュータ本体およびそれを制御しているＯＳを示し、後述する印刷装置７とはセントロニクスインターフェースにより接続されている。
【００１３】
１１はそのＯＳ上に印刷装置を制御するアプリケーションソフト（プリンタドライバ）である。
【００１４】
１２は印刷データ制御部で、アプリケーション（たとえばワープロソフト等）から指定される描画命令を受け、印刷装置において処理できるデータ（ＰＤＬ（Ｐａｇｅ  Ｄｉｓｃｒｉｐｔｉｏｎ  Ｌａｎｇａｇｅ）コマンド）を作成する。この印刷データ制御部は、本発明である印刷システムにおける重要な処理部を含む。それは、ページ内の全ての描画命令を格納する１３の描画データ格納部であり、描画命令としてデバイス側の任意の領域をＢｉｔｍａｐ化するというものが指定された場合に、格納された描画データから任意の領域に存在しうる全ての描画データを抽出する１４の描画データ抽出部であり、１４で抽出された描画データ全てに上記任意の領域のクリップを付加する１５のクリップ付加部であり、上記任意の領域に対してビットマップ展開後に必要となる領域の確保を行う１６のレンダリング初期化部であり、クリップが付加された描画データをレンダリングしてビットマップ展開を行う１７のレンダリング処理部である。
【００１５】
また、１２の印刷データ制御部においては、ページ内全ての描画命令を描画データとして格納し終えたあと、それらをＰＤＬコマンドへ変換する１８のＰＤＬコマンド生成部も含む。
【００１６】
１９は印刷コマンド制御部で、印刷データ制御部により作成された印刷データ以外の、プリンタを制御するために必要なページ処理、その他の機能の印刷コマンドを作成し、また、印刷コマンド全体を制御する。
【００１７】
２０はＯＳの機能であり、セントロニクス接続により印刷装置とのデータ送受信を行うデータ送受信部である。
【００１８】
７は印刷装置であり、接続されたホスト装置からの指示に応じた印刷処理等を行う。
【００１９】
図４は本発明における、描画命令としてデバイス側の任意の領域をＢｉｔｍａｐ化するというものが指定された場合の具体的な処理された場合を示したものである。
【００２０】
１３の描画データ格納部ではページ内全ての描画命令を格納していくのであるが、格納している際に描画命令をしてデバイス側の任意の領域をＢｉｔｍａｐ化するというものが指定されると、それまで格納していた描画データの中から、１４の描画データ抽出部において指定される領域に存在する全ての描画データの抽出を行う。
【００２１】
このとき指定領域に一部分でも存在するものは全て抽出され、また、この指定領域は図４では矩形としているがかならずしも矩形に限ることはなく、閉じているという条件の元で任意の形状において成り立つ。
【００２２】
指定される領域に存在する全ての描画データが抽出されると、その全ての描画データに対して指定領域と同一の形状によるクリップが１５のクリップ付加部によって付加される。この時既に描画データにクリップが存在している場合は、そのクリップと指定領域のクリップとの共有部分が新たにクリップとして指定される。
【００２３】
その後、１６のレンダリング初期化部において指定領域にビットマップ展開出来る量のビットマップ領域を確保、初期化し、クリップが付加された描画データを格納順に１７のレンダリング処理部によりビットマップ展開を行い、それをＯＳに戻すことにより、デバイス側の任意の領域をＢｉｔｍａｐ化するという描画命令を実現することが可能となる。
【００２４】
本発明のプリンタドライバは図５に示されるフローチャートに基づいてプログラム化されたものである。以下、図５のフローチャートを参照しながら本発明に係るプリンタドライバの処理について説明する。
【００２５】
まず、図１の４の入力装置から印刷を実行するように命令が入力されると、図１の３の補助記憶装置から図１の２の主記憶装置上に読み込まれたＯＳ、ドライバやアプリケーション（図２）のうち、ＯＳがそのメッセージを受け取る。ＯＳは現在アクティブであるアプリケーションに印刷実行メッセージを送る。
【００２６】
アプリケーションは、そのメッセージをＯＳが認識できるコマンドに変換して印刷するデータやコマンドのメッセージを送る。ＯＳはドライバの認識できるコマンドに変換して、メッセージを送る。
【００２７】
ドライバに初期化用のメッセージが送られてきたら、描画データ格納領域を確保したり、プリンタドライバとして必要な初期化処理等を行う（５−１）。
【００２８】
ドライバはＯＳから送られてくる描画命令を受け取る（５−２）。次にその描画命令がデバイス側の任意の領域をＢｉｔｍａｐ化するものかを判断し（５−３）、そうではなく通常の描画命令だった場合は描画データに変換し、描画データ格納領域に格納する（５−４）。ここで、描画データとはＯＳから渡される描画命令そのものでもよく、あるいはＰＤＬコマンドの形に変換したものでもよく、あるいは中間データの形でもよい。
【００２９】
この格納処理をページ内に存在するすべての描画命令に対して行っていく（５−１０）。
【００３０】
（５−３）において、描画命令がデバイス側の任意の領域をＢｉｔｍａｐ化するものであった場合はそれまで描画データ格納領域に格納された描画データを全てチェックし、指定された領域に少しでも存在する描画データを抽出する（５−５）。ここで、（５−４）の描画データの格納を描画データ同士が重ならない範囲でＸ方向、Ｙ方向にソートして格納すると、必ずしもそれまでに格納された全ての描画データをチェックする必要はなく、ソートの結果を用いて存在する可能性のある描画データのみをチェックすればよくなる。
【００３１】
次に（５−５）で抽出された描画データに指定領域のクリップの付加を行う（５−６）。その後指定領域に相当する大きさのビットマップ領域の確保やレンダリングの初期化を行い（５−７）、（５−５）で抽出された全ての描画データのビットマップ展開（レンダリング）を行う（５−８）。ここで出来上がったビットマップをアプリケーションやＯＳに戻す（５−９）ことで、デバイス側の任意の領域をＢｉｔｍａｐ化するべき描画命令の処理は完了する。
【００３２】
ページ内の全描画命令に対する格納処理を終えたのち（５−１０）、格納された描画データをＰＤＬコマンドに変更し（５−１１）、それを印刷装置に転送することで本実施例の処理は完了する。
【００３３】
以上説明したように本発明の実施の形態によれば、ＰＤＬ言語を使用するプリンタであってもデバイス側の任意の領域をＢｉｔｍａｐ化するという描画命令をプリンタドライバの処理として正確に実現することが出来るようになる。
【００３４】
【発明の効果】
ＰＤＬ言語を使用するプリンタであってもデバイス側の任意の領域をＢｉｔｍａｐ化するという描画命令をプリンタドライバ処理として正確に実現することが出来るようになる。
【図面の簡単な説明】
【図１】本実施例の情報処理システムの構成の一例を示すブロック図である。
【図２】各種プログラムと関連するデータが、媒体読取装置記憶装置に格納されていたデータが中央処理演算装置に読み込まれ、入力装置から印刷命令が入力されて、プリンタへデータを送るまでの概念図である。
【図３】本発明の実施例の印刷システム全体構成を示すブロック図である。
【図４】実施例の具体的な処理の流れを示したものである。
【図５】本発明に係るプリンタドライバプログラムの処理の一実施例をあらわすフローチャートである。
【符号の説明】
１  中央処理装置
２  主記憶装置
３  補助記憶装置
４  入力装置
５  出力装置
６  媒体読取装置
７  印刷装置
８  ＲＯＭ
９  ＯＳ
１０  アプリケーション
１１  ドライバ
１２  印刷データ制御部
１３  描画データ格納部
１４  描画データ抽出部
１５  クリップ付加部
１６  レンダリング初期化部
１７  レンダリング処理部
１８  ＰＤＬコマンド生成部
１９  印刷コマンド制御部
２０  データ送受信部（ホスト装置側）
【図１】
2004341806.tif 000003
【図２】
2004341806.tif 000004
【図３】
2004341806.tif 000005
【図４】
2004341806.tif 000006
【図５】
2004341806.tif 000007