JP4498372B2 - 印刷制御装置、印刷制御方法、プログラム、記録媒体 - Google Patents

印刷制御装置、印刷制御方法、プログラム、記録媒体 Download PDF

Info

Publication number
JP4498372B2
JP4498372B2 JP2007067602A JP2007067602A JP4498372B2 JP 4498372 B2 JP4498372 B2 JP 4498372B2 JP 2007067602 A JP2007067602 A JP 2007067602A JP 2007067602 A JP2007067602 A JP 2007067602A JP 4498372 B2 JP4498372 B2 JP 4498372B2
Authority
JP
Japan
Prior art keywords
print
printer
document
printing
distributed printing
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
JP2007067602A
Other languages
English (en)
Other versions
JP2007179571A (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 JP2007067602A priority Critical patent/JP4498372B2/ja
Publication of JP2007179571A publication Critical patent/JP2007179571A/ja
Application granted granted Critical
Publication of JP4498372B2 publication Critical patent/JP4498372B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、文書処理プログラム等、様々なプログラムによって生成される出力データをひとつの文書としてまとめ、その文書に対する編集機能を提供する文書処理システムにおいて使用される印刷制御装置及びその印刷制御方法等に関するものである。
文字や表、画像など、データの種類が異なると、データを定義する構造やそれらデータに対する編集操作が異なるために、データの種類に応じた様々なアプリケーションプログラムが提供されている。利用者は、文字を編集するためには文字処理プログラム、表を編集するためには表計算プログラム、画像を編集するためには画像編集プログラムといった具合に、データの種類別にアプリケーションを使い分けている。
このように、利用者はデータの種類ごとにアプリケーションプログラムを使い分けるのが一般的である。しかし、利用者が作成しようとする文書としては、例えば文字のみや、表のみ、画像のみといった1種類のデータのみから構成される文書よりも、文字と表、文字と画像など、複数種類のデータから構成される文書の方が一般的である。そこで複数種類のデータを含む目的文書を作成するために、利用者は各種アプリケーションが備えている印刷機能を利用してアプリケーションごとにデータを印刷させ、印刷物を所望の順序に組み合わせる必要があった。
あるいは、いわゆるオフィススイートと呼ばれる、各種アプリケーションによってひとつの統合アプリケーションを形成するプログラムには、各アプリケーションで生成されたデータを組み合わせ、ひとつの文書を構成する機能を提供するものもある。この統合アプリケーションを使用する場合には、利用者は、各アプリケーションで作成したデータを、統合アプリケーションに含まれる特定のアプリケーションによってひとつの目的文書にまとめることができる。
また、近年、マニュアル、カタログ、会議資料などの文書を電子文書で保管し、必要なときに、必要な部数だけ印刷するシステム(POD:Print On Demand)が普及している。PODシステムは、ユーザが作成した文書ファイルを印刷管理サーバにアップロードし、印刷管理サーバのオペレータが文書ファイルの印刷を行わせるものである。このようなシステムでは、通常の印刷のように、どのプリンタで出力するか、どのような体裁で出力するか、プリンタのどの機能を使用して印刷するか、といった指示を毎回行うのではなく、印刷すべき文書をオペレータが最初に印刷指示する際に、印刷管理サーバ上で上述した内容指示を、電子文書化して印刷指示情報の好適な一例である印刷指示文書(一般にジョブチケットと呼ばれる)とし、このジョブチケット情報を印刷管理サーバに登録しておくことにより、印刷文書作成者がいないような場合でも、毎回同一の出力体裁を得ることが可能になるようになっている。
また、そのようなシステムでは、印刷のスピードアップのため、あらかじめ登録した複数のプリンタへ処理を分散させる機能を備えたものもある。また、指定したプリンタが故障などで使用不可となったような時でも印刷の保証を行うため、あらかじめ指定されたプリンタで代行して印刷を行う機能を備えたものもある。この機能を使用する場合は、印刷指示文書(ジョブチケット)に記述されている印刷指示を、複数のプリンタへ同じように伝え、どのプリンタでも同一の成果物を得るようになっている。また、複数のプリンタで異なる条件(部数など)で出すためには、それぞれのジョブチケットが印刷管理サーバに登録する必要がある。
上述の従来技術として、例えば、以下の特許文献1乃至5に示されるものがある。
特開平09−006557号公報 特開2000−010753号公報 特開2001−043051号公報 特開平11−345100号公報 特開平11−134134号公報
従来のPODシステムでは、ジョブチケットを予め印刷管理サーバに登録する必要があり、また、分散印刷等のPODシステムの機能を利用するためには、PODシステムの印刷管理サーバを利用しなければならず、コストがかかってしまうという問題点がある。
そこで近年、クライアントPCから直接複数のプリンタに対する印刷ジョブを生成する分散印刷機能を持った印刷システムが考えられている。しかしながら、このような分散印刷機能を有した印刷システムは、クライアントPCが印刷指示を行うたびに、分散されるそれぞれのプリンタドライバの印刷設定を行う必要があり、常に印刷文書作成者がいる必要がある。
また、利用者が各種アプリケーションによる印刷物を組み合わせてひとつの目的文書を作成する場合、例えばページ番号を各ページに振るためには、いったん必要なデータをすべて印刷出力し、文書としてまとめてから付すべきページ番号を決定する必要がある。そして、各アプリケーションによって、そのアプリケーションで作成された原稿の各ページ(これを論理ページあるいは原稿ページと呼ぶ)ごとに、決定されたページ番号を書き込んでいく。アプリケーションプログラムがページ番号を振る機能を有している場合であっても、不連続部分があればその部分についてはやはり利用者がページ番号を指定しなければならない。また、目的文書のページを再配置した場合には、ページ番号もそれに合わせて振り直さなければならない。あるいは、複数の原稿ページを、印刷物としての1ページ(これを物理ページあるいは印刷ページと呼ぶ)にまとめたり、片面印刷から両面印刷に変更するなど、データの内容にかかる変更ではなく、単に書式を変更する場合であっても、アプリケーションによって編集および印刷のし直しが必要となる。
このように、データの種類ごとにそれを管理できるアプリケーションが異なることから、アプリケーション間のインターフェースを利用者自身が人手によって提供しなければならない。このことは、利用者に多大な労力が要求されるということであり、生産性の低下をもたらす。さらに、多くの人手を介することからエラーの発生も生じやすかった。
一方、統合アプリケーションを利用して目的文書を作成する場合、印刷出力せずに、データの状態で各種データを配置することができる。このため、印刷物を組み合わせて目的文書を作成する場合ほどには労力は必要とされることはない。
しかしながら、各種データを編集・作成するためのアプリケーションは、統合アプリケーションに含まれるものに限られてしまい、利用者が望むアプリケーションが使用できるとは限らない。また、統合アプリケーションによって作成された目的文書はひとつの文書ファイルであり、ファイル単位で編集・出力等の管理が行われる。そのために、文書ファイルの一部について書式を設定しようとしてもアプリケーションの機能による制約が多く、例えば書式が変わる部分ごとに書式設定を変更しては印刷し直すといった作業が必要とされる。このため、多くの労力が必要とされて生産性が低い点においては、前述した方法と変わりはなかった。
更に、分散印刷や代行印刷を行うプリンタとして指定されている複数のプリンタ間で、複数のプリンタのそれぞれの機能が異なる場合に、印刷指示文書に設定されている指示を、共通のデータとして、一括して複数のプリンタに通知できないという問題が生じる。
通常は、ユーザに印刷で使用するプリンタのプリンタドライバUIを介して印刷設定を指定させる。そして、その指定がOSを介してOSが提供するデータ構造体であるDEVMODEにプリンタドライバの固有の印刷設定情報が書き込まれ、印刷時にDEVMODEの設定がプリンタドライバに読み込まれて印刷データの生成が行われる。ここで、DEVMODEは、OSが提供するデータ構造体であり、後述するようにすでに規定されている標準部分と、各プリンタベンダーが自由に利用できる拡張部分とが存在している。このため、DEVMODEの構造体が利用できる部分は、DEVMODEの構造体の構造を知ることが出来る標準部分であった。
比較的自由に記述でき、仕様を別途入手しなければDEVMODEの構造を窺い知ることができない拡張部分に設定されている印刷設定の内容は、拡張部分の仕様を内部的に知っているDEVMODEに書き込んだプリンタドライバしか理解することができない。そのため、分散印刷を行わせる統合アプリケーションが理解することができないという問題があった。
上記課題を鑑み、本発明は印刷文書の処理を複数のプリンタにより分散して行なう場合でも、共通となる一般指示情報に基づいて、固有の印刷設定情報が必要なプリンタに対しては、その情報を生成し、印刷文書の分散処理の実行を可能にすることを目的とする。
上記課題を解決する本発明にかかる印刷制御装置は、アプリケーションを用いて、印刷データと分散印刷の設定が定義された印刷指示文書とを生成する文書生成手段と、
プリントサービス提供プログラムの制御下にて、前記印刷指示文書で定義された分散印刷の設定である分散印刷の印刷先となる複数のプリンタを指定する情報を読み出す読み出し手段と、
前記読み出し手段により読み出された情報を、前記アプリケーションの制御下にて、前記印刷指示文書に格納させる格納手段と、
前記格納手段により格納された前記印刷指示文書の分散印刷の設定に従って前記印刷データの分散印刷を実行する分散印刷実行手段と
を備えることを特徴とする。
本発明によれば、利用者の望むアプリケーションプログラムによって作成されるデータをひとまとめにした文書の作成および編集を可能とするとともに、その操作性を高めて文書編集の生産性を向上させることが可能になる。
本発明によれば、印刷指示情報に含まれる共通の設定だけでは、印刷処理ができない場合でも、印刷指示情報に含まれる共通の一般指示情報に基づいてプリンタ固有の印刷設定情報を生成し、その情報に基づき印刷文書の処理を実行することが可能になる。
印刷文書の処理を複数のプリンタにより分散して行なう場合であっても、共通となる一般指示情報に基づいて、固有の印刷設定情報が必要なプリンタに対しては、その情報を生成し、印刷文書の分散処理の実行が可能になる。
印刷文書の処理を複数のプリンタの代行順位に従い、処理する場合であっても、共通となる一般指示情報に基づいて、代行順位に該当するプリンタであり、固有の印刷設定情報が必要なプリンタに対しては、その情報を生成し、印刷文書の代行順位に従った処理の実行が可能になる。
印刷文書を作成した時点での各種設定が印刷指示情報に含まれるので、一旦保存した後も、他社のプリンタに対しても、DEVMODEの拡張部分を含めた指示を利用した印刷を行なうことが可能になる。
<システム概要>
本発明の情報処理システムに好適な実施形態である文書処理システムの概要を、図10〜図23を参照して説明する。この文書処理システムでは、一般アプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションはその電子原稿ファイルを編集する機能を提供している。以下、その詳細は説明する。
<システム構成及び動作>
図10は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の印刷制御装置に好適な実施形態であるデジタルコンピュータ1000によって実現されている。一般アプリケーション1010は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、OSに対する印刷機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインターフェース(一般に、GDIと呼ばれる)を利用する。
すなわち、アプリケーション1010は、作成したデータを印刷するために、前記インターフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、変換されたコマンド(DDI関数と呼ばれる)を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なる。そのために、デバイスごとにデバイスドライバが提供されており、OSではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブが生成される。OSとしてマイクロソフト社のウインドウズを利用する場合には、前述した出力モジュールとしてはGDIと呼ばれるモジュールが相当する。
電子原稿ライタ1020は、前述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。ただし、電子原稿ライタ1020は特定の出力デバイスを目的としておらず、後述の製本アプリケーション1040やプリンタドライバ1060により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ1020による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばアドビシステムズによるPDF形式や、SVG形式などが電子原稿形式として採用できる。アプリケーション1010により電子原稿ライタ1020を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ1020を指定してから印刷を実行させる。
ただし、電子原稿ライタ1020によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ1020を指定するのは製本アプリケーション1040であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。製本アプリケーション1040は、電子原稿ライタ1−2が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ1020によって作成されたファイルを電子原稿ファイルと呼び、製本アプリケーションによって構造を与えられた電子原稿ファイルをブックファイルと呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
デバイスドライバとして電子原稿ライタ1020を指定し、一般アプリケーション1010によりそのデータを印刷させる。これにより、アプリケーションデータはアプリケーション1010によって定義されたページ(以後論理ページあるいは原稿ページと呼ぶ)を単位とする電子原稿形式に変換され、電子原稿ファイル1030としてハードディスクなどの記憶媒体に格納される。なお、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション1040は電子原稿ファイルあるいはブックファイル1030を読み込み、それを編集するための機能を利用者に提供する。ただし製本アプリケーション1040は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション1040によって編集されたブックファイル1030を印刷する際には、製本アプリケーション1040によって電子原稿デスプーラ1050が起動される。電子原稿デスプーラ1050は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ1070のドライバ1060がデバイスドライバとして指定される。出力モジュールは、指定されたプリンタ1070のデバイスドライバ1060を用いて受信した出力コマンドを、プリンタ1070で解釈実行可能なデバイスコマンドに変換する。そしてデバイスコマンドはプリンタ1070に送信され、プリンタ1070によってコマンドに応じた画像が印刷される。
図11は、コンピュータ1000のハードウエアブロック図である。図11において、CPU2010は、ROM2030のプログラム用ROMに記憶された、あるいはハードディスク2110からRAM2020にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行する。CPU2010は、図10のソフトウェア構成や、後述するフローチャートの手順を実現する。RAM2020は、CPU2010の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)2050は、キーボード2090や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)2060は、CRTディスプレイ2100の表示を制御する。ディスクコントローラ(DKC)2070はブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)2110やフレキシブルディスク(FD)等とのアクセスを制御する。PRTC2080は、接続されたプリンタ1070との間の信号の交換を制御する。NC2120はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
<電子原稿データの形式>
編集アプリケーション1040の詳細に言及する前に、ブックファイルのデータ形式を説明する。ブックファイルは紙媒体の書物を模した3層の層構造を有する。上位層は「ブック」と呼ばれ、1冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページついてもページごとの属性が定義できる。ひとつのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができる。
図12(A)は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルは、ブック,章,ページは、それぞれに相当するノードにより示されている。ひとつのブックファイルはひとつのブックを含む。ブック,章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。なお、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
図12において、ブック3010には、ブック属性が定義されているとともに、2つの章3020A,3020Bがリンクされている。このリンクにより、章3020A,3020Bがブック3010に包含されていることが表示される。章3020Aには、ページ3030A,3030Bがリンクされ、これらページが含まれることが示されている。各ページ3030A,3030Bにはそれぞれ属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。これらリンクは、図12(B)に示す原稿ページデータ3040のデータ(1)、(2)を指し示し、ページ3030A、3030Bの実体が、原稿ページデータ(1)、(2)であることを表示する。
図13は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。なお、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
図14は章属性の、図15はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。これらは、ブックを通して定義される項目である。印刷方法属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙および裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定およびインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、および、合紙を挿入する場合には、給紙元の指定などを含む。
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
章属性に関しては、章に固有の項目はなく、すべてブック属性と重複する。したがって、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。このうち、N−up印刷指定属性は、1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1や1×2、2×2、3×3、4×4などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
ブック、章、ページについて共通な属性として、ウォーターマーク属性およびヘッダ・フッタ属性がある。ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白および下余白に印刷されるウォーターマークである。
ただし、ヘッダ・フッタには、ページ番号や日時など、変数により指定可能な項目が用意されている。なお、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
<ブックファイルの生成手順>
ブックファイルは上述したような構造および内容を有している。次に、製本アプリケーション1040および電子原稿ライタ1020によってブックファイルを作成する手順を説明する。ブックファイルの作成は、製本アプリケーション1040によるブックファイルの編集操作の一環として実現される。図16は、製本アプリケーション1040によりブックファイルを開く際の手順である。
まず、製本アプリケーション1040は、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS7010)。新規作成の場合には、製本アプリケーション1040は、章を含まないブックファイルを新規に作成する(ステップS7020)。新規に作成されるブックファイルは、図12の例で示せば、ブックノード3010のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインターフェース(UI)画面を表示する(ステップS7040)。図20は、新規にブックファイルが作成された際のUI画面の一例である。この場合には、ブックファイルは実質的な内容を持たないために、UI画面11000には何も表示されない。
一方、既存のブックファイルがあれば、製本アプリケーション1040は、指定されたブックファイルを開き(ステップS7030)、そのブックファイルの構造、属性、内容に従ってユーザインターフェース(UI)画面を表示する。図19は、このUI画面の一例である。UI画面11000は、ブックの構造を示すツリー部11010と、印刷された状態を表示するプレビュー部11020とを含む。ツリー部11010には、ブックに含まれる章、各章に含まれるページが、図12(A)のような木構造で表示される。ツリー部11010に表示されるページは原稿ページである。プレビュー部11020には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
さて、開かれたブックファイルには、電子原稿ライタによって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図16の手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図19の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。図17に電子原稿インポートの手順を示す。
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ1020を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換する(ステップS8010)。変換を終えたなら、変換されたデータが画像データであるか否かを判定する(ステップS8020)。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行える。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はS8010のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、S8010の処理を省略することも可能である。
画像データでなかった場合には、製本アプリケーション1040は、ステップS8010で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS8030)。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップS8010で生成された電子原稿ファイルに含まれる各原稿ページが追加される(ステップS8040)。
ただし、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるもにについてはその値が与えられる。例えば、Nup指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
図18は、図17のステップS8010において、電子原稿ライタ1020により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く(ステップS9010)。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとして、OSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換し、出力する(ステップS9020)。出力先はステップS9010で開いた電子原稿ファイルである。電子原稿ライタ1020は、指定されたデータすべてについて変換が終了したか判定し(ステップS9030)、終了していれば電子原稿ファイルを閉じる(ステップS9040)。電子原稿ライタ1020によって生成される電子原稿ファイルは、図12(B)に示した、原稿ページデータの実体を含むファイルである。
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
このほか、いったん行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図13乃至18に示す属性に捜査結果が反映されたり、あるいはブックファイルの構造に反映される。たとえば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図19に示す製本アプリケーションのUI画面11000からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション1040は、現在開かれているブックファイルからジョブチケットを作成して電子原稿デスプーラ1050に渡す。電子原稿デスプーラ1050は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDIコマンドに変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ1060によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
電子原稿デスプーラ1050は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
<そのほかのシステム構成>
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
図21はサーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるDOMS(Document Output Management Service:文書出力管理サービス)ドライバ1090を有する。また、クライアント文書処理システムは、DOMSプリントサービスモジュール(プリントサービス提供プログラム)1100、DS(文書サービス)クライアントモジュール1080を加えた構成を有する。このクライアント文書処理システム12000に、文書管理サーバ12010および印刷集中管理サーバ12020およびプリントサーバ12030が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。なお図21では文書管理サーバ12010と印刷集中管理サーバ12020の両サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバクライアントシステム12010SCがスタンドアロン型文書管理システムに追加される。印刷集中管理サーバ12020であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム12020SCが、スタンドアロン型文書管理システムに追加される。
文書管理サーバ12010は、製本アプリケーション1040により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ12010によってブックファイルを管理する場合、ブックファイルは、クライアントPCのローカルHDに代わって、あるいはそれに加えて、文書管理サーバ12010のデータベース12110に保存される。製本アプリケーション1040と文書管理サーバ12010との間のブックファイルの保存および読み出しは、DSクライアント1080及びDSコア12120を介して行われる。
印刷集中管理サーバ12020は、クライアント文書管理システム12000に格納された、あるいは文書管理サーバ12010に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、DOMSドライバ1090およびDOMSプリントサービスモジュール1100を介して印刷集中管理サーバ12020のDOMSWGサーバモジュール12210に送信される。集中印刷管理サーバ12020は、クライアントのプリンタで印刷する場合にはクライアントのDOMSプリントサービスモジュール1100を介して電子原稿デスプーラ1050に電子原稿データを渡す。そして、プリントサーバ12030により印刷する場合には、プリントサーバ12030のDOMSプリントサービスモジュール12030に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<プレビュー表示の内容>
すでに説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図19に示すユーザインターフェース画面11000が表示される。ツリー部11010には、開いているブック(以下、注目ブックと呼ぶ)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、3通りの表示方法が用意されている。第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。プレビュー部の表示にレイアウトは反映されない。第2は印刷ビューモードである。印刷ビューモードでは、プレビュー部11020には、原稿ページのレイアウトが反映された形で原稿ページが表示される。第3は簡易印刷ビューモードである。簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
以下、電子原稿デスプーラー1050に関連した実施形態を説明する。
<第1実施形態>
<装置の説明>
以下、図面を用いて本発明にかかる実施形態を詳細に説明する。
図1は第1実施形態にかかる印刷制御装置(情報処理装置)及びその関連機器より構成されるシステムのブロック図である。同図において、1はシステム・バスであり、これから説明する各構成ブロックはこのシステム・バスに接続している。2はCPU(Central Processing Unit)である。3はプログラム・メモリ(以下、「PMEM」という。)で、印刷制御のためのプログラムを適宜、ハードディスク10から選択し、読込みし、CPU2にてそのプログラムは実行される。
また、キーボード12から入力されたデータはテキスト・メモリでもあるPMEMにコード情報として格納される。4は通制御部であり、5の通信ポートに於ける入出力データの制御を行う。通信ポート5から出力された信号は、通信回線6を経由して、ネットワーク上の他の装置の通信ポートに伝えられる。ネットワーク上で共有されているプリンタや、画像読取装置とのデータの授受は、この通信制御部4を介して行われる。
また、本実施形態ではLANなどのネットワークに関して記述するが、この通信制御部4に接続される通信ポート5及び通信回線6が一般の公衆回線であっても本発明にかかる実施形態が適応できることは言うまでもない。
8は外部記憶制御部であり、9及び10はデータファイル用のディスクで、例えば9は、フレキシブルディスク(FD)であり、10はハードディスク(HD)である。11は入力制御部であり、12のキーボード、13のマウス等の入力装置が接続する。操作者は、このキーボード11を操作することによりシステムの動作指令等を入力する。
また、マウス13はCRT16上で画像情報を加工指示するためのポインティングデバイス(以下、「PD」と称す。)として機能する。これによりCRT16上のカーソルをX,Y方向任意に移動してコマンドメニュー上のコマンド・アイコンを選択して処理の指示を行なうほか編集対象の指示、描画位置の指示等を行なうことができる。14はビデオ・イメージ・メモリ(以下、「VRAM」と称す。)であり、15は表示出力制御部、16はCRTである。CRT16に表示されるデータはVRAM14上にビットマップデータとして展開されている。17はプリンタ制御部であり、接続しているプリンタ18に対するデータの出力制御を行う。1Aは、画像読取機器制御部であり、接続している画像読取機器1Bの制御を行う。
本発明における実施形態において、画像読取サーバ装置には、1A、1Bの構成要素が必須であるが、クライアント側装置では、前述のように通信制御部4及び通信ポート5を介してサーバ側で共有している構成要素を使用することができる。
更に、図1の構成は、画像読取機器と画像読取機器制御部が物理的に別々のコンポーネントであっても、画像読取機器制御部が、画像読取機器を含む1つのコンポーネントであっても同様な機能を有することとする。
なお、本実施形態でPMEMに記憶しているプログラムは、装置に直接接続されているハードディスク(HD)10やフレキシブルディスク(FD)9などの記憶媒体にも記憶されていてもよい。さらに、ネットワークで接続されている他の装置上に記憶されていてもよい。また、本実施形態において使用するプログラムは、FDやHDなどの記憶媒体やネットワークを介してシステムや印刷制御装置に供給することができる。
図2は本実施形態にかかる印刷制御の処理を説明するフローチャートである。
まず、ステップS201で、ユーザの指示により、印刷制御装置は印刷するべき対象となる印刷文書データ(以下、「印刷文書」という。)と、その印刷文書データを出力制御するための印刷指示文書データ(以下、「印刷指示文書」という。)の両方を受け取る。印刷指示文書は、印刷対象となる印刷文書に付随するデータであり、印刷対象の印刷文書をどのように印刷制御すべきかの情報が記述された電子文書データである。印刷文書と印刷指示文書は、場合により、統合されて一つの文書ファイルとなっている場合でも同様に、処理が可能である。
印刷指示文書の全体構造は、図5に示すようなデータ格納部を有するデータ構造を備える。印刷指示文書は、出力対象となるプリンタデバイス名(501)、印刷対象となる印刷文書名(502)、出力先の対象となるプリンタへの指示を記述する、プリンタへの指示情報部(503)を有する。また、印刷指示文書は、出力対象プリンタのDEVMODE格納部(504)、印刷文書の各頁をどのような配置、順序で印刷するかを記述するページ配置情報部(505)を有する。また、印刷指示文書はプリンタデバイスとしてネットワーク上において分散して接続する分散プリンタが指定されている場合に、メンバプリンタ名を格納するメンバプリンタ名称格納部(506)を有する。更に、印刷指示文書は、各メンバプリンタに対応するDEVMODEを格納するメンバDEVMODE格納部(507)を有する。
ここで、DEVMODEとは、デバイス、ここでは、プリンタに設定可能な設定情報の構造体である。この構造体には、基本部分と、拡張部分がある。この基本部分のデータ構造は一般に公開されている。このため、基本部分は、テキスト化して可視的にプログラミングすることも可能である。そして、拡張部分とは、各社が機能を比較的自由に拡張可能なフィールドである。例えば、拡張部分のうち、自社開発の部分などの予めデータ構造の定義を入手可能な部分は、データ構造ツールで解析することにより、DEVMODEの拡張部分の中身を知ることができる。しかし、拡張部分のうち、例えば、他社開発部分など、予めデータ構造を入手不能な部分は、データ構造が不明のため、解析不能であり内容を理解して設定することは一般にはできない。そこで、予めデータ構造を入手不能なDEVMODEの構造体であっても、そのDEVMODE構造体のデータを使用することができる仕組みが求められている。DmCopyieには、デバイスが複数部数のコピーをサポートしているときは、印刷するコピー部数を指定できる。
図22はOSが標準DEVMODEとして提供しているデータ構造の一部を示す図である。このDEVMODEの標準部分は、マイクロソフト社が提供するOSの仕様の一部として盛り込まれている。以下、構造体の各メンバについて説明する。DmDeviceNameにおいては、ドライバがサポートするデバイス名を指定する。各デバイス ドライバは、重複しない文字列を持つ。DmSpecVersionでは、構造体の基準になった初期化データ仕様のバージョン番号を指定する。DmDriverVersionは、プリンタ ドライバの開発者が割り当てたプリンタ ドライバのバージョン番号を指定する。DmSizeは、dmDriverData (デバイス固有の情報) のメンバを除いたDEVMODE構造体のサイズをバイト単位で指定する。
各社は、図22のこの標準部分の構造体のメンバの値を設定することができる。ただし、図22に図示されていない拡張部分については、拡張部分として一般には公開されない。DmDriverExtraは、この構造体に続くプライベートなドライバデータ(拡張DEVMODE、以下、拡張部分という。)のバイト長を保持する。デバイスドライバがデバイス固有の情報を使わないときは、このメンバに 0 を設定する。DmOrientationは、用紙の方向を指定できる。拡張部分は、本発明の拡張領域の好適な一例である。このメンバHADMORIENT_PORTRAIT (ポートレイト) または 、DMORIENT_LANDSCAPE(ランドスケープ) のどちらかになる。DmPaperSizeには、印刷する用紙のサイズを指定する。用紙の高さと幅がそれぞれ、dmPaperLength と dmPaperWidth メンバに対応するが、これらの値が設定されているときは、このメンバには 0 を設定することができる。以上が標準部分の説明である。
図23は、標準領域の好適な一例であるDEVMODEの標準部分2301と、拡張部分2302のメモリマップを示す図である。標準部分2301は、予めDEVMODEのデータ構造が分かっているので、開発ツールを用いて、図22に示すようなテキスト形式で表すことも出来る。例えば、DmDeviceName2304は図22の同じメンバに対応する。2305乃至2307及び図示を省略する他のメンバも同様に対応する。一方、拡張部分は仕様が入手できない場合が多く、この場合にはどのような設定が格納されているのかを窺い知ることができない。図23では、DEVMODEの標準部分と、拡張部分が連続的にメモリに配置されている例を示しているが、連続的に配置されていなくてもよい場合も有る。拡張部分には、N-Up,ポスター印刷モード、ステイプルの有無など、レイアウトに関連する設定情報をはじめ、その他印刷に関する設定情報が格納される。
プリンタへの指示情報部503には、プリンタへ指示するための共通の情報である、一般的な指示情報(一般指示情報)が格納されている。例えば、ステイプル位置、パンチ種類、両面印刷する/しない、給紙口の指定、などである。通常では、このような一般指示情報をもとに、対象となるプリンタのプリンタドライバの固有の印刷設定(DEVMODE)を作成し、その作成したDEVMODEを使用してプリンタへ指示情報を送る。
DEVMODE格納部504において、DEVMODEがすでに指示されている場合は、プリンタへの指示情報部503の記述にかかわらず、指示されているDEVMODEにより、プリンタへ指示を送る。DEVMODEの内容が不明なプリンタの場合、一般的な印刷指示からDEVMODEを作成することが不可能であり、そのため、ユーザがプリンタのプロパティで指定した印刷指示をそのまま 印刷指示文書中に含んで使用することを想定したものである。ただし、DEVMODEのうち、構造が明確になっている共通部分については、プリンタへの指示情報部503の印刷指示を反映させて、新しいDEVMODEを作成しても良いこととする。
本実施形態で使用するプリンタが、複数の分散プリンタとして指定されている場合の印刷指示文書の内容は、図6に示すようになる。プリンタデバイス名格納部(601)には、分散プリンタが指定されており、名称として、"プリンタセット1(分散用)"(602)、分散印刷実行の対象は3つのプリンタであることが記述されている(603)。
メンバプリンタ格納部(607)では、メンバプリンタ名として、"レーザプリンタ1"(608)、"レーザプリンタ2"(609)、" レーザプリンタ3"(610)等、複数のプリンタが設定されている。それぞれのメンバプリンタに対応するプリンタドライバの固有の印刷設定情報として、DEVMODE1(612),DEVMODE2(613)、DEVMODE3(614)がDEVMODE格納部(611)に格納されている。
あらかじめ、ユーザは、図4のダイアログ画面により、分散プリンタの設定を行う。図4のダイアログにおける出力方法401で設定されている「割合分散」とは、一つの印刷指示を指定された複数のプリンタへ、指定された割合で分割して印刷を実行させる指示である。複数のプリンタをメンバプリンタとして有し、これらを仮想プリンタ群として指定することにより、これら仮想プリンタ群を所定の割合分散に従って動作させる。図4において、分散プリンタを選択した場合、分散させるプリンタをメンバプリンタとして登録する。そして、各プリンタのプロパティで、印刷指示を設定することにより、各プリンタに応じたDEVMODEが作成され、その操作により、図6に示すような印刷指示文書を作成することができる。
具体的には、図4で分散プリンタの設定を行なった後、製本アプリケーションにてユーザが分散プリンタを出力先に指定した場合、対応するDOMSドライバが、分散プリンタの各メンバプリンタのDEVMODEを取得して、製本アプリケーションに伝える。これにより、製本アプリケーションはDOMSドライバから渡された、メンバプリンタのDEVMODEを印刷指示文書に格納する。処理を次のステップに進め、ステップS202で印刷指示文書をオープンする。
そして、DOMSプリントサービスにて、ステップS203で印刷指示文書に指定されたプリンタデバイス名を読み込み、印刷指示文書に、プリンタデバイス名が指定されているかどうかを調べる(S204)。プリンタデバイス名が指定されていない場合は(S204−なし)、システムに登録されているデフォルトプリンタ名を取得し、そのプリンタデバイスを出力対象とする(S205)。
次に、DOMSプリントサービスにて、プリンタデバイス名に対するドライバがシステムにインストールされているかどうかをチェックする(S206)。ドライバがインストールされていない場合(S207−No)、エラーとし、プリンタが使用不可能であることをユーザに通知する(S208)。
プリンタドライバがインストールされている場合には(S207−Yes)、詳細を後述するステップS209に処理を進め、該当プリンタでの印刷処理を行う。
図3は、図2のステップS209における、プリンタへの印刷指示処理の流れを説明するフローチャートである。
DOMSプリントサービスにて、指定されているプリンタが、分散用プリンタかどうかチェックし(S301)、分散プリンタの場合は(S301−Yes)、分散プリンタとしてメンバプリンタに指定されているプリンタの名称を読み込む(S302)。そして、そのプリンタへの出力の分散割合を読み込み(S303)、その分散割合に応じて、印刷指示文書の内容を書き換える(S304)。
電子原稿デスプーラにて、設定したプリンタに対応するプリンタドライバの固有の印刷設定情報(DEVMODE)が、印刷指示文書に含まれるか否かを調べる(S305)。印刷指示文書に含まれている場合は(S305−Yes)、それを読み込む(S307)。印刷指示文書に含まれていない場合は(S305−No)、図5における印刷指示文書に格納されているプリンタへの指示情報部503の内容(一般指示情報)であって、プリンタへの印刷指示部分の設定内容から、対象となるプリンタに対応するプリンタドライバの固有に印刷設定情報(DEVMODE)を作成する(S306)。このとき、実装によっては、DEVMODEが含まれている場合でも、プリンタへの指示情報部503の印刷指示を組合わせて設定したDEVMODEを作成しても良い。
続いて、読み込んだ、または、作成したDEVMODEにより、プリンタへ通知するべき指示をプリンタへ送る(S308)。具体的には、DOMSシステムに組み込まれた印刷処理モジュールであるデスプーラが、作成されたDEVMODEを用いて、OSのAPIである、CreateDC()を呼び出すことにより、印刷指示をプリンタへ通知する。そして、印刷文書の内容を、印刷指示文書に含まれるデータの展開指示情報に基づき展開し、プリンタへ展開したデータを送出し(S309)、ステップS309の処理の後、プリンタに全ての印刷データを送出したことを通知する(S310)。
具体的には、OSが提供するアプリケーション・プログラミング・インタフェースであるCreateDC()には、引数として、所望の記憶領域のポインタを与えることができる。デスプーラが、CreateDC()に引数として拡張DEVMODEを指し示すポインタを与え、ポインタが指し示す所望の記憶領域から、DEVMODEの構造体を取得し、ドライバモジュールに送るようにOSを制御する。CreateDC()を用いて、DEVMODEの構造体を得たドライバは、得た情報に基づいて、印刷対象となるプリンタに対して命令を送信する。DEVMODEに記述された内容に基づいて発行された命令がプリンタに送信され、プリンタはその命令に従って動作する。これにより、仕様を別途入手しなければDEVMODEの構造を窺い知ることができない拡張部分に設定されている印刷設定であっても、該設定を活用することができる。
DOMSプリントサービスにて、分散すべきメンバプリンタがまだ残っているかどうかを調べ(S311)、残っている場合には、ステップS302に戻り、続いて第2メンバプリンタ以降の候補プリンタに対し、同様に処理を行う。全ての印刷が終了したら、その旨をユーザに通知し(S312)、印刷を終了する。
本実施形態によれば、印刷指示文書に含まれる共通の設定だけでは、印刷処理ができない場合でも、印刷指示文書に含まれる共通の一般指示情報に基づいてプリンタ固有の印刷設定情報を生成し、その情報に基づき印刷文書の処理を実行することが可能となる。
また、印刷文書の処理を複数のプリンタにより分散して行なう場合であっても、共通となる一般指示情報に基づいて、固有の印刷設定情報が必要なプリンタに対しては、その情報を生成し、印刷文書の分散処理の実行が可能となる。
<第2実施形態>
第1実施形態では、割合分散により複数のプリンタをそれぞれ制御する内容を説明した。本実施形態では、出力先として指示した第1のプリンタが使用不可能な状態にある時や、印刷が失敗した場合に、予め設定してある第2、第3のプリンタへ、その指示内容を代行させる代行印刷において、複数のメンバプリンタを制御する内容を説明するものである。
本実施形態で使用するプリンタとして、代行用のプリンタが指定されている場合の印刷指示文書の内容は、図9に示すようなデータ構造となる。プリンタデバイス名格納部(901)では、代行用のプリンタが指定されており、名称として、"プリンタセット2(代行用)"(902)、代行する対象は3つのプリンタであることが記述されている(903)。
メンバプリンタ格納部(907)では、メンバプリンタ名として、"レーザプリンタ1"(908)、"レーザプリンタ2"(909)、" レーザプリンタ3"(910)等、複数のプリンタが設定されている。それぞれのメンバプリンタに対応するプリンタドライバの固有の印刷設定情報として、DEVMODE1(912),DEVMODE2(913)、DEVMODE3(914)がDEVMODE格納部(911)に格納されている。
予め、ユーザは、図8のダイアログにより、代行用プリンタを選択した場合、代行させるプリンタをメンバプリンタとして登録する。各プリンタのプロパティで、印刷指示を設定することにより、DEVMODEが作成され、その操作により、図9に示す印刷指示文書を作成できる。
具体的には、図8で代行プリンタの設定を行なった後、製本アプリケーションにてユーザが代行プリンタを出力先に指定した場合、対応するDOMSドライバが、代行プリンタの各メンバプリンタのDEVMODEを取得して、製本アプリケーションに伝える。これにより、製本アプリケーションはDOMSドライバから渡された、メンバプリンタのDEVMODEを印刷指示文書に格納する。代行は、メンバプリンタ名格納部に記述された順序で行われる。
図7の処理の流れは、図2で示した、プリンタへの印刷指示処理S209の部分の詳細である。まず、DOMSプリントサービスにて、指定されているプリンタが、代行用プリンタかどうかチェックし(S701)、代行用プリンタの場合は、代行用プリンタのメンバプリンタに指定されている第1のプリンタの名称を読み込む(S702)。
ここで、第1のプリンタが使用可能であるかどうかをチェックする(S704)。使用可能ではない場合(S704−No)、代行用プリンタに設定されている第2のメンバプリンタを読み込み(S703)、そのプリンタに対して処理を行う。
電子原稿デスプーラにて、設定したプリンタに対応するDEVMODEが、印刷指示文書に含まれるか否かを調べ(S705)、含まれている場合は、それを読み込む(S706)。含まれていない場合は、図5のプリンタへの指示情報部503の内容であって、プリンタへの印刷指示部分の設定内容から対象となるプリンタのDEVMODEを作成する(S707)。
このとき、実装によっては、DEVMODEが含まれている場合でも、プリンタへの指示情報部503の印刷指示を重ねて設定したDEVMODEを作成しても良い。
続いて、読み込んだ、または、作成したDEVMODEにより、プリンタへ通知するべき指示をプリンタデバイスへ送る(S708)。具体的には、DOMSシステムに組み込まれた印刷処理モジュールであるデスプーラが、作成されたDEVMODEを用いて、Windows(登録商標)APIである、CreateDC()を呼び出すことにより、印刷指示をプリンタへ通知する。CreateDC()には、引数として、所望の記憶領域のポインタを与えることができ、そのポインタが指す記憶領域から、DEVMODEの構造体を取得し、ドライバモジュールに送るものである。
CreateDC()から、DEVMODEの構造体を得たドライバは、印刷対象となるプリンタに対して命令を送信する。DEVMODEに記述された内容に基づいて発行された命令がプリンタに送信され、プリンタはその命令に従って動作する。従って、内容が不明な拡張DEVMODEであっても、そのDEVMODEを指し示すポインタをOSに渡すと、OSはポインタが指し示すアドレスからDEVMODEを読み出してドライバに送ることができる。
プリンタ全体の制御を統括するプリンタコントローラは、プリンタエンジン、ソータやステイプラなどのオプションを、該DEVMODEが示す設定情報に従って制御する。そして、印刷文書の内容を、印刷指示文書に含まれているデータの展開指示情報に基づき展開し、プリンタへ展開したデータを送出し(S709)、ステップS709の処理の後、プリンタに全ての印刷データを送出したことを通知する(S710)。
ここで、DOMSプリントサービスにて、印刷が成功したか否かをチェックし(S711)、成功していない場合は、代行用プリンタに設定されている次のメンバプリンタを読み込んで(S703)、そのプリンタについて、処理を続行する。全ての印刷が終了したら、その旨をユーザに通知し(S712)、印刷を終了する。
本実施形態によれば、印刷文書の処理を複数のプリンタの代行順位に従い、処理する場合であっても、共通となる一般指示情報に基づいて、代行順位に該当するプリンタであり、固有の印刷設定情報が必要なプリンタに対しては、その情報を生成し、印刷文書の代行順位に従った処理の実行が可能となる。
すなわち、本実施形態によれば、印刷すべき第1のプリンタで印刷が不可能となっていても、第1のプリンタの代行印刷によりメンバープリンタとして設定されている第2、第3のプリンタのDEVMODEにより、印刷文書データを出力することが可能となる。
<他の実施形態>
本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
本発明の目的は前述した機能を実現するソフトウェアを記憶したコンピュータ可読の記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
本発明の実施形態にかかる印刷制御装置及びその関連機器の構成を示すブロック図である。 印刷制御の処理を説明するフローチャートである。 割合分散による印刷指示の処理を説明するフローチャートである。 分散プリンタの設定を行うダイアログ例を示す図である。 印刷指示情報のデータ構造の例を示す図である。 複数の分散用プリンタを指定した場合の印刷指示情報のデータ構造の例を示す図である。 代行印刷による印刷指示の処理を説明するフローチャートである。 代行プリンタの設定を行うダイアログ例を示す図である。 複数の代行用プリンタを指定した場合の印刷指示情報のデータ構造の例を示す図である。 スタンドアロン型の文書処理システムのブロック図である。 文書処理システムを実現するコンピュータのブロック図である。 ブックファイルの構造の一例を示す図である。 ブック属性の一覧を示す図である。 章属性の一覧を示す図である。 ページ属性の一覧を示す図である。 ブックファイルを開く手順のフローチャートである。 電子原稿ファイルをブックファイルにインポートする手順のフローチャートである。 アプリケーションデータを電子原稿ファイルに変換する手順のフローチャートである。 既存のブックファイルを開いた際のユーザインターフェース画面の一例を示す図である。 新規のブックファイルを開いた際のユーザインターフェース画面の一例を示す図である。 クライアントサーバ型の文書処理システムのブロック図である。 OSが標準DEVMODEとして提供しているデータ構造を示す図である。 DEVMODEの標準部分と拡張部分のデータ構造を示す図である。
符号の説明
1 システム・バス
2 CPU
3 プログラム・メモリ
4 通信制御部
5 通信ポート
6 通信回線
7 ネットワーク上の他の装置
8 外部記憶制御部
9、10 データファイル用のディスク
11 入力制御部
12 キーボード
13 マウス等の入力装置
14 ビデオ・イメージ・メモリ
15 表示出力制御部
16 CRT
17 プリンタ制御部
18 プリンタ
19 外部機器制御部
1A 画像入力機器制御部
1B 画像入力機器

Claims (8)

  1. アプリケーションを用いて、印刷データと分散印刷の設定が定義された印刷指示文書とを生成する文書生成手段と、
    プリントサービス提供プログラムの制御下にて、前記印刷指示文書で定義された分散印刷の設定である分散印刷の印刷先となる複数のプリンタを指定する情報を読み出す読み出し手段と、
    前記読み出し手段により読み出された情報を、前記アプリケーションの制御下にて、前記印刷指示文書に格納させる格納手段と、
    前記格納手段により格納された前記印刷指示文書の分散印刷の設定に従って前記印刷データの分散印刷を実行する分散印刷実行手段と
    を備えることを特徴とする印刷制御装置。
  2. 前記プリントサービス提供プログラムを用いて複数のプリンタに対応する分散印刷の出力先となる仮想プリンタを設定する設定手段と、
    前記設定手段が設定した分散印刷を行う仮想プリンタを指定した場合に、前記プリントサービス提供プログラムを用いて、前記仮想プリンタに対応する前記複数のプリンタに対して特定の印刷設定を行う手段と
    を更に備えることを特徴とする請求項1に記載の印刷制御装置。
  3. 前記分散印刷の設定は分散印刷の割合であり、
    前記アプリケーションを用いて、分散印刷の割合と、複数の分散印刷の出力先に対応する仮想プリンタを指定する指定手段を更に備え、
    前記分散印刷実行手段は、前記プリントサービス提供プログラムを用いて、前記指定手段による分散印刷の出力先と分散割合に従った分散印刷を実行することを特徴とする請求項1に記載の印刷制御装置。
  4. 印刷制御装置で実行される印刷制御方法であって、
    文書生成手段が、アプリケーションを用いて、印刷データと分散印刷の設定が定義された印刷指示文書とを生成する文書生成工程と、
    読み出し手段が、プリントサービス提供プログラムの制御下にて、前記印刷指示文書で定義された分散印刷の設定である分散印刷の印刷先となる複数のプリンタを指定する情報を読み出す読み出し工程と、
    格納手段が、前記読み出し工程により読み出された情報を、前記アプリケーションの制御下にて、前記印刷指示文書に格納させる格納工程と、
    分散印刷実行手段が、前記格納工程で格納された前記印刷指示文書の分散印刷の設定に従って前記印刷データの分散印刷を実行する分散印刷実行工程と
    を備えることを特徴とする印刷制御方法。
  5. 設定手段が、前記プリントサービス提供プログラムを用いて複数のプリンタに対応する分散印刷の出力先となる仮想プリンタを設定する設定工程と、
    特定の印刷設定を行う手段が、前記設定工程が設定した分散印刷を行う仮想プリンタを指定した場合に、前記プリントサービス提供プログラムを用いて、前記仮想プリンタに対応する前記複数のプリンタに対して特定の印刷設定を行う工程と
    を更に備えることを特徴とする請求項4に記載の印刷制御方法。
  6. 前記分散印刷の設定は分散印刷の割合であり、
    指定手段が、前記アプリケーションを用いて、分散印刷の割合と、複数の分散印刷の出力先に対応する仮想プリンタを指定する指定工程を更に備え、
    前記分散印刷実行工程は、前記プリントサービス提供プログラムを用いて、前記指定工程による分散印刷の出力先と分散割合に従った分散印刷を実行することを特徴とする請求項4に記載の印刷制御方法。
  7. 請求項4乃至6のいずれか1項に記載の印刷制御方法をコンピュータに実行させることを特徴とするプログラム。
  8. 請求項7に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2007067602A 2001-09-14 2007-03-15 印刷制御装置、印刷制御方法、プログラム、記録媒体 Expired - Fee Related JP4498372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007067602A JP4498372B2 (ja) 2001-09-14 2007-03-15 印刷制御装置、印刷制御方法、プログラム、記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001280610 2001-09-14
JP2007067602A JP4498372B2 (ja) 2001-09-14 2007-03-15 印刷制御装置、印刷制御方法、プログラム、記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002242035A Division JP3984890B2 (ja) 2001-09-14 2002-08-22 印刷制御装置および方法、コンピュータプログラム、記憶媒体

Publications (2)

Publication Number Publication Date
JP2007179571A JP2007179571A (ja) 2007-07-12
JP4498372B2 true JP4498372B2 (ja) 2010-07-07

Family

ID=38304636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007067602A Expired - Fee Related JP4498372B2 (ja) 2001-09-14 2007-03-15 印刷制御装置、印刷制御方法、プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP4498372B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109599A (ja) * 1999-10-05 2001-04-20 Canon Inc 情報処理装置およびデータ処理方法および記憶媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143661A (ja) * 1997-11-14 1999-05-28 Casio Comput Co Ltd 印刷システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109599A (ja) * 1999-10-05 2001-04-20 Canon Inc 情報処理装置およびデータ処理方法および記憶媒体

Also Published As

Publication number Publication date
JP2007179571A (ja) 2007-07-12

Similar Documents

Publication Publication Date Title
JP3984890B2 (ja) 印刷制御装置および方法、コンピュータプログラム、記憶媒体
JP4564693B2 (ja) 文書処理装置及び方法
US6883981B2 (en) Printing control method and apparatus
JP3950657B2 (ja) 情報処理システム及びその表示方法、プログラム、並びに記録媒体
US7188311B2 (en) Document processing method and apparatus, and print control method and apparatus
JP5173246B2 (ja) 情報処理装置および情報処理方法およびプログラム
JP2003162519A (ja) 文書処理方法及びそのシステム
JP2006107142A (ja) 文書処理装置及び方法
US20100131566A1 (en) Information processing method, information processing apparatus, and storage medium
US20080313537A1 (en) Document management apparatus, document management method, and program
JP2006293598A (ja) 文書処理システム
JP4810027B2 (ja) 情報処理装置及び方法
JP4439864B2 (ja) 文書処理装置および文書処理方法およびプログラム
JP3937965B2 (ja) 文書処理方法及びその装置とプログラム
JP4532872B2 (ja) 文書処理方法及び文書処理装置
JP2003167719A (ja) 情報処理装置及び方法
JP4498372B2 (ja) 印刷制御装置、印刷制御方法、プログラム、記録媒体
JP4721391B2 (ja) 印刷制御装置及び方法
JP2006202025A (ja) 文書処理方法及び印刷制御方法及びそのシステム
JP3991028B2 (ja) 文書処理方法及び情報処理装置
JP4095624B2 (ja) 情報処理装置、印刷処理方法、プログラム、記憶媒体
JP4298412B2 (ja) 文書処理装置および印刷制御方法およびプログラム
JP4936496B2 (ja) 文書処理装置及びその方法
JP2006139561A (ja) 文書処理方法及びそのシステム
JP2003091528A (ja) 文書処理装置及びそのシステム及び方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091001

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

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

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

Free format text: PAYMENT UNTIL: 20130423

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees