JP2019087117A - 印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム - Google Patents

印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム Download PDF

Info

Publication number
JP2019087117A
JP2019087117A JP2017216137A JP2017216137A JP2019087117A JP 2019087117 A JP2019087117 A JP 2019087117A JP 2017216137 A JP2017216137 A JP 2017216137A JP 2017216137 A JP2017216137 A JP 2017216137A JP 2019087117 A JP2019087117 A JP 2019087117A
Authority
JP
Japan
Prior art keywords
printing
print
data
block data
band
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017216137A
Other languages
English (en)
Inventor
勇二 小▲濱▼
Yuji Kohama
勇二 小▲濱▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2017216137A priority Critical patent/JP2019087117A/ja
Publication of JP2019087117A publication Critical patent/JP2019087117A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】印刷装置の種類が複数有り得る状況で印刷を効率的に実現する。【解決手段】印刷制御装置は、印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることによりブロックデータを生成し、ブロックデータを管理装置へ送信し、管理装置は、ブロックデータを受信して保持する一方、印刷先とする印刷装置が決定した場合に、印刷先の印刷装置が第1の方向を長手方向とするバンドデータを処理する第1の印刷装置である場合に、第1の方向にブロックデータが並んだ第1のバンドデータを生成し、印刷先の印刷装置が第2の方向を長手方向とするバンドデータを処理する第2の印刷装置である場合に、第2の方向にブロックデータが並んだ第2のバンドデータを生成し、バンドデータを前記印刷先の印刷装置へ送信する。【選択図】図4

Description

本発明は、印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラムに関する。
ホストコンピューターにおいてビットマップイメージを生成して印刷装置へ転送し、印刷を行う印刷システムにおいて、印刷アプリケーションからの描画情報をスプールするスプール手段と、スプールされた描画情報及び前記印刷装置での印刷媒体の搬送方向に基づき、前記ビットマップイメージを生成するバンドのバンディング方向を決定する決定手段と、決定されたバンディング方向に応じて、前記スプールされた描画情報のビットマップイメージを生成する生成手段とを有し、前記決定手段は、バンディング方向を前記印刷装置での印刷媒体の搬送方向に対して逆方向に決定するシステムが知られている(特許文献1参照)。
特開2002‐55790号公報
ここで、印刷装置が処理するバンドの向き(縦長のバンドか横長のバンドか)は、印刷装置の種類によって異なることがある。しかしながら、前記文献に記載の技術には、印刷装置の種類に応じた適切な向きのバンドを生成するという視点が欠けており、印刷装置の種類に応じた効率的な印刷処理を行うことができなかった。
本発明は少なくとも上述の課題に鑑みてなされたものであり、印刷装置の種類が複数有り得る状況で印刷を効率的に実現する印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラムを提供する。
本発明の態様の1つは、印刷装置を管理する管理装置と、前記管理装置と通信する印刷制御装置とを含む印刷システムであって、前記印刷制御装置は、印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることによりブロックデータを生成するブロックデータ生成部と、前記ブロックデータを前記管理装置へ送信するブロックデータ送信部と、を備え、前記管理装置は、前記ブロックデータを受信するブロックデータ受信部と、前記受信されたブロックデータを保持する保持部と、印刷先とする印刷装置が決定した場合に、前記保持されたブロックデータに基づいて、前記印刷先の印刷装置に対応するバンドデータを生成するバンドデータ生成部と、前記バンドデータを前記印刷先の印刷装置へ送信するバンドデータ送信部と、を備え、前記バンドデータ生成部は、前記印刷先の印刷装置が、前記第1の方向を長手方向とするバンドデータを処理する第1の印刷装置である場合に、前記第1の方向に前記ブロックデータが並んだ第1のバンドデータを生成し、前記印刷先の印刷装置が、前記第2の方向を長手方向とするバンドデータを処理する第2の印刷装置である場合に、前記第2の方向に前記ブロックデータが並んだ第2のバンドデータを生成する。
当該構成によれば、印刷制御装置は、印刷対象を第1の方向および第2の方向に区切ることにより生成したブロックデータを管理装置へ送信し、管理装置は、送信されたブロックデータを保持する。これにより、管理装置は、印刷先として決定した印刷装置が、第1の印刷装置、第2の印刷装置のいずれであっても、ブロックデータに基づいて印刷先の印刷装置に対応したバンドデータを容易に生成し、印刷装置に送信することができる。つまり、印刷装置の種類に応じた適切な向きのバンドデータを生成し印刷装置へ送信する管理装置における処理を、効率化させることができる。
本発明の態様の1つは、前記バンドデータ生成部は、前記印刷先の印刷装置が処理する前記第1のバンドデータまたは前記第2のバンドデータの生成に必要な1バンド分の前記ブロックデータが前記保持部に保持された場合に、当該保持された1バンド分のブロックデータにより前記第1のバンドデータまたは前記第2のバンドデータを生成するとしてもよい。
当該構成によれば、管理装置は、1つのバンドデータの生成に必要なブロックデータが保持部に揃った段階でバンドデータを順次生成することで、生成したバンドデータを順次印刷装置へ送信し、印刷装置が印刷対象の印刷を開始するタイミングを早めることができる。
本発明の態様の1つは、前記管理装置は、管理対象の1台以上の印刷装置のいずれかからユーザーの操作に基づく認証要求を受信した場合に、前記認証要求に対して印刷を許可するか否かの認証を行い、前記認証により印刷を許可した前記認証要求の送信元の印刷装置を、前記印刷先の印刷装置に決定する認証部を更に備えるとしてもよい。
当該構成によれば、印刷先の印刷装置がユーザーの操作に依存して決定される認証印刷を実行するに際して、印刷装置の種類に応じた適切な向きのバンドデータを生成し印刷装置へ送信すべき管理装置における処理を効率化させることができる。
本発明の態様の1つは、前記ブロックデータ送信部は、前記印刷対象の前記第1の方向における一端側の縁部分からブロック状に切り出された前記第2の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第2の方向における一端側の縁部分からブロック状に切り出された前記第1の方向に沿った複数のブロックデータを順次送信する処理と、を繰り返し実行するとしてもよい。
当該構成によれば、印刷制御装置は、管理装置が印刷先とする印刷装置が第1の印刷装置、第2の印刷装置のいずれであっても印刷先の印刷装置に対応したバンドデータを効率的に生成することが可能な順序で、ブロックデータを管理装置へ送信することができる。
本発明の態様の1つは、前記ブロックデータ送信部は、前記印刷対象の前記第1の方向における一端側の縁部分からブロック状に切り出された前記第2の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第2の方向における一端側の縁部分からブロック状に切り出された前記第1の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第1の方向における他端側の縁部分からブロック状に切り出された前記第2の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第2の方向における他端側の縁部分からブロック状に切り出された前記第1の方向に沿った複数のブロックデータを順次送信する処理と、を1サイクルとして当該サイクルを繰り返し実行するとしてもよい。
当該構成によれば、印刷制御装置は、管理装置が印刷先とする印刷装置が第1の印刷装置、第2の印刷装置のいずれであっても、更には印刷対象を回転させて印刷する場合であっても、印刷先の印刷装置に対応したバンドデータを効率的に生成することが可能な順序で、ブロックデータを管理装置へ送信することができる。
本発明の態様の1つは、前記ブロックデータ送信部は、複数ページからなる前記印刷対象の先頭ページ側の1ページから生成された前記ブロックデータの送信と、前記印刷対象の最終ページ側の1ページから生成された前記ブロックデータの送信とをページ単位で交互に繰り返し、前記バンドデータ生成部は、前記印刷先の印刷装置における印刷媒体の排出に関する設定に基づいて、前記印刷対象を先頭ページから最終ページに向けて順に印刷させる正順印刷又は前記印刷対象を最終ページから先頭ページに向けて順に印刷させる逆順印刷を選択し、前記正順印刷を選択した場合には、前記保持されたブロックデータにより、前記正順印刷のページの順序に従って前記第1のバンドデータまたは前記第2のバンドデータを生成し、前記逆順印刷を選択した場合には、前記保持されたブロックデータにより、前記逆順印刷のページの順序に従って前記第1のバンドデータまたは前記第2のバンドデータを生成し、前記バンドデータ送信部は、前記バンドデータを生成された順に送信するとしてもよい。
当該構成によれば、印刷装置に正順印刷、逆順印刷のいずれを実行させる場合であっても管理装置における処理を効率化させ、印刷装置が印刷対象の印刷を開始するタイミングを安定的に早めることができる。
本発明の態様の1つは、前記印刷制御装置は、前記印刷先の印刷装置を前記管理装置が決定する第1のモードにおいては、前記ブロックデータ生成部による前記ブロックデータの生成と、前記ブロックデータ送信部による前記ブロックデータの送信を実行し、前記印刷制御装置が前記印刷先の印刷装置を決定し、前記決定した印刷装置による前記印刷対象の印刷を前記管理装置に要求する第2のモードにおいては、前記決定した印刷装置が前記第1の印刷装置である場合に、前記印刷対象から前記第1の方向を長手方向とするバンドデータを生成し、前記決定した印刷装置が前記第2の印刷装置である場合に、前記印刷対象から前記第2の方向を長手方向とするバンドデータを生成し、生成したバンドデータを前記管理装置へ送信するとしてもよい。
当該構成によれば、印刷制御装置が印刷先の印刷装置がいずれであるかを認識しない第1のモードにおいて、これまで説明したように効率的な印刷を実現できる。一方、印刷制御装置が印刷先の印刷装置を決定する第2のモードにおいては、印刷制御装置が、印刷先の印刷装置の種類に応じた適切な向きのバンドデータを生成することで、管理装置側の負担を大幅に削減し、印刷処理を効率化させることができる。
本発明の技術的思想は、印刷システムというカテゴリー以外によっても実現される。例えば、これまで説明した印刷制御装置や管理装置や印刷装置は、それぞれ単独で発明として成立する。また、印刷制御装置の各部が実行する処理工程を備えた方法や、当該方法をコンピューターに実行させるプログラム(印刷制御プログラム)も発明として成立する。同様に、管理装置の各部が実行する処理工程を備えた方法や、当該方法をコンピューターに実行させるプログラム(印刷管理プログラム)も発明として成立する。むろん、プログラムを記憶したコンピューター読み取り可能な記憶媒体も発明として成り立つ。
システムを簡易的に示す図。 第1の印刷装置の印刷部の一部分を簡易的に示す図。 第2の印刷装置の印刷部の一部分を簡易的に示す図。 クライアント端末が行う処理を示すフローチャート。 印刷対象ページの一例とページの送信順等を説明するための図。 図6Aは印刷対象ページからブロックデータを生成、送信する順序の一例(第1順序)を示す図、図6Bは印刷対象ページからブロックデータを生成、送信する順序の他の例(第2順序)を示す図。 管理サーバーが行う処理を示すフローチャート。 図8Aは第1順序で送信されたブロックデータから第1の方向を長手方向とするバンドデータを生成する例を示す図、図8Bは第1順序で送信されたブロックデータから第2の方向を長手方向とするバンドデータを生成する例を示す図、図8Cは第2順序で送信されたブロックデータから第2の方向を長手方向とするバンドデータを生成する例を示す図。 第1の印刷装置の印刷部と印刷媒体のセット方向との関係を説明する図。 第2のモードにおいてクライアント端末が行う処理を示すフローチャート。 バンドデータ生成工程の具体例を説明するための図。 第2のモードにおいて管理サーバーが行う処理を示すフローチャート。
以下、各図を参照しながら本発明の実施形態を説明する。なお各図は、本実施形態を説明するための例示に過ぎない。
1.システムの概略説明:
図1は、本実施形態にかかるシステム1の構成を簡易的に示している。システム1の少なくとも一部は、印刷システムに該当する。システム1は、クライアント端末10、管理サーバー20および1台以上のプリンター(例えば、プリンター30,40…)を含んでいる。プリンター30,40はそれぞれ印刷装置に該当し、管理サーバー20は、印刷装置を管理する管理装置に該当する。クライアント端末10は、管理装置と通信する印刷制御装置に該当する。
クライアント端末10は、例えば、パーソナルコンピューター(PC)、スマートフォン、タブレット型端末、携帯電話、あるいはそれらと同様の性能を有する通信端末によって実現される。クライアント端末10の、特に制御部11を実現可能なハードウェアを印刷制御装置と呼んでもよい。管理サーバー20は、ネットワーク上でサーバーとして機能する1台あるいは複数台の情報処理装置によって実現される。プリンター30,40はそれぞれ、少なくともプリンターとして機能する装置であり、スキャナーやファクシミリ等の複数の機能を併せ持った複合機であってもよい。図1では、2台のプリンター30,40を示しているが、言うまでもなく管理サーバー20が管理対象とするプリンターの台数は限定されない。
クライアント端末10、管理サーバー20およびプリンター30,40はそれぞれネットワーク60に接続しており、ネットワーク60を介して自身の外部と通信可能である。ネットワーク60は、例えば、ローカルエリアネットワーク(LAN)やインターネットや携帯電話回線等の通信網を含み得る。
クライアント端末10は、例えば、制御部11、表示部17、操作受付部18、通信インターフェイス(IF)19等を備える。制御部11は、CPU11a、ROM11b、RAM11c等を有する1つ又は複数のICや、その他のメモリー等を適宜含んで構成される。制御部11では、CPU11aが、ROM11b等に保存されたプログラムに従った演算処理を、RAM11c等をワークエリアとして用いて実行することにより、クライアント端末10の挙動を制御する。制御部11はプログラムP1を搭載しており、プログラムP1に従って、選択部12、情報取得部13、ブロックデータ(BLD)生成部14、通信制御部15等といった各機能を実現する。プログラムP1を、プリンタードライバー、印刷制御プログラム、等と呼ぶことができる。
通信IF19は、所定の通信規格に準拠して制御部11がネットワーク60を介して外部と通信を実行するためのIFの総称である。表示部17は、視覚的情報を表示するための手段であり、例えば、液晶ディスプレイ(LCD)や、有機ELディスプレイ等により構成される。表示部17は、ディスプレイと、当該ディスプレイを駆動するための駆動回路とを含む構成であってもよい。操作受付部18は、ユーザーによる操作を受け付けるための手段であり、例えば、物理的なボタンや、タッチパネルや、マウスや、キーボード等によって実現される。むろん、タッチパネルは、表示部17の一機能として実現されるとしてもよい。また、表示部17および操作受付部18を含めて、クライアント端末10の操作パネル等と呼ぶことができる。
管理サーバー20は、例えば、制御部21、通信IF25、記憶部26等を備える。制御部21は、CPU21a、ROM21b、RAM21c等を有する1つ又は複数のICや、その他のメモリー等を適宜含んで構成される。制御部21では、CPU21aが、ROM21b等に保存されたプログラムに従った演算処理を、RAM21c等をワークエリアとして用いて実行することにより、管理サーバー20の挙動を制御する。制御部21はプログラムP2を搭載しており、プログラムP2に従って、認証部22、印刷データ生成部23、通信制御部24等といった各機能を実現する。プログラムP2を、印刷管理プログラム等と呼ぶことができる。
通信IF25は、所定の通信規格に準拠して制御部21がネットワーク60を介して外部と通信を実行するためのIFの総称である。記憶部26は、例えば、ハードディスクドライブ(HDD)等で構成された記憶手段である。記憶部26には、ユーザーデータベース(DB)27やプリンター情報28等が記憶される。
プリンター30は、制御部31、操作受付部32、印刷部33等を有しており、プリンター40は、制御部41、操作受付部42、印刷部43等を有している。プリンター30(40)においては、制御部31(41)が、ハードウェアとプログラム(ファームウェア)との協働によりプリンター30(40)の挙動を制御する。印刷部33(43)は、管理サーバー20からネットワーク60を介してプリンター30(40)へ送信された印刷データに基づく印刷を実行する機構である。操作受付部32(42)の説明は、操作受付部18の説明を準用する。操作受付部32(42)は、表示部を含んだ操作パネルであってもよい。
図2は、プリンター30が備える印刷部33(図1)の一部分を簡易的に示している。印刷部33は、長尺状の印刷ヘッドユニット34を備える。印刷ヘッドユニット34は、印刷部33において固定されており、印刷媒体Mの搬送方向(方向D1a)と交差する方向D2aに沿って配置された複数の印刷ヘッド35からなるユニットである。なお、図2および図3の例では、それぞれ方向D1a,D1bと方向D2a,D2bとが直交しているが、厳密な直交だけでなく製品(プリンター)において生じ得る程度の誤差を含んで交差していてもよい。個々の印刷ヘッド35をヘッドチップと呼んでもよい。各印刷ヘッド35は、インク等の液体を吐出可能な複数のノズルを有している。図2の例では、各印刷ヘッド35は、ノズルが開口するノズル面の形状を、方向D1aに対して傾斜する辺と方向D2aと平行な辺とによる平行四辺形状としている。複数の印刷ヘッド35と、これらを有する印刷ヘッドユニット34との関係については、特開2017‐140812号公報の図4に開示された複数の記録ヘッドとヘッドユニットとの関係を適用してもよい。ただし、印刷ヘッド35のノズル面の平面形状は、平行四辺形状に限定されず、矩形状や台形状、多角形状等であってもよい。このような印刷ヘッド35が方向D2aに沿って複数並ぶことで、方向D1aに沿って搬送される印刷媒体Mの幅(方向D2aの幅)の全体に亘って印刷を実行可能な印刷ヘッドユニット34が形成される。印刷ヘッドユニット34を、ラインタイプの印刷ヘッド、等と呼ぶことが出来る。
プリンター30は、印刷ヘッド35の夫々を、方向D1aを長手方向としたバンドデータ(印刷データの一部)に基づいて駆動させることで、印刷ヘッドユニット34全体による印刷を実現する。また、本実施形態では、印刷媒体Mの搬送方向を第1の方向と呼んだとき、搬送方向に交差する方向を第2の方向と呼ぶ。従って、プリンター30は、第1の方向を長手方向とするバンドデータを処理する「第1の印刷装置」の1つに該当する。
図3は、プリンター40が備える印刷部43(図1)の一部分を簡易的に示している。印刷部43は、不図示のキャリッジ(ヘッド移動機構)により往復移動可能な印刷ヘッド44を備える。印刷ヘッド44は、キャリッジにより印刷媒体Mの搬送方向(方向D1b)と交差する方向D2bに沿って往復移動可能に構成されている。印刷ヘッド44は、上述の印刷ヘッド35と同様に、インク等の液体を吐出可能な複数のノズルを有している。このような印刷ヘッド44が方向D2bに沿って移動(走査)することで、印刷媒体Mの幅(方向D2bの幅)の全体に亘って印刷を行うことができる。印刷ヘッド44を、シリアルタイプの印刷ヘッド、等と呼ぶことが出来る。
プリンター40は、方向D1bに沿った印刷媒体Mの搬送(いわゆる紙送り)と印刷ヘッド44の走査とを交互に実行する際、走査毎に印刷ヘッド44を、方向D2bを長手方向としたバンドデータ(印刷データの一部)に基づいて駆動させることで、走査単位の印刷を実現する。従って、プリンター40は、第1の方向と交差する第2の方向を長手方向とするバンドデータを処理する「第2の印刷装置」の1つに該当する。
図示は省略しているが、印刷部33(43)は、印刷媒体Mを搬送方向に沿って搬送するための搬送機構を有している。また、言うまでもなく、クライアント端末10、管理サーバー20、プリンター30,40は、それらとして機能するPC、サーバー、プリンター等が一般的に有する各種機能を有し得る。また、以下に述べる実施形態によっては、図1に示した内容の全てが必須となるわけではない。
2.クライアント端末の処理:
ユーザーは、操作受付部18を操作することにより任意の印刷対象を選択し、選択した印刷対象についての印刷指示を入力する。印刷対象とは、例えば、テキスト、写真、CG等のオブジェクトを表現したデータである。
図4は、ユーザーからの前記印刷指示を受け付けたクライアント端末10の制御部11がプログラムP1に従って実行する印刷制御処理(印刷制御方法)をフローチャートにより示している。
先ず、BLD生成部14は、本実施形態における所定のページの送信順に従って、印刷対象の1つのページを処理対象に決定する(ステップS100)。
図5は、印刷対象の一例と、それらの送信順等を説明するための図である。符号PO1〜PO6は、それぞれに1ページ分の印刷対象(印刷対象ページ)を示している。より具体的には、図5の上段に示すように、印刷対象ページPO1〜PO6は、所定のアプリケーションにより生成されたデータ(印刷対象)をレンダリングして得られたビットマップデータであり、画素毎に例えばRGB(レッド、グリーン、ブルー)の階調値を有している。
また、印刷対象ページPO1〜PO6は、印刷対象ページPO1が1ページ目(先頭ページ)、印刷対象ページPO2が2ページ目、印刷対象ページPO3が3ページ目、印刷対象ページPO4が4ページ目、印刷対象ページPO5が5ページ目、印刷対象ページPO6が6ページ目(最終ページ)の計6ページによる1つのファイルを構成している。BD生成部14は、このような印刷対象ページの夫々から複数のブロックデータを生成する。なお図5では、印刷対象ページの向きと、印刷対象ページがプリンターにより印刷される際の方向(方向D1a,D1bおよび方向D2a,D2b)との対応関係も併せて示している。
印刷対象ページPO1〜PO6は、一般的には、そのページ順(PO1,PO2,PO3,PO4,PO5,PO6)に従って処理される。しかし本実施形態では、プリンターにおける印刷媒体の排出の設定が、フェイスアップ排紙やフェイスダウン排紙等、種々有り得ることを考慮して、BLD生成部14は、印刷対象の各ページを、所定のページの送信順に従って処理対象とする。本実施形態における、クライアント端末10による所定のページの送信順とは、複数ページからなる印刷対象の先頭ページ側の1ページの送信と、印刷対象の最終ページ側の1ページの送信とをページ単位で交互に繰り返す、という順序である。従って、図5による具体例を参照すれば、図5の中段に示したように、BLD生成部14はステップS100では、印刷対象ページPO1〜PO6を、印刷対象ページPO1(先頭ページ),PO6(最終ページ),PO2(先頭ページの次のページ),PO5(最終ページの1つ前のページ),PO3(先頭ページの次の次のページ),PO4(最終ページの前の前のページ)という順序で、1ページずつ処理対象に決定する。
なお、フェイスアップ排紙とは、印刷後の印刷媒体を印刷面が上を向いた姿勢で排出することを意味する。フェイスアップ排紙では、最後に印刷したページの印刷面が、排出された印刷媒体の束の最上面となる。従って、フェイスアップ排紙を採用するプリンターに印刷させる場合には、排出された印刷媒体の束において印刷面が元のページ順で並んだ状態とするために、基本的には、印刷対象を最終ページから先頭ページに向けて順に印刷する逆順印刷を実行させる。一方、フェイスダウン排紙とは、印刷後の印刷媒体を印刷面が下を向いた姿勢で排出することを意味する。フェイスダウン排紙では、最初に印刷したページの印刷面が、排出された印刷媒体の束の最下面となる。従って、フェイスダウン排紙を採用するプリンターに印刷させる場合には、印刷対象を先頭ページから最終ページに向けて順に印刷する正順印刷を実行させればよい。
ステップS110では、BLD生成部14は、ステップS100決定した処理対象のページから、所定順序(例えば、後述の図6Aまたは図6Bに示す順序)でブロックデータBLDを生成する。ブロックデータBLDとは、印刷対象を第1の方向(D1a,D1b)および第1の方向と交差する第2の方向(D2a,D2b)に区切ることにより得た矩形領域である。図5の下段には、一例として、印刷対象ページPO1を複数のブロックデータBLDに区切った様子を示している。BLD生成部14は、例えば、管理サーバー20が管理しているプリンターそれぞれが処理するバンドデータのバンド幅(バンドデータの短手方向の幅(画素数))の最大公約数として予め求められた値を一辺の長さとした正方形の領域を、ブロックデータBLDとする。
また、BLD生成部14は、ブロックデータBLD毎に、ブロックデータBLDが属していた印刷対象ページが何ページ目であるかを示すページ情報や、ブロックデータBLDの印刷対象ページ内における位置情報(例えば、ページの所定位置を原点としたときのブロックデータBLDの四隅の座標情報)を付加する。例えば、2ページ目の印刷対象ページPO2から生成した各ブロックデータBLDには、BLD生成部14は、2ページ目である旨のページ情報を付加する。また、BD生成部14は、印刷対象の最終ページ(図5の例では6ページ目)から生成した各ブロックデータBLDには、最終ページである旨のページ情報を付加する。
また、BLD生成部14は、空白ブロックに該当するブロックデータBLDについては、前記矩形領域を構成する画素の集合である通常のブロックデータBLDと比べてデータ量を大幅に削減するとしてもよい。空白ブロックとは、印刷すべき内容が事実上存在しないブロックであり、具体的には、前記矩形領域内の全ての画素が白(R=G=B=最大階調値)のブロックである。BLD生成部14は、空白ブロックに該当するブロックデータBLDについては、空白ブロックである旨の情報に、前記ページ情報および位置情報を付加した程度のデータとする。
ステップS120では、制御部11(通信制御部15)は、生成されたブロックデータBLDを、通信IF19を介して管理サーバー20へ送信する。このとき、通信制御部15は、前記印刷指示と併せてユーザーの操作受付部18の操作により指示された印刷設定(例えば、片面印刷又は両面印刷の設定、カラー印刷またはモノクロ印刷の設定、部数の設定…等)の内容とともにブロックデータBLDを管理サーバー20へ送信する。通信制御部15や通信IF19は、ブロックデータBLDを管理サーバー20へ送信するブロックデータ送信部に該当すると言える。なお、通信制御部15は、BLD生成部14により1つのブロックデータBLDが生成される度に、当該生成されたブロックデータBLDを管理サーバー20へ順次送信する。従って、ステップS110によるブロックデータBLDの生成と、ステップS120によるブロックデータBLDの送信とが、ステップS100で決定された処理対象の印刷対象ページから全てのブロックデータBLDを生成して送信し終えるまで繰り返される(図4の破線の矢印参照)。なお、BD生成部14は、生成したブロックデータBLDを適宜圧縮処理するなどして、管理サーバー20への送信負担を軽くしてもよい。
ステップS130では、制御部11は、前記印刷指示にかかる印刷対象の全ページについてステップS120までの処理を完了したか否かを判定し、印刷対象の全ページについてステップS120までの処理を完了した場合(ステップS130において“Yes”)に、図4のフローチャートを終了する。一方、ステップS120までの処理を完了していない印刷対象ページが残っている場合には(ステップS130において“No”)、制御部11は、ステップS100に戻って処理を続ける。例えば、図5を参照すると、ステップS100で印刷対象ページPO1を処理対象に決定した後のステップS130で“No”と判定した制御部11は、次のステップS100で、前記所定のページの送信順に従って、印刷対象ページPO6を処理対象に決定する。
このように図4の処理によれば、クライアント端末10は、印刷対象ページからブロックデータBLDを順次生成して管理サーバー20へ送信する処理を、前記所定のページの送信順(印刷対象ページPO1,PO6,PO2,PO5,PO3,PO4という順序)に従って処理対象に決定した印刷対象ページ毎に繰り返す。これにより、最終的に全ての印刷対象ページからブロックデータBLDが生成され、管理サーバー20へ送信される。
図6Aおよび図6Bは、それぞれステップS110,S120における、印刷対象ページからブロックデータBLDを生成し送信する順序の例を示している。図6A,6Bでは、印刷対象ページPO1におけるブロックデータBLDの順序を示しているが、他の印刷対象ページPO2,PO3,PO4,PO5,PO6においても、印刷対象ページPO1におけるブロックデータBLDの順序と同じ順序が採用される。図6A,6Bに示した印刷対象ページPO1を構成するブロックデータBLD毎の数字が、それらブロックデータBLDの生成および送信の順序である。便宜上、図6Aに示したブロックデータBLDの順序を第1順序と呼び、図6Bに示したブロックデータBLDの順序を第2順序と呼ぶ。
図6Aに示したブロックデータBLDの順序(第1順序)によれば、BLD生成部14は、印刷対象の第1の方向(方向D1a,D1b)における一端(上端)側の縁部分から第2の方向(方向D2a,D2b)に沿ってブロック状の領域を切り出すことにより第2の方向に沿った複数のブロックデータBLDを順次生成する処理と、当該印刷対象の第2の方向における一端(図6Aでは左端)側の縁部分から第1の方向に沿ってブロック状の領域を切り出すことにより第1の方向に沿った複数のブロックデータBLDを順次生成する処理と、を繰り返し実行する。ブロックデータ送信部(通信制御部15)は、ブロックデータBLDを生成された順に管理サーバー20へ送信する。
つまり図6Aの例では、印刷対象ページPO1の上端の縁部分から第2の方向(方向D2a,D2b)に沿って番号1,2,3,4,5,6の各ブロックデータBLDが順次切り出され、次に、残りの印刷対象ページPO1の左端の縁部分から第1の方向(方向D1a,D1b)に沿って番号7,8,9,10,11,12の各ブロックデータBLDが順次切り出される。その後も同様に、残りの印刷対象ページPO1の上端の縁部分から第2の方向(方向D2a,D2b)に沿って番号13,14,15,16,17の各ブロックデータBLDが順次切り出され、次に、残りの印刷対象ページPO1の左端の縁部分から第1の方向(方向D1a,D1b)に沿って番号18,19,20,21,22の各ブロックデータBLDが順次切り出される…という処理を繰り返す。
一方、図6Bに示したブロックデータBLDの順序(第2順序)によれば、BLD生成部14は、印刷対象の第1の方向(方向D1a,D1b)における一端(上端)側の縁部分から第2の方向(方向D2a,D2b)に沿ってブロック状の領域を切り出すことにより第2の方向に沿った複数のブロックデータBLDを順次生成する処理と、当該印刷対象の第2の方向における一端(図6Bでは左端)側の縁部分から第1の方向に沿ってブロック状の領域を切り出すことにより第1の方向に沿った複数のブロックデータBLDを順次生成する処理と、当該印刷対象の第1の方向における他端(下端)側の縁部分から第2の方向に沿ってブロック状の領域を切り出すことにより第2の方向に沿った複数のブロックデータBLDを順次生成する処理と、当該印刷対象の第2の方向における他端(図6Bでは右端)側の縁部分から第1の方向に沿ってブロック状の領域を切り出すことにより第1の方向に沿った複数のブロックデータBLDを順次生成する処理と、を1サイクルとして当該サイクルを繰り返し実行する。ブロックデータ送信部(通信制御部15)は、ブロックデータBLDを生成された順に管理サーバー20へ送信する。
つまり図6Bの例では、印刷対象ページPO1の上端の縁部分から第2の方向(方向D2a,D2b)に沿って番号1,2,3,4,5,6の各ブロックデータBLDが順次切り出され、次に、残りの印刷対象ページPO1の左端の縁部分から第1の方向(方向D1a,D1b)に沿って番号7,8,9,10,11,12の各ブロックデータBLDが順次切り出され、次に、残りの印刷対象ページPO1の下端の縁部分から第2の方向(方向D2a,D2b)に沿って番号13,14,15,16,17の各ブロックデータBLDが順次切り出され、次に、残りの印刷対象ページPO1の右端の縁部分から第1の方向(方向D1a,D1b)に沿って番号18,19,20,21,22の各ブロックデータBLDが順次切り出される。その後も同様に、残りの印刷対象ページPO1の上端の縁部分から第2の方向(方向D2a,D2b)に沿って番号23,24,25,26の各ブロックデータBLDが順次切り出され、次に、残りの印刷対象ページPO1の左端の縁部分から第1の方向(方向D1a,D1b)に沿って番号27,28,29,30の各ブロックデータBLDが順次切り出される…という処理を繰り返す。
制御部11は、プリンターが印刷対象の上下方向を180°回転させて行う印刷(上下回転印刷)を実行する可能性の有無に応じて、ステップS110,S120で、第1順序または第2順序のいずれかを採用する。プリンターは、例えば、印刷媒体の表面と裏面の両方に印刷対象を印刷する両面印刷に際し、(印刷媒体同士を綴じる位置の設定等にも因るが)裏面の印刷時に上下回転印刷を実行することがある。制御部11は、プリンターが上下回転印刷を実行する可能性が無い場合には、第1順序を採用してステップS110,S120を実行し、プリンターが上下回転印刷を実行する可能性が有る場合には、第2順序を採用してステップS110,S120を実行する。
制御部11は、プリンターが上下回転印刷を実行する可能性の有無を、ユーザーによる前記印刷設定の内容に従って判定することができる。例えば、前記印刷設定において、上下回転印刷を禁止する旨の設定や、片面印刷を実行する(=両面印刷を実行しない)旨の設定がなされている場合に、プリンターが上下回転印刷を実行する可能性が無いと判定し、第1順序を採用してステップS110,S120を実行する。一方、制御部11は、前記印刷設定を参照し、プリンターが上下回転印刷を実行する可能性が無い場合に該当しなければ、第2順序を採用してステップS110,S120を実行する。
3.管理サーバーおよびプリンターの処理:
次に、管理サーバー20、プリンターそれぞれの処理について説明する。
管理サーバー20の制御部21(通信制御部24)は、クライアント端末10から送信されるブロックデータBLDを、通信IF25を介して順次受信する。また、制御部21は、受信したブロックデータBLDを受信した順に所定の記憶手段(例えば、記憶部26)へ保存する。従って、制御部21(通信制御部24)および通信IF25は、ブロックデータBLDを受信するブロックデータ受信部として機能し、制御部21および記憶部26は、受信されたブロックデータBLDを保持する保持部として機能すると言える。
図7は、管理サーバー20の制御部21がプログラムP2に従って実行する印刷管理処理(印刷管理方法)をフローチャートにより示している。
ステップS200では、制御部21は、記憶部26に(少なくとも一部が)保存されている印刷対象の印刷先とするプリンターを、管理対象としているプリンターの中から決定する。印刷先のプリンターの決定方法は様々である。例えば、制御部21は、現在、ネットワーク60を介して管理対象としているプリンターの中で、より早く印刷を開始できる状態にあるプリンター(例えば、現在、未処理の印刷ジョブを有していないプリンター)を1台選択し、このプリンターを印刷先のプリンターに決定する。
あるいは、制御部21は、プリンター側からのアクセスに基づいて印刷先のプリンターを決定してもよい。この場合、ユーザーは、システム1に含まれるプリンターの中から任意に選択したプリンターを操作して、当該プリンターからネットワーク60を介して管理サーバー20へ所定のリクエストを送信させる。リクエストを受信した管理サーバー20は、当該リクエストの送信元のプリンターを、印刷先のプリンターに決定する。
ステップS210では、制御部21(印刷データ生成部23)は、ステップS200で決定されたプリンターが第1の印刷装置又は第2の印刷装置のいずれに該当するかを判別する。記憶部26には、管理サーバー20が管理している各プリンターに関する情報(プリンター情報28)が記憶されている。プリンター情報28は、管理サーバー20が管理しているプリンター毎の機種情報、名称(製品名)、機体番号、印刷媒体の排出に関する設定(フェイスアップ排紙またはフェイスダウン排紙の設定)、処理するバンドデータのバンド幅、等種々の情報を含んでいる。このようなプリンター情報28は、管理サーバー20が予め各プリンターから収集した情報である。
プリンター毎の機種情報は、夫々のプリンターが第1の印刷装置と第2の印刷装置とのいずれであるかを直接的あるいは間接的に示す情報であるもと言える。従って、ステップS210では、印刷データ生成部23は、プリンター情報28を参照することにより、ステップS200で決定されたプリンターが第1の印刷装置又は第2の印刷装置のいずれに該当するかを判別することができる。
ステップS220では、印刷データ生成部23は、ステップS200で決定されたプリンターに正順印刷又は逆順印刷のいずれを実行させるかを選択する。上述したように、プリンター情報28には、プリンター毎の印刷媒体の排出に関する設定も含まれている。そこで、印刷データ生成部23は、プリンター情報28を参照し、ステップS200で決定されたプリンターの印刷媒体の排出に関する設定がフェイスアップ排紙であれば、逆順印刷を選択する。一方、印刷データ生成部23は、プリンター情報28を参照し、ステップS200で決定されたプリンターの印刷媒体の排出に関する設定がフェイスダウン排紙であれば、正順印刷を選択する。
印刷データ生成部23は、正順印刷又は逆順印刷の選択は、プリンターにおける印刷媒体の排出に関する設定に加え、片面印刷か両面印刷かの設定を考慮して行うことができる。片面印刷か両面印刷かの設定は、制御部21が現在、ステップS200で決定したプリンターに印刷させようとしている印刷対象としてのブロックデータBLDに付加されている印刷設定の内容を参照することで把握できる。フェイスアップ排紙を採用するプリンターで両面印刷を実行した場合は、最初に印刷したページの印刷面が、最初に排出される印刷媒体の下面となり、それ以降、奇数番目(3番目、5番目…)に印刷した各ページの印刷面が、2枚目以降の排出される各印刷媒体の下面となる。従って、印刷データ生成部23は、ステップS200で決定されたプリンターの印刷媒体の排出に関する設定がフェイスアップ排紙であれば、片面印刷の場合は逆順印刷の実行を選択し、両面印刷の場合は正順印刷の実行を選択する。
また、印刷データ生成部23は、ステップS200で決定されたプリンターの印刷媒体の排出に関する設定がフェイスダウン排紙であれば、片面印刷の場合に正順印刷の実行を選択する。ちなみに、印刷データ生成部23は、ステップS200で決定されたプリンターの印刷媒体の排出に関する設定がフェイスダウン排紙であり、印刷設定が両面印刷の場合は、印刷対象の2ページ目の印刷→1ページ目の印刷→4ページ目の印刷→3ページ目の印刷→6ページ目の印刷→5ページ目の印刷…というように、正順印刷、逆順印刷のいずれにも該当しない第3の印刷順序で、印刷媒体の各ページを印刷することを選択する。
ステップS230では、印刷データ生成部23は、ステップS240〜S290の処理対象とする印刷対象のページを、ステップS220で選択した印刷順序に従って、1つ決定する。例えば、ステップS220で正順印刷を選択した場合は、ステップS220の後の最初のステップS230では当然、印刷対象の先頭ページ(図5の例によれば、印刷対象ページPO1)を処理対象のページに決定する。また、ステップS220で逆順印刷を選択した場合は、ステップS220の後の最初のステップS230では当然、印刷対象の最終ページ(図5の例によれば、印刷対象ページPO6)を処理対象のページに決定する。
さらにステップS240では、印刷データ生成部23は、ステップS230で決定した処理対象のページについて、上下方向を180°回転させる必要があるか否か(上下回転印刷の要否)を判別する。印刷データ生成部23は、上下回転印刷の要否については、印刷設定において両面印刷が設定されているか、ステップS230で決定した処理対象のページが印刷対象における何ページ目であるか(両面印刷に際して印刷媒体の裏面に印刷されるページであるか)、さらには印刷媒体同士を綴じる位置の設定等の各要素に基づいて、総合的に判別することができる。
ステップS250では、印刷データ生成部23は、ステップS230で決定した処理対象のページにおけるバンド(印刷対象における帯状の領域)であって、ステップS260〜280の処理対象とするバンド(バンドの位置)を、ステップS210やステップS240の判別結果に基づいて、1つ決定する。一例として、ステップS230で決定した処理対象のページは、印刷対象ページPO1であるとする。
この場合、印刷データ生成部23は、ステップS210において、決定されたプリンターは第1の印刷装置と判別した場合は、印刷対象ページPO1における第1の方向(印刷媒体の搬送方向)を長手方向とし所定のバンド幅を有するいずれか1つのバンド(例えば、印刷対象ページPO1において、未だ処理対象とされていない最も左側の位置のバンド)を処理対象に決定する。
また、印刷データ生成部23は、ステップS210において、決定されたプリンターは第2の印刷装置と判別した場合は、印刷対象ページPO1における第2の方向(印刷媒体の搬送方向に交差する方向)を長手方向とし所定のバンド幅を有する1つのバンドを、ステップS240の判別結果に応じて処理対象に決定する。つまり、ステップS240で、ステップS230で決定した処理対象のページ(印刷対象ページPO1)は上下回転印刷不要と判別した場合は、シリアルタイプの印刷ヘッド44を有する第2の印刷装置へ、印刷対象ページPO1の上端側のバンドから先に提供することになる。そのため、印刷対象ページPO1において未だ処理対象とされていない最も上端側の位置のバンドを、処理対象のバンドに決定する。一方、ステップS240で、ステップS230で決定した処理対象のページは上下回転印刷必要と判別した場合は、第2の印刷装置へ、当該ページの下端側のバンドから先に提供することになる。そのため、当該ページにおいて未だ処理対象とされていない最も下端側の位置のバンドを、処理対象のバンドに決定する。
ステップS260では、印刷データ生成部23は、ステップS250で処理対象に決定した1バンド分の位置に対応する複数のブロックデータBLDが保持部(記憶部26)に揃っているか否かを判定する。上述したようにクライアント端末10から送信される各ブロックデータBLDには、ページ情報や位置情報が付加されている。従って、印刷データ生成部23は、記憶部26に現在保存されている各ブロックデータBLDのページ情報や位置情報を参照することにより、ステップS250で処理対象に決定した1バンド分の位置を埋めるために必要な全てのブロックデータBLDが記憶部26に揃っているか否かを判定する。必要なブロックデータBLDが記憶部26に揃っていないと判定した場合は(ステップS260において“No”)、ステップS260の判定を繰り返す。つまり、クライアント端末10から、ステップS250で処理対象に決定した1バンド分の位置を埋めるために必要な全てのブロックデータBLDが送信されるまで、印刷データ生成部23は、ステップS270の処理を待機する。一方、印刷データ生成部23は、必要なブロックデータBLDが記憶部26に揃っていると判定した場合は(ステップS260において“Yes”)、ステップS270へ進む。
ステップS270では、印刷データ生成部23は、ステップS250で処理対象に決定した1バンド分の位置に対応する複数のブロックデータBLDを記憶部26から取得し、これらブロックデータBLDを、夫々の位置情報に基づいて並べて結合することで1つのバンドデータを生成する。さらに、印刷データ生成部23、このように複数のブロックデータBLDを並べて結合した1つのバンドデータを対象として所定の変換処理を施す。当該変換処理では、バンドデータを、ステップS200で決定されたプリンターが解釈可能な所定の制御コード体系によるバンドデータに変換する。例えば、印刷データ生成部23は、ステップS200で決定されたプリンターが解釈可能な制御コード体系に対応したコマンドをバンドデータ毎に付したり、当該制御コード体系に依存した圧縮処理をバンドデータ毎に施したりする。このようなステップS270の処理(ブロックデータの結合によるバンドデータの生成および当該バンドデータの変換処理)後のバンドデータを、印刷データ(印刷データの一部)とも呼ぶ。
ステップS200で決定されたプリンターが第1の印刷装置であれば、印刷データ生成部23は、第1の印刷装置が解釈可能な制御コード体系として、例えば、いわゆるESC/Page等の制御コード体系を採用する。一方、ステップS200で決定されたプリンターが第2の印刷装置であれば、印刷データ生成部23は、第2の印刷装置が解釈可能な制御コード体系として、例えば、いわゆるESC/P‐R等の制御コード体系を採用する。
図8Aおよび図8Bはそれぞれ、印刷対象ページPO1から生成されたブロックデータBLDであって記憶部26に保存されたブロックデータBLDから、ステップS270でバンドデータを生成する様子を示している。また、図8Cは、印刷対象ページPO2から生成されたブロックデータBLDであって記憶部26に保存されたブロックデータBLDから、ステップS270でバンドデータを生成する様子を示している。
図8Aの説明に関しては、クライアント端末10から管理サーバー20に対して、各ブロックデータBLDが前記第1順序(図6A参照)に従って送信されたとする。また、図8Aの説明に関しては、ステップS200で決定されたプリンターは、第1の印刷装置(例えば、プリンター30)であるとする。このような状況において、印刷データ生成部23は、例えば、印刷対象ページPO1(ステップS230で処理対象に決定したページ)の最も左側における、第1の方向(印刷媒体の搬送方向)を長手方向とし所定のバンド幅を有する1バンド分の位置(図8Aにおいて破線で囲った範囲)に対応する、番号1,7,8,9,10,11,12のブロックデータを、第1の方向に沿って並べて結合することで、第1の方向を長手方向とするバンドデータBD1を生成する。さらに、当該バンドデータBD1に、第1の印刷装置が解釈可能な制御コード体系に対応したコマンドC1を付す等して、変換処理後のバンドデータBD1(印刷データ)を生成する。図8Aの例においては、印刷対象ページPO1から生成されるブロックデータBLDのうち、少なくとも番号12までのブロックデータBLDが記憶部26に保存されていれば、ステップS260で“Yes”と判定して、ステップS270でバンドデータBD1を生成することができる。
図8Bの説明に関しては、クライアント端末10から管理サーバー20に対して、各ブロックデータBLDが前記第1順序(図6A参照)に従って送信されたとする。また、図8Bの説明に関しては、ステップS200で決定されたプリンターは、第2の印刷装置(例えば、プリンター40)であり、ステップS240では上下回転印刷不要と判別したとする。このような状況において、印刷データ生成部23は、例えば、印刷対象ページPO1(ステップS230で処理対象に決定したページ)の最も上端側における、第2の方向(印刷媒体の搬送方向に交差する方向)を長手方向とし所定のバンド幅を有する1バンド分の位置(図8Bにおいて破線で囲った範囲)に対応する、番号1,2,3,4,5,6のブロックデータを、第2の方向に沿って並べて結合することで、第2の方向を長手方向とするバンドデータBD2を生成する。さらに、当該バンドデータBD2に、第2の印刷装置が解釈可能な制御コード体系に対応したコマンドC2を付す等して、変換処理後のバンドデータBD2(印刷データ)を生成する。図8Bの例においては、印刷対象ページPO1から生成されるブロックデータBLDのうち、少なくとも番号6までのブロックデータBLDが記憶部26に保存されていれば、ステップS260で“Yes”と判定して、ステップS270でバンドデータBD2を生成することができる。
図8Cの説明に関しては、クライアント端末10から管理サーバー20に対して、各ブロックデータBLDが前記第2順序(図6B参照)に従って送信されたとする。また、図8Cの説明に関しては、ステップS200で決定されたプリンターは、第2の印刷装置(例えば、プリンター40)であり、ステップS240では上下回転印刷必要と判別したと仮定する。このような状況において、印刷データ生成部23は、例えば、印刷対象ページPO2(ステップS230で処理対象に決定したページ)の最も下端側における、第2の方向(印刷媒体の搬送方向に交差する方向)を長手方向とし所定のバンド幅を有する1バンド分の位置(図8Cにおいて破線で囲った範囲)に対応する、番号12,13,14,15,16,17のブロックデータを、第2の方向に沿って並べて結合することで、第2の方向を長手方向とするバンドデータBD2を生成する。さらに、当該バンドデータBD2に、第2の印刷装置が解釈可能な制御コード体系に対応したコマンドC2を付す等して、変換処理後のバンドデータBD2(印刷データ)を生成する。図8Cの例においては、印刷対象ページPO2から生成されるブロックデータBLDのうち、少なくとも番号17までのブロックデータBLDが記憶部26に保存されていれば、ステップS260で“Yes”と判定して、ステップS270でバンドデータBD2を生成することができる。
ステップS280では、制御部21(通信制御部24)は、ステップS270による処理後のバンドデータ(印刷データ)を、ステップS200で決定したプリンター(印刷先のプリンター)へ、通信IF25を介して送信する。従って、通信制御部24や通信IF25は、バンドデータを印刷先のプリンターへ送信するバンドデータ送信部として機能し得る。図8Aの例によれば、コマンドC1を付した第1の方向を長手方向としたバンドデータBD1が、第1の印刷装置(例えば、プリンター30)へ送信される。一方、図8Bや図8Cの例によれば、コマンドC2を付した第2の方向を長手方向としたバンドデータBD2が、第2の印刷装置(例えば、プリンター40)へ送信される。
ステップS290では、印刷データ生成部23は、ステップS230で処理対象とした印刷対象ページにおけるバンド(バンドの位置)であって、上述したようにステップS210やステップS240の判別結果に基づいてステップS250で決定可能な全てのバンドを、ステップS260〜S280の処理対象とし終えたか否かを判定する。ステップS250で決定可能な全てのバンドを、ステップS260〜S280の処理対象とし終えた場合には(ステップS290において“Yes”)、ステップS300へ進む。一方、ステップS260〜S280の処理対象としていない、ステップS250で決定可能なバンド(バンドの位置)が残っている場合には、ステップS250以降の処理を繰り返す。
つまり、図8Aの例によれば、印刷データ生成部23は、処理対象とする第1の方向(印刷媒体の搬送方向)を長手方向とし所定のバンド幅を有する1バンド分の位置(図8Aにおいて破線で囲った範囲)を、ステップS250の度に印刷対象ページPO1の左側から右側へ順次ずらしていく。そして最終的に、最も右側に並ぶ番号6,17,26,33,38,41,42のブロックデータを結合して第1の方向を長手方向とするバンドデータBD1を生成し、このバンドデータBD1にコマンドC1を付す等した変換処理後のバンドデータBD1(印刷データ)を第1の印刷装置へ送信すれば、ステップS290で“Yes”と判定することになる。
また、図8Bの例によれば、印刷データ生成部23は、処理対象とする第2の方向(印刷媒体の搬送方向に交差する方向)を長手方向とし所定のバンド幅を有する1バンド分の位置(図8Bにおいて破線で囲った範囲)を、ステップS250の度に印刷対象ページPO1の上端側から下端側へ順次ずらしていく。そして最終的に、最も下端に並ぶ番号12,22,30,36,40,42のブロックデータを結合して第2の方向を長手方向とするバンドデータBD2を生成し、このバンドデータBD2にコマンドC2を付す等した変換処理後のバンドデータBD2(印刷データ)を第2の印刷装置へ送信すれば、ステップS290で“Yes”と判定することになる。
また、図8Cの例によれば、印刷データ生成部23は、処理対象とする第2の方向(印刷媒体の搬送方向に交差する方向)を長手方向とし所定のバンド幅を有する1バンド分の位置(図8Cにおいて破線で囲った範囲)を、ステップS250の度に印刷対象ページPO2の下端側から上端側へ順次ずらしていく。そして最終的に、最も上端に並ぶ番号1,2,3,4,5,6のブロックデータを結合して第2の方向を長手方向とするバンドデータBD2を生成し、このバンドデータBD2にコマンドC2を付す等した変換処理後のバンドデータBD2(印刷データ)を第2の印刷装置へ送信すれば、ステップS290で“Yes”と判定することになる。
ステップS300では、印刷データ生成部23は、ステップS220で選択した印刷順序に従ってステップS230で全ての印刷対象ページを順に処理対象として決定し、ステップS290までの処理を終えたか否かを判定する。例えば、ステップS220で正順印刷を選択した場合には、印刷対象の最終ページ(図5の例では、印刷対象ページPO6)をステップS230で処理対象として決定し、ステップS290までの処理を終えた場合に、ステップS300において“Yes”と判定し、図7のフローチャートを終える。また、ステップS220で逆順印刷を選択した場合には、印刷対象の先頭ページ(図5の例では、印刷対象ページPO1)をステップS230で処理対象として決定し、ステップS290までの処理を終えた場合に、ステップS300において“Yes”と判定し、図7のフローチャートを終える。一方、ステップS220で選択した印刷順序に従ったとき、ステップS230で処理対象として決定していない印刷対象ページが残っている場合には、ステップS300で“No”と判定して、ステップS230以降の処理を繰り返す。
ネットワーク60を介して管理サーバー20から変換処理後のバンドデータを受信するプリンター側では、受信したバンドデータに付されたコマンドを解釈する等して、更に必要な変換処理(例えば、バンドデータに対する解像度変換処理や、バンド幅の調整処理や、表色系変換処理や、ハーフトーン処理等)を適宜実行した上で、バンドデータに基づく印刷を実行する。つまり、プリンター30(第1の印刷装置)では、制御部31は、変換処理後のバンドデータBD1を管理サーバー20から順次受信すると、印刷対象1ページ分のバンドデータBD1を受信できたタイミングで、例えば、バンドデータBD1単位での印刷ヘッド35毎の駆動制御を複数の印刷ヘッド35について同時に実行することにより、印刷対象を印刷媒体Mへ印刷する。このとき制御部31は、バンドデータBD1の幅(画素数)を必要に応じて印刷ヘッド35の幅(ノズル数)に合わせて調整する等して、各印刷ヘッド35を駆動させる。一方、プリンター40(第2の印刷装置)では、制御部41は、変換処理後のバンドデータBD2を管理サーバー20から順次受信しながら、並行して、例えばバンドデータBD2単位で印刷ヘッド44の走査毎の駆動制御を実行して印刷対象を印刷媒体Mへ印刷する。
4.認証印刷への適用:
上述したように、本実施形態では、印刷対象を印刷する(印刷先の)プリンターは、管理サーバー20が決定する。このような構成は、認証印刷に適用することができる。以下に、本実施形態を認証印刷に適用する場合の処理の流れを簡単に説明する。
ユーザーは、クライアント端末10を操作して、例えば、予め決められている自身のユーザー識別情報(認証印刷を利用可能なユーザー毎にユニークな情報。以下、ユーザーIDと呼ぶ。)を入力することにより、クライアント端末10のOS(Operating System)にログインし、プログラムP1を起動させる。プログラムP1を実行するクライアント端末10の制御部11は、図4で説明した処理を実行する過程で、当該ログインしたユーザー(ログインユーザー)によって任意に指定された印刷対象からブロックデータBLDを生成し(ステップS110)、生成したブロックデータBLDを管理サーバー20へ送信する(ステップS120)。このとき、制御部11(BLD生成部14)は、生成した各ブロックデータBLDに、ログインユーザーのユーザーIDを付す。
管理サーバー20の制御部21は、ネットワーク60を介して通信IF25により受信したユーザーID付きのブロックデータBLDを順次受信し、例えば記憶部26へ保存する。また、記憶部26のユーザーDB27には、予めユーザー毎のユーザー情報が登録されている。ユーザー情報には、ユーザー毎のユーザーIDや、ユーザーID以外の各種個人情報(例えば、氏名や電子メールアドレス等)が含まれている。
ユーザーは、システム1に含まれるプリンターの中から任意に選択したプリンター(一例としてプリンター30)を操作して、自身のユーザーIDを入力する。ユーザーIDの入力を、例えば、操作受付部32を介して受けたプリンター30の制御部31は、入力されたユーザーIDを含めた認証要求を、ネットワーク60を介して管理サーバー20へ送信する。つまり、プリンターへのユーザーIDの入力という行為が、ユーザーによる認証要求に該当する。
認証要求を受信した管理サーバー20では、制御部21(認証部22)が、認証要求に対して印刷を許可するか否かの認証を行う。この場合、認証部22は、受信した認証要求に含まれているユーザーIDが、ユーザーDB27に登録されているいずれかのユーザーのユーザーIDと一致する場合に、印刷を許可する旨の判断をする(認証成功)。これにより、プリンターにユーザーIDを入力したユーザーが、当該プリンターを利用可能なユーザーの1人であるとして管理サーバー20に認証されたことになる。認証部22は、上述のよう印刷を許可する旨の判断をした認証要求の送信元のプリンターを、印刷先のプリンターに決定する(ステップS200)。つまり、管理サーバー20は、ステップS200において、プリンター側からのアクセス(認証要求)に基づいて、印刷対象の印刷先とするプリンターを決定することができる。なお、認証部22は、受信した認証要求に含まれているユーザーIDが、ユーザーDB27に登録されているいずれのユーザーのユーザーIDとも一致しない場合には、印刷を許可しない旨の判断をする(認証失敗)。認証印刷においては、認証部22が印刷を許可しない旨の判断をした場合、ステップS200でプリンターを決定せず、そのまま図7のフローチャートを終える。
ステップS200で前記認証処理によりプリンターを決定した後の、ステップS210以降の処理は、基本的には上述した通りである。ただし、前記認証処理を経たあとのステップS260,S270で印刷データ生成部23が扱うブロックデータBLDは、記憶部26に保存されたブロックデータであって、前記認証処理で印刷を許可する旨の判断がされた認証要求に含まれていたユーザーIDと一致するユーザーIDが付されているブロックデータBLDに限られる。このように本実施形態を認証印刷に適用することにより、ユーザーの操作による前記認証要求に対して管理サーバー20により印刷を許可する旨の判断がされたプリンターが、当該ユーザーに紐付く印刷対象の印刷を、管理サーバー20から送信された自身にとって適切な向きを長手方向としたバンドデータに基づいて実行することが可能となる。
5.まとめ:
このように本実施形態によれば、システム1は、プリンター30,40…を管理する管理サーバー20と、管理サーバー20と通信するクライアント端末10とを含む。クライアント端末10は、印刷対象を第1の方向および第1の方向と交差する第2の方向に区切ることによりブロックデータBLDを生成するBLD生成部14と、ブロックデータBLDを管理サーバー20へ送信するブロックデータ送信部(通信制御部15)とを備える。管理サーバー20は、ブロックデータBLDを受信して保持する保持部(例えば、記憶部26)と、印刷先とするプリンターが決定した場合に、前記保持されたブロックデータBLDに基づいて、印刷先のプリンターに対応するバンドデータ(印刷先のプリンターが処理するバンドの長手方向に前記保持されたブロックデータBLDが並んだバンドデータ)を生成するバンドデータ生成部(印刷データ生成部23)と、バンドデータを印刷先のプリンターへ送信するバンドデータ送信部(通信制御部24)とを備える。そして、バンドデータ生成部(印刷データ生成部23)は、印刷先のプリンターが、第1の方向(印刷媒体の搬送方向)を長手方向とするバンドデータを処理する第1の印刷装置である場合に、第1の方向にブロックデータBLDが並んだ第1のバンドデータ(バンドデータBD1)を生成し、印刷先のプリンターが、第2の方向(印刷媒体の搬送方向に交差する方向)を長手方向とするバンドデータを処理する第2の印刷装置である場合に、第2の方向にブロックデータBLDが並んだ第2のバンドデータ(バンドデータBD2)を生成する。
当該構成によれば、管理サーバー20は、印刷先として決定したプリンターが第1の印刷装置、第2の印刷装置のいずれであっても、クライアント端末10から受信して保持するブロックデータBLDに基づいて、印刷先のプリンターにとって処理に適した向きを長手方向としたバンドデータを容易に生成し、プリンターに送信することができる。つまり、プリンターの種類に応じた適切な向きのバンドデータを生成しプリンターへ送信する管理サーバー20における処理を、効率化させることができる。
また、本実施形態によれば、管理サーバー20の印刷データ生成部23は、印刷先のプリンターが処理する第1のバンドデータ(バンドデータBD1)または第2のバンドデータ(バンドデータBD2)の生成に必要な1バンド分のブロックデータBLDが保持部に保持された場合に(図7のステップS260において“Yes”)、当該保持された1バンド分のブロックデータBLDにより第1のバンドデータまたは第2のバンドデータを生成する(ステップS270)。つまり、印刷対象(印刷対象ページ)のデータを、クライアント端末10側でブロックデータBLDに分割し、ブロックデータBLDを順次管理サーバー20へ送信することで、管理サーバー20は、ページ単位のデータの受信完了を待つことなく、1つのバンドデータの生成に必要なブロックデータBLDが保持部に揃った段階で、バンドデータの生成(印刷データの生成)を実行し、プリンターへ送信する。これにより、ページ単位のデータの受信完了を待ってから必要な処理を開始していた従来と比較して、管理サーバー20は、印刷対象のデータに対する処理の開始タイミングを早め、その結果、プリンターがバンドデータ(印刷データ)に基づく印刷を開始するタイミングを早めることができる。また、管理サーバー20は、必ずしもクライアント端末10から受信したブロックデータBLDを常に1ページ分保持しておく必要がないため、管理サーバー20におけるメモリー資源を節約することができる。
また、本実施形態によれば、クライアント端末10は、図6Aに例示したように、印刷対象の第1の方向における一端側の縁部分から第2の方向に沿ってブロック状の領域を切り出すことにより第2の方向に沿った複数のブロックデータBLDを順次生成する処理と、印刷対象の第2の方向における一端側の縁部分から第1の方向に沿ってブロック状の領域を切り出すことにより第1の方向に沿った複数のブロックデータBLDを順次生成する処理と、を繰り返し実行し、ブロックデータBLDを生成順に送信する。ただし、本実施形態においては、図6Aに示したブロックデータBLDの順序(第1順序)は、ステップS120でブロックデータBLDを送信する順序を示しているに過ぎない、と解してもよい。言い換えると、クライアント端末10の制御部11は、ステップS120で第1順序に従って各ブロックデータBLDを送信する場合であっても、ステップS110で処理対象のページからブロック状の領域(ブロックデータBLD)を切り出す順序は、必ずしも第1順序の通りとしなくてもよい。例えば、制御部11(BLD生成部14)は、印刷対象の第2の方向に沿ってブロック状の領域を切り出す処理を印刷対象の第1の方向における一端側から他端側に向かって進める。このような態様まで含めると、本実施形態では、クライアント端末10は、印刷対象の第1の方向における一端側の縁部分からブロック状に切り出された第2の方向に沿った複数のブロックデータを順次送信する処理と、印刷対象の第2の方向における一端側の縁部分からブロック状に切り出された第1の方向に沿った複数のブロックデータを順次送信する処理とを繰り返し実行する(図6A)、とも言える。このような構成によれば、クライアント端末10は、印刷先のプリンターが第1のバンドデータ(バンドデータBD1)に基づいて印刷を実行する第1の印刷装置と、第2のバンドデータ(バンドデータBD2)に基づいて印刷を実行する第2の印刷装置とのいずれであっても、管理サーバー20が印刷先のプリンターに対応した向きのバンドデータを迅速に生成開始できる順序で、ブロックデータBLDを管理サーバー20へ送信する。
また、本実施形態によれば、クライアント端末10は、図6Bに例示したように、印刷対象の第1の方向における一端側の縁部分から第2の方向に沿ってブロック状の領域を切り出すことにより第2の方向に沿った複数のブロックデータBLDを順次生成する処理と、印刷対象の第2の方向における一端側の縁部分から第1の方向に沿ってブロック状の領域を切り出すことにより第1の方向に沿った複数のブロックデータBLDを順次生成する処理と、印刷対象の第1の方向における他端側の縁部分から第2の方向に沿ってブロック状の領域を切り出すことにより第2の方向に沿った複数のブロックデータBLDを順次生成する処理と、印刷対象の第2の方向における他端側の縁部分から第1の方向に沿ってブロック状の領域を切り出すことにより第1の方向に沿った複数のブロックデータBLDを順次生成する処理と、を1サイクルとして当該サイクルを繰り返し実行し、ブロックデータBLDを生成順に送信する。ただし、本実施形態においては、図6Bに示したブロックデータBLDの順序(第2順序)は、ステップS120でブロックデータBLDを送信する順序を示しているに過ぎない、と解してもよい。言い換えると、クライアント端末10の制御部11は、ステップS120で第2順序に従って各ブロックデータBLDを送信する場合であっても、ステップS110で処理対象のページからブロック状の領域(ブロックデータBLD)を切り出す順序は、必ずしも第2順序の通りとしなくてもよい。このような態様まで含めると、本実施形態では、クライアント端末10は、印刷対象の第1の方向における一端側の縁部分からブロック状に切り出された第2の方向に沿った複数のブロックデータを順次送信する処理と、印刷対象の第2の方向における一端側の縁部分からブロック状に切り出された第1の方向に沿った複数のブロックデータを順次送信する処理と、印刷対象の第1の方向における他端側の縁部分からブロック状に切り出された第2の方向に沿った複数のブロックデータを順次送信する処理と、印刷対象の第2の方向における他端側の縁部分からブロック状に切り出された第1の方向に沿った複数のブロックデータを順次送信する処理と、を1サイクルとして当該サイクルを繰り返し実行する(図6B)、とも言える。このような構成によれば、クライアント端末10は、図6Aの例と同様に、管理サーバー20が印刷先のプリンターに対応した向きのバンドデータを迅速に生成開始できる順序で、ブロックデータBLDを管理サーバー20へ送信する。さらに、当該構成によれば、シリアルタイプの印刷ヘッド44を用いる第2の印刷装置(例えば、プリンター40)により上下回転印刷が実行される印刷対象ページに関して、最初に第2の印刷装置へ提供されるべきページ最下端のバンドデータの生成を比較的早く開始することができる。これにより、シリアルタイプの印刷ヘッド44を用いる第2の印刷装置が、ある印刷対象ページに関して上下方向を180°回転させて印刷する際の印刷開始(1回目の走査開始)のタイミングを早めることができる。
また、本実施形態によれば、クライアント端末10は、図5の中段に例示したように、複数ページからなる印刷対象の先頭ページ(印刷対象ページPO1)側の1ページから生成したブロックデータBLDの送信と、最終ページ(印刷対象ページPO6)側の1ページから生成したブロックデータBLDの送信とをページ単位で交互に繰り返す。クライアント端末10が、仮に印刷対象ページ毎のブロックデータBLDの送信を、印刷対象ページのページ順に従って実行すると、管理サーバー20側では、逆順印刷を選択した場合、一番最後に送信される最終ページ(印刷対象ページPO6)のブロックデータBLDを受信した後でないと、プリンターへ最初に送信すべきバンドデータの生成を開始できない。これに対し、本実施形態によれば、管理サーバー20は、最終ページ(印刷対象ページPO6)のブロックデータBLDを、先頭ページ(印刷対象ページPO1)のブロックデータBLDの次に受信する。従って、逆順印刷を選択した場合に、プリンターへ最初に送信すべきバンドデータの生成開始のタイミングを大幅に早め、結果として、プリンター側での印刷開始のタイミングを早めることができる。つまり、管理サーバー20は、プリンターに逆順印刷を実行させる場合も、正順印刷を実行させる場合と同程度の印刷速度を実現させることができる。
さらに本実施形態によれば、クライアント端末10は、上述したように空白ブロックについては、データ量を大幅に削減することで、クライアント端末10から管理サーバー20へのブロックデータBLDの送信負担を軽減し、かつ、ブロックデータBLDを保存する管理サーバー20側の記憶容量の消費を抑えることができる。
6.変形例:
本実施形態は、これまでに説明した態様に限定されず、種々の態様を採用可能である。
変形例1:
図9は、第1の印刷装置としてのプリンター30と、印刷媒体Mのセット方向との関係を説明するための図である。図9では、プリンター30の印刷部33が有する印刷ヘッドユニット34に対して搬送方向D1aに沿って搬送される印刷媒体Mを、実線と2点鎖線とで例示している。図9に示す印刷媒体Mは、A4サイズの用紙であるとする。印刷媒体Mの長辺(ロングエッジ)を符号LEで表し、短辺(ショートエッジ)を符号SEで表す。図9に示すプリンター30は、A4サイズの用紙については、実線で示すように長辺LEを先端にして搬送するロングエッジフィード(LEF)と、2点鎖線で示すように短辺SEを先端にして搬送するショートエッジフィード(SEF)とを実行可能であるとする。なお、図9での図示は省略しているが、プリンター30は、A4サイズ2枚分のA3サイズの用紙については、機体サイズの都合上、SEFのみ可能であると仮定する。また、説明を簡単にするために、第2の印刷装置としてのプリンター40は、印刷媒体MのSEFのみ可能な機種であるとする。
このような具体例を想定したとき、プリンター30でA4サイズやA3サイズの用紙をSEFする場合は、これまで説明した通り、印刷対象の搬送方向(印刷対象の上下方向)を長手方向としたバンドデータBD1をブロックデータBLDから生成し、バンドデータBD1に基づいてプリンター30を駆動制御すればよい。また、プリンター40で印刷を行う場合は、これまで説明した通り、印刷対象の搬送方向に交差する方向(印刷対象の左右方向)を長手方向としたバンドデータBD2をブロックデータBLDから生成し、バンドデータBD2に基づいてプリンター40を駆動制御すればよい。しかし、プリンター30でA4サイズの用紙をLEFする場合は、印刷対象を90°回転させて印刷する都合上、印刷対象の上下方向を長手方向としたバンドデータBD1を生成するのは適切ではなく、印刷対象の左右方向を長手方向としたバンドデータBD2を生成すべきである。
このような事情に鑑み、プリンター情報28は、プリンターにおける印刷媒体のセット方向を示す媒体向き情報を含んでおり、管理サーバー20の制御部21(印刷データ生成部23)は、ステップS200で決定したプリンターのプリンター情報28が示す、第1の印刷装置または第2の印刷装置の別および媒体向き情報に基づいて、生成すべきバンドデータの長手方向を決定する、としてもよい。
より具体的には、管理サーバー20の制御部21は、管理対象とする各プリンターから、プリンターの用紙トレイ等にセットされている印刷媒体のセット方向(SEF用の方向又はLEF用の方向)の情報(媒体向き情報)やサイズの情報を取得し、取得した情報をプリンター毎のプリンター情報の一部としてプリンター情報28内に記録しておく。
そして、印刷データ生成部23は、このようなセット方向等の情報も考慮して、ステップS250〜S270を実行する。例えば、印刷データ生成部23は、ステップS200で決定したプリンターがプリンター30である場合、ステップS210のタイミングでプリンター30のプリンター情報を取得する。このとき、プリンター30のプリンター情報が、第1の印刷情報である旨に加え、印刷媒体のセット方向はSEF用の方向であることを示していれば、生成すべきバンドデータの長手方向は印刷媒体の搬送方向と判別し、これまで説明したように、ステップS270では、印刷媒体の搬送方向を長手方向としたバンドデータBD1を生成する。一方で、印刷データ生成部23は、ステップS200で決定したプリンターに関して取得したプリンター情報が、第1の印刷情報である旨に加え、印刷媒体のセット方向はLEF用の方向であることを示していれば、生成すべきバンドデータの長手方向は印刷媒体の搬送方向に交差する方向と判別し、ステップS270では、印刷先のプリンターが第1の印刷装置(プリンター30)であるにもかかわらず、印刷媒体の搬送方向に交差する方向を長手方向としたバンドデータBD2を生成する。
ただし、プリンター30でA4サイズの用紙をLEFする場合は、上述したように、印刷対象(この場合、バンドデータ)を90°回転させて印刷する。この回転処理は、例えば、プリンター30が担当する。従って、管理サーバー20がプリンター30のためにブロックデータBLDを結合して生成する時点では、見かけ上、印刷対象の搬送方向と交差する方向を長手方向とするバンドデータBD2であっても、このバンドデータBD2は、プリンター30による印刷処理がされる時点では前記回転を経て、実質的に印刷対象の搬送方向を長手方向とするバンドデータとなる。このような変形例1によれば、管理サーバー20は、プリンターの種類(第1の印刷装置又は第2の印刷装置)だけでなくプリンターにおける印刷媒体のセット方向も考慮して、適切な向きのバンドデータを生成し、プリンターに正確に印刷を実行させることができる。
変形例2:
クライアント端末10は、印刷先のプリンターを管理サーバー20が決定する第1のモードにおいては、BLD生成部14によるブロックデータBLDの生成と、ブロックデータ送信部(通信制御部15)によるブロックデータBLDの送信を実行する。第1のモードにおける動作は、これまでに説明した実施形態と同様である。一方で、クライアント端末10において印刷先のプリンターを決定し、決定したプリンターによる印刷対象の印刷を管理サーバー20に要求する第2のモード(いわゆる、プッシュ印刷)においては、決定したプリンターが第1の印刷装置である場合に、クライアント端末10は印刷対象から第1の方向を長手方向とするバンドデータを生成し、決定したプリンターが第2の印刷装置である場合に、印刷対象から第2の方向を長手方向とするバンドデータを生成し、生成したバンドデータを管理サーバー20へ送信する。
以下に、第2のモードに関して説明する。
図10は、第2のモードを選択するクライアント端末10の制御部11がプログラムP1に従って実行する印刷制御処理(印刷制御方法)をフローチャートにより示している。
制御部11(選択部12)は、管理サーバー20が管理する1台以上のプリンターの中から、印刷対象の印刷に使用する(印刷先の)プリンターを選択する(ステップS400)。選択部12は、ユーザーの操作に応じてプリンターを選択する。例えば、選択部12は、管理サーバー20が管理対象としている1台以上のプリンターを列挙する不図示のプリンター選択画面を、表示部17に表示させる。制御部11は、プリンター選択画面の表示に先立ち、通信制御部15が通信IF19を介して管理サーバー20と通信することにより、プリンター情報28を管理サーバー20から取得する。
選択部12は、管理サーバー20から取得されたプリンター情報28に基づいて、管理サーバー20が管理対象としている各プリンターの名称や機種の特徴等を列挙したプリンター選択画面を生成し、生成したプリンター選択画面を表示部17に表示させる。プリンター選択画面には、例えば、プリンター30,40に関する情報が視認可能に含まれている。ユーザーは、操作受付部18を操作することにより、表示部17に表示されたプリンター選択画面に列挙されたプリンターの中から任意にプリンターを選択する。選択部12は、このようなユーザーによる選択に従って、プリンターを選択する(ユーザーによるプリンターの選択を受け入れる)。選択部12が印刷先のプリンターを選択する処理を実行したことが、制御部11が第1のモードではなく第2のモードを選択したことになる。言い換えると、制御部11は、ユーザーから印刷先のプリンターの選択を指示されることなく、管理サーバー20への印刷対象の送信を指示された場合に、第1のモードであることを認識する。
ステップS410では、制御部11(情報取得部13)は、ステップS400で選択されたプリンターに関するプリンター情報を取得する。上述したように制御部11は、プリンター選択画面を表示するために、管理サーバー20が管理対象としている各プリンターのプリンター情報28を既に管理サーバー20から取得している。そこで、ステップS410では、情報取得部13は、管理サーバー20から取得された各プリンターのプリンター情報28の中から、ステップS400で選択されたプリンターに関するプリンター情報を取得(抽出)する。
ステップS420では、制御部11は、ステップS410で取得したプリンター情報に基づいて、生成すべきバンドデータの長手方向を判別し、判別結果に応じて処理を分岐する。ステップS410で取得したプリンター情報(ステップS400で選択したプリンターのプリンター情報)が、第1の印刷装置である旨を示している場合には、制御部11は、バンドデータの長手方向は第1の方向、つまり印刷媒体の搬送方向であると判別し、ステップS430へ進む。一方、ステップS410で取得したプリンター情報が、第2の印刷装置である旨を示している場合には、制御部11は、バンドデータの長手方向は第2の方向、つまり印刷媒体の搬送方向に交差する方向であると判別し、ステップS440へ進む。制御部11は、ステップS430へ進んだ場合には、印刷媒体の搬送方向を長手方向としたバンドデータを印刷対象から生成する。一方、ステップS440へ進んだ場合には、印刷媒体の搬送方向に交差する方向を長手方向としたバンドデータを印刷対象から生成する。
図11は、ステップS430,S440(バンドデータ生成工程)の具体例を説明するための図である。符号POは、1ページ分の印刷対象(印刷対象ページPO)を示している。制御部11は、印刷対象ページPOから複数のバンドデータを生成する。図11では、図5と同様に、印刷対象ページPOの向きと、印刷対象ページPOがプリンターにより印刷される際の方向(方向D1a,D1bおよび方向D2a,D2b)との対応関係も併せて示している。
制御部11は、ステップS430では、印刷対象ページPOを、所定のバンド幅で搬送方向に交差する方向(方向D2a,D2b)に区切ることにより、搬送方向(方向D1a,D1b)を長手方向としたバンドデータBD1を、ページの左右の一端から他端に向かって順次生成していく。制御部11がステップS430で生成するハンドデータBD1のバンド幅(画素数)は、例えば、第1の印刷装置(プリンター30)の印刷ヘッドユニット34を構成する印刷ヘッド35(図2)の方向D2aにおける幅に相当する長さである。上述のプリンター情報には、このようなプリンター毎のバンド幅の情報も含まれているとする。
一方、制御部11は、ステップS440では、印刷対象ページPOを、所定のバンド幅で搬送方向(方向D1a,D1b)に区切ることにより、搬送方向に交差する方向(方向D2a,D2b)を長手方向としたバンドデータBD2を、ページの上下の一端から他端に向かって順次生成していく。制御部11がステップS440で生成するハンドデータBD2のバンド幅(画素数)は、例えば、第2の印刷装置(プリンター40)の印刷ヘッド44(図3)の方向D1bにおける幅に相当する長さである。図11では、印刷対象ページPOの縦(上下)方向を搬送方向(方向D1a,D1b)に対応させ、印刷対象ページPOの横(左右)方向を搬送方向に交差する方向(方向D2a,D2b)に対応させていることから、ステップS430で生成するバンドデータBD1を縦長のバンドデータと呼び、ステップS440で生成するバンドデータBD2を横長のバンドデータと呼んでもよい。
ステップS450では、制御部11(通信制御部15)は、生成されたバンドデータを、通信IF19を介して管理サーバー20へ送信する。通信制御部15は、1つのバンドデータが生成される度に、当該生成されたバンドデータを管理サーバー20へ順次送信する。従って、ステップS420からステップS430へ処理が進んだ場合には、ステップS430によるバンドデータBD1の生成と、ステップS450によるバンドデータBD1の送信とが、印刷対象から全てのバンドデータBD1を生成して送信し終えるまで繰り返される(図10の破線の矢印参照)。同様に、ステップS420からステップS440へ処理が進んだ場合には、ステップS440によるバンドデータBD2の生成と、ステップS450によるバンドデータBD2の送信とが、印刷対象から全てのバンドデータBD2を生成して送信し終えるまで繰り返される(図10の2点鎖線の矢印参照)。
なお、制御部11は、上述のように生成したバンドデータに、ステップS400で選択した印刷先のプリンターを識別するためのプリンター識別情報(例えば、プリンターの機体番号)を付す。また、制御部11は、印刷対象から最後に生成したバンドデータには、最終バンドである旨の情報を付す。また、制御部11は、生成したバンドデータを適宜圧縮処理するなどして、管理サーバー20への送信負担を軽くしてもよい。
図12は、管理サーバー20の制御部21がプログラムP2に従って実行する第2のモードにかかる印刷管理処理(印刷管理方法)をフローチャートにより示している。
制御部21(通信制御部24)は、通信IF25を介してクライアント端末10からバンドデータを受信したか否かを繰り返し判定し(ステップS500)、クライアント端末10から送信されたバンドデータを受信した場合に(ステップS500において“Yes”)、ステップS510へ進む。制御部21は、印刷先のプリンターを識別するためのプリンター識別情報が付されたバンドデータを受信した場合に、第1のモードではなく第2のモードであることを認識する。
ステップS510では、制御部21(印刷データ生成部23)は、ステップS500で受信したと判定したバンドデータを対象としてバンドデータ変換処理を実行する。バンドデータ変換処理では、バンドデータを、バンドデータに付されたプリンター識別情報が示すプリンター(ステップS400で選択されたプリンター)が解釈可能な所定の制御コード体系によるバンドデータに変換する。例えば、印刷データ生成部23は、バンドデータに付されたプリンター識別情報が示すプリンターが解釈可能な制御コード体系に対応したコマンドをバンドデータ毎に付したり、当該制御コード体系に依存した圧縮処理をバンドデータ毎に施したりする。このような変換処理後のバンドデータを、印刷データ(印刷データの一部)とも呼ぶ。
印刷データ生成部23は、バンドデータBD1を処理対象とする場合は、バンドデータBD1に付されたプリンター識別情報が示すプリンター(第1の印刷装置)が解釈可能な制御コード体系として、例えば、いわゆるESC/Page等の制御コード体系を採用する。一方、印刷データ生成部23は、バンドデータBD2を処理対象とする場合は、バンドデータBD2に付されたプリンター識別情報が示すプリンター(第2の印刷装置)が解釈可能な制御コード体系として、例えば、いわゆるESC/P‐R等の制御コード体系を採用する。ステップS510の変換処理を経たバンドデータBD1も、変換処理前と同様に縦長のバンドデータであり、ステップS510の変換処理を経たバンドデータBD2も、変換処理前と同様に横長のバンドデータである。
ステップS520では、制御部21(通信制御部24)は、ステップS510による変換処理後のバンドデータ(印刷データ)を、当該バンドデータに付されたプリンター識別情報が示すプリンター(ステップS400で選択されたプリンター)へ、通信IF25を介して送信する。
ステップS530では、制御部21は、直近のステップS510,S520で処理対象としたバンドデータが最終バンドであったか否かを判定し、最終バンドであれば、最終バンドに対する処理の終了、つまり印刷対象に対する全ての処理終了と判定し(ステップS530において“Yes”)、図12のフローチャートを終了する。一方、制御部21は、直近のステップS510,S520で処理対象としたバンドデータが最終バンドでなければ、最終バンドに対する処理の終了とは判定せず(ステップS530において“No”)、ステップS500に戻る。このようなステップS500〜S530のサイクルを繰り返すことにより、制御部21は、クライアント端末10から順次送信されるバンドデータを1つの処理単位として必要な変換処理を施した上で、変換処理後のバンドデータを順次プリンターへ送信することができる。ネットワーク60を介して管理サーバー20から変換処理後のバンドデータを受信するプリンター側の処理は、既に説明した通りである。なお、図10〜12の説明では、印刷対象が複数ページである場合を特に説明していないが、言うまでもなく印刷対象は図5に示すように複数ページであることもある。また、第2のモードでは、クライアント端末10は、印刷対象に関する両面印刷の実行不実行等の印刷設定の内容はもちろんのこと、印刷先のプリンターを認識しているのであるから、印刷先のプリンターの排紙に関する設定(フェイスアップ排紙/フェイスダウン排紙)もプリンター情報28を通じて把握し、各印刷対象ページの印刷に最適なページ順かつバンドデータ順で、印刷先のプリンターに応じた向きのバンドデータを管理サーバー20へ送信することができる。
変形例2によれば、クライアント端末10が印刷先のプリンターがいずれであるかを認識しない第1のモードにおいて、これまで説明したように効率的な印刷を実現できる。一方、クライアント端末10が印刷先のプリンターを決定する第2のモードにおいては、クライアント端末10が、印刷先のプリンターの種類に応じた適切な向きのバンドデータを生成することで、管理サーバー20側の負担を大幅に削減し、印刷処理を効率化させることができる。
上述の説明では、管理サーバー20は、ステップS200で印刷に使用することを決定したプリンターの印刷媒体の排出に関する設定等に応じて、当該プリンターに正順印刷又は逆順印刷のいずれを実行させるかを選択する(ステップS220)。そして、ステップS230では、ステップS220で選択した印刷順序(正順印刷又は逆順印刷)に従って処理対象のページを決定する。つまり、管理サーバー20は、プリンターの印刷媒体の排出に関する設定等に応じたページの並び替えを行っていると言える。しかし、プリンターによっては、受信した印刷データをページ単位で適切な順序(正順印刷又は逆順印刷に対応させた順序)に並び替えた上で印刷を実行可能な機種(ページ並び替え機能を有する機種)に該当する場合がある。
そこで、管理サーバー20は、ステップS200で決定したプリンターがページ並び替え機能を有する機種に該当するか否かを判定するとしてもよい。そして、管理サーバー20は、ステップS200で決定したプリンターがページ並び替え機能を有する機種ではない場合に、上述した通りの処理(図7等を用いて説明した処理)を実行する。一方、ステップS200で決定したプリンターがページ並び替え機能を有する機種である場合には、管理サーバー20は、ステップS220ではステップS230の処理のために常に同じ印刷順序(例えば正順印刷)を便宜上選択し、実質的に、プリンターの印刷媒体の排出に関する設定等に応じたページの並び替えを行わない。このように、プリンターがページ並び替え機能を有する場合には、管理サーバー20側でページの並び替えを実行しない構成とすることで、管理サーバー20側の処理負担を軽減することができる。
1…システム、10…クライアント端末、11…制御部、12…選択部、13…情報取得部、14…BLD生成部、15…通信制御部、17…表示部、18…操作受付部、19…通信IF、20…管理サーバー、21…制御部、22…認証部、23…印刷データ生成部、24…通信制御部、25…通信IF、26…記憶部、27…ユーザーDB、28…プリンター情報、30,40…プリンター、31,41…制御部、32,42…操作受付部、33,43…印刷部、BD1,BD2…バンドデータ、P1,P2…プログラム

Claims (11)

  1. 印刷装置を管理する管理装置と、前記管理装置と通信する印刷制御装置とを含む印刷システムであって、
    前記印刷制御装置は、
    印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることによりブロックデータを生成するブロックデータ生成部と、
    前記ブロックデータを前記管理装置へ送信するブロックデータ送信部と、を備え、
    前記管理装置は、
    前記ブロックデータを受信するブロックデータ受信部と、
    前記受信されたブロックデータを保持する保持部と、
    印刷先とする印刷装置が決定した場合に、前記保持されたブロックデータに基づいて、前記印刷先の印刷装置に対応するバンドデータを生成するバンドデータ生成部と、
    前記バンドデータを前記印刷先の印刷装置へ送信するバンドデータ送信部と、を備え、
    前記バンドデータ生成部は、前記印刷先の印刷装置が、前記第1の方向を長手方向とするバンドデータを処理する第1の印刷装置である場合に、前記第1の方向に前記ブロックデータが並んだ第1のバンドデータを生成し、前記印刷先の印刷装置が、前記第2の方向を長手方向とするバンドデータを処理する第2の印刷装置である場合に、前記第2の方向に前記ブロックデータが並んだ第2のバンドデータを生成する、ことを特徴とする印刷システム。
  2. 前記バンドデータ生成部は、前記印刷先の印刷装置が処理する前記第1のバンドデータまたは前記第2のバンドデータの生成に必要な1バンド分の前記ブロックデータが前記保持部に保持された場合に、当該保持された1バンド分のブロックデータにより前記第1のバンドデータまたは前記第2のバンドデータを生成することを特徴とする請求項1に記載の印刷システム。
  3. 前記管理装置は、管理対象の1台以上の印刷装置のいずれかからユーザーの操作に基づく認証要求を受信した場合に、前記認証要求に対して印刷を許可するか否かの認証を行い、前記認証により印刷を許可した前記認証要求の送信元の印刷装置を、前記印刷先の印刷装置に決定する認証部を更に備えることを特徴とする請求項1または請求項2に記載の印刷システム。
  4. 前記ブロックデータ送信部は、前記印刷対象の前記第1の方向における一端側の縁部分からブロック状に切り出された前記第2の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第2の方向における一端側の縁部分からブロック状に切り出された前記第1の方向に沿った複数のブロックデータを順次送信する処理と、を繰り返し実行することを特徴とする請求項1〜請求項3のいずれかに記載の印刷システム。
  5. 前記ブロックデータ送信部は、前記印刷対象の前記第1の方向における一端側の縁部分からブロック状に切り出された前記第2の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第2の方向における一端側の縁部分からブロック状に切り出された前記第1の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第1の方向における他端側の縁部分からブロック状に切り出された前記第2の方向に沿った複数のブロックデータを順次送信する処理と、前記印刷対象の前記第2の方向における他端側の縁部分からブロック状に切り出された前記第1の方向に沿った複数のブロックデータを順次送信する処理と、を1サイクルとして当該サイクルを繰り返し実行することを特徴とする請求項1〜請求項3のいずれかに記載の印刷システム。
  6. 前記ブロックデータ送信部は、複数ページからなる前記印刷対象の先頭ページ側の1ページから生成された前記ブロックデータの送信と、前記印刷対象の最終ページ側の1ページから生成された前記ブロックデータの送信とをページ単位で交互に繰り返し、
    前記バンドデータ生成部は、前記印刷先の印刷装置における印刷媒体の排出に関する設定に基づいて、前記印刷対象を先頭ページから最終ページに向けて順に印刷させる正順印刷又は前記印刷対象を最終ページから先頭ページに向けて順に印刷させる逆順印刷を選択し、前記正順印刷を選択した場合には、前記保持されたブロックデータにより、前記正順印刷のページの順序に従って前記第1のバンドデータまたは前記第2のバンドデータを生成し、前記逆順印刷を選択した場合には、前記保持されたブロックデータにより、前記逆順印刷のページの順序に従って前記第1のバンドデータまたは前記第2のバンドデータを生成し、
    前記バンドデータ送信部は、前記バンドデータを生成された順に送信することを特徴とする請求項1〜請求項5のいずれかに記載の印刷システム。
  7. 前記印刷制御装置は、
    前記印刷先の印刷装置を前記管理装置が決定する第1のモードにおいては、前記ブロックデータ生成部による前記ブロックデータの生成と、前記ブロックデータ送信部による前記ブロックデータの送信を実行し、
    前記印刷制御装置が前記印刷先の印刷装置を決定し、前記決定した印刷装置による前記印刷対象の印刷を前記管理装置に要求する第2のモードにおいては、前記決定した印刷装置が前記第1の印刷装置である場合に、前記印刷対象から前記第1の方向を長手方向とするバンドデータを生成し、前記決定した印刷装置が前記第2の印刷装置である場合に、前記印刷対象から前記第2の方向を長手方向とするバンドデータを生成し、生成したバンドデータを前記管理装置へ送信する、ことを特徴とする請求項1〜請求項6のいずれかに記載の印刷システム。
  8. 印刷装置を管理する管理装置と通信する印刷制御装置であって、
    印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることによりブロックデータを生成するブロックデータ生成部と、
    前記ブロックデータを前記管理装置へ送信するブロックデータ送信部と、を備えることを特徴とする印刷制御装置。
  9. 印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることによりブロックデータを生成するブロックデータ生成機能と、
    前記ブロックデータを、印刷装置を管理する管理装置へ送信するブロックデータ送信機能と、をコンピューターに実行させることを特徴とする印刷制御プログラム。
  10. 印刷装置を管理する管理装置であって、
    印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることにより生成されたブロックデータを外部から受信するブロックデータ受信部と、
    前記受信されたブロックデータを保持する保持部と、
    印刷先とする印刷装置が決定した場合に、前記保持されたブロックデータに基づいて、前記印刷先の印刷装置に対応するバンドデータを生成するバンドデータ生成部と、
    前記バンドデータを前記印刷先の印刷装置へ送信するバンドデータ送信部と、を備え、
    前記バンドデータ生成部は、前記印刷先の印刷装置が、前記第1の方向を長手方向とするバンドデータを処理する第1の印刷装置である場合に、前記第1の方向に前記ブロックデータが並んだ第1のバンドデータを生成し、前記印刷先の印刷装置が、前記第2の方向を長手方向とするバンドデータを処理する第2の印刷装置である場合に、前記第2の方向に前記ブロックデータが並んだ第2のバンドデータを生成する、ことを特徴とする管理装置。
  11. 印刷装置を管理するコンピューターに、
    印刷対象を第1の方向および前記第1の方向と交差する第2の方向に区切ることにより生成されたブロックデータを外部から受信して保持する保持機能と、
    印刷先とする印刷装置が決定した場合に、前記保持されたブロックデータに基づいて、前記印刷先の印刷装置に対応するバンドデータを生成するバンドデータ生成機能と、
    前記バンドデータを前記印刷先の印刷装置へ送信するバンドデータ送信機能と、を実行させ、
    前記バンドデータ生成機能は、前記印刷先の印刷装置が、前記第1の方向を長手方向とするバンドデータを処理する第1の印刷装置である場合に、前記第1の方向に前記ブロックデータが並んだ第1のバンドデータを生成し、前記印刷先の印刷装置が、前記第2の方向を長手方向とするバンドデータを処理する第2の印刷装置である場合に、前記第2の方向に前記ブロックデータが並んだ第2のバンドデータを生成する、ことを特徴とする印刷管理プログラム。
JP2017216137A 2017-11-09 2017-11-09 印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム Pending JP2019087117A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017216137A JP2019087117A (ja) 2017-11-09 2017-11-09 印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017216137A JP2019087117A (ja) 2017-11-09 2017-11-09 印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム

Publications (1)

Publication Number Publication Date
JP2019087117A true JP2019087117A (ja) 2019-06-06

Family

ID=66763190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017216137A Pending JP2019087117A (ja) 2017-11-09 2017-11-09 印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム

Country Status (1)

Country Link
JP (1) JP2019087117A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102076209B1 (ko) 2019-08-19 2020-03-02 유용호 시트 사이즈별 개별 재고 인식을 통한, 프린팅 시트 자동 트리거링 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102076209B1 (ko) 2019-08-19 2020-03-02 유용호 시트 사이즈별 개별 재고 인식을 통한, 프린팅 시트 자동 트리거링 시스템

Similar Documents

Publication Publication Date Title
US8274672B2 (en) Printing system and printer driver
JP5895391B2 (ja) 印刷装置および印刷装置の制御方法
US20200089443A1 (en) Printing system, information processing apparatus, method of controlling same, storage medium, external apparatus, method of controlling same, and storage medium
JP6136966B2 (ja) 印刷装置および印刷システム
JP5929431B2 (ja) 画像記録装置、画像記録装置の制御方法、及び制御プログラム
JP2013077294A (ja) 印刷装置および印刷装置の制御方法
JP6127689B2 (ja) 印刷装置および印刷システム
JP2019087117A (ja) 印刷システム、印刷制御装置、印刷制御プログラム、印刷装置の管理装置および印刷管理プログラム
JP6056145B2 (ja) 印刷装置および印刷装置の制御方法
JP7006142B2 (ja) 印刷制御装置、印刷制御方法、印刷制御プログラムおよび印刷システム
JP4775171B2 (ja) 文書管理装置、文書管理システム、このシステムにおける印刷装置、文書管理方法及び文書管理プログラム
WO2021065124A1 (ja) サポートプログラム、情報処理装置、および印刷方法
US10027840B2 (en) Printer and non-transitory storage medium storing instructions executable by the printer
JP2007176104A (ja) 印刷装置
JP5786394B2 (ja) 印刷装置、印刷システム、印刷方法およびプログラム
JP6485051B2 (ja) 画像処理システム、画像処理装置およびプログラム
US11675554B1 (en) Industrial printing system, server, and variable printing method that promotes variable printing proof-reading delays with substitute part
US11314466B2 (en) Information processing apparatus, image forming system, print control method, and recording medium
JP7043859B2 (ja) 印刷装置、及び印刷装置の制御方法
JP2016107570A (ja) 制御装置、制御方法、及びプログラム
JP5402979B2 (ja) 文書管理システム及びこのシステムにおける印刷装置
JP2005111941A (ja) 印刷装置、印刷方法及び印刷実行プログラム
JP2016015032A (ja) 印刷制御装置、印刷制御装置の制御方法および記録媒体
US8976397B2 (en) Image forming apparatus and image forming method to output in an appropriate sequence
JP2004216905A (ja) 画像形成装置