JP4054444B2 - 印刷制御装置及び印刷制御方法並びに記憶媒体 - Google Patents

印刷制御装置及び印刷制御方法並びに記憶媒体 Download PDF

Info

Publication number
JP4054444B2
JP4054444B2 JP19571498A JP19571498A JP4054444B2 JP 4054444 B2 JP4054444 B2 JP 4054444B2 JP 19571498 A JP19571498 A JP 19571498A JP 19571498 A JP19571498 A JP 19571498A JP 4054444 B2 JP4054444 B2 JP 4054444B2
Authority
JP
Japan
Prior art keywords
print
data
size
page
output
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 - Lifetime
Application number
JP19571498A
Other languages
English (en)
Other versions
JPH1199723A (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 Inc
Original Assignee
Canon 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 Inc filed Critical Canon Inc
Priority to JP19571498A priority Critical patent/JP4054444B2/ja
Priority to US09/123,328 priority patent/US6580521B1/en
Priority to EP98114211A priority patent/EP0895182B1/en
Priority to DE69839834T priority patent/DE69839834D1/de
Publication of JPH1199723A publication Critical patent/JPH1199723A/ja
Priority to US10/392,902 priority patent/US6922260B2/en
Application granted granted Critical
Publication of JP4054444B2 publication Critical patent/JP4054444B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0071Post-treatment of the composed image, e.g. compression, rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function
    • G06K2215/0088Collated printing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、印刷制御装置及び印刷制御方法並びに記憶媒体に係り、更に詳しくは、例えばパーソナルコンピュータ等の情報処理装置及びプリンタを備えたシステムで印刷を行う際に同一文書内に用紙サイズや向きが混在している場合、または、上記システムで拡大縮小印刷を行う場合等に好適な印刷制御装置及び印刷制御方法並びに記憶媒体に関する。
【0002】
【従来の技術】
従来、プリンタで印刷を行う際に1枚の用紙上に1ページの印刷データを印刷するのではなく、1枚の用紙上に複数ページ分の印刷データを縮小配置して印刷する技術がある。この種の印刷は、Nページ印刷或いはNup印刷と呼ばれており、推敲やレイアウト確認等を目的とした文書の試し刷りを行う場合、出力用紙を少なくしたい場合、フォントサイズやレイアウトといった印刷体裁を変えて印刷したいような場合等、さまざまな用途に利用されている。
【0003】
また、この種の従来システムで拡大縮小印刷を行う場合、ホストコンピュータ上で解像度を操作し印刷データの拡大縮小を行うか、または、印刷装置が前記機能を有するときは印刷装置自体が印刷データの拡大縮小を行うのが一般的であった。
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来技術においては下記のような問題があった。即ち、従来のNページ印刷では、全てのページサイズ、ページ向きが同じであるような文書を印刷することを想定している。このため、複数のページサイズやページ向きが混在しているような文書をNページ印刷しようとすると、同一用紙にNページ分印刷していないにも関わらず、ページサイズが変わった所で排紙してしまうという問題がある。
【0005】
また、実現方法によっては途中で排紙しないようなNページ印刷方法もあるが、この場合は、用紙サイズが変わったことによって、印刷データが印刷領域からはみ出してしまったりするという問題がある。
【0006】
また、従来のシステムにおいては、上述した如く、拡大縮小印刷を行う場合、ホストコンピュータ上で解像度を操作し印刷データの拡大縮小を行うか、または、印刷装置が前記機能を有するときは印刷装置自体が印刷データの拡大縮小を行うのが一般的であったので、前者の場合は、アプリケーションがその解像度で印刷データを再構築するため、文書の出力形態が変わってしまうことがあるという欠点があった。
【0007】
また、後者の場合は、印刷装置自体が上記機能を有していなければ、拡大縮小印刷を行うことができないという欠点があった。
【0008】
更に、従来のシステムにおいては、拡大縮小印刷を行う際、用紙の適正な位置に印字を行うという考慮がなされていないという問題があった。更にまた、従来のシステムが複数の論理ページ(アプリケーションで扱われるページ)を1枚の物理ページ(実際に印刷出力されるページ)に印刷することが可能な機能を有する場合、当該印刷において印刷データを正確に用紙の左右、上下対称な位置に印刷することが考慮されていないという問題があった。
【0009】
本発明は、上述した点に鑑みなされたものであり、同一文書内に用紙サイズや用紙向きが混在しているような場合でも、途中で排紙したり印刷領域からはみ出してしまうことなく、用紙サイズや用紙向きが混在していない文書に近い出力結果を得ること等を可能とした印刷制御装置及び印刷制御方法並びに記憶媒体を提供することを目的とする。
【0011】
また、従来のNup印刷機能、自動レイアウト機能のないプリンタに対応するプリンタドライバ部分、つまりグラフィックエンジン(例えばGDI(Graphical Device Interface))が出力したDDI(Device Driver Interface)関数からPDL(Page Description Language)を生成する部分を新たに制作することなしに、複数種類の用紙(例えば、用紙サイズや用紙向きなど)が混在した印刷データにおけるNup印刷を行えるよう制御することを可能とする印刷制御装置及び印刷制御方法並びに記憶媒体を提供することを目的としている。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本願の第1の発明は、印刷対象用紙のレイアウトを行うことにより印刷装置で印刷される印刷データを生成するホストコンピュータとしての印刷制御装置であって、任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取り、加工対象となる中間データとしてスプールファイルを生成するスプーラ手段と、前記生成されたスプールファイルに対して、論理ページ単位に縦サイズと横サイズを取得する取得手段と、物理ページをN(N:自然数)分割して、同一の面積であり、かつ、同一の縦横比となるN個の印刷領域を決定する領域決定手段と、該各印刷領域の縦サイズと横サイズ、および、前記取得手段で取得された論理ページ毎の縦サイズと横サイズと論理ページのページ順とに基づいて、論理ページ毎に、物理ページにおける論理ページの縦サイズと横サイズとを示すサイズ情報と、物理ページ上における位置を示す位置情報とを含む影響情報を決定する決定手段と、前記決定手段で決定された影響情報の内容に従って、前記領域決定手段で決定された各印刷領域に、前記スプールファイルの各論理ページ内の描画データの物理ページにおける位置とサイズを計算し、計算処理された描画データを生成して、前記グラフィックエンジンに再度出力する再出力手段と、前記再出力手段により出力された計算処理済みの描画データを前記グラフィックエンジンから受け取り、前記印刷装置で印刷される印刷データを生成する印刷データ生成手段とを備え、前記決定手段は、前記サイズ情報を決定する際、同一物理ページに配置される第1論理ページに設定された用紙向きと第2論理ページに設定された用紙向きとが異なる場合に、前記第1論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第1拡大縮小率を算出し、当該第1拡大縮小率を用いて第1論理ページの縦サイズおよび横サイズを決定し、かつ、前記第2論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第2拡大縮小率を算出し、当該第2拡大縮小率を用いて第2論理ページの縦サイズおよび横サイズを決定することを特徴とし、任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取った場合に、前記スプーラ手段に当該描画データを振り分け、前記再出力手段により出力された計算処理済みの描画データを前記グラフィックエンジンから受け取った場合に、前記印刷データ生成手段に当該計算処理済みの描画データを振り分ける振り分け手段を更に備えることを特徴とする。
【0013】
また、前記スプールファイルでスプールされた中間データの生成状況を監視して、該中間データに基づく印刷処理が可能であるかを判断する判断手段を更に備え、前記再出力手段は、Nページ分の論理ページの中間データのスプールファイルが生成されており、前記判断手段により印刷処理が可能であると判断される場合に、計算処理した描画データを前記グラフィックエンジンに再度出力することを特徴とする。
【0014】
また、任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取った場合に、前記スプーラ手段に当該描画データを振り分け、前記再出力手段により出力された計算処理済みの描画データを前記グラフィックエンジンから受け取った場合に、前記印刷データ生成手段に当該計算処理済みの描画データを振り分ける振り分け手段を更に備えることを特徴とする。
【0016】
上記目的を達成するため、本発明のその他の解決手段は、上記装置を制御する方法、もしくは上記装置を制御するためのコンピュータ読み取り可能なプログラムが格納された記憶媒体において実現する。
【0072】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【0073】
〔1〕第1の実施の形態
先ず、第1の実施の形態に係るプリンタ制御システムの構成を図1のブロック図を参照して説明する。尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN(Local Area Network:ローカルエリアネットワーク)、WAN(Wide Area Network:広域ネットワーク)等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用することができることは言うまでもない。
【0074】
また、本発明を適用可能な実際の商品の形態としては、FD(Fllopy Disk)、CD−ROM(Compact Disk ROM)、インターネットWebサイト、Nifty Serve等のBBS(Bulletin Board System:コンピュータを利用したメッセージ交換システム)を挙げることができる。即ち、プリンタ制御システムに対して本発明のプログラムをFDやCD−ROMから供給し、また、プリンタ制御システムをインターネットやNifty Serveに接続することが可能である。
【0075】
第1の実施の形態に係るプリンタ制御システムは、ホストコンピュータ3000とプリンタ1500とから構成されている。ホストコンピュータ3000は、CPU1と、RAM2と、ROM3と、キーボードコントローラ(KBC)5と、CRTコントローラ(CRTC)6と、ディスクコントローラ(DKC)7と、プリンタコントローラ(PRTC)8と、キーボード(KB)9と、CRTディスプレイ(CRT)10と、外部メモリ11とを備えている。また、プリンタ1500は、CPU12と、RAM19と、ROM13と、入力部18と、印刷部インタフェース(I/F)16と、メモリコントローラ(MC)20と、印刷部17と、操作部1501と、外部メモリ14とを備えている。
【0076】
先ず、ホストコンピュータ3000各部の構成を詳述すると、CPU1は、システムバス4に接続された各デバイスを総括的に制御する中央処理装置であり、ROM3のプログラム用ROM3b(後述)或いは外部メモリ11に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行する。また、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRTディスプレイ10上でのWYSIWYG(What You See Is What You Get:CRTディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能)を可能としている。
【0077】
更に、CPU1は、CRTディスプレイ10上のマウスカーソル(図示略)等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはプリンタ1500を使用して印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタ1500の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【0078】
RAM2は、CPU1の主メモリ、ワークエリア等として機能する。ROM3は、フォント用ROM3aと、プログラム用ROM3bと、データ用ROM3cとを備えている。フォント用ROM3a或いは外部メモリ11は、上記文書処理の際に使用するフォントデータ等を記憶する。プログラム用ROM3b或いは外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステム(以下、OS)等を記憶する。データ用ROM3c或いは外部メモリ11は、上記文書処理等を行う際に使用する各種データを記憶する。
【0079】
キーボードコントローラ(KBC)5は、キーボード9やポインティングデバイス(図示略)からのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ10の表示を制御する。ディスクコントローラ(DKC)7は、外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インタフェース21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。キーボード9は、各種キーを備えている。
【0080】
CRTディスプレイ(CRT)10は、図形、イメージ、文字、表等を表示する。外部メモリ11は、ハードディスク(HD)、フロッピーディスク(FD)等から構成されており、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下、プリンタドライバ)等を記憶する。
【0081】
上述したCPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8は、コンピュータ制御ユニット2000上に配設されている。
【0082】
次に、プリンタ1500各部の構成を詳述すると、CPU12は、システムバス15に接続された各デバイスを総括的に制御する中央処理装置であり、ROM13のプログラム用ROM13b(後述)に記憶された制御プログラム等或いは外部メモリ14に記憶された制御プログラム等に基づいて、印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、CPU12は、入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ1500内の情報等をホストコンピュータ3000に通知できる構成となっている。
【0083】
RAM19は、CPU12の主メモリやワークエリア等として機能し、増設ポートに接続されるオプションRAM(図示略)によりメモリ容量を拡張することができるように構 成されている。尚、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。ROM13は、フォント用ROM13aと、プログラム用ROM13bと、データ用ROM13cとを備えている。フォント用ROM13aは、上記出力情報を生成する際に使用するフォントデータ等を記憶する。プログラム用ROM13bは、CPU12の制御プログラム等を記憶する。データ用ROM13cは、プリンタ1500にハードディスク等の外部メモリ14が接続されていない場合には、ホストコンピュータ3000上で利用される情報等を記憶する。
【0084】
入力部18は、双方向性インタフェース21を介してプリンタ1500とホストコンピュータ3000との間におけるデータの送受を行う。印刷部インタフェース(I/F)16は、CPU12と印刷部17との間におけるデータの送受を行う。メモリコントローラ(MC)20は、外部メモリ14のアクセスを制御する。印刷部17は、CPU12の制御に基づき印刷動作を行う。操作部1501は、各種操作のためのスイッチや表示手段(例えばLED表示器)等を備えている。
【0085】
外部メモリ14は、ハードディスク(HD)、ICカード等から構成されており、プリンタ1500にオプションとして接続される。外部メモリ14は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、メモリコントローラ(MC)20によりアクセスを制御される。尚、外部メモリ14は、1個に限らず複数個備えることが可能となっている。即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを、プリンタ1500に複数接続できるように構成されていてもよい。更に、NVRAM(図示略)を有し、操作部1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0086】
上述したCPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20は、プリンタ制御ユニット1000上に配設されている。
【0087】
図2はプリンタ等の印刷装置が直接接続、或いはネットワーク経由で接続されているホストコンピュータ3000における典型的な印刷処理の構成を示すブロック図である。図2において、アプリケーション201、グラフィックエンジン202、プリンタドライバ203、及びシステムスプーラ204は、上記図1の外部メモリ11に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。
【0088】
また、アプリケーション201及びプリンタドライバ203は、外部メモリ11のFDやCD−ROM或いはネットワーク(以上図示略)を経由して外部メモリ11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、該アプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
【0089】
グラフィックエンジン202は、印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取るGDI(Graphic Device Interface)関数からDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインタフェース21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
【0090】
第1の実施の形態に係るプリンタ制御システムは、上記図1及び図2で示すプリンタ1500とホストコンピュータ3000からなる印刷システムに加えて、更に図3に示す如くアプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【0091】
図3は上記図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル303を生成する構成を示したものである。上記図2のシステムでは、アプリケーション201が印刷処理から開放されるのは、プリンタドライバ203がグラフィックエンジン202からの全ての印刷命令をプリンタ1500の制御コマンドへ変換し終わった時点である。
【0092】
これに対して、図3のシステムでは、アプリケーション201が印刷処理から開放されるのは、スプーラ302が全ての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。また、図3で示すシステムにおいては、スプールファイル303の内容に対して加工することができる。これにより、アプリケーションからの印刷データに対して、拡大/縮小や、複数ページを1ページに縮小して印刷するNアップ印刷等、アプリケーションの持たない機能を実現することができる。
【0093】
これらの目的のために、上記図2のシステムに対し、図3の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。尚、印刷データの加工を行うためには、通常、プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM2上或いは外部メモリ11上に保管する。
【0094】
以下、図3の詳細を説明する。図示の如く、この拡張された処理方式では、グラフィックエンジン202からの印刷命令をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令の場合には、ディスパッチャ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令を送付する。
【0095】
スプーラ302は、受け取った印刷命令を中間コードに変換してスプールファイル303に出力する。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定をプリンタドライバ203から取得してスプールファイル303に保存する。尚、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成されても構わない。更に、スプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。
【0096】
その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従ってプリンタドライバ203が印刷データを作成できるかを判断する。ここでスプールファイル303は、アプリケーションが出力したページである論理ページ単位で中間データを管理している。また、スプールファイル203は、前述したように、利用者がプリンタドライバ203に対して設定した加工設定(例えば、4up(1ページの紙に4ページ分のデータを縮小して印刷すること)印刷の設定)を管理している。よって、プリンタドライバ203が印刷データを作成できるかの判断は、スプールファイル303に格納されている加工設定に基づいて必要な論理ページがすべてスプールファイル303に管理されていれば、印刷データの作成に必要なデータが揃っているので印刷データの作成が可能であると判断できる。
【0097】
スプールファイルマネージャ304がグラフィックエンジン202を利用してプリンタドライバにより印刷データを作成できると判断した場合は、スプールファイルマネージャ304は、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、デスプーラ305に対して、スプールファイル303に記述された中間データの印刷処理を行うように指示する。このときに、スプールファイルマネージャ304はデスプーラ305に対して加工設定に伴う論理ページへの影響情報も指示する。例えば、4up印刷の設定がなされている場合に、それぞれの論理ページが物理ページのどこに印刷されるかを示す位置情報と、物理ページにおける論理ページのサイズを示すサイズ情報とをスプールファイルマネージャ304が計算し、位置情報とサイズ情報とを含む影響情報を論理ページごとにデスプーラに対して指示する。
【0098】
デスプーラ305は、スプールファイル303に含まれる中間コードをスプールファイルマネージャ304によって指示される影響情報の内容に従って加工し、加工された中間データをGDI関数に変換し、グラフィックエンジン202に出力する。デスプーラ305は、以下のような加工を行う。デスプーラ305は、スプールファイル303から所得した論理ページと、スプールファイルマネージャ304から取得した影響情報とに基づいて、論理ページ内に描画される文字データの物理ページにおける位置とサイズを再計算する。具体的には、例えば論理ページの用紙サイズと物理ページの用紙サイズが同じで、且つ4upの場合は、データサイズは単純に1/4倍される。データ位置に関しては、デスプーラ305が物理ページ上の該論理ページの位置情報から割り当てられる論理ページ位置を認識し、その論理ページ内のデータ位置を距離が1/4倍を考慮して求めるのである。また、論理ページの用紙サイズと物理ページの用紙サイズが異なり、且つNup指定されているときは、後述するような計算を行い拡大縮小率を導出する。このように加工して得られた中間データをデスプーラ305はGDI関数に変換してグラフィックエンジン202に出力する。
【0099】
グラフィックエンジン202は、デスプーラ305から受け取ったGDI関数からDDI関数を生成し、ディスパッチャ301にDDI関数からなる印刷命令を出力する。グラフィックエンジン202からディスパッチャが受け取ったDDI関数の印刷命令がデスプーラ305からグラフィックエンジン202へ発行されたGDI関数の印刷命令の場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。プリンタドライバ203は、受け取った印刷命令に基づいてプリンタ制御コマンドからなる印刷データを生成し、システムスプーラ204経由でプリンタ1500に出力する。
【0100】
図10は第1の実施の形態に係るプリンタ1500の一例としてレーザビームプリンタ(以下、LBPと略称)の場合における内部構造を示す断面図である。LBPとしてのプリンタ1500は、文字パターンデータ等を入力して記録紙に印刷することができる。プリンタ1500は、供給されるプリンタ制御コマンド等を基に記録媒体である記録紙上に像を形成するLBP本体740に、プリンタ制御ユニット1000と、操作部1501と、レーザドライバ702と、半導体レーザ703と、回転多面鏡705と、静電ドラム706と、現像ユニット707と、用紙カセット708と、給紙ローラ709と、搬送ローラ710と、外部メモリ711と、定着部712と、切り替えくさび713と、フェイスアップ排出部714と、フェイスダウン排出部715と、排紙トレイ716とを備えている。
【0101】
上記各部の構成を動作と共に詳述すると、プリンタ制御ユニット1000は、LBP本体740全体の制御及び文字パターン情報等を解析するものであり、主にプリンタ制御コマンドをビデオ信号に変換してレーザドライバ702に出力する。プリンタ制御ユニット1000には、フォントデータやページ記述言語のエミュレーションプログラム等を記憶する外部メモリ711を接続することもできる。操作部1501には、上述した如く操作のためのスイッチ及び表示手段(例えばLED表示器)等が配設されている。
【0102】
レーザドライバ702は、半導体レーザ703を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ703から発射されるレーザ光704のオン・オフ切り替えを行う。半導体レーザ703は、回転多面鏡705へ向けてレーザ光を発射する。回転多面鏡705は、レーザ光704を左右方向に振り、静電ドラム706上を走査させる。静電ドラム706は、レーザ光704の走査により文字パターンの静電潜像がドラム表面に形成される。
【0103】
現像ユニット707は、静電ドラム706の周囲に配設されており、静電潜像を現像する。現像後は、記録紙に転写される。用紙カセット708は、記録紙として例えばカットシート記録紙を収納する。給紙ローラ709及び搬送ローラ710は、給紙カセット708内のカットシート記録紙をLBP本体740内に取り込み、静電ドラム706に供給する。この場合、用紙カセット708の蓋部上面に設けられた手挿し給紙トレイ(図示略)からカットシート記録紙を供給することもできる。
【0104】
定着部712は、カットシート記録紙に転写されたトナー像を加熱してカットシート記録紙上に定着させる。画像が形成されたカットシート記録紙は、切り替えくさび713を上向きに設定した場合には、フェイスアップ排出部714から記録面を上にした状態で排紙トレイ716に排出され、また、切り替えくさび713を下向きに設定した場合には、フェイスダウン排出部715から記録面を下にした状態で排出される。
【0105】
図11は、本発明の実施の形態に係るプリンタ制御システムにおける印刷モード制御プログラムを含む関連モジュールがホストコンピュータ3000上のRAM2へロードされ、実行可能となった状態を示している。即ち、RAM2には、アプリケーション601、空きメモリ602、関連データ603、印刷関連モジュール604、OS(Operating System)605、BIOS(Basic Input Output System:入出力装置のインタフェースで必要な最も基本的な処理を行うプログラム)606がロードされている。
【0106】
次に、上記の如く構成してなる第1の実施の形態に係るプリンタ制御システムのデスプーラ305の処理、Nページ印刷における処理、Nページ印刷における用紙決定方法の処理について、図4乃至図7のフローチャートを中心に詳細に説明する。
【0107】
図4はデスプーラ305がスプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、もう一度、グラフィックエンジン202経由で出力する際の処理の概略を示すフローチャートである。実際には加工内容によってさまざま処理を行うが、加工内容に依存しない中核となるフローを示すと本図のようになる。
【0108】
先ず、ステップS401において、デスプーラ305は、スプールファイル303から加工設定及び入力ページデータを読み込む。例えば、加工内容として逆順印刷(ページ順を逆にした印刷)が指定されているとすれば、読み込む入力ページデータは最終ページのデータからというように、必要に応じて、または印刷処理速度や必要メモリ削減等の最適化を目的として、読み込み方も加工内容により変化させることが可能である。
【0109】
更に、ステップS402において、デスプーラ305は、加工設定の内容に従った加工処理を行う。特別な加工設定がされていない場合は、単に中間コードをグラフィックエンジン202の入力形式であるGDI関数に変換する。余白付けや拡縮等の加工設定が指定されていれば、余白にあった座標移動変換や、拡縮率にあった座標系の変換も併せて行われる。次に、ステップS403において、グラフィックエンジン202の入力形式となったコードをグラフィックエンジン202に対して送信する。その後、ステップS404において、更に変換すべき中間コードがある場合は、再び上記ステップS401へ戻り処理を続ける。変換すべき中間コードがない場合は、本処理を終了する。
【0110】
尚、上記図4のフローは概略であり、上記ステップS401で中間コードをまとめ読みするようになっているならば、まとめて読んだ分の中間コードに対して上記ステップS402、ステップS403の処理を繰り返し、読み込んだ中間コードの処理が終わったならば上記ステップS401へ戻るというように、実装形式に細かなバリエーションが存在することは言うまでもない。
【0111】
図5は上記図4のステップS402において加工設定に従って行われる各種加工処理のうち、特に、本発明に特有の部分を抜き出した処理の概略を示すフローチャートである。
【0112】
先ず、ステップS501において、デスプーラ305は、Nページ分の入力ページのサイズ情報を読み込み、更に、ステップS502において、Nページ分の入力ページデータを印刷するための出力用紙を決定する。出力用紙の決定方法は出力形態等により異なり、例えば両面印刷のNページ印刷のように両面を考慮して出力用紙を決定する場合は、N*2の2Nページ分の入力ページサイズ情報を読み込み、2Nページ分の入力ページサイズ情報から出力用紙を決定する必要がある。
【0113】
逆に出力用紙を途中で変更する必要が無ければ、該ステップS502は省略することも可能である。例えば定型拡縮のように出力用紙サイズがユーザの指定した用紙サイズで固定しなくてはいけない場合には、出力サイズは入力用紙サイズから決定するのではなく、ユーザの指定した用紙サイズとなる。
【0114】
更に、ステップS503において、デスプーラ305は、上記ステップS502において決定された出力用紙サイズをN分割する。ここで単に出力用紙の紙サイズをそのままN分割すると、有効印字領域の関係で印刷できない部分が生じるため、出力用紙の用紙サイズ情報として用紙の有効印字領域を求め、N分割する。次に、ステップS504において、デスプーラ305は、N分割された領域(エリア)に収めるための拡縮率を求める。ここで有効印字領域は、プリンタによって決まっておりプリンタドライバ203に問い合わせることにより簡単に得られる。
【0115】
N分割された領域(エリア)の縦、横のサイズが(H、W)、入力ページサイズ(ここでは、論理ページサイズ)が(h、w)とすると、W/wとH/hのうち小さい方を選び、その小さい方の値に基づいてサイズを計算すれば、縦横比を変えずに領域内に収めることができる。具体的には、N分割エリアの縦、横のサイズが(20、10)であり、入力される論理ページのサイズが(50、30)であるのなら、20/50と10/30とでは、10/30の方が小さいので、この1/3という値を選び、論理ページのサイズに1/3を掛け算して、入力ページサイズを(50/3、10)とするように求めるのである。入力ページサイズとして用紙サイズでなく、論理ページの有効印字領域や、実際に描画されているデータの外接矩形を選べば更に大きな拡縮率を得ることも可能である。この後、ステップS505において、デスプーラ305は、上記拡縮された入力ページデータを領域内にレイアウトする。
【0116】
このように、デスプーラ305が、すべての論理ページに対して、レイアウト位置と拡縮サイズを求めているが、これに限るものではなく、この処理はスプールファイルマネージャ304が行い、レイアウトするための中間データの加工をデスプーラ305が行うようにしてもよい。
【0117】
従来のNページ印刷では、全てのページに対して同じ拡縮率を使用していたが、本発明の第1の実施の形態では、入力ページ毎に異なる拡縮率を適用することが可能であることが特徴であり、上記図5のステップS504においては入力ページ毎に拡縮率を求めている。
【0118】
図6及び図7はNページ印刷における上記図5のステップS502での出力用紙サイズ決定方法の例を示すフローチャートである。
【0119】
ステップS602乃至ステップS604の処理を1〜Nまで繰り返す(ステップS601〜S605)。即ち、先ず、ステップS602において、デスプーラ305は、I(I=0〜N)番目の入力用紙Sと向きOの組(S、O)が記憶済みであるか否かを判定し、記憶済みでない場合は、ステップS603において、(S、O)の組を新たに記憶すると共にカウントを1とする。他方、記憶済みの場合は、ステップS604において、デスプーラ305は、(S、O)の組のカウントをインクリメントする。
【0120】
上記ステップS601〜S605の処理後、ステップS606において、デスプーラ305は、最大カウントを有する(S、O)の組が一つであるか否かを判定し、(S、O)の組が一つでない場合は、ステップS607において、最大カウントを有する(S1、O1)、(S2、O2)、・・・の組の中で一番若いページで使用されている組を出力用紙及び用紙向きに決定する。他方、(S、O)の組が一つである場合は、ステップS608において、デスプーラ305は、当該(S、O)の組を出力用紙及び用紙向きに決定する。
【0121】
即ち、本例では、4ページからなる文書を4ページ印刷する場合、1ページ目から順に(A4、縦)、(B4、横)、(B4、横)、(A4、縦)とすると、(A4、縦)と(B4、横)がカウント2で同数であるので、ステップS607へ移行し、(A4、縦)の一番若い番号は1、(B2、横)の一番若い番号は2であるため、若い番号で使用されている(A4、縦)が用紙サイズ・用紙向きとして選択される。
【0122】
図8は第1の実施の形態に係るNページ印刷(N=4)の場合における出力結果の例を示す図である。最初の例は用紙向きが混在している場合で、用紙としては全てA4であるが、用紙向きは縦横が混在している。(A4、縦)が3ページ、(A4、横)が1ページなので、(A4、縦)の用紙サイズ・用紙向きが採用され、用紙向きの異なる4ページ目だけが他の3ページと拡縮率を変えて、もしくは向きを変えて印刷される。二つ目の例は用紙サイズが混在している場合で、(A4、縦)が3ページ、(A3、縦)が1ページであるので、(A4、縦)用紙が選択され、A3用紙である4ページ目が他のページと異なる拡縮率で縮小されて印刷される。
【0123】
上述したように、第1の実施の形態によれば、プリンタ制御システムは、印刷データのページサイズ情報に基づき用紙サイズ及び用紙向きを決定し、用紙をN(自然数)分割して印刷領域を決定し、各印刷領域のサイズ及びページデータ毎のサイズに基づきページデータ毎に独立した拡縮率で拡縮し、拡縮した各ページデータを各印刷領域に配置するデスプーラ305を有するため、Nページ印刷する文書が同一文書内に用紙サイズや用紙向きが混在しているような場合でも、用紙サイズや用紙向きが変わったときに、途中で排紙したり印刷領域からはみ出してしまうことなく、Nページ印刷することができる。これにより、用紙サイズや用紙向きが混在していない文書に近い出力結果を得ることができる。
【0124】
〔2〕第2の実施の形態
第2の実施の形態に係るプリンタ制御システムは、上記第1の実施の形態と同様に、CPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8、キーボード(KB)9、CRTディスプレイ(CRT)10、外部メモリ11を備えたホストコンピュータ3000と、CPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20、印刷部17、操作部1501、外部メモリ14を備えたプリンタ1500とから構成されている(上記図1参照)。また、第2の実施の形態に係るホストコンピュータ3000における印刷データ生成を行う制御構成(上記図2参照)、上記図2を拡張した印刷データ生成を行う制御構成(上記図3参照)、プリンタ1500の内部構成(上記図10参照)も、上記第1の実施の形態と同様であるため説明は省略する。また、第2の実施の形態においても、前述したような第1の実施の形態の処理が可能である。
【0125】
図9は第2の実施の形態に係る用紙分割方法の例を示す図である。Nページ印刷では、Nがある自然数Iの二乗となるような場合(N=4、9、16・・・)は、縦横方向ともI分割すればよいが、Nが二乗の形で表すことのできないような数であるN=2やN=8といった分割も行われる。このような場合、通常は用紙向きを入力ページから変更し、例えばN=2では、(A4、縦)の用紙であれば(A4、横)の用紙にし、出力用紙での長辺となる横方向に2分割して入力ページを縮小配置する。
【0126】
しかし、長辺が短辺の2倍以上となるような用紙では、長辺を2分割しても依然として短辺方向は長辺方向の2分割した長さよりも長いままであり、用紙向きを変えないで印刷した方が大きな分割領域を得ることができる。従って、出力用紙を決定後に出力用紙の縦横比を見て、長辺方向に2分割しても短辺と同じかもしくは長い場合は用紙方向を変更しないで印刷する。
【0127】
上述したように、第2の実施の形態によれば、プリンタ制御システムは、用紙分割数Nが2の倍数であり且つ自然数の二乗でない場合は、用紙分割時に長辺方向長さが短辺方向長さの2倍以上の用紙については用紙向きを変更せず、長辺方向長さが短辺方向長さの2倍以下の用紙については用紙向きを変更するため、長辺方向長さが短辺方向長さの2倍以上あるような細長い用紙の場合でも、より大きな分割領域を得ることが可能となり、より大きな表示サイズで印刷することができる。
【0128】
〔3〕第3の実施の形態
第3の実施の形態に係るプリンタ制御システムは、上記第1の実施の形態と同様に、CPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8、キーボード(KB)9、CRTディスプレイ(CRT)10、外部メモリ11を備えたホストコンピュータ3000と、CPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20、印刷部17、操作部1501、外部メモリ14を備えたプリンタ1500とから構成されている(上記図1参照)。また、第3の実施の形態に係るホストコンピュータ3000における印刷データ生成を行う制御構成(上記図2参照)、上記図2を拡張した印刷データ生成を行う制御構成(上記図3参照)、プリンタ1500の内部構成(上記図10参照)も、上記第1の実施の形態と同様であるため説明は省略する。また、本第3の実施の形態においても、前述したような第1および第2の実施の形態における処理が可能である。
【0129】
第3の実施の形態は、本発明によるレイアウト方法をN=1の場合であってもそのまま適用可能としたものである。上記図7のステップS606で(S、O)をそのまま用紙サイズとするのでなく、(A4、O)を出力用紙、用紙向きとして指定し、そして、上記図5のステップS503で出力用紙を1分割つまり分割しないという処理を行う。その後、ステップS504でA4用紙の有効印字領域内に入力ページのデータを縦横比が変わらないような最大の拡縮比で拡縮して印刷する。
【0130】
この場合、文書が全て同じ用紙サイズ(A3、縦)であっても、用紙サイズが混在している場合でも、同様に元のデータがはみ出さずに縦横比も変わらないような最大の拡縮率でA4用紙に印刷することができる。
【0131】
上述したように、第3の実施の形態によれば、プリンタ制御システムは、上記第1の実施の形態のレイアウト制御を出力用紙を1分割(非分割)する場合に適用可能としているため、印刷する文書が全て同じ用紙サイズの場合でも、用紙サイズが混在しているような場合でも、元のデータが用紙の印刷領域からはみ出すことなく、且つ縦横比も変わらないような最大の拡縮率で用紙に印刷することができる。
【0132】
〔4〕第4の実施の形態
第4の実施の形態に係るプリンタ制御システムは、上記第1の実施の形態と同様に、CPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8、キーボード(KB)9、CRTディスプレイ(CRT)10、外部メモリ11を備えたホストコンピュータ3000と、CPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20、印刷部17、操作部1501、外部メモリ14を備えたプリンタ1500とから構成されている(上記図1参照)。また、第4の実施の形態に係るホストコンピュータ3000における印刷データ生成を行う制御構成(上記図2参照)、上記図2を拡張した印刷データ生成を行う制御構成(上記図3参照)、プリンタ1500の内部構成(上記図10参照)も、上記第1の実施の形態と同様であるため説明は省略する。また、本第4の実施の形態においても、前述したような第1及び第2並びに第3の実施の形態の処理が可能である。
【0133】
第4の実施の形態は、本発明によるレイアウト方法を他のレイアウト方式と組み合わせて使うことを可能としたものである。例えば余白が、指定されている方向にパラメータで指定された分だけ印刷データ全体を平行移動することにより実現しているとする(これは最も一般的な余白の設定方法である)。本発明によるレイアウトと該余白設定を組み合わせる場合、上記図5のステップS505で印刷データを拡縮・レイアウトした後またはレイアウトと同時に、余白分、印刷データを平行移動すればよい。
【0134】
上述したように、第4の実施の形態によれば、プリンタ制御システムは、上記第1の実施の形態のレイアウト制御を例えば用紙上に余白を設定する場合にも適用可能としているため、Nページ印刷する文書が同一文書内に用紙サイズや用紙向きが混在しているような場合でも、用紙サイズや用紙向きが変わったときに、途中で排紙したり印刷領域からはみ出してしまうことなく、Nページ印刷することができる。これにより、用紙サイズや用紙向きが混在していない文書に近い出力結果を得ることができる。
【0135】
〔5〕第5の実施の形態
第5の実施の形態に係るプリンタ制御システムは、上記第1の実施の形態と同様に、CPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8、キーボード(KB)9、CRTディスプレイ(CRT)10、外部メモリ11を備えたホストコンピュータ3000と、CPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20、印刷部17、操作部1501、外部メモリ14を備えたプリンタ1500とから構成されている(上記図1参照)。また、第5の実施の形態に係るホストコンピュータ3000における印刷データ生成を行う制御構成(上記図2参照)、上記図2を拡張した印刷データ生成を行う制御構成(上記図3参照)、プリンタ1500の内部構成(上記図10参照)も、上記第1の実施の形態と同様であるため説明は省略する。また、本第5の実施の形態においても、前述したような実施の形態の処理が可能である。
【0136】
第5の実施の形態は、拡大縮小が外部から指定された場合に、ホストコンピュータ側でその拡縮率に基づいて加工された印刷データを生成し、プリンタ側では拡縮の機能を結う指定いなくても拡大縮小処理を可能としたものである。
【0137】
このような第5の実施の形態に係るプリンタ制御システムにおける各処理について、図12〜図20のフローチャートを中心に詳細に説明する。
【0138】
図12はスプーラ302の処理の流れを示すフローチャートである。先ず、ディスパッチャ301からスプーラ302に印刷命令が来た時、プリンタドライバを介してユーザが設定した拡大縮小印刷を本システムが実現させるために、入力用紙の有効印字領域、出力用紙のサイズ、出力用紙の有効印字領域、オフセット値及び設定された拡大縮小モードの取得処理(ステップS1201)が行われる。これは、前記設定値をプリンタドライバより、取得命令またはディスパッチャ301を介して渡ってくるパラメータからこれらを取得する処理である。
【0139】
そして、入力用紙の有効印字領域、出力用紙のサイズ、出力用紙の有効印字領域、オフセット値、設定された拡大縮小モードの一時保存処理(ステップS1202)が行われる。これは、先に取得された各種のデータをスプールファイル303へ保存する処理である。これにより、デスプーラ304において、印刷データを再生する時に拡大縮小印刷を行うためのデータを提供することができるわけである。また、ここでは、その他の印刷のためのデータの取得、一時保存は、図12に示す前処理、後処理で行われるものとする。その後、上述したようにデスプーラ304による中間データ形式からGDI関数形式への印刷データの生成処理が行われるわけである。
【0140】
図13は拡大縮小印刷のための処理の流れを示すフローチャートである。先ず、デスプーラ305によって、入力用紙の有効印字領域、出力用紙のサイズ、出力用紙の有効印字領域、オフセット値、拡大縮小モードの読み込み処理(ステップS1301)が行われる。これは、スプーラ302により生成されたスプールファイル303から拡大縮小印刷のために必要なデータが読み込まれる処理である。そして、この中の拡大縮小モードにより以下の振り分けが行われる。拡大縮小印刷には、出力用紙指定による拡大縮小、拡大縮小率指定による拡大縮小、出力用紙指定及び拡大縮小率指定による拡大縮小の三種類が存在する。
【0141】
最初、読み込まれた拡大縮小モードより、出力用紙指定による拡大縮小及び拡大縮小率指定による拡大縮小のモード設定がされているかの判定処理(ステップS1302)により、同判定が行われる。ここで、出力用紙指定による拡大縮小と拡大縮小率指定による拡大縮小の両方のモード設定がされていると判定されると、次の出力用紙指定及び拡大縮小率指定による出力デバイス座標の設定処理(ステップS1303)が行われる。この詳細は図18及び図19に示す通りであり、後述することにする。
【0142】
ここで、出力用紙指定による拡大縮小と拡大縮小率指定による拡大縮小の両方が同時に設定されていないとする。すると、次の出力用紙指定による拡大縮小モード設定がされているかの判定処理(ステップS1304)が行われる。ここで、出力用紙指定による拡大縮小のモード設定がされていると判定されると、出力用紙指定による出力デバイス座標の設定処理(ステップS1305)が行われる。この詳細は図15及び図16に示す通りであり、後述することにする。
【0143】
同様にここでは、出力用紙指定による出力デバイス座標の設定はされていないとし、次の拡大縮小率指定による拡大縮小のモード設定がされているかの判定処理(ステップS1306)が行われる。ここで、拡大縮小率指定による拡大縮小のモード設定がされていると判定されると、拡大縮小率指定による出力デバイス座標の設定処理(ステップS1308)が行われる。この詳細は図17に示す通りであり、これも後述することにする。
【0144】
ここでも同様に、拡大縮小率指定による拡大縮小のモード設定はされていないと判定されるとすると、次の通常印刷(拡大縮小処理を行わない印刷)出力デバイス座標の設定処理(ステップS1307)が行われる。これは拡大縮小印刷を行わない場合の出力デバイス座標の設定であり、拡大縮小印刷以外の他の出力体裁を変更するような設定がなされていない限り、入力用紙と出力用紙設定は同等となる。
【0145】
ここで、出力用紙指定による出力デバイス座標の設定処理(上記図14のステップS1305)について、図15、図16、図21を用いて説明することにする。図21で(a)、(b)はそれぞれ入力用紙、出力用紙を表し、a、b、a1、b1は有効印字領域、X、Yは用紙サイズ、x、yは原点からのオフセット値を表している。本例では、用紙Aから用紙Bへの縮小印刷を例に説明することにする。図15において、まず、入力用紙の有効印字領域の縦、横の取得処理(ステップS1501)により、ソースとなる有効印字領域の大きさが取得される。ここでは、a、bが取得される。そして、次に出力用紙(サイズ、有効印字領域、オフセット値)の縦、横の取得処理(ステップS1502)により、どの大きさに縮小するかの目標となるサイズ、有効印字領域、オフセット値のそれぞれの値が取得される。ここでは、X、Y、a1、b1、x、yが取得される(図21(b)参照)。
【0146】
これらが取得された後、縦方向及び横方向の拡大縮小率の算出処理(ステップS1503)が行われる。先ず、出力用紙サイズ(X、Y)、出力用紙有効印字領域(a1、b1)、オフセット値(x、y)より、有効印字領域外の部分を上下、左右を合わせるために、上下、左右共に広い方を取るように、有効印字領域を調整する(図21(c)参照)。こうして得られた新しい有効印字領域をa2、b2とする。これらと、入力用紙の有効印字領域(a、b)により、拡大縮小率が計算される。即ち、横方向の拡大縮小率はa2/a、縦方向の拡大縮小率はb2/bとなる。
【0147】
次に、横方向の拡大縮小率の方が縦方向の拡大縮小率より大きいかの判定処理(ステップS1504)が行われる。これは、拡大縮小印刷において、縦横比を変えずに拡大縮小するために、どちらの拡大縮小率を用いて拡大縮小を行うかの判断となる。縦、横の拡大縮小率の小さい方を用いて、縦、横共に縮小するため、縦方向の方が小さいと判断されれば、縦方向の拡大縮小率による縦及び横の印刷領域の算出処理(ステップS1505)が行われ、横方向の方が小さいと判断されれば、横方向の拡大縮小率による縦及び横の印刷領域の算出処理(ステップS1506)が行われる。
【0148】
ここでは、横方向の方が小さい、つまり、a2/aの方が小さいと判断されたとする。すると、横方向の拡大縮小率による縦及び横の印刷領域の算出処理(ステップS1506)により、横方向の印刷領域はa2、縦方向の印刷領域はb×a2/aとなる(図21(e)参照)。これらの算出された印刷領域により、次の出力デバイス座標の設定処理(ステップS1507)が行われる。これは、座標点を論理座標からデバイス座標に変換する方法を定義するものであり、出力デバイスのx範囲、y範囲を設定するものである。ここでは、a2及びb×a2/aが設定され、これにより、今後処理される印刷データが縮小されて印刷されるようになるわけである。
【0149】
また、次に、拡大縮小率指定による出力デバイス座標の設定処理(上記図14のステップS1308)について、図17を用いて説明する。
【0150】
先ず、入力用紙の有効印字領域の縦、横の取得処理(ステップS1701)により、ソースとなる有効印字領域の大きさが取得される。図21でいうと、a、bが取得される。次に、拡大縮小率の取得処理(ステップ17802)が行われる。これもその他のデータと同様にスプーラ302により保存され、のちにデスプーラ305により読み込まれたものであり、ユーザにより設定された値である。ここではc1とする。
【0151】
また、次に、拡大縮小率による縦及び横の印刷領域の算出処理(ステップS1703)が行われる。先に取得されたc1により印刷領域が求められるわけであり、横方向がa×c1、縦方向がb×c1となる。そして、上述したと同様、出力デバイス座標の設定処理(ステップS1704)により、a×c1及びb×c1が出力デバイスのx範囲、y範囲として設定される。これにより、今後処理される印刷データが縮小されて印刷されるようになるわけである。
【0152】
また、次に、出力用紙指定及び拡大縮小率指定による出力デバイス座標の設定処理(上記図13のステップS1303)について、図18及び図19を用いて説明する。
【0153】
図18のステップS1801〜ステップS1806までは上記図15、図16のステップS1501〜ステップS1506と同様の処理であり、出力用紙指定による拡大縮小印字領域が算出される。その後、拡大縮小率の取得処理(ステップS1807)が行われる。ここで取得されるのはユーザにより設定された拡大縮小率と出力用紙指定による拡大縮小率(ドライバより取得してスプールしてあるもの)である。ここでは、それぞれd1、e1とする。更に、第2拡大縮小率の算出処理(ステップS1808)が行われる。既に出力用紙指定による拡大縮小印字領域が算出されているので、ここで算出される値はd1/e1となる。
【0154】
そして、第2拡大縮小率による印刷領域の算出処理(ステップS1809)が行われる。既に算出された出力用紙指定による拡大縮小印字領域が上記図21の(e)とすると、これによって得られる値は、横方向がa2×d1/e1、縦方向がb×a2/a×d1/e1となる。その後、出力デバイス座標の設定処理(ステップS1810)により、a2×d1/e1及びb×a2/a×d1/e1が出力デバイスのx範囲、y範囲として設定される。これにより、今後処理される印刷データが拡大または縮小されて印刷されるようになるわけである。
【0155】
上述したように、第5の実施の形態によれば、プリンタ制御システムは、入力用紙の有効印字領域、出力用紙のサイズ及び有効印字領域、オフセット値、設定された拡大縮小モードを記憶するスプーラ302と、拡大縮小モードが出力用紙指定による拡大縮か、拡大縮小率指定による拡大縮小か、出力用紙指定及び拡大縮小率指定による拡大縮小かを判定し、該判定に基づき出力デバイスの座標を設定し、該設定に基づき上記印刷データで印刷するように制御するデスプーラ305とを有するため、拡大縮小機能を持たないデバイス(プリンタ等の印刷装置)に対し拡大縮小機能を提供することができると共に、元々の印刷データの内容を変えずに、そのまま拡大縮小印刷を行うことができる。
【0156】
〔6〕第6の実施の形態
第6の実施の形態に係るプリンタ制御システムは、上記第1の実施の形態と同様に、CPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8、キーボード(KB)9、CRTディスプレイ(CRT)10、外部メモリ11を備えたホストコンピュータ3000と、CPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、ディスクコントローラ(DKC)20、印刷部17、操作部1501、外部メモリ14を備えたプリンタ1500とから構成されている(上記図1参照)。
【0157】
また、第6の実施の形態に係るホストコンピュータ3000における印刷データ生成を行う制御構成(上記図2参照)、上記図2を拡張した印刷データ生成を行う制御構成(上記図3参照)、印刷モード制御プログラムを含む印刷関連モジュールがホストコンピュータ3000のRAM2へロードされ実行可能となった状態のメモリマップの構成(上記図4参照)も、上記第1の実施の形態と同様であるため説明は省略する。また、本第6の実施の形態においても、前述したような実施の形態の処理が可能である。
【0158】
第6の実施の形態に係るプリンタ制御システムは、出力用紙指定による拡大縮小印刷、または出力用紙指定による拡大縮小印刷及び拡大縮小率指定による拡大縮小印刷が指定されている時、出力用紙の適正な位置にセンタリングを行うようにしたものである。また、第6の実施の形態に係るプリンタ制御システムは、複数の論理ページ(アプリケーションで扱われるページ)を1枚の物理ページ(実際に印刷出力されるページ)に印刷することが可能な機能を有する。
【0159】
次に、上記の如く構成してなる第6の実施の形態に係るプリンタ制御システムにおけるセンタリング処理について、図20及び図22を中心に詳細に説明する。図20はセンタリングを行うための概要を表すフローチャート、図22はそれを例示した図であり、図22(a)は出力用紙を表し、上記第1の実施の形態における図21(b)と同じである。
【0160】
先ず、調整有効印字領域の取得(ステップS2001)が行われる。上記第5の実施の形態と同様の処理により、上下、左右の用紙サイズからの有効印字領域の位置が等しくなるようにa2、b2が求められる(図22(b)参照)。これらが取得されるわけである。また、この調整を行った後のオフセット値をx1、x2とする。次に、拡大縮小後の印刷領域の取得(ステップS2002)により、先に計算された縦方向、横方向の拡大縮小率の小さい方のより求められた印刷領域が取得される。ここでは、これらをa3、b3と置く(図22(c)参照)。
【0161】
そして、オフセット値の調整処理(ステップS2003)が行われる。これは、実際の印刷領域が用紙サイズの左右、上下共に中央にくるようにオフセット値を調整する処理である。この調整を行った後の左上の座標(用紙の左上を原点としたもの)をx2、y2とすると、それらはそれぞれ、
x2=x1+(a2−a3)/2
y2=y1+(b2−b3)/2
と算出される。これにより、オフセット値が調整され、印刷領域が用紙サイズから適正な位置にセンタリングされる(図22(d)参照)。
【0162】
次に、第6の実施の形態に係るプリンタ制御システムで複数の論理ページを1枚の物理ページに印刷する場合の例として、製本印刷の例を上げ、上記図20及び図23を中心に詳細に説明する。この場合、製本印刷とは、真ん中で綴じた時に見開きの本となるように用紙の表裏面を印刷する印刷手法である。本例では、入力用紙と出力用紙は同じとする。
【0163】
先ず、調整有効印字領域の取得(ステップS2001)が行われる。上記第5の実施の形態と同様の処理により、上下、左右の用紙サイズからの有効印字領域の位置が等しくなるようにa2、b2が求められる(図23(b)参照)。但し、ここでは、印刷の向きが変わり、更に2ページの論理用紙を1ページの物理用紙に印刷するため、a2=b1/2、b2=a1となる。この値が取得される。次に、拡大縮小後の印刷領域の取得(ステップS1002)により、先に計算された縦方向、横方向の拡大縮小率の小さい方のより求められた印刷領域が取得される。これらはそれぞれ、b1×a2/a1(用紙向き変更後の縦方向)、a1×a2/a1(用紙向き変更後の横方向)となり、それぞれb3、a3とする(図23(c)参照)。
【0164】
そして、オフセット値の調整処理(ステップS2003)が行われる。実際の印刷領域が用紙サイズの左右、上下共に中央にくるようにオフセット値を調整する処理である。この調整を行った後の左上の座標(用紙の左上を原点としたもの)をx2、y2とすると、それらはそれぞれ、拡大縮小時のセンタリング同様、x2=x1+(a2−a3)/2、y2=y1+(b2−b3)/2と算出される。これにより、オフセット値が調整され、印刷領域を用紙サイズから適正な位置に置くことができる(図23(d)参照)。
【0165】
上述したように、第6の実施の形態によれば、プリンタ制御システムは、入力用紙の有効印字領域、出力用紙のサイズ及び有効印字領域、オフセット値、設定された拡大縮小モードを記憶するスプーラ302と、拡大縮小モードが出力用紙指定による拡大縮か、拡大縮小率指定による拡大縮小か、出力用紙指定及び拡大縮小率指定による拡大縮小かを判定し、該判定に基づき出力デバイスの座標を設定し、該設定に基づき上記印刷データで印刷するように制御すると共に、更に、入力用紙の有効印字領域、出力用紙のサイズ及び有効印字領域、オフセット値、設定された拡大縮小モードに基づき適正な印字位置にセンタリングを行い、複数の論理ページを1枚の物理ページに印刷する場合は複数の論理ページを左右上下対称な印字位置に配置するデスプーラ305とを有するため、拡大縮小機能において適正な位置に印刷データをセンタリングできるようにしたことにより、出力体裁を整えることができ、特に両面印刷を行う場合、用紙表裏とも同じ位置に印刷することができる。
【0166】
また、複数の論理ページを1枚の物理ページに印刷することが可能な印刷装置において印刷データを正確に左右、上下対称な位置に印刷することができ、特に製本印刷を行う場合、出力結果に手を加えずに本を綴じることができる。
【0167】
また、上記第5の実施の形態と同様に、拡大縮小機能を持たないデバイスに対し拡大縮小機能を提供することができると共に、元々の印刷データの内容を変えずに、そのまま拡大縮小印刷を行うことができる。
【0168】
尚、上記第1〜第6の実施の形態で説明された本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、1つの機器からなる装置(例えば複写機、プリンタ、ファクシミリ装置等)に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0169】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0170】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0171】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0172】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0173】
【発明の効果】
以上説明したように、本発明によれば、印刷装置で印刷される印刷データを生成する部分を新たに制作することなしに、サイズや向きが混在した複数の論理ページを、各論理ページ毎にサイズを適宜決定して物理ページにレイアウトする機能を提供することが可能となる。
【0175】
また本発明によれば、印刷制御装置の前記用紙決定手段は、同一用紙に印刷されるNページ分のページサイズ情報に基づき最適な用紙サイズを決定するため、ページデータを最適な用紙サイズの用紙の各印刷領域に配置することが可能となり、同一文書内に用紙サイズや用紙向きが混在しているような場合でも、途中で排紙したり印刷領域からはみ出してしまうことなく、用紙サイズや用紙向きが混在していない文書に近い出力結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1乃至第6の実施の形態に係るプリンタ制御システムの全体構成を示すブロック図である。
【図2】本発明の第1乃至第6の実施の形態に係るホストコンピュータにおける典型的な印刷処理の構成を示すブロック図である。
【図3】本発明の第1乃至第6の実施の形態に係る印刷データ生成方法を説明するためのブロック図である。
【図4】本発明の第1の実施の形態に係るデスプーラの処理の流れを示すフローチャートである。
【図5】本発明の第1の実施の形態に係るNページ印刷の処理の流れを示すフローチャートである。
【図6】本発明の第1の実施の形態に係るNページ印刷における用紙決定方法の例を示すフローチャートである。
【図7】本発明の第1の実施の形態に係るNページ印刷における用紙決定方法の例を示すフローチャートである。
【図8】本発明の第1の実施の形態に係るNページ印刷(N=4)の場合の出力結果例を示す説明図である。
【図9】本発明の第2の実施の形態に係る用紙分割方法の例を示す説明図である。
【図10】本発明の第1乃至第6の実施の形態に係るプリンタの内部構成を示す断面図である。
【図11】本発明の第1乃至第6の実施の形態に係る印刷モード自動制御プログラムを含む印刷関連モジュールがホストコンピュータ上のRAMへロードされ実行可能となった状態のメモリマップを示す説明図である。
【図12】本発明の第5の実施の形態に係るスプーラの処理を示すフローチャートである。
【図13】本発明の第5の実施の形態に係る拡大縮小印刷処理を示すフローチャートである。
【図14】本発明の第5の実施の形態に係る拡大縮小印刷処理を示すフローチャートである。
【図15】本発明の第5の実施の形態に係る出力用紙指定による出力デバイス座標の設定処理を示すフローチャートである。
【図16】本発明の第5の実施の形態に係る出力用紙指定による出力デバイス座標の設定処理を示すフローチャートである。
【図17】本発明の第5の実施の形態に係る拡大縮小率指定による出力デバイス座標の設定処理を示すフローチャートである。
【図18】本発明の第5の実施の形態に係る出力用紙指定及び拡大縮小率指定による出力デバイス座標の設定処理を示すフローチャートである。
【図19】本発明の第5の実施の形態に係る出力用紙指定及び拡大縮小率指定による出力デバイス座標の設定処理を示すフローチャートである。
【図20】本発明の第6の実施の形態に係る拡大縮小印刷が指定されている時のセンタリング処理を示すフローチャートである。
【図21】本発明の第5の実施の形態に係る縮小印刷を行う場合の説明図であり、(a)は入力用紙と有効印字領域の関係を示す説明図、(b)は出力用紙と有効印字領域の関係を示す説明図、(c)は出力用紙と有効印字領域の関係を示す説明図、(d)は出力用紙と有効印字領域の関係を示す説明図、(e)は出力用紙と有効印字領域の関係を示す説明図である。
【図22】本発明の第6の実施の形態に係るセンタリングを行う場合の説明図であり、(a)は出力用紙と有効印字領域の関係を示す説明図、(b)は出力用紙と有効印字領域の関係を示す説明図、(c)は出力用紙と有効印字領域の関係を示す説明図、(d)は出力用紙と有効印字領域の関係を示す説明図である。
【図23】本発明の第6の実施の形態に係る製本印刷を行う場合の説明図であり、(a)は出力用紙と有効印字領域の関係を示す説明図、(b)は出力用紙と有効印字領域の関係を示す説明図、(c)は出力用紙と有効印字領域の関係を示す説明図、(d)は出力用紙と有効印字領域の関係を示す説明図である。
【符号の説明】
1、12 CPU
2、19 RAM
3、13 ROM
7 ディスクコントローラ
8 プリンタコントローラ
11、14 外部メモリ
17 印刷部
20 メモリコントローラ
201 アプリケーション
202 グラフィックエンジン
203 プリンタドライバ
204 システムスプーラ
301 ディスパッチャ
302 スプーラ
303 スプールファイル
304 スプールファイルマネージャ
305 デスプーラ
1500 プリンタ
3000 ホストコンピュータ

Claims (6)

  1. 印刷対象用紙のレイアウトを行うことにより印刷装置で印刷される印刷データを生成するホストコンピュータとしての印刷制御装置であって、
    任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取り、加工対象となる中間データとしてスプールファイルを生成するスプーラ手段と、
    前記生成されたスプールファイルに対して、論理ページ単位に縦サイズと横サイズを取得する取得手段と、
    物理ページをN(N:自然数)分割して、同一の面積であり、かつ、同一の縦横比となるN個の印刷領域を決定する領域決定手段と、
    該各印刷領域の縦サイズと横サイズ、および、前記取得手段で取得された論理ページ毎の縦サイズと横サイズと論理ページのページ順とに基づいて、論理ページ毎に、物理ページにおける論理ページの縦サイズと横サイズとを示すサイズ情報と、物理ページ上における位置を示す位置情報とを含む影響情報を決定する決定手段と、
    前記決定手段で決定された影響情報の内容に従って、前記領域決定手段で決定された各印刷領域に、前記スプールファイルの各論理ページ内の描画データの物理ページにおける位置とサイズを計算し、計算処理された描画データを生成して、前記グラフィックエンジンに再度出力する再出力手段と、
    前記再出力手段により出力された計算処理済みの描画データを前記グラフィックエンジンから受け取り、前記印刷装置で印刷される印刷データを生成する印刷データ生成手段とを備え、
    前記決定手段は、前記サイズ情報を決定する際、同一物理ページに配置される第1論理ページに設定された用紙向きと第2論理ページに設定された用紙向きとが異なる場合に、前記第1論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第1拡大縮小率を算出し、当該第1拡大縮小率を用いて第1論理ページの縦サイズおよび横サイズを決定し、かつ、前記第2論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第2拡大縮小率を算出し、当該第2拡大縮小率を用いて第2論理ページの縦サイズおよび横サイズを決定することを特徴とし、
    任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取った場合に、前記スプーラ手段に当該描画データを振り分け、前記再出力手段により出力された計算処理済みの描画データを前記グラフィックエンジンから受け取った場合に、前記印刷データ生成手段に当該計算処理済みの描画データを振り分ける振り分け手段を更に備えることを特徴とする印刷制御装置。
  2. 前記スプールファイルでスプールされた中間データの生成状況を監視して、該中間データに基づく印刷処理が可能であるかを判断する判断手段を更に備え、前記再出力手段は、Nページ分の論理ページの中間データのスプールファイルが生成されており、前記判断手段により印刷処理が可能であると判断される場合に、計算処理した描画データを前記グラフィックエンジンに再度出力することを特徴とする請求項1記載の印刷制御装置。
  3. 印刷対象用紙のレイアウトを行うことにより印刷装置で印刷される印刷データを生成するホストコンピュータにおける印刷制御方法であって、
    任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取り、加工対象となる中間データとしてスプールファイルを生成するスプールファイル生成ステップと、
    前記生成されたスプールファイルに対して、論理ページ単位に縦サイズと横サイズを取得する取得ステップと、
    物理ページをN(N:自然数)分割して、同一の面積であり、かつ、同一の縦横比となるN個の論理ページの印刷領域を決定する領域決定ステップと、
    該各印刷領域の縦サイズと横サイズ、及び、前記取得ステップで取得された論理ページ 毎の縦サイズと横サイズと論理ページのページ順とに基づいて、論理ページ毎に、物理ページにおける論理ページのサイズを示すサイズ情報と、物理ページ上における位置を示す位置情報とを含む影響情報を決定する決定ステップと、
    前記決定ステップで決定された影響情報の内容に従って、前記領域決定ステップで決定された各印刷領域に、前記スプールファイルの各論理ページ内の描画データの物理ページにおける位置とサイズを計算し、計算処理された描画データを生成して、前記グラフィックエンジンに再度出力する再出力ステップと、
    前記再出力ステップにより出力された計算処理済みの描画データを前記グラフィックエンジンから受け取り、前記印刷装置で印刷される印刷データを生成する印刷データ生成ステップとを含み、
    前記決定ステップは、前記サイズ情報を決定する際、同一物理ページに配置される第1論理ページに設定された用紙向きと第2論理ページに設定された用紙向きとが異なる場合に、前記第1論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第1拡大縮小率を算出し、当該第1拡大縮小率を用いて第1論理ページの縦サイズおよび横サイズを決定し、かつ、前記第2論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第2拡大縮小率を算出し、当該第2拡大縮小率を用いて第2論理ページの縦サイズおよび横サイズを決定することを特徴とし、
    任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取った場合に、前記生成ステップで前記スプールファイルを生成すべく当該描画データを振り分け、前記再出力ステップにより出力された計算処理済みの描画データを前記グラフィックエンジンから受け取った場合に、前記印刷データ生成ステップで前記印刷データを生成すべく当該計算処理済みの描画データを振り分ける振分ステップを更に備えることを特徴とする印刷制御方法。
  4. 前記スプールファイルでスプールされた中間データの生成状況を監視して、該中間データに基づく印刷処理が可能であるかを判断する判断ステップを更に含み、
    前記再出力ステップは、Nページ分の論理ページの中間データのスプールファイルが生成されており、前記判断ステップにより印刷処理が可能であると判断される場合に、計算処理した描画データを前記グラフィックエンジンに再度出力することを特徴とする請求項3記載の印刷制御方法。
  5. 印刷対象用紙のレイアウトを行うことにより印刷装置で印刷される印刷データを生成するホストコンピュータで実行されるプログラムを記憶した記憶媒体であって、
    任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取り、加工対象となる中間データとしてスプールファイルを生成するスプールファイル生成ステップと、
    前記生成されたスプールファイルに対して、論理ページ単位に縦サイズと横サイズを取得する取得ステップと、
    物理ページをN(N:自然数)分割して、同一の面積であり、かつ、同一の縦横比となるN個の印刷領域を決定する領域決定ステップと、
    該各印刷領域の縦サイズと横サイズ、及び、前記取得ステップで取得された論理ページ毎の縦サイズと横サイズと論理ページのページ順とに基づいて、論理ページ毎に、物理ページにおける論理ページの縦サイズと横サイズを示すサイズ情報と、物理ページ上における位置を示す位置情報とを含む影響情報を決定する決定ステップと、
    前記決定ステップで決定された影響情報の内容に従って、前記領域決定ステップで決定された各印刷領域に、前記スプールファイルの各論理ページ内の描画データの物理ページにおける位置とサイズを計算し、計算処理された描画データを生成して、前記グラフィックエンジンに再度出力する再出力ステップと、
    前記再出力ステップにより出力された計算処理済みの描画データを前記グラフィックエンジンから受け取り、前記印刷装置で印刷される印刷データを生成する印刷データ生成ス テップとを含み、
    前記決定ステップは、前記サイズ情報を決定する際、同一物理ページに配置される第1論理ページに設定された用紙向きと第2論理ページに設定された用紙向きとが異なる場合に、前記第1論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第1拡大縮小率を算出し、当該第1拡大縮小率を用いて第1論理ページの縦サイズおよび横サイズを決定し、かつ、前記第2論理ページの縦サイズおよび横サイズが前記印刷領域に収まる第2拡大縮小率を算出し、当該第2拡大縮小率を用いて第2論理ページの縦サイズおよび横サイズを決定することを特徴とし、
    任意のアプリケーションにより生成された文書の描画データをオペレーティングシステムの描画手段であるグラフィックエンジンから受け取った場合に、前記生成ステップで前記スプールファイルを生成すべく当該描画データを振り分け、前記再出力ステップにより出力された計算処理済みの描画データを前記グラフィックエンジンから受け取った場合に、前記印刷データ生成ステップで前記印刷データを生成すべく当該計算処理済みの描画データを振り分ける振分ステップを更に備えることを特徴とするコンピュータ読み取り可能なプログラムを記憶した記憶媒体。
  6. 前記スプールファイルでスプールされた中間データの生成状況を監視して、該中間データに基づく印刷処理が可能であるかを判断する判断ステップを更に含み、
    前記再出力ステップは、Nページ分の論理ページの中間データのスプールファイルが生成されており、前記判断ステップにより印刷処理が可能であると判断される場合に、計算処理した描画データを前記グラフィックエンジンに再度出力することを特徴とする請求項5記載の記憶媒体。
JP19571498A 1997-07-30 1998-07-10 印刷制御装置及び印刷制御方法並びに記憶媒体 Expired - Lifetime JP4054444B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP19571498A JP4054444B2 (ja) 1997-07-30 1998-07-10 印刷制御装置及び印刷制御方法並びに記憶媒体
US09/123,328 US6580521B1 (en) 1997-07-30 1998-07-28 Print control apparatus, print control method and memory medium
EP98114211A EP0895182B1 (en) 1997-07-30 1998-07-29 Print control apparatus and method for page layout preparation
DE69839834T DE69839834D1 (de) 1997-07-30 1998-07-29 Druckersteuerungssysteme und -verfahren zur Vorbereitung eines Seitenlayouts
US10/392,902 US6922260B2 (en) 1997-07-30 2003-03-21 Print control apparatus, print control method and memory medium

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP9-218320 1997-07-30
JP21832197 1997-07-30
JP21832097 1997-07-30
JP9-218321 1997-07-30
JP19571498A JP4054444B2 (ja) 1997-07-30 1998-07-10 印刷制御装置及び印刷制御方法並びに記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007287108A Division JP4267047B2 (ja) 1997-07-30 2007-11-05 情報処理装置および制御方法および記憶媒体

Publications (2)

Publication Number Publication Date
JPH1199723A JPH1199723A (ja) 1999-04-13
JP4054444B2 true JP4054444B2 (ja) 2008-02-27

Family

ID=27327134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19571498A Expired - Lifetime JP4054444B2 (ja) 1997-07-30 1998-07-10 印刷制御装置及び印刷制御方法並びに記憶媒体

Country Status (4)

Country Link
US (2) US6580521B1 (ja)
EP (1) EP0895182B1 (ja)
JP (1) JP4054444B2 (ja)
DE (1) DE69839834D1 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4054444B2 (ja) * 1997-07-30 2008-02-27 キヤノン株式会社 印刷制御装置及び印刷制御方法並びに記憶媒体
JP3711435B2 (ja) * 1998-02-10 2005-11-02 セイコーエプソン株式会社 印刷データのプレビュー方法および装置、記録媒体
JP2000222156A (ja) * 1999-01-28 2000-08-11 Sony Corp 印刷出力制御装置、印刷出力制御方法及び印刷出力制御機能を有するプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001067347A (ja) 1999-06-23 2001-03-16 Canon Inc 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP4101983B2 (ja) * 1999-08-19 2008-06-18 東芝テック株式会社 画像処理装置
JP4328426B2 (ja) * 1999-11-02 2009-09-09 キヤノン株式会社 印刷制御方法および装置
JP3385613B2 (ja) * 1999-12-17 2003-03-10 日本電気株式会社 携帯電話用プリンタケーブル及び通信データの印刷方法
US20010013063A1 (en) * 2000-02-08 2001-08-09 Hall David M. System and method for applying printer-specific formatting
JP4517441B2 (ja) * 2000-03-17 2010-08-04 セイコーエプソン株式会社 プリンタドライバ、印刷制御方法及び情報記録媒体
US20010056449A1 (en) * 2000-04-27 2001-12-27 Hirokazu Kawamoto Information processing apparatus, print control apparatus, method of controlling an information processing apparatus, method of controlling a print control apparatus, and storage medium
JP2002036656A (ja) * 2000-07-31 2002-02-06 Olympus Optical Co Ltd プリンター
JP4298146B2 (ja) * 2000-08-22 2009-07-15 キヤノン株式会社 印刷データを生成する情報処理装置及び方法
US7480068B2 (en) * 2001-01-11 2009-01-20 Sharp Laboratories Of America, Inc. Methods and systems for page-independent spool file sheet assembly
US7548331B2 (en) * 2001-01-11 2009-06-16 Sharp Laboratories Of America, Inc. Methods and systems for print system component-based remote printing
US20030227644A1 (en) * 2001-01-11 2003-12-11 Sharp Laboratories Of America, Inc. Methods and systems for driver independent customized printing
US8456665B2 (en) 2001-01-11 2013-06-04 Sharp Laboratories Of America, Inc. Methods and systems for printing error recovery
US8411298B2 (en) * 2001-01-11 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for printing device load-balancing
US20020089687A1 (en) 2001-01-11 2002-07-11 Ferlitsch Andrew Rodney Methods and systems for print-processor-based printer status detection and print task distribution
JP3503744B2 (ja) * 2001-03-13 2004-03-08 セイコーエプソン株式会社 印刷制御プログラム、印刷制御プログラムを記録した媒体、印刷制御装置および印刷制御方法
JP4543600B2 (ja) * 2001-09-13 2010-09-15 セイコーエプソン株式会社 印刷データ編集システム、その編集方法及びその記録媒体
JP2003162520A (ja) * 2001-09-14 2003-06-06 Canon Inc 情報処理装置及び方法
JP2003308215A (ja) * 2002-02-14 2003-10-31 Canon Inc 情報処理装置、制御方法、制御プログラム
JP4293810B2 (ja) * 2002-03-22 2009-07-08 ニスカ株式会社 印刷制御システム及び印刷制御方法並びにプログラム
US7212309B1 (en) * 2002-08-30 2007-05-01 Microsoft Corporation Best fit printing
JP4564732B2 (ja) * 2002-10-02 2010-10-20 キヤノン株式会社 印刷制御装置、印刷制御方法、プリントシステム、プログラム
JP4235441B2 (ja) * 2002-12-20 2009-03-11 キヤノン株式会社 文書処理プログラム、文書処理方法および装置
JP2005018399A (ja) * 2003-06-26 2005-01-20 Oki Data Corp ページ処理装置およびページ処理方法
JP2005078236A (ja) * 2003-08-29 2005-03-24 Brother Ind Ltd 印刷制御装置
US20050068549A1 (en) * 2003-09-26 2005-03-31 Denny Jaeger Graphic user interface and method for selectively printing objects displayed on a display device
JP4266766B2 (ja) * 2003-10-10 2009-05-20 キヤノン株式会社 情報処理装置および情報処理方法
JP2005131915A (ja) * 2003-10-30 2005-05-26 Seiko Epson Corp 印刷装置および印刷方法並びに印刷装置用のプログラム
JP2005165466A (ja) * 2003-11-28 2005-06-23 Canon Inc 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP3840471B2 (ja) * 2003-12-24 2006-11-01 松下電器産業株式会社 原稿読取装置及びこれを備えた画像形成装置
US20050157344A1 (en) * 2004-01-16 2005-07-21 Hiroyuki Nagashima Printing data creation apparatus, printing data creation method and printing data creation program
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7880918B2 (en) * 2004-05-19 2011-02-01 Microsoft Corporation System and method for generating unified image output
JP4420281B2 (ja) * 2004-09-07 2010-02-24 株式会社沖データ 画像処理装置
US7990564B2 (en) * 2005-07-29 2011-08-02 Vistaprint Technologies Limited Automated image sizing and placement
JP2007152801A (ja) * 2005-12-06 2007-06-21 Ricoh Co Ltd 印刷データ処理装置、印刷装置、印刷システム、およびそのプログラムとそれを記録した記録媒体
US7440716B2 (en) * 2006-03-31 2008-10-21 Kabushiki Kaisha Toshiba Image copying apparatus and image copying method
US20070268504A1 (en) * 2006-05-16 2007-11-22 Proexecute, Llc Enhanced imaging spooler
JP4388941B2 (ja) * 2006-10-02 2009-12-24 シャープ株式会社 印刷処理装置
JP2008217060A (ja) * 2007-02-28 2008-09-18 Canon Inc 情報処理装置及び情報処理方法及び印刷システム
US20090033978A1 (en) * 2007-07-31 2009-02-05 Xerox Corporation Method and system for aggregating print jobs
US20100014767A1 (en) * 2008-07-16 2010-01-21 Xerox Corporation Auto-fit enhancements to support documents with engineering folds
US20080222522A1 (en) * 2007-03-05 2008-09-11 Xerox Corporation Method of background form print submission for document enhancement
JP4367517B2 (ja) * 2007-04-20 2009-11-18 ブラザー工業株式会社 印刷制御装置、印刷装置及び印刷制御プログラム
US20090185213A1 (en) * 2008-01-17 2009-07-23 Xerox Corporation Productivity of digital printing of jobs with different sizes of paper
JP5173456B2 (ja) * 2008-01-28 2013-04-03 キヤノン株式会社 印刷システムと印刷システムの制御方法、及びそのプログラムと記憶媒体
US8305593B2 (en) * 2008-12-03 2012-11-06 Xerox Corporation Predictive user interface mimics for finishing
JP5225062B2 (ja) 2008-12-26 2013-07-03 キヤノン株式会社 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP5170693B2 (ja) * 2009-02-23 2013-03-27 株式会社沖データ 画像処理装置
JP4725657B2 (ja) * 2009-02-26 2011-07-13 ブラザー工業株式会社 画像合成出力プログラム、画像合成出力装置及び画像合成出力システム
JP4725658B2 (ja) 2009-03-03 2011-07-13 ブラザー工業株式会社 画像合成出力プログラム、画像合成出力装置及び画像合成出力システム
US8294960B2 (en) * 2009-03-03 2012-10-23 Brother Kogyo Kabushiki Kaisha Image processing device and system, and computer readable medium therefor
JP5470937B2 (ja) * 2009-03-13 2014-04-16 株式会社リコー 画像形成装置、画像形成方法、画像形成プログラム、及び該プログラムを記録した記録媒体
JP4792099B2 (ja) * 2009-06-12 2011-10-12 株式会社沖データ 印刷プログラム及び印刷制御装置、ならびに画像形成装置
JP4935891B2 (ja) * 2009-12-21 2012-05-23 ブラザー工業株式会社 画像合成装置及び画像合成プログラム
US9817622B2 (en) 2010-01-20 2017-11-14 Hewlett-Packard Development Company, L.P. Cloud printer with a common user print experience
JP5610781B2 (ja) * 2010-01-21 2014-10-22 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2011243004A (ja) * 2010-05-18 2011-12-01 Ricoh Co Ltd 情報処理装置、印刷制御プログラム、記録媒体、印刷制御システム、及び画像形成装置
KR101760343B1 (ko) * 2010-08-23 2017-07-21 에스프린팅솔루션 주식회사 화상형성장치 및 그 장치에서 축소 이미지를 인쇄하는 방법
US8605323B2 (en) * 2010-08-31 2013-12-10 Hewlett-Packard Development Company, L.P. Automated imposition
JP2012200934A (ja) * 2011-03-24 2012-10-22 Fuji Xerox Co Ltd 画像データ処理システム
US8970877B2 (en) 2011-03-31 2015-03-03 Hewlett-Packard Development Company, L.P. Using a generic email address of a server and a sender email address to determine a destination printer for print data
EP2702476A4 (en) 2011-04-29 2014-10-08 Hewlett Packard Development Co METHOD FOR MANAGING PRINTING JOBS BY VIRTUAL PRINTING IDENTITY
US8976388B2 (en) 2012-05-30 2015-03-10 Hewlett-Packard Development Company, L.P. Printer identification validation procedure on a cloud computer system to recognize the target printer
JP6032990B2 (ja) * 2012-07-26 2016-11-30 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
US9087287B2 (en) 2013-03-13 2015-07-21 Xerox Corporation Individualizing reduction of original pages in N-up copying or printing
WO2015116174A1 (en) 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Authentication of a print request
JP2015148847A (ja) 2014-02-04 2015-08-20 キヤノン株式会社 ジョブ管理システム、画像形成装置、制御方法およびプログラム
JP2017004549A (ja) * 2016-08-10 2017-01-05 株式会社リコー 印刷システム
JP7413814B2 (ja) * 2020-02-14 2024-01-16 ブラザー工業株式会社 プログラムおよび情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899227A (en) 1987-01-26 1990-02-06 Canon Kabushiki Kaisha Image processing apparatus detecting the size or position of an information portion of an original
US4928252A (en) 1988-02-24 1990-05-22 Digital Equipment Corporation Printing apparatus and method for printing a plurality of pages onto a single sheet
JPH07119139B2 (ja) * 1989-11-20 1995-12-20 シャープ株式会社 画像処理装置
US5191429A (en) * 1990-09-28 1993-03-02 Xerox Corporation Electronic printing system for printing multiple images with determination of the maximum number of reduced size images to be optimally printed on a sheet of detected size without interference
US5768488A (en) 1995-02-24 1998-06-16 International Business Machines Corporation Enhanced page placement for multiple-up presentation
US6101513A (en) * 1996-05-31 2000-08-08 Microsoft Corporation Method and apparatus for displaying database information according to a specified print layout and page format
JP4054444B2 (ja) * 1997-07-30 2008-02-27 キヤノン株式会社 印刷制御装置及び印刷制御方法並びに記憶媒体

Also Published As

Publication number Publication date
US20030160977A1 (en) 2003-08-28
EP0895182A3 (en) 2000-10-18
EP0895182B1 (en) 2008-08-06
DE69839834D1 (de) 2008-09-18
US6580521B1 (en) 2003-06-17
EP0895182A2 (en) 1999-02-03
US6922260B2 (en) 2005-07-26
JPH1199723A (ja) 1999-04-13

Similar Documents

Publication Publication Date Title
JP4054444B2 (ja) 印刷制御装置及び印刷制御方法並びに記憶媒体
JP3673643B2 (ja) 印刷レイアウト装置及び印刷レイアウト方法並びに記憶媒体
US9052852B2 (en) Print control method and apparatus
JP3576819B2 (ja) 情報処理装置及び印刷制御方法並びに記憶媒体
US7233403B2 (en) Print control method and apparatus
JP4298146B2 (ja) 印刷データを生成する情報処理装置及び方法
JP3747130B2 (ja) 情報処理装置、メッセージ表示方法、インタフェース装置、及びコンピュータ読み取り可能なプログラムが格納された記憶媒体
US7916339B2 (en) Print layout and apparatus and method
US7307757B2 (en) Print control method and apparatus
JP3733288B2 (ja) 情報処理装置および印刷制御方法および記憶媒体
US6278524B1 (en) Printing control apparatus and method
US7477409B2 (en) Information processing apparatus, control method thereof, and computer-readable medium
US6411400B1 (en) Data processing apparatus, data processing method therefor, and storage medium for storing computer-readable program
US6337961B2 (en) Print control method and apparatus, and printer
JP4267047B2 (ja) 情報処理装置および制御方法および記憶媒体
JP3673684B2 (ja) 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071210

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

Free format text: PAYMENT UNTIL: 20101214

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

EXPY Cancellation because of completion of term