JP2008176651A - 印刷制御装置及び印刷制御装置の制御方法 - Google Patents

印刷制御装置及び印刷制御装置の制御方法 Download PDF

Info

Publication number
JP2008176651A
JP2008176651A JP2007010674A JP2007010674A JP2008176651A JP 2008176651 A JP2008176651 A JP 2008176651A JP 2007010674 A JP2007010674 A JP 2007010674A JP 2007010674 A JP2007010674 A JP 2007010674A JP 2008176651 A JP2008176651 A JP 2008176651A
Authority
JP
Japan
Prior art keywords
data
page
printing
print
pages
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
JP2007010674A
Other languages
English (en)
Inventor
Toru Matsuyama
徹 松山
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 JP2007010674A priority Critical patent/JP2008176651A/ja
Publication of JP2008176651A publication Critical patent/JP2008176651A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】1部数分に相当するデータを複数部数分だけ複製して結合された印刷元データがアプリケーションから渡された場合に、両面印刷及び割付印刷の少なくとも何れか一方の設定がされても、プリンタドライバ側で結合された印刷元データの部と部の間に必要に応じて白紙データを挿入し、部単位毎に区切られた印刷体裁を提供する。
【解決手段】両面印刷及び割付印刷の少なくとも何れか一方の印刷設定がなされている場合に、印刷元データPから構成単位データpの構成頁数を算出し(ステップS21)、構成頁数と印刷元データPの総頁数(Page)から、印刷元データPの構成部数を算出し、構成単位データpの最後に白紙の頁データを付加して白紙頁付データとし、印刷元データPを構成部数と白紙頁付データとによって定義し直して印刷データへ変換する(ステップS26)
【選択図】図2

Description

本発明は、少なくとも1頁以上の頁データを1つの構成単位データとし、構成単位データを複製して複数結合された印刷元データを、印刷装置が印刷可能な印刷データへ変換する印刷制御装置及びその制御方法に関する。
従来、様々な印刷形式で印刷結果を出力するよう対応された印刷装置が提供されている。このような印刷装置は、一般にホストコンピュータから印刷ジョブを受けると、指定された印刷形式に基づき印刷処理を実行することができる。例えば、印刷形式には次のような形式がある。1枚の用紙に対して複数頁を割り付けて印刷する割付印刷、1枚の用紙の表面と裏面の両面に印刷する両面印刷、1つのドキュメントを複数部数に亘って部単位で印刷する部単位印刷等が知られている。印刷装置が対応可能であれば、これらの印刷形式を複合的に設定することも可能である。
この場合、ホストコンピュータ側で実行する内部処理について説明する。ホストコンピュータに組み込まれた各アプリケーションから印刷装置で印刷を行う際、アプリケーションとプリンタドライバとの間でやり取りが行われ、アプリケーションはさまざまな形式で印刷元データを加工し、プリンタドライバへ送る。アプリケーションの中には、複数部数の印刷を行う際、複数部数のデータを印刷すると言う命令をプリンタドライバに送るのではなく、プリンタドライバには1部のみ印刷すると言う命令を送り、アプリケーション内でデータを加工して、複数部数のデータを1まとまりの印刷元データとして、プリンタドライバに送る場合がある。
ここで、具体的に両面印刷や割付印刷などに対応した印刷装置で、両面印刷や割付印刷などの設定を行って複数部数印刷を行う場合について考える。印刷元データが奇数頁を有しているデータで且つ、両面印刷が設定されていた場合、アプリケーションからプリンタドライバには上記のような1部のみ印刷すると言う命令と、1まとまりとなった複数部数のデータ(印刷元データ)、とが送られる。プリンタドライバは受け取った印刷元データをそのまま印刷データへラスタライズしてプリンタへ転送すると、プリンタでは、1部目の最後の奇数頁を用紙の表面に印刷し、2部目の最初の頁をその用紙の裏面、すなわち1部目の最後の奇数頁の裏面に印刷される。これでは、それぞれ異なる部に含まれる頁が1枚の用紙の表裏に印刷されてしまい都合が悪い。また、割付印刷が設定された場合も同様に印刷元データが奇数頁を有している場合は、1部目の最後の奇数頁と、2部目の最初の頁のデータが、1枚の用紙に印刷されてしまうと言う不具合が生じる。
ここで、図6を参照して、具体的な印刷元データの構成について説明する。ここでは、1頁からN頁に亘るドキュメントを2部印刷する場合を説明する。図6は、部単位印刷を設定せずに通常の印刷処理を指示したときにアプリケーションが加工する印刷元データの構成を示している。図6に示すように、アプリケーションはヘッダ情報で部数を管理し、印刷元データは1部を構成する1頁からN頁までのデータを順に並べた構成となっており、これに基づきプリンタが印刷処理を実行すると1頁目が2部、2頁目が2部、3頁目が2部、N頁目が2部というように頁毎に部数分の印刷結果が得られる。
一方、図7は、部単位印刷を設定したときにアプリケーションが加工する印刷元データの構成を示している。図7に示すように、アプリケーションはヘッダ情報で部数を管理せず、1部を構成するデータを2つ連続させて1まとまりにした構成となっている。すなわち、1部目の1頁からN頁のデータを並べた後、続いて2部目の1頁からN頁のデータを並べて印刷元データとしている。
特許文献1には、各頁データに付与された部数番号を参照することよって部の切り替わりを発見し、異なる部数番号を読み出したときに、その部を構成するデータが奇数頁であった場合には、白紙データを生成する方法が記載されている。これにより部単位印刷を設定した場合に生じる印刷体裁の不具合を解決することができる。すなわち、1部目の最終頁データと2部目の最初頁データとの間に、白紙の頁データを挿入することにより、1部目と2部目のデータの一部が同じ用紙に印刷されてしまうと言う問題を回避することができるようになっている。
特開平10−143342号公報
しかしながら、特許文献1に記載の方法は、プリンタドライバがアプリケーションから部数情報をもらっている場合にのみ適用できる方法である。すなわち、図6に示したようなヘッダ情報で部数を管理するアプリケーションの場合に有効であるが、図7に示すようなヘッダ情報で部数を管理しないアプリケーションの場合には、プリンタドライバは部数情報を取得できないため、印刷元データが1部構成であると認識してしまう。このため、白紙データを挿入するにしても1部目のデータと2部目のデータの境界(図7の矢印Z参照)を検出できないため相変わらず上述の不具合は発生してしまう。
本発明は、上記課題を解決するためになされたものであって、1部数分に相当するデータを複数部数分だけ複製して結合された印刷元データがアプリケーションから渡された場合に、両面印刷及び割付印刷の少なくとも何れか一方の設定がされても、プリンタドライバ側で結合された印刷元データの部と部の間に必要に応じて白紙データを挿入し、部単位毎に区切られた印刷体裁を提供することを目的とする。
上記課題を解決することのできる本発明は、少なくとも1頁以上の頁データを1つの構成単位データとし、前記構成単位データを複製して複数結合された印刷元データを、印刷装置が処理可能な印刷データへ変換する印刷制御装置であって、
両面印刷及び割付印刷の少なくとも何れか一方の印刷設定がなされている場合に、前記印刷元データから前記構成単位データの構成頁数を算出し、前記構成頁数と前記印刷元データの総頁数から、前記印刷元データの構成部数を算出する部数算出部と、
前記構成単位データの最後に白紙の頁データを付加して白紙頁付データとし、前記印刷元データを前記構成部数と前記白紙頁付データとによって定義し直した印刷データへ変換する印刷データ生成部と、を有することを特徴とする。
また、上記課題を解決することのできる本発明は、少なくとも1頁以上の頁データを1つの構成単位データとし、前記構成単位データを複製して複数結合された印刷元データを、印刷装置が印刷可能な印刷データへ変換する印刷制御装置の制御方法であって、
両面印刷及び割付印刷の少なくとも何れか一方の印刷設定がなされている場合に、前記印刷元データから前記構成単位データの構成頁数を算出し、前記構成頁数と前記印刷元データの総頁数から、前記印刷元データの構成部数を算出する算出ステップと、
前記構成単位データの最後に白紙の頁データを付加して白紙頁付データとし、前記印刷元データを前記構成部数と前記白紙頁付データとによって定義し直して印刷データへ変換する変換ステップと、を有することを特徴とする。
上記構成によれば、構成単位データを複製して複数結合された印刷元データを、構成単位データの最後に白紙の頁データを付加した白紙頁データと構成部数とによって定義し直した印刷データへ変換するよう構成されている。例えば、アプリケーションから、構成単位データを複製して複数結合された印刷元データが渡された場合でも、プリンタドライバ側で構成単位データの構成頁数を算出することができる。また、印刷元データの総頁数を構成頁数で割ることによって、印刷元データに構成単位データが幾つ含まれているかを算出することができる。これにより、結合されている構成単位データ同士の区切りを把握することができるので、必要に応じて構成単位データと構成単位データとの間に適当な枚数の白紙の頁データを挿入することができる。
また、本発明の印刷制御装置は、
前記印刷元データの総頁数の約数を全て算出する約数算出部と、
前記印刷元データのうち最初の構成単位データを構成する各頁データの要素情報と、最初の構成単位データ以外の他の構成単位データを構成する各頁データの要素情報と、が一致するか否かを前記約数について繰り返し判断する要素情報判断部と、を有し、
前記部数算出部は、前記要素情報判断部が全ての各頁データの要素情報が一致すると判断したときの約数のうち最小値を、前記構成頁数とすることを特徴とする。
また、本発明の印刷制御装置の制御方法は、
前記算出ステップにおいて、
前記印刷元データのうち最初の構成単位データを構成する各頁データの要素情報と、最初の構成単位データ以外の他の構成単位データを構成する各頁データの要素情報と、が一致するか否かを前記約数について繰り返し判断し、
全ての各頁データの要素情報が一致すると判断したときの約数のうち最小値を、前記構成頁数として保持することを特徴とする。
上記構成によれば、印刷元データのうち最初の構成単位データを構成する各頁データの要素情報と、最初の構成単位データ以外の他の構成単位データを構成する各頁データの要素情報と、が一致するかどうかを判断するよう構成されている。ここで、印刷元データの総頁数を(Page)、構成単位データの構成頁数を(A)、印刷元データの構成部数を(B)とすると、(Page)=(A)×(B)と表すことができる。つまり、印刷元データの総頁数の約数とは(A)あるいは(B)に該当し、(A)に当てはまる数値が決まれば(B)に当てはまる値が決まる。
総頁数の全ての約数を構成頁数(A)の候補として順に当てはめ候補とされた各構成頁数によって1つの構成単位データを区切ると、1部目の構成単位データを構成する各頁データの要素情報と、2部目以降の構成単位データを構成する各頁データの要素情報とが全て一致する場合が出てくる。この一致したときの約数を構成頁数(a)とすればこれに応じて構成部数(b)も一意に決まる。このように、総頁数の約数を用いることによって、互いに異なる構成単位データに含まれるであろう頁データを検討付けて処理することができる。したがって、印刷元データに含まれる全ての頁データの要素情報についてそれぞれ一致するか否かを逐一判断する必要がないため、処理速度を高速化することができる。
また、要素情報が全て一致したときの約数が複数ある場合には、そのうちの最小値を構成頁数とする。最小値をとることによって、最小単位の構成部数を確実に求めることができる。
例えば、5頁の文書データを4部、割り付け及び両面印刷設定した場合に、印刷元データの総頁数は(Page)=20、総頁数の約数は、1,2,4,5,10,20の6つである。約数10を構成頁数の候補とすれば、構成部数は(B)=(Page)/(A)=20/10=2となり、構成部数(B)=2部である。この場合、1部目の1頁から10頁の要素情報と2部目の1頁から10頁の要素情報とが一致する。
一方、約数5を構成頁数の候補とすれば、構成部数は(B)=(Page)/(A)=20/5=4となり、構成部数(B)=4部である。この場合は、1部目の1頁から5頁の要素情報と、2部目の1頁から5頁の要素情報と、3部目の1頁から5頁の要素情報と、4部目の1頁から5頁の要素情報と、が一致する。
したがって、要素情報が全て一致したときの約数は、5と10の2つの約数になる。この場合には、より小さい方の約数である5を構成頁数とすれば、印刷元データを構成する確実な構成部数を求めることができ、各構成単位データを明確に区切ることができる。
また、本発明において、前記印刷データ生成部は、1の印刷媒体に印刷される頁データの最大頁数を算出し、前記最大頁数と前記構成頁数とによって、前記構成単位データの最後に付加する前記白紙のデータの枚数を算出することを特徴とする。
また、本発明は、前記変換ステップにおいて、1の印刷媒体に印刷される頁データの最大頁数を算出し、前記最大頁数と前記構成頁数とによって、前記構成単位データの最後に付加する前記白紙のデータの枚数を算出することを特徴とする。
上記構成によれば、構成単位データの最後に付加する白紙のデータの枚数を算出することができるので、割り付け印刷及び両面印刷の少なくとも何れか一方の印刷設定がされていた場合に、設定内容に応じた適切な枚数の白紙データを部と部の間に挿入することができる。したがって、部単位毎に区切られた印刷体裁を提供することができる。
また、白紙のデータの枚数は、1の印刷媒体に印刷される頁データの最大頁数と、構成頁数と、によって求めることができる。
例えば、1頁に4頁分の頁データを割り付けて印刷するよう設定され、かつ両面印刷が設定されていた場合には、1枚の印刷用紙の片面に4頁分、他面に4頁分、合計8頁分印刷される。これが最大頁数である。5頁の文書データを4部印刷する場合に、各部とも、印刷媒体の1頁の表面に4頁分割り付け印刷され、裏面に1頁分割り付け印刷され、裏面に3頁分の白紙ページを残した印刷体裁が出力されることが望ましい。このためには、各部と部の間に3頁分の白紙の頁データを挿入する必要がある。本発明によれば、この白紙の頁データを挿入する枚数を算出することができので、従来のように、裏面に次の部の頁データが印刷されてしまうような不都合が発生することを防止することができる。
以下、本発明の実施の形態における印刷装置について図面を用いて説明する。図1は、本発明の実施の形態における印刷制御装置の構成を説明するためのブロック図である。
本実施形態の印刷システムは、ホストコンピュータ1とプリンタ2で構成される。また、ホストコンピュータ1は、主に、アプリケーション10、プリンタドライバ11(印刷制御装置)、送受信部12、などで構成される。更に、プリンタドライバ11は、印刷データ生成部13と要素情報判断部14と約数算出部15とを含む。プリンタ2は、主に、送受信部20、プリントバッファ21、印刷制御部22、印刷機構23、などで構成される。
ホストコンピュータ1のアプリケーション10は、印刷に係る各種コマンド等をプリンタ2に実行させるためのユーザーインターフェースを提供する。ユーザーは、アプリケーション上で印刷元データの作成や編集、印刷指示を行う。プリンタドライバ11は、アプリケーション10により呼び出され、プリンタ2の動作を直接制御する。具体的には、アプリケーション10は与えられた設定等に応じて印刷元データを加工してプリンタドライバ11に送る。プリンタドライバ11の印刷データ生成部13では、アプリケーション10から送られた印刷元データをプリンタ2で処理可能な形式に変換して印刷データを生成する。
本実施形態のアプリケーション10は、ユーザーが部単位印刷を設定すると、少なくとも1頁以上の頁データを1つの構成単位データとし、構成単位データを複製して複数結合した印刷元データをプリンタドライバ11へ送るようになっている。例えば、ユーザーが編集、作成した1つの文書ファイルが1頁からN頁までの頁データによって構成され、この文書ファイルを2部、部単位で印刷するよう設定した場合には、アプリケーション10は図7のように印刷元データPを加工してプリンタドライバ11へ送るようになっている。
従来では、プリンタドライバ11は印刷元データPを受け取ると印刷元データPをそのまま印刷データに変換していた。しかし、本実施形態では、約数算出部14と要素情報判断部15とを備える部数算出部16が、構成単位データpの構成頁数及び印刷元データPに含まれる構成単位データpの数と(構成部数)を算出し、印刷データ生成部13が、印刷元データPを構成単位データの最後に適切な枚数の白紙の頁データを付加した印刷データへ変換することができるよう構成されている。
約数算出部14は、アプリケーション10で加工された印刷元データPの総頁数の約数を算出する。図5のような印刷元データPの場合は、1頁からN頁の文書データが2部分結合されているので総頁数は2N頁であり、この2Nの約数を全て算出する。
要素情報判断部15は、印刷元データPのうち最初の構成単位データp1を構成する各頁データの要素情報と、最初の構成単位データp1以外の他の構成単位データ(ここではp2)を構成する各頁データの要素情報と、が一致するか否かを、約数算出部14が算出した約数について繰り返し判断する。具体的には、1部目1頁目のデータの要素情報と2部目1頁目のデータの要素情報、1部目2頁目のデータの要素情報と2部目2頁目のデータの要素情報、…1部目N頁目のデータの要素情報と2部目N頁目のデータの要素情報が一致するか否かを判断する。これらの、詳細な処理については後述する。
なお、要素情報とは、頁データの内容が同一であるか否かを判断することができる項目であればどのような値でもよく、例えば各頁データのデータサイズを要素情報としてもよい。
印刷データ生成部13は、1の印刷用紙に印刷される頁データの最大頁数を算出し、最大頁数と構成頁数とによって、構成単位データpの最後に付加する白紙のデータの枚数を算出する。さらに、構成単位データpの最後に算出した枚数分の白紙の頁データを付加して白紙頁付データとし、印刷元データPを部数算出部16によって算出された構成部数と、白紙頁付データと、によって定義し直した印刷データP′へ変換する。
送受信部12は、印刷データ生成部13によって生成された印刷データをプリンタ2へ送信するためのインターフェース部である。なお、アプリケーション10およびプリンタドライバ11は、ホストコンピュータ1の図示しないROMあるいはフラッシュROM等に予め格納されたプログラムであり、それぞれの各種機能は、ホストコンピュータ1の図示しない制御部(CPU)で上記プログラムを読み出し、実行することにより実現される。
プリンタ2の送受信部20は、ホストコンピュータ1から送信された印刷データ等を受信するためのインターフェース部である。送受信部20で一時保存した印刷データはプリントバッファ21に展開され、印刷機構23で印字可能なドットデータに変換される。印刷制御部22は、受信した印刷コマンドに基づいて、印刷機構23の動作を制御する。印刷機構23は、変換されたドットデータに基づいて印字動作を行う。なお、印刷機構23は、印刷用紙に直接印刷を行うための印刷ヘッドやキャリッジ等を備ええる。
(印刷元データから印刷データへの変換処理について)
次に、本実施形態のホストコンピュータ1のプリンタドライバ11が行う印刷元データを印刷データへ変換する処理について説明する。図2は、印刷元データを印刷データへ変換する処理を説明するためのフローチャートである。
以下では、ユーザーがアプリケーション10で編集、作成した1つの文書ファイルが1頁から5頁までの頁データによって構成され、この文書ファイルを両面印刷及び割付印刷(用紙の片面に4頁分の頁データを割り付けて印刷する設定とする。)の印刷方法で2部、部単位で印刷するよう設定した場合を前提として説明する。つまり、上記背景技術において説明した図7において印刷元データPを構成する各構成単位データp1,p2がそれぞれ5頁の頁データによって構成された印刷元データPをプリンタドライバ11がアプリケーション10から受けた場合である。
まず、プリンタドライバ11は、アプリケーション10から1頁から5頁の頁データを2部分結合して全体を1部とした印刷元データPを受けると、印刷元データPのヘッダ情報から総頁数(Page)を取得する(ステップS11)。ここでは、印刷元データの総頁数(Page)=10である。
次に、総頁数(Page)=10の約数をN個全て算出する。10の約数は、1,2,5,10の4個である。これを、mea[0]=1,mea[1]=2,mea[2]=5,mea[N−1]=mea[3]=10と定義し、さらにn=N−2と定義する(ステップS13)。n=N−1とせずn=N−2とするのは、n=N−1の場合の約数mea[N−1]は必ず印刷元データPの総頁数=Pageであり、この場合は印刷元データPが複数部数となることがなく白紙頁データを挿入する必要がないので本実施形態の計算から除外するためである。まずは、n=N−2=4−2=2とする。
(約数mea[2]=5を当てはめたときの処理)
各構成単位データp1,p2を構成する頁数をカウントする頁数カウンタpCntを初期化しpCnt=1とし(ステップS14)、さらに印刷元データPを構成する部数をカウントする部数カウンタbCntを初期化してbCnt=1とする(ステップS15)。そして、印刷元データPのうち最初の構成単位データp1を構成する各頁データの要素情報と、最初の構成単位データp1に続く構成単位データp2を構成する各頁データの要素情報と、が一致するか否かを判断する(ステップS16)。各カウンタを用いて表せば、1部目のpCnt頁と(bCnt+1)部目のpCnt頁とが一致するか否かを判断する。この判断は、例えば次の式1によって表すことができる。
B(pCnt)=B(pCnt+bCnt*mea[n])・・・式1
具体的に数値を当てはめてみる。まず約数mae[n]=5を当てはめてみると、構成単位データp1を構成する1頁目のデータの要素情報、B(pCnt)=B(1)と、最初の構成単位データp1に続く2部目の構成単位データp2を構成する1頁目のデータの要素情報、B(pCnt+bCnt*mea[n])=B(1+1*5)=B(6)と、が一致するか否かを判断する。すなわち、印刷元データPの1頁目と6頁目の要素情報が一致するかを判断する。
1部目の1頁と、bCnt+1=1+1=2部目の1頁の要素情報が一致する場合には(ステップS16:Yes)、部数カウンタbCntに+1した値が、現在想定している頁数あたりの部数に等しいか否かを判断する(ステップS17)。ここで、印刷元データPを構成する各構成単位データp1,p2は、約数に相当する構成頁数mea[n]を有するものと仮定すると、現在想定している構成頁数mea[n]あたりの構成部数はPage/mea[n]によって求めることができる。すなわち、1部目の1頁から構成頁数までの各頁データと、想定する構成部数の1頁から構成頁数までの各頁データとが一致するかを、構成単位データ毎に比較判断する。ステップS17の判断は、次の式2によって表すことができる。
bCnt+1=Page/mea[n]・・・式2
1部目の1頁目のデータと2部目の1頁目のデータ、1部目の1頁目のデータと3部目の1頁目のデータ、1部目の1頁目のデータと4部目の1頁目のデータ、・・・1部目の1頁目のデータと、想定される構成部数部目の1頁目のデータ、が一致するか否かを順に比較判断する。想定される構成部数全てについて1頁目のデータの比較判断を行った場合には、ステップS17の条件を満たすため各構成部の2頁目のデータについての比較判断へ進む。つまり、想定される構成部数全てに関して各頁データの比較判断が行われるまではステップS17の条件を満たすことができない(ステップS17:No)。すなわち、構成部数全てに関して各頁データの比較判断が行われるようステップS17の条件を満たすまで部数カウンタbCntをカウントアップして(ステップS18)、ステップS16,ステップS17の判断を繰り返し行うよう構成されている。
本実施形態の具体的な数値を当てはめてみると、ここではmea[n]=5とした場合の印刷元データPの構成部数は、Page/mea[n]=10/5=2であり、ステップS17の式2の条件を満たす。すなわち、bCnt+1=1+1=2=Page/mea[n]=2であるから(ステップS17:Yes)、次のステップS19の処理を実行する。構成単位データp1の2頁目の要素情報と構成単位データp2の2頁目の要素情報が一致するかを判断するため、頁数カウンタpCntを+1する(ステップS19)。すなわち、pCnt=pCnt+1=1+1=2とする。
次に、頁数カウンタpCntが現在想定している頁数よりも大きい値か否かを判断する(ステップS20)。すなわち、構成単位データp1,p2を構成する全ての頁データについて要素情報が一致するか否かを繰り返し判断するため、頁数カウンタpCntをカウントアップした値が構成単位データp1,p2の構成頁数を超えたかを判断している。ステップS20の判断は、次の式3によって表すことができる。
pCnt>mea[n]・・・式3
ステップS19で頁数カウンタpCntを1だけカウントアップしたので、pCnt=2<mea[n]=5となり、式3は満たさない(ステップS20:No)。このため、ステップS15に戻って部数カウンタbCntを初期化する。ここでは、現在の部数カウンタbCnt=1のままである。
再びステップS16の式1の条件判断を行う。B(pCnt)=B(2)=B(pCnt+bCnt*mea[n])=B(2+1*5)=B(7)。構成単位データp1を構成する2頁目のデータの要素情報と、2部目の構成単位データp2を構成する2頁目のデータの要素情報が一致するか否かを判断する。すなわち、印刷元データPの2頁目と7頁目の要素情報が一致するかを判断する。
1部目の2頁目の要素情報と、2部目の2頁目の要素情報が一致する場合には(ステップS16:Yes)、再びステップS17の式2の条件判断を行う。すなわち、bCnt+1=1+1=2=Page/mea[n]=10/5=2であり条件を満たすため(ステップS17:Yes)、構成単位データp1の3頁目の要素情報と構成単位データp2の3頁目の要素情報が一致するかを判断するため、頁数カウンタpCnt=2を+1して頁数カウンタpCnt=3とする(ステップS19)。
次に再び、頁数カウンタpCntが現在想定している頁数よりも大きい値か否かをステップS20において判断する。pCnt=3<mea[n]=5であるため(ステップS20:No)、ステップS15に戻って部数カウンタbCntを初期化する。
以降、構成単位データp1の1頁から5頁,構成単位データp2の1頁から5頁について、各頁データの要素情報がステップS16における式1の条件判断が行われる。そして、ステップS16で、構成単位データp1を構成する5頁目のデータの要素情報と、2部目の構成単位データp2を構成する5頁目のデータの要素情報が一致すると判断し、ステップS19で頁数カウンタpCntがカウントアップされてbCnt=bCnt+1=5+1=6となると、ステップS20における式3の条件を満たすため(つまり、pCnt=6>mea[n]=5)ステップS21へ分岐する(ステップS20:Yes)。
ステップS21では、mea[n]=5を印刷元データPを構成する各構成単位データp1,p2の構成頁数として保存する。次に、ステップS12で求めた他の約数について上記のステップを実行するため、ステップS13で定義したnの値が0であるかを判断する(ステップS22)。ステップS22の判断を行うことにより、nが0になるまで他の約数を当てはめることができる。すなわち、mea[2]=5,mea[1]=2,mea[0]=1の値を順に当てはめていくことができる。ここでは、n=2であるためn=0の条件は満たさない(ステップS22:No)。nをカウントダウンすると、n=n−1=2−1=1となり(ステップS23)、次に当てはめる約数mea[n]=mea[1]=2となる。
(約数mea[1]=2を当てはめたときの処理)
ステップS14に戻り、頁数カウンタを初期化してpCnt=1とし、さらにステップS15で部数カウンタを初期化してbCnt=1とする。
具体的に数値を当てはめてみる。ステップS16において、式1に約数mae[n]=2を当てはめてみると、構成単位データp1を構成する1頁目のデータの要素情報=B(pCnt)=B(1)と、最初の構成単位データp1に続く2部目の構成単位データp2を構成する1頁目のデータの要素情報=B(pCnt+bCnt*mea[n])=B(1+1*2)=B(3)と、が一致するか否かを判断する。すなわち、印刷元データPの1頁目と3頁目の要素情報が一致するかを判断する。
ここでは、1部目の1頁と、bCnt+1=1+1=2部目の1頁の要素情報は一致しない(ステップS16:No)。つまり、印刷元データPの1頁目と3頁目の要素情報は異なる値である。このため、ステップS22までとび、n=0であるかを判断する。ここでは、n=1であるためn=0の条件は満たさない(ステップS22:No)。さらに、nをカウントダウンする(ステップS23)。n=n−1=1−1=0となり、次に当てはめる約数mea[n]=mea[0]=1となる。
(約数mea[0]=2を当てはめたときの処理)
ステップS14に戻り、頁数カウンタを初期化してpCnt=1とし、さらにステップS15で部数カウンタを初期化してbCnt=1とする。
具体的に数値を当てはめてみる。ステップS16において、式1に約数mae[n]=1を当てはめてみると、構成単位データp1を構成する1頁目のデータの要素情報=B(pCnt)=B(1)と、最初の構成単位データp1に続く2部目の構成単位データp2を構成する1頁目のデータの要素情報=B(pCnt+bCnt*mea[n])=B(1+1*1)=B(2)と、が一致するか否かを判断する。すなわち、印刷元データPの1頁目と2頁目の要素情報が一致するかを判断する。
ここでは、1部目の1頁と、bCnt+1=1+1=2部目の1頁の要素情報は一致しない(ステップS16:No)。つまり、印刷元データPの1頁目と2頁目の要素情報は異なる値である。このため、ステップS22までとび、n=0であるかを判断する。ここでは、n=0であるためn=0の条件を満たす(ステップS22:Yes)。これにより、総頁数Pege=10の約数=1,2,5,10の4つの約数mea[n]のうち、[N−1]=mea[3]=10を除く全ての約数mea[0]=1,mea[1]=2,mea[2]=5を当てはめて、要素情報が一致するかを判断したことになる。つまり、本実施形態では、ステップS21で保存した約数mea[2]=5が構成単位データp1,p2を構成する構成頁数となる。
(白紙頁データの枚数を算出する処理)
次に、1枚の用紙に印刷される最大の頁数(pPage)を求める(ステップS24)。本実施形態では、両面印刷及び割付印刷の印刷方法で2部、部単位で印刷するよう設定されている。そして、割付印刷は1枚の用紙の片面に4頁分の頁データを割り付けて印刷するよう設定されている。したがって、1枚の用紙に印刷される頁数は、次の式4によって表すことができる。
pPage=Up*2(両面印刷の場合)・・・式4 Up:用紙の片面に印刷可能な頁数
なお、片面印刷及び割付印刷の印刷方法が設定されていた場合には、次の式5によって表すことができる。
pPage=Up・・・式5
具体的な数値を当てはめると、pPage=Up*2=4*2=8となり、1枚の用紙に最大で8ページ分が印刷される。
そして、挿入する白紙頁データの枚数(wPage)を求める(ステップS25)。挿入する白紙頁データの枚数は、次の式6によって表すことができる。
wPage=pPage−mea[n]%pPage(ただし、mea[n]は最小値)・・・式6
なお、mea[n]%pPageは、mea[n]をpPageで割ったときの余りを意味する。
具体的な数値を当てはめると、wPage=pPage−mea[n]%pPage=8−5/8の余り=8−5=3となり、3頁分の白紙頁データが必要となることが分かる。
最後に、構成部数が5部(Page/mea[n]=10/2=5)、白紙頁データを3頁分付加して、印刷元データPを印刷データへ変換し(ステップS26)、変換された印刷データP′はプリンタ2へ送信されて、印刷処理が実行される。
図3は、図7の印刷元データPを上述した変換処理を行うことによって得られた印刷データP′である。図7の印刷元データPのヘッダ情報に含まれていた部数=1は、ステップS21で保存された構成頁数=5を元に算出される構成部数によって書き換えられる。すなわち、構成部数=Page/mea[n]=10/5=2に書き換えられている。さらに、3頁分の白紙頁データは印刷データP′の最後に印刷フッタ情報として付加されている。図3の印刷データP′がプリンタ2へ送信されると、プリンタ2の印刷制御部22は印刷データP′にしたがって印刷処理を実行する。
図4は、プリンタ2の印刷制御部22が印刷データP′にしたがって印刷処理を実行した場合の印刷結果を示した模式図である。図4に示すように、1枚の用紙Xの表面には1ページから4ページの頁データが割り付けて印刷され、用紙Xの裏面には5ページ目の頁データと3ページ分の白紙ページが割り付けて印刷されている。これを1部目、2部目と部数毎に印刷して出力することができる。
このように本実施形態によれば、両面印刷及び割付印刷が設定され、文書データを複数部数にわたって部単位で印刷する指示が与えられた場合でも、部と部の間に適当な頁数の白紙ページが挿入されるので、1部目の最後のページEと、2部目の最初のページFが1部目の用紙X1に印刷されてしまうと言う不具合が発生することを防止することができる。
なお、ここではステップS21で保存した約数はmea[2]=5の1つだけであったが、場合によっては複数保持することもある。例えば、アプリケーション10から1頁から5頁の頁データを4部分結合して総頁数=20頁を1部とする印刷元データPを受けた場合には、総頁数の約数は1,2,4,5,10,20であり、mea[0]=1,mea[1]=2,mea[2]=4,mea[3]=5,mea[N−2=4]=10,mea[N−1=5]=20である。約数mea[5]=20以外の約数を順にあてはめていくと、ステップS21においてmea[4]=10とmea[3]=5の2つの値が保持される。このときはステップS25においてその内の最小のmea[3]=5を用いて白紙頁データの枚数を算出すればよい。
(変形例)
次に、図2のフローチャートを参照して説明した、印刷データ変換処理の変形例について図5を参照して説明する。図5は、印刷データ変換処理の変形例を説明するフローチャートである。
上記実施形態では、1部目の1頁目と2部目の1頁目を比較すると、部数カンウタをカウントアップして1部目の1頁目と3部目の1頁目とが同一であるか否かを判断し、全ての構成部の1頁目の比較判断が終了すると、頁数カウンタをカウントアップして1部目の2頁目と全ての構成部の2頁目を比較する。このように、各構成単位データのうち同一の頁数に該当する頁データだけを順次読み出して比較判断するようになっている。
一方、図5に示す変形例では、図2のいくつかのステップを入れ替えた処理となっている。1部目の1頁目と2部目の1頁目を比較すると(ステップS16)、まず頁数カウンタをカウントアップして(ステップS19)1部目の2頁目と2部目の2頁目とが同一であるか否かを比較する。1部目と2部目の各頁について全て比較判断が終了すると、次に部数カウンタをカウントアップして(ステップS18)頁数カウンタを初期化し(ステップS14)、再び1部目の各頁と3部目の各頁を比較判断する(ステップS16)。1部目の構成単位データの全てと、1部目以外の他の構成単位データの全てを1頁から順に読み出して比較判断するようになっている。
本発明の実施の形態における印刷制御装置の構成を説明するためのブロック図である。 印刷元データを印刷データへ変換する処理を説明するためのフローチャートである。 印刷元データPに対して変換処理を行うことによって得られた印刷データP′のデータ構成である。 印刷制御部が変換後の印刷データにしたがって印刷処理を実行した場合の印刷結果を示した模式図である。 印刷データ変換処理の変形例を説明するフローチャートである。 部単位印刷を設定せずに通常の印刷処理を指示したときにアプリケーションが加工する印刷元データの構成を示している。 部単位印刷を設定したときにアプリケーションが加工する印刷元データの構成を示している。
符号の説明
1:ホストコンピュータ、2:プリンタ、10:アプリケーション、11:プリンタドライバ、12:送受信部、13:印刷データ生成部、14:約数算出部、15:要素情報判断部、16:部数算出部、20:送受信部、21:プリントバッファ、22:印刷制御部、23:印刷機構

Claims (6)

  1. 少なくとも1頁以上の頁データを1つの構成単位データとし、前記構成単位データを複製して複数結合された印刷元データを、印刷装置が処理可能な印刷データへ変換する印刷制御装置であって、
    両面印刷及び割付印刷の少なくとも何れか一方の印刷設定がなされている場合に、前記印刷元データから前記構成単位データの構成頁数を算出し、前記構成頁数と前記印刷元データの総頁数から、前記印刷元データの構成部数を算出する部数算出部と、
    前記構成単位データの最後に白紙の頁データを付加して白紙頁付データとし、前記印刷元データを前記構成部数と前記白紙頁付データとによって定義し直した印刷データへ変換する印刷データ生成部と、を有することを特徴とする印刷制御装置。
  2. 前記印刷元データの総頁数の約数を全て算出する約数算出部と、
    前記印刷元データのうち最初の構成単位データを構成する各頁データの要素情報と、最初の構成単位データ以外の他の構成単位データを構成する各頁データの要素情報と、が一致するか否かを前記約数について繰り返し判断する要素情報判断部と、を有し、
    前記部数算出部は、前記要素情報判断部が全ての各頁データの要素情報が一致すると判断したときの約数のうち最小値を、前記構成頁数とすることを特徴とする請求項1に記載の印刷制御装置。
  3. 前記印刷データ生成部は、1の印刷媒体に印刷される頁データの最大頁数を算出し、前記最大頁数と前記構成頁数とによって、前記構成単位データの最後に付加する前記白紙のデータの枚数を算出することを特徴とする請求項1または2に記載の印刷制御装置。
  4. 少なくとも1頁以上の頁データを1つの構成単位データとし、前記構成単位データを複製して複数結合された印刷元データを、印刷装置が印刷可能な印刷データへ変換する印刷制御装置の制御方法であって、
    両面印刷及び割付印刷の少なくとも何れか一方の印刷設定がなされている場合に、前記印刷元データから前記構成単位データの構成頁数を算出し、前記構成頁数と前記印刷元データの総頁数から、前記印刷元データの構成部数を算出する算出ステップと、
    前記構成単位データの最後に白紙の頁データを付加して白紙頁付データとし、前記印刷元データを前記構成部数と前記白紙頁付データとによって定義し直して印刷データへ変換する変換ステップと、を有することを特徴とする印刷制御装置の制御方法。
  5. 前記算出ステップにおいて、
    前記印刷元データのうち最初の構成単位データを構成する各頁データの要素情報と、最初の構成単位データ以外の他の構成単位データを構成する各頁データの要素情報と、が一致するか否かを前記約数について繰り返し判断し、
    全ての各頁データの要素情報が一致すると判断したときの約数のうち最小値を、前記構成頁数として保持することを特徴とする請求項4に記載の印刷制御装置の制御方法。
  6. 前記変換ステップにおいて、1の印刷媒体に印刷される頁データの最大頁数を算出し、前記最大頁数と前記構成頁数とによって、前記構成単位データの最後に付加する前記白紙のデータの枚数を算出することを特徴とする請求項4または5に記載の印刷制御方法の制御方法。
JP2007010674A 2007-01-19 2007-01-19 印刷制御装置及び印刷制御装置の制御方法 Pending JP2008176651A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007010674A JP2008176651A (ja) 2007-01-19 2007-01-19 印刷制御装置及び印刷制御装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007010674A JP2008176651A (ja) 2007-01-19 2007-01-19 印刷制御装置及び印刷制御装置の制御方法

Publications (1)

Publication Number Publication Date
JP2008176651A true JP2008176651A (ja) 2008-07-31

Family

ID=39703612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007010674A Pending JP2008176651A (ja) 2007-01-19 2007-01-19 印刷制御装置及び印刷制御装置の制御方法

Country Status (1)

Country Link
JP (1) JP2008176651A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5282842B1 (ja) * 2012-11-29 2013-09-04 富士ゼロックス株式会社 印刷制御装置、画像形成装置、および、プログラム
JP5316732B1 (ja) * 2013-04-12 2013-10-16 富士ゼロックス株式会社 印刷制御装置、画像形成装置、および、プログラム
JP5376084B1 (ja) * 2013-04-12 2013-12-25 富士ゼロックス株式会社 印刷制御装置、画像形成装置、および、プログラム
JP2016215624A (ja) * 2015-05-20 2016-12-22 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
JP2019010858A (ja) * 2017-06-30 2019-01-24 株式会社沖データ 印刷システム、印刷装置、印刷制御装置、印刷制御プログラムおよび印刷方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5282842B1 (ja) * 2012-11-29 2013-09-04 富士ゼロックス株式会社 印刷制御装置、画像形成装置、および、プログラム
US9025186B2 (en) 2012-11-29 2015-05-05 Fuji Xerox Co., Ltd. Print control device, image forming apparatus, and non-transitory computer readable medium
US9041972B2 (en) 2012-11-29 2015-05-26 Fuji Xerox Co., Ltd. Print control device, image forming apparatus, and non-transitory computer readable medium
US9448751B2 (en) 2012-11-29 2016-09-20 Fuji Xerox Co., Ltd. Print control device, image forming apparatus, and non-transitory computer readable medium
JP5316732B1 (ja) * 2013-04-12 2013-10-16 富士ゼロックス株式会社 印刷制御装置、画像形成装置、および、プログラム
JP5376084B1 (ja) * 2013-04-12 2013-12-25 富士ゼロックス株式会社 印刷制御装置、画像形成装置、および、プログラム
JP2016215624A (ja) * 2015-05-20 2016-12-22 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
JP2019010858A (ja) * 2017-06-30 2019-01-24 株式会社沖データ 印刷システム、印刷装置、印刷制御装置、印刷制御プログラムおよび印刷方法

Similar Documents

Publication Publication Date Title
JP5288837B2 (ja) 印刷ジョブ制御装置、印刷ジョブ制御方法、印刷ジョブ制御プログラム
US9594987B2 (en) Printing system, printing method and computer-readable recording medium
JPH11219265A (ja) プリンタ制御システムにおける中間ファイルの加工装置及びその制御プログラムが記録された記録媒体
JP2013162422A (ja) 画像形成装置、その制御方法、及びプログラム
JP2008201045A (ja) 画像形成装置
JP2008176651A (ja) 印刷制御装置及び印刷制御装置の制御方法
JP5282842B1 (ja) 印刷制御装置、画像形成装置、および、プログラム
JP5446852B2 (ja) 印刷処理装置、印刷処理プログラム、および印刷処理方法
US20120057177A1 (en) Image processing apparatus and image processing method
JPH11165455A (ja) コンピュータによるプリント制御方法およびプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびにプリント制御装置
JP2018036755A (ja) 制御方法、プログラム及び情報処理装置
US8860962B2 (en) Information processing apparatus, information processing method, and computer program product for the information processing
KR19990086291A (ko) 데이터를 다중매수로 인쇄하는 장치 및 방법
JP2009269179A (ja) 印刷装置、プログラム及び記録媒体
JP4848778B2 (ja) 画像形成装置
JP5376084B1 (ja) 印刷制御装置、画像形成装置、および、プログラム
JP2006268797A (ja) 出力データ生成装置、出力データ生成方法、及び出力データ生成プログラム
JP5446086B2 (ja) 文書処理プログラム及び文書処理装置
JP2010231621A (ja) 印刷制御プログラム,印刷データ出力装置,および印刷システム
JP2010041343A (ja) 画像形成システム、画像形成装置及び画像形成システム
JP2005216242A (ja) 画像形成支援装置
JP2006268094A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4434921B2 (ja) 画像形成装置及び画像形成プログラム
JP2008117285A (ja) 印刷システム
JP2007203578A (ja) 画像形成装置及びその印刷制御プログラム