JP4356994B2 - 印刷制御装置、印刷制御方法及びプログラム - Google Patents

印刷制御装置、印刷制御方法及びプログラム Download PDF

Info

Publication number
JP4356994B2
JP4356994B2 JP2004377773A JP2004377773A JP4356994B2 JP 4356994 B2 JP4356994 B2 JP 4356994B2 JP 2004377773 A JP2004377773 A JP 2004377773A JP 2004377773 A JP2004377773 A JP 2004377773A JP 4356994 B2 JP4356994 B2 JP 4356994B2
Authority
JP
Japan
Prior art keywords
print
print data
setting information
physical
information
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.)
Expired - Fee Related
Application number
JP2004377773A
Other languages
English (en)
Other versions
JP2006185156A (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.)
Canon Marketing Japan Inc
Original Assignee
Canon Marketing Japan Inc
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 Canon Marketing Japan Inc filed Critical Canon Marketing Japan Inc
Priority to JP2004377773A priority Critical patent/JP4356994B2/ja
Publication of JP2006185156A publication Critical patent/JP2006185156A/ja
Application granted granted Critical
Publication of JP4356994B2 publication Critical patent/JP4356994B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

本発明は、印刷制御装置、印刷制御方法及びプログラムに関し、特に、適切な印刷体裁で用紙をステイプルすることができる印刷制御装置、印刷制御方法及びプログラムに関する。
従来より、ページ単位での画像形成手段を有する印刷装置(以下、「プリンタ」という。)と、このプリンタと接続された情報処理装置(以下、「ホストコンピュータ」という。)からなる印刷システムにおいて、ホストコンピュータからプリンタに対して、ステイプルを指示する制御コマンドとホストコンピュータ上で作成された印刷データとを送信することにより、プリンタにおいてプリント出力された用紙にステイプル処理を行う印刷システムが知られている。
この印刷システムにおいて、ステイプル許容枚数を超過する印刷データをプリンタに送信した場合、プリンタでステイプル処理がキャンセルされ、プリント出力のみが行われるので、ユーザは印刷する前に印刷ドキュメントがステイプル許容枚数に収まるかを確認する必要がある。また、予期せずステイプル処理がキャンセルされて出力されてしまった場合には、用紙を手動でステイプルしなければならない。
そこで、ステイプルの許容枚数を超過している場合、プリンタにおいて自動的に2in1、4in1等の複数ページ印刷(以下、「Nup印刷」という。)や両面印刷を適用することにより出力用紙の枚数を削減し、出力用紙の枚数をステイプル許容枚数に収める印刷システムが提案されている(例えば、特許文献1参照)。
この印刷システムにおいて、複数頁の原稿をユーザが設定した出力制限枚数a以内に収めようとする場合、印刷部数b及び原稿枚数cを確認し、これらの値に基づいて、出力用紙1枚あたりに印刷すべき印刷原稿頁数dを決定する。そして、この印刷原稿頁数dでの印刷を可能とする出力モード(例えば、両面印刷、Nup印刷)を決定して、印刷を実行する。また、給紙手段、排紙手段、及び後処理手段(例えば、ステイプル)等の許容量を出力制限枚数aとして設定することもできる。
特開2002−358189号公報
しかしながら、上記特許文献1の印刷システムには、以下の課題がある。
(1)プリンタにおいてホストコンピュータから送信される印刷データを解析し、ステイプル可能な許容枚数を超過しているかを判断しているため、予めホストコンピュータでNup印刷が適用されている場合、プリンタ側では正確に印刷データのページ数を判断することができない。このためホストコンピュータ側とプリンタ側で2重に複数ページ印刷が適用される等、ユーザの期待しない出力結果となる場合がある。
(2)Nup印刷や両面印刷を適用してもステイプル許容枚数を超えるために、ステイプル出力することができない場合がある。例えば、ステイプル許容枚数が30枚、印刷ドキュメントが80枚であり、等倍で(Nup印刷せずに)印刷したい場合、両面印刷を適用しても30枚に収まらない。このような場合、ユーザは当該許容枚数に収まるようにドキュメントの枚数を調整して、複数回に分けて印刷を行う必要があり、煩雑な作業が要求される。
(3)プリンタにおいてホストコンピュータから送信される印刷データを解析し、ステイプル可能な許容枚数を超過しているかを判断する際に、インサータ等の給紙装置から給紙される表紙や裏表紙や仕切り紙等の合紙は、出力枚数としてカウントされないので、ステイプル許容枚数を超過しているかの判断を正確に行うことができず、適切にステイプルされない場合がある。
本発明は、合紙の位置によって印刷データを分割してもステイプル許容枚数超過した場合に、適切な位置で印刷データを分割することで、適切にステイプルされた印刷物を出力することができる印刷制御装置、印刷制御方法及びプログラムを提供することを目的としている。
上述の目的を達成するために、請求項1記載の印刷制御装置は、印刷データを生成するプリンタドライバを備える印刷制御装置であって、アプリケーションからの印刷開始要求に応じて、プリンタドライバで印刷データを受信する印刷データ受信手段と、前記印刷データ受信手段で受信した印刷データに対応する前記プリンタドライバで設定された合紙の挿入ページを指定する合紙ページ情報とステイプル設定情報とを含む刷設定情報を取得する印刷設定情報取得手段と、前記印刷設定情報取得手段で取得した印刷設定情報のステイプル設定情報に従ってステイプル設定がなされているか否かを判定するステイプル設定判定手段と、前記ステイプル設定判定手段で、ステイプル設定がなされていると判定される場合に、前記印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第1の算出手段と、前記第1の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第1の枚数判定手段と、前記第1の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第2の算出手段と、前記第2の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第2の枚数判定手段と、前記第2の枚数判定手段で、ステイプル許容枚数に収まると判定された場合に、前記合紙ページ情報に従って印刷データを分割する第1の分割手段と、前記第2の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、ステイプル許容枚数に収まる、且つ平均的な物理印刷枚数になるように、前記合紙ページ情報に従って分割される印刷データを複数の印刷データに分割する第2の分割手段と、を備えることを特徴とする。
上述の目的を達成するために、請求項6記載の印刷制御方法は、印刷データを生成するプリンタドライバを備える印刷制御装置の印刷制御方法において、印刷データ受信手段が、アプリケーションからの印刷開始要求に応じて、プリンタドライバで印刷データを受信する印刷データ受信ステップと、印刷設定情報取得手段が、前記印刷データ受信ステップで受信した印刷データに対応する前記プリンタドライバで設定された合紙の挿入ページを指定する合紙ページ情報とステイプル設定情報とを含む印刷設定情報を取得する印刷設定情報取得ステップと、ステイプル設定判定手段が、前記印刷設定情報取得ステップで取得した印刷設定情報のステイプル設定情報に従ってステイプル設定がなされているか否かを判定するステイプル設定判定ステップと、第1の算出手段が、前記ステイプル設定判定ステップで、ステイプル設定がなされていると判定される場合に、前記印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第1の算出ステップと、第1の枚数判定手段が、前記第1の算出ステップで算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第1の枚数判定ステップと、第2の算出手段が、前記第1の枚数判定ステップで、ステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第2の算出ステップと、第2の枚数判定手段が、前記第2の算出ステップで算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第2の枚数判定ステップと、第1の分割手段が、前記第2の枚数判定ステップで、ステイプル許容枚数に収まると判定された場合に、前記合紙ページ情報に従って印刷データを分割する第1の分割ステップと、第2の分割手段が、前記第2の枚数判定ステップで、ステイプル許容枚数に収まらないと判定された場合に、ステイプル許容枚数に収まる、且つ平均的な物理印刷枚数になるように、前記合紙ページ情報に従って分割される印刷データを複数の印刷データに分割する第2の分割ステップとを実行することを特徴とする。
上述の目的を達成するために、請求項7記載のプログラムは、印刷データを生成するプリンタドライバを備える印刷制御装置に実行させるプログラムにおいて、前記印刷制御装置を、アプリケーションからの印刷開始要求に応じて、プリンタドライバで印刷データを受信する印刷データ受信手段と、前記印刷データ受信手段で受信した印刷データに対応する前記プリンタドライバで設定された合紙の挿入ページを指定する合紙ページ情報とステイプル設定情報とを含む印刷設定情報を取得する印刷設定情報取得手段と、前記印刷設定情報取得手段で取得した印刷設定情報のステイプル設定情報に従ってステイプル設定がなされているか否かを判定するステイプル設定判定手段と、前記ステイプル設定判定手段で、ステイプル設定がなされていると判定される場合に、前記印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第1の算出手段と、前記第1の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第1の枚数判定手段と、前記第1の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第2の算出手段と、前記第2の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第2の枚数判定手段と、前記第2の枚数判定手段で、ステイプル許容枚数に収まると判定された場合に、前記合紙ページ情報に従って印刷データを分割する第1の分割手段と、前記第2の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、ステイプル許容枚数に収まる、且つ平均的な物理印刷枚数になるように、前記合紙ページ情報に従って分割される印刷データを複数の印刷データに分割する第2の分割手段として機能させることを特徴とする。
本発明によれば、合紙の位置によって印刷データを分割してもステイプル許容枚数超過した場合に、適切な位置で印刷データを分割することで、適切にステイプルされた印刷物を出力することができる。
以下、本発明の実施の形態を図面を参照しながら詳述する。
図1は、本発明の実施の形態に係る印刷システムの構成を示すブロック図である。
ホストコンピュータ3000は、CPU101と、RAM102と、ROM103と、入力コントローラ(入力C)105と、ビデオコントローラ(VC)106と、メモリコントローラ(MC)107と、通信インターフェースコントローラ(通信I/FC)108と、キーボード(KB)109と、CRTディスプレイ(CRT)110と、外部メモリ111とを備える。
CPU101、RAM102、ROM103、入力C105、VC106、MC107、及び通信I/FC108は、システムバス104を介して互いに接続されている。
ROM103又は外部メモリ111には、CPU101の制御プログラムであるBIOS(Basic Input/Output System)、オペレーティングシステムプログラム(以下、「OS」という。)、及び後述する各処理を実行するために必要な各種プログラム等が記憶されている。本実施の形態で使用するOSは、例えば、マイクロソフト社製のウィンドウズ(登録商標)XPを想定するが、これに限られるものではない。
RAM102は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して必要なプログラム等をRAM102にロードして、プログラムを実行することで各種動作を実現する。
入力コントローラ(入力C)105は、キーボード(KB)109や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ(VC)106は、CRTディスプレイ(CRT)110等の表示器への表示を制御する。尚、表示器はCRTに限られるものではなく、液晶ディスプレイであっても構わない。
メモリコントローラ(MC)107は、外部メモリ111へのアクセスを制御する。外部メモリ111は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及び各種データ等を記憶し、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)、又はPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等から構成される。
通信I/Fコントローラ(通信I/FC)108は、ネットワークを介した外部機器との接続・通信を制御する。例えば、TCP/IPを用いたインターネット通信や、データ転送経路121を介してプリンタ1500との間でデータ送受信等が可能である。
CPU101は、例えば、RAM102内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT110に表示情報を表示する。また、CPU101は、CRT110にマウスカーソル等を表示することにより、ユーザによる指示を可能にする。
プリンタ1500は、CPU112と、RAM119と、フォントROM113aと、プログラムROM113bと、データROM113cと、入力部118と、印刷部インターフェース(印刷部I/F)116と、印刷部117と、操作部1501と、メモリコントローラ(MC)120と、外部メモリ114とを備える。
CPU112、RAM119、ROM113、入力部118、印刷部I/F116、操作部1501と、MC120は、システムバス115を介して互いに接続されている。
プリンタCPU112は、プログラムROM113b又は外部メモリ114に記憶された制御プログラム等に基づいて、印刷部I/F116を介して印刷部(プリンタエンジン)117に出力情報としての画像信号を出力する。
プログラムROM113bには、CPU112の制御プログラム等が記憶される。フォントROM113aには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。データROM113cには、プリンタ1500がハードディスク等の外部メモリ114を有していない場合には、ホストコンピュータ3000上で利用される情報等が記憶される。
CPU112は、入力部118を介してホストコンピュータ3000との通信処理を行い、プリンタ1500内の情報等をホストコンピュータ3000に通知することができる。
RAM119はCPU112の主メモリであり、ワークエリア等として機能する。また、RAM119は、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM119は、出力情報展開領域、環境データ格納領域、NVRAM等にも用いられる。
メモリコントローラ(MC)120は、外部メモリ114へのアクセスを制御する。外部メモリ114は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶し、ハードディスク(HD)、ICカード等で構成される。
操作部1501は、操作のためのスイッチ及びLED表示器等が配されている操作パネルである。
尚、プリンタ1500が備える外部メモリ114は、1個に限られるものではなく、少なくとも1個以上であれば複数であってもよい。また、プリンタ1500は、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されてもよい。更に、プリンタ1500は、操作部1501により設定されたプリンタモード設定情報を記憶するNVRAMを有していてもよい。
本実施の形態では、プリンタ1500がサポートするページ記述言語(以下、「PDL」という。)は、LBP Image Processing System(以下、「LIPS」という。)等の比較的に高度なPDLであると想定しているが、これに限られるものではない。
本発明を実現するための印刷制御プログラム(以下、「プリンタドライバ」という。)は外部メモリ111に記録されており、必要に応じてRAM102にロードされることによりCPU101によって実行される。プリンタドライバが用いる定義ファイル及び各種情報テーブルは外部メモリ111に格納されている。
尚、上記印刷システムの構成は一例であり、用途や目的に応じて様々な構成例があることは云うまでもない。例えば、本発明は、単体の機器に適用されてもよく、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークを介して接続された複数の機器からなるシステムに適用されてもよい。
図2は、図1におけるホストコンピュータ3000のソフトウェア構成を示すブロック図である。
図2において、ホストコンピュータ3000は、アプリケーションプログラム(以下、「アプリケーション」という。)201と、グラフィックスエンジン202と、プリンタドライバ203と、プリントサブシステム204とを備え、これらは、それぞれ外部メモリ111にファイルとして保存されたプログラムモジュールである。これらのモジュールは、OSやそのモジュールを利用するモジュールによってRAM102にロードされて実行される。
アプリケーション201及びプリンタドライバ203は、FD、不図示のCD−ROM等の外部メモリ111から、又は後述するネットワーク301(図3)を介して接続された外部機器から、ハードディスク(HD)等の外部メモリ111に追加される。
外部メモリ111に保存されているアプリケーション201は、CPU101によってRAM102にロードされて実行される。このアプリケーション201からプリンタ1500に対して印刷を行わせる際には、同様にCPU101によってRAM102にロードされて実行されるグラフィックスエンジン202を利用して出力(描画)を行う。
グラフィックスエンジン202は、印刷装置毎に用意されたプリンタドライバ203を起動する。これにより、プリンタドライバ203は、CPU101によって外部メモリ111からRAM102にロードさせて実行される。グラフィックスエンジン202は、このプリンタドライバ203を用いて、アプリケーション201から出力された印字命令や描画命令をPDLによるプリンタ制御命令に変換する。
プリンタドライバ203により変換されたプリンタ制御コマンドは、プリントサブシステム204を経由して、データ転送経路121を介してプリンタ1500に出力される。
プリントサブシステム204は、OSによって起動されて、CPU101によって外部メモリ111からRAM102にロードされて実行されるものであり、印刷ジョブのスケジューリング、ホストコンピュータ3000とプリンタ1500との接続制御、及びプリンタ1500のステータスの管理を行う。
尚、プリンタドライバ203は、前述した、アプリケーション201から出力された印字命令や描画命令をプリンタ制御命令に変換し、プリント出力に反映されるようプリンタに指示する機能に加えて、プリンタドライバ203やプリンタ1500が有する機能を制御するための設定を行う機能(以下、「ユーザインタフェース(UI)」という。)、その設定を記憶する機能、プリンタドライバ203やプリンタ1500が有する機能の情報をアプリケーション201やOSに提供する機能、UIで設定された機能がプリンタ1500が有する機能である場合にプリンタ制御命令を生成する機能、及び、UIで設定された機能がプリンタドライバ203独自で行う機能である場合にその機能を実現する機能等を有する。
図3は、図1におけるホストコンピュータ3000及びプリンタ1500が適用された印刷システムの構成を示すブロック図である。
図3において、印刷システムは、複数のホストコンピュータ3000、プリンタ1500、及びプリントサーバコンピュータ4000を有し、これらはネットワーク301を介して互いに接続されている。
ネットワーク301に接続されたホストコンピュータ3000の通信I/Fコントローラ108は、ネットワークインタフェースカード(NIC)の機能を有するものとする。
プリンタ1500は、セントロニクスやUSB等のローカルインタフェース302を介してプリントサーバコンピュータ4000と接続されて該プリントサーバ4000を介してネットワーク301に接続される形態であってもよく、ネットワーク301に直接接続される形態であってもよい。ネットワーク301に直接接続されたプリンタ1500の入力部118は、ネットワークインタフェースカード(NIC)の機能を有するものとする。
ホストコンピュータ3000は、プリントサーバコンピュータ4000を介してネットワーク301に接続されたプリンタ1500に印刷ジョブを送信する場合、まず、プリントサブシステム204を介して、プリントサーバコンピュータ4000へ印刷ジョブを送信する。プリントサーバコンピュータ4000は、ホストコンピュータ3000から送信されてきた印刷ジョブを、プリントサーバコンピュータ4000上の不図示のプリントサブシステムを介して、プリンタ1500に送信する。
また、ホストコンピュータ3000は、ネットワーク301に直接接続されたプリンタ1500に印刷ジョブを送信する場合、プリントサブシステム204を介して、プリンタ1500に直接印刷ジョブを送信する。
図4は、図2のホストコンピュータ3000によって実行される印刷制御処理の基本的な流れを示す図である。
図4において、アプリケーション201は、直接プリンタドライバ203と情報の送受信を行うのではなく、OSが有するグラフィックスエンジン202を介してプリンタドライバ203と情報の送受信を行う。グラフィックスエンジン202は、アプリケーション201から指示を受け、プリンタドライバ203に対して指示を行う。
まず、アプリケーション201は、片面/両面印刷設定や部数設定等の印刷設定情報をRAM102に確保されたメモリを介してグラフィックスエンジン202に通知し、プリンタドライバ203は、グラフィックスエンジン202より、その印刷設定情報と、その印刷設定情報に基づいてプリンタドライバ203が印刷処理を行う上で必要な情報(プリンタドライバ情報)を格納するためにRAM102上に確保されたメモリ領域の初期化要求とを受信する(ステップS401)。これにより、プリンタドライバ203は、プリンタドライバ情報を保持するメモリ領域を確保し、印刷設定情報に従ってそのメモリ領域を初期化する。
プリンタドライバ203は、プリンタドライバ203が参照するプリンタドライバ情報を保持するメモリ領域の初期化要求の受信により必要な処理を完了すると、ステップS401で受信した印刷設定情報に応じたプリンタドライバ203の印刷能力情報をグラフィックスエンジン202に通知する。アプリケーション201は、グラフィックスエンジン202より、最終的にプリンタ1500に送信される印刷ジョブとその印刷ジョブに反映させる印刷設定情報とを関連付けるために必要なハンドル値を取得する(ステップS402)。
次に、アプリケーション201が、印刷の開始要求をグラフィックスエンジン202に行うと、プリンタドライバ203は、グラフィックスエンジン202より印刷開始要求を受信する(ステップS403)。これにより、プリンタドライバ203は、プリンタ1500が印刷を開始するために必要なPDLによるプリンタ制御命令を生成する。尚、プリンタ制御命令を生成する処理は、最初のページ(1ページ目)の印刷処理が開始された時点、即ち、アプリケーションからの最初のページの描画指示を受信した時点で行ってもよい。
アプリケーション201は、文字やイメージ等の描画オブジェクトの描画を実現するための描画指示をグラフィックスエンジン202に対して行うと、プリンタドライバ203は、その描画指示をグラフィックスエンジン202より受信する(ステップS404)。これにより、プリンタドライバ203は、指定された描画オブジェクトや改ページ、更には印刷設定情報を途中で変更するための要求等を含む描画指示を反映したプリンタ制御命令を適宜生成し、生成したプリンタ制御命令をプリンタ1500に出力する。尚、印刷するページ数はアプリケーション201からの指定に因る。
次に、アプリケーション201が、印刷終了要求をグラフィックスエンジン202に行うと、プリンタドライバ203は、グラフィックスエンジン202より印刷終了要求を受信する(ステップS405)。これにより、プリンタドライバ203は、プリンタ1500が印刷終了に必要なプリンタ制御命令を生成し、プリンタ制御命令の生成処理を終了する。
次に、アプリケーション201は、ステップS402で取得したハンドル値の破棄要求をグラフィックスエンジン202に通知し、プリンタドライバ203は、グラフィックスエンジン202より、メモリ領域格納されたプリンタドライバ情報の破棄要求を受信する。これにより、プリンタドライバ203は、上記プリンタドライバ情報の破棄処理を行う(ステップS406)。
上記ステップS403〜S405の処理により、プリンタ1500に送信される1つの印刷ジョブが生成される。
図5は、図2におけるプリンタドライバ203の構成を詳細に示す図である。
図5において、プリンタドライバ203は、アプリケーション201からの印刷データを一旦中間コードデータでスプールする構成を有し、一旦スプールした中間コードデータの内容に対して加工することができる。これにより、アプリケーション201からの印刷データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーション201が有していない機能を実現することができる。
尚、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM102上又は外部メモリ111上に保管する。
まず、グラフィックスエンジン202からの印刷命令であるDDI関数をディスパッチャ501が受け取る。ディスパッチャ501がグラフィックスエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックスエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ501は外部メモリ111に格納されている内部スプール処理モジュールであるスプーラ503をRAM102にロードし、通常の印字データ作成処理部507ではなくスプーラ503へ印刷命令(DDI関数)を送付する。
スプーラ503は、受け取った印刷命令を解析し、ページ単位に中間コードデータに変換してスプールファイル504に保存する。このページ単位に保存されている中間コードデータのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。
また、スプーラ503は、プリンタドライバ203に対して設定されている製本印刷、Nup、両面、ステイプル、カラー/モノクロ指定等の印刷データに関する、後述する図15の加工設定情報をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル504に保存する。このジョブ単位に保存されている加工設定情報のスプールファイルをジョブ設定ファイル(SDF:Spool Description File)と呼ぶ。
尚、スプールファイル504は外部メモリ111上にファイルとして生成されるが、RAM102上に生成されても構わない。
スプーラ503は、外部メモリ111に格納されているスプールファイルマネージャ505をRAM102にロードし、スプールファイルマネージャ505に対してスプールファイル504の生成状況を通知する。その後、スプールファイルマネージャ505は、スプールファイル504に保存された印刷データに関する加工設定情報の内容に従って印刷を行えるか否かを判断する。
スプールファイルマネージャ505がグラフィックスエンジン202を利用して印刷を行えると判断した際には、外部メモリ111に格納されているデスプーラ506をRAM102にロードし、デスプーラ506に対して、スプールファイル504に記述された中間コードデータのページ描画ファイルの印刷処理を行うように指示する。
デスプーラ506はスプールファイル504に含まれる中間コードデータのページ描画ファイルを、スプールファイル504に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックスエンジン202にGDI関数を出力する。
ディスパッチャ501が、グラフィックスエンジン202から受け取った印刷命令(DDI関数)がデスプーラ506からグラフィックスエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ501はスプーラ503ではなく、プリンタドライバの通常の印字データ作成処理部507に印刷命令を送る。プリンタドライバ203は、グラフィックスエンジン202から取得したDDI関数に基づいてPDL等からなるプリンタ制御命令を生成し、生成したプリンタ制御命令をプリントサブシステム204を経由してプリンタ1500に出力する。
本発明では、主にデスプーラ506がスプールファイルマネージャ505から印刷開始要求を受け付けた際の処理に機能が追加される。
図6は、CPU101が図5におけるプリンタドライバ203を利用して実行する印刷制御処理のフローチャートである。
図6において、デスプーラ506は、スプールファイルマネージャ505から印刷開始要求を受け付けると、スプールファイル504に保存された印刷データに関する加工設定情報に含まれるステイプル有無の情報を参照して、ステイプル印刷が設定されているか否かを判別する(ステップS701)。
ステップS701の判別の結果、ステイプル有無の情報がOFFであり、ステイプル印刷が設定されていないときは、スプールファイル504に保存された印刷データに関する加工設定情報(図15)に基づいて通常印刷を行い(ステップS710)、本処理を終了する。
ステップS701の判別の結果、ステイプル有無の情報がONであり、ステイプル印刷が設定されているときは、スプールファイル504に保存されている中間コードのページ描画ファイルから、改ページ情報(例えば、DrvSendPage DDI)をキーにして論理ページ数をカウントすることにより、印刷ページ数(論理ページ数)を計算する(ステップS702)。計算された総論理ページ数の情報は、RAM102(図16)上に記憶される。
次に、図14のステイプル許容枚数テーブルをRAM102上に展開し、スプールファイル504に保存された印刷データに関する加工設定情報のフィニッシャ名称、用紙サイズ、及び用紙タイプの情報をキーに、ステイプル許容枚数テーブルからステイプル許容枚数の情報を検索して取得し、当該ステイプル許容枚数の情報をRAM102上に記憶する(ステップS703)。
次に、スプールファイル504に保存された加工設定情報から、合紙の挿入位置(論理ページ番号)の情報を取得する(ステップS704)。合紙の挿入位置の情報は、図17のドライバUI1600上の挿入位置設定部1601でユーザにより設定され、挿入位置(論理ページ番号)として加工設定情報に記憶されている。
次に、スプールファイル504に保存された印刷データに関する加工設定情報から、両面印刷設定及びNup設定の情報を取得し、当該情報をRAM102上に記憶する(ステップS705、S706)。
次に、後述する図8の物理ページ数算出処理を実行して、RAM102上に記憶された両面印刷設定、Nup設定、合紙の挿入位置、及び印刷データの論理ページ数の情報に基づいて、総物理ページ数を算出してRAM102上に記憶し(ステップS707)、ステップS703で取得されたステイプル許容枚数の情報とステップS707で算出された総物理ページ数の情報とを比較して、総物理ページ数がステイプル許容枚数に収まるか否かを判別する(ステップS708)。
ステップS708の判別の結果、総物理ページ数がステイプル許容枚数に収まるときは、スプールファイル504に保存された印刷データに関する加工設定情報に基づいて通常印刷を行い(ステップS710)、本処理を終了する。
ステップS708の判別の結果、総物理ページ数がステイプル許容枚数に収まらないときは、後述する図7の印刷レイアウト制御処理を実行して、図18のドライバUI1700上で設定された両面印刷可否設定及び最大Nup設定に基づいて、最適な印刷体裁を自動的に判断して適用し(ステップS709)、本処理を終了する。
図7は、図6のステップS709の印刷レイアウト制御処理のフローチャートである。
本処理は、CPU101が、不図示のドライバUI上にてユーザに指定された印刷設定(両面印刷設定、Nup設定)に基づき、印刷データを加工しても物理ページ数がステイプル許容枚数に収まらない場合に、図18のドライバUI1700上で設定された両面印刷可否設定及び最大Nup設定に基づき、最適な印刷設定を自動的に適用する処理である。
図7において、RAM102上に記憶されている両面印刷設定が、片面印刷から両面印刷に変更可能であるか否かを判別する(ステップS720)。ステップS720では、図18の「両面印刷を適用する」のチェックボックス1702にチェックされていると共に、RAM102上に記憶されている両面印刷設定がOFFであれば、片面印刷から両面印刷に変更可能であると判断し、図18の「両面印刷を適用する」のチェックボックス1702がチェックされていないか、又は、RAM102上に記憶されている両面印刷設定が既にONであれば、片面印刷から両面印刷に変更可能でないと判断する。
ステップS720の判別の結果、RAM102上に記憶されている両面印刷設定が、片面印刷から両面印刷に変更可能であるときは、図6のステップS705においてRAM102上に記憶した両面印刷設定を両面に変更し(ステップS721)、ステップS724に進む。
ステップS720の判別の結果、RAM102上に記憶されている両面印刷設定が、片面印刷から両面印刷に変更可能でないときは、図18の最大Nup設定部1701において設定された最大Nup設定と、RAM102上に記憶されているNup設定とを比較して、RAM102上に記憶されているNup設定が、より縮小率の高いNup設定に変更可能か否かを判別する(ステップS722)。
ステップS722の判別の結果、RAM102上に記憶されているNup設定が、より縮小率の高いNup設定に変更可能であるときは、図6のステップS706においてRAM102上に記憶されているNup設定を縮小率の1段階高い設定に変更し(ステップS723)、ステップS724に進む。例えば、RAM102上に記憶されているNup設定が2upの場合は、4upに変更する。
ステップS722の判別の結果、RAM102上に記憶されているNup設定が、より縮小率の高いNup設定に変更可能でないときは、後述する図9及び図10のジョブ分割処理を実行して、合紙の挿入位置に基づいてジョブ分割を行い(ステップS725)、本処理を終了する。このジョブ分割処理を適用することによって、如何なるページ数のデータであっても確実にステイプル処理を行うことができる。
ステップS724では、後述する図8の物理ページ数算出処理を実行して、RAM102上に記憶された両面印刷設定、Nup設定、合紙の挿入位置、及び印刷データの論理ページ数の情報に基づいて、総物理ページ数を算出すると共に、レイアウト適用後の合紙の挿入位置(物理ページ番号)を再計算する。該処理において算出された総物理ページ数及び合紙の挿入位置(物理ページ番号)の情報は、RAM102上に記憶される。
次に、ステップS703でRAM102上に記憶したステイプル許容枚数の情報とステップS724で算出した総物理ページ数の情報とを比較して、総物理ページ数がステイプル許容枚数に収まるか否かを判別し(ステップS726)、総物理ページ数がステイプル許容枚数に収まらないときは、ステップS720以降の処理を繰り返す一方、総物理ページ数がステイプル許容枚数に収まるときは、RAM102上に記憶されている、変更されたレイアウト設定(両面印刷設定、Nup設定)及び合紙の挿入位置(物理ページ番号)の設定で印刷処理を実行し(ステップS727)、本処理を終了する。
図11は、図6の印刷レイアウト制御処理を説明する図であり、(a)は印刷レイアウト制御処理の実行前の印刷体裁を示し、(b)は印刷レイアウト制御処理の実行後の印刷体裁を示す。
図11(a)において、ホストコンピュータ3000上で作成した複数ページの印刷データ(ここでは19ページとする)と、該印刷データとは別に仕切り紙として合紙(ここでは3枚とする)とが指定されたとする。論理ページ数は21ページであり、ステイプル許容枚数(ここでは10枚とする)に収まらない。図6の印刷レイアウト制御処理を実行して、図11(b)に示すように、合紙を考慮して最適なNupを自動適用する。
図11(b)において、合紙にはNup印刷を適用せず(常に1up印刷)、印刷データに最適なNup印刷(ここでは4up印刷)を自動適用することにより、物理ページは9ページとなり、ステイプル許容枚数に収めることができる。
図8は、図7のステップS724の物理ページ数算出処理のフローチャートである。
本処理は、CPU101が、RAM102上に記憶されている、論理ページ数及び合紙の挿入位置(論理ページ番号)、両面印刷設定、Nup設定に基づき、総物理ページ数を計算する処理である。尚、合紙には常に1upを適用し、それ以外の印刷データは設定されたNup設定を適用するので、本処理は、合紙から次の合紙までの論理ページ数単位で行われる。
図8において、RAM102上に記憶されている、合紙の挿入位置(論理ページ番号)の情報に基づいて、次の合紙までの論理ページ数を算出する(ステップS730)。次の合紙が存在しない場合は、最終ページまでの論理ページ数を算出する。該処理で算出された論理ページ数は、RAM102上に記憶される。
次に、RAM102に記憶されている挿入位置(論理ページ番号)を参照することにより、ステップS730で算出された論理ページの先頭ページが合紙であるか否かを判別する(ステップS731)。尚、この判別により、先頭ページが合紙でないと判断されるケースは、初回に算出された論理ページに限定され、2回目以降の先頭ページは必ず合紙である。尚、RAM102に記憶されている合紙有無のON/OFFフラグ(図16)を参照し、合紙有無のフラグがONである場合にのみ、ステップS731で先頭ページが合紙であるか否かを判断してもよい。これにより、合紙有無のフラグがOFFであれば、ステップS731の処理を行うことなく先頭ページが合紙でないと判断するので、効率的に処理を行うことができる。
ステップS731の判別の結果、先頭ページが合紙であるときは、スプールファイル504に含まれる加工設定情報の合紙への印刷設定の情報(印字なし/表面のみ/裏面のみ/両面)に基づいて、合紙に印刷を行うか否かを判別する(ステップS732)。合紙への印刷設定の情報は、図17の印刷面設定部1602でユーザにより設定され、加工設定情報に記憶される。
ステップS732の判別の結果、合紙に印刷を行わないときは、ステップS734に進む一方、合紙に印刷を行うときは、スプールファイル504に含まれる加工設定情報の合紙への印刷設定(表面のみ/裏面のみ/両面)に基づいて、論理ページ数を調整し(ステップS733)、ステップS734に進む。
ステップS733の論理ページ数の調整は、以下のように行う。加工設定情報に「表面のみ」又は「裏面のみ」が記憶されている場合は、ステップS730にてRAM102上に記憶されている論理ページ数から1マイナスする。加工設定情報に「両面」が記憶されている場合は、ステップS730にてRAM102上に記憶されている論理ページ数から2マイナスする。ただし、ステップS730で算出された論理ページ数が1ページである場合は1をマイナスする。
ステップS734では、RAM102上に記憶されている、これまでに加算した総物理ページ数に、今回の合紙のページ数を加算し、ステップS735に進む。初回は0に加算することになる。尚、本処理では、合紙から次の合紙までの論理ページ単位で処理するため、合紙のページ数は常に1ページに限定される。
ステップS735では、RAM102上に記憶されている両面印刷設定及びNup設定に基づいて、合紙以外の物理ページ数を計算する。ここでは、RAM102上には、ステップS733により合紙の論理ページ数は調整済みのため、RAM102上に記憶されている論理ページ数に基づき、以下の計算式で物理ページ数を算出すればよい。計算された物理ページ数は、RAM102上に記憶されている総物理ページ数に加算される。
面数=(論理ページ数+Nup−1)/Nup(少数点以下切り捨て)
物理ページ数=(面数+Dup−1)/Dup(少数点以下切り捨て)
尚、「Nup」には、Nup設定のNに相当する値(1,2,4,6,8,9,16)が代入され、「Dup」には、片面印刷設定であれば1、両面印刷設定であれば2が代入される。
図11を例に、物理ページの算出方法を記載する。図11(a)において、合紙挿入位置は論理ページの5ページ目であるので、合紙以外の論理ページ数は4である。4up、両面印刷なし、合紙印刷なしと設定した場合、上記計算式により、
面数=(4+4−1)/4(少数点以下切り捨て)=1
物理ページ数=(1+1−1)/1(少数点以下切り捨て)=1
となる。
次に、合紙の挿入位置情報を、論理ページ番号から物理ページ番号に変換することにより、合紙の挿入位置(物理ページ番号)を再計算する(ステップS736)。該処理は、合紙が存在する場合のみ行なわれる。ここで再計算された挿入位置(物理ページ番号)の情報は、RAM102上に記憶される(図16)。
図11(b)の例では、合紙の挿入位置の論理ページ番号は5であるが、合紙以外の物理ページ数が1であるので、合紙の挿入位置の物理ページ番号は2となる。
次に、全論理ページに対してステップS730〜ステップS736の処理が完了したか否を判別し(ステップS737)、全論理ページに対して該処理が完了していないときは、ステップS730に戻り、次の合紙から合紙の論理ページに対して該処理を繰り返し行う一方、全論理ページに対して該処理が完了したときは、本処理を終了する。
図9及び図10は、図7のステップS725のジョブ分割処理のフローチャートである。
本処理は、図18のドライバUI1700にて設定される両面印刷可否設定及び最大Nup設定を適用しても、物理ページ数がステイプル許容枚数に収まらない場合に、RAM102上に記憶されている合紙の挿入位置に基づいてステイプル分割位置を調整し、印刷データを最適なステイプル枚数に分割して出力する処理である。
図9及び図10において、RAM102上に記憶されている合紙の挿入位置(物理ページ番号)を基に、最初の合紙ページの挿入位置の情報を取得し(ステップS740)、ステップS740で取得した情報に基づいて、合紙があるか否かを判別し(ステップS741)、合紙があるときは、ステップS742に進む一方、合紙が無いときは、ステップS743に進む。
ステップS743では、最終ページまでの物理ページ数の情報を取得し、当該情報をRAM102上に加算後の物理ページ数として記憶し、ステップS754に進む。
ステップS742では、合紙まで(合紙を含まない)の物理ページ数を取得し、当該物理ページ数の情報をRAM102上に加算後の物理ページ数として記憶し、ステップS742にてRAM102上に記憶した物理ページ数が、同様にRAM102上に記憶されているステイプル許容枚数に収まるか否かを判別する(ステップS744)。
ステップS744の判別の結果、物理ページ数がステイプル許容枚数に収まるときは、ステップS745に進む一方、物理ページ数がステイプル許容枚数に収まらないときは、ステップS754に進む。
ステップS745では、次の合紙のページ情報を取得し、ステップS745で取得した次の合紙のページ情報に基づいて、次の合紙があるか否かを判別し(ステップS746)、次の合紙がないときは、最終ページまでの物理ページ数の情報を取得する(ステップS747a)一方、次の合紙があるときは、次の合紙までの物理ページ数の情報を取得する(ステップS747b)。ステップS747a又はS747bの処理で取得された情報は、RAM102上に物理ページ数として記憶される(図16)。
次に、ステップS747a又はS747bで取得した物理ページ数を、RAM102上に記憶されている加算後の物理ページ数に加算する(ステップS748)。初回は0に加算することとする。
次に、ステップS748でRAM102上に記憶された加算後の物理ページ数が、RAM102上に記憶されているステイプル許容枚数に収まるか否かを判別し(ステップS749)、加算後の物理ページ数がステイプル許容枚数に収まるときは、ステップS750に進む一方、加算後の物理ページ数がステイプル許容枚数に収まらないときは、ステップS751に進む。
ステップS750では、最終ページまで物理ページ数の情報の取得が完了しているか否かを判別し、最終ページまで物理ページ数の取得が完了していないときは、ステップS745の処理に戻り、次の合紙までの物理ページ数の情報を取得する。
ステップS750の判別の結果、最終ページまで物理ページ数の情報の取得が完了しているときは、RAM102上に記憶されている両面印刷設定及びNup設定に基づき、RAM102上に記憶されている加算後の物理ページ数に対応する印刷データから1つのジョブを生成してプリンタ1500に印刷指示を行い、RAM102上に記憶された加算後の物理ページ数を0に初期化し(ステップS753)、ステップS755に進む。
ステップS751では、RAM102上に記憶されている加算後の物理ページの途中に合紙が存在するか否かを判別し、加算後の物理ページの途中に合紙が存在するときは、ステップS752に進む一方、加算後の物理ページの途中に合紙が存在しないときは、ステップS754に進む。
ステップS752では、RAM102上に記憶されている両面印刷設定及びNup設定に基づき、ステップS748で物理ページを加算する前までの物理ページ数に対応する印刷データから1つのジョブを生成してプリンタ1500に印刷指示を行い、RAM102上に記憶された加算後の物理ページ数を0に初期化し、ステップS748に戻る。
ステップS754では、図13(c)に示すように、物理ページ数を均等分割し、RAM102上に記憶されている両面印刷設定及びNup設定に基づいて、分割した物理ページ数に対応する印刷データから複数のジョブを生成してプリンタ1500に印刷指示を行い、ステップS755に進む。
この均等分割は、例えば、以下の計算式で行なわれる。
ジョブ分割数=(物理ページ数+ステイプル許容枚数−1)/ステイプル許容枚数(少数点以下切り捨て)
分割ページ数=物理ページ数/ジョブ分割数
余りページ数=物理ページ数%ジョブ分割数
物理ページ数を分割ページ数のジョブに分割し、ジョブ分割数分のジョブを生成して印刷を行う。ただし、余りページ数が存在する場合には、余りページ数分のジョブは、分割ページ数+1ページとなる。
例えば、物理ページ数が33枚、ステイプル許容枚数が10枚の場合は、9ページ、8ページ、8ページ、8ページの4つのジョブに分割する。
尚、分割する際には、ジョブとジョブの間に合紙を挿入するように設定可能に構成されてもよい。この場合、合紙を挿入した後に、再度合紙を挿入した際の物理ページを計算することにより、合紙が挿入されてもステイプルできるようにする。
ステップS755では、全ての物理ページに対して処理が完了したか否かを判別し、全ての物理ページに対して処理が完了していないときは、ステップS745に戻り、次の合紙までの物理ページ数の取得を行う一方、全ての物理ページに対して処理が完了しているときは、本処理を終了する。
ステップS752、S753、S754において、プリンタ1500に印刷指示を行うと、印刷指示を受けたプリンタ1500は、受信した印刷指示、例えば描画命令や印刷制御命令(両面印刷設定情報やステイプル印刷設定情報等)に基づいて、用紙に印刷を行う。
尚、印刷される際には図12の(b)のように、分割された印刷データごとにステイプル処理される。
図12は、図9及び図10のジョブ分割処理を説明する図であり、(a)はジョブ分割処理の実行前の印刷体裁を示し、(b)はジョブ分割処理の実行後の印刷体裁を示す。
図12(a)において、両面印刷及び最大Nup設定(ここでは両面なし、4up印刷とする)を適用した結果、ステイプル許容枚数の10枚に収まっていないとする。図9及び図10のジョブ分割処理を実行して、合紙の挿入位置に基づいて分割位置を調整して、複数のジョブに分割することにより、図12(b)に示すように、各ジョブの物理ページ数をステイプル許容枚数に納めることができる。
図13は、図9及び図10のステップS754の均等分割を説明する図であり、(a)は均等分割前の印刷体裁を示し、(b)は均等に分割しない場合の印刷体裁を示し、(c)は均等分割後の印刷体裁を示す。
図13(a)において、最大Nup印刷を適用しても、合紙から次の合紙までの物理ページ数がステイプル許容枚数を超えていたとする。この場合に単純にステイプル許容枚数で分割すると,図13(b)に示すように、1ページだけ孤立してしまい、1ページのみステイプルされないといった不具合が発生する。図9及び図10のステップS754の均等分割を行い、分割位置を調整することにより、図13(c)に示すように、最適な印刷体裁で且つ確実にステイプル印刷を行うことができる。
本実施の形態によれば、RAM102上に記憶された両面印刷設定、Nup設定、合紙の挿入位置、及び印刷データの論理ページ数の情報に基づいて物理ページ数を算出し、物理ページ数がステイプル許容枚数に収まらないときは、両面印刷設定及び最大Nup設定を適用し、両面印刷設定及び最大Nup設定を適用しても物理ページ数がステイプル許容枚数に収まらないときは、合紙の挿入位置に基づいてジョブ分割を行うので、ステイプル許容枚数超過による不具合を回避すると共に、適切な印刷体裁で用紙をステイプルすることができる。これにより、不正な印刷物の発生によるコストや時間の無駄を省くと同時に、手動で最適な設定を行う場合にユーザに掛かる負荷を解消することができる。
尚、本実施の形態における各種テーブルの構成及びその内容は限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは云うまでもない。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。例えば、本発明は、複数の機器から構成されるシステムに適用してもよく、一つの機器からなる装置に適用してもよい。
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
又、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
本発明の実施の形態に係る印刷システムの構成を示すブロック図である。 図1におけるホストコンピュータのソフトウェア構成を示すブロック図である。 図1におけるホストコンピュータ及びプリンタが適用された印刷システムの構成を示すブロック図である。 図2のホストコンピュータによって実行される印刷制御処理の基本的な流れを示す図である。 図2におけるプリンタドライバの構成を詳細に示す図である。 CPU101が図5におけるプリンタドライバ203を利用して実行する印刷制御処理のフローチャートである。 図6のステップS709の印刷レイアウト制御処理のフローチャートである。 図7のステップS724の物理ページ数算出処理のフローチャートである。 図7のステップS725のジョブ分割処理のフローチャートである。 図7のステップS725のジョブ分割処理のフローチャートである。 図6の印刷レイアウト制御処理を説明する図であり、(a)は印刷レイアウト制御処理の実行前の印刷体裁を示し、(b)は印刷レイアウト制御処理の実行後の印刷体裁を示す。 図9及び図10のジョブ分割処理を説明する図であり、(a)はジョブ分割処理の実行前の印刷体裁を示し、(b)はジョブ分割処理の実行後の印刷体裁を示す。 図9及び図10のステップS754の均等分割を説明する図であり、(a)は均等分割前の印刷体裁を示し、(b)は均等に分割しない場合の印刷体裁を示し、(c)は均等分割後の印刷体裁を示す。 図1における外部メモリに保存されたステイプル許容枚数テーブルの一例を示す図である。 図5におけるスプールファイルに保存された加工設定情報の一例を示す図である。 図1におけるRAM上に記憶される情報の一例を示す図である。 図1におけるCRTに表示されるドライバUIの一例を示す図である。 図1におけるCRTに表示されるドライバUIの一例を示す図である。
符号の説明
101 CPU
102 RAM
103 ROM
111 外部メモリ
201 アプリケーション
202 グラフィックスエンジン
203 プリンタドライバ
204 プリントサブシステム
1500 プリンタ
3000 ホストコンピュータ

Claims (7)

  1. 印刷データを生成するプリンタドライバを備える印刷制御装置であって、
    アプリケーションからの印刷開始要求に応じて、プリンタドライバで印刷データを受信する印刷データ受信手段と、
    前記印刷データ受信手段で受信した印刷データに対応する前記プリンタドライバで設定された合紙の挿入ページを指定する合紙ページ情報とステイプル設定情報とを含む刷設定情報を取得する印刷設定情報取得手段と、
    前記印刷設定情報取得手段で取得した印刷設定情報のステイプル設定情報に従ってステイプル設定がなされているか否かを判定するステイプル設定判定手段と、
    前記ステイプル設定判定手段で、ステイプル設定がなされていると判定される場合に、前記印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第1の算出手段と、
    前記第1の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第1の枚数判定手段と、
    前記第1の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第2の算出手段と、
    前記第2の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第2の枚数判定手段と、
    前記第2の枚数判定手段で、ステイプル許容枚数に収まると判定された場合に、前記合紙ページ情報に従って印刷データを分割する第1の分割手段と、
    前記第2の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、ステイプル許容枚数に収まる、且つ平均的な物理印刷枚数になるように、前記合紙ページ情報に従って分割される印刷データを複数の印刷データに分割する第2の分割手段と、
    を備えることを特徴とする印刷制御装置。
  2. 前記印刷設定情報は、印刷レイアウト情報を含み、
    前記第1の算出手段は、前記印刷データを前記印刷レイアウト情報に従ってレイアウト変更して印刷した場合の物理印刷枚数を算出し、
    前記第2の算出手段は、前記第1の枚数判定手段で、前記印刷レイアウト情報に従ってレイアウト変更して印刷した場合の物理印刷枚数がステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出することを特徴とする請求項1に記載の印刷制御装置。
  3. 前記第1の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、前記印刷レイアウト情報を変更するレイアウト情報変更手段と、
    前記印刷データを、前記レイアウト情報変更手段で変更した印刷レイアウト情報を含む印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第3の算出手段と、
    前記第3の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第3の枚数判定手段とを備え、
    前記第2の算出手段は、前記第3の算出手段で算出された物理印刷枚数がステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って前記印刷データを分割した印刷データを、前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出することを特徴とする請求項2に記載の印刷制御装置。
  4. 前記レイアウト情報変更手段で変更する印刷レイアウト情報は、前記プリンタドライバでユーザによって設定される1ページにレイアウトする最大ページ数であることを特徴とする請求項3に記載の印刷制御装置。
  5. 前記第3の算出手段で物理印刷枚数を算出するに際して、前記印刷レイアウト情報を含む印刷設定情報に従って印刷データのレイアウトを変更した場合の合紙を挿入する物理印刷ページを決定する決定手段とを備え、
    前記第2の算出手段で算出される物理印刷枚数は、前記決定手段で決定された合紙の物理印刷ページから算出することを特徴とする請求項3または4に記載の印刷制御装置。
  6. 印刷データを生成するプリンタドライバを備える印刷制御装置の印刷制御方法において、
    印刷データ受信手段が、アプリケーションからの印刷開始要求に応じて、プリンタドライバで印刷データを受信する印刷データ受信ステップと、
    印刷設定情報取得手段が、前記印刷データ受信ステップで受信した印刷データに対応する前記プリンタドライバで設定された合紙の挿入ページを指定する合紙ページ情報とステイプル設定情報とを含む刷設定情報を取得する印刷設定情報取得ステップと、
    ステイプル設定判定手段が、前記印刷設定情報取得ステップで取得した印刷設定情報のステイプル設定情報に従ってステイプル設定がなされているか否かを判定するステイプル設定判定ステップと、
    第1の算出手段が、前記ステイプル設定判定ステップで、ステイプル設定がなされていると判定される場合に、前記印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第1の算出ステップと、
    第1の枚数判定手段が、前記第1の算出ステップで算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第1の枚数判定ステップと、
    第2の算出手段が、前記第1の枚数判定ステップで、ステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第2の算出ステップと、
    第2の枚数判定手段が、前記第2の算出ステップで算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第2の枚数判定ステップと、
    第1の分割手段が、前記第2の枚数判定ステップで、ステイプル許容枚数に収まると判定された場合に、前記合紙ページ情報に従って印刷データを分割する第1の分割ステップと、
    第2の分割手段が、前記第2の枚数判定ステップで、ステイプル許容枚数に収まらないと判定された場合に、ステイプル許容枚数に収まる、且つ平均的な物理印刷枚数になるように、前記合紙ページ情報に従って分割される印刷データを複数の印刷データに分割する第2の分割ステップ
    を実行することを特徴とする印刷制御方法。
  7. 印刷データを生成するプリンタドライバを備える印刷制御装置に実行させるプログラムにおいて、
    前記印刷制御装置を
    アプリケーションからの印刷開始要求に応じて、プリンタドライバで印刷データを受信する印刷データ受信手段と、
    前記印刷データ受信手段で受信した印刷データに対応する前記プリンタドライバで設定された合紙の挿入ページを指定する合紙ページ情報とステイプル設定情報とを含む刷設定情報を取得する印刷設定情報取得手段と、
    前記印刷設定情報取得手段で取得した印刷設定情報のステイプル設定情報に従ってステイプル設定がなされているか否かを判定するステイプル設定判定手段と、
    前記ステイプル設定判定手段で、ステイプル設定がなされていると判定される場合に、前記印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第1の算出手段と、
    前記第1の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第1の枚数判定手段と、
    前記第1の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、前記合紙ページ情報に従って分割される印刷データを前記印刷設定情報に従って印刷した場合の物理印刷枚数を算出する第2の算出手段と、
    前記第2の算出手段で算出された物理印刷枚数が、ステイプル許容枚数に収まるか否かを判定する第2の枚数判定手段と、
    前記第2の枚数判定手段で、ステイプル許容枚数に収まると判定された場合に、前記合紙ページ情報に従って印刷データを分割する第1の分割手段と、
    前記第2の枚数判定手段で、ステイプル許容枚数に収まらないと判定された場合に、ステイプル許容枚数に収まる、且つ平均的な物理印刷枚数になるように、前記合紙ページ情報に従って分割される印刷データを複数の印刷データに分割する第2の分割手段
    して機能させることを特徴とするプログラム。
JP2004377773A 2004-12-27 2004-12-27 印刷制御装置、印刷制御方法及びプログラム Expired - Fee Related JP4356994B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004377773A JP4356994B2 (ja) 2004-12-27 2004-12-27 印刷制御装置、印刷制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004377773A JP4356994B2 (ja) 2004-12-27 2004-12-27 印刷制御装置、印刷制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2006185156A JP2006185156A (ja) 2006-07-13
JP4356994B2 true JP4356994B2 (ja) 2009-11-04

Family

ID=36738230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004377773A Expired - Fee Related JP4356994B2 (ja) 2004-12-27 2004-12-27 印刷制御装置、印刷制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4356994B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4924688B2 (ja) * 2009-10-09 2012-04-25 コニカミノルタビジネステクノロジーズ株式会社 印刷システム、印刷方法、および印刷制御装置
JP2013206158A (ja) * 2012-03-28 2013-10-07 Canon Inc 情報処理装置、情報処理方法、及びプログラム
JP6007607B2 (ja) * 2012-06-18 2016-10-12 株式会社リコー 画像形成装置及び画像形成方法、並びに、画像形成方法のプログラム及びそのプログラムを記憶した記憶媒体
JP6319185B2 (ja) * 2015-05-21 2018-05-09 京セラドキュメントソリューションズ株式会社 情報処理装置及びプリンタードライバー
JP7211162B2 (ja) * 2019-02-28 2023-01-24 ブラザー工業株式会社 プリンタ

Also Published As

Publication number Publication date
JP2006185156A (ja) 2006-07-13

Similar Documents

Publication Publication Date Title
US6580521B1 (en) Print control apparatus, print control method and memory medium
US7508410B2 (en) Printing apparatus and information processing apparatus, control method thereof, program, and storage medium
JP3805122B2 (ja) 情報処理装置及びその印刷設定方法及びコンピュータ読み取り可能なプリンタドライバプログラムが格納された記憶媒体
US7319539B2 (en) Information processing apparatus, control method for information processing apparatus, control program, and print system
US6509977B1 (en) Printing control system, printing control method and storage medium
US20020063878A1 (en) Print control apparatus and method
EP1274005A2 (en) Print control apparatus, printing method, and print control program
JPH1199722A (ja) 印刷制御装置及び印刷制御方法並びに記憶媒体
US7258497B2 (en) Tab paper 2-sided print method, tab paper 2-sided print program, computer readable storage medium program, and print control apparatus
US7477409B2 (en) Information processing apparatus, control method thereof, and computer-readable medium
US20100232910A1 (en) Information processing apparatus, information processing method, program, and storage medium
US6337961B2 (en) Print control method and apparatus, and printer
US7428072B2 (en) Printing control program, printing control method, printing system and information processing apparatus
EP1189134A2 (en) Information processing apparatus, printing system, and command generating method
US20030133158A1 (en) Print layout apparatus and method
US6632035B1 (en) Print control apparatus and method
JP4356994B2 (ja) 印刷制御装置、印刷制御方法及びプログラム
EP2256618B1 (en) Print control apparatus, print control method, and computer program
JP3667043B2 (ja) 情報処理システム、情報処理装置、及び印刷制御方法
JP2003228474A (ja) 情報処理装置および印刷制御装置および印刷システムおよびデータ処理方法および記憶媒体およびプログラム
US7764394B2 (en) Data processing apparatus, data processing method, and data processing program
JP2006172306A (ja) 情報処理装置および情報処理方法およびコンピュータ読み取り可能なプログラム
JP2008015563A (ja) 印刷制御装置および印刷制御方法およびプログラムおよび記録媒体
JP4539975B2 (ja) 印刷設定制御装置、その制御方法及びプログラム
JP4557149B2 (ja) 印刷制御方法及びそのプログラム、情報処理装置、並びに印刷システム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

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: 20090714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090803

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140814

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees