(57)【特許請求の範囲】
【請求項１】
ユーザーからの指示を受け付ける操作入力部と、
中間コード記憶部と、
描画命令受付部と、レイアウト決定部と、ＰＤＬ生成部とを有するプリンタードライバーと、
レイアウトマネージャーとを具備し、
前記描画命令受付部は、前記ユーザーによる複数の印刷ジョブを実行する指示に基づき、複数の異なるアプリケーションプログラムからの前記複数の印刷ジョブの描画命令を受け付け、受け付けた前記複数の印刷ジョブの描画命令を印刷ページの配置を再レイアウト可能な複数の中間コードにそれぞれ変換して、前記複数の中間コードを前記中間コード記憶部に出力して記憶させ、
前記レイアウトマネージャーは、
前記ユーザーの指定する集約レイアウトを受け付け、前記中間コード記憶部に記憶された前記複数の中間コードを、受け付けた前記集約レイアウトでプレビュー表示し、
前記ユーザーから前記複数の印刷ジョブを前記集約レイアウトで印刷する指示を受け付けると、印刷指示として、ダミーの印刷ジョブを前記集約レイアウトで印刷する指示を前記プリンタードライバーに出力し、
前記プリンタードライバーの前記描画命令受付部が、前記レイアウトマネージャーから前記ダミーの印刷ジョブを前記集約レイアウトで印刷する指示を受け取ることをトリガーとして、
前記レイアウト決定部は、前記中間コード記憶部に記憶されている前記複数の印刷ジョブの前記複数の中間コードを取り出し、前記複数の中間コードで記録された前記複数の印刷ジョブの本体を前記ダミーの印刷ジョブに挿入することにより、前記複数の印刷ジョブの前記複数の中間コードを前記集約レイアウトで再レイアウトして前記中間コードを修正し、
前記ＰＤＬ生成部は、修正された前記中間コードをプリンタ記述言語に変換して出力する
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記レイアウトマネージャーは、前記ダミーの印刷ジョブとして、
<文書開始><文書終了>
を記述し、
前記レイアウト決定部は、前記複数の印刷ジョブの本体を、
前記<文書開始>及び前記<文書終了>
の間に挿入する
情報処理装置。
【請求項３】
中間コード記憶部と、
描画命令受付部と、レイアウト決定部と、ＰＤＬ生成部とを有するプリンタードライバーと、
レイアウトマネージャー
としてコンピューターを機能させる情報処理プログラムであって、
前記描画命令受付部は、操作入力部により受け付けられたユーザーによる複数の印刷ジョブを実行する指示に基づき、複数の異なるアプリケーションプログラムからの前記複数の印刷ジョブの描画命令を受け付け、受け付けた前記複数の印刷ジョブの描画命令を印刷ページの配置を再レイアウト可能な複数の中間コードにそれぞれ変換して、前記複数の中間コードを中間コード記憶部に出力して記憶させ、
前記レイアウトマネージャーは、
前記ユーザーの指定する集約レイアウトを受け付け、前記中間コード記憶部に記憶された前記複数の中間コードを、受け付けた前記集約レイアウトでプレビュー表示し、
前記ユーザーから前記複数の印刷ジョブを前記集約レイアウトで印刷する指示を受け付けると、印刷指示として、ダミーの印刷ジョブを前記集約レイアウトで印刷する指示を前記プリンタードライバーに出力し、
前記プリンタードライバーの前記描画命令受付部が、前記レイアウトマネージャーから前記ダミーの印刷ジョブを前記集約レイアウトで印刷する指示を受け取ることをトリガーとして、
前記レイアウト決定部は、前記中間コード記憶部に記憶されている前記複数の印刷ジョブの前記複数の中間コードを取り出し、前記複数の中間コードで記録された前記複数の印刷ジョブの本体を前記ダミーの印刷ジョブに挿入することにより、前記複数の印刷ジョブの前記複数の中間コードを前記集約レイアウトで再レイアウトして前記中間コードを修正し、
前記ＰＤＬ生成部は、修正された前記中間コードをプリンタ記述言語に変換して出力する
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置を用いて印刷する情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、データを印刷する際に印刷用紙を節約するために、様々な工夫が行われてきた。
【０００３】
例えば、特許文献１において開示された技術では、画像形成装置が対応していない集約方法に対応させるために、ＰＣ（Personal Computer）側にインストールされるプリンタードライバーにおいて柔軟な集約方法を指定できるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１４０１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の方法でも、集約印刷を指示した場合に、どのように集約されるかをプレビューすることは出来なかった。
【０００６】
以上のような事情に鑑み、本発明の目的は、集約印刷を指示した場合に、プレビューすることが出来る情報処理装置および情報処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、ユーザーからの指示を受け付ける操作入力部と、前記ユーザーによる印刷ジョブを実行する指示に基づき、アプリケーションプログラムからの前記印刷ジョブの描画命令を受け付け、受け付けた前記印刷ジョブの描画命令を印刷ページの配置等を再レイアウト可能な中間コードに変換して出力する描画命令受付部と、出力された前記中間コードを記憶する中間コード記憶部と、前記ユーザーの指定するレイアウトを受け付け、前記中間コード記憶部に記憶された前記中間コードを受け付けたレイアウトでプレビュー表示するレイアウトマネージャーと、前記中間コード記憶部に記憶されている前記中間コードを取り出し、レイアウトマネージャーの指示に基づき再レイアウトして前記中間コードを修正するレイアウト決定部と、修正された前記中間コードをプリンタ記述言語に変換して出力するＰＤＬ生成部とを備え、前記レイアウト決定部は、前記ユーザーから前記レイアウトマネージャーを使う指示があるとき、前記中間コード記憶部から前記印刷ジョブの前記中間コードを取り出さず、前記レイアウトマネージャーから前記印刷ジョブを印刷する指示があるとき、前記中間コード記憶部から前記印刷ジョブの前記中間コードを取り出し、レイアウトマネージャーの指示に基づき前記印刷ジョブの前記中間コードを再レイアウトして前記中間コードを修正する。そのため、集約印刷を指示した場合に、プレビューすることが出来る。
【０００８】
上記目的を達成するため、本発明の一形態に係る情報処理プログラムは、操作入力部により受け付けられたユーザーによる印刷ジョブを実行する指示に基づき、アプリケーションプログラムからの前記印刷ジョブの描画命令を受け付け、受け付けた前記印刷ジョブの描画命令を印刷ページの配置等を再レイアウト可能な中間コードに変換して中間コード記憶部に出力して記憶させる描画命令受付部、前記ユーザーの指定するレイアウトを受け付け、前記中間コード記憶部に記憶された前記中間コードを受け付けたレイアウトでプレビュー表示するレイアウトマネージャー、前記中間コード記憶部に記憶されている前記中間コードを取り出し、レイアウトマネージャーの指示に基づきレイアウトして前記中間コードを修正するレイアウト決定部、および修正された前記中間コードをプリンタ記述言語に変換して出力するＰＤＬ生成部としてコンピューターを機能させる情報処理プログラムであって、前記レイアウト決定部は、前記ユーザーから前記レイアウトマネージャーを使う指示があるとき、前記中間コード記憶部から前記印刷ジョブの前記中間コードを取り出さず、前記レイアウトマネージャーから前記印刷ジョブを印刷する指示があるとき、前記中間コード記憶部から前記印刷ジョブの前記中間コードを取り出し、レイアウトマネージャーの指示に基づき前記印刷ジョブの前記中間コードを再レイアウトして前記中間コードを修正する情報処理プログラム。
【発明の効果】
【０００９】
以上のように、本発明によれば、集約印刷を指示した場合に、プレビューすることが出来る。
【図面の簡単な説明】
【００１０】
【図１】全部で２ページあるメール文書Ｄ１を印刷する印刷ジョブにおいて、２ｉｎ１印刷により集約された印刷文書ＤＰ１を画像形成装置２０により印刷する様子を示す図である。
【図２】それぞれ１ページの、２つのメール文書Ｄ２およびＤ３を印刷する場合、画像形成装置２０からは、印刷文書ＤＰ２および印刷文書ＤＰ３の２つが分かれて出力される様子を示す図である。
【図３】表計算ソフトウェアから印刷指示された文書Ｘ４と、ワードプロセッサーから印刷指示されたメール文書Ｄ５とを画像形成装置２０により印刷させる場合、別々の印刷文書ＤＰ５およびＸＰ４が出力される様子を示す図である。
【図４】ワードプロセッサーから印刷指示された、異なる印刷ジョブのメール文書Ｄ２およびＤ３を例えば２ｉｎ１印刷により、１つの印刷文書ＤＰ２３に集約印刷する様子を示す図である。
【図５】異なるアプリケーションプログラムから印刷指示された異なる印刷ジョブを、例えば２ｉｎ１印刷により、１つの印刷文書ＸＤＰ４５に集約印刷する様子を示す図である。
【図６】情報処理装置１０が一般的なコンピューターにより構成される場合の構成図である。
【図７】印刷出力の際の、従来の印刷データの流れを示す図である。
【図８】印刷出力の際の、本発明の印刷データの流れを示す図である。
【図９】アプリケーションプログラム１１ａからユーザーが印刷指示を出す際に、プリンタードライバー１１ｂにより、ユーザーに提示される印刷設定画面Ｐ１の例である。
【図１０】アプリケーションプログラム１１ａからの一連の描画命令は中間コードに変換された後、中間コード記憶部１７ａに記憶されて、この印刷ジョブの印刷処理は一旦完了する流れを示す図である。
【図１１】印刷設定画面Ｐ１において「文書を印刷しないで貯める」のチェックボックスＣＢをチェックしない状態を示す図である。
【図１２】アプリケーションプログラム１１ａからの一連の描画命令が中間コードに変換されて中間コード記憶部１７ａに記憶される処理に加えて、レイアウト決定部１１ｄが中間コード記憶部１７ａに記憶されている全ての印刷ジョブの中間コードに対して、レイアウト処理を行い、ＰＤＬ生成部１１ｅがレイアウト処理された中間コードをＰＤＬに変換する流れを示す図である。
【図１３】本発明における処理の流れをまとめて説明するためのフローチャートである。
【図１４】中間コードのフォーマットを示す図である。
【図１５】情報処理装置１０Ｂが一般的なコンピューターにより構成される場合の構成図である。
【図１６】印刷出力の際の、本発明の第２の実施形態での印刷データの流れを示す図である。
【図１７】印刷設定画面Ｐ１の例である。
【図１８】アプリケーションプログラム１１ａからの印刷ジョブの一連の描画命令は中間コードに変換された後、中間コード記憶部１７ａに記憶されて、この印刷ジョブの印刷処理は一旦完了する様子を示す図である。
【図１９】ユーザーが、レイアウトマネージャー１１ｆを起動し、集約印刷の指示を与える様子を示す図である。
【図２０】集約印刷の結果イメージがプレビュー表示される様子を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００１２】
＜第１の実施形態＞
最初に、第１の実施形態について説明する。
［概要］
最初に、概要について説明する。
【００１３】
従来、印刷用紙を節約するなどの目的で、複数ページを縮小して１ページにまとめる集約印刷が行われてきた。集約印刷のことをＮ−ＵＰとも呼ぶ。また、２ページ分を縮小して１ページに印刷することを２ｉｎ１印刷と呼ぶ。
【００１４】
図１は、全部で２ページあるメール文書Ｄ１を印刷する印刷ジョブにおいて、２ｉｎ１印刷により集約された印刷文書ＤＰ１を画像形成装置２０により印刷する様子を示す図である。
【００１５】
以上のように、これまでは、１つの印刷ジョブを印刷する際に、集約印刷を行うことは出来たが、２つ以上の印刷ジョブに対して集約印刷や両面印刷を行うことは出来なかった。
【００１６】
例えば、図２に示すように、それぞれ１ページの、２つのメール文書Ｄ２およびＤ３を印刷する場合、画像形成装置２０からは、印刷文書ＤＰ２および印刷文書ＤＰ３の２つが分かれて出力されていた。
【００１７】
もし、メール文書Ｄ２およびＤ３を２ｉｎ１印刷により印刷すると、１ページの半分が空白になった印刷文書が２つ出力されてしまっていた。
【００１８】
また、従来は、別のアプリケーションプログラムから指示された２つ以上の印刷ジョブに対して、集約印刷や両面印刷を行うことも出来なかった。
【００１９】
例えば、図３に示すように、表計算ソフトウェアから印刷指示された文書Ｘ４と、ワードプロセッサーから印刷指示されたメール文書Ｄ５とを画像形成装置２０により印刷させる場合、別々の印刷文書ＤＰ５およびＸＰ４が出力されてしまっていた。
【００２０】
しかし、本発明に係る情報処理装置上のプリンタードライバーを用いると、図４に示すように、ワードプロセッサーから印刷指示された、異なる印刷ジョブのメール文書Ｄ２およびＤ３を例えば２ｉｎ１印刷により、１つの印刷文書ＤＰ２３に集約印刷することが出来る。
【００２１】
また、本発明に係る情報処理装置上のプリンタードライバーを用いると、図５に示すように、異なるアプリケーションプログラム（例えば、表計算ソフトウェアとワードプロセッサーソフトウェア）から印刷指示された異なる印刷ジョブを、例えば２ｉｎ１印刷により、１つの印刷文書ＸＤＰ４５に集約印刷することが出来る。
【００２２】
以上、概要について説明した。
【００２３】
［構成］
次に、情報処理装置１０の構成について説明する。情報処理装置１０は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。情報処理装置１０が一般的なコンピューターにより構成される場合の構成図を図６に示す。
【００２４】
図６に示すように、情報処理装置１０は、ＣＰＵ１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、操作入力部１４、ネットワークインターフェイス部１５、表示部１６、および記憶部１７を有し、これら各ブロックがバス１８を介して接続されている。
【００２５】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを固定的に記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ（Operating System）、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００２６】
記憶部１７は、例えばＨＤＤ（Hard Disk Drive）や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データに加え、後述する中間コードが記憶される。なお、中間コードが記憶される領域を中間コード記憶部１７ａと呼ぶ。中間コード記憶部１７ａについては後述する。
【００２７】
ネットワークインターフェイス部１５は、外部と情報のやりとりを行う為のネットワークと結ばれている。
【００２８】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、操作入力部１４から与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する。
【００２９】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００３０】
表示部１６は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ、プラズマディスプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイ等である。表示部１６は、情報処理装置１０に内蔵されていてもよいし、外部接続されていてもよい。
【００３１】
なお、図６に示すように、ＣＰＵ１１は、アプリケーションプログラム１１ａおよびプリンタードライバー１１ｂを有している。アプリケーションプログラム１１ａおよびプリンタードライバー１１ｂは、ＲＯＭ１２などからＲＡＭ１３にロードされたプログラムがＣＰＵ１１により実行されることで実現される機能ブロックである。
【００３２】
アプリケーションプログラム１１ａは、プリンタードライバー１１ｂに対して印刷指示を出すソフトウェアであり、表計算ソフトウェアやワードプロセッサーソフトウェアなどが該当する。
【００３３】
プリンタードライバー１１ｂは、アプリケーションプログラム１１ａから受けた印刷指示に基づき、画像形成装置２０において実際に印刷するためのＰＤＬ（Page Description Language、プリンタ記述言語）により記述された印刷データを画像形成装置２０に出力する。
【００３４】
プリンタードライバー１１ｂは、描画命令受取部１１ｃ、レイアウト決定部１１ｄ、およびＰＤＬ生成部１１ｅを有している。描画命令受取部１１ｃ、レイアウト決定部１１ｄ、およびＰＤＬ生成部１１ｅについては後述する。
【００３５】
以上、情報処理装置１０の構成について説明した。
【００３６】
［従来の印刷データの流れ］
次に、印刷出力の際の、従来の印刷データの流れを説明する。ここで説明する印刷データの流れは、上述した、異なる印刷ジョブに対して集約印刷や両面印刷が出来ない処理の流れである。
【００３７】
図７は、印刷出力の際の、従来の印刷データの流れを示す図である。
【００３８】
アプリケーションプログラム１１ａが印刷指示（印刷ジョブ）として一連の描画命令をプリンタードライバー１１ｂに出すと、描画命令受取部１１ｃ'が一連の描画命令を受け取り、受け取った一連の描画命令を中間コード（後述）に変換する。
【００３９】
描画命令受取部１１ｃ'において中間コードに変換された印刷ジョブはレイアウト決定部１１ｄ'において集約印刷や両面印刷などのレイアウト処理が施され、ユーザーから指定されたレイアウトになるように中間コードが修正される。
【００４０】
レイアウト決定部１１ｄ'において修正された中間コードは、ＰＤＬ生成部１１ｅにおいてＰＤＬに変換され、画像形成装置２０に出力される。
【００４１】
以上のように、従来は、印刷ジョブの処理が一連の流れ作業により行われるため、例えば、１つの印刷ジョブのレイアウトがレイアウト決定部１１ｄ'において行われる際、別の印刷ジョブは既にレイアウトが決定されてＰＤＬ生成部１１ｅにおいてＰＤＬ化されているか、または、まだ描画命令受取部１１ｃ'において中間コードへの変換が行われていて、レイアウト決定部１１ｄ'が関与することは出来なかった。
【００４２】
以上、印刷出力の際の、従来の印刷データの流れを説明した。
【００４３】
［本発明の第１の実施形態での印刷データの流れ］
次に、印刷出力の際の、本発明の第１の実施形態での印刷データの流れを説明する。
【００４４】
図８は、印刷出力の際の、本発明の第１の実施形態での印刷データの流れを示す図である。
【００４５】
アプリケーションプログラム１１ａが印刷指示（印刷ジョブ）として一連の描画命令をプリンタードライバー１１ｂに出すと、描画命令受取部１１ｃが一連の描画命令を受け取り、受け取った一連の描画命令を中間コード（後述）に変換し、変換した中間コードを中間コード記憶部１７ａに記憶させる。
【００４６】
中間コード記憶部１７ａに、印刷ジョブの中間コードを貯める作業は、ユーザーから貯める処理の解除が指示された印刷ジョブが来るまで継続される。
【００４７】
印刷ジョブの中間コードを貯める指示が解除されると、レイアウト決定部１１ｄは、中間コード記憶部１７ａに貯められた印刷ジョブの中間コード全てを対象として、ユーザーから指示されたレイアウトになるように中間コードを修正する。
【００４８】
レイアウト決定部１１ｄにおいて修正された中間コードは、ＰＤＬ生成部１１ｅにおいてＰＤＬデータに変換され、画像形成装置２０に出力される。
【００４９】
以上のように、本発明では、複数の印刷ジョブに跨がってレイアウト処理を行うので、複数の印刷ジョブに対して集約印刷や両面印刷を行うことが出来る。
【００５０】
以上、印刷出力の際の、本発明の印刷データの流れを説明した。
【００５１】
［処理の具体例］
次に、本発明における処理の具体例を説明する。
【００５２】
まず、操作入力部１７等を介してユーザーがアプリケーションプログラム１１ａに印刷指示を出す。
【００５３】
次に、アプリケーションプログラム１１ａがプリンタードライバー１１ｂに印刷指示を出す際に、プリンタードライバー１１ｂは、図９に示す様な印刷設定画面Ｐ１をユーザーに提示する。
【００５４】
印刷設定画面Ｐ１で、ユーザーは、「文書を印刷しないで貯める」のチェックボックスＣＢをチェックする。チェックボックスＣＢにチェックを入れると、レイアウトを指示するためのプルダウンメニューＬＯはグレイアウトされ、ユーザーはレイアウト指示を行えない。
【００５５】
チェックボックスＣＢがチェックされた状態で印刷ジョブを実行する指示が行われると、図１０に示すように、アプリケーションプログラム１１ａからの印刷ジョブの一連の描画命令は中間コードに変換された後、中間コード記憶部１７ａに記憶されて、この印刷ジョブの印刷処理は一旦完了する。
【００５６】
次に、ユーザーが、上記の印刷ジョブとまとめて集約印刷や両面印刷を行いたい別の印刷ジョブを指示する際、ユーザーは、プリンタードライバー１１ｂにより提示される印刷設定画面Ｐ１において、図１１に示すように、「文書を印刷しないで貯める」のチェックボックスＣＢをチェックしない。
【００５７】
チェックボックスＣＢのチェックが外れている状態では、レイアウトを指示するためのプルダウンメニューのグレイアウトが解除され、ユーザーは「２ページ／枚」（２ｉｎ１印刷のこと）などのレイアウトを指示することが出来る。
【００５８】
チェックボックスＣＢのチェックを外して印刷ジョブを実行する指示が出されると、図１２に示すように、アプリケーションプログラム１１ａからの印刷ジョブの一連の描画命令が中間コードに変換されて中間コード記憶部１７ａに記憶される処理に加えて、レイアウト決定部１１ｄが中間コード記憶部１７ａに記憶されている全ての印刷ジョブの中間コードに対して、再レイアウト処理を行い、ＰＤＬ生成部１１ｅが再レイアウト処理された中間コードをＰＤＬに変換して出力する。
【００５９】
以上、本発明における処理の具体例を説明した。
【００６０】
［処理の流れ（まとめ）］
次に、本発明における処理の流れをまとめて説明する。図１３は、本発明における処理の流れをまとめて説明するためのフローチャートである。
【００６１】
まず、ユーザーがアプリケーションプログラム１１ａに対して印刷指示を出す（ステップＳ１）。印刷指示を出す際、ユーザーはプリンタードライバー１１ｂから提示される印刷設定画面において印刷ジョブを貯めるか否かを指示する。
【００６２】
次に、プリンタードライバー１１ｂの描画命令受付部１１ｃがアプリケーションプログラム１１ａから印刷指示に基づく一連の描画命令を受け付ける（ステップＳ２）。
【００６３】
次に、描画命令受付部１１ｃがアプリケーションプログラム１１ａから受け付けた一連の描画命令を中間コードに変換する（ステップＳ３）。
【００６４】
次に、描画命令受付部１１ｃは、変換した中間コードを中間コード記憶部１７ａに記憶させる（ステップＳ４）。
【００６５】
次に、レイアウト決定部１１ｄが、ユーザーから印刷ジョブ（中間コード）を貯める指示があったか否かを判断する（ステップＳ５）。
【００６６】
貯める指示があった場合（ステップＳ５のＹ）、レイアウト決定部１１ｄは、何もせず処理を終了する。
【００６７】
貯める指示が無かった場合（ステップＳ５のＮ）、レイアウト決定部１１ｄは、中間コード記憶部１７ａから貯められていた印刷ジョブの中間コードを全て取り出す（ステップＳ６）。
【００６８】
次に、レイアウト決定部１１ｄは、ユーザーからのレイアウト指示に基づき、取り出した中間コードを修正し、レイアウトし直す（ステップＳ７）。
【００６９】
次に、ＰＤＬ生成部１１ｅが、修正された中間コードに基づき、ＰＤＬデータを生成する（ステップＳ８）。
【００７０】
次に、ＰＤＬ生成部１１ｅが生成したＰＤＬデータを画像形成装置２０に対して出力する（ステップＳ９）。
【００７１】
以上、本発明における処理の流れをまとめて説明した。
【００７２】
［中間コード］
次に、中間コードについて説明する。中間コードが、関数呼び出しなどによる描画命令と異なる点は、一度保管しておいて、必要な時点で取り出してＰＤＬデータを生成できる点である。
【００７３】
中間コードは、集約印刷や両面印刷に加え、ブックレット印刷など、印刷するページの順序を入れ替えるなど印刷ページの配置等を再レイアウトするために用いられる技術である。
【００７４】
中間コードには、例えば、図１４に示すように、印刷に必要な字形データを伝送するためのDATA_SETUP_GLYPH構造体ＳＴＲ１や、どの文字をどの位置に描画するかを指定するためのDATA_TXTOUT構造体ＳＴＲ２などがある。
【００７５】
例えば、DATA_SETUP_GLYPH構造体ＳＴＲ１には、その中間コードの種類を示すシグネチャーＳＧ、文字コードＣＣ、その文字コードの字形データＧＬのフィールドが含まれている。
【００７６】
また、例えば、DATA_TXTOUT構造体ＳＴＲ２には、その中間コードの種類を示すシグネチャーＳＧ、印字する文字の文字数ＣＮ、印字する文字の文字コードＣＣ、および印字する位置ＰＰが文字数ＣＮ分だけ繰り返されるフィールドが含まれている。
【００７７】
以上、中間コードについて説明した。
【００７８】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。第２の実施形態が第１の実施形態と異なる点は、集約印刷がどのようなイメージで印刷されるかをプレビューで確認できるレイアウトマネージャーが追加されている点である。
【００７９】
［構成］
次に、第２の実施形態に係る情報処理装置１０Ｂの構成について説明する。情報処理装置１０Ｂは、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。情報処理装置１０Ｂが一般的なコンピューターにより構成される場合の構成図を図１５に示す。
【００８０】
図１５に示すように、情報処理装置１０Ｂは、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、操作入力部１４、ネットワークインターフェイス部１５、表示部１６、および記憶部１７を有し、これら各ブロックがバス１８を介して接続されている。
【００８１】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを固定的に記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００８２】
記憶部１７は、例えばＨＤＤや、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データに加え、後述する中間コードが記憶される。なお、中間コードが記憶される領域を中間コード記憶部１７ａと呼ぶ。
【００８３】
ネットワークインターフェイス部１５は、外部と情報のやりとりを行う為のネットワークと結ばれている。
【００８４】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、操作入力部１４から与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する。
【００８５】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００８６】
表示部１６は、例えば液晶ディスプレイ、ＥＬディスプレイ、プラズマディスプレイ、ＣＲＴディスプレイ等である。表示部１６は、情報処理装置１０Ｂに内蔵されていてもよいし、外部接続されていてもよい。
【００８７】
なお、図１５に示すように、ＣＰＵ１１は、アプリケーションプログラム１１ａ、プリンタードライバー１１ｂ、およびレイアウトマネージャー１１ｆを有している。アプリケーションプログラム１１ａ、プリンタードライバー１１ｂ、およびレイアウトマネージャー１１ｆは、ＲＯＭ１２などからＲＡＭ１３にロードされたプログラムがＣＰＵ１１により実行されることで実現される機能ブロックである。
【００８８】
アプリケーションプログラム１１ａは、プリンタードライバー１１ｂに対して印刷指示を出すソフトウェアであり、表計算ソフトウェアやワードプロセッサーソフトウェアなどが該当する。
【００８９】
プリンタードライバー１１ｂは、アプリケーションプログラム１１ａから受けた印刷指示に基づき、画像形成装置２０において実際に印刷するためのＰＤＬにより記述された印刷データを画像形成装置２０に出力する。
【００９０】
プリンタードライバー１１ｂは、描画命令受取部１１ｃ、レイアウト決定部１１ｄ、およびＰＤＬ生成部１１ｅを有している。
【００９１】
レイアウトマネージャー１１ｆを用いて、ユーザーは、中間コード記憶部１７ａにアクセスし、中間コード記憶部１７ａに蓄積された中間コード形式の印刷ジョブが、ユーザーからの指示によりどのような状態に集約されるかをプレビューすることが出来る。
【００９２】
レイアウトマネージャー１１ｆは、また、ユーザーからどのように集約印刷を行うかの指示を受け付け、その指示をプリンタードライバー１１ｂに受け渡す。
【００９３】
以上、情報処理装置１０Ｂの構成について説明した。
【００９４】
［本発明の第２の実施形態での印刷データの流れ］
次に、印刷出力の際の、本発明の第２の実施形態での印刷データの流れを説明する。
【００９５】
図１６は、印刷出力の際の、本発明の第２の実施形態での印刷データの流れを示す図である。なお、第１の実施形態と同じ流れについては説明を省略する。
【００９６】
レイアウトマネージャー１１ｆは、中間コード記憶部１７ａに蓄積された印刷ジョブの中間コードを取得し、ユーザーからの指示に基づいて、集約印刷された場合の結果イメージをプレビュー表示する。
また、レイアウトマネージャー１１ｆは、ユーザーにより、特定の集約方法での印刷が指示されると、プリンタードライバー１１ｂに描画命令を出し、中間コード記憶部１７ａに蓄積された印刷ジョブの印刷をさせる。
【００９７】
以上、印刷出力の際の、本発明の第２の実施形態の印刷データの流れを説明した。
【００９８】
［処理の具体例］
次に、本発明における処理の具体例を説明する。
【００９９】
まず、操作入力部１７等を介してユーザーがアプリケーションプログラム１１ａに印刷指示を出す。
【０１００】
次に、アプリケーションプログラム１１ａがプリンタードライバー１１ｂに印刷指示を出す際に、プリンタードライバー１１ｂは、図１７に示す様な印刷設定画面Ｐ１をユーザーに提示する。
【０１０１】
印刷設定画面Ｐ１で、ユーザーは、「レイアウトマネージャーを利用する」のチェックボックスＣＢをチェックする。チェックボックスＣＢにチェックを入れると、レイアウトを指示するためのプルダウンメニューＬＯはグレイアウトされ、ユーザーはレイアウト指示を行えない。
【０１０２】
チェックボックスＣＢがチェックされた状態で印刷ジョブを実行する指示が行われると、図１８に示すように、アプリケーションプログラム１１ａからの印刷ジョブの一連の描画命令は中間コードに変換された後、中間コード記憶部１７ａに記憶されて、この印刷ジョブの印刷処理は一旦完了する。
【０１０３】
次に、図１９に示すように、ユーザーが、レイアウトマネージャー１１ｆを起動し、集約印刷の指示を与えると、図２０に示すように、集約印刷の結果イメージがプレビュー表示される。
【０１０４】
ユーザーは、印刷設定ボタンＰＳを押して集約印刷の指示変更画面を呼び出して他の集約印刷を指示し、結果を確認することが出来る。
【０１０５】
満足できるプレビューが表示されたら、ユーザーは印刷実行ボタンＰＥを押すことにより、指定した集約方法での印刷を実行することが出来る。
【０１０６】
以上、本発明の第２の実施形態における処理の具体例を説明した。
【０１０７】
以上、第２の実施形態について説明した。
【０１０８】
［レイアウトマネージャーからの印刷指示に関する補足事項］
レイアウトマネージャー１１ｆからプリンタードライバー１１ｂに印刷指示を出す場合、プリンタードライバー１１ｂは、何のトリガーも無く印刷動作を開始することは出来ない。
【０１０９】
そのため、レイアウトマネージャー１１ｆは、ダミーの印刷ジョブを出力する。そのダミーの印刷ジョブを受け取ったプリンタードライバー１１ｂは、中間コード記憶部１７ａ内の中間コードで記録された印刷ジョブの本体をその中に挿入する。
【０１１０】
（例）
ダミーの印刷ジョブは以下のものである：
<文書開始><文書終了>
【０１１１】
印刷ジョブの本体が挿入された印刷ジョブは以下のようになる：
<文書開始><ページ開始><ページ内容1><ページ終了><ページ開始><ページ内容2><ページ終了><文書終了>
【０１１２】
［補足事項］
以上のように、本発明に係る情報処理装置１０Ｂは、ユーザーからの指示を受け付ける操作入力部１４と、前記ユーザーによる印刷ジョブを実行する指示に基づき、アプリケーションプログラム１１ａからの前記印刷ジョブの描画命令を受け付け、受け付けた前記印刷ジョブの描画命令を印刷ページの配置等を再レイアウト可能な中間コードに変換して出力する描画命令受付部１１ｃと、出力された前記中間コードを記憶する中間コード記憶部１７ａと、前記ユーザーの指定するレイアウトを受け付け、前記中間コード記憶部１７ａに記憶された前記中間コードを受け付けたレイアウトでプレビュー表示するレイアウトマネージャー１１ｆと、前記中間コード記憶部１７ａに記憶されている前記中間コードを取り出し、レイアウトマネージャー１１ｆの指示に基づき再レイアウトして前記中間コードを修正するレイアウト決定部１１ｄと、修正された前記中間コードをプリンタ記述言語に変換して出力するＰＤＬ生成部１１ｅとを備え、前記レイアウト決定部１１ｄは、前記ユーザーから前記レイアウトマネージャー１１ｆを使う指示があるとき、前記中間コード記憶部１７ａから前記印刷ジョブの前記中間コードを取り出さず、前記レイアウトマネージャー１１ｆから前記印刷ジョブを印刷する指示があるとき、前記中間コード記憶部１７ａから前記印刷ジョブの前記中間コードを取り出し、レイアウトマネージャー１１ｆの指示に基づき前記印刷ジョブの前記中間コードを再レイアウトして前記中間コードを修正する。
【０１１３】
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０１１４】
１０  …  情報処理装置
１０Ｂ…  情報処理装置
１１  …  ＣＰＵ
１１ａ…  アプリケーションプログラム
１１ｂ…  プリンタードライバー
１１ｃ…  描画命令受取部
１１ｄ…  レイアウト決定部
１１ｅ…  ＰＤＬ生成部
１１ｆ…  レイアウトマネージャー
１２  …  ＲＯＭ
１３  …  ＲＡＭ
１４  …  操作入力部
１５  …  ネットワークインターフェイス部
１６  …  表示部
１７  …  記憶部
１７ａ…  中間コード記憶部
１８  …  バス
２０  …  画像形成装置
【図１】
0006468226.tif 000002
【図２】
0006468226.tif 000003
【図３】
0006468226.tif 000004
【図４】
0006468226.tif 000005
【図５】
0006468226.tif 000006
【図６】
0006468226.tif 000007
【図７】
0006468226.tif 000008
【図８】
0006468226.tif 000009
【図９】
0006468226.tif 000010
【図１０】
0006468226.tif 000011
【図１１】
0006468226.tif 000012
【図１２】
0006468226.tif 000013
【図１３】
0006468226.tif 000014
【図１４】
0006468226.tif 000015
【図１５】
0006468226.tif 000016
【図１６】
0006468226.tif 000017
【図１７】
0006468226.tif 000018
【図１８】
0006468226.tif 000019
【図１９】
0006468226.tif 000020
【図２０】
0006468226.tif 000021