(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022156461
(43)【公開日】2022-10-14
(54)【発明の名称】プリンタとプリンタのためのコンピュータプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20221006BHJP
H04N 1/00 20060101ALI20221006BHJP
B41J 29/00 20060101ALI20221006BHJP
【FI】
G06F3/12 353
G06F3/12 305
G06F3/12 344
H04N1/00 Z
B41J29/00 H
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021060172
(22)【出願日】2021-03-31
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】ビザヤン スシンダラン
(72)【発明者】
【氏名】坂 尚道
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061AS02
2C061CK01
2C061HJ04
2C061HK11
2C061HK15
2C061HK19
2C061HN05
2C061HN18
2C061HN19
2C061HP00
2C061HQ01
2C061HV01
2C061HV35
5C062AA02
5C062AA05
5C062AA13
5C062AA35
5C062AB22
5C062AB38
5C062AB40
5C062AB42
5C062AC04
5C062AC22
5C062AC34
5C062AE15
(57)【要約】
【課題】IPP方式に従って印刷を実行するプリンタにおいて、適切な印刷結果をユーザに提供することが可能な技術を提供する。
【解決手段】プリンタは、IPPに従って、端末装置から印刷設定データを受信し、印刷部数がM(Mは2以上の整数)であり、かつ、ページ数データがN(Nは2以上の整数)を示し、かつ、後処理データがステープル処理を実行すべきことを示す場合に、IPPに従って、端末装置から少なくともNページ分の印刷データを受信する。プリンタは、端末装置から受信される特定のデータを利用して、端末装置において、コレート印刷とアンコレート印刷とのどちらがユーザによって選択されたのか、を判断する。プリンタは、アンコレート印刷が選択されたと判断する場合に、印刷データに従った印刷を印刷実行部に実行させるとともに、ステープル処理を印刷実行部に実行させない。
【選択図】
図2
【特許請求の範囲】
【請求項1】
プリンタであって、
印刷実行部と、
IPP(Internet Printing Protocolの略)に従って、端末装置から印刷設定データを受信する第1の受信部であって、前記印刷設定データは、1部当たりのページ数を示すページ数データと、後処理に関する情報を示す後処理データであって、ステープル処理を実行すべきか否かを示すステープルデータを含む前記後処理データと、を含む、前記第1の受信部と、
印刷部数がM(Mは2以上の整数)であり、かつ、前記ページ数データがN(Nは2以上の整数)を示し、かつ、前記後処理データが前記ステープル処理を実行すべきことを示す場合に、前記IPPに従って、前記端末装置から少なくともNページ分の印刷データを受信する第2の受信部と、
前記端末装置から受信される特定のデータを利用して、前記端末装置において、コレート印刷とアンコレート印刷とのどちらがユーザによって選択されたのか、を判断する判断部と、
前記コレート印刷が選択されたと判断される場合に、前記少なくともNページ分の印刷データに従った印刷を前記印刷実行部に実行させるとともに、前記ページ数データに従ったタイミングで前記ステープル処理を前記印刷実行部に実行させる第1の印刷制御部と、
前記アンコレート印刷が選択されたと判断される場合に、前記少なくともNページ分の印刷データに従った印刷を前記印刷実行部に実行させるとともに、前記ステープルデータが前記ステープル処理を実行すべきことを示すにも関わらず、前記ステープル処理を前記印刷実行部に実行させない第2の印刷制御部と、
を備える、プリンタ。
【請求項2】
前記後処理データは、さらに、オフセット処理を実行すべきか否かを示すオフセットデータを含み、
前記第2の印刷制御部は、さらに、前記アンコレート印刷が選択されたと判断される場合に、前記オフセットデータが、前記オフセット処理を実行すべきことを示すのか、前記オフセット処理を実行すべきでないことを示すのか、に関わらず、Mページ分の印刷データに従った印刷を前記印刷実行部に実行させる毎に、前記オフセット処理を前記印刷実行部に実行させる、請求項1に記載のプリンタ。
【請求項3】
前記特定のデータは、前記印刷設定データに含まれる特定のパラメータを含み、
前記特定のパラメータは、前記端末装置において、前記コレート印刷と前記アンコレート印刷とのどちらが前記ユーザによって選択されたのか、を示すパラメータである、請求項1又は2に記載のプリンタ。
【請求項4】
前記第2の受信部は、前記端末装置から(M×N)ページ分の印刷データのそれぞれを順次受信し、
前記特定のパラメータは、連続する同じ印刷データの個数を示す第1のパラメータを含み、
前記判断部は、
前記第1のパラメータが1を示す場合に、前記コレート印刷が選択されたと判断し、
前記第1のパラメータが2以上を示す場合に、前記アンコレート印刷が選択されたと判断する、請求項3に記載のプリンタ。
【請求項5】
前記特定のパラメータは、multiple-document-handling及びsheet-collateの少なくとも一方である第2のパラメータを含む、請求項3又は4に記載のプリンタ。
【請求項6】
前記第2の受信部は、前記端末装置から(M×N)ページ分の印刷データのそれぞれを順次受信し、
前記特定のデータは、前記(M×N)ページ分の印刷データのうちの1番目に受信される1ページ分の印刷データと、前記(M×N)ページ分の印刷データのうちの2番目に受信される1ページ分の印刷データと、を含み、
前記判断部は、
前記1番目に受信される1ページ分の印刷データと前記2番目に受信される1ページ分の印刷データとが異なる場合に、前記コレート印刷が選択されたと判断し、
前記1番目に受信される1ページ分の印刷データと前記2番目に受信される1ページ分の印刷データとが同じである場合に、前記アンコレート印刷が選択されたと判断する、請求項1から5のいずれか一項に記載のプリンタ。
【請求項7】
前記プリンタは、さらに、
前記アンコレート印刷が選択されたと判断される場合に、前記ステープル処理を実行しないことを示す通知を前記端末装置に送信する通知送信部を備え、
前記第2の印刷制御部は、前記通知が前記端末装置に送信された後に、前記端末装置において、前記ステープル処理を含まない印刷を実行すべきことが前記ユーザによって選択されることに応じて、前記端末装置から第1の応答が受信される場合に、前記少なくともNページ分の印刷データに従った印刷を前記印刷実行部に実行させるとともに、前記ステープルデータが前記ステープル処理を実行すべきことを示すにも関わらず、前記ステープル処理を前記印刷実行部に実行させず、
前記通知が前記端末装置に送信された後に、前記端末装置において、前記ステープル処理を含まない印刷を実行すべきでないことが前記ユーザによって選択されることに応じて、前記端末装置から第2の応答が受信される場合に、前記少なくともNページ分の印刷データに従った印刷は実行されない、請求項1から6のいずれか一項に記載のプリンタ。
【請求項8】
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
IPP(Internet Printing Protocolの略)に従って、端末装置から印刷設定データを受信する第1の受信部であって、前記印刷設定データは、1部当たりのページ数を示すページ数データと、後処理に関する情報を示す後処理データであって、ステープル処理を実行すべきか否かを示すステープルデータを含む前記後処理データと、を含む、前記第1の受信部と、
印刷部数がM(Mは2以上の整数)であり、かつ、前記ページ数データがN(Nは2以上の整数)を示し、かつ、前記後処理データが前記ステープル処理を実行すべきことを示す場合に、前記IPPに従って、前記端末装置から少なくともNページ分の印刷データを受信する第2の受信部と、
前記端末装置から受信される特定のデータを利用して、前記端末装置において、コレート印刷とアンコレート印刷とのどちらがユーザによって選択されたのか、を判断する判断部と、
前記コレート印刷が選択されたと判断される場合に、前記少なくともNページ分の印刷データに従った印刷を印刷実行部に実行させるとともに、前記ページ数データに従ったタイミングで前記ステープル処理を前記印刷実行部に実行させる第1の印刷制御部と、
前記アンコレート印刷が選択されたと判断される場合に、前記少なくともNページ分の印刷データに従った印刷を前記印刷実行部に実行させるとともに、前記ステープルデータが前記ステープル処理を実行すべきことを示すにも関わらず、前記ステープル処理を前記印刷実行部に実行させない第2の印刷制御部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、端末装置から受信される印刷データに従った印刷を実行するプリンタに関する技術を開示する。
【背景技術】
【0002】
特許文献1には、通信装置とプリンタとを備えるシステムが開示されている。プリンタは、IPP(Internet Printing Protocolの略)に従って通信装置から印刷ジョブを受信し、印刷ジョブに従った印刷を実行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書は、IPPに従って印刷を実行するプリンタにおいて、適切な印刷結果をユーザに提供することが可能な技術を提供する。
【0005】
本明細書によって開示されるプリンタは、印刷実行部と、IPP(Internet Printing Protocolの略)に従って、端末装置から印刷設定データを受信する第1の受信部であって、前記印刷設定データは、1部当たりのページ数を示すページ数データと、後処理に関する情報を示す後処理データであって、ステープル処理を実行すべきか否かを示すステープルデータを含む前記後処理データと、を含む、前記第1の受信部と、印刷部数がM(Mは2以上の整数)であり、かつ、前記ページ数データがN(Nは2以上の整数)を示し、かつ、前記後処理データが前記ステープル処理を実行すべきことを示す場合に、前記IPPに従って、前記端末装置から少なくともNページ分の印刷データを受信する第2の受信部と、前記端末装置から受信される特定のデータを利用して、前記端末装置において、コレート印刷とアンコレート印刷とのどちらがユーザによって選択されたのか、を判断する判断部と、前記コレート印刷が選択されたと判断される場合に、前記少なくともNページ分の印刷データに従った印刷を前記印刷実行部に実行させるとともに、前記ページ数データに従ったタイミングで前記ステープル処理を前記印刷実行部に実行させる第1の印刷制御部と、前記アンコレート印刷が選択されたと判断される場合に、前記少なくともNページ分の印刷データに従った印刷を前記印刷実行部に実行させるとともに、前記ステープルデータが前記ステープル処理を実行すべきことを示すにも関わらず、前記ステープル処理を前記印刷実行部に実行させない第2の印刷制御部と、を備えてもよい。
【0006】
この構成によると、プリンタは、アンコレート印刷が選択されたと判断する場合に、ステープルデータがステープル処理を実行すべきことを示すにも関わらず、ステープル処理を実行しない。このために、プリンタは、ユーザが望まない位置でステープル留めが実行された印刷結果をユーザに提供するのを抑制することができる。従って、プリンタは、適切な印刷結果をユーザに提供することができる。
【0007】
上記のプリンタを実現するためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、プリンタによって実行される方法も新規で有用である。また、上記のプリンタと端末装置とを備えるシステムも新規で有用である。
【図面の簡単な説明】
【0008】
【
図2】第1実施例の印刷処理のフローチャートを示す。
【
図5】比較例の印刷結果と第1実施例の印刷結果とを示す。
【
図6】第2実施例の印刷処理のフローチャートを示す。
【発明を実施するための形態】
【0009】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、PC10とプリンタ100とを備える。各デバイス10,100は、同じLAN(Local Area Networkの略)6に所属しており、LAN6を介して相互に通信可能である。LAN6は、有線LAN及び無線LANのどちらであってもよい。
【0010】
(PC10の構成)
PC10は、据置型のPCである。変形例では、PC10は、例えばノートPC、携帯電話、スマートフォン、タブレットPC等の可搬式のデバイスであってもよい。PC10は、表示部12と、通信インターフェース(以下では、インターフェースを「I/F」と記載する)14と、操作部16と、を備える。
【0011】
表示部12は、様々な情報を表示するためのディスプレイである。通信I/F14は、LAN6に接続されている。通信I/F14は、無線I/Fであってもよいし、有線I/Fであってもよい。操作部16は、キーボード及びマウスを備える。ユーザは、操作部116を操作することによって、様々な指示をPC10に入力することができる。
【0012】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OS(Operating Systemの略)プログラム36(以下では単に「OS36」と記載する)とプリントアプリケーション38(以下では単に「アプリ38」と記載する)とを記憶する。
【0013】
OS36は、PC10の基本的な動作を実現するためのプログラムである。アプリ38は、IPPに従った手順でプリンタ100に印刷を指示するためのプログラムである。アプリ38は、例えばプリンタ100のベンダによって提供されるインターネット上のサーバからPC10にインストールされてもよいし、プリンタ100とともに出荷されるメディアからPC10にインストールされてもよい。また、アプリ38は、プリンタ100のベンダとは異なる事業者によって提供されるインターネット上のサーバからPC10にインストールされてもよい。
【0014】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(即ち、PC10等の周辺装置)である。プリンタ100は、表示部112と、通信I/F114と、印刷実行部118と、制御部130と、を備える。
【0015】
表示部112は、様々な情報を表示するためのディスプレイである。表示部112は、いわゆるタッチパネルであり、ユーザから指示を受け付ける操作部としても機能する。通信I/F114は、LAN6に接続されている。通信I/F114は、無線I/Fであってもよいし、有線I/Fであってもよい。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構である。
【0016】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ134は、プリンタ100を識別する情報であるデバイスID「DN」を記憶している。
【0017】
(プリンタの印刷処理;
図2)
図2を参照して、プリンタ100のCPU132によって実行される印刷処理を説明する。プリンタ100の電源がONされる場合に、
図2の処理が開始される。
【0018】
S10では、CPU132は、通信I/F114を介して、PC10から、IPPに従ったValidate-Job(以下では、「VJ」と記載する)コマンドと、Create-Job(以下では「CJ」と記載する)コマンドと、Send-Document(以下では「SD」と記載する)コマンドと、を受信することを監視する。CPU132は、PC10からこれらのコマンドを受信する場合に、S10でYESと判断してS11に進む。
【0019】
VJコマンドは、ユーザによって指定された印刷設定情報を含む。具体的には、VJコマンドは、後処理データと、パラメータ「copies」と、パラメータ「job-pages-per-set」と、パラメータ「multiple-document-handling」と、パラメータ「page-copies-per-set」と、を含み得る。
【0020】
CJコマンドは、VJコマンドと同じ情報を含む。即ち、VJコマンド及びCJコマンドは、ユーザによって指定された印刷設定情報を含む。
【0021】
SDコマンドは、ジョブIDと、データ形式情報と、印刷データと、を含み得る。ジョブIDは、ジョブを識別するID、即ち、印刷データを識別するIDである。データ形式情報は、印刷データのデータ形式を示す。本実施例では、プリンタ100は、PWG(Printer Working Groupの略)ラスタ形式又はPDF(Portable Document Formatの略)形式の印刷データに従って印刷を実行可能である。このため、データ形式情報は、PWGラスタ形式及びPDF形式のいずれか一方を示す。
【0022】
PC10に表示される印刷設定画面においてユーザが部数を2以上に設定した状況では、PWGラスタ形式では、複数部分の全ての印刷データがPC10からプリンタ100に送信される。この場合、プリンタ100は、1ページ分の印刷データを受信する毎に印刷を順次実行することによって、複数部分の印刷を実行する。一方、PDF形式では、1部分の印刷データのみがPC10からプリンタ100に送信される。この場合、プリンタ100は、1部分の印刷データを複数回利用することによって、複数部分の印刷を実行する。
【0023】
印刷データがPWGラスタ形式である場合には、VJコマンド及びCJコマンド内の印刷設定情報は、パラメータ「multiple-document-handling」を含むこともあるし含まないこともある。印刷データがPDF形式である場合には、印刷設定情報は、当該パラメータを含む。印刷データがPWGラスタ形式である場合には、印刷設定情報は、パラメータ「page-copies-per-set」を含む。印刷データがPDF形式である場合には、印刷設定情報は、当該パラメータを含まない。
【0024】
後処理データは、IPPで定義されているFinishingsデータである。後処理データは、ステープル処理を実行すべきか否かを示すステープルデータ(即ちstapleパラメータ)と、オフセット処理を実行すべきか否かを示すオフセットデータ(即ちjog offsetパラメータ)と、を含む。ステープル処理は、1部当たりのページ数に対応する複数枚の印刷用紙のセットに対してステープル留めを実行する処理である。オフセット処理は、1部当たりのページ数に対応する複数枚の印刷用紙のセット毎にずらして排紙する処理である。
【0025】
パラメータ「copies」は、印刷データの複製を指示するデータである。印刷データがPWGラスタ形式である場合には、copiesは「1」を示す。印刷データがPDF形式である場合には、copiesは、印刷設定画面においてユーザが設定した部数の値を示す。
【0026】
パラメータ「job-pages-per-set」は、1部当たりのページ数を示すデータである。前述のステープル処理では、「job-pages-per-set」の値に対応する複数枚の印刷用紙のセットに対して、ステープル留めが実行される。以下では、当該パラメータのことを「jpps」と記載する。
【0027】
パラメータ「multiple-document-handling」は、コレート印刷を実行すべきかアンコレート印刷を実行すべきかを示すデータである。コレート印刷は、1部当たりのページ数が2以上であり、かつ、部数が2以上である場合に、部単位の順序で印刷する機能である。例えば、1部当たりのページ数が3であり、かつ、部数が2である場合には、1ページ目、2ページ目、3ページ目、1ページ目、2ページ目、3ページ目の順で印刷される。アンコレート印刷は、1部当たりのページ数が2以上であり、かつ、部数が2以上である場合に、ページ単位の順序で印刷する機能である。例えば、1部当たりのページ数が3であり、かつ、部数が2である場合には、1ページ目、1ページ目、2ページ目、2ページ目、3ページ目、3ページ目の順で印刷される。
【0028】
以下では、パラメータ「multiple-document-handling」のことを「mdh」と記載する。mdhは、コレート印刷を実行すべきことを示す「collated」と、アンコレート印刷を実行すべきことを示す「uncollated」と、のいずれか一方の値を示す。PC10において、ユーザによってコレート印刷が選択される場合には、mdhは、値「collated」を示す。一方、PC10において、ユーザによってアンコレート印刷が選択される場合には、mdhは、値「uncollated」を含む。
【0029】
パラメータ「page-copies-per-set」は、連続する同じ印刷データの個数を示すデータである。以下では、当該パラメータのことを「pcps」と記載する。本実施例では、1個の印刷データは、1ページ分の印刷データを意味する。
【0030】
例えば、印刷データのデータ形式がPWGラスタであり、1部当たりのページ数が3であり、かつ、部数が2である状況を想定する。ここで、PC10においてコレート印刷がユーザによって選択された場合には、プリンタ100は、1ページ目、2ページ目、3ページ目、1ページ目、2ページ目、3ページ目の順で6個の印刷データを受信する。この場合、連続する同じ印刷データの個数が「1」であるので、pcpsは「1」を示す。一方、PC10においてアンコレート印刷がユーザによって選択された場合には、プリンタ100は、1ページ目、1ページ目、2ページ目、2ページ目、3ページ目、3ページ目の順で6個の印刷データを受信する。この場合、連続する同じ印刷データの個数が「2」であるので、pcpsは「2」を示す。即ち、PC10において、ユーザによってコレート印刷が選択される場合には、pcpsは「1」を示し、ユーザによってアンコレート印刷が選択される場合には、pcpsは「2」以上の値を示す。従って、pcpsも、mdhと同様に、コレート印刷を実行すべきかアンコレート印刷を実行すべきかを示すデータであると言える。
【0031】
(比較例;
図5)
ここで、
図2の処理の説明を続ける前に、
図5を参照して、比較例を説明する。比較例では、1部当たりのページ数が3であり、部数が2であり、アンコレート印刷及びステープル処理がユーザによって選択された状況を想定する。本比較例では、第1の比較例と第2の比較例とを説明する。第1の比較例は、印刷データのデータ形式がPWGラスタ形式である。第2の比較例は、印刷データのデータ形式がPDF形式である。
【0032】
第1の比較例では、SDコマンドは、データ形式情報「PWGラスタ形式」を含む。VJコマンドは、ステープルデータ「ON」と、copies「1」と、jpps「3」と、を含む。VJコマンドは、mdh及びpcpsを含まない。この場合、プリンタ100は、SDコマンドにおいて、PC10から6ページ分の印刷データのそれぞれを順次受信し、6ページ分の印刷データのそれぞれに従った印刷を順次実行する。プリンタ100は、ステープルデータ「ON」に従って、jppsの値によって示される3ページ毎にステープル処理を実行する。その結果、
図5に示されるように、1ページ目、1ページ目、及び、2ページ目の3ページ分の印刷媒体のセットに対してステープル留めが実行され、2ページ目、3ページ目、及び、3ページ目の3ページ分の印刷媒体のセットに対してステープル留めが実行される。このため、ユーザが望まない位置でステープル留めが実行された印刷結果がユーザに提供されてしまう。
【0033】
第2の比較例では、SDコマンドは、データ形式情報「PDF形式」を含む。VJコマンドは、ステープルデータ「ON」と、copies「2」と、jpps「3」と、mdh「uncollated」と、を含む。VJコマンドは、pcpsを含まない。プリンタ100は、SDコマンドにおいて、PC10から3ページ分(即ち1部分)の印刷データを受信する。プリンタ100は、copies「2」とmdh「uncollated」とに従って、1ページ目の印刷を2回実行し、次いで、2ページ目の印刷を2回実行し、次いで、3ページ目の印刷を2回実行する。プリンタ100は、さらに、ステープルデータ「ON」に従って、jppsの値によって示される3ページ毎にステープル処理を実行する。その結果、第1の比較例と同様のステープル留めが実行される。この場合も、ユーザが望まない位置でステープル留めが実行された印刷結果がユーザに提供されてしまう。
【0034】
上記の問題を避けるために、本実施例では、プリンタ100は、
図2のS11以降の処理を実行する。S11では、CPU132は、SDコマンド内のデータ形式情報がPWGラスタ形式であるのか否かを判断する。CPU132は、データ形式情報がPWGラスタ形式である場合(S11でYES)に、S12をスキップしてS13に進み、データ形式情報がPDF形式である場合(S11でNO)に、S12に進む。
【0035】
S12では、CPU132は、VJコマンド内のcopiesが2以上の値を示すのか否かを判断する。CPU132は、copiesが2以上の値を示す場合(S12でYES)にS13に進み、copiesが1を示す場合(S12でNO)にS40に進む。copiesが1である場合(即ちS12でNO)には、1部の印刷のみが実行される。この場合、ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。そのため、CPU132は、後述するS40において、印刷設定情報に従って印刷を実行することによって、適切な印刷結果をユーザに提供することができる。
【0036】
S13では、CPU132は、VJコマンド内のjpps(即ち1部当たりのページ数)が2以上の値を示すのか否かを判断する。CPU132は、jppsが2以上の値を示す場合(S13でYES)にS14に進み、jppsが1を示す場合(S13でNO)にS40に進む。jppsが1である場合(即ちS13でNO)には、1部当たりのページ数が1である。この場合、ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。そのため、CPU132は、後述するS40において、印刷設定情報に従って印刷を実行することによって、適切な印刷結果をユーザに提供することができる。
【0037】
S14では、CPU132は、VJコマンド内の後処理データを利用して、ステープル処理を実行すべきか否かを判断する。CPU132は、後処理データに含まれるステープルデータが「ON」を示す場合に、S14でYESと判断してS20に進む。一方、CPU132は、ステープルデータが「OFF」を示す場合に、S14でNOと判断してS40に進む。ステープルデータが「OFF」を示す場合(即ちS14でNO)には、ステープル処理が実行されない。この場合、ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。そのため、CPU132は、後述するS40において、印刷設定情報に従って印刷を実行することによって、適切な印刷結果をユーザに提供することができる。
【0038】
S16では、CPU132は、VJコマンドがmdhを含むのか否かを判断する。CPU132は、VJコマンドがmdhを含む場合に、S16でYESと判断してS18に進む。一方、CPU132は、VJコマンドがmdhを含まない場合に、S16でNOと判断してS20に進む。VJコマンドがmdhを含まないということは、印刷データのデータ形式がPWGラスタ形式であることを意味する。
【0039】
S18では、CPU132は、mdhが「uncollated」を示すのか否かを判断する。CPU132は、mdhが「uncollated」を示す場合に、S18でYESと判断してS24に進む。一方、CPU132は、mdhが「collated」を示す場合に、S18でNOと判断してS40に進む。mdhが「collated」を示す場合(S18でNO)には、コレート印刷が実行される。この場合、ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。そのため、CPU132は、後述するS40において、印刷設定情報に従って印刷を実行することによって、適切な印刷結果をユーザに提供することができる。
【0040】
S20では、CPU132は、pcpsが数値を示すのか否かを判断する。CPU132は、pcpsが数値を示す場合に、S20でYESと判断してS22に進む。一方、CPU132は、pcpsが数値以外の記号(例えば、ハイフン「-」、アンパサンド記号「&」等)を示す場合に、S20でNOと判断して、S22以降の処理を実行することなく(即ち印刷することなく)、
図2の処理を終了する。仮に印刷が実行されると、上記の比較例と同様の印刷結果がユーザに提供される可能性があるからである。
【0041】
S22では、CPU132は、pcpsが2以上の値を示すのか否かを判断する。CPU132は、pcpsが2以上の値を示す場合、即ち、アンコレート印刷が実行されるべき場合に、S22でYESと判断してS24に進む。一方、CPU132は、pcpsが1を示す場合、即ち、コレート印刷が実行されるべき場合に、S22でNOと判断してS40に進む。pcpsが1を示す場合(S22でNO)には、コレート印刷が実行される。この場合、ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。そのため、CPU132は、後述するS40において、印刷設定情報に従って印刷を実行することによって、適切な印刷結果をユーザに提供することができる。
【0042】
S24では、CPU132は、印刷設定エラー通知をPC10に送信する。印刷設定エラー通知は、ステープル処理を実行すべきことが要求された(S14でYES)にも関わらず、ステープル処理を含まない印刷を実行すべきか否かをユーザに確認するための通知である。
【0043】
S26では、CPU132は、PC10から、ステープル処理を含まない印刷を実行すべきことを示すOK応答を受信したのか、ステープル処理を含まない印刷を実行すべきでないことを示すNG応答を受信したのか、を判断する。CPU132は、PC10からOK応答を受信する場合に、S26でYESと判断してS30に進む。一方、CPU132は、PC10からNG応答を受信する場合に、S26でNOと判断して、S30の処理を実行することなく(即ち印刷することなく)、
図2の処理を終了する。このように、プリンタ100は、ユーザの意図に応じて、印刷を実行するのか否かを切り替えることができる。
【0044】
S30では、CPU132は、印刷データのデータ形式がPWGラスタ形式である場合には、PC10から順次受信される複数部分の全ての印刷データに基づいて、1ページ分の印刷データを受信する毎に、当該印刷データに従った印刷を実行する。具体的には、CPU132は、1ページ分の印刷データを受信する毎に、当該印刷データに対するRIP(Raster Image Processerの略)処理を実行して、処理済みデータを印刷実行部118に供給する。これにより、印刷実行部118において、処理済みデータによって表わされる画像(即ち当該印刷データによって表わされる画像)の印刷が実行される。ここで、RIPとは、PDLデータをラスタイメージに変換する処理である。
【0045】
CPU132は、印刷データのデータ形式がPDF形式である場合には、PC10から1部分の印刷データを受信した後に、1部分の印刷データをcopiesによって示される値に相当する回数の分だけ複製してアンコレート印刷を実行する。具体的には、CPU132は、まず、1ページ目の印刷データに対するRIP処理を実行し、copiesによって示される値に相当する回数に亘って、処理済みデータを印刷実行部118に供給する。例えば、copiesが「3」を示す場合には、CPU132は、3回に亘って、当該処理済みデータを印刷実行部118に供給する。次いで、CPU132は、2ページ目の印刷データに対するRIP処理を実行して、copiesによって示される値に相当する回数に亘って、処理済みデータを印刷実行部118に供給する。CPU132は、3ページ目以降も同様に処理を実行する。
【0046】
S30では、CPU132は、VJコマンド内の後処理データに含まれるステープルデータがステープル処理を実行すべきことを示す(S14でYES)にも関わらず、ステープル処理を実行すべきことを示すステープルコマンドを印刷実行部118に供給しない。これにより、印刷実行部118において、ステープル処理が実行されない。
【0047】
S30では、CPU132は、さらに、VJコマンド内の後処理データに含まれるオフセットデータがオフセット処理を実行すべきことを示すのか否かに関わらず、オフセット処理を実行すべきことを示すオフセットコマンドを印刷実行部118に供給する。具体的には、CPU132は、copiesによって示される値に対応する個数の処理済みデータを印刷実行部118に供給する毎に、オフセットコマンドを印刷実行部118に供給する。これにより、印刷実行部118において、ページ毎にオフセット処理が実行される。S30が終了すると、
図2の処理が終了する。
【0048】
S40では、CPU132は、PC10から1ページ分以上の印刷データを受信して、1ページ分以上の印刷データのそれぞれに従った印刷を実行する。この点は、S30と同様である。ただし、S30とは異なり、CPU132は、VJコマンド内の後処理データに対応するコマンドを印刷実行部118に供給する。即ち、CPU132は、ステープルデータが「ON」を示す場合には、ステープルコマンドを印刷実行部118に供給し、ステープルデータが「OFF」を示す場合には、ステープルコマンドを印刷実行部118に供給しない。また、CPU132は、オフセットデータが「ON」を示す場合には、オフセットコマンドを印刷実行部118に供給し、オフセットデータが「OFF」を示す場合には、オフセットコマンドを印刷実行部118に供給しない。S40が終了すると、
図2の処理が終了する。
【0049】
(具体的なケース;
図3及び
図4)
図3及び
図4を参照して、
図2の処理によって実現される具体的なケースA及びケースBを説明する。以下では、各デバイスの各CPU(例えばプリンタ100のCPU132等)が実行する処理について、理解の容易化のために各CPUを主体として記載せずに、各デバイスそのもの(例えばプリンタ100等)を主体として記載する。
【0050】
(ケースA;
図3)
図3のケースAは、PWGラスタ形式の印刷データが通信されるケースである。ユーザは、T10において、印刷操作をPC10に実行する。当該印刷操作は、IPPに従った印刷を実行可能なプリンタを検索することを指示する操作である。この場合、PC10は、T12において、検索信号をブロードキャストによってLAN6に送信する。検索信号は、IPPに従った印刷を実行可能であるのか否かを問い合わせるための信号である。検索信号は、所定期間に亘って繰り返し送信される。
【0051】
プリンタ100は、T12において、PC10から検索信号を受信すると、T14において、デバイス名DNを含む応答信号をPC10に送信する。
【0052】
PC10は、T14において、プリンタ100から応答信号を受信すると、T16において、応答信号に含まれるデバイス名DNを含む検索結果を表示する。PC10は、T20において、ユーザから検索結果に含まれるデバイス名DNの選択を受け付けると、T22において、IPPに従ったGet-Printer-Attributes(以下では「GPA」と記載する)をプリンタ100に送信する。GPAは、Capability情報の送信を要求するコマンドである。
【0053】
プリンタ100は、T22において、PC10からGPAを受信すると、T24において、Capability情報をPC10に送信する。Capability情報は、プリンタ100が解釈可能なデータ形式(即ち、PWGラスタ形式及びPDF形式)を示す情報、プリンタ100が利用可能な設定(例えば、ステープル処理、オフセット処理等)を示す情報等を含む。
【0054】
PC10は、T22において、プリンタ100からCapability情報を受信すると、T26において、印刷設定画面を表示する。印刷設定画面は、印刷部数を設定するための領域と、コレート印刷又はアンコレート印刷を選択するための領域と、ステープル処理を実行するのか否かを選択するための領域と、オフセット処理を実行するのか否かを選択するための領域と、OKボタンと、Cancelボタンと、を含む。PC10は、T28において、ユーザから印刷設定の選択及びOKボタンの選択を受け付け、T30において、IPPに従ったVJコマンドをプリンタ100に送信する。VJコマンドは、ユーザによって指定された印刷設定を示す印刷設定情報を含む。
【0055】
ケースAは、ケースA1とケースA2とを含む。ケースA1では、T28において、印刷部数「2」と、コレート「ON」と、ステープル「ON」と、オフセット「OFF」と、がユーザによって選択される。この場合、プリンタ100は、T30において、pcps「1」を含むVJコマンドを受信する。ケースA2は、T28において、コレート「OFF」が選択される点を除いて、ケースA1と同じである。この場合、プリンタ100は、T30において、pcps「2」を含むVJコマンドを受信する。
【0056】
ケースA1では、プリンタ100は、T30において、「ON」を示すステープルデータ及び「OFF」を示すオフセットデータを含む後処理データと、copies「1」と、jpps「3」と、pcps「1」と、を含むVJコマンドを受信する。そして、プリンタ100は、T32において、OK応答をPC10に送信する。その結果、プリンタ100は、T34において、PC10からCJコマンドを受信し、T36において、ジョブIDを生成して生成済みのジョブIDを含むOK応答をPC10に送信する。
【0057】
PC10は、T36において、プリンタ100からOK応答を受信すると、T38において、SDコマンドをプリンタ100に送信する。SDコマンドは、OK応答内のジョブIDと、PWGラスタ形式を示すデータ形式と、印刷データと、を含む。
【0058】
プリンタ100は、T38において、PC10からSDコマンドを受信すると(
図2のS10でYES)、ケースA1では、
図2のS11でYES、S13でYES、S14でYESと判断される。印刷データがPWGラスタ形式であるため、VJコマンドは、mdhを含まない(S16でNO)。そして、ケースA1では、pcpsが「1」である(S20でYES、S22でNO)。
【0059】
プリンタ100は、SDコマンドにおいて、PC10から順次受信される6ページ分の印刷データに基づいて、T60において、6ページ分の印刷データのそれぞれに従った印刷を順次実行する(S40)。この際に、プリンタ100は、印刷設定情報に従って、ステープル処理を実行するとともに、オフセット処理を実行しない。具体的には、プリンタ100は、jppsの値「3」に基づいて、3ページ毎(即ち1部毎)にステープル処理を実行する。その結果、
図5に示されるように、コレート印刷が実行され、1部毎にステープル留めが実行された印刷媒体がユーザに提供される。
【0060】
ケースA2では、pcpsが「2」である(S20でYES、S22でYES)。この場合、プリンタ100は、T40において、印刷設定エラー通知をPC10に送信する(S24)。
【0061】
PC10は、T40において、プリンタ100から印刷設定エラー通知を受信すると、T42において、エラー画面を表示する。エラー画面は、ステープル処理を含まない印刷を実行してよいのか否かを確認するためのメッセージと、OKボタンと、NGボタンとを含む。PC10は、T44において、ユーザからOKボタンの操作を受け付けると、T46において、OK応答をプリンタ100に送信する。
【0062】
プリンタ100は、T46において、PC10からOK応答を受信すると(S26でYES)。そして、プリンタ100は、SDコマンドにおいて、PC10から順次受信される6ページ分の印刷データに基づいて、T70において、6ページ分の印刷データのそれぞれに従った印刷を順次実行する。この際に、プリンタ100は、ステープルデータが「ON」を示すにも関わらずステープル処理を実行せず、かつ、オフセットデータが「OFF」を示すにも関わらずオフセット処理を実行する。具体的には、プリンタ100は、copiesの値「2」に基づいて、2ページ毎にオフセット処理を実行する。その結果、
図5に示されるように、アンコレート印刷が実行され、2ページ毎にオフセットが実行された印刷媒体がユーザに提供される。ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。また、ユーザは、オフセットが実行された印刷媒体を取得することができるので、印刷媒体をページ毎に容易に管理することができる。
【0063】
(ケースB;
図4)
図4のケースBは、PDF形式の印刷データが通信されるケースである。T110~T126は、
図3のT10~T26と同様である。
【0064】
ケースBは、ケースB1とケースB2とを含む。ケースB1では、T128において、印刷部数「2」と、コレート「ON」と、ステープル「ON」と、オフセット「OFF」と、がユーザによって選択される。この場合、プリンタ100は、T130において、mdh「collated」を含むVJコマンドを受信する。ケースB2は、T128において、コレート「OFF」が選択される点を除いて、ケースB1と同じである。この場合、プリンタ100は、T130において、mdh「uncollated」を含むVJコマンドを受信する。
【0065】
ケースB1では、プリンタ100は、T130において、「ON」を示すステープルデータ及び「OFF」を示すオフセットデータを含む後処理データと、copies「2」と、jpps「3」と、mdh「collated」と、を含むVJコマンドを受信する。T132~T138は、
図3のT32~T38と同様である。但し、SDコマンドは、PWGラスタ形式を示すデータ形式に代えて、PDF形式を示すデータ形式を含む。
【0066】
ケースB1では、
図2のS11でNO、S12でYES、S13でYES、S14でYESと判断される。印刷データがPDF形式であるため、VJコマンドは、mdhを含む(S16でYES)。そして、ケースB1では、mdhが「collated」である(S18でNO)。
【0067】
プリンタ100は、SDコマンドにおいて、PC10から3ページ分の印刷データを受信すると、T160において、3ページ分の印刷データのそれぞれに従った印刷を順次実行する(S40)。プリンタ100は、copiesの値「2」に従って、この印刷を2回に亘って実行する。この際に、プリンタ100は、印刷設定情報に従って、ステープル処理を実行するとともに、オフセット処理を実行しない。具体的には、プリンタ100は、jppsの値「3」に基づいて、3ページ毎(即ち1部毎)にステープル処理を実行する。その結果、
図5に示されるように、コレート印刷が実行され、1部毎にステープル留めが実行された印刷媒体がユーザに提供される。
【0068】
ケースB2では、mdhが「uncollated」である(S18でYES)。この場合、プリンタ100は、T140~T150において、
図3のT40~T50と同様の処理を実行する。
【0069】
プリンタ100は、SDコマンドにおいて、PC10から3ページ分の印刷データを受信すると、T170において、3ページ分の印刷データのそれぞれに従った印刷を順次実行する(S30)。プリンタ100は、copiesの値「2」に従って、この印刷を2回に亘って実行する。この際に、プリンタ100は、ステープルデータが「ON」を示すにも関わらずステープル処理を実行せず、かつ、オフセットデータが「OFF」を示すにも関わらずオフセット処理を実行する。具体的には、プリンタ100は、copiesの値「2」に基づいて、2ページ毎にオフセット処理を実行する。その結果、
図5に示されるように、アンコレート印刷が実行され、かつ、2ページ毎にオフセットが実行された印刷媒体がユーザに提供される。ユーザが望まない位置でステープル留めが実行されるという上記の比較例の問題が生じない。また、ユーザは、オフセットが実行された印刷媒体を取得することができるので、印刷媒体をページ毎に容易に管理することができる。
【0070】
(第1実施例の効果)
本実施例では、プリンタ100は、アンコレート印刷がユーザによって選択されたと判断する場合に、ステープルデータが「ON」を示すにも関わらず、ステープル処理を実行しない(
図3及び
図4のケースA2,B2)。従って、プリンタ100は、ユーザが望まない位置でステープル留めが実行された印刷結果をユーザに提供するのを抑制することができる。その結果、プリンタ100は、適切な印刷結果をユーザに提供することができる。
【0071】
(対応関係)
PC10が、「端末装置」の一例である。VJコマンドが、「印刷設定データ」の一例である。jppsが、「ページ数データ」の一例である。mdh又はpcpsが、「特定のデータ」の一例である。pcpsが、「第1のパラメータ」の一例である。印刷設定エラー通知が、「通知」の一例である。
【0072】
図2のS10、
図3のT30、及び、
図4のT130が、「第1の受信部」によって実行される処理の一例である。
図3のT38及び
図4のT138が、「第2の受信部」によって実行される処理の一例である。
図2のS16~S22が、「判断部」によって実行される処理の一例である。
図2のS40、
図3のT60、及び、
図4のT160が、「第1の印刷制御部」によって実行される処理の一例である。
図2のS30、
図3のT70、及び、
図4のT170が、「第2の印刷制御部」によって実行される処理の一例である。
図2のS24が、「通知送信部」によって実行される処理の一例である。
【0073】
(第2実施例;
図6)
続いて、第2実施例を説明する。本実施例では、VJコマンドがpcpsを含まない状況を想定する。本実施例では、
図2の処理に代えて、
図6の処理が実行される。
図6では、S16でNOの場合にS120が実行される点を除くと、
図2の処理と同様である。
【0074】
S120では、CPU132は、1番目に受信された1ページ分の印刷データと、2番目に受信された1ページ分の印刷データと、が同じであるのか否かを判断する。CPU132は、これらの印刷データが同じであると判断する場合(S120でYES)、即ち、アンコレート印刷がユーザによって選択されたと判断する場合に、S24に進む。一方、CPU132は、これらの印刷データが異なると判断する場合(S120でNO)、即ち、コレート印刷がユーザによって選択されたと判断する場合に、S40に進む。
【0075】
(第2実施例の効果)
本実施例では、プリンタ100は、1番目に受信された1ページ分の印刷データと2番目に受信された1ページ分の印刷データとを比較することによって、コレート印刷及びアンコレート印刷のどちらがユーザによって選択されたのかを判断することができる。即ち、プリンタ100は、VJコマンドがpcpsを含まない場合でも、コレート印刷及びアンコレート印刷のどちらがユーザによって選択されたのかを判断することができる。プリンタ100は、アンコレート印刷が選択されたと判断する場合には、ステープル処理を実行しない。従って、プリンタ100は、ユーザが望まない位置でステープル留めが実行された印刷結果をユーザに提供するのを抑制することができる。その結果、プリンタ100は、適切な印刷結果をユーザに提供することができる。本実施例では、1番目に受信された1ページ分の印刷データと2番目に受信された1ページ分の印刷データとが、「特定のデータ」の一例である。
【0076】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0077】
(変形例1)
VJコマンドは、mdhに代えて、パラメータ「sheet-collate」を含んでもよい。当該パラメータは、コレート印刷を実行すべきことを示す「collated」と、アンコレート印刷を実行すべきことを示す「uncollated」と、のどちらかの値を示す。本変形例でも、プリンタ100は、コレート印刷及びアンコレート印刷のどちらがユーザによって選択されたのかを判断することができる。本変形例では、パラメータ「sheet-collate」が、「特定のデータ」及び「特定のパラメータ」の一例である。
【0078】
(変形例2)
印刷データのデータ形式は、PWGラスタ形式に代えて、Post Script、PCL、リニアライズドPDF等であってもよい。PWGラスタ形式、Post Script、PCL、リニアライズドPDF等は、リニアライズにRIP可能なPDL(Page Description Languageの略)データと言い換えることができる。ここで、「リニアライズにRIP可能」とは、1つのジョブの全ての印刷データをプリンタが受信する前に、当該全ての印刷データの一部分に基づいてRIP処理を実行可能であるという意味である。一方で、「リニアライズにRIP不可能」とは、1つのジョブの全ての印刷データをプリンタが受信した後に、RIP処理を開始可能であることを意味する。リニアライズにRIP不可能なデータ形式の例として、PDFが挙げられる。
【0079】
(変形例3)
プリンタ100は、
図2のS30において、オフセットデータが「OFF」を示す場合には、オフセット処理を実行しなくてもよい。一般的に言うと、「第2の印刷制御部」は、オフセットデータがオフセット処理を実行すべきでないことを示す場合に、オフセット処理を印刷実行部に実行させなくてもよい。
【0080】
(変形例4)
図2のS24及びS26が省略されてもよい。即ち、プリンタ100は、アンコレート印刷がユーザによって選択されたと判断する場合に、印刷設定エラー通知を送信することなく、ステープル処理を含まない印刷を実行してもよい。本変形例では、「通知送信部」を省略可能である。
【0081】
(変形例5)上記の実施例では、プリンタ100のCPU32がプログラム36を実行することによって、
図2~
図6の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0082】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0083】
2:通信システム、6:LAN、10:PC、12:表示部、14:通信I/F、16:操作部、30:制御部、32:CPU、34:メモリ、36:OSプログラム、38:プリントアプリ、100:プリンタ、112:表示部、14:通信I/F、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム