JP2005182694A - 割付印刷システム - Google Patents
割付印刷システム Download PDFInfo
- Publication number
- JP2005182694A JP2005182694A JP2003426299A JP2003426299A JP2005182694A JP 2005182694 A JP2005182694 A JP 2005182694A JP 2003426299 A JP2003426299 A JP 2003426299A JP 2003426299 A JP2003426299 A JP 2003426299A JP 2005182694 A JP2005182694 A JP 2005182694A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- paper
- printer
- application
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 Nup印刷(割付印刷)が指定され、論理ページの回転処理を必要とする場合に、OSのプリントプロセッサで回転処理させると、スループットや色見が不用意に変更されてしまう問題がある。
【解決手段】 OSによる回転/拡大縮小処理を回避するため、論理ページの用紙方向と物理用紙の用紙方向が異なる場合は、グラフィックドライバがラスタライズ時に回転するように印刷設定を変更し、描画領域の向きを変え、論理ページの回転は行なわずに拡大/縮小処理のみ行なう。
【選択図】 図1
【解決手段】 OSによる回転/拡大縮小処理を回避するため、論理ページの用紙方向と物理用紙の用紙方向が異なる場合は、グラフィックドライバがラスタライズ時に回転するように印刷設定を変更し、描画領域の向きを変え、論理ページの回転は行なわずに拡大/縮小処理のみ行なう。
【選択図】 図1
Description
本発明は、アプリケーションが作成した文書の印刷データを、ページ単位でレイアウトして印刷する割付印刷機能を有するプリンタドライバを含む、印刷システム及び印刷装置に関する。
従来の印刷システムでは、目的の文書を印刷する際に、印刷設定の各項目はユーザインタフェースドライバを介して行われ、ユーザインタフェースドライバはユーザに設定された各設定項目の設定値を含む情報を印刷設定構造としてアプリケーションに返却し、アプリケーションは返却された印刷設定構造を使用して印刷処理を行なう。
印刷設定構造に格納される情報は、アプリケーションがユーザインタフェースドライバを介して対話的にユーザに各設定項目を設定させることが可能である。代表的な設定項目にはアプリケーションの文書の各ページのサイズを設定する論理的なアプリケーション用紙サイズや、印刷用紙の大きさを表す出力用紙サイズがある。さらにアプリケーション用紙サイズに関る印刷設定として印刷の向きがあり、印刷の向きで横を設定すると、アプリケーション用紙サイズで設定したサイズを90度回転した論理的な用紙がアプリケーションで使用できるようになる。また、アプリケーションが作成した文書の複数ページを一枚の印刷用紙の上に配置し印刷する割付印刷設定があり、一般に割付数をNとしてN−up印刷と呼ばれている。例えば2−up印刷ではアプリケーションが作成した文書を1枚の印刷用紙に2ページずつ配置する。
アプリケーションが文書を印刷する環境を提供する印刷システムのスプーラは、アプリケーションが印刷に使用する印刷設定構造や、印刷用に作成した文書内容の描画命令をスプールファイルに格納し、印刷システムのデスプーラはスプールファイルから格納されている印刷設定構造を抽出し、文書のページをレイアウトするプリントプロセッサに提供する。プリントプロセッサは抽出された印刷設定構造を用いてスプールファイルに格納された印刷データをページ単位でレイアウトし、プリンタグラフィックドライバに供給する。プリンタグラフィックドライバに供給される印刷データはビットマップ化され、プリンタグラフィックドライバはレイアウト済みのビットマップに対して色変換処理等と同時に必要に応じて回転処理を行ないプリンタが解釈できる印刷コマンドを作成し、作成した印刷コマンドをプリンタに供給する。プリンタは供給された印刷コマンドに従い印刷用紙に印刷処理を行ない、印刷結果が得られる構造になっている。ここで、印刷設定構造の印刷の向きで横が設定されている場合、一般的にプリンタグラフィックドライバは画像処理と同時にレイアウト済みの印刷データを90度回転しつつ印刷コマンドを作成する。従って印刷の向きで縦が設定されている時とほぼ同等の処理時間で印刷コマンドを作成することができる。
なお、従来、この種の印刷システムとして、下記特許文献が提案されている。
特開2003−091525
しかしながら上述した従来の技術においては、以下のような問題があった。アプリケーションで作成した文書を割付印刷設定で印刷する場合、プリントプロセッサはアプリケーションの文書ページの印刷データを1ページずつ繰り返しレイアウトし、プリンタグラフィックドライバに供給する印刷データを作成する。ここで出力用紙の印刷可能領域を印刷設定構造に格納されている割付数(N−up数)で分割し、分割した印刷可能領域に文書ページをレイアウトする際に、分割した印刷可能領域の長辺方向とレイアウトされる文書ページの長辺方向が異なる場合、文書ページの印刷データを回転してレイアウトし、レイアウト後の印刷データをプリンタグラフィックドライバに供給していた。プリンタグラフィックドライバに渡される印刷データはビットマップに変換されるが、プリントプロセッサが文書ページを回転してレイアウトするために、ビットマップに変換する際に文書ページの印刷データを全て回転する処理が必要になり、回転しない場合と比較しオーバーヘッドが増大する問題があった。また、OSのプリントプロセッサが文書ページをビットマップ変換して回転させると、アプリケーションが本来指定した色見が変更されてしまい、正確な色処理が行えなくなる問題があった。
また、同じく出力用紙の印刷可能領域を印刷設定構造に格納されている割付数(N−up数)で分割し、分割した印刷可能領域に文書ページをレイアウトする際に、分割した印刷可能領域の外形の長辺方向とレイアウトされる文書ページの外形の長辺方向が異なる場合に、プリントプロセッサで文書ページを回転しないでレイアウトすると、分割した印刷可能領域の長辺方向と文書ページの長辺方向が異なるため、レイアウト結果に空白が多くなってしまい、印刷可能領域を有効に活用できない問題が在った。
本発明は上記従来の問題点に鑑みなされたものであり、アプリケーションは文書を印刷するための印刷設定の情報を印刷設定構造に格納し、スプーラはアプリケーションから渡された印刷設定構造と印刷データをスプールファイルに格納し、デスプーラはスプールファイルに格納された印刷設定構造を抽出しプリントプロセッサに渡し、プリントプロセッサはデスプーラから取得した印刷設定構造と印刷データを用いてページ単位で印刷データをレイアウトしプリンタグラフィックドライバに供給し、プリンタグラフィックドライバはレイアウトされた印刷データのビットマップに対して色変換処理を行ないプリンタが解釈できる印刷コマンドを作成してプリンタに供給し、プリンタは供給された印刷コマンドに従い印刷用紙に印刷処理を行なう印刷システムにおいて、
印刷実行時に印刷設定構造に割付印刷が設定されており、プリントプロセッサが印刷可能領域を割付数で分割し文書ページの印刷データをレイアウトする際に、分割された印刷可能領域の長辺方向と文書ページの長辺方向が異なる場合、印刷設定構造の印刷の向きを逆に設定し、プリンタグラフィックドライバに通知することで印刷可能領域の長辺方向を変更してから、文書ページの印刷データを回転せずにレイアウトする構成とした。
印刷実行時に印刷設定構造に割付印刷が設定されており、プリントプロセッサが印刷可能領域を割付数で分割し文書ページの印刷データをレイアウトする際に、分割された印刷可能領域の長辺方向と文書ページの長辺方向が異なる場合、印刷設定構造の印刷の向きを逆に設定し、プリンタグラフィックドライバに通知することで印刷可能領域の長辺方向を変更してから、文書ページの印刷データを回転せずにレイアウトする構成とした。
以上説明したように、本発明によれば次のような効果が得られる。
アプリケーションで作成した文書を割付印刷設定で印刷する際に、プリントプロセッサにより、割付数で分割した印刷用紙の印刷可能領域とアプリケーションの文書ページの長辺方向が一致しなければ、印刷設定構造の印刷の向きを反転しグラフィックドライバに通知し論理的な印刷用紙を90度回転することで、文書ページを回転せずにレイアウトすることができ、プリンタグラフィックドライバはビットマップ作成にあたり文書ページの回転処理を行なう必要がなくなるため印刷時のオーバーヘッドの増加を抑制することが可能となる。また、同時に分割された印刷可能領域とアプリケーションの文書ページの長辺方向が一致するので印刷可能領域を有効に活用することができる。
以下、図面に示す実施例に基づき本発明を詳細に説明する。尚、本実施形態の特徴を説明する上で特に必要ないと思われる機能については省略する。
まず発明に関る基本的な印刷システムを具体例を用いて説明する。なお本具体例ではオペレーティングシステム(以下OSと略す)としてMicrosoft WINDOWS(登録商標)2000/XP を用いた場合を示す。
図1は、本発明による印刷システムの具体例を示すブロック図である。図において、本発明に関るモジュールは、ユーザインタフェースドライバ102とプリントプロセッサ107とプリンタグラフィックドライバ108である。印刷システムを構成する101〜108はプリンタ109の上位装置であるパーソナルコンピュータ等で動作し、アプリケーション101が作成した文書の印刷データをGDI103を介して一時的にEMF形式でスプールファイル105に一時保持し、これをプリンタ109が解釈可能な印刷コマンド形式のビットマップデータに変換しプリンタ 109に供給して印刷するよう構成されている。ここでGDIとはグラフィックデバイスインタフェースのことでWINDOWS(登録商標)のグラフィクスエンジンである。またEMFとはEnhancedMetaFileの略でWINDOWS(登録商標)における描画データの論理的な格納形式であり、スプールファイルには印刷データがEMF形式で格納される。ここで、プリンタドライバを構成するモジュールはユーザインタフェースドライバ102と、プリントプロセッサ107とプリンタグラフィックドライバ108である。また、WINDOWS(登録商標)が提供するモジュールはGDI103とスプーラ104とデスプーラ106である。
ユーザインタフェースドライバ102は印刷に使用する用紙サイズやアプリケーション文書の用紙サイズと印刷の向き、その他の属性を設定する機能をユーザに提供する。ユーザはユーザインタフェースドライバを介して対話的に印刷設定の各設定項目を変更することが可能であり、設定値を印刷設定構造DEVMODEに格納し、アプリケーション101に返却する。ユーザインタフェースドライバと印刷設定構造については後述する。
アプリケーションは印刷設定構造DEVMODEを作成し、必要に応じユーザインタフェースドライバ102を介してユーザに印刷設定を行なわせ印刷設定構造を獲得し、印刷設定構造に格納されている設定を利用することや文書の内容を描画命令としてGDI103に供給する。
スプーラ104はGDI103を介してアプリケーション101が作成した文書の内容を印刷データとしてスプールファイル105に格納する。またアプリケーション101が印刷に用いた印刷設定構造DEVMODEもスプールファイル105に格納する機能を有する。
デスプーラ106は印刷時にスプールファイル105から印刷設定構造と印刷データを抽出しプリントプロセッサ107に渡す機能を有する。またスプールファイル105に格納された印刷データはページ単位で扱えるような形式でプリントプロセッサ107に供給する機能を有する。
プリントプロセッサ107は、印刷時にスプールファイル105から印刷設定構造と印刷データを取得し、印刷データを1ページずつレイアウトし、レイアウト後の印刷データをGDI103を介してプリンタグラフィックドライバ108に供給し印刷を行うモジュールである。
プリンタグラフィックドライバ108はイメージ生成処理部であり、プリントプロセッサ 107が供給した印刷データをもとにGDI2が生成したグラフィック描画コマンドからビットマップデータを生成するモジュールであり、生成したビットマップデータに色変換処理や必要に応じ同時に回転処理行ないつつプリンタが解釈できる印刷コマンド形式にして、図に示していないデータ送信部を介してプリンタ109に供給する。
ここで出力デバイスであるプリンタ109は、プリンタグラフィックドライバ108から渡された、印刷コマンド形式のビットマップデータを印刷用紙130に対し印刷する機能を持つ。
例えば印刷設定構造の割付印刷数が1である場合、アプリケーションの文書ページ120は出力用紙130の様に印刷され、割付印刷数が2、つまり2−upである場合、アプリケーションの文書ページ120が複数在るとすると、出力用紙131のように2ページ分の文書ページが1枚の印刷用紙にレイアウトされ印刷される。
図4に印刷設定構造DEVMODEの概念図を示す。図に示されるようにパブリック構造とプライベート構造で構成され、パブリック構造には一般的な印刷に必要な設定項目の情報が格納される。本図では印刷の向き、印刷品位、アプリケーションの原稿の用紙サイズ、プリンタにセットされているメディアの種類、メディアがセットされている給紙口をパブリック構造の設定項目として例に挙げている。一方プライベート構造にはプリンタドライバ固有の情報が格納されており、ハーフトーン手法、割付印刷の割付数、プリンタにセットされているメディアのサイズ、スタンプ機能、背景機能を設定項目の例に挙げている。一般アプリケーションからはパブリック構造は参照可能であるがプリベート構造の内容は参照できない。しかし、プリントプロセッサにおいては、割付数等のプライベート構造の一部の内容についてはユーザインタフェースドライバに問い合わせることで取得することが可能である。アプリケーションは図3で示されるユーザインタフェースドライバの印刷設定ダイアログを表示し、ユーザは設定項目を変更するために印刷設定ダイアログを操作し、その結果印刷設定ダイアログの各設定項目の設定値が印刷設定構造に格納される。
図3は本実施形態におけるユーザインタフェースドライバが提供する、各種印刷設定を行う際に表示される印刷設定ダイアログの一例を示す図である。この印刷設定ダイアログによりユーザによる上記設定内容の変更指示や入力を受け付ける。同図において、301は印刷設定ダイアログであり、302〜311、320〜331までの各表示エリアから構成される。印刷設定では表示する項目が非常に多いため、タブシートを使用して設定項目を内容ごとに分けて見やすい構成にするのが通例である。本実施形態でもタブを使用する。302は基本設定タブであり、印刷の基本に関する内容を表示する。詳細については後述する。303はページ設定のタブであり、印刷レイアウト(割付印刷)、両面印刷、逆順印刷などの各種ページ設定に関する内容を表示する。304はスタンプ/背景のタブであり、印刷文書に対して文字を重ねるスタンプ機能や、画像を重ねる背景機能という、印刷文書を変更することなしに印刷時に付加するパターンの選択画面を表示する。305は特殊効果のタブであり、各種画像補整やセピア調など特殊な効果を画像に与える場合に使用する機能の選択画面を表示する。306はお気に入りのタブであり頻繁に使用する印刷設定などの保存と呼び出し機能を選択させる画面を表示する。307はユーティリティのタブであり、ヘッドの調整やクリーニングなどの機能の選択画面を表示する。320は基本設定の簡易表示エリアであり、文字情報だけでなく視覚に訴える形で、設定された情報を表示する。321はプリントアドバイザであり印刷目的から最適な印刷設定を段階的に導く機能を持つサブダイアログを表示する。322は用紙種類選択部であり用紙種類を表示するとともに選択することができ、ドロップダウンメニューとなっており普段は選択されている用紙種類が表示され、クリックすることで選択可能な用紙種類がリストされる。選択可能な用紙種類はプリンタで印刷可能な用紙である。323はプリンタ本体が用紙を給紙する給紙方法を表示選択することができ、たとえば自動給紙口である給紙トレイや給紙カセットが選択できる。324は印刷の品位を設定する項目である。325は印刷の色や濃度を調整するための項目である。326は印刷文書がカラーであっても印刷結果をグレースケールにするためのチェックボックスである。327はアプリケーションが文書を作成するにあたり使用する用紙サイズを設定する項目である。この設定項目を変更することでアプリケーションが使用する用紙サイズを変更することができる。328はアプリケーションの用紙の印刷の向きを設定する項目である。印刷の向きが縦の場合は用紙サイズの縦横がアプリケーションに返却される用紙サイズと一致する。印刷の向きが縦の場合は用紙サイズの縦横を回転したサイズがアプリケーションに返却される。印刷の向きを変更した際の印刷結果は後述する。329はプリンタにセットされている出力用紙サイズを設定する。出力用紙サイズを設定することにより、アプリケーションの用紙サイズとは異なるサイズの印刷用紙に印刷することが可能である。330は本ダイアログを表示するドライバのバージョンを示すサブダイアログを表示する。331は基本設定302の設定を標準(出荷時設定)に戻す機能をもつ。ユーザは各項目を選択した後にOKボタン308を押下することで印刷設定ダイアログ301を閉じ、選択した印刷設定を印刷に反映させることができる。つまりOKボタン308が押下されたことによりユーザが操作した印刷設定ダイアログの情報を、印刷設定構造DEVMODEの設定項目として格納することになる。Cancelボタン309を押下すると印刷設定ダイアログ301が閉じ、選択した設定項目の内容は破棄され印刷に反映されることはない。Applyボタン310は印刷設定ダイアログ301は開いたままで選択した印刷設定を印刷に反映させることができる。Helpボタン311は基本設定302の各設定項目に関する説明文を別ウィンドウで表示させることができる。
図9は、印刷設定構造の印刷の向きの設定と、アプリケーションまたはプリントプロセッサに返却される用紙サイズと印刷可能領域の関係を示している。ここでは印刷設定構造の印刷の向きに横が設定された場合、論理的な用紙は物理用紙を時計回りに90度回転したサイズとなり、プリントグラフィックドライバは印刷時に論理的な用紙サイズから反時計回りに90度回転した印刷コマンドを生成するとする。また、理解を容易にするために印刷設定構造に設定するアプリケーションの用紙サイズとプリンタにセットする用紙サイズを等しくしているものとする。
縦長の印刷用紙、例えばA4サイズの用紙を利用する場合、印刷設定構造の用紙サイズと出力用紙サイズにはA4を、印刷の向きには縦を設定する。この印刷設定の場合、アプリケーションやプリントプロセッサに返却される論理的な用紙サイズは901で示されるように縦長になる。ATは上マージン、ABは下マージン、ALは左マージン、ARは右マージンであり、用紙サイズがから各マージンを除いた矩形領域が印刷可能領域となる。ここで印刷設定構造の印刷の向きを横に設定しなおした場合、アプリケーションやプリントプロセッサに返却される論理的な用紙サイズは902で示され、BT、BB、BL、BRはそれぞれ上、下、左、右マージンとなる。902で示される論理的な用紙サイズは横長になるが、プリンタにセットされている物理的な用紙は縦長であるため、各マージンも回転しAT=BL、AB=BR、AL=BB、AR=BTとなる。
一方、横長の用紙、例えばA5Lサイズの用紙を利用する場合、印刷設定構造の用紙サイズと出力用紙サイズにはA5Lを、印刷の向きには縦を設定する。この印刷設定の場合、アプリケーションやプリントプロセッサに返却される論理的な用紙サイズは903で示されるように横長になる。ATは上マージン、ABは下マージン、ALは左マージン、ARは右マージンであり、用紙サイズがから各マージンを除いた矩形領域が印刷可能領域となる。ここで印刷設定構造の印刷の向きを横に設定しなおした場合、アプリケーションやプリントプロセッサに返却される論理的な用紙サイズは904で示され、BT、BB、BL、BRはそれぞれ上、下、左、右マージンとなる。904で示される論理的な用紙サイズは縦長になるが、プリンタにセットされている物理的な用紙は横長であるため、各マージンも回転しAT=BL、AB=BR、AL=BB、AR=BTとなる。
図5は、印刷設定構造のアプリケーションの用紙サイズと出力用紙サイズの長辺方向が等しい場合における、用紙の外形と印刷の向きの組み合わせによる回転処理の概念を示している。印刷の向きが縦向きの場合は用紙サイズの縦横がそのままアプリケーションに返却され、プリンタグラフィックドライバは印刷コマンド作成時に回転処理を行なわない。印刷の向きが横向きの場合は用紙サイズが回転され縦横を逆にしたサイズがアプリケーションに返却され、プリンタグラフィックドライバは印刷コマンド作成時に回転処理を行なう。本図では、グラフィックドライバは印刷の向きが横向きの場合、印刷コマンド作成時に色変換処理と同時に時計回りに90度回転処理を行なうとして説明する。
(1)は用紙が縦長で印刷の向きが縦向きの場合であり、アプリケーションは縦長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは縦長用紙に文書ページの印刷データを回転しないでレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが縦向きであるため無回転で印刷コマンドに変換する。
(2)は用紙が縦長で印刷の向きが横向きの場合であり、アプリケーションには縦長用紙を回転した横長用紙サイズが返却されるので横長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは横長用紙に文書ページの印刷データを回転しないでレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが横向きであるため時計回りに90度回転して印刷コマンドに変換する。
(3)は用紙が横長で印刷の向きが縦向きの場合であり、アプリケーションは横長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは横長用紙に文書ページの印刷データを回転しないでレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが縦向きであるため無回転で印刷コマンドに変換する。
(4)は用紙が横長で印刷の向きが横向きの場合であり、アプリケーションには横長用紙を回転した縦長用紙サイズが返却されるので縦長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは縦長用紙に文書ページの印刷データを回転しないでレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが横向きであるため時計回りに90度回転して印刷コマンドに変換する。このように印刷の向きが横である場合はアプリケーションに返却するサイズが縦横逆になり、グラフィックドライバが印刷コマンド作成時に回転処理を行なうので、もとの用紙のサイズに印刷することが可能となっている。
図6は、印刷設定構造のアプリケーションの用紙サイズと出力用紙サイズの長辺方向が等しい場合における、2−up、つまり割付印刷数が2であるときの用紙の外形と印刷の向きの組み合わせによる従来方法の回転処理の概念を示している。プリントプロセッサは割付数に応じ印刷可能領域を分割し、分割された印刷可能領域の長辺方向とアプリケーションの用紙サイズの長辺方向を比較し、一致していなければアプリケーションの文書ページの印刷データを回転してレイアウトする。
(1)は用紙が縦長で印刷の向きが縦向きの場合であり、アプリケーションは縦長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは縦長用紙の印刷可能領域を2分割し長辺方向が用紙サイズと異なるので文書ページの印刷データを時計回りに90度回転してレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが縦向きであるため無回転で印刷コマンドに変換する。
(2)は用紙が縦長で印刷の向きが横向きの場合であり、アプリケーションは横長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは横長用紙の印刷可能領域を2分割し長辺方向が用紙サイズと異なるので文書ページの印刷データを反時計回りに90度回転してレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが横向きであるため時計回りに90度回転して印刷コマンドに変換する。
(3)は用紙が横長で印刷の向きが縦向きの場合であり、アプリケーションは横長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは横長用紙の印刷可能領域を2分割し長辺方向が用紙サイズと異なるので文書ページの印刷データを時計回りに90度回転してレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが縦向きであるため無回転で印刷コマンドに変換する。
(4)は用紙が横長で印刷の向きが横向きの場合であり、アプリケーションは縦長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは縦長用紙の印刷可能領域を2分割し長辺方向が用紙サイズと異なるので文書ページの印刷データを反時計回りに90度回転してレイアウトし、プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが横向きであるため時計回りに90度回転して印刷コマンドに変換する。このように割付数に応じて印刷可能領域を分割し、分割された印刷可能領域と印刷用紙サイズの長辺方向が異なる場合はプリントプロセッサで回転してレイアウトを行なうため、プリンタグラフィックドライバが供給された印刷データからビットマップを作成する際にはアプリケーションの印刷データを回転処理する必要がある。したがって印刷データの内容が多くなると共にプリンタドライバのオーバーヘッドも大きくなっていた。
図7は、印刷設定構造のアプリケーションの用紙サイズと出力用紙サイズの長辺方向が等しい場合における、2−up、つまり割付印刷数が2であるときの用紙の外形と印刷の向きの組み合わせによる本実地例の回転処理の概念を示している。プリントプロセッサは割付数に応じ印刷可能領域を分割し、分割された印刷可能領域の長辺方向とアプリケーションの用紙サイズの長辺方向を比較し、一致していなければ印刷設定構造の印刷の向きを変更し、GDIを介してプリンタグラフィックドライバに通知することで論理的な印刷可能領域を回転する。つまり縦長用紙であれば横長に、横長用紙であれば縦長になるので印刷可能領域も回転し、分割した印刷可能領域にはアプリケーションの文書ページの印刷データを回転しないでレイアウトすることが可能になる。
(1)は用紙が縦長で印刷の向きが縦向きの場合であり、アプリケーションは縦長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは縦長用紙の印刷可能領域を2分割し、分割した印刷可能領域と文書ページの用紙サイズの長辺方向が異なるので印刷設定構造の印刷の向きを横向きに変更しGDIを介してプリンタグラフィックドライバに通知する。印刷の向きが横向きに変更されため、プリントプロセッサに返却される論理的な用紙サイズは横長となり、割付数で分割した印刷可能領域と文書ページの用紙サイズの長辺方向が等しくなり、文書ページの印刷データは無回転でレイアウトできる。プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが横向きであるため時計方向に90度回転して印刷コマンドに変換する。
(2)は用紙が縦長で印刷の向きが横向きの場合であり、アプリケーションは横長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは横長用紙の印刷可能領域を2分割し、分割した印刷可能領域と文書ページの用紙サイズの長辺方向が異なるので印刷設定構造の印刷の向きを縦向きに変更しGDIを介してプリンタグラフィックドライバに通知する。印刷の向きが縦向きに変更されため、プリントプロセッサに返却される論理的な用紙サイズは縦長となり、割付数で分割した印刷可能領域と文書ページの用紙サイズの長辺方向が等しくなり、文書ページの印刷データは無回転でレイアウトできる。プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが縦向きであるため回転せずに印刷コマンドに変換する。
(3)は用紙が横長で印刷の向きが縦向きの場合であり、アプリケーションは横長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは横長用紙の印刷可能領域を2分割し、分割した印刷可能領域と文書ページの用紙サイズの長辺方向が異なるので印刷設定構造の印刷の向きを横向きに変更しGDIを介してプリンタグラフィックドライバに通知する。印刷の向きが横向きに変更されため、プリントプロセッサに返却される論理的な用紙サイズは縦長となり、割付数で分割した印刷可能領域と文書ページの用紙サイズの長辺方向が等しくなり、文書ページの印刷データは無回転でレイアウトできる。プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが横向きであるため時計方向に90度回転して印刷コマンドに変換する。
(4)は用紙が横長で印刷の向きが横向きの場合であり、アプリケーションは縦長用紙サイズの文書ページを作成し印刷を行ない、プリントプロセッサは縦長用紙の印刷可能領域を2分割し、分割した印刷可能領域と文書ページの用紙サイズの長辺方向が異なるので印刷設定構造の印刷の向きを縦向きに変更しGDIを介してプリンタグラフィックドライバに通知する。印刷の向きが縦向きに変更されため、プリントプロセッサに返却される論理的な用紙サイズは横長となり、割付数で分割した印刷可能領域と文書ページの用紙サイズの長辺方向が等しくなり、文書ページの印刷データは無回転でレイアウトできる。プリンタグラフィックドライバはプリントプロセッサに供給された印刷データをビットマップにし、印刷の向きが縦向きであるため回転せずに印刷コマンドに変換する。
図2は本実施例におけるプリントプロセッサの割付印刷処理のフローチャートである。一枚の出力用紙に複数の文書ページをレイアウトする際に回転が必要な場合は、文書ページを回転するのではなく、印刷構造設定の印刷の向きを反転することで、印刷可能領域を回転することを特徴とする。プリントプロセッサはアプリケーションが文書ページの印刷処理を行ない、スプールファイルに文書ページの印刷データが保存された時にデスプーラにより起動される。まずS201でGDIを介してOSの印刷システムに印刷処理開始を通知する。続いてS201からS211までが印刷用紙のループであり最終物理用紙まで処理を繰り返す。S203では印刷用紙に配置される複数の文書ページの中から、代表する文書ページを決定し、その代表文書ページと割付数で分割した印刷可能領域の長辺方向が等しいか比較し、異なっていれば回転が必要と判断し、等しければ回転は不要と判断する。ここで印刷用紙に配置される文書ページの中から代表する文書ページを選択するには、例えばページ番号が一番小さい文書ページを用いればよい。あるいは、一枚の出力用紙にレイアウトされる全ての文書ページの回転の有無を調査し、複数の文書ページのうち半数以上に回転の必要性が在るかどうかで決定してもよい。S204で回転が必要である場合にはS205に移り、回転が不要である場合にはS206に移る。S205ではプリントプロセッサの描画領域を回転するために印刷設定構造の印刷の向きを、縦ならば横、横ならば縦というように反転し、GDIを介してプリンタグラフィックドライバに通知する。こうしてプリントプロセッサが文書ページをレイアウトする論理的な用紙サイズと印刷可能領域が回転するため、各文書ページを回転せずにレイアウトすることが可能になる。続いてS206ではOSの印刷システムに1ページ印刷開始を通知する。S207からS209が印刷用紙の印字領域に文書ページをレイアウトするループであり、割付数の回数だけ文書ページが存在する限り繰り返す。S208では印刷可能領域を割付数で分割し、分割された印刷可能領域に対して文書ページを無回転でレイアウトする。該当の物理用紙に対応する文書ページをレイアウトした後、S210で印刷システムに1ページ印刷終了を通知する。こうして1枚の物理用紙のレイアウトが終了し、レイアウト後の印刷データがプリンタグラフィックドライバに供給される。S211で全ての物理ページを処理した後、S212で印刷システムに印刷終了を通知し、プリントプロセッサの割付印刷処理を終了する。
図8は本実施形態における印刷システムのハードウェア構成を示すブロック図である。本図において、901は、CRT表示装置であり、図3に示すユーザインタフェースドライバが提供する印刷設定ダイアログ等を表示する。902はCRTCで表示装置用のコントローラである。903は、キーボードなどのデータ入力装置であり、904は、キーボードコントローラである。905は、ポインティングデバイス等の座標入力装置であり、906は、ポインティングデバイスコントローラである。907は、装置全体の制御を司るCPUである。908は、ブートプログラムなどを記憶しているROMである。909は、OS、各アプリケーションプログラムと図2のフローチャートに関るプリンタドライバプログラムを格納したり、さらにはワークエリアとしても利用されるRAMである。910は、OS、各アプリケーションプログラムと図2のフローチャートに関るプログラムを含むプリンタドライバプログラム、フォントデータを記憶しており、さらにはスプールファイル等を一時的に記憶するハードディスク装置であり、911はハードディスクコントローラである。912は、可搬性記憶媒体の駆動装置であるフロッピー(登録商標)ディスク装置であり、913はフロッピー(登録商標)ディスクコントローラである。914は、インターフェースであり、インターフェースケーブルを介してインクジェットプリンタなどの印刷装置915に接続される。916は、各デバイスを接続するバスである。本装置に電源が投入されると、CPU907はROM908に格納されているブートプログラムに従って起動し、ハードディスク装置910からOSをロードし、操作者の操作待ち状態になる。そして、操作者からKB903またはPD905からアプリケーションを介して印刷指示やプリンタドライバの印刷設定変更指示を受けた場合、もしくは自動的に起動するように設定されている場合は、ハードディスク装置910に格納されているプリンタドライバプログラムがRAM909にロードされ実行される。
本実施例ではプリンタグラフィックドライバは印刷設定構造の印刷の向きの設定が横の場合は、印刷コマンド作成時に時計回りに90度回転処理(右回転)を行なうとしたが、プリンタグラフィックドライバが反時計回りに90度回転処理(左回転)する場合においても、割付印刷時にプリントプロセッサが文書ページをレイアウトするにあたり回転が必要と判断した時は、印刷設定構造の印刷の向きの設定値を反転することで、同様の効果が得られることは言うまでもない。
また、本実施例では割付数が2である割付印刷(2−up)について説明したが、2−upに限らず、一般に言うN−up印刷においても同様の効果が得られることは言うまでもない。
また、本実施例ではアプリケーションの用紙サイズとプリンタの出力用紙サイズが等しい場合において説明したが、これら二つの用紙サイズが異なっている場合においても同様の効果が得られることは言うまでもない。
Claims (1)
- アプリケーションは文書を印刷するための印刷設定の情報を印刷設定構造に格納し、スプーラはアプリケーションから渡された印刷設定構造と印刷データをスプールファイルに格納し、デスプーラはスプールファイルに格納された印刷設定構造を抽出しプリントプロセッサに供給し、プリントプロセッサはデスプーラから取得した印刷設定構造と印刷データを用いてページ単位で印刷データをレイアウトしプリンタグラフィックドライバに供給し、プリンタグラフィックドライバはレイアウトされた印刷データのビットマップに対して色変換処理と同時に必要に応じ回転処理を行ないプリンタが解釈できる印刷コマンドを作成してプリンタに供給し、プリンタは供給された印刷コマンドに従い印刷用紙に印刷処理を行なう印刷システムにおいて、
印刷実行時に印刷設定構造に割付印刷が設定されており、プリントプロセッサが印刷可能領域を割付数で分割し文書ページの印刷データをレイアウトする際に、分割された印刷可能領域の長辺方向と文書ページの長辺方向が異なる場合、印刷設定構造の印刷の向きを逆に設定し、プリンタグラフィックドライバに通知することで印刷可能領域の長辺方向を変更してから、文書ページの印刷データを回転せずにレイアウトすることを特徴とした印刷システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003426299A JP2005182694A (ja) | 2003-12-24 | 2003-12-24 | 割付印刷システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003426299A JP2005182694A (ja) | 2003-12-24 | 2003-12-24 | 割付印刷システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005182694A true JP2005182694A (ja) | 2005-07-07 |
Family
ID=34785870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003426299A Withdrawn JP2005182694A (ja) | 2003-12-24 | 2003-12-24 | 割付印刷システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005182694A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007304788A (ja) * | 2006-05-10 | 2007-11-22 | Fuji Xerox Co Ltd | 印刷制御装置、方法およびプログラム |
JP2011242946A (ja) * | 2010-05-17 | 2011-12-01 | Brother Ind Ltd | 画像形成制御プログラム、画像形成プログラム、及び画像形成設定情報のデータ構造 |
JP2011243004A (ja) * | 2010-05-18 | 2011-12-01 | Ricoh Co Ltd | 情報処理装置、印刷制御プログラム、記録媒体、印刷制御システム、及び画像形成装置 |
US20200081670A1 (en) * | 2018-09-06 | 2020-03-12 | Canon Kabushiki Kaisha | Information processing apparatus that provides print data to printer and control method therefor |
US11195070B2 (en) | 2018-12-28 | 2021-12-07 | Canon Kabushiki Kaisha | Information processing apparatus and method for generating print data based on a 2-in-1 print instruction |
US11216228B2 (en) | 2019-06-12 | 2022-01-04 | Canon Kabushiki Kaisha | Information processing device, information processing method, and storage medium |
-
2003
- 2003-12-24 JP JP2003426299A patent/JP2005182694A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007304788A (ja) * | 2006-05-10 | 2007-11-22 | Fuji Xerox Co Ltd | 印刷制御装置、方法およびプログラム |
JP4706553B2 (ja) * | 2006-05-10 | 2011-06-22 | 富士ゼロックス株式会社 | 印刷制御装置、方法およびプログラム |
JP2011242946A (ja) * | 2010-05-17 | 2011-12-01 | Brother Ind Ltd | 画像形成制御プログラム、画像形成プログラム、及び画像形成設定情報のデータ構造 |
US8625117B2 (en) | 2010-05-17 | 2014-01-07 | Brother Kogyo Kabushiki Kaisha | Apparatus for controlling image formation, computer readable device having stored thereon computer-executable instructions for forming images, and method of generating image formation setting information |
JP2011243004A (ja) * | 2010-05-18 | 2011-12-01 | Ricoh Co Ltd | 情報処理装置、印刷制御プログラム、記録媒体、印刷制御システム、及び画像形成装置 |
US20200081670A1 (en) * | 2018-09-06 | 2020-03-12 | Canon Kabushiki Kaisha | Information processing apparatus that provides print data to printer and control method therefor |
US10915278B2 (en) * | 2018-09-06 | 2021-02-09 | Canon Kabushiki Kaisha | Information processing apparatus that provides print data to printer and control method therefor |
US11195070B2 (en) | 2018-12-28 | 2021-12-07 | Canon Kabushiki Kaisha | Information processing apparatus and method for generating print data based on a 2-in-1 print instruction |
US11216228B2 (en) | 2019-06-12 | 2022-01-04 | Canon Kabushiki Kaisha | Information processing device, information processing method, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8451490B2 (en) | Printing control method | |
JP3900700B2 (ja) | 印刷制御装置およびその方法並びに記録媒体 | |
US20040061897A1 (en) | Printing control method and printing control apparatus | |
JP2011203826A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US8384946B2 (en) | Image forming apparatus, method, and computer product for positioning images of different size on a given paper size | |
JP2008040933A (ja) | 情報処理装置、情報処理方法、記憶媒体、プログラム | |
JP2008247023A (ja) | 文書ファイルにおけるオブジェクトの望ましい或いは複数の外観のダイレクトプリント | |
US20100232910A1 (en) | Information processing apparatus, information processing method, program, and storage medium | |
JP2003223301A (ja) | 印刷システム及び方法 | |
JP2005115683A (ja) | 印刷設定方法及び情報処理装置 | |
US8773692B2 (en) | Printing control apparatus and printing control method for document layout processing | |
KR20080023603A (ko) | N-up 설정이 가능한 화상데이터 출력장치 및 그의제어방법 | |
JP2005182694A (ja) | 割付印刷システム | |
JP2009053796A (ja) | 印刷制御装置およびプリンタドライバのプログラム | |
JP5734020B2 (ja) | 印刷制御装置、印刷制御装置の印刷制御方法及びプログラム | |
JP6330790B2 (ja) | 印刷制御システム、印刷制御装置およびプログラム | |
JP2019098580A (ja) | 画像形成装置 | |
US20040085551A1 (en) | Methods and systems for estimating print imaging material usage | |
US8908227B2 (en) | Image forming apparatus, image forming system, image data processing method, program, and storage medium | |
JP2005148927A (ja) | 情報処理装置および印刷制御方法 | |
JP2005215895A (ja) | 印刷制御方法および装置、プリンタドライバプログラムならびに記憶媒体 | |
JP5526863B2 (ja) | プリンタドライバ、及び印刷制御装置 | |
US8160469B2 (en) | Information processing apparatus, method for controlling the information processing apparatus, and storage medium | |
JP2003044240A (ja) | プリンタドライバ、情報処理装置、印刷システム、印刷装置、及び記憶媒体 | |
JP2006019931A (ja) | 画像処理装置及び画像処理方法、並びにコンピュータプログラム及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070306 |