(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】画像処理装置及びプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20241001BHJP
B41J 29/42 20060101ALI20241001BHJP
H04N 1/00 20060101ALI20241001BHJP
G06F 3/12 20060101ALI20241001BHJP
【FI】
B41J29/38 201
B41J29/42 F
H04N1/00 912
H04N1/00 127B
G06F3/12 303
G06F3/12 344
G06F3/12 359
G06F3/12 362
(21)【出願番号】P 2020145805
(22)【出願日】2020-08-31
【審査請求日】2023-08-18
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】糸川 喜裕
【審査官】佐藤 孝幸
(56)【参考文献】
【文献】特開2018-118457(JP,A)
【文献】特開2011-059994(JP,A)
【文献】特開2002-259088(JP,A)
【文献】特開2006-260473(JP,A)
【文献】特開2011-059995(JP,A)
【文献】特開2012-252510(JP,A)
【文献】特開2010-218144(JP,A)
【文献】特開2006-224524(JP,A)
【文献】特開2016-025450(JP,A)
【文献】特開2013-001059(JP,A)
【文献】特開2005-341343(JP,A)
【文献】特開2008-269261(JP,A)
【文献】米国特許出願公開第2013/0077112(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38
B41J 29/42
H04N 1/00
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
通信インタフェースと、
ディスプレイと、
コントローラと、
を備え、
前記コントローラは、
前記ディスプレイに待機画面が表示されているときに、前記通信インタフェースを介して、データの受信を開始したことに応じて、前記データを受信していることを示す受信中画像を、前記受信しているデータが、印刷データを含む印刷ジョブであるか否かを判別する前から、前記ディスプレイに表示させ、
前記受信しているデータが、印刷データを含む印刷ジョブである場合に、前記受信中画像を前記ディスプレイに表示した後に、前記受信している印刷ジョブに含まれる印刷データから生成したラスタライズデータを印刷キューに登録したことに応じて、前記ラスタライズデータに基づく印刷がされた1枚目のシートが排紙される前であり、かつ、前記印刷データの解析が完了する前であれば、前記ディスプレイに表示する画像を、前記受信中画像から、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含まない画像に切り替えさせ、
前記ディスプレイに表示する画像を印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含まない前記画像に切り替えた後に、前記受信している印刷ジョブに含まれる印刷データから生成したラスタライズデータに基づく印刷がされた1枚目のシートが排紙されたことに応じて、かつ、前記印刷データの解析が完了する前であれば、前記ディスプレイに表示する画像を、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含まない前記画像から、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない画像に切り替えさせ、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像に含まれる前記印刷ページ数は、前記受信している印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づき、かつ、印刷されたシートが排紙されたページの数であり、
前記ディスプレイに表示する画像を印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像に切り替えた後に、前記解析が完了した印刷ジョブに継続する印刷ジョブを受信したときに
、その印刷ジョブに含まれる印刷データを解析し、
その解析に応じて、継続して受信した前記印刷ジョブを、その前に受信した前記印刷ジョブと同じ1つの印刷ジョブと
することが可能でなければ、前記ディスプレイに表示する画像を、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像から、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む画像に切り替えさせ、
その解析に応じて、継続して受信した前記印刷ジョブを、その前に受信した前記印刷ジョブと同じ1つの印刷ジョブと
することが可能であり、かつ、前記継続して受信した印刷ジョブに継続する印刷ジョブを受信していないのであれば、前記ディスプレイに表示する画像を、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像から、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む画像に切り替えさせ、
印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む前記画像に含まれる前記全ページ数は、前記受信している印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づくページの全数を示し、
前記印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づいた印刷がされたシートが全数排紙されるまで、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む前記画像を前記ディスプレイに表示させ、
前記印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づいた印刷がされたシートが全数排紙されたことに応じて、前記ディスプレイに前記待機画面を再度表示させる、
画像処理装置。
【請求項2】
前記コントローラは、
前記印刷ジョブとその印刷ジョブに継続する印刷ジョブを含む複数の印刷ジョブをそれぞれ生成したユーザ名を解析し、前記複数の印刷ジョブが同じユーザ名の印刷ジョブである場合、前記複数の印刷ジョブを前記
同じ1つの印刷ジョブと
する、
請求項1に記載の画像処理装置。
【請求項3】
前記コントローラは、
前記印刷ジョブとその印刷ジョブに継続する印刷ジョブを含む複数の印刷ジョブのそれぞれのジョブ名を解析し、前記複数の印刷ジョブが同じジョブ名を含む印刷ジョブである場合、前記複数の印刷ジョブを前記
同じ1つの印刷ジョブと
する、
請求項1に記載の画像処理装置。
【請求項4】
前記コントローラは、
前記印刷ジョブとその印刷ジョブに継続する印刷ジョブを含む複数の印刷ジョブのそれぞれの生成時間を解析し、前記複数の印刷ジョブが同じ生成時間の印刷ジョブである場合、前記複数の印刷ジョブを前記
同じ1つの印刷ジョブと
する、
請求項1に記載の画像処理装置。
【請求項5】
前記コントローラは、
前記印刷ジョブとその印刷ジョブに継続する印刷ジョブを含む複数の印刷ジョブをそれぞれ生成したユーザ名、前記複数の印刷ジョブのそれぞれのジョブ名及び前記複数の印刷ジョブのそれぞれの生成時間のうち、2種類以上の情報を解析し、解析した前記2種類以上の情報の組み合わせに基づいて前記複数の印刷ジョブを
前記同じ1つの印刷ジョブと
する、
請求項1に記載の画像処理装置。
【請求項6】
前記コントローラは、
前記複数の印刷ジョブを、アプリケーションソフトウェア及びプリンタドライバがインストールされている情報処理装置から前記通信インタフェースを介して受信し、前記複数の印刷ジョブはそれぞれ、前記情報処理装置が前記アプリケーションソフトウェアを実行することにより作成したコンテンツデータを印刷するために、前記プリンタドライバを用いた印刷手順で生成された印刷ジョブであって、前記複数の印刷ジョブのそれぞれの生成時に、前記情報処理装置にログインしているユーザを示す前記ユーザ名と、前記アプリケーションソフトウェアにより作成された前記コンテンツデータのデータ名を含む前記ジョブ名と、印刷ジョブの前記生成時間と、を含むことが可能な印刷ジョブであり、
前記2種類以上の情報として、前記ユーザ名、前記ジョブ名及び前記生成時間のうちの2種類以上の情報を解析する、
請求項5に記載の画像処理装置。
【請求項7】
前記コントローラは、
前記印刷ジョブとその印刷ジョブに継続する印刷ジョブを含む複数の印刷ジョブを前記
同じ1つの印刷ジョブと
するときには、前記
印刷ページ
数として、第1ページから、前記複数の印刷ジョブのそれぞれに含まれる印刷データによりそれぞれ印刷される各ページ数をすべて加算した全ページ数を表示する、
請求項1~6のいずれか1項に記載の画像処理装置。
【請求項8】
前記画像処理装置はさらに、
メモリ
を備え、
前記コントローラは、
受信した印刷ジョブを前記メモリに蓄積し、読み出して印刷する蓄積印刷モードが選択されたときに、前記蓄積印刷モードを選択したユーザ名の印刷ジョブが複数、前記メモリに蓄積されている場合には、前記複数の印刷ジョブを前記
同じ1つの印刷ジョブと
し、
前記
同じ1つの印刷ジョブと
する前記複数の印刷ジョブのそれぞれに含まれる前記印刷データに基づいた印刷を行うときには、前記
印刷ページ
数として、第1ページから、前記複数の印刷ジョブのそれぞれに含まれる印刷データによりそれぞれ印刷される各ページ数をすべて加算した全ページ数を表示する、
請求項7に記載の画像処理装置。
【請求項9】
通信インタフェース
と、ディスプレイと、を備えた画像処理装置のコンピュータが実行可能なプログラムであって、
前記コンピュータに、
前記ディスプレイに待機画面が表示されているときに、前記通信インタフェースを介して、データの受信を開始したことに応じて、前記データを受信していることを示す受信中画像を、前記受信しているデータが、印刷データを含む印刷ジョブであるか否かを判別する前から、前記ディスプレイに表示させる処理と、
前記受信しているデータが、印刷データを含む印刷ジョブである場合に、前記受信中画像を前記ディスプレイに表示した後に、前記受信している印刷ジョブに含まれる印刷データから生成したラスタライズデータを印刷キューに登録したことに応じて、前記ラスタライズデータに基づく印刷がされた1枚目のシートが排紙される前であり、かつ、前記印刷データの解析が完了する前であれば、前記ディスプレイに表示する画像を、前記受信中画像から、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含まない画像に切り替えさせる処理と、
前記ディスプレイに表示する画像を印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含まない前記画像に切り替えた後に、前記受信している印刷ジョブに含まれる印刷データから生成したラスタライズデータに基づく印刷がされた1枚目のシートが排紙されたことに応じて、かつ、前記印刷データの解析が完了する前であれば、前記ディスプレイに表示する画像を、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含まない前記画像から、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない画像に切り替えさせる処理と、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像に含まれる前記印刷ページ数は、前記受信している印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づき、かつ、印刷されたシートが排紙されたページの数であり、
前記ディスプレイに表示する画像を印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像に切り替えた後に、前記解析が完了した印刷ジョブに継続する印刷ジョブを受信したときに
、その印刷ジョブに含まれる印刷データを解析し、
その解析に応じて、継続して受信した前記印刷ジョブを、その前に受信した前記印刷ジョブと同じ1つの印刷ジョブと
することが可能でなければ、前記ディスプレイに表示する画像を、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像から、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む画像に切り替えさせ、
その解析に応じて、継続して受信した前記印刷ジョブを、その前に受信した前記印刷ジョブと同じ1つの印刷ジョブと
することが可能であり、かつ、前記継続して受信した印刷ジョブに継続する印刷ジョブを受信していないのであれば、前記ディスプレイに表示する画像を、印刷中であることを示し、かつ、印刷ページ数を含むが全ページ数を含まない前記画像から、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む画像に切り替えさせ、
印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む前記画像に含まれる前記全ページ数は、前記受信している印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づくページの全数を示し、
前記印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づいた印刷がされたシートが全数排紙されるまで、印刷中であることを示し、かつ、印刷ページ数及び全ページ数を含む前記画像を前記ディスプレイに表示させる処理と、
前記印刷ジョブに含まれる前記印刷データから生成したラスタライズデータに基づいた印刷がされたシートが全数排紙されたことに応じて、前記ディスプレイに前記待機画面を再度表示させる処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、印刷ジョブを受信し、受信した印刷ジョブに基づいて印刷を行う技術に関するものである。
【背景技術】
【0002】
特許文献1には、複数部数印刷を行う場合に、第1部目の印刷処理に要した時間を計測し、この計測時間に基づいて第2部目以降の残り部数/残りページ数/残り処理時間を表示するようにした画像処理装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の画像処理装置では、複数の印刷ジョブを受信したときに、その複数の印刷ジョブが1つの印刷ジョブとして取り扱えるようなジョブであったとしても、1つの印刷ジョブとして取り扱うことはできなかった。
【0005】
本願は、受信した複数の印刷ジョブが1つの印刷ジョブとして取り扱えるようなジョブであった場合には、1つの印刷ジョブとして取り扱うことが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本願の画像処理装置は、通信インタフェースと、コントローラと、を備え、コントローラは、通信インタフェースを介して複数の印刷ジョブを受信したときに、複数の印刷ジョブのそれぞれに含まれる情報を解析し、解析した情報に応じて複数の印刷ジョブを1つの印刷ジョブとして取り扱う。
【発明の効果】
【0007】
本願によれば、受信した複数の印刷ジョブが1つの印刷ジョブとして取り扱えるようなジョブであった場合には、1つの印刷ジョブとして取り扱うことが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本願の一実施形態に係る画像処理システムのブロック図である。
【
図2】
図1のMFPのパネル表示の画面遷移の一例を示す図である。
【
図3】セキュアプリント印刷に係るパネル表示の画面遷移の一例を示す図である。
【
図4】印刷ジョブを構成するデータの一例を示す図である。
【
図6】複数の印刷ジョブを1つの印刷ジョブとして取り扱う様子を示す図である。
【
図7】メイン処理の手順を示すフローチャートである。
【
図8】セキュアプリント保存処理の詳細な手順を示すフローチャートである。
【
図9】ジョブ情報解析処理の詳細な手順を示すフローチャートである。
【
図10】セキュアプリント印刷処理の詳細な手順を示すフローチャートである。
【
図11】印刷済みページ数情報構築処理の詳細な手順を示すフローチャートである。
【
図12】ページ数表示処理の詳細な手順を示すフローチャートである。
【
図13】全ページ数情報構築処理の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本願の実施の形態を図面に基づいて詳細に説明する。
【0010】
図1は、本願の一実施形態に係るMFP100(「画像処理装置」の一例)を含む画像処理システム1の制御構成を示している。画像処理システム1は、PC10及びMFP100を備えている。なお、MFPは、multifunction peripheral の略語である。
【0011】
MFP100は、FAX機能、スキャン機能及び印刷機能を備えた複合機である。MFP100は、CPU101、ROM102、RAM103及びNVM104を備えている。なお、NVMは、non-volatile memory の略語である。
【0012】
CPU101は、MFP100全体の制御を司るものであり、エンジンIF110を介して印刷エンジン111及び読取エンジン112をそれぞれ制御する。
【0013】
ROM102は、CPU101が実行する制御プログラム(
図7に基づいて後述するメイン処理のプログラムを含む)を記憶するメモリである。CPU101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。RAM103は、画像データなどを一時的に記憶するメモリである。また、RAM103は、CPU101が制御プログラムを実行する際に用いるデータや信号等を一時的に記憶する記憶領域、あるいはデータ処理の作業領域としても使用される。NVM104は、設定情報等を記憶する不揮発性メモリである。
【0014】
また、MFP100は、パネル105及びキー106を備えている。パネル105は、本実施形態ではタッチパネルであり、パネル105には、MFP100の状態に応じて、様々な画面が表示される。MFP100のユーザは、画面上に表示された入力ボタンをタッチすることで、入力操作をすることができる。なお、本明細書において、「画面上に表示された入力ボタンをタッチする」を「画面上に表示された入力ボタンを押下する」とも言うことがある。キー106は、ハードキー、つまり、ハードウェアにより形成されるキーである。キー106に属するものとしては、電源スイッチやリセットスイッチ、テンキーなどを挙げることができる。
【0015】
さらに、MFP100は、ネットワークIF108を備えている。ネットワークIF108は、MFP100を通信ネットワーク40に接続するものである。通信ネットワーク40には、本実施形態では、PC10が接続されているので、MFP100は、PC10と各種データの送受信を行うことが可能である。
【0016】
また、MFP100は、エンジンIF110を備えている。エンジンIF110には、印刷エンジン111及び読取エンジン112が接続されている。印刷エンジン111は、シートに画像を印刷するための装置であり、電子写真方式、インクジェット方式、サーマル方式等の印刷装置を有する。読取エンジン112は、原稿から画像を読み取るための装置であり、CCD又はCIS等の読取装置を有する。エンジンIF110は、印刷エンジン111と、読取エンジン112とを制御するIFである。エンジンIF110は、印刷エンジン111用のIFと、読取エンジン112用のIFと、から構成されていてもよい。
【0017】
さらに、MFP100は、画像処理回路120を備えている。画像処理回路120は、印刷ジョブに係る画像データをラスタライズ処理し、印刷エンジン111へ出力する。画像処理回路120はまた、読取エンジン112が原稿から読み取った画像データをデジタルデータへ加工する。デジタルデータへ加工された画像データは、ネットワークIF108を介して外部へ送信されたり、印刷エンジン111へ供給されシートへ出力されたりする。
【0018】
CPU101、ROM102、RAM103、NVM104、パネル105、キー106、USBIF107、ネットワークIF108、エンジンIF110及び画像処理回路120は、バス130により相互に接続されている。なお、CPU101が画像処理プログラムを実行することで、画像処理回路120を兼ねていてもよい。
【0019】
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU101の処理を示す。すなわち、以下の説明における「判断」「抽出」「選択」「算出」「決定」「特定」「取得」「受付」「制御」「設定」等の処理は、CPU101の処理を表している。CPU101による処理は、OSを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU101が要求することなくデータを受信するという処理も、「CPU101がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【0020】
図7は、MFP100、特にCPU101が実行するメイン処理の手順を示している。このメイン処理は、例えば、キー106に含まれる上記電源スイッチが押下されたことに応じて開始される。以降、各処理の手順の説明において、ステップを「S」と表記する。
【0021】
図7において、まずCPU101は、パネル105上に待機画面を表示する(S1)。
図2(a)は、パネル105上に表示された待機画面105aの一例を示している。待機画面105aには、Faxアイコン、Copyアイコン、Scanアイコン及びSecurePrintアイコン105a1等が表示されている。なお、Basic1、Basic2、Custom1、Custom2の各ボタンが押下されたときに、待機画面105aとは異なる構成の待機画面がパネル105上に表示されてもよい。
【0022】
図7に戻り、次にCPU101は、ユーザがセキュアプリント印刷指示を行ったか否かを判断する(S2)。セキュアプリント印刷指示は、例えば、セキュアプリントモードが選択されたときに、パネル105上に表示されるセキュアプリント画面から行う。そして、セキュアプリントモードの選択は、具体的には、待機画面105a内に表示されているSecurePrintアイコン105a1を押下することに応じて表示されるログイン画面にログイン情報を入力することにより行う。ログインが成功すると、セキュアプリントモードが選択され、セキュアプリント画面がパネル105上に表示される。なお、セキュアプリントモードは、「蓄積印刷モード」の一例である。
【0023】
S2の判断において、ユーザがセキュアプリント印刷指示を行ったと判断された場合、(S2:YES)、CPU101は、セキュアプリント印刷処理を実行した(S3)後、処理を上記S1に戻す。なお、セキュアプリント印刷処理の詳細は、
図10に基づいて後述する。
【0024】
一方、S2の判断において、ユーザがセキュアプリント印刷指示を行わなかったと判断された場合(S2:NO)、CPU101は、データを受信したか否かを判断する(S4)。ここで、データとは、印刷ジョブを構成するデータである。
図4は、印刷ジョブを構成するデータの一例を示している。そして、
図4(a)は、印刷ジョブの範囲が明確であるデータ200の一例を示し、
図4(b)は、印刷ジョブの範囲が不明であるデータ300の一例を示している。
【0025】
データ200は、
図4(a)に示すように、PDLをPJLで囲んだ構成となっている。なお、PDLは、page description language の略語であり、PJLは、printer job language の略語である。データ200における印刷ジョブの範囲は、「@PJL JOB NAME = "XXX"」の記述行210から「<ESC>%-12345X@PJL EOJ NAME = "XXX"」の記述行220までである。つまり、記述行210及び220は、印刷ジョブの区切りを示している。また、データ200の先端は「<ESC>%-12345X@PJL」により示され、データ200の終端は「<ESC>%-12345X」により示される。したがって、S4における受信対象のデータがデータ200である場合、CPU101は、データを受信したか否かを、「<ESC>%-12345X@PJL」を検出したか否かに基づいて判断している。
【0026】
一方、データ300には、
図4(b)に示すように、
図4(a)の記述行210及び220に相当する記述行はないので、印刷ジョブの範囲は不明である。
【0027】
図7に戻り、上記S4の判断において、データを受信したと判断された場合(S4:YES)、CPU101は、パネル105上にデータ受信中画面を表示した(S5)後、処理をS6に進める。
図2(b)は、データ受信中画面105bの一例を示している。データ受信中画面105bは、MFP100の動作状態を示すステータス領域105b1と、印刷ジョブに基づいた処理以外の画像形成処理に移行させるための他処理移行領域105b2とを備えている。そして、他処理移行領域105b2には、Faxアイコン105b21、Copyアイコン105b22及びScanアイコン105b23が表示されている。Faxアイコン105b21~Scanアイコン105b23はそれぞれ、Faxアイコン105b21~Scanアイコン105b23の押下に応じて、印刷ジョブの処理中に、Fax、コピー、スキャンを割り込ませ、実行させるためのものである。割り込みが発生した場合、パネル105上の表示は、割り込んで実行される、Fax、コピー、スキャンの画面になる。なお、アイコンは、「オブジェクト画像」の一例である。「オブジェクト画像」の他の一例としては、ボタン画像やテキスト画像を挙げることができる。
【0028】
図7に戻り、上記S4において、データを受信しなかったと判断された場合(S4:NO)、CPU101は、処理を上記S1に戻す。
【0029】
S6では、CPU101は、受信中のデータがセキュアプリントデータであるか否かを判断する。この判断は、具体的には、受信中のデータにセキュアプリントデータであることを示すPJLコマンドが含まれているか否かに応じて行う。なお、MFP100に、受信した印刷ジョブを全てキュアプリントデータとして取り扱う、という設定がされている場合は、受信したデータを全てキュアプリントデータとして取り扱うようにしてもよい。この判断において、受信中のデータがセキュアプリントデータであったと判断された場合(S6:YES)、CPU101は、セキュアプリント保存処理を実行した(S7)後、処理を上記S1に戻す。なお、セキュアプリント保存処理の詳細は、
図8に基づいて後述する。
【0030】
一方、S6の判断において、受信中のデータがセキュアプリントデータでなかったと判断された場合(S6:NO)、CPU101は、処理をS8に進める。S8では、CPU101は、データ終端通知があったか否かを判断し、続くS9では、CPU101は、印刷キューにラスタライズデータが登録されたか否かを判断する。S8及びS9の処理によれば、CPU101は、印刷キューにラスタライズデータが登録される前にデータ終端通知がなされるようなデータ、つまり、ラスタライズ処理する印刷データを含んでいないようなデータを受信した場合、CPU101は、処理をS8からS1に戻して、パネル105上の画面をデータ受信中画面から待機画面に遷移させる。なお、データ終端通知は、
図9に基づいて後述するジョブ情報解析処理のS56でなされる。つまり、後述するように、データ終端通知は、ジョブ情報解析処理を終了するときになされる。
【0031】
一方、印刷キューにラスタライズデータが登録されてからデータ終端通知がなされるようなデータを受信した場合には、CPU101は、印刷キューにラスタライズデータが登録されるまで、S8とS9とを循環して待機し、印刷キューにラスタライズデータが登録されると、処理をS10に進める。本実施形態では、上記画像処理回路120が、受信したデータに含まれる印刷データに対してラスタライズ処理を行ってラスタライズデータを生成し、印刷キューに登録する。例えば、受信中のデータが上記
図4(a)のデータ200である場合、CPU101は、画像処理回路120に対して、画像データとしてPDLデータを出力する。画像処理回路120は、入力されたPDLデータに対してラスタライズ処理を実行する。なお、画像処理回路120へのPDLデータの出力は、
図9に基づいて後述するジョブ情報解析処理のS53で実行される。印刷キューは、メモリであり、例えば、上記印刷エンジン111内に設けられている。したがって、画像処理回路120は、1ページ分のラスタライズデータを生成する度に、エンジンIF110を介して印刷エンジン111内の印刷キューに登録する。印刷エンジン111は、印刷キューにラスタライズデータが登録されると、所定のタイミングで読み出して、シート上に印刷する。
【0032】
S10では、CPU101は、パネル105上に印刷中画面を表示する。
図2(c)は、印刷中画面に含まれるステータス領域105c1の一例を示している。つまり、印刷中画面は、
図2(b)のデータ受信中画面105bのうちのステータス領域105b1をステータス領域105c1に変更して形成した画面である。
【0033】
図7に戻り、続くS11では、CPU101は、印刷ページ数表示開始通知があったか否かを判断する。印刷ページ数表示開始通知は、
図13に基づいて後述する全ページ数情報構築処理のS102でなされる。その通知タイミングについては、全ページ数情報構築処理を説明するときに併せて説明する。
【0034】
S11の判断において、印刷ページ数表示開始通知があったと判断された場合(S11:YES)、CPU101は、ページ数表示処理を実行した(S13)後、処理を上記S1に戻す。なお、ページ数表示処理の詳細は、
図12に基づいて後述する。
【0035】
一方、S11の判断において、印刷ページ数表示開始通知がなかったと判断された場合(S11:NO)、CPU101は、全ページ印刷完了通知があるまで待機し(S12:NO)、全ページ印刷完了通知があると(S12:YES)、CPU101は、処理を上記S1に戻す。なお、全ページ印刷完了通知は、
図11に基づいて後述する印刷済みページ数情報構築処理のS78でなされる。
【0036】
図13は、全ページ数情報構築処理の手順を示している。全ページ数情報構築処理は、印刷ジョブに含まれる情報を解析し、印刷ジョブに含まれる印刷データの全ページ数をカウントして、通知する。そして、受信した印刷ジョブが複数あり、その複数の印刷ジョブを1つの印刷ジョブとして扱うことができる場合には、全ページ数情報構築処理は、その複数の印刷ジョブにそれぞれ含まれる印刷データの各ページ数を加算して全ページ数をカウントし、通知する。なお、CPU101は、全ページ数情報構築処理と上記メイン処理(
図7)とを独立かつ並行して実行する。したがって、全ページ数情報構築処理とメイン処理とは、MFP100の電源がONとなっている間、常に起動されている。
【0037】
図13において、まず、CPU101は、ジョブ開始コマンドを検出したか否かを判断する(S101)。ジョブ開始コマンドは、例えばデータ200では、上記記述行210に含まれる「@PJL JOB NAME =」である。一方、データ300には、ジョブ開始コマンドは記載されていない。
【0038】
S101の判断において、ジョブ開始コマンドを検出しなかったと判断された場合(S101:NO)、CPU101は、全ページ数情報構築処理を終了する。一方、S101の判断において、ジョブ開始コマンドを検出したと判断された場合(S101:YES)、CPU101は、印刷ページ数表示開始通知を行う(S102)。このように、印刷ページ数表示開始通知は、受信したデータのジョブ開始コマンドを検出したことに応じてなされるので、上記S13(
図7)のページ数表示処理は、受信したデータのジョブ開始コマンドを検出したことに応じて開始される。
【0039】
次に、CPU101は、部数指定コマンド解析を実行する(S103)。
図5は、ユーザの1回の印刷操作に従って出力される印刷ジョブのジョブ構成例を示している。
図5において、No.1のジョブ構成例は、複数部数(具体的には、2部数)印刷かつ部単位印刷ONが指示されたときのジョブ構成を示している。このジョブ構成例では、同じ内容の印刷ジョブが2つ生成されており、部数コマンドは該当なし(N/A)となっている。つまり、生成された2つの印刷ジョブに基づいて印刷処理を実行すれば、2部数印刷かつ部単位印刷が実行されると言うことである。なお、
図5中の「印刷データ」項目において、“▽”から“▼”までが1つの印刷ジョブを示している。
【0040】
また、No.2のジョブ構成例は、No.1のジョブ構成例と同様に、複数部数(具体的には、2部数)印刷かつ部単位印刷ONが指示されたときのジョブ構成を示している。但し、No.2のジョブ構成例では、1つの印刷ジョブが生成され、部数コマンド「@PJL SET QTY =」で“2”が指定されている。つまり、生成された1つの印刷ジョブを2回繰り返して印刷処理を実行することにより、2部数印刷かつ部単位印刷が実行されると言うことである。
【0041】
さらに、No.3のジョブ構成例は、複数部数(具体的には、2部数)印刷かつ部単位印刷OFFが指示されたときのジョブ構成を示している。このジョブ構成例では、No.2のジョブ構成例と同様に、1つの印刷ジョブが生成され、部数コマンド「@PJL SET COPIES =」で“2”が指定されている。つまり、生成された1つの印刷ジョブをページ毎に2回繰り返して印刷処理を実行することにより、2部数印刷が実行されると言うことである。
【0042】
また、No.4のジョブ構成例は、単数部数印刷が指示されたときのジョブ構成を示している。このジョブ構成例では、ページ毎に1つの印刷ジョブが生成されている。つまり、3ページ印刷するために3つの印刷ジョブが生成されている。
【0043】
図13に戻り、上記S103において、CPU101が、例えば、No.1のジョブ構成例に対して部数指定コマンド解析を実行すると、部数として“N/A”、つまり“1”を取得する。一方、No.2のジョブ構成例に対して部数指定コマンド解析を実行すると、CPU101は、部数として“2”を取得する。
【0044】
次に、CPU101は、ジョブ情報解析処理を実行する(S104)。
図9は、ジョブ情報解析処理の詳細な手順を示している。
図9において、まず、CPU101は、上記S101と同様にして、ジョブ開始コマンドを検出したか否かを判断する(S41)。この判断において、ジョブ開始コマンドを検出しなかったと判断された場合(S41:NO)、CPU101は、ジョブ情報解析処理を終了する。一方、この判断において、ジョブ開始コマンドを検出したと判断された場合(S41:YES)、CPU101は、解析対象の印刷ジョブに含まれるユーザ名を示す情報を設定するための変数UNを初期化する(S42)。次に、CPU101は、解析対象の印刷ジョブに含まれるジョブ名を示す情報を設定するための変数JNを初期化する(S43)。さらに、CPU101は、解析対象の印刷ジョブに含まれるジョブの生成時刻を示す情報を設定するための変数JTを初期化する(S44)。
【0045】
ここで、ユーザ名を示す情報は、その印刷ジョブを生成したユーザのユーザ名を示している。ユーザ名を示す情報は、MFP100を複数人で共用するときに、印刷ジョブを生成したユーザを特定する場合や、セキュアプリントモードが選択されたときに、セキュアプリントモードにログインしたユーザが生成した印刷ジョブを特定する場合などに用いられる。ジョブ名を示す情報は、その印刷ジョブに付与された名前を示している。ジョブ名を示す情報は、ユーザ自身によって、あるいは、印刷ジョブを生成したアプリケーションソフトウェアによって自動的に付与される。自動的に付与する場合、ジョブ名の全てを自動的に付与する場合や、ユーザが付与した名前に、例えば、連番を追加して付与する場合もある。ジョブの生成時刻を示す情報は、アプリケーションソフトウェアがその印刷ジョブを生成した時刻を示している。ジョブの生成時刻を示す情報は、複数の印刷ジョブによる印刷指示がなされた場合に、ジョブの生成時刻が早いものから印刷処理を行うときや、印刷ジョブの履歴の表示が指示された場合に、複数の印刷ジョブをその生成時刻に応じてリスト表示するときなどに用いられる。
【0046】
次に、CPU101は、入力データ、つまり、上記S4で受信したデータからユーザ名を検出したか否かを判断する(S45)。入力データが、例えば、上記
図4(a)のデータ200である場合、CPU101は、コマンド「@PJL SET USERNAME =」を検出したか否かを判断する。この判断において、ユーザ名を検出したと判断された場合(S45:YES)、CPU101は、コマンド「@PJL SET USERNAME =」により指定されたユーザ名、つまり、データ200では、“taro”を変数UNに設定した(S46)後、処理をS47に進める。一方、この判断において、ユーザ名を検出しなかったと判断された場合(S45:NO)、CPU101は、ジョブ情報解析処理を終了する。
【0047】
S47では、CPU101は、入力データからジョブ名を検出したか否かを判断する。入力データが、例えば、データ200である場合、CPU101は、コマンド「@PJL SET JOBNAME =」を検出したか否かを判断する。この判断において、ジョブ名を検出したと判断された場合(S47:YES)、CPU101は、コマンド「@PJL SET JOBNAME =」により指定されたジョブ名、つまり、データ200では、“XXX”を変数JNに設定した(S48)後、処理をS49に進める。一方、この判断において、ジョブ名を検出しなかったと判断された場合(S47:NO)、CPU101は、ジョブ情報解析処理を終了する。
【0048】
S49では、CPU101は、入力データから生成時刻を検出したか否かを判断する。入力データが、例えば、データ200である場合、CPU101は、コマンド「@PJL SET JOBTIME =」を検出したか否かを判断する。この判断において、生成時刻を検出したと判断された場合(S49:YES)、CPU101は、コマンド「@PJL SET JOBTIME =」により指定された生成時刻、つまり、データ200では、“20190918091304”を変数JTに設定した(S50)後、処理をS51に進める。一方、この判断において、生成時刻を検出しなかったと判断された場合(S49:NO)、CPU101は、ジョブ情報解析処理を終了する。
【0049】
S51では、CPU101は、現ジョブ設定として、変数UN、変数JN及び変数JTの各値をメモリ、例えば、上記RAM103に記憶させる。そして、CPU101は、入力データ内にPDLデータがあるか否かを判断する(S52)。この判断において、PDLデータがあると判断された場合(S52:YES)、CPU101は、そのPDLデータを上記画像処理回路120に出力した(S53)後、処理をS54に進める。一方、PDLデータがないと判断された場合(S52:NO)、CPU101は、S53をスキップして、処理をS54に進める。
【0050】
S54では、CPU101は、データ終端を検出したか否かを判断する。上記
図4(a)のデータ200では、上述のように、データの終端は「<ESC>%-12345X」により示されるので、この場合、S54では、CPU101は、「<ESC>%-12345X」を検出したか否かを判断する。この判断において、データ終端を検出しなかったと判断された場合(S54:NO)、CPU101は、処理を上記S52に戻す。一方、この判断において、データ終端を検出したと判断された場合(S54:YES)、CPU101は、PJLコマンドに従った処理を実行し(S55)、データ終端通知を行った(S56)後、ジョブ情報解析処理を終了する。このデータ終端通知は、上記メイン処理の上記S8(
図7)で用いられる。
【0051】
図13に戻り、次にCPU101は、全ページ数をカウントするために、例えばRAM103内に設けたソフトウェアカウンタである、全ページ数カウンタの値を“0”に設定する(S105)。そして、CPU101は、印刷ジョブに含まれる印刷データのページ数をカウントするために、例えばRAM103内に設けたソフトウェアカウンタである、ジョブページ数カウンタの値を“0”に設定する(S106)。
【0052】
次に、CPU101は、印刷キューに1ページ分のラスタライズデータが登録される度に(S107:YES)、ジョブページ数カウンタを“1”インクリメントする(S108)。そして、CPU101は、ラスタライズデータが印刷キューに登録される度のジョブページ数カウンタのインクリメントを、ジョブ終了コマンドを検出するまで(S109:YES)続ける。ジョブ終了コマンドは、例えばデータ200では、上記記述行220に含まれる「@PJL EOJ NAME =」である。CPU101がジョブ終了コマンドを検出すると(S109:YES)、CPU101は、処理をS110に進める。このようにして、CPU101は、S107~S109の処理を実行することにより、1つの印刷ジョブに含まれる印刷データのページ数をジョブページ数カウンタでカウントすることができる。
【0053】
S110では、CPU101は、全ページ数カウンタの現在値に、ジョブページ数カウンタの値×部数の乗算結果を加算して、全ページ数カウンタを更新する。処理がS105を通ってから初めてS110に進んだ場合には、全ページ数カウンタの現在値=0であるので、全ページ数カウンタの値=ジョブページ数カウンタの値×部数である。なお、入力データが上記No.1のジョブ構成例に示すデータである場合には、部数=1であるので、この場合、全ページ数カウンタの値=ジョブページ数カウンタの値である。一方、入力データが上記No.2のジョブ構成例に示すデータである場合には、部数=2であるので、この場合、全ページ数カウンタの値=ジョブページ数カウンタの値×2である。
【0054】
次に、CPU101は、継続ジョブ、つまり、現ジョブに継続して受信された印刷ジョブがあるか否かを判断する(S111)。この判断は、現ジョブの受信が完了してからの経過時間が所定時間を超えたか否かに基づいて行うようにすればよい。
図6は、複数の印刷ジョブが継続して受信された場合の一例を示している。そして、
図6(a)は、4つのJob1~4が継続して受信された例を示し、
図6(b)は、3つのJob1~3が継続して受信された例を示している。S111の判断において、継続ジョブがあると判断された場合(S111:YES)、CPU101は、上記S104と同様にして、ジョブ情報解析処理を実行する(S112)。但し、S112で実行するジョブ情報解析処理は、S104で実行したジョブ情報解析処理に対して、解析対象の印刷ジョブが異なっている。つまり、CPU101は、S104では、現ジョブに対してジョブ情報解析処理を実行したのに対して、S112では、現ジョブに継続した印刷ジョブに対してジョブ情報解析処理を実行している。例えば、
図5において、現ジョブがJob1であるとし、継続ジョブがJob2であるとする。この場合、S105でのジョブ情報解析処理の実行により、現ジョブ設定として、UN=taro,JN=XXX及びJT=20200602110202 が記憶され、S112でのジョブ情報解析処理の実行により、継続ジョブ設定として、同じUN=taro,JN=XXX及びJT=20200602110202 が記憶される。
【0055】
次に、CPU101は、現ジョブと継続ジョブの情報が一致しているか否かを判断する(S113)。このS113では、継続ジョブを現ジョブと同じジョブとして取り扱うことができるか否かを判断している。つまり、CPU101は、現ジョブと継続ジョブの情報が一致していれば、継続ジョブを現ジョブと同じジョブとして取り扱うことができると判断している。この判断において、現ジョブと継続ジョブの情報が一致していると判断された場合(S113:YES)、CPU101は、処理を上記S106に戻す。一方、この判断において、現ジョブと継続ジョブの情報が一致していないと判断された場合(S113:NO)、CPU101は、処理をS114に進める。
【0056】
一方、上記S111の判断において、継続ジョブがないと判断された場合(S111:NO)、CPU101は、S112及びS113をスキップして、処理をS114に進める。
【0057】
受信した複数の印刷ジョブが、
図6(a)に示す4つのJob1~4である場合、3つのJob1~3の各ジョブに含まれる3つの情報、つまり、UN=taro,JN=XXX及びJT=20200602110202 は一致する。しかし、最後のJob4に含まれる3つの情報のうち、JT=20200602110305 は、他の3つのJob1~3に含まれるJT=20200602110202 と異なっている。したがって、CPU101は、3つのJob1~3については、S113において“YES”と判断して1つの印刷ジョブとして取り扱い、Job4については、S113において“NO”と判断して3つのJob1~3とは異なる印刷ジョブとして取り扱っている。
【0058】
一方、受信した複数の印刷ジョブが、
図6(b)に示す3つのJob1~3である場合、Job1~3の各ジョブに含まれる3つの情報は、
図6(a)における3つのJob1~3と同様に一致するので、CPU101は、3つのJob1~3については、S113において“YES”と判断して1つの印刷ジョブとして取り扱う。しかし、Job3に後続する印刷ジョブはないので、CPU101は、Job3に対するS110の処理が終了すると、S111において“NO”と判断して、1つの印刷ジョブとして取り扱うか否かを判断する処理(S112,S113)をスキップする。
【0059】
S114では、CPU101は、1つの印刷ジョブとして取り扱うジョブ範囲を確定する。そして、CPU101は、全ページ数通知を行った(S115)後、全ページ数情報構築処理を終了する。なお、全ページ数通知は、上記S13(
図7)で実行されるページ数表示処理の中で用いられる。
【0060】
本実施形態では、1つの印刷ジョブとして取り扱うか否かは、各印刷ジョブに含まれる3種類の情報、具体的には、ユーザ名、ジョブ名及びジョブの生成時刻の全ての情報が完全に一致しているか否かに基づいて判断したが、これに限らず、3種類の情報のうちの任意の2種類の情報が完全に一致しているか否かに基づいて判断するようにしてもよい。また、情報の種類によっては、例えば、ジョブ名については、完全一致ではなく、部分一致を容認するようにしてもよい。つまり、ジョブ名は、上述のように、自動的に連番が付けられることがあるからである。本実施形態では、複数の印刷ジョブについて、同じジョブ名“XXX”が付与されているが、印刷ジョブを生成するアプリケーションソフトウェアの中には、XXX-1,XXX-2,XXX-3,・・のように連番でジョブ名を付与するものがある。この場合に完全一致を要求すると、複数の印刷ジョブが1つの印刷ジョブとして取り扱うことができるものであったとしても、1つの印刷ジョブとして取り扱うことができない。さらに、情報の種類も、3種類に限らず、4種類であっても、2種類であってもよい。
【0061】
図11は、印刷済みページ数情報構築処理の手順を示している。印刷済みページ数情報構築処理は、印刷済みページ数をカウントして、通知する。なお、CPU101は、印刷済みページ数情報構築処理とメイン処理とを独立かつ並行して実行する。したがって、印刷済みページ数情報構築処理とメイン処理とは、MFP100の電源がONとなっている間、常に起動されている。
【0062】
図11において、まず、CPU101は、印刷キューにラスタライズデータが登録されるまで待機し(S71:NO)、印刷キューにラスタライズデータが登録されると(S71:YES)、CPU101は、印刷キューに登録されたラスタライズデータを読み出して印刷を開始させる指示を、上記エンジンIF110を介して印刷エンジン111に行う(S72)。なお、S71で“YES”となるタイミングは、ジョブ情報解析処理のS53(
図9)で出力されたPDLデータに基づくラスタライズデータを、画像処理回路120が印刷キューに登録したタイミングと、上記S9(
図7)で“YES”となるタイミングと、後述する
図10のS64の処理を実行したタイミングと、を含んでいる。
【0063】
次に、CPU101は、印刷された1枚のシートの排紙が完了するまで待機し(S73:NO)、1枚のシートの排紙が完了すると(S73:YES)、CPU101は、現在選択されている印刷モードを判断する(S74)。この判断において、現在選択されている印刷モードが片面印刷モードであると判断された場合(S74:片面印刷)、CPU101は、印刷済みページ数をカウントするために、例えばRAM103内に設けたソフトウェアカウンタである、印刷済みページ数カウンタを“1”インクリメントするとともに、印刷済みページ数更新通知を行った(S75)後、処理をS77に進める。なお、1枚のシートの排紙が完了したことの通知は、本実施形態では、印刷エンジン111によりなされる。
【0064】
一方、S74の判断において、現在選択されている印刷モードが両面印刷モードであると判断された場合(S74:両面印刷)、CPU101は、印刷済みページ数カウンタを“2”インクリメントするとともに、印刷済みページ数更新通知を行った(S76)後、処理をS77に進める。なお、S75及びS76でなされた印刷済みページ数更新通知は、印刷済みページ数カウンタの値が更新されたことを示す通知であり、次に説明するページ数表示処理(
図12)のS84で用いられる。
【0065】
S77では、CPU101は、印刷ジョブの最終ページの印刷が完了したか否かを判断する。この判断において、印刷ジョブの最終ページの印刷が完了したと判断された場合(S77:YES)、CPU101は、全ページ印刷完了通知を行った(S78)後、印刷済みページ数情報構築処理を終了する。一方、この判断において、印刷ジョブの最終ページの印刷が完了していないと判断された場合(S77:NO)、CPU101は、処理を上記S71に戻す。なお、全ページ印刷完了通知は、次に説明するページ数表示処理のS86で用いられる。
【0066】
図12は、上記S13(
図7)で実行されるページ数表示処理の詳細な手順を示している。
図12において、まず、CPU101は、上記印刷済みページ数カウンタを“0”に設定する(S81)。
【0067】
次に、CPU101は、全ページ数通知がなされたか否かを判断する(S82)。全ページ数通知は、上記
図13の全ページ数情報構築処理のS115でなされる。つまり、全ページ数通知は、1つの印刷ジョブ(複数の印刷ジョブを1つの印刷ジョブとして取り扱うことができるものも含む)に含まれる印刷データの全ページ数のカウントを完了したときになされる。
【0068】
S82の判断において、全ページ数通知がなされていないと判断された場合(S82:NO)、CPU101は、印刷済みページ数更新通知がなされたか否かを判断する(S84)。印刷済みページ数更新通知は、上記
図11の印刷済みページ数情報構築処理のS75又はS76でなされる。つまり、印刷済みページ数更新通知は、印刷された1枚のシートの排紙が完了する度になされる。
【0069】
S84の判断において、印刷済みページ数更新通知がなされたと判断された場合(S84:YES)、CPU101は、印刷済みページ数画面更新を行った(S85)後、処理をS86に進める。処理がS85に進んだとき、過去に上記S83を1度も通ったことがない場合と、過去に上記S83を1度通ったことがある場合とがある。
図2(d)は、過去に上記S83を1度も通ったことがない場合に、パネル105上に表示される第1ページ数表示画面に含まれるステータス領域105d1の一例を示している。つまり、第1ページ数表示画面は、
図2(b)のデータ受信中画面105bのうちのステータス領域105b1をステータス領域105d1に変更して形成した画面である。ステータス領域105d1の表示は、ステータス領域105c1の表示に対して、印刷済みページ数(図示例では、1Page)を加えた点が異なっている。印刷済みページ数の表示は、印刷済みページ数カウンタの値に基づいて更新される。
【0070】
S84の判断において、印刷済みページ数更新通知がなされていないと判断された場合(S84:NO)、CPU101は、処理をS86に進める。S86では、CPU101は、全ページ印刷完了通知がなされたか否かを判断する。この判断において、全ページ印刷完了通知がなされたと判断された場合(S86:YES)、CPU101は、ページ数表示処理を終了する。一方、この判断において、全ページ印刷完了通知がなされていないと判断された場合(S86:NO)、CPU101は、処理を上記S82に戻す。
【0071】
一方、上記S82の判断において、全ページ数通知がなされたと判断された場合(S82:YES)、CPU101は、全ページ数画面表示を行った(S83)後、処理をS84に進める。
図2(e)は、パネル105上に表示される第2ページ数表示画面に含まれるステータス領域105e1の一例を示している。つまり、第2ページ数表示画面は、
図2(b)のデータ受信中画面105bのうちのステータス領域105b1をステータス領域105e1に変更して形成した画面である。ステータス領域105e1の表示は、ステータス領域105c1の表示に対して、印刷済みページ数/全ページ数(図示例では、15/30Page)を加えた点が異なっている。全ページ数の表示は、全ページ数カウンタの値に基づいてなされる。
【0072】
S83の処理を1度通ると、印刷済みページ数/全ページ数表示は、印刷済みページ数のみが上記S85の処理により更新される。
【0073】
このように、パネル105上に待機画面105a(
図2(a))が表示されている状態で、MFP100が、例えば、上記データ200のようなジョブ範囲が明確なデータの受信を開始すると、パネル105上の画面は、待機画面105aからデータ受信中画面105b(
図2(b))に遷移する。次に、印刷キューにラスタライズデータが登録されると、パネル105上の画面は、データ受信中画面105bからステータス領域105c1(
図2(c))を含む印刷中画面に遷移する。そして、印刷された1枚のシートの排紙が完了すると、パネル105上の画面は、印刷中画面からステータス領域105d1を含む第1ページ数表示画面に遷移する。次に、1つの印刷ジョブ(複数の印刷ジョブを1つの印刷ジョブとして取り扱うことができるものも含む)に含まれる印刷データの全ページ数のカウントを完了すると、パネル105上の画面は、第1ページ数表示画面からステータス領域105e1を含む第2ページ数表示画面に遷移する。さらに、1つの印刷ジョブに含まれる印刷データの全ページ数の印刷が完了すると、パネル105上の画面は、全ページ数表示画面から待機画面105aに遷移する。このようにMFP100によれば、単数部数印刷を行う場合にも印刷中のページ数を表示することが可能となる。また、1つの印刷ジョブに含まれる印刷データの全ページ数のカウントを完了すると、印刷済みページ数に加え、全ページ数も表示されるようになるので、ユーザは印刷終了タイミングを知ることができる。
【0074】
一方、パネル105上に待機画面105a(
図2(a))が表示されている状態で、MFP100が、例えば、上記データ300のようなジョブ範囲が不明なデータの受信を開始すると、パネル105上の画面は、待機画面105aからデータ受信中画面105b(
図2(b))に遷移する。次に、印刷キューにラスタライズデータが登録されると、パネル105上の画面は、データ受信中画面105bからステータス領域105c1(
図2(c))を含む印刷中画面に遷移する。そして、1つの印刷ジョブに含まれる印刷データの全ページ数の印刷が完了するまで、印刷中画面が継続して表示され、全ページ数の印刷が完了すると、パネル105上の画面は、印刷中画面から待機画面105aに遷移する。このようにジョブ範囲が不明なデータを受信した場合には、データに含まれる情報の有効な解析を行うことができないので、第1ページ数表示画面も第2ページ数表示画面も表示させないようにしている。
【0075】
図8は、上記
図7のS7で実行されるセキュアプリント保存処理の詳細な手順を示している。セキュアプリント保存処理は、上記
図13の全ページ数情報構築処理からS101,S102の処理を削除するとともに、S107,S108の処理に代えてS25,S27,S28の処理を挿入し、S115の処理に代えてS35の処理を挿入した点が異なっている。したがって、セキュアプリント保存処理中、全ページ数情報構築処理と同様の処理についての説明は省略する。
【0076】
図8において、S25では、CPU101は、1ページのRIPが完了したか否かを判断し、1ページのRIPが完了したと判断された場合(S25:YES)、CPU101は、ジョブページ数カウンタを“1”インクリメントし(S27)、RIPの完了によって生成された1ページ分のラスタライズデータをメモリ、例えばRAM103に保存する(S28)。なお、RIPは、raster image processor の略語である。
【0077】
そして、セキュアプリント保存処理の最後(S35)で、CPU101は、全ページ数カウンタの値をメモリに保存する。
【0078】
このようにセキュアプリント保存処理が実行されると、複数の印刷ジョブを1つの印刷ジョブとして取り扱うことができる場合、複数の印刷ジョブにそれぞれ含まれる印刷データが全てラスタライズデータに変換されてメモリに保存されるとともに、全ページ数が取得されて、全ラスタライズデータに対応付けられて保存される。
【0079】
図10は、上記
図7のS3で実行されるセキュアプリント印刷処理の詳細な手順を示している。このセキュアプリント印刷処理と並行して、後述するS64の処理で印刷キューに登録した画像データを対象とした上記
図11の印刷済みページ数情報構築処理が実行されている。
図10において、まず、CPU101は、メモリから全ページ数を読み出す(S61)。セキュアプリント印刷処理は、セキュアプリント保存処理の実行後に実行されるので、セキュアプリント印刷処理が実行されるときには、印刷対象の画像データ、つまりラスタライズデータと、その全ページ数は、既にメモリ内に保存されている。
【0080】
次に、CPU101は、上記S115(
図13)と同様に、全ページ数通知を行った(S62)後、処理をS63に進める。S63では、CPU101は、現印刷ページは最終ページであるか否かを判断する。この判断において、現印刷ページは最終ページであると判断された場合(S63:YES)、CPU101は、セキュアプリント印刷処理を終了する。一方、この判断において、現印刷ページは最終ページでないと判断された場合(S63:NO)、CPU101は、処理をS64に進める。
【0081】
S64では、CPU101は、メモリから画像データを読み出して印刷キューに登録する。次に、CPU101は、上記
図12のページ数表示処理を実行した(S65)後、処理を上記S63に戻す。
【0082】
図3は、セキュアプリント印刷処理を実行中のパネル105上の画面遷移の一例を示している。セキュアプリント印刷処理の実行が指示されると、パネル105上の画面は、待機画面105a(
図2(a))から
図3(a)の印刷中画面105fに遷移する。そして、印刷された1枚のシートの排紙が完了すると、パネル105上の画面は、印刷中画面105fからページ数表示画面105gに遷移する。ページ数表示画面105gは、1枚のシートの排紙が完了した時点から、
図2(e)のステータス領域105e1内に示すような印刷済みページ数/全ページ数画像が表示されている。これは、セキュアプリント印刷処理の実行を開始するときには、上述のように、セキュアプリント保存処理は既に実行されているので、印刷対象の画像データとその全ページ数が既に、メモリ内に保存され、既知の状態となっているからである。
【0083】
なお、本実施形態のセキュアプリント印刷処理では、1つの印刷ジョブについてセキュアプリント印刷を行う例を説明したが、セキュアプリントモードを選択したユーザ名の印刷ジョブが複数、メモリに記憶されている場合には、その複数の印刷ジョブを1つの印刷ジョブとして取り扱い、その複数の印刷ジョブにそれぞれ含まれる印刷データの各ページ数を加算して全ページ数をカウントし、
図3(b)のページ数表示画面105gにおいて1ページから全ページ表示するようにしてもよい。
【0084】
以上説明したように、本実施形態のMFP100は、ネットワークIF108と、CPU101と、を備え、CPU101は、ネットワークIF108を介して複数の印刷ジョブを受信したときに、複数の印刷ジョブのそれぞれに含まれる情報を解析し、解析した情報に応じて複数の印刷ジョブを1つの印刷ジョブとして取り扱う。
ここで、「印刷ジョブに含まれる情報を解析し」とは、印刷ジョブを解析することで、印刷ジョブに含まれる情報を抽出すること、印刷ジョブを解析することで、印刷ジョブに含まれる複数の情報を比較すること、などを含む概念である。
このように、本実施形態のMFP100では、受信した複数の印刷ジョブが1つの印刷ジョブとして取り扱えるようなジョブであった場合には、1つの印刷ジョブとして取り扱うことが可能となる。ちなみに、本実施形態において、MFP100は、「画像処理装置」の一例である。ネットワークIF108は、「通信インタフェース」の一例である。CPU101は、「コントローラ」の一例である。
【0085】
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
(1)上記実施形態では、画像形成装置の一例として、MFP100を例に挙げて説明したが、MFP100に限らず、画像形成装置は、単体のプリンタやスキャナ、コピー機であってもよい。
(2)上記実施形態では、コントローラの一例として、1つのCPU101を用いているが、これに限らず、複数のCPUからなるものを用いてもよいし、複数のコアからなるCPUを含むものでもよい。また、CPUと専用回路とを有していてもよい。専用回路としては、例えば、ASIC及びFPGAなどが挙げられる。
【符号の説明】
【0086】
1…画像処理システム、10…PC、40…通信ネットワーク、100…MFP、101…CPU、102…ROM、103…RAM、104…NVM、105…パネル、106…キー、108…ネットワークIF、110…エンジンIF、111…印刷エンジン、112…読取エンジン、120…画像処理回路、130…バス。