IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

特開2023-157230プリンタドライバ、情報処理システム及び制御方法
<>
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図1
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図2
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図3
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図4
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図5
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図6
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図7
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図8
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図9
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図10
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図11
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図12
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図13
  • 特開-プリンタドライバ、情報処理システム及び制御方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023157230
(43)【公開日】2023-10-26
(54)【発明の名称】プリンタドライバ、情報処理システム及び制御方法
(51)【国際特許分類】
   G06F 3/12 20060101AFI20231019BHJP
   B41J 5/30 20060101ALN20231019BHJP
【FI】
G06F3/12 348
G06F3/12 303
G06F3/12 353
B41J5/30 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022067003
(22)【出願日】2022-04-14
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100174104
【弁理士】
【氏名又は名称】奥田 康一
(72)【発明者】
【氏名】浦野(宮川) 朋子
【テーマコード(参考)】
2C187
【Fターム(参考)】
2C187BG03
2C187BH10
2C187CD13
2C187CD16
2C187FC02
(57)【要約】      (修正有)
【課題】プリントプロセッサがページ毎の印刷部数指定を受け付けない場合であってもページ毎の印刷部数指定をする。
【解決手段】印刷システムにおいて、PC端末は、複数のページを含む印刷ドキュメントに基づいて描画コマンドCMdを含むPDLファイル34を生成し、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報を記憶し、ページ毎部数情報を記憶部から取得し、プリンタで印刷を実行させるために、ページ毎部数情報に基づき、PDLファイル34における複数部印刷されるページの描画コマンドCMdに対し、該ページを複数部印刷する部数指定コマンドCMnを付加し、部数指定コマンドCMnが付加された描画コマンドCMdを含むPDLファイル36をプリンタへ送信する。
【選択図】図9
【特許請求の範囲】
【請求項1】
情報処理装置に、
複数のページを含む印刷データに基づいて描画コマンドを生成する生成手段と、
複数部印刷される前記ページ毎の印刷部数を示すページ毎部数情報を取得する取得手段と、
前記ページ毎部数情報に基づき、複数部印刷される前記ページの前記描画コマンドに対し、該ページを複数部印刷する複数部印刷コマンドを付加する加工手段と、
画像形成装置で印刷を実行させるために、前記複数部印刷コマンドが付加された前記描画コマンドを前記画像形成装置へ送信する印刷指示手段と
を実行させるためのプリンタドライバ。
【請求項2】
情報処理装置に、
前記ページ毎の印刷部数を設定させる設定画面を表示させ、設定された前記ページ毎の印刷部数を示す前記ページ毎部数情報を記憶する印刷設定手段
をさらに実行させるための請求項1に記載のプリンタドライバ。
【請求項3】
前記印刷データは、PostScript形式で記述されている
ことを特徴とする請求項1又は請求項2に記載のプリンタドライバ。
【請求項4】
前記複数のページは、少なくとも1ページ目及び2ページ目を含み、
前記加工手段は、
前記1ページ目の前記描画コマンドに対し、前記複数部印刷コマンドとして、1ページ目部数情報で示される印刷部数分の前記1ページ目の前記描画コマンドを複製するコマンドを付加し、
前記2ページ目の前記描画コマンドに対し、前記複数部印刷コマンドとして、2ページ目部数情報で示される印刷部数分の前記2ページ目の前記描画コマンドを複製するコマンドを付加する
請求項1に記載のプリンタドライバ。
【請求項5】
前記加工手段は、
複数部印刷される前記ページの前記描画コマンドに対し、前記複数部印刷コマンドとして、前記ページ毎部数情報で示される印刷部数分印刷されるように前記描画コマンドを複製するコマンドを付加する
請求項1に記載のプリンタドライバ。
【請求項6】
前記複数のページは、少なくとも1ページ目及び2ページ目を含み、
前記加工手段は、
前記1ページ目の前記描画コマンドに対し、前記複数部印刷コマンドとして、1ページ目部数情報で示される印刷枚数分の前記1ページ目の前記描画コマンドを複製して付加し、
前記2ページ目の前記描画コマンドに対し、前記複数部印刷コマンドとして、2ページ目部数情報で示される印刷枚数分の前記2ページ目の前記描画コマンドを複製して付加する
請求項1に記載のプリンタドライバ。
【請求項7】
前記加工手段は、
複数部印刷される前記ページの前記描画コマンドに対し、前記複数部印刷コマンドとして、前記ページ毎部数情報で示される印刷部数分印刷されるように前記描画コマンドを複製して付加する
請求項1に記載のプリンタドライバ。
【請求項8】
前記加工手段は、
複数部印刷される前記ページの前記描画コマンドに対し、前記複数部印刷コマンドとして、前記ページ毎部数情報で示される印刷部数分印刷されるように前記描画コマンドを実行させるコマンドを付加する
請求項1に記載のプリンタドライバ。
【請求項9】
前記生成手段は、
前記ページ毎部数情報で示される前記ページ毎の印刷部数を示すコメント情報を前記描画コマンドに付加し、
前記加工手段は、
前記コメント情報に基づき、複数部印刷される前記ページの前記描画コマンドに対し、該ページを複数部印刷する前記複数部印刷コマンドを付加し、前記コメント情報を削除する
請求項1に記載のプリンタドライバ。
【請求項10】
請求項1に記載のプリンタドライバを含み、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報を記憶する記憶部を有する情報処理装置と、
前記プリンタドライバからの指示に基づき印刷を実行する画像形成装置と
を備え、
前記情報処理装置の前記プリンタドライバは、
複数のページを含む印刷データに基づいて描画コマンドを生成する生成部と、
前記ページ毎部数情報を前記記憶部から取得する取得部と、
前記ページ毎部数情報に基づき、複数部印刷される前記ページの前記描画コマンドに対し、該ページを複数部印刷する複数部印刷コマンドを付加する加工部と、
前記複数部印刷コマンドが付加された前記描画コマンドを前記画像形成装置へ送信し印刷を実行させる印刷指示部と
を有する情報処理システム。
【請求項11】
プリンタドライバを含み該プリンタドライバからの指示に基づき画像形成装置において印刷を実行させる情報処理装置を制御する制御方法であって、
前記情報処理装置は、
複数のページを含む印刷データに基づいて描画コマンドを生成する生成ステップと、
複数部印刷される前記ページ毎の印刷部数を示すページ毎部数情報を取得する取得ステップと、
前記ページ毎部数情報に基づき、複数部印刷される前記ページの前記描画コマンドに対し、該ページを複数部印刷する複数部印刷コマンドを付加する加工ステップと、
前記画像形成装置で印刷を実行させるために、前記複数部印刷コマンドが付加された前記描画コマンドを前記画像形成装置へ送信し印刷を実行させる印刷指示ステップと
を有する制御方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はプリンタドライバ、情報処理システム及び制御方法に関し、例えばページ単位の印刷部数指定を行う印刷システムに適用して好適なものである。
【背景技術】
【0002】
従来、情報処理装置においては、印刷データを画像形成装置へ送信して用紙に印刷させるものが広く普及している。そのような情報処理装置は、プリントプロセッサにおいて、印刷データにおけるページ毎の印刷部数を変更する加工を行うことにより、印刷データにおける全ページを同一の部数ずつ印刷するのではなく、ページ毎の印刷部数を変更するものがあった(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003-58334号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、プリントプロセッサの種類によっては、ページ毎に印刷部数を変更することを受け付けない仕様のものがある。このようなプリントプロセッサを用いる場合、情報処理装置は、ページ毎の印刷部数を変更することが困難であった。
【0005】
本発明は以上の点を考慮してなされたもので、プリントプロセッサがページ毎の印刷部数指定を受け付けない場合であってもページ毎の印刷部数指定をし得るプリンタドライバ、情報処理システム及び制御方法を提案しようとするものである。
【課題を解決するための手段】
【0006】
かかる課題を解決するため本発明のプリンタドライバにおいては、情報処理装置に、複数のページを含む印刷データに基づいて描画コマンドを生成する生成手段と、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報を取得する取得手段と、ページ毎部数情報に基づき、複数部印刷されるページの描画コマンドに対し、該ページを複数部印刷する複数部印刷コマンドを付加する加工手段と、画像形成装置で印刷を実行させるために、複数部印刷コマンドが付加された描画コマンドを画像形成装置へ送信する印刷指示手段とを実行させるようにした。
【0007】
また本発明の情報処理システムにおいては、上述したプリンタドライバを含み、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報を記憶する記憶部を有する情報処理装置と、プリンタドライバからの指示に基づき印刷を実行する画像形成装置とを設け、情報処理装置は、複数のページを含む印刷データに基づいて描画コマンドを生成する生成部と、ページ毎部数情報を記憶部から取得する取得部と、ページ毎部数情報に基づき、複数部印刷されるページの描画コマンドに対し、該ページを複数部印刷する複数部印刷コマンドを付加する加工部と、複数部印刷コマンドが付加された描画コマンドを画像形成装置へ送信し印刷を実行させる印刷指示部とを有するようにした。
【0008】
さらに本発明の制御方法においては、プリンタドライバを含み該プリンタドライバからの指示に基づき画像形成装置において印刷を実行させる情報処理装置を制御する制御方法であって、情報処理装置は、複数のページを含む印刷データに基づいて描画コマンドを生成する生成ステップと、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報を取得する取得ステップと、ページ毎部数情報に基づき、複数部印刷されるページの描画コマンドに対し、該ページを複数部印刷する複数部印刷コマンドを付加する加工ステップと、画像形成装置で印刷を実行させるために、複数部印刷コマンドが付加された描画コマンドを画像形成装置へ送信し印刷を実行させる印刷指示ステップとを有するようにした。
【0009】
本発明は、描画コマンドに対し、プリントプロセッサに関与されないように複数部印刷コマンドを付加できる。
【発明の効果】
【0010】
本発明によれば、プリントプロセッサがページ毎の印刷部数指定を受け付けない場合であってもページ毎の印刷部数指定をし得るプリンタドライバ、情報処理システム及び制御方法を実現できる。
【図面の簡単な説明】
【0011】
図1】印刷システムの構成を示すブロック図である。
図2】標準DEVMODE構造体の構成を示すブロック図である。
図3】DEVMODE構造体の構成を示すブロック図である。
図4】印刷設定UIの構成を示す図である。
図5】ページ毎部数指定処理手順を示すフローチャートである。
図6】アプリケーションとプリンタドライバとで印刷設定情報を伝達する際における印刷システムの構成を示すブロック図である。
図7】ページ毎部数指定印刷実行処理手順を示すフローチャートである。
図8】印刷実行時における印刷システムの構成を示すブロック図である。
図9】PDLファイルの複製加工処理を示す図である。
図10】PDLファイルの複製加工処理におけるPSコマンドを示す図である。
図11】PC端末の機能構成を示すブロック図である。
図12】他の実施の形態によるPDLファイルの複製加工処理(1)を示す図である。
図13】他の実施の形態によるPDLファイルの複製加工処理(1)におけるPSコマンドを示す図である。
図14】他の実施の形態によるPDLファイルの複製加工処理(2)を示す図である。
【発明を実施するための形態】
【0012】
以下、発明を実施するための形態(以下実施の形態とする)について、図面を用いて説明する。
【0013】
[1.印刷システムの構成]
図1に示すように、印刷システム1は、PC端末2、操作部4、表示部6及びプリンタ8により構成されている。操作部4は、例えばキーボード及びマウスにより構成されており、PC端末2に接続され、ユーザからの入力を受け付ける。表示部6は、例えば液晶ディスプレイにより構成されており、PC端末2に接続され、プリンタドライバ16が生成するダイアログ等の各種情報をPC端末2のユーザへ表示して出力する。プリンタ8は、所定の間隔で複数のラベルが貼り付けられたロール状の記録媒体を搬送しながら該ラベルに印刷を行い印刷後の記録媒体を切断するラベルプリンタであり、PC端末2に接続され、PC端末2から受信した印刷データに基づき、トナー等の現像剤を用いてラベルに画像を形成することにより印刷を行う。
【0014】
[2.PC端末の構成]
情報処理装置としてのPC端末2は、いわゆるパーソナルコンピュータであり、制御部9により全体を統括制御する。この制御部9は、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)等を有しており、所定のプログラムを読み出して実行することにより、様々な処理を実行する。またPC端末2は、プリンタ8へ印刷ジョブを送信することにより、該プリンタ8において印刷を実行させる。このPC端末2は、オペレーティングシステム10とアプリケーション12とがインストールされていると共に、オペレーティングシステム10上で各種印刷設定を行うことができるように構成されている。
【0015】
アプリケーション12は、文書ファイルや図形ファイル等の閲覧、編集及び印刷をユーザが行うためのソフトウェアであり、対象の印刷ドキュメント14の種類毎に適切なアプリケーションが選択され使用される。アプリケーション12の種類として、例えば、ラベル作成アプリケーション、ワードプロセッサや表計算ソフトウェア等が挙げられる。
【0016】
オペレーティングシステム10は、PC端末2の制御を行うためのソフトウェアであり、本実施の形態においてはWindows(登録商標)である。このオペレーティングシステム10は、PC端末2の動作状況をアプリケーション12やプリンタドライバ16に通知する機能や、スプールファイル18を生成する機能を提供する。
【0017】
GDI(Graphic Device Interface)20は、描画エンジンであり、オペレーティングシステム10上において、アプリケーション12からの印刷の描画呼び出しを処理する。このGDI20は、印刷スプーラ22における標準DEVMODE構造体37(図2)を操作する。
【0018】
印刷スプーラ22は、オペレーティングシステム10上において、アプリケーション12からの印刷命令を、印刷データがスプールされた中間ファイルであるスプールファイル18として保持し、印刷データとして処理する。この印刷スプーラ22は、印刷設定情報を保持する記憶領域として標準DEVMODE構造体37(図2)を有している。図2に示すように、標準DEVMODE構造体37は、アプリケーション12がプリンタドライバ16を介して印刷設定を読み込む際の初期情報であり、パブリック領域38及びプライベート領域39を有している。パブリック領域38は、印刷やUI(User Interface)の表示等の目的で使用される情報を格納している領域であり、部数指定情報46を保持する。部数指定情報46は、印刷ドキュメント14(図1)に対して全てのページを何部ずつ印刷するかを指定する情報である。プライベート領域39は、プリンタドライバ16が独自に拡張したプロパティ情報を格納している領域である。アプリケーション12は、アプリケーション12内で印刷設定が行われる際に、プリンタドライバ16を介して標準DEVMODE構造体37を取得し、アプリケーション12内にDEVMODE構造体40として格納する。
【0019】
ここで、オペレーティングシステム10がWindowsである場合、スプールファイル18には、EMF(Enhanced Meta File)形式とRAW形式との2通りが存在する。
【0020】
EMF形式は、WindowsのGDI描画コマンドを使って書かれた中間データ形式である。このためEMF形式は、プリンタ8の機種に依存しない。また、EMF形式の場合、RAW形式と比較して、アプリケーション12が印刷処理から開放されるまでの時間が短くなる。すなわち、EMF形式の場合、プリンタドライバ16がバックグラウンドでEMFデータを解釈し、最終的にプリンタ8固有の印刷データを生成して送信する。このようなEMF形式の場合、プリンタドライバ16は、スプールファイル18を読み込んで1ページ毎に処理が可能であり、ページ構成を操作可能である。
【0021】
RAW形式は、プリンタ8に処理を依存する形式である。RAW形式の場合、プリンタ8に最適なデータに変換されてスプールされるため、EMF形式と比較して、アプリケーション12が印刷処理から開放されるまでの時間が長くなることがある。このようなRAW形式の場合、プリンタドライバ16は、スプールファイル18を読み込んで直ちにプリンタ8へ送信するPDLファイルに変更するため、ページ構成を操作不能である。
【0022】
プリンタドライバ16は、オペレーティングシステム10上において、アプリケーション12からの描画呼び出しに対して、PC端末2に接続されているプリンタ8にプリンタコマンドを送信するための処理を行う。このプリンタドライバ16は、UI制御部24、プリントプロセッサ26、描画制御部28、ランゲージモニタ30及びポートモニタ32を有している。またこのプリンタドライバ16は、PS(PostScript)ドライバである。PSドライバとは、Adobe(登録商標)等のグラフィックやDTP(DeskTop Publishing)等で使用されるページ記述言語であるPostScriptに準拠したアプリケーションからの印刷に適したプリンタドライバである。
【0023】
印刷設定手段としてのUI制御部24は、アプリケーション12から印刷設定の変更のために呼び出され、用紙サイズや印刷部数の設定を操作部4を介して受け付ける。プリントプロセッサ26は、印刷スプーラ22から呼び出され、スプールファイル18に含まれる描画命令に応じてプリンタドライバ16が備える描画機能を呼び出す。
【0024】
描画制御部28は、プリントプロセッサ26からの描画命令に応じて呼び出され、印刷文書を構成するページデータをプリンタ8が解釈可能なプリンタコマンドに変換しPDL(Page Description Language)ファイル34を生成する。
【0025】
ランゲージモニタ30は、PDLファイル34を解析及び加工すると共にプリンタ8との通信によりコマンド制御を行う。このランゲージモニタ30は、プリンタ8へ印刷データを送信した後も印刷データを保持する、プリンタ8との双方向通信を行いジャム等の印刷の失敗を検知する、ジャムを検知したら再度印刷データを最初から送信する、等の機能を有している。それに加えて、本実施の形態においてランゲージモニタ30は、PDLファイル34を解析し、ページ毎部数指定印刷が実行されるよう該PDLファイル34を加工してPDLファイル36を生成する。
【0026】
ポートモニタ32は、TCP/IP、USB(Universal Serial Bus)やWSD(Web Services on Devices)等の様々な種類のポートを印刷ポートとして用いたプリンタ8との通信状態を管理する。
【0027】
[3.DEVMODE構造体の構成]
図3に示すように、DEVMODE構造体40は、パブリック領域42及びプライベート領域44を有している。このDEVMODE構造体40は、印刷設定が変更される際に、アプリケーション12内又はプリンタドライバ16内において変更され、印刷実行時にスプールファイル18に格納される。
【0028】
パブリック領域42は、印刷やUIの表示等の目的で使用される情報を格納している領域であり、部数指定情報46を保持する。部数指定情報46は、印刷ドキュメント14(図1)に対して全てのページを何部ずつ印刷するかを指定する情報である。
【0029】
プライベート領域44は、プリンタドライバ16が独自に拡張したプロパティ情報を格納している領域であり、印刷ドキュメント14(図1)に対してページ単位で印刷部数を指定するページ毎部数指定情報48を保持している。ページ毎部数指定情報48は、ページ毎部数印刷設定50及びページ毎部数情報52を有している。ページ毎部数印刷設定50は、ページ毎部数指定印刷を実行するか否かを表しており、ページ毎部数指定印刷を実行する場合、値として1を格納する。ページ毎部数指定印刷とは、例えば、印刷ドキュメント14における1ページ目を2部(2枚)印刷し、2ページ目を3部(3枚)印刷する等、ページ毎に印刷部数を指定して印刷を行う印刷方法である。ページ毎部数情報52は、ページ毎に何部印刷するかを指定する情報である。
【0030】
[4.ページ毎部数指定処理]
次に、PC端末2によるページ毎部数指定処理手順RT1について、図5に示すフローチャートと図6とを用いて説明する。まず、ユーザは、アプリケーション12における印刷設定画面により、全ページ共通の部数指定と、ページ毎部数指定とを行う。アプリケーション12において全ページ共通の部数指定とページ毎部数指定とが行われると、アプリケーション12が保持するDEVMODE構造体40の内容が、それに合わせて更新される。
【0031】
アプリケーション12において全ページ共通の部数指定とページ毎部数指定とがユーザにより行われ、アプリケーション12からプリンタドライバ16のUI制御部24が起動されると、プリンタドライバ16は、ページ毎部数指定処理プログラムを読み出して実行することにより図5に示すページ毎部数指定処理手順RT1を開始し、ステップSP1へ移る。
【0032】
ステップSP1においてプリンタドライバ16は、アプリケーション12からDEVMODE構造体40をUI制御部24により受け取り、ステップSP2へ移る。具体的に、アプリケーション12からUI制御部24における印刷設定が行われる際には、図6に示すように、オペレーティングシステム10に含まれるDocumentProperties関数がアプリケーション12において実行されると、プリンタドライバ16のUI制御部24が呼び出され、アプリケーション12が保持するDEVMODE構造体40は、UI制御部24に渡される。これにより、UI制御部24が保持するDEVMODE構造体40は更新される。
【0033】
ステップSP2においてプリンタドライバ16は、図4(A)に示す印刷設定プロパティである印刷設定UI54を、UI制御部24により表示部6に表示させ、ステップSP3へ移る。
【0034】
印刷設定UI54は、ページ毎部数指定印刷実行選択部56及び部数印刷ページ設定ボタン58を有している。ページ毎部数指定印刷実行選択部56は、ページ毎部数指定印刷を実行するか否かをユーザに選択させるチェックボックスである。
【0035】
部数印刷ページ設定ボタン58がクリックされると、図4(B)に示す、ページ毎部数指定印刷の詳細設定をユーザに行わせるページ毎部数指定画面60が表示される。ページ毎部数指定画面60は、ページ設定編集部64、ボタン群66及び表示部62を有している。ページ設定編集部64は、ページ毎に何部印刷するかをページ毎にユーザに設定編集させる。ボタン群66は、ページ毎に何部印刷するかについての追加、上書き及び削除をユーザに実施させる。表示部62は、ページ設定編集部64及びボタン群66を操作したユーザにより設定された、ページ毎に何部印刷するかの設定値をページ毎に表示する。
【0036】
ステップSP3においてプリンタドライバ16は、DEVMODE構造体40(図3)における部数指定情報46の値が1であるか否かをUI制御部24により判定する。ここで否定結果が得られると、このことは、アプリケーション12において設定された部数指定情報46の値が2以上、すなわち、印刷ドキュメント14の全てのページを2部ずつ以上印刷するように設定されているため、本実施の形態においてはページ毎部数指定印刷の機能と背反することとし、このときプリンタドライバ16は、ステップSP4へ移る。ステップSP4においてプリンタドライバ16は、UI制御部24により、ページ毎部数指定印刷設定無効状態とし、印刷設定UI54(図4(A))の部数印刷ページ設定ボタン58をグレーアウトさせることにより、ユーザに対し部数印刷ページ設定ボタン58を選択不能な状態とし、ステップSP9へ移りページ毎部数指定処理手順RT1を終了する。
【0037】
一方、ステップSP3において肯定結果が得られると、このことは、アプリケーション12において設定された部数指定情報46の値が1に設定されていることを表し、このときプリンタドライバ16は、ステップSP5へ移る。ステップSP5においてプリンタドライバ16は、UI制御部24により、ページ毎部数指定印刷設定有効状態とし、印刷設定UI54(図4(A))の部数印刷ページ設定ボタン58をグレーアウトさせずクリック可能にすることにより、ユーザに対し部数印刷ページ設定ボタン58を選択可能な状態とし、ステップSP6へ移る。
【0038】
ステップSP6においてプリンタドライバ16は、印刷設定UI54(図4(A))のページ毎部数指定印刷実行選択部56がユーザによりチェックされているか否かをUI制御部24により判定する。ここで否定結果が得られると、このことは、印刷設定UI54ではなくアプリケーション12において設定したページ毎部数指定の通りにページ毎部数指定印刷を行うことをユーザが希望していることを表し、このときプリンタドライバ16は、ステップSP9へ移り、ページ毎部数指定処理手順RT1を終了する。この場合、UI制御部24が保持するDEVMODE構造体40は、印刷設定UI54の設定に応じては更新されず、アプリケーション12から受け取った状態のまま(すなわち標準DEVMODE構造体37と同じ内容)となる。
【0039】
一方、ステップSP6において肯定結果が得られると、このことは、印刷設定UI54において設定したページ毎部数指定の通りにページ毎部数指定印刷を行うことをユーザが希望していることを表し、このときプリンタドライバ16は、ステップSP7へ移る。ステップSP7においてプリンタドライバ16は、UI制御部24により、印刷設定UI54(図4(A))の部数印刷ページ設定ボタン58がユーザによりクリックされるまで待ち受け、部数印刷ページ設定ボタン58がクリックされると、ページ毎部数指定画面60(図4(B))を表示させることにより、ページ毎の印刷部数をユーザに設定させる。続いてプリンタドライバ16は、UI制御部24により、ページ毎部数指定画面60(図4(B))のOKボタンがユーザによりクリックされ、さらに印刷設定UI54(図4(A))のOKボタンがユーザによりクリックされるまで待ち受け、OKボタンがクリックされると、ステップSP8へ移る。
【0040】
ステップSP8においてプリンタドライバ16は、UI制御部24により、ページ毎部数指定画面60の表示部62に表示された設定情報であるページ毎部数指定をUI制御部24が保持するDEVMODE構造体40(図3)に適用することにより、DEVMODE構造体40を更新し、ステップSP9へ移りページ毎部数指定処理手順RT1を終了する。具体的にUI制御部24は、DEVMODE構造体40(図3)のプライベート領域44におけるページ毎部数印刷設定50に、ページ毎部数指定印刷を実行することを表す値である1を格納する。またUI制御部24は、DEVMODE構造体40のプライベート領域44におけるページ毎部数情報52に、ページ毎部数指定印刷の情報として、ページの数値と部数の数値とを対応付けて格納する。
【0041】
また、図6に示すように、DocumentProperties関数に対応したプリンタドライバ16側の関数の名称であるDrvDocumentPropertySheets関数がUI制御部24で実行され、印刷設定が変更及び保存されると、UI制御部24が保持するDEVMODE構造体40は、アプリケーション12に引き継がれる。このようにしてPC端末2は、アプリケーション12とプリンタドライバ16とでDEVMODE構造体40をやり取りすることで、アプリケーション12とプリンタドライバ16とで印刷設定を同期できる。
【0042】
[5.ページ毎部数指定印刷実行処理]
次に、PC端末2によるページ毎部数指定印刷実行処理手順RT2について、図7に示すフローチャートと、図8とを用いて説明する。アプリケーション12において印刷が実行されると、GDI20を介し印刷スプーラ22にスプールファイル18が生成される。このスプールファイル18は、DEVMODE構造体40を保持している。プリンタドライバ16は、ページ毎部数指定印刷実行処理プログラムを読み出して実行することにより図7に示すページ毎部数指定印刷実行処理手順RT2を開始し、ステップSP11へ移る。
【0043】
ステップSP11においてプリンタドライバ16は、アプリケーション12からGDI20と印刷スプーラ22とを介してスプールファイル18を受信し、ステップSP12へ移る。ステップSP12においてプリンタドライバ16は、描画制御部28により、スプールファイル18が保持するDEVMODE構造体40(図3)におけるパブリック領域42の部数指定情報46を参照し、印刷ドキュメント14の全体のページに反映する部数指定の通りに描画を実行し、ステップSP13へ移る。このときプリンタドライバ16は、描画制御部28により、プリンタ8で解釈可能なPDLファイル34を生成する。
【0044】
ステップSP13においてプリンタドライバ16は、GDI20(オペレーティングシステム10)に含まれるGetJob関数をランゲージモニタ30により実行し、図8に示すように、スプールファイル18が保持するDEVMODE構造体40(図3)のプライベート領域44のページ毎部数指定情報48におけるページ毎部数印刷設定50を参照し、ページ毎部数指定印刷を行うか否かを判定する。ここで否定結果が得られると、このことは、ページ毎部数指定印刷を行わないことを表し、このときプリンタドライバ16は、ランゲージモニタ30により特別な処理は行わず、ステップSP14はスキップしてステップSP15へ移る。
【0045】
ステップSP15においてプリンタドライバ16は、ランゲージモニタ30からポートモニタ32にPDLファイル34を加工せずにそのまま渡すことにより、ポートモニタ32が管理する通信経路でプリンタ8へPDLファイル34を送信し、プリンタ8において印刷実行させ、ステップSP16へ移り、ページ毎部数指定印刷実行処理手順RT2を終了する。
【0046】
一方、ステップSP13において肯定結果が得られると、このことは、ページ毎部数指定印刷を行うことを表し、このときプリンタドライバ16は、ステップSP14へ移る。ステップSP14においてプリンタドライバ16は、ランゲージモニタ30により、スプールファイル18が保持するDEVMODE構造体40(図3)のプライベート領域44のページ毎部数指定情報48におけるページ毎部数情報52を参照し、複製加工処理前のPDLファイル34のページ毎に部数印刷分の複製加工処理(詳細は後述する)を行って複製加工処理後のPDLファイル36を生成し、ステップSP15へ移る。
【0047】
ステップSP15においてプリンタドライバ16は、ランゲージモニタ30からポートモニタ32に加工後のPDLファイル36を渡すことにより、ポートモニタ32が管理する通信経路でプリンタ8へPDLファイル36を送信し、プリンタ8において印刷実行させ、ステップSP16へ移り、ページ毎部数指定印刷実行処理手順RT2を終了する。
【0048】
[6.PDLファイルの複製加工処理について]
図9(A)に示すように、PDLファイル34は、PJLコマンド70とPSコマンド72とを有している。図9(A)においては、印刷ドキュメント14が1ページ目と2ページ目とにより構成されている例を示している。PJLコマンド70は、例えば、印刷ドキュメント14に対して全てのページを何部ずつ印刷するかを指定する情報等が記載される。
【0049】
PSコマンド72は、1ページ目の場合、描画コマンドCMd1と印刷開始コマンドCMp1とが、描画コマンドCMd1、印刷開始コマンドCMp1の順で記載されている。またPSコマンド72は、2ページ目の場合、描画コマンドCMd2と印刷開始コマンドCMp2とが、描画コマンドCMd2、印刷開始コマンドCMp2の順で記載されている。以下では、描画コマンドCMd1及びCMd2をまとめて描画コマンドCMdとも呼び、印刷開始コマンドCMp1及びCMp2をまとめて印刷開始コマンドCMpとも呼ぶ。このようにPSコマンド72は、描画コマンドCMdと印刷開始コマンドCMpとが、描画コマンドCMd、印刷開始コマンドCMpの順で1ページ毎に記載されている。描画コマンドCMdは、1ページ分のデータを1部描画することを指示するコマンドである。印刷開始コマンドCMpは、1ページ分のデータの印刷を開始することを指示するコマンドである。このようなPDLファイル34の実際のPSコマンド72を、図10(A)に示す。プリンタ8がこのようなPDLファイル34の印刷を実行した場合、図9(A)に示すように、1ページ目P1を1部、2ページ目P2を1部、印刷する。
【0050】
このようなPDLファイル34がランゲージモニタ30により複製加工処理されることにより生成されたPDLファイル36を図9(B)に示す。図9(B)においては、例えば、1ページ目を2部、2ページ目を3部、印刷するように加工され生成されたPDLファイル36を示している。ランゲージモニタ30は、1ページ目の描画コマンドCMd1と印刷開始コマンドCMp1との間に、部数指定コマンドCMn1を挿入するように追加する。部数指定コマンドCMn1は、描画コマンドCMd1を1部分から2部分へ複製するよう指示する追加コマンドである。またランゲージモニタ30は、2ページ目の描画コマンドCMd2と印刷開始コマンドCMp2との間に、部数指定コマンドCMn2を挿入するように追加する。部数指定コマンドCMn2は、描画コマンドCMd2を1部分から3部分へ複製するよう指示する追加コマンドである。以下では、部数指定コマンドCMn1及びCMn2をまとめて部数指定コマンドCMnとも呼ぶ。このようにランゲージモニタ30は、複数部印刷されるページにおける描画コマンドCMdと印刷開始コマンドCMpとの間に、該描画コマンドCMdを複製するよう指示する部数指定コマンドCMnを挿入するように追加する。換言すればランゲージモニタ30は、プリンタドライバ16がPSドライバである場合、印刷開始コマンドCMpをページ毎の区切りとして、該印刷開始コマンドCMpの前に部数指定コマンドCMnを挿入する。このようなPDLファイル36の実際のPSコマンド72を、図10(B)に示す。追加された部数指定コマンドCMn1は、実際には「/#copies 2 def」というコマンドであり、追加された部数指定コマンドCMn2は、実際には「/#copies 3 def」というコマンドである。プリンタ8がこのようなPDLファイル36の印刷を実行した場合、図9(B)に示すように、1ページ目P1を2部、2ページ目P2を3部、印刷する。
【0051】
[7.PC端末の機能構成]
ここで、PC端末2におけるページ毎部数指定印刷実行処理に関係する基本的な機能を機能ブロック図により表すと、図11のようになる。
【0052】
記憶部80は、DEVMODE構造体40(図3)と対応しており、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報52を記憶する。生成部82は、描画制御部28(図1)と対応しており、複数のページを含む印刷データとしての印刷ドキュメント14に基づいて描画コマンドCMdを生成する。取得部84は、ランゲージモニタ30(図1)と対応しており、ページ毎部数情報52をDEVMODE構造体40から取得する。加工部86は、ランゲージモニタ30(図1)と対応しており、プリンタ8で印刷を実行させるために、ページ毎部数情報52に基づき、複数部印刷されるページの描画コマンドCMdに対し、該ページを複数部印刷する複数部印刷コマンドとしての部数指定コマンドCMnを付加する。複数部印刷コマンドとしての部数指定コマンドCMnは、例えば、1ページ目部数情報としての部数指定コマンドCMn1と、2ページ目部数情報としての部数指定コマンドCMn1とにより構成されている。印刷指示部88は、ランゲージモニタ30(図1)と対応しており、部数指定コマンドCMnが付加された描画コマンドCMdを画像形成装置としてのプリンタ8へ送信する。
【0053】
[8.効果等]
以上の構成においてPC端末2は、ページ毎部数指定情報48をDEVMODE構造体40(図3)のプライベート領域44で保持し、印刷時に、プリンタドライバ16の後工程であるランゲージモニタ30でページ毎部数指定情報48を参照するようにした。またPC端末2は、ページ毎部数情報52に基づき、PDLファイル34における複数部印刷されるページの描画コマンドCMdに対し、該ページを複数部印刷する部数指定コマンドCMnを付加することにより、PDLファイル34を、印刷データをページ毎に指定された部数分だけ印刷されるよう加工してPDLファイル36を生成するようにした。
【0054】
このようにPC端末2は、プリンタドライバ16における、PDLファイル34が生成されるよりも前の段階におけるプリントプロセッサ26ではなく、PDLファイル34が生成された後の段階におけるランゲージモニタ30において、ページ毎部数指定印刷を実現するためにPDLファイル34を加工するようにした。このためPC端末2は、プリントプロセッサ26が、ページ毎の印刷部数指定を受け付けない場合であっても、ページ毎部数指定印刷を実現できる。これは、PCL XLドライバから印刷データを印刷する場合はページ毎に部数を指定可能である一方、PSドライバから印刷データを印刷する場合は特定のオペレーションシステムの制限によりプリントプロセッサ26においてページ毎の印刷部数指定を受け付けない場合において、特に有用である。
【0055】
また、特開2003-58334号公報に記載の印刷システムは、EMFという中間データであるスプールファイルを加工しているのに対し、PC端末2は、プリンタ8に送るファイルであるPDLファイル34を加工しているため、加工する対象のデータが異なっている。
【0056】
さらに、特開2003-58334号公報の印刷システムは、プリントプロセッサにおいてページ毎の印刷部数を設定しているため、スプールファイル18がEMF形式であるEMFモードでの印刷のみが有効であり、スプールファイル18がRAW形式であるRAWモードでの印刷は有効ではない。これは上述したように、RAWモードの場合、プリンタドライバは、スプールファイルを読み込んで直ちにプリンタへ送信するPDLファイルに変更するため、ページ構成を操作不能だからである。
【0057】
これに対しPC端末2は、PDLファイル34が生成された後の工程において、プリンタ8へ送信する直前の段階で、既に生成されたPDLファイル34に対し、ランゲージモニタ30により複製加工処理を行いPDLファイル36を生成するようにした。このためPC端末2は、EMFモードとRAWモードとの何れであってもページ毎部数指定印刷を実行可能である。
【0058】
以上の構成によれば印刷システム1は、プリンタドライバ16を含み、複数部印刷されるページ毎の印刷部数を示すページ毎部数情報52を記憶する記憶部80を有するPC端末2と、プリンタドライバ16からの指示に基づき印刷を実行するプリンタ8とを設け、PC端末2は、複数のページを含む印刷ドキュメント14に基づいて描画コマンドCMdを含むPDLファイル34を生成する生成部82と、ページ毎部数情報52を記憶部80から取得する取得部84と、プリンタ8で印刷を実行させるために、ページ毎部数情報52に基づき、PDLファイル34における複数部印刷されるページの描画コマンドCMdに対し、該ページを複数部印刷する部数指定コマンドCMnを付加する加工部86と、部数指定コマンドCMnが付加された描画コマンドCMdを含むPDLファイル36をプリンタ8へ送信する印刷指示部88とを有するようにした。
【0059】
これにより印刷システム1は、PDLファイル34に対し、プリントプロセッサ26に関与されないランゲージモニタ30において部数指定コマンドCMnを付加してPDLファイル36を生成できる。
【0060】
[9.他の実施の形態]
なお上述した実施の形態においてPC端末2は、図9に示したように、PDLファイル34のPSコマンド72において複数部印刷されるページにおける描画コマンドCMdと印刷開始コマンドCMpとの間に、該描画コマンドCMdを複製するよう指示する部数指定コマンドCMnを挿入するように追加することによりPDLファイル36を生成する場合について述べた。本発明はこれに限らず、PC端末2は、図9と対応する箇所に同一符号を付した図12に示すように、複数部印刷されるページにおける描画コマンドCMd1及び印刷開始コマンドCMp1自体と、描画コマンドCMd2及び印刷開始コマンドCMp2自体とを、印刷される部数分だけ複製して複数部印刷コマンドとして追加することにより、PDLファイル136を生成しても良い。この場合、複数部印刷コマンドは、例えば、1ページ目部数情報としての描画コマンドCMd1及び印刷開始コマンドCMp1と、2ページ目部数情報としての描画コマンドCMd2及び印刷開始コマンドCMp2とにより構成されている。このようなPDLファイル136の実際のPSコマンド72を、図10と対応する箇所に同一符号を付した図13における図13(B)に示す。但し、データサイズの大きい画像データを複製するため、描画コマンドCMdを複製するよう指示する部数指定コマンドCMnを挿入する方が、描画コマンドCMd自体を複製するよりも、ランゲージモニタ30及びプリンタ8における処理を早く完了させることができると考えられる。
【0061】
またPC端末2は、PDLファイル34のPSコマンド72において複数部印刷されるページにおける描画コマンドCMdと印刷開始コマンドCMpとの間に、印刷枚数分だけ該描画コマンドCMdを繰り返し実行するよう指示する部数指定コマンドCMnを挿入しても良い。
【0062】
さらにPC端末2は、図9と対応する箇所に同一符号を付した図14に示すように、描画制御部28により生成されるPDLファイル234におけるPJLコマンド70とPSコマンド72との間に、例えば、1ページ目P1を2部、2ページ目P2を3部、印刷するといった内容の、ページ毎の印刷部数を示すページ単位部数コメント74を追加し、ランゲージモニタ30により、ページ単位部数コメント74を参照して複数部印刷されるページにおける描画コマンドCMdと印刷開始コマンドCMpとの間に、該描画コマンドCMdを複製するよう指示する部数指定コマンドCMnを挿入するように追加すると共に、ページ単位部数コメント74を削除することにより、PDLファイル36を生成しても良い。しかしながら、パススルー印刷を行う場合、描画制御部28においてページ単位部数コメント74を追加できないため、パススルー印刷を行う場合は、描画コマンドCMdを複製するよう指示する部数指定コマンドCMnを挿入する方が好ましい。またこの場合においても、部数指定コマンドCMnに代えて、描画コマンドCMd自体を印刷される部数分だけ複製しても良い。
【0063】
さらに上述した実施の形態においてPC端末2は、ページ毎部数指定処理手順RT1(図5)におけるステップSP3及びSP4において、DEVMODE構造体40(図3)における部数指定情報46の値が1でない場合、ページ毎部数指定印刷設定無効状態とし、ページ毎部数指定印刷を実行しないようにする場合について述べた。本発明はこれに限らず、PC端末2は、ページ毎部数指定処理手順RT1(図5)におけるステップSP3において、DEVMODE構造体40(図3)における部数指定情報46の値が2以上である場合であっても、ページ毎部数指定印刷設定有効状態とし、ページ毎の印刷部数に合わせて部数指定コマンドCMnを適宜調整することにより、ページ毎部数指定印刷を実行しても良い。
【0064】
さらに上述した実施の形態においてPC端末2は、ページ毎部数指定画面60(図4(B))において、ページ毎に何部印刷するかをページ毎にユーザに設定編集させる場合について述べた。本発明はこれに限らず、PC端末2は、ページ毎部数指定画面60(図4(B))において、ページ毎に元の部数の指定を何倍した部数だけ印刷するかを示す、部数の倍数をページ毎にユーザに設定編集させても良い。
【0065】
さらに上述した実施の形態においてPC端末2は、プリンタドライバ16としてPSドライバを用いる場合について述べた。本発明はこれに限らず、PC端末2は、例えばXPSドライバ等、他の種々のプリンタドライバを用いても良い。
【0066】
さらに上述した実施の形態においては、プリンタ8をラベルプリンタにより構成する場合について述べた。本発明はこれに限らず、例えば複写機やファクシミリ装置の機能を有するMFP(Multi Function Peripheral)等、他の種々の機能を有する画像形成装置をプリンタ8としても良い。
【0067】
さらに本発明は、上述した各実施の形態及び他の実施の形態に限定されるものではない。すなわち本発明は、上述した各実施の形態と上述した他の実施の形態の一部又は全部を任意に組み合わせた実施の形態にも本発明の適用範囲が及ぶものである。また本発明は、上述した各実施の形態及び他の実施の形態のうち任意の実施の形態に記載された構成の一部を抽出し、上述した各実施の形態及び他の実施の形態のうちの任意の実施の形態の構成の一部と置換・転用した実施の形態や、抽出された構成の一部を任意の実施の形態に追加した実施の形態にも本発明の適用範囲が及ぶものである。
【0068】
さらに上述した実施の形態においては、情報処理装置としてのPC端末2と、画像形成装置としてのプリンタ8とによって、情報処理システムとしての印刷システム1を構成し、情報処理装置は、記憶部としての記憶部80と、生成部としての生成部82と、取得部としての取得部84と、加工部としての加工部86と、印刷指示部としての印刷指示部88とを有する場合について述べた。本発明はこれに限らず、その他種々の構成でなる情報処理装置と、画像形成装置とによって、情報処理システムを構成し、その他種々の構成でなる記憶部と、生成部と、取得部と、加工部と、印刷指示部とによって、情報処理装置を構成しても良い。
【産業上の利用可能性】
【0069】
本発明は、ページ毎に印刷部数を指定して印刷を行う場合に利用できる。
【符号の説明】
【0070】
1……印刷システム、2……PC端末、4……操作部、6……表示部、8……プリンタ、9……制御部、10……オペレーティングシステム、12……アプリケーション、14……印刷ドキュメント、16……プリンタドライバ、18……スプールファイル、20……GDI、22……印刷スプーラ、24……UI制御部、26……プリントプロセッサ、28……描画制御部、30……ランゲージモニタ、32……ポートモニタ、34、234、36、136……PDLファイル、37……標準DEVMODE構造体、38……パブリック領域、39……プライベート領域、40……DEVMODE構造体、42……パブリック領域、44……プライベート領域、46……部数指定情報、48……ページ毎部数指定情報、50……ページ毎部数印刷設定、52……ページ毎部数情報、54……印刷設定UI、56……ページ毎部数指定印刷実行選択部、58……部数印刷ページ設定ボタン、60……ページ毎部数指定画面、62……表示部、64……ページ設定編集部、66……ボタン群、70……PJLコマンド、72……PSコマンド、CMd……描画コマンド、CMp……印刷開始コマンド、CMn……部数指定コマンド、P1……1ページ目、P2……2ページ目、74……ページ単位部数コメント、80……記憶部、82……生成部、84……取得部、86……加工部、88……印刷指示部。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14