JP6007686B2 - 帳票印刷方法、帳票印刷プログラム、および帳票印刷システム - Google Patents

帳票印刷方法、帳票印刷プログラム、および帳票印刷システム Download PDF

Info

Publication number
JP6007686B2
JP6007686B2 JP2012196753A JP2012196753A JP6007686B2 JP 6007686 B2 JP6007686 B2 JP 6007686B2 JP 2012196753 A JP2012196753 A JP 2012196753A JP 2012196753 A JP2012196753 A JP 2012196753A JP 6007686 B2 JP6007686 B2 JP 6007686B2
Authority
JP
Japan
Prior art keywords
size
data
print
temporary
page
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.)
Active
Application number
JP2012196753A
Other languages
English (en)
Other versions
JP2014052839A (ja
Inventor
秀和 寺岸
秀和 寺岸
督央 細川
督央 細川
文子 櫻井
文子 櫻井
英一 種石
英一 種石
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012196753A priority Critical patent/JP6007686B2/ja
Publication of JP2014052839A publication Critical patent/JP2014052839A/ja
Application granted granted Critical
Publication of JP6007686B2 publication Critical patent/JP6007686B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、帳票データの印刷処理に関し、特に、大量ページの帳票データの印刷処理に関する。
帳票印刷システムは、印刷対象の帳票データの描画命令を受けて、帳票データをプリンタが解釈可能な印刷データに変換してプリンタへ転送して印刷処理を実行する。処理の一例を示すと、帳票印刷システムを構成する印刷サーバは、処理効率のためにスプーラサービス機能を有し、印刷ジョブ(印刷データ)をスプールし、帳票印刷システムの描画処理機能により、印刷対象の帳票データからプリンタ機種に依存しない中間形式データ(メタファイル、拡張メタファイルなど)を生成する。さらに、出力プリンタに対応するプリンタドライバが、非同期に中間形式データを印刷データに変換し、出力プリンタに対応するポート制御機能が、印刷データを出力プリンタに転送する。上記の描画処理機能、各プリンタのプリンタドライバ、ポート制御機能の動作は、印刷ジョブのスプーラサービスを制御する処理部(プリントスプーラ)により制御される。
住民税納付書、入試問題冊子等の帳票データのような、非常に大きなサイズの帳票データの印刷処理では、出力するページ数が100万ページを超えるような場合もある。一方で、プリンタには、1回に処理可能なデータサイズに制限があり、例えば、2、4ギガバイト(GB)のように上限が設定されている。
したがって、印刷対象の帳票データのデータサイズがプリンタの印刷可能なデータサイズの上限を超えるため、プリンタに転送される印刷データを分割する必要がある。
印刷データのサイズを制限する従来手法として、ユーザごとに印刷許可枚数の上限値を設定し、印刷枚数が設定された上限値を超える印刷ジョブの場合に、上限値を超過する分の印刷可否を指定しておき、指定にもとづいて印刷処理を行う手法が知られている。
また別の従来手法として、プリンタが保持する最新のキャリブレーション情報と過去のキャリブレーション情報との変化量をもとにジョブ分割をする印刷量を決定し、分割した印刷ジョブをプリンタへ順次転送する処理が知られている。
特開2005−165953号公報 特開2008−176717号公報
大量の帳票を印刷する場合に、プリンタが1回の印刷処理で扱えるデータサイズの上限を超えないように帳票のページ数を指定して印刷処理を指示する必要がある。この場合に、印刷対象の帳票データから変換された印刷データを単純にバイナリ分割しても、プリンタが分割された印刷データを正しく認識することができない。
また、一般的に、高速プリンタは、印刷開始時、すなわち印刷データの先頭のデータ分(帳票データの数十ページ分に相当)の印刷時には、プリンタの機構部の回転速度が高速値に達していないため、プリンタの性能を発揮することができない。印刷データを細かく分割すると、プリンタの回転速度が高速ではない状態が多くなり、プリンタの性能を発揮することができない。
大量データの印刷が要求される業務では、できる限り効率よく印刷を行う必要があり、プリンタが性能を最大限に発揮できる状態で印刷できるように、印刷可能なデータサイズの上限を超えないサイズの印刷データをプリンタに転送する必要がある。
しかし、印刷データのサイズは、ラスター処理過程で印刷対象の帳票データの数十倍〜数百倍のサイズになるが、サイズがどの程度増加するかはデータ内容に依存するため、印刷対象の帳票データのサイズから印刷データのサイズを正確に予測することは困難である。
本発明は、プリンタの印刷性能を最大限に引き出して大量の帳票データを効率的に印刷できる印刷処理を行う帳票印刷方法、帳票印刷プログラム、および帳票印刷システムを提供することを目的とする。
本発明の一態様として開示する帳票印刷方法は、印刷ジョブをスプールするスプーラサービス部を備えたコンピュータが、前記スプーラサービス部に対して印刷ジョブの生成を要求し、前記印刷ジョブについて帳票データの1ページ分の描画命令を発行し、前記印刷ジョブで指定されたプリンタを特定し、前記帳票データの描画処理で生成された中間形式データをページ単位で取得して、前記プリンタに対応する仮印刷データを生成し、前記仮印刷データのデータサイズをもとに、現時点までに生成された仮印刷データの総データサイズである仮サイズを求め、前記仮印刷データにおいて1ページあたりのデータサイズの最大値であるページ最大サイズを取得し、前記仮サイズに前記最大サイズを加算して前記印刷ジョブにおける印刷データの予測サイズを求め、前記予測サイズが前記プリンタの印刷データの上限サイズを超えるかを判断し、前記予測サイズが前記上限サイズを超える場合に、前記スプーラサービス部に対し、前記印刷ジョブのクローズを指示する、処理を実行するものである。
さらに、本発明の一態様として開示する帳票印刷プログラムは、上記の帳票印刷方法で実現される処理を、コンピュータに実行させるためのものである。さらに、本発明の一態様として開示する帳票印刷システムは、上記の帳票印刷方法での処理を実現する処理部を備えるものである。
上記した帳票印刷方法によれば、プリンタ機種に依存することなく、大量の帳票データを、プリンタの性能を最大限活かして効率的に印刷することができる。
一実施例における帳票印刷システムのブロック構成例を示す図である。 一実施例におけるデータサイズ情報のデータ構成例を示す図である。 一実施例における管理情報のデータ構成例を示す図である。 一実施例における帳票印刷システムの処理の流れを説明するための図である。 一実施例における、サイズカウント処理でのデータサイズ情報および管理情報の変遷例を示す図である。 一実施例における、サイズカウント処理でのデータサイズ情報および管理情報の変遷例を示す図である。 一実施例における、サイズカウント処理でのデータサイズ情報および管理情報の変遷例を示す図である。 一実施例における、サイズカウント処理でのデータサイズ情報および管理情報の変遷例を示す図である。 一実施例における帳票印刷部の処理フロー例を示す図である。 一実施例における帳票印刷部の処理フロー例を示す図である。 一実施例における監視部の処理フロー例を示す図である。 一実施例におけるサイズカウント部の処理フロー例を示す図である。 帳票印刷システムが実施されるコンピュータ装置のハードウェア構成例を示す図である。
以下、本発明の一態様として開示する帳票印刷システムについて説明する。
図1は、一実施例における帳票印刷システムのブロック構成例を示す図である。
本実施例において、帳票印刷システム1は、コンピュータで実施される。
帳票印刷システム1は、帳票印刷部10、監視部11、サイズカウント部12、データサイズ情報記憶部13、管理情報記憶部14、データサイズ予測部15、スプーラサービス部101、描画処理部102、プリンタドライバ103、ポート制御部104、およびプリンタ105を備え、帳票データ2をプリンタ105で印刷する。なお、帳票データ2の出力先としてプリンタ105が指定されているとする。
帳票データ2は、種々の税納付書や通知書、全国規模の試験問題冊子等の多数のページを含むデータである。帳票データ2は、帳票印刷システム1に接続する外部記憶装置に記憶され、または、ネットワークを介して帳票印刷システム1に転送されるものとする。
スプーラサービス部101は、帳票印刷部10からの描画命令を、OS(オペレーティングシステム)を介して受け付け、印刷ジョブを生成・スプールし、指定されたプリンタ105に印刷ジョブを実行させる。スプーラサービス部101は、描画処理部102、プリンタドライバ103、およびポート制御部104を制御する。
描画処理部102は、描画命令を受けて印刷対象の帳票データ2からプリンタ機種に依存しない中間形式データ110を生成する。中間形式データ110は、例えば、EMF(Enhanced MetaFile)形式のデータファイルである。
プリンタドライバ103は、各プリンタに対応して設けられ、中間形式データ110を対応するプリンタが解釈可能な印刷データ111に変換する。ポート制御部104は、各プリンタに対応して設けられ、対応するプリンタへ印刷データ111を転送する。
なお、スプーラサービス部101、描画処理部102、プリンタドライバ103、ポート制御部104の処理は、既知であるので詳細な説明は省略する。
帳票印刷部10は、帳票データ2の印刷処理を制御する処理部である。
帳票印刷部10は、印刷ジョブでの印刷データのデータサイズを予測するため、帳票データ2の1ページ毎の描画命令を発行し、後述するデータサイズ予測部15の判断結果をもとに、帳票データ2の1ページ分に相当する各中間形式データ110のデータサイズの累計から、1回の印刷ジョブの中間形式データ110のデータサイズを決定する。その後、帳票印刷部10は、後述する管理情報記憶部14に保持された情報(管理情報)を用いて、決定した中間形式データ110のデータサイズに対応する帳票データ2のページ数分の印刷要求(描画命令)を発行し、スプーラサービス部101に印刷ジョブの生成を依頼する。
監視部11は、帳票印刷部10が発行する帳票データ2のページ単位の描画命令を監視し、検出した描画命令に対応させてサイズカウント部12を起動させる。また、監視部11は、データサイズ情報記憶部13に保持されている情報(データサイズ情報)をもとに管理情報記憶部14に保持されている管理情報を更新する。
監視部11は、後述するサイズカウント部12の処理によって、データサイズ情報記憶部13で、検出した描画命令に基づく中間形式データ110に対応して生成された仮印刷データ120(帳票データ2の1ページ分)のデータサイズが累計され、累計されたデータサイズ(「仮印刷サイズ」と呼ぶ)がデータサイズ情報記憶部13に書き込まれる度、検出した描画命令の帳票データ2のページ数、すなわち帳票データ2で描画済みとなったページ数を累計し、累計したページ数(「仮ページ数」と呼ぶ)を管理情報記憶部14に記録する。
サイズカウント部12は、帳票データ2の1ページ分の中間形式データ110を取り出し、印刷処理する場合に変換されるデータに相当する仮印刷データ120を生成し、仮印刷データ120(帳票データ2の1ページ分に相当のデータ)のデータサイズを累計し、処理の開始から現処理時点までに生成された仮印刷データ120の総データサイズである「仮印刷サイズ」、および、過去に処理された仮印刷データ120のデータサイズの最大値(「ページ最大サイズ」と呼ぶ)をデータサイズ情報記憶部13に記録し、データサイズの計算後に入力した仮印刷データ120を破棄する。
この処理のため、サイズカウント部12は、プリンタ105に対応するプリンタドライバ103を呼び出し、プリンタドライバ103と同等のプリンタドライバ機能を有する印刷データ生成部121を生成する。さらに、サイズカウント部12は、プリンタ105に対応するポート制御部104を呼び出し、ポート制御部104と同等の機能を有してデータ入力を行い、入力したデータのサイズをカウントした後に、入力したデータを破棄する機能を含むカウント部122を生成する。
印刷データ生成部121は、描画処理部102によって生成された帳票データ2の1ページ分の中間形式データ110に対して印刷処理を実行し、中間形式データ110を仮印刷データ120に変換する。仮印刷データ120は、プリンタドライバ103が中間形式データ110から変換する印刷データ111と同一である。
カウント部122は、印刷データ生成部121が変換した仮印刷データ120のデータサイズを求め、データサイズ情報記憶部13の仮印刷サイズに加算する。さらに、カウント部122は、求めた仮印刷データ120のデータサイズが、データサイズ情報記憶部13のページ最大サイズより大きい場合に、データサイズ情報記憶部13のページ最大サイズを求めたデータサイズで更新する。その後に、カウント部122は、仮印刷データ120を破棄する。
したがって、印刷データ生成部121により、帳票データ2の1ページ分に相当する中間形式データ110が仮印刷データ120に変換される度に、データサイズ情報記憶部13のデータサイズ情報の「仮印刷サイズ」に、現処理で変換された帳票データの1ページ分の仮印刷データ120のデータサイズが加算され、管理情報記憶部14の管理情報の「仮ページ数」に、帳票データ2で描画済みとなったページ数が1つ加算される。
データサイズ情報記憶部13は、仮印刷データ120のサイズに関するデータサイズ情報を保持する記憶領域である。データサイズ情報は、スプーラジョブ番号、仮印刷サイズ、ページ最大サイズを含む。スプーラジョブ番号は、生成された印刷ジョブに対して採番されたジョブの識別番号である。仮印刷サイズは、ジョブの開始から現処理時点までに変換された仮印刷データ120のデータサイズの累計(総データサイズ)である。ページ最大サイズは、過去に処理された仮印刷データ120のデータサイズの最大値である。
管理情報記憶部14は、帳票データ2の印刷処理の管理に用いる管理情報を保持する記憶領域である。管理情報は、スプーラジョブ番号、仮印刷サイズ、ページ最大サイズ、仮ページ数、プリンタ名等を含み、1つの帳票データ2の印刷について、複数の印刷ジョブ(ジョブファイル)が生成された場合には、印刷ジョブ毎に記録される。
データサイズ予測部15は、描画命令で指定されたプリンタ105のプリンタ設定情報をもとに、プリンタ105の印刷データのサイズの上限値(「上限サイズ」と呼ぶ)を得て、生成された仮印刷データ120のデータサイズの累計(仮印刷サイズ)から、処理時点で帳票データ2の描画済みとなっているページ数分の次の1ページについて描画した場合の仮印刷データ120のデータサイズを予測し、予測した仮印刷データ120のサイズ(「予測サイズ」と呼ぶ)がプリンタ105の上限サイズを超えるかを判断する。
より詳しくは、データサイズ予測部15は、管理情報を参照して、仮印刷データ120の仮印刷サイズにページ最大サイズを加算して予測サイズを算出し、算出した予測サイズがプリンタ105の上限サイズを超えるかを、以下の条件で判断する。
条件:予測サイズ < プリンタの上限サイズ×安全係数(例えば 0.9)
なお、上記条件の安全係数は、予め設定された定数値であり、0より大きい任意の正の値をとるものである。安全係数は、プリンタ毎またはプリンタ機種毎に定めておいてもよい。
データサイズ予測部15は、上記条件が成立する場合に、予測サイズが上限サイズを超えないと判断し、上記条件が成立しない場合に、予測サイズが上限サイズを超えると判断し、判断結果を帳票印刷部10に通知する。
帳票印刷部10は、データサイズ予測部15の判断結果をもとに、予測サイズが上限サイズを超えないとの判断結果であれば、帳票データ2の次の1ページの描画命令を発行する。
一方、帳票印刷部10は、予測サイズが上限サイズを超えるとの判断結果であれば、スプーラサービス部101に対し印刷ジョブのクローズを通知する。さらに、帳票印刷部10は、スプーラサービス部101に空の印刷ジョブ(新印刷ジョブ)の生成を要求し、帳票データ2についてクローズした印刷ジョブで描画命令を発行したページ数の次のページを先頭ページとする描画命令を発行する。
スプーラサービス部101は、帳票印刷部10のクローズ通知を受けて、スプール中の中間形式データ110をクローズするため、プリンタドライバ103が中間形式データ110から変換する印刷データ111は、プリンタ105の上限サイズを超えないサイズであり、仮印刷データ120で描画済みとなったページデータを含むデータとなる。
また、スプーラサービス部101が帳票印刷部10からの要求をもとに生成した新規の印刷ジョブの中間形式データ110は、クローズした印刷ジョブに含まれる帳票データ2の最終ページ(すなわち仮印刷データ120で描画済みとなった最終ページ)の次のページを先頭ページとするデータとなる。
その結果、印刷可能な上限サイズ値を超えたり、サイズ的に余裕があり過ぎたりするような印刷データ111をプリンタ105に転送するという状態を回避することができ、プリンタ105の印刷性能を最大限に活用した印刷を実現することができる。
図2は、データサイズ情報のデータ構成例を示す図である。
データサイズ情報は、スプーラジョブ番号、仮印刷データサイズ、ページ最大サイズのデータ項目を含む。
スプーラジョブ番号は、帳票印刷部10が生成を要求した印刷ジョブの識別番号であり、スプーラサービス部101によって採番、管理される番号である。
仮印刷データサイズは、仮印刷データ120の現時点での総データサイズ(仮サイズ)である。ページ最大サイズは、仮印刷データ120における、現時点での1ページあたりのデータサイズの最大値である。
図2に示すデータサイズ情報の例では、スプーラジョブ番号“001”の印刷ジョブでは、現時点までに変換した仮印刷データ120の総データサイズが“10,000,000(バイト)”であり、ページ単位のデータサイズの最大値が“100,000(バイト)”であることを示している。
図3は、管理情報のデータ構成例を示す図である。
管理情報は、印刷サーバ名、プリンタ名、スプーラジョブ番号、仮ページ数、仮印刷サイズ、ページ最大サイズのデータ項目を含む。
印刷サーバ名は、帳票印刷システムが複数のコンピュータで構成される場合に、印刷処理が割り当てられているコンピュータ(印刷サーバ)の識別情報である。プリンタ名は、出力先として指定されたプリンタの識別情報である。スプーラジョブ番号は、印刷ジョブの識別番号である。仮ページ数は、仮印刷データ120として描画済みとなった総ページ数である。仮印刷データサイズ、ページ最大サイズは、データサイズ情報と同一の情報である。
図3に示す管理情報の例では、印刷サーバ名“localhost”で管理され、プリンタ名“BBBB”を出力先とする印刷処理において、帳票データ2に対して、スプーラジョブ番号001,002が採番された2つの印刷ジョブが生成されたことを示している。
スプーラジョブ番号001の印刷ジョブは、仮印刷データサイズが“205,000(バイト)”、帳票データの20ページ分(第1ページから第20ページまで)のデータが印刷対象となっていることを、スプーラジョブ番号002の印刷ジョブは、仮印刷データサイズが“200,000(バイト)”、帳票データの10ページ分(第21ページから第30ページまで)のデータが印刷対象となっていることを、それぞれ示している。2つの印刷ジョブで、印刷される帳票データ2のページ数に相違があるが、印刷データ111のデータサイズの予測サイズとなる仮印刷データサイズがプリンタ“BBBB”の印刷データサイズの上限を超えないことが分かる。
帳票印刷システム1では、単純に帳票データ2のページ数で印刷ジョブを分割するのではなく、印刷処理で変換される印刷データを擬似的に生成した仮印刷データ120のデータサイズをもとに、1つの印刷ジョブで印刷するデータサイズを決定して、制限に近いデータサイズの印刷データ111をプリンタ105へ転送できるようにしている。
次に、図4を用いて、帳票印刷システム1における、帳票データの印刷処理の流れを説明する。
(1) 帳票印刷システム1の帳票印刷部10は、スプーラサービス部101に対し、帳票データ2のNページ目の描画を依頼する。
(2) 描画処理部102は、帳票データ2のNページ目の描画を実行して、Nページの中間形式データ110を生成する。
(3) 帳票印刷部10は、帳票データ2のNページのサイズカウントを依頼する。
(4) サイズカウント部12は、プリンタドライバ103を呼び出して印刷データ生成部121を起動し、Nページの中間形式データ110から、印刷データに相当するNページの仮印刷データ120を生成する。
(5) サイズカウント部12は、カウント部122を起動して、Nページの仮印刷データ120のデータサイズを取得し、取得したNページのデータサイズを、データサイズ情報記憶部13の仮印刷サイズに記録されたデータサイズに累計し、ページ最大サイズに書き込む。その後、サイズカウント部12は、データサイズを取得した仮印刷データ120を削除する。
(6) 監視部11はデータサイズ情報記憶部13が更新されると、管理情報記憶部14の仮ページ数をカウントアップし、さらに、データサイズ情報の仮印刷サイズとページ最大サイズとを管理情報に書き込む。
(7) データサイズ予測部15は、管理情報記憶部14の仮印刷サイズに記録されている仮印刷サイズ(スプーラでの印刷済みページのデータサイズの累計)にページ最大サイズを加えた予測サイズが、プリンタ105の上限サイズ(安全係数を考慮した値)を超えないかを判定し、予測サイズがプリンタの上限サイズを超える場合に、仮ページ数に記録したページ数でそのスプーラジョブをクローズして、完結させる。
したがって、スプーラサービス部101では、1つのジョブスプーラとして、帳票データ2のNページ分の印刷ジョブが処理されることになり、プリンタ105では、上限サイズを超えないデータサイズの印刷が実行される。
図5〜図8は、サイズカウント処理におけるデータサイズ情報および管理情報の変遷例を示す図である。ここで、5ページの帳票データ2を印刷する場合であり、プリンタの上限サイズ=700KB(キロバイト)、安全係数=0.9であると仮定する。
図5(A)に示すように、帳票印刷部10が帳票データ2の印刷を要求すると、スプーラサービス部101で設定された、印刷処理を制御するサーバ名(localhost)、プリンタ名(AAAA)、スプーラジョブ番号(001)が管理情報記憶部14に記録される。ここで、管理情報は初期状態であり、仮ページ数、仮印刷サイズ、ページ最大サイズは、いずれも“0”である。
帳票データ2の1ページ目について、図4に示す(1)〜(5)の処理が実行され、仮印刷データ120のデータサイズ“200KB”が取得されると、図5(B)に示すように、取得したデータサイズが、データサイズ情報記憶部13の仮印刷サイズ(200KB)、ページ最大サイズ(200KB)に記録される。
図4に示す(6)の処理で、図5(C)に示すように、データサイズ情報の仮印刷サイズ(200KB)とページ最大サイズ(200KB)とが管理情報記憶部14に書き込まれ、仮ページ数に1が加算されて“1”とされる。
図4に示す(7)の処理で、仮印刷データ120が描画済みとなった1ページまでのデータサイズである“200KB”に最大ページサイズ(200KB)を加えた予測サイズが、プリンタの上限値700KBに安全係数0.9を掛けた上限サイズ(630KB)を超えないと判定され、次ページ(2ページ目)の描画が要求される。
続いて、帳票データ2の2ページ目について、図4に示す(1)〜(5)の処理が実行され、仮印刷データ120のデータサイズ“250KB”が取得され、図6(A)に示すように、データサイズ情報記憶部13の仮印刷サイズに累計したデータサイズ(450KB)が記録され、ページ最大サイズが2ページ目のデータサイズ(250KB)に更新される。
図4に示す(6)の処理で、図6(B)に示すように、データサイズ情報の仮印刷サイズとページ最大サイズとが管理情報記憶部14に書き込まれ、仮ページ数に1が加算されて“2”とされる。
図4に示す(7)の処理で、仮印刷データ120が描画済みとなった2ページでの予測サイズ(450KB+250KB)が、上限サイズ(630KB)を超えないと判定され、次ページの描画が要求される。
帳票データ2の3ページ目について、図4に示す(1)〜(5)の処理が実行され、仮印刷データ120のデータサイズ“150KB”が取得され、図6(C)に示すように、データサイズ情報記憶部13の仮印刷サイズに累計したデータサイズ(600KB)が記録される。ページ最大サイズ(250KB)は、3ページ目のデータサイズより大きいので更新されない。
図4に示す(6)の処理で、図7(A)に示すように、データサイズ情報の仮印刷サイズとページ最大サイズとが管理情報記憶部14に書き込まれ、仮ページ数が1加算されて“3”とされる。
図4に示す(7)の処理で、仮印刷データ120が描画済みとなった3ページでの予測サイズ(600KB+250KB)が、上限サイズ(630KB)を超えると判定されるため、3ページ目でスプーラジョブ(001)が完結される。
次に、帳票データ2の4ページ目以降の印刷について、図7(B)に示すように、次のスプーラジョブとして、スプーラサービス部101で設定された、印刷処理を制御するサーバ名(localhost)、プリンタ名(AAAA)、スプーラジョブ番号(002)が管理情報記憶部14に記録される。
帳票データ2の4ページ目、スプーラジョブ(002)での1ページ目について、図4に示す(1)〜(5)の処理が実行され、仮印刷データ120のデータサイズ“100KB”が取得されると、図7(C)に示すように、取得したデータサイズが、データサイズ情報記憶部13の仮印刷サイズ(100KB)、ページ最大サイズ(100KB)に記録される。
図4に示す(6)の処理で、図8(A)に示すように、データサイズ情報の仮印刷サイズ(100KB)とページ最大サイズ(100KB)とが管理情報記憶部14に書き込まれ、仮ページ数に1が加算されて“1”とされる。
図4に示す(7)の処理で、仮印刷データ120が描画済みとなった1ページでの予測サイズ(100KB+100KB)が、プリンタの上限サイズを超えないと判定され、帳票の5ページ目(スプーラでの2ページ目)の描画が要求される。
帳票データ2の5ページ目について、図4に示す(1)〜(5)の処理が実行され、仮印刷データ120のデータサイズ“250KB”が取得され、図8(B)に示すように、データサイズ情報記憶部13の仮印刷サイズに累計したデータサイズ(350KB)が記録され、ページ最大サイズが2ページ目のデータサイズ(250KB)に更新される。
図4に示す(6)の処理で、図8(C)に示すように、データサイズ情報の仮印刷サイズとページ最大サイズとが管理情報記憶部14に書き込まれ、仮ページ数が1加算されて“2”とされる。
ここで、帳票データ2の全ページの描画要求が完了しているため、図4に示す(7)の判定処理が不要となり、2ページ目でスプーラジョブ(002)が完結される。
したがって、プリンタ105では、5ページ分の帳票データ2が、上限値700KB未満のデータサイズである2つのスプーラジョブに分割され、3ページ分(1〜3ページ目)と、2ページ分(4〜5ページ目)との印刷が実行される。
図9および図10は、帳票印刷部10の処理フロー例を示す図である。
帳票印刷部10が帳票データ2の印刷ジョブ生成を要求すると、スプーラサービス部101が、要求された印刷ジョブを生成し、印刷ジョブにスプールジョブ番号を採番する(ステップS1)。
帳票印刷部10は、スプーラサービス部101から、印刷ジョブに関する印刷サーバ名、プリンタ名、スプーラジョブ番号を取得し、管理情報記憶部14に記録する(ステップS2)。
さらに、帳票印刷部10が、監視部11に、印刷サーバ名、プリンタ名およびスプーラジョブ番号を含む監視依頼を通知する(ステップS3)。
帳票印刷部10が、帳票データ2の先頭から順に1ページ分の描画命令を発行すると、スプーラサービス部101の制御のもと、描画処理部102が、描画命令されたページ分のデータが、印刷ジョブの先頭ページであるかを判断し(ステップS4)、印刷ジョブの先頭ページである場合のみ(ステップS4のY)、帳票データの1ページ分のデータを描画して中間形式データ110を生成する(ステップS5)。
帳票印刷部10が、監視部11に仮印刷データのサイズカウントを依頼すると、サイズカウント部12によるサイズカウント処理が実行される(ステップS6)。
監視部11は、サイズカウント部12によるサイズカウント処理の完了通知があると、データサイズ情報記憶部13から仮印刷データサイズおよびページ最大サイズを取得し、管理情報記憶部14の管理情報に記録する(ステップS7)。
データサイズ予測部15は、管理情報記憶部14を参照し、仮印刷データサイズとページ最大サイズとを加算して予測サイズを算出し(ステップS8)、予測サイズがプリンタ105の上限サイズを超えるかを判断する(ステップS9)。予測サイズがプリンタ105の上限サイズを超える場合に(ステップS9のY)、ステップS10の処理が実行され、予測サイズがプリンタ105の上限サイズを超えない場合に(ステップS9のN)、ステップS12の処理が実行される。
ステップS10の処理で、帳票印刷部10が、印刷ジョブのクローズをスプーラサービス部101に指示し、サイズカウント部12へ処理終了を通知する。さらに、帳票印刷部10が、帳票データ2に続きのページがあるかを判断する(ステップS11)。帳票データ2に続きのページがあれば(ステップS11のY)、ステップS1の処理へ戻り、帳票データ2に続きのページがなければ(ステップS11のN)、処理を終了する。
ステップS12の処理で、帳票印刷部10が、帳票データ2の次の1ページ分の描画命令を発行し、描画処理部102が、描画命令をもとに帳票データ2の次の1ページ分の中間形式データ110を生成する(ステップS12)。帳票印刷部10が、帳票データ2の描画されたページに続きのページがあるかを判断する(ステップS13)。帳票データ2の描画されたページに続きのページがあれば(ステップS13のY)、ステップS6の処理へ戻り、帳票データ2の描画されたページに続きのページがなければ(ステップS13のN)、ステップS14の処理を実行する。
ステップS14の処理で、帳票印刷部10が、印刷ジョブのクローズをスプーラサービス部101に指示し、サイズカウント部12へ処理終了を通知し、処理を終了する。
図11は、監視部11の処理フロー例を示す図である。
監視部11は、ステップS14の処理による終了指示が通知されたかを判断し(ステップS21)、終了指示が通知されていなければ(ステップS21のN)、ステップS22の処理を実行し、終了指示が通知されていれば(ステップS21のY)、処理を終了する。
ステップS22の処理で、監視部11が、ステップS3の処理による監視依頼が通知されたかを判断し、監視依頼が通知されていれば(ステップS22のY)、ステップS23の処理を実行し、監視依頼が通知されていなければ(ステップS22のN)、ステップS21の処理へ戻る。
ステップS23の処理で、監視部11が、プリンタ名(プリンタ105)を通知して、サイズカウント部12を起動させる。
図12は、サイズカウント部12の処理フロー例を示す図である。
サイズカウント部12は、ステップS23の処理により起動すると、通知されたプリンタ名から、帳票印刷システム1に保持されているプリンタドライバの中から利用するプリンタドライバ103を選択して、その機能を取得する。そして、サイズカウント部12は、取得したプリンタドライバ機能を組み込んだ印刷データ生成部121を生成する。さらに、サイズカウント部12は、帳票印刷システム1に保持されているプリンタ105へのポート制御機能を取得して、取得したポート制御機能を組み込んだカウント部122を生成する(ステップS31)。
サイズカウント部12は、ステップS10またはステップS14の処理による終了指示が通知されたかを判断し(ステップS32)、終了指示が通知されてなければ(ステップS32のN)、ステップS33の処理を実行し、終了指示が通知されていれば(ステップS32のY)、処理を終了する。
ステップS33の処理で、ステップS6の処理によるサイズカウントの依頼があったかを判断し、サイズカウントの依頼があればステップS34の処理を実行し(ステップS33のY)、サイズカウントの依頼がなければ(ステップS33のN)、ステップS32の処理へ戻る。
ステップS34の処理で、印刷データ生成部121が、該当する印刷ジョブの中間形式データ110を参照して、帳票データ2の1ページ分のデータを取得し、プリンタドライバ103の機能を用いて、仮印刷データ120を生成する。
続いて、サイズカウント部12が、生成された仮印刷データ120のデータサイズを求め、現時点までに生成された仮印刷データ120の総データサイズをデータサイズ情報記憶部13の「仮印刷データサイズ」に記録し、1ページのデータサイズがデータサイズ情報記憶部13に記録されたページ最大サイズより大きければ、取得したデータサイズを「ページ最大サイズ」に記録する(ステップS35)。サイズカウント部12は、サイズカウントの完了を通知する(ステップS36)。
以上説明した帳票印刷システム1は、図1に示す処理部を備える専用ハードウェアまたは、コンピュータ装置により実施することができる。
図13は、帳票印刷システム1が実施されるコンピュータ装置のハードウェア構成例を示す図である。
帳票印刷システム1が実施されるコンピュータ装置200は、CPU201、メモリ202、印刷装置203が接続された印刷制御部204、ハードディスク等の記憶装置205、およびネットワーク接続のための通信制御部206が、バス207に接続されている。
オペレーティングシステムおよび帳票印刷システム1を実施するプログラムが記憶装置205に格納されており、CPU201により実行される際には記憶装置205からメモリ202に読み出される。CPU201は、オペレーティングシステムおよび帳票印刷システム1として実行される、スプーラサービス部101、描画処理部102、プリンタドライバ103、ポート制御部104、帳票印刷部10、監視部11,サイズカウント部12,データサイズ予測部15などの処理内容に応じて印刷制御部204、通信制御部206を制御して所定の動作を行わせる。
印刷装置203は、プリンタ105に相当する。
帳票印刷システム1の処理対象の帳票データ2は、記憶装置205または通信制御部206を介してアクセスできる他コンピュータ装置の記憶装置に格納されている。
帳票印刷システム1の実行時には、処理途中のデータは主としてメモリ202に格納されるが、記憶装置205に格納されるようにしてもよい。すなわち、帳票データ2,データサイズ情報、管理情報、仮印刷データ120、中間形式データ110、印刷データ111などがメモリ202または記憶装置205に格納される。
コンピュータ200は、上述のCPU201、メモリ202などのハードウェアと、オペレーティングシステムおよび帳票印刷システム1の構成要素を実現するプログラムとが有機的に協働することにより、上記実施例において説明したような各種の機能を実現する。
帳票印刷システム1を実現するプログラムは、CD−ROM、CD−RW、DVD−R、DVD−RAM、DVD−RW等やフレキシブルディスク等の記録媒体に格納されていてもよい。
なお、帳票印刷システム1を構成する要素は、任意の組合せで実現されてもよい。複数の構成要素が1つの部材として実現されてもよく、1つの構成要素が複数の部材から構成されてもよい。また、帳票印刷システム1は、上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲において各種の改良および変更を行ってもよいことは当然である。
以上説明したように、開示した帳票印刷システム1によれば、大量の帳票データの印刷処理において、印刷データのサイズ制限があるプリンタの使用に際し、プリンタに依存することなく以下の点を解決することができる。
・ プリンタの印刷データの上限サイズに抵触することなく、大量ページとなる帳票データを印刷することができる。
・ プリンタの性能を損なう帳票データの分割回数を最小限に抑制することができる。
よって、プリンタ性能を最大限に活かした、帳票データの効率的印刷を実現することができる。
1 帳票印刷システム
10 帳票印刷部
11 監視部
12 サイズカウント部
120 仮印刷データ
121 印刷データ生成部
122 カウント部
13 データサイズ情報記憶部
14 管理情報記憶部
15 データサイズ予測部
101 スプーラサービス部
102 描画処理部
103 プリンタドライバ
104 ポート制御部
105 プリンタ
110 中間形式データ
111 印刷データ
2 帳票データ

Claims (3)

  1. コンピュータが、
    スプーラサービス部に対して印刷ジョブの生成を要求し、前記印刷ジョブについて帳票データの1ページ分の描画命令を発行し、
    前記印刷ジョブで指定されたプリンタを特定し、前記帳票データの描画処理で生成された中間形式データをページ単位で取得して、前記プリンタに対応する仮印刷データを生成し、
    前記仮印刷データのデータサイズをもとに、現時点までに生成された仮印刷データの総データサイズである仮サイズを求め、
    前記仮印刷データにおいて1ページあたりのデータサイズの最大値であるページ最大サイズを取得し、
    前記仮サイズに前記最大サイズを加算して前記印刷ジョブにおける印刷データの予測サイズを求め、前記予測サイズが前記プリンタの印刷データの上限サイズを超えるかを判断し、
    前記予測サイズが前記上限サイズを超える場合に、前記スプーラサービス部に対し、前記印刷ジョブのクローズを指示する、処理を実行する
    ことを特徴とする帳票印刷方法。
  2. 印刷ジョブをスプールするスプーラサービス部を備えたコンピュータに、
    前記スプーラサービス部に対して印刷ジョブの生成を要求し、前記印刷ジョブについて帳票データの1ページ分の描画命令を発行し、
    前記印刷ジョブで指定されたプリンタを特定し、前記帳票データの描画処理で生成された中間形式データをページ単位で取得して、前記プリンタに対応する仮印刷データを生成し、
    前記仮印刷データのデータサイズをもとに、現時点までに生成された仮印刷データの総データサイズである仮サイズを求め、
    前記仮印刷データにおいて1ページあたりのデータサイズの最大値であるページ最大サイズを取得し、
    前記仮サイズに前記最大サイズを加算して前記印刷ジョブにおける印刷データの予測サイズを求め、前記予測サイズが前記プリンタの印刷データの上限サイズを超えるかを判断し、
    前記予測サイズが前記上限サイズを超える場合に、前記スプーラサービス部に対し、前記印刷ジョブのクローズを指示する、処理を実行させる
    ことを特徴とする帳票印刷プログラム。
  3. 印刷ジョブを実行するスプーラサービス部に対し印刷ジョブの生成および前記印刷ジョブのクローズを要求し、生成を要求した印刷ジョブについて帳票データの1ページ分の描画命令を発行する帳票印刷部と、
    前記スプーラサービス部から前記描画命令をもとに生成された前記印刷ジョブの帳票データの1ページ分の中間形式データを取得し、前記印刷ジョブで指定された出力プリンタに対応する印刷データに相当する仮印刷データを生成し、前記仮印刷データのデータサイズをもとに、現時点までに生成された前記仮印刷データの総データサイズである仮サイズを求めるサイズカウント部と、
    前記仮印刷データにおいて1ページあたりのデータサイズの最大値であるページ最大サイズを取得し、前記仮サイズに前記最大サイズを加算して前記印刷ジョブにおける印刷データの予測サイズを求め、前記予測サイズが前記プリンタの印刷データの上限サイズを超えるかを判定するデータサイズ予測部とを備え、
    前記帳票印刷部は、前記予測サイズが前記プリンタの印刷データの上限サイズを超える場合に前記スプーラサービス部に対し前記印刷ジョブのクローズを指示する
    ことを特徴とする帳票印刷システム。
JP2012196753A 2012-09-07 2012-09-07 帳票印刷方法、帳票印刷プログラム、および帳票印刷システム Active JP6007686B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012196753A JP6007686B2 (ja) 2012-09-07 2012-09-07 帳票印刷方法、帳票印刷プログラム、および帳票印刷システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012196753A JP6007686B2 (ja) 2012-09-07 2012-09-07 帳票印刷方法、帳票印刷プログラム、および帳票印刷システム

Publications (2)

Publication Number Publication Date
JP2014052839A JP2014052839A (ja) 2014-03-20
JP6007686B2 true JP6007686B2 (ja) 2016-10-12

Family

ID=50611283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012196753A Active JP6007686B2 (ja) 2012-09-07 2012-09-07 帳票印刷方法、帳票印刷プログラム、および帳票印刷システム

Country Status (1)

Country Link
JP (1) JP6007686B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6519941B2 (ja) 2015-03-12 2019-05-29 富士ゼロックス株式会社 印刷制御装置、画像形成システムおよびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3715796B2 (ja) * 1998-09-18 2005-11-16 キヤノン株式会社 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2004102601A (ja) * 2002-09-09 2004-04-02 Fuji Xerox Co Ltd 印刷制御方法および装置
JP2004326266A (ja) * 2003-04-22 2004-11-18 Canon Inc 印刷制御方法、情報処理装置及び印刷装置

Also Published As

Publication number Publication date
JP2014052839A (ja) 2014-03-20

Similar Documents

Publication Publication Date Title
US9075656B2 (en) Cloud computing system and method for controlling same
KR102642219B1 (ko) 화상 형성 장치, 화상 형성 장치에 대한 제어 방법 및 컴퓨터 판독가능 저장 매체
JP6225822B2 (ja) 出力システム、端末装置、プログラム及び出力方法
JP2018045372A (ja) 情報処理装置及び情報処理プログラム
JP2015219602A (ja) 情報処理装置、情報処理方法及びプログラム
JP2007280361A5 (ja)
US20090303536A1 (en) Image forming device, image processing method, and computer program
US8467087B2 (en) Method and system for reducing materials usage associated with document printing
JP6007686B2 (ja) 帳票印刷方法、帳票印刷プログラム、および帳票印刷システム
CN111858152A (zh) 用于在备份操作期间对关键数据对象存储进行优先级排序的方法和系统
JP2014124925A (ja) 画像処理装置
JP5712533B2 (ja) 情報処理装置、ジョブ表示プログラム、及びそのプログラムを記録した記録媒体
US20140092435A1 (en) Applying individual preferences to printed documents
EP3734458B1 (en) Method and system for prioritizing critical data object storage during backup operations
JP5854983B2 (ja) 画像処理装置
US20140089611A1 (en) Memory management control system, memory management control method, and storage medium storing memory management control program
JP6540370B2 (ja) 印刷管理サーバ、印刷管理方法および印刷管理プログラム
JP6164126B2 (ja) 印刷制御システム及びプログラム
JP6115253B2 (ja) プリントシステム、スプールサーバ、スプール方法、及びプログラム
JP6728840B2 (ja) 画像処理サーバ、振分装置及びプログラム
JP6060731B2 (ja) プログラム、情報処理装置及び情報管理方法
US8914591B2 (en) Information processing apparatus, method for controlling same
JP2018028766A (ja) 制御プログラム、制御装置、及び制御方法
JP2018041432A (ja) 情報処理システム、情報処理装置及びプログラム
JP6679919B2 (ja) 情報処理システム、非優先処理方法、情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160726

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160829

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 6007686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150