(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】印刷装置、制御方法及びプログラム
(51)【国際特許分類】
B41J 5/30 20060101AFI20241111BHJP
H04N 1/00 20060101ALI20241111BHJP
G06F 3/12 20060101ALI20241111BHJP
【FI】
B41J5/30 Z
H04N1/00 C
G06F3/12 303
G06F3/12 344
G06F3/12 367
(21)【出願番号】P 2020121674
(22)【出願日】2020-07-15
【審査請求日】2023-07-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】手島 康裕
(72)【発明者】
【氏名】原田 恭典
【審査官】大浜 登世子
(56)【参考文献】
【文献】特開2006-172043(JP,A)
【文献】特開2004-348423(JP,A)
【文献】米国特許出願公開第2009/0097056(US,A1)
【文献】特開2017-024297(JP,A)
【文献】特開2018-069568(JP,A)
【文献】特開2016-068340(JP,A)
【文献】特開2012-008860(JP,A)
【文献】特開2019-022998(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 5/30
B41J 29/00 -29/42
H04N 1/00
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
印刷装置であって、
前記印刷装置の外部の情報処理装置から、前記情報処理装置のプリンタドライバを介さずに所定のデータ形式の印刷データを受信する第1受信手段と、
前記情報処理装置から、前記プリンタドライバを介して前記所定のデータ形式の印刷データを受信する第2受信手段と、
前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介さずに受信されたことに基づいて、前記所定のデータ形式の印刷データの構造解析を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付ける前に実行する第1の方法によって、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第1取得手段と、
前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介して受信されたことに基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれ、前記プリンタドライバによって生成されたジョブデータを、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に解析する方法であり、第1の方法と異なる第2の方法によって、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第2取得手段と、
前記第1の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記構造解析によって取得された情報に基づいて、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第1処理手段と、
前記第2の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記ジョブデータの解析によって取得された情報に基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第2処理手段と、
前記実行指示操作が前記ユーザから受け付けられた場合、印刷を実行する印刷手段と、
を有
し、
前記所定のデータ形式の印刷データに含まれるページに関する情報は、前記所定のデータ形式の印刷データに含まれるページ数と、前記所定のデータ形式の印刷データに含まれる各ページのページ番号のうち少なくとも一方であることを特徴とする印刷装置。
【請求項2】
前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データには、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に、前記構造解析が実行されないことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記情報処理装置から、前記プリンタドライバを介さずに前記所定のデータ形式と異なる他のデータ形式の印刷データを受信する第3受信手段と、
前記プリンタドライバを介さず受信された前記他のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介さず受信された前記他のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第3処理手段と、を更に有することを特徴とする請求項1又は2に記載の印刷装置。
【請求項4】
前記プリンタドライバを介さず受信された前記他のデータ形式の印刷データには、前記プリンタドライバを介
さず受信された前記他のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に、前記構造解析が実行されないことを特徴とする請求項3に記載の印刷装置。
【請求項5】
前記他のデータ形式は、JPEG形式であることを特徴とする請求項3又は4に記載の印刷装置。
【請求項6】
前記所定のデータ形式の印刷データの構造解析は、前記印刷装置が印刷を実行していない状態において実行され、前記所定のデータ形式の印刷データの構造解析は、前記印刷装置が印刷を実行している状態において実行されないことを特徴とする請求項1乃至5のいずれか1項に記載の印刷装置。
【請求項7】
前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理は、前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付ける前に実行される処理であり、
前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付けた後にも、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データの構造解析が実行されることを特徴とする請求項1乃至6のいずれか1項に記載の印刷装置。
【請求項8】
前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作がユーザから受け付ける前に実行される構造解析は、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作がユーザから受け付けた後に実行される構造解析のうちの一部の処理であることを特徴とする請求項7に記載の印刷装置。
【請求項9】
前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付けた後には、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データの構造解析が実行されることを特徴とする請求項1乃至8のいずれか1項に記載の印刷装置。
【請求項10】
前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷を前記実行指示操作を前記印刷装置が前記ユーザから受け付けることに基づいて実行するか、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷を前記実行指示操作を前記印刷装置が前記ユーザから受け付けることなく実行するかを設定する設定手段と、
前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷を前記実行指示操作を前記印刷装置が前記ユーザから受け付けることに基づいて実行する設定が行われていた場合に、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理が、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行され、
前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷を前記実行指示操作を前記印刷装置が前記ユーザから受け付けることなく実行する設定が行われていた場合に、前記所定のデータ形式の印刷データの構造解析が、前記実行指示操作を前記印刷装置が前記ユーザから受け付けることなく実行され、且つ、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理が、前記実行指示操作を前記印刷装置が前記ユーザから受け付けることなく実行されることを特徴とする請求項1乃至9のいずれか1項に記載の印刷装置。
【請求項11】
前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理は、前記所定のデータ形式の印刷データに含まれるページ数を前記印刷装置が表示する処理を含むことを特徴とする請求項1乃至10のいずれか1項に記載の印刷装置。
【請求項12】
前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理は、前記所定のデータ形式の印刷データに基づく印刷において、前記所定のデータ形式の印刷データに含まれるいずれのページを印刷するかの設定を受け付けるための処理を含むことを特徴とする請求項11に記載の印刷装置。
【請求項13】
前記所定のデータ形式の印刷データに基づく印刷が実行された後、前記印刷装置が実行したことがある印刷の履歴を前記印刷装置が表示する表示制御手段を更に有することを特徴とする請求項1乃至12のいずれか1項に記載の印刷装置。
【請求項14】
前記印刷の履歴の表示において、前記所定のデータ形式の印刷データに含まれるページ数が表示されることを特徴とする請求項13に記載の印刷装置。
【請求項15】
前記所定のデータ形式は、PDF又はHP-GL/2であることを特徴とする請求項1乃至14のいずれか1項に記載の印刷装置。
【請求項16】
前記所定のデータ形式の印刷データが前記情報処理装置において分割されることで生成される複数の分割データに含まれる分割データが前記第1受信手段又は前記第2受信手段により順に受信されることで、前記所定のデータ形式の印刷データが前記第1受信手段又は前記第2受信手段により前記情報処理装置から受信されることを特徴とする請求項1乃至15のいずれか1項に記載の印刷装置。
【請求項17】
前記複数の分割データ全てが前記第1受信手段又は前記第2受信手段により前記情報処理装置から受信されることで、前記所定のデータ形式の印刷データが前記第1受信手段又は前記第2受信手段により前記情報処理装置から受信された後に、前記所定のデータ形式の印刷データの構造解析が前記第1取得手段により実行されることを特徴とする請求項16に記載の印刷装置。
【請求項18】
前記プリンタドライバを介さない前記所定のデータ形式の印刷データは、LPRコマンドが用いられた通信又は、FTPクライアントが用いられた通信により前記第1受信手段により受信されることを特徴とする請求項1乃至17のいずれか1項に記載の印刷装置。
【請求項19】
印刷装置の制御方法であって、
前記印刷装置の外部の情報処理装置から、前記情報処理装置のプリンタドライバを介さずに所定のデータ形式の印刷データを受信する第1受信ステップと、
前記情報処理装置から、前記プリンタドライバを介して前記所定のデータ形式の印刷データを受信する第2受信ステップと、
前記第1受信ステップにより、前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介さずに受信されたことに基づいて、前記所定のデータ形式の印刷データの構造解析を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付ける前に実行する第1の方法によって、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第1取得ステップと、
前記第2受信ステップにより、前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介して受信されたことに基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれ、前記プリンタドライバによって生成されたジョブデータを、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に解析する方法であり、第1の方法と異なる第2の方法によって、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第2取得ステップと、
前記第1取得ステップにより、前記第1の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記構造解析によって取得された情報に基づいて、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第1処理ステップと、
前記第2取得ステップにより、前記第2の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記ジョブデータの解析によって取得された情報に基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第2処理ステップと、
前記実行指示操作が前記ユーザから受け付けられた場合、印刷を実行する印刷ステップと、
を有
し、
前記所定のデータ形式の印刷データに含まれるページに関する情報は、前記所定のデータ形式の印刷データに含まれるページ数と、前記所定のデータ形式の印刷データに含まれる各ページのページ番号のうち少なくとも一方であることを特徴とする制御方法。
【請求項20】
印刷装置のコンピュータに、
前記印刷装置の外部の情報処理装置から、前記情報処理装置のプリンタドライバを介さずに所定のデータ形式の印刷データを受信する第1受信ステップと、
前記情報処理装置から、前記プリンタドライバを介して前記所定のデータ形式の印刷データを受信する第2受信ステップと、
前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介さずに受信されたことに基づいて、前記所定のデータ形式の印刷データの構造解析を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付ける前に実行する第1の方法によって、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第1取得ステップと、
前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介して受信されたことに基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれ、前記プリンタドライバによって生成されたジョブデータを、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に解析する方法であり、第1の方法と異なる第2の方法によって、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第2取得ステップと、
前記第1の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記構造解析によって取得された情報に基づいて、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第1処理ステップと、
前記第2の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記ジョブデータの解析によって取得された情報に基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第2処理ステップと、
前記実行指示操作が前記ユーザから受け付けられた場合、印刷を実行する印刷ステップと、
を実行させ
、
前記所定のデータ形式の印刷データに含まれるページに関する情報は、前記所定のデータ形式の印刷データに含まれるページ数と、前記所定のデータ形式の印刷データに含まれる各ページのページ番号のうち少なくとも一方であることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は印刷装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
情報処理装置から受信された印刷データに含まれるページに関する処理を実行する印刷装置が知られている。
【0003】
特許文献1に開示された印刷装置は、情報処理装置から受信された印刷用記述ファイルを解析してページ数を認識することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、情報処理装置から受信された印刷データに含まれるページに関する処理を実行する印刷装置が普及するにあたり、情報処理装置から受信された印刷データに含まれるページに関する処理をより適切に実行することが要望されている。
【0006】
そこで本発明は、情報処理装置から受信された印刷データに含まれるページに関する処理をより適切に実行することを目的とする。
【課題を解決するための手段】
【0007】
そこで本発明は、印刷装置であって、
前記印刷装置の外部の情報処理装置から、前記情報処理装置のプリンタドライバを介さずに所定のデータ形式の印刷データを受信する第1受信手段と、
前記情報処理装置から、前記プリンタドライバを介して前記所定のデータ形式の印刷データを受信する第2受信手段と、
前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介さずに受信されたことに基づいて、前記所定のデータ形式の印刷データの構造解析を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作をユーザから受け付ける前に実行する第1の方法によって、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第1取得手段と、
前記所定のデータ形式の印刷データが、前記情報処理装置のプリンタドライバを介して受信されたことに基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれ、前記プリンタドライバによって生成されたジョブデータを、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に解析する方法であり、第1の方法と異なる第2の方法によって、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報を取得する第2取得手段と、
前記第1の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記構造解析によって取得された情報に基づいて、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介さずに受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第1処理手段と、
前記第2の方法で、前記所定のデータ形式の印刷データに含まれるページに関する情報が取得された場合、前記ジョブデータの解析によって取得された情報に基づいて、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに含まれるページに関する情報に基づく処理を、前記プリンタドライバを介して受信された前記所定のデータ形式の印刷データに基づく印刷の実行指示操作を前記ユーザから受け付ける前に実行する第2処理手段と、
前記実行指示操作が前記ユーザから受け付けられた場合、印刷を実行する印刷手段と、
を有し、
前記所定のデータ形式の印刷データに含まれるページに関する情報は、前記所定のデータ形式の印刷データに含まれるページ数と、前記所定のデータ形式の印刷データに含まれる各ページのページ番号のうち少なくとも一方であることを特徴とする。
【発明の効果】
【0008】
本発明によれば、情報処理装置から受信された印刷データに含まれるページに関する処理をより適切に実行することが可能となる。
【図面の簡単な説明】
【0009】
【発明を実施するための形態】
【0010】
<第1実施形態>
図1は、本実施形態に係る印刷装置の概略構成を示す図である。本実施形態の印刷装置は、原稿上の画像を読取る読取部を備えて複写機として機能するものや20機能を加えた複合機(MFP:Multi-Function Peripheral)であっても良い。
【0011】
図1において、印刷装置100は、プリンタコントローラ120、プリンタエンジン150、HDD161、入出力部162を含んで構成される。また、印刷装置100は、ネットワーク191を介して、情報処理装置であるホストコンピュータ190に接続可能である。プリンタコントローラ120は、HDDインターフェース(I/F)121、入出力部I/F122、ROM I/F125、メモリコントローラ126を有する。また、プリンタコントローラ120は、ホストI/F127、CPU(Central Processing Unit)128、コントローラエンジンインターフェース129、画像処理部130を有する。これらは、システムバス132を介して接続される。さらに、プリンタコントローラ120は、FlashROM123及びRAM124を有し、それぞれROM I/F125及びメモリコントローラ126を介してシステムバス132に接続される。
【0012】
CPU128は、マイクロプロセッサ(マイクロコンピュータ)形態の中央演算処理部であり、プログラムの実行やハードウェアの起動により印刷装置100全体の動作を制御する。FlashROM123は、CPU128が実行するためのプログラムや印刷装置100の各種動作に必要な各種データを格納する。RAM124は、CPU128のワークエリアとして用いられたり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶させたりする。
【0013】
画像処理部130は、各種画像処理を行い、例えば、印刷装置100で扱う印刷データ(例えば、ページ記述言語で表されたデータ)を画像データ(ビットマップ画像データ)へ展開(変換)する処理やその他の画像処理を行う。また、画像処理部130は、入力された印刷データに含まれる画像データの色空間(たとえばYCbCr)を、標準的なRGB色空間(たとえばsRGB)に変換する。また、画像処理部130は、画像データに対し、構造解析や、有効な(印刷装置100が印刷処理可能な)画素数への解像度変換、画像解析、画像補正等、様々な画像処理を必要に応じて施す。なお以下では、印刷データから変換された画像データに対する構造解析も、印刷データに対する構造解析とみなすものとして説明する。画像処理によって得られた画像データは、RAM124または、HDD161に格納される。
【0014】
プリンタエンジン150は、画像形成を行う印刷部である。プリンタエンジン150は、インクジェットヘッド151、カッタユニット152、搬送モータ153、プリンタコントローラ120とのインターフェース154、光学センサ155を備える。各部位は、システムバス156を介して接続されている。
【0015】
インクジェットヘッド151は、画像の印刷を行う印刷部であり、画像データに基づいてシート上に画像を印刷する。インクジェットヘッド151は、例えば、複数色分の印刷ヘッドを複数保持し、シートの搬送に同期させて、印刷ヘッドからインクを吐出させてシート上に画像を形成する。なお、本実施形態に係る印刷装置は、記録材としてインクを用いたインクジェット方式のプリンタを例に挙げて説明するが、これに限定されるものではない。本発明は、サーマルプリンタ(昇華型、熱転写型など)、ドットインパクトプリンタ、LEDプリンタ、レーザープリンタなどの電子写真方式など、様々な印刷方式の印刷部に適用可能である。
【0016】
カッタユニット152は、本実施形態において印刷用の記録媒体として用いられるロール紙を切断する機構である。カッタユニット152は、画像印刷後のロール紙を所定の長さにカットする。
【0017】
搬送モータ153は、ロール紙を搬送させる搬送ローラを駆動させるためのモータであり、CPU128によって制御される。光学センサ155は、記録媒体の属性値を測定するための測定手段であり、発光素子としてのLED(Light Emitting Diode)、正反射光受光素子、拡散光受光素子等を含んで構成される反射型光学センサである。印刷装置100は、光学センサ155を使用し、プラテン上にある用紙の正反射光、拡散反射光の強度や、用紙の厚みなどの属性値を測定する。
【0018】
入出力部162は、ユーザが種々の操作を行うためのハードキーやパネル、またユーザに種々の情報を表示(通知)するための表示部を含む。また、入出力部162は、ユーザへの情報の表示は音声発生器からの音響情報に基づく音響(ブザー、音声等)を出力することによって行ってもよい。給紙時において、ユーザは入出力部162を使用して、用紙種選択を行い、正しい用紙種を印刷装置100に伝えることにより、印刷装置100は、用紙種毎に設定された搬送を行うことができる。
【0019】
HDD161は、不揮発性の記憶領域であり、CPU128が実行するためのプログラム、印刷データ、印刷データの印刷装置100の各種動作に必要な設定情報を記憶させたり、読み出したりすることが可能である。なお、HDD161に代えて、フラッシュメモリなど、その他の大容量記憶装置を用いてもよい。
【0020】
なお、本実施形態では、入出力部162は印刷装置100の内部に存在するが、これに限定されず、例えばネットワーク191を介して外付けの構成として接続されてもよい。また、ホストコンピュータ190が入出力部162を兼ねていてもよい。また、印刷装置は、入出力部162の他に、ネットワーク191等を介して他の入出力部が更に接続可能であってもよい。
【0021】
ホストコンピュータ190は、例えば、印刷データの供給源となる情報処理装置である。ホストコンピュータ190は、本実施形態ではPCであるものとするが例えば、画像読取用のリーダ、デジタルカメラ、スマートフォンなど、印刷データの供給源となるようなデータ提供装置であれば良い。ホストI/F127はホストコンピュータ190よりストリーム通信による印刷データの受信を行い、供給された印刷データは、HDDインターフェース(I/F)121を介してHDD161に保存される。本実施形態においてストリーム通信とは、ホストコンピュータ190によって1つのデータが分割されることで生成される複数の分割データを順に通信する形態を指す。すなわち、印刷装置100は、複数の分割データを全て受信することで、分割前の1つのデータを受信することとなる。各機器と印刷装置100との接続形態は、ネットワーク191を介したものに限定するものではなく、例えば、無線通信や有線通信によって装置間が直接接続されてもよい。
【0022】
ここで、ホストコンピュータ190から印刷装置100に対して印刷データを送信する方法について説明する。本実施形態では、ホストコンピュータ190からプリンタドライバを用いて印刷装置100に対して印刷データを送信する方法(送信方法1)があるものとする。また、ホストコンピュータ190からプリンタドライバを用いずに印刷装置100に対して印刷データを送信する方法(送信方法2)があるものとする。
【0023】
送信方法1にて送信される印刷データには、ジョブデータが付される。ここでジョブデータとは、印刷データに含まれるページ数や印刷データによって印刷される画像のサイズ等の印刷データ情報及び、画像の回転や拡大/縮小等の印刷に関する設定情報を印刷装置100に通知するためのデータである。またジョブデータとは、プリンタドライバによって生成され、印刷データに付される情報である。
【0024】
送信方法2は、例えば、LPRコマンドを用いてコマンドラインから印刷データを印刷装置100に対して送信する方法である。また例えば、FTPクライアントを用いて印刷データを印刷装置100に対して送信する方法である。送信方法2によって送信される印刷データには、ジョブデータが付されない。
【0025】
印刷データに基づく印刷処理を開始する方法は大別して印刷開始方法1、印刷開始方法2の二通りがある。印刷開始方法1は、ホストコンピュータ190から受信した印刷データに基づく処理を、印刷データ受信後の印刷装置100に対するユーザ操作(印刷の実行指示操作)無しに、印刷装置100が自動で開始する方法である。印刷開始方法2は、ホストコンピュータ190から受信した印刷データに基づく処理を、印刷データ受信後の印刷装置100に対するユーザ操作(印刷の実行指示操作)が行われたことに基づいて、印刷装置100が開始する方法である。なおホストコンピュータ190から受信された印刷データは、HDD161内の、ボックスと呼ばれる所定の保存領域に保存される。印刷装置100は、ユーザから所定の操作を受け付けることで、ボックスに格納された印刷データを表示する画面を表示可能である。ユーザが、当該画面から印刷データを選択し、選択した印刷データを印刷するための印刷の実行指示操作を実行することで、印刷開始方法2が実行される。なお印刷開始方法2において、印刷データに含まれるページ数や印刷データによって印刷される画像のサイズ等の印刷データ情報及び、画像の回転や拡大/縮小等の印刷に関する設定操作(印刷設定操作)を印刷装置100において受け付けてもよい。そして、印刷設定操作が印刷装置100において受け付けられた後、印刷の実行指示操作が行われても良い。また、印刷の実行指示操作を受け付ける前に印刷装置100において印刷設定操作を受け付け可能な形態と、印刷の実行指示操作を受け付ける前に印刷装置100において印刷設定操作を受け付けない形態の両方が、適宜用いられても良い。本実施形態では、送信方法1にて送信される印刷データに基づく印刷が、印刷開始方法2によって開始される場合は、印刷の実行指示操作を受け付ける前に印刷装置100において印刷設定操作を受け付けない形態が用いられるものとする。一方、送信方法2にて送信される印刷データに基づく印刷が、印刷開始方法2によって開始される場合は、印刷の実行指示操作を受け付ける前に印刷装置100において印刷設定操作を受け付け可能な形態が用いられるものとする。
【0026】
ユーザは、ホストコンピュータ190のプリンタドライバから送信する印刷データに基づく印刷をいずれの方法にて開始させるかの設定を、データ送信前にホストコンピュータ190のプリンタドライバ上において実行可能である。このときいずれの設定が行われているかを示す設定情報が、送信方法1でプリンタドライバから送信される印刷データに含まれる。そのため、印刷装置100は、受信された印刷データに含まれる設定情報を参照することで、いずれの方法にて印刷を開始するかを特定する。またユーザは、印刷装置100が受信した印刷データに基づく印刷をいずれの方法にて開始させるかの設定を、データ受信前に印刷装置100上において実行可能である。印刷装置100は、印刷データを受信した場合、この設定の内容に基づいて、いずれの方法にて印刷を開始するかを特定する。なお、プリンタドライバから送信される印刷データに含まれる設定情報によって示される設定と、印刷装置100において実行される設定とが異なる場合、どちらの設定を優先するかは適宜設定可能である。本実施形態では、このような場合、プリンタドライバから送信される印刷データに含まれる設定情報によって示される設定が優先されるものとする。また、プリンタドライバが用いられずに送信される(送信方法2で送信される)印刷データには、印刷開始方法1と印刷開始方法2のいずれにて印刷を開始するかを示す情報が含まれない。そのため、プリンタドライバが用いられずに送信される印刷データに基づく印刷は、印刷装置100において実行される設定に基づいて、印刷開始方法1と印刷開始方法2のいずれかによって実行される。
【0027】
上述の印刷開始方法2のように、印刷対象の印刷データのページ番号の設定をユーザから受け付け可能な形態では、受信した印刷データに含まれるページ数を、印刷装置100が把握する必要がある。そして、印刷装置100は、上述したように、ホストコンピュータ190からストリーム通信によって印刷データを受信する。一般に、印刷装置100は、ストリーム通信中に逐次受信される印刷データを解析することで、印刷データに含まれるページ数をストリーム通信中に把握する。しかしながら例えば、受信される印刷データがPDF(Portable Document Format)やHP-GL/2等のデータ形式であり、且つ印刷データにジョブデータが付されていない場合がある。この場合、印刷装置100は、ストリーム通信の完了によって印刷データ全体を全て受信し終わった状態でなければ、当該印刷データを構造解析することができない。構造解析とは、PDFやHP-GL/2等のデータ形式のデータを構成するデータを解析し、各種情報を取得する処理である。なお構造解析は、PDFやHP-GL/2等のデータ形式のデータに対して行われ、それらのデータに付されることがあるが、上記のデータ形式のデータではないジョブデータに対しては行われない。また構造解析には、データを構成する文字列の解析等の処理の他、印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号に関する情報を取得するための処理も含まれる。そのため、印刷装置100は、ストリーム通信の完了によって印刷データ全体を全て受信し終わった状態でなければ、当該印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号を把握することができない。ひいては印刷装置100は、受信した印刷データに基づく印刷の指示操作を受け付ける前において、当該印刷データに含まれるページに関する処理を実行することができない。
【0028】
また、当該印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号の把握は、当該印刷データの受信経路(具体的には、プリンタドライバを介して受信されたか否か)に基づく適切な方法が存在する。上述したように、当該印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号は、構造解析によって把握することが可能である。しかし、印刷データにジョブデータが付されている場合は、ジョブデータを解析することでも上記の把握は可能であり、且つ、ジョブデータの解析は、構造解析よりも速く且つリソースを消費せずに実行することが可能である。そのため、当該印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号は、構造解析によって把握を一律、構造解析によって実行する形態では、上記把握に時間がかかったり、リソースが無駄に消費されたりする。
【0029】
そこで本実施形態では、受信した印刷データがPDF等のデータ形式であり、且つ印刷データにジョブデータが付されていない場合、ストリーム通信の完了によって印刷データ全体を受信し終わった後で且つ印刷の実行指示操作を受け付ける前に構造解析を実行する。そして、当該構造解析によって把握した情報に関する処理を、印刷の実行指示操作を受け付ける前に実行可能な形態とする。具体的には例えば、当該構造解析によって把握した情報を表示する処理や、当該構造解析によって把握した情報を用いる印刷設定を、印刷の実行指示操作を受け付ける前に実行可能な形態とする。
【0030】
また、プリンタドライバを介して受信されたか否かに基づいて、印刷データに含まれるページに関する情報を適切に取得する形態とする。
【0031】
図2は、本実施形態において印刷装置100が実行する処理を示すフローチャートである。なお、本フローチャートが示す処理は、例えば、CPU128が、FlashROM123等に格納されたプログラムをRAM124に読み出して実行することにより実現される。
【0032】
S201では、CPU128は、ホストコンピュータ190とのストリーム通信によって、印刷データの受信を開始する。なお上述したように、ストリーム通信ではCPU128は、分割データを順に通信する。
【0033】
S202では、CPU128は、受信した分割データを解析する。CPU128は、解析の結果、分割データ内にジョブデータが付されていることを特定した場合は、当該ジョブデータを解析し、当該ジョブデータによって示される各種印刷設定情報を特定する。これにより、印刷データに含まれるページ数等が特定される。なおCPU128は、分割データ内にジョブデータが付されていることを特定しなかった場合は、印刷設定情報を特定せずに、次のステップに進む。なお上述したように、分割データ内にジョブデータが付されているケースとは、分割データが、プリンタドライバが用いられて送信されているケースである。
【0034】
S203では、CPU128は、受信された分割データを、HDD161内のボックスへ保存する。
【0035】
S204では、CPU128は、全ての分割データを受信したか否かを判定する。最後に送信される分割データには、最後に送信される分割データであることを示す情報が含まれている。そのため、CPU128は、S202の解析により、最後に送信される分割データであることを示す情報を特定した場合は、YESと判定し、最後に送信される分割データであることを示す情報をまだ特定していない場合は、NOと判定する。CPU128は、YESと判定した場合、受信した全ての分割データを結合することで1つの印刷データを生成し、HDD161内のボックスへ保存し、S205に進む。一方CPU128は、NOと判定した場合、S201に戻り、まだ受信していない残りの分割データを受信する。
【0036】
S205では、CPU128は、受信した印刷データを印刷開始方法1によって印刷するか否かを判定する。CPU128は、YESと判定した場合、S206に進み、NOと判定した場合、S211に進む。本判定は、上述したように、印刷データに含まれる設定情報や、印刷データの送信方法、印刷装置100に対して予め行われている設定に基づいて行われる。
【0037】
S206では、CPU128は、S201で受信された印刷データより前に受信された他の印刷データに基づく印刷を実行中か否かを判定する。CPU128は、YESと判定した場合、S206を再び実行し、S201で受信された印刷データより前に受信された他の印刷データに基づく印刷が完了するまで処理を繰り返す。一方CPU128は、NOと判定した場合、S207に進む。本処理により、CPU128は、構造解析を、印刷を実行していない状態で実行することができる。ひいては、印刷と構造解析が同時に行われることによりプリンタコントローラ120のリソース競合が生じてしまうことを抑制することができ、当該リソース競合によって構造解析が失敗してしまうことを抑制することができる。なお全ての構造解析が、他の印刷データに基づく印刷が実行されていない状態で実行されなくともよく、プリンタコントローラ120のリソース消費が少ない一部の構造解析については、他の印刷データに基づく印刷が実行されている状態であっても実行されて良い。
【0038】
S207では、CPU128は、S201で受信した印刷データの構造解析を実行する。そして、CPU128は、構造解析によって解析された結果に基づいて、印刷データを適宜変換したり、印刷データに対して画像処理を実行する。具体的には例えば、CPU128は、印刷データに基づいてRGBデータを生成する。なおS201で受信した印刷データが、PDFデータではなく、JPEG形式のデータ等の構造解析が必要ないデータであった場合は、構造解析は省略されてよい。
【0039】
S208では、CPU128は、S201で受信した印刷データに基づく印刷を開始する。なおこのとき、S207の構造解析結果やジョブデータ等によって特定済みのページ数の情報に基づいて、印刷データに含まれるページ数や、現在印刷中のページの番号、印刷の進捗等を表示しても良い。またここでは、印刷開始方法1が実行されるため、印刷データ受信後の印刷装置100に対するユーザ操作(印刷の実行指示操作)無しに、印刷が実行される。なおこの時実行される印刷は、S201で受信した印刷データに含まれる全てのページの印刷(全ページ印刷)である。なおプリンタドライバ上で印刷対象のページ指定が行われていた場合であっても、S201で受信した印刷データには、プリンタドライバで指定されたページのみ含まれるため、ここでは全ページ印刷が行われる。
【0040】
S209では、CPU128は、受信した印刷データに含まれるすべてのページに基づく印刷が完了したら、印刷を終了する。
【0041】
S210では、CPU128は、S201で受信された印刷データに含まれるページ数を表示可能に制御する。これにより以降、ユーザによって、印刷データに含まれるページ数の表示に関わる操作が実行された場合、印刷データに含まれるページ数を表示することができる。印刷データに含まれるページ数の表示に関わる操作とは例えば、印刷履歴を表示するための操作である。印刷履歴とは過去に行われた印刷に関する情報であり、印刷履歴により、過去に行われた印刷において何ページの印刷が行われたかが示される。また、印刷データに含まれるページ数の表示に関わる操作とは例えば、ボックス内の印刷データを選択して、選択した印刷データを印刷するための選択画面を表示するための操作である。ユーザは、当該選択画面で、S208で印刷された印刷データを選択し、印刷の実行指示操作を実行することで、当該印刷データを再び印刷することが可能である。CPU128は、当該選択画面において、S201で受信され、S208で印刷された印刷データに含まれるページ数を表示しても良い。また、メンテナンスの実行タイミングの制御等において、既にS208によって印刷完了している印刷データに含まれるページ数が用いられても良い。なおこのタイミングでは、印刷装置100は、印刷データに含まれるページ数を表示可能な状態に移行するだけであり、印刷データに含まれるページ数を表示すること自体は行わなくて良い。その後CPU128は、本フローチャートの処理を終了する。
【0042】
S205-NOの場合に実行されるS211では、S201で受信した印刷データがプリンタドライバで送信されたものか否か(送信方法1で送信されたか否か)を判定する。CPU128は、YESと判定した場合、S223に進む。またCPU128は、NOと判定した場合、S212に進む。
【0043】
S212では、CPU128は、S201で受信された印刷データに含まれるページに関する処理を実行しないように制御する。これによりCPU128は、S201で受信された印刷データに含まれるページに関する処理を実行可能なように制御するまでの間、ユーザによって、S201で受信された印刷データに含まれるページに関する処理を実行しない。S201で受信された印刷データに含まれるページに関する処理とは例えば、S201で受信された印刷データに含まれるページ数を、上述した選択画面おいて表示する処理である。そのためCPU128は、S201で受信された印刷データに含まれるページに関する処理を実行可能なように制御するまでの間、選択画面において、S201で受信された印刷データに含まれるページ数を表示しない。あるいは、選択画面において、S201で受信された印刷データに含まれるページ数が正常でない値(例えば0)であるかのように表示する。またS201で受信された印刷データに含まれるページに関する処理は、S201で受信された印刷データの印刷における、印刷対象のページ指定操作を受け付けるための処理であっても良い。すなわち、CPU128は、ボックス内のS201で受信された印刷データに関しては、ページ指定印刷の実行指示を受け付けないよう制御しても良い。なおこの形態においても、CPU128は、印刷対象の印刷データのページ番号を指定しない印刷(全ページ印刷等)の実行指示操作は受け付け可能であるものとする。また、印刷装置100が印刷データに含まれるページに関する印刷設定以外の印刷設定については受け付け可能であるものとする。
【0044】
なお、S211―NOであった場合、S201で受信した印刷データが、PDFデータではなく、JPEGデータ等の構造解析が必要ないデータであるか否かを判定しても良い。そして、S201で受信した印刷データが、JPEGデータ等の構造解析が必要ないデータであったと判定された場合は、S212では、S201で受信された印刷データに含まれるページ数を表示可能に制御しても良い。本実施形態では、JPEGデータに含まれるページは基本的に1つであるため、S201で受信した印刷データがJPEGデータである場合は、CPU128は、S201で受信した印刷データに含まれるページ数が1であることを表示する。
【0045】
S213では、CPU128は、全ページ印刷の実行指示操作が受け付けられたか否かを判定する。CPU128は、YESと判定した場合、S214に進み、NOと判定した場合、S219に進む。
【0046】
S213-YESの場合に実行されるS214では、CPU128は、S201で受信された印刷データ以外の他の印刷データに基づく印刷を実行中か否かを判定する。CPU128は、YESと判定した場合、S214の判定を繰り返し、NOと判定した場合、S215に進む。
【0047】
S215では、CPU128は、S201で受信した印刷データの構造解析を実行する。本処理は、S207と同様である
S216では、S201で受信した印刷データに基づく印刷を開始する。本処理は、S208と同様である
S217では、CPU128は、受信した印刷データに含まれるすべてのページに基づく印刷が完了したら、印刷を終了する。
【0048】
S218では、CPU128は、S201で受信された印刷データに含まれるページ数を表示可能に制御する。本処理は、S210と同様である。その後CPU128は、本フローチャートの処理を終了する。
【0049】
S213-NOの場合に実行されるS219では、CPU128は、S201で受信された印刷データ以外の他の印刷データに基づく印刷を実行中か否かを判定する。CPU128は、YESと判定した場合、S213に戻り、NOと判定した場合、S220に進む。
【0050】
S220では、CPU128は、S201で受信した印刷データの構造解析を実行する。本処理は、S207と同様である。なおこのとき、S207と同様の構造解析ではなく、簡易構造解析が実行されても良い。ここで簡易構造解析とは、S207やS215で実行される構造解析のなかの一部の解析であり、印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号を把握するための解析である。言い換えればCPU128はこのとき、印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号を把握するための解析以外の構造解析は実行しなくても良い。
【0051】
S221では、CPU128は、S220における構造解析が成功したか否かを判定する。具体的にはCPU128は、S220における構造解析により印刷データに含まれるページ数や、当該印刷データに含まれる各ページのページ番号を把握・特定できたか否かを判定する。CPU128は、YESと判定した場合、S222に進み、NOと判定した場合、S213に戻る。
【0052】
S222では、CPU128は、S201で受信された印刷データに含まれるページ数を表示可能に制御する。具体的にはCPU128は、構造解析の結果を用いることで、S201で受信された印刷データに含まれるページ数を上述した選択画面で表示可能になる。これにより、ユーザは、選択画面において、S201で受信された印刷データに含まれるページ数を把握することができ、印刷対象の印刷データの選択における利便性が向上する。なおこのときCPU128は、構造解析の結果を用いることで、S201で受信された印刷データにおけるページ指定印刷の実行指示を受け付け可能なように制御しても良い。その後、CPU128は、S224に進む。
【0053】
S211-YESの場合に実行されるS223では、CPU128は、S201で受信された印刷データに含まれるページ数を表示可能に制御する。S201で受信した印刷データがプリンタドライバで送信されたものであるため、印刷データに含まれるページに関する情報はジョブデータによって特定されている。そのためCPU128は、ジョブデータの解析の結果を用いることで、S201で受信された印刷データに含まれるページ数を上述した選択画面で表示可能になる。なおこのときCPU128は、ジョブデータの解析の結果を用いることで、S201で受信された印刷データにおけるページ指定印刷の実行指示を受け付け可能なように制御しても良い。その後、CPU128は、S224に進む。
【0054】
S224では、CPU128は、S201で受信された印刷データに基づく印刷の実行指示操作がユーザから受け付けられたか否かを判定する。S201で受信された印刷データに基づく印刷の実行指示操作は、例えば、選択画面においてS201で受信された印刷データが選択されることで行われる。CPU128は、YESと判定した場合、S225に進み、NOと判定した場合、印刷の実行指示操作が受け付けられるまでS224の判定を繰り返す。
【0055】
S225では、CPU128は、S201で受信された印刷データ以外の他の印刷データに基づく印刷を実行中か否かを判定する。CPU128は、YESと判定した場合、S225の判定を繰り返し、NOと判定した場合、S226に進む。
【0056】
S226では、CPU128は、S201で受信した印刷データの構造解析を実行する。本処理は、S207と同様である。なお、S220で構造解析が実行されていた場合は、S226において、S220で実行された解析について省略されても良い。
【0057】
S227では、CPU128は、S201で受信した印刷データに基づく印刷を開始する。
【0058】
S228では、CPU128は、受信した印刷データに含まれるすべてのページに基づく印刷が完了したら、印刷を終了する。
【0059】
S229では、CPU128は、S201で受信された印刷データに含まれるページ数を表示可能に制御する。本処理は、S210と同様である。その後CPU128は、本フローチャートの処理を終了する。
【0060】
このような形態とすることで、ページ情報の取得のために構造解析が必要なデータに含まれるページに関する処理を適切に実行することが可能となる。
【0061】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に共有し、そのシステムあるいは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしても良い。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしても良い。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしても良い。
【符号の説明】
【0062】
100 印刷装置
108 CPU