(57)【要約】【課題】  従来のアプリケーションを用いた上で、最終編集前のドキュメントと最終編集後のドキュメントとの差分の多寡に応じた印刷完了時間の短縮を自動で実現する。【解決手段】  仮想印刷装置指定を可能な仮想印刷装置指定手段（１０２）と、仮想印刷装置に対する仮想印刷データを仮想スプールデータとして保持し、対応するＧＤＩコマンドをＧＤＩデータとして保持する仮想スプールデータ保持手段（１０５）と、実印刷装置への印刷時にページごとのＧＤＩ差異を検出するページ差異検出手段（１０３）と、差異のあったページのみスプール処理し、差異のないページは仮想スプールデータを使用するスプールデータ統合手段（１０４）を持つ構成とした。【選択図】  図１
2013120400.tif 000002
【特許請求の範囲】
【請求項１】
文書編集アプリからのＧＤＩコマンドを解釈し印刷装置で印刷するための印刷データをスプールデータとして生成し、該スプールデータを印刷装置に送信して印刷を行う印刷システムにおいて、以下を含む
クライアント装置のドライバ（１０１）に実際の印刷装置と対をなす仮想印刷装置を指定可能な仮想印刷装置指定手段（１０２）と、
仮想印刷装置が指定された際に作成されるスプールデータを仮想スプールデータとして保持し、かつ、ＧＤＩコマンドも保持する仮想スプールデータ保持手段（１０５）と、
実印刷装置が指定された際、仮想スプールデータ保持手段より仮想スプールデータとＧＤＩコマンドの有無を識別しＧＤＩコマンドからページ単位で差異の有無を判別するページ差異検出手段（１０３）と、
ＧＤＩコマンドからスプールデータを生成することができ、ページ差異検出手段からの差異判別結果に基づき差異の有るページのみスプールデータ生成を行い仮想スプールデータの差異ページと入れ替えて統合することができるスプールデータ統合手段（１０４）
を持つことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で編集したドキュメントを印刷装置で印刷するための印刷データをコンピュータでスプールしてから印刷装置に印刷データを送信して印刷する印刷システムに関する。
【背景技術】
【０００２】
現在のドキュメントの編集業務では、複数人による協業として、同一のドキュメントファイルを複数のメンバーで分割して編集し、それぞれの編集結果を統合して完成させる編集業務の増加が顕著になっている。このような複数人による協業では、各メンバーが編集した情報を最終編集者が統合してドキュメントを完成させることになる。最終編集者は、この統合作業を終えてからドキュメント編集アプリケーションの印刷実行指示を行い、コンピュータによる印刷装置用印刷データスプールと印刷装置への印刷データ送信を実行させて印刷している。
【０００３】
このため、最終編集者は他のメンバーから最後の編集情報を入手してから統合編集して印刷実行指示を行うため、印刷実行指示から印刷完了までに要する時間は例え１ページの差し替えでもドキュメント全体の差し替えでも同じである。
【０００４】
つまり、５０ページのドキュメントだった場合に最後の編集情報が１ページの差し替えである場合でも、５０ページドキュメントである限り５０ページをスプールする時間を要している。
【０００５】
１ページの差し替えや修正の場合にユーザーが、いち早く最終印刷物を得る印刷方法としては、従来は以下の２通りで行われていた。１つ目は、編集完了前のドキュメントをページコンポーザーなどの印刷ユーティリティにてスプールしておき、編集完了後のドキュメントから差し替えたいページをユーザーが選択して差し替え印刷していた。2つ目は、編集完了前のドキュメントを印刷した後で編集完了後のドキュメントから差し替えたいページのみを印刷してユーザーが自らの手で印刷物を差し替えていた。
【０００６】
したがって、自動で編集完了前ドキュメントと編集完了後ドキュメントの差異を認識して差し替え印刷する技術が望まれている。
【０００７】
差異を認識して印刷する技術として、特許文献１や特許文献２が提案されている。
【０００８】
特許文献１では、文書をコンポーネント単位で作成し印刷装置に逐次印刷データ送信し、編集完了後ユーザーからの印刷指示を識別すると最後の差分のみを印刷装置に送信し印刷装置側で差分のみ入れ替えて印刷するものである。
【０００９】
しかし、文書編集部としてのアプリケーションが逐次印刷データを作成するしくみが必要であるため、従来のアプリケーションはこの提案を使用することができない。
【００１０】
同様に特許文献２もアプリケーションがあらかじめ特定領域のデータを印刷データに変換しておくことを必要とするため、同様に従来のアプリケーションではこの提案を使用することができない。
【００１１】
また、従来のアプリケーションを使いながら印刷完了を早める技術として、印刷実行指示の入力が確定する前に、印刷実行指示入力の開始を識別して確定前から印刷データを生成する技術が、特許文献３で提案されている。
【００１２】
特許文献３では、ユーザーが印刷設定として、両面／片面の選択、用紙／給紙口選択、部数変更などの指定をしている時間分は印刷完了を早めることが可能であった。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開2000-267827号公報
【特許文献２】特開2007-149056号公報
【特許文献３】特開2002-312137号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、上記の従来例では印刷設定の変更中の時間を短縮するものであり、印刷設定の変更時間分しか短縮できず、編集完了後の差分ページが１ページのみというような少ないページ変更でも全ページ変更と同じ短縮効果になっていた。このため、編集完了後の差分が小さいドキュメントの場合に差分が大きいドキュメントより早く印刷完了させることができなかった。
【００１５】
本発明では従来のアプリケーションを用いた上で、編集完了前のドキュメントと編集完了後のドキュメントとの差分の多寡に応じた印刷完了時間の短縮を自動で実現することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の印刷システムでは、以下の手段を具備する。
クライアント装置のドライバに実際の印刷装置と対を成す仮想印刷装置を指定可能な仮想印刷装置指定手段を持つ。
仮想スプールデータとＧＤＩデータを保持することが可能な仮想スプールデータ保持手段を持つ。
仮想スプールデータ保持手段が保持しているＧＤＩデータと文書編集アプリケーション（以下アプリ）から出力されるＧＤＩコマンドをページ毎に比較しページの差異を検出できるページ差異検出手段を持つ。該ページ差異検出手段は、アプリから出力されるＧＤＩコマンドを仮想スプールデータ保持手段に出力することができる。さらに、仮想スプールデータ保持手段の保持情報からＧＤＩデータの有無を検知することができ、ＧＤＩデータの有無により選択的にアプリから出力されるＧＤＩコマンドをスプールデータ統合手段に出力することができる。前記ＧＤＩコマンドのスプールデータ統合手段への出力選択は、ＧＤＩデータが保持に合わせて以下のように変化する。保持されていない場合はすべてのＧＤＩコマンドを出力し、保持されている場合は保持中ＧＤＩデータとアプリ出力ＧＤＩコマンドの差異を検出し、差異ページのアプリ出力ＧＤＩコマンドをページ情報と共に出力する。
該スプールデータ統合手段は、ページ差異検出手段から出力されるＧＤＩコマンドとページ情報から印刷装置で印刷するための印刷データを作成することができる。さらに、作成した印刷データをページ情報に基づき仮想スプールデータと統合することができ、印刷装置の指定が仮想か実かを検知し、指定に合わせて印刷データの出力先を仮想スプールデータ保持手段かスプーラーか選択することができる。
【発明の効果】
【００１７】
仮想スプールデータと実印刷装置指定時の変更ページのみ新規スプールして印刷データを得るため、変更ページが少ない場合には少ないスプール時間で印刷データ転送を開始して印刷完了を早くすることができる。
【００１８】
また、ページ差異検出手段により自動で差異ページを識別するため、ユーザーによる差異ページ指定の必要が無く、差し替えを自動で行うことができる。
【図面の簡単な説明】
【００１９】
【図１】実施例1の構成図である。
【図２】印刷動作フローを示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００２１】
本発明の実施例１の構成図を図１に示す。
【００２２】
１０は、クライアント装置でパーソナルコンピュータなどの文書編集が可能で印刷装置２０にて印刷することができる装置である。
【００２３】
１は、クライアント装置１０上で動作するドキュメント編集アプリケーションである。
【００２４】
２は、アプリ１で編集中のドキュメントである。３は、アプリ１で編集完了した印刷用のドキュメントである。
【００２５】
１０１は実施例１のドライバである。アプリ１から入力されるＧＤＩコマンドを印刷装置２０で印刷可能な印刷データに変換しスプーラー６に出力することができる。
【００２６】
１０２は実施例１の仮想印刷装置指定手段であり、ドライバ１０１に対する印刷入力時にユーザーが実印刷装置と仮想印刷装置を指定することができる。また、指定印刷装置が仮想か実かを印刷動作中保持し、ドライバ１０１の印刷動作を仮想スプールデータ作成か実印刷か振り分けることができる。
【００２７】
１０３は実施例１のページ差異検出手段でアプリ１から出力されるＧＤＩコマンドと格納済みＧＤＩデータとを比較しページ差異を検出することができる。さらに、指定印刷装置の仮想または実の情報と仮想スプールデータの有無情報に応じて、スプールデータ統合手段１０４に出力するＧＤＩデータを差異があるページのみとするか、すべてのＧＤＩデータとするかを切り替えることができる。
【００２８】
１０４は実施例１のスプールデータ統合手段で、ページ差異検出手段から出力されるＧＤＩデータから印刷装置が印刷可能な印刷データを作成することができる。さらに、指定印刷装置の仮想または実の情報から、スプーラー６への出力とするか仮想スプールデータ保持手段１０５への出力とするかを切り替えることができる。また、仮想スプールデータの有無情報に応じて、現在のページの印刷データを仮想スプールデータとして保持しているデータにするか、ＧＤＩデータから作成した印刷データにするかを切り替えることができる。
【００２９】
１０５は実施例１の仮想スプールデータ保持手段で、ドライバ１０１に仮想スプールデータが保持されているか通知することができる。また、指定印刷装置が仮想のときページ差異検出手段１０３から出力されるＧＤＩデータをＧＤＩデータ１０６として保持し、スプールデータ統合手段１０４から出力される印刷データを仮想スプールデータとして保持することができる。
【００３０】
１０６は実施例１の保持しているＧＤＩデータで、仮想スプールデータ保持手段１０５が保持したＧＤＩデータである。
【００３１】
１０７は実施例１の保持している仮想スプールデータで、仮想スプールデータ保持手段１０５が保持した仮想スプールデータである。
【００３２】
４は、クライアント装置１０のＨＤＤであり、クライアント装置１０上で動作するプログラムや一時的に格納するＧＤＩデータ、仮想スプールデータ、実デバイススプールデータ、さらには、編集中ＤＯＣ２、印刷用ＤＯＣ３などを格納することができる。ここでは、仮想スプールデータ保持手段１０５もＨＤＤの中に記載しているが、ＨＤＤ４の中に限るものではなく、不図示のＲＡＭ中に存在しても構わない。６はクライアント装置１０のスプーラーであり、ドライバ１０１から出力される印刷データを実デバイススプールデータ５として一時的に保持させることができる。７はクライアント装置１０の送信部で、実デバイススプールデータ５を印刷装置２０に送信させることができる。送信部７はＵＳＢのようにデバイスと直接接続されるインターフェースでもＬＡＮのようにネットワークを介する接続でも、実デバイススプールデータ５を印刷装置２０に送信できれば何でもよい。
【００３３】
２０は印刷装置でクライアント装置１０からの印刷データを受信して、印刷物を出力することができる。２１は、印刷装置２０の印刷処理部で受信部２２で受信した印刷データを使用して印刷部２３に印刷動作を行わせる処理を制御する。２２は印刷装置２０の受信部で、クライアント装置１０から送られてくる印刷データを受信し、印刷処理部２１に伝達することができる。２３は印刷部で印刷処理部２１の制御で印刷物を生成する。
【００３４】
次に、図２の印刷動作フローで、印刷ＤＯＣ３を印刷する際に編集中ＤＯＣ２と１ページの差異がある場合に、印刷ＤＯＣ３の印刷が通常よりも早く完了することを説明する。
【００３５】
編集中ＤＯＣ２をユーザーが仮想印刷装置を指定して印刷入力すると、印刷処理がスタートする（Ｓ１）。ドライバ１０１は指定された印刷装置が仮想か実かを仮想印刷装置指定手段１０２で確認する（Ｓ２）。仮想印刷装置が指定されているのでＳ３に進み、実デバイスＦＬＧを‘０’にする（Ｓ３）。実デバイスＦＬＧは指定された印刷装置が仮想か実かを判別できればなんでもよく、ドライバ１０１が動作中に使用するＲＡＭメモリの一部でも良いし、ＨＤＤ４の中の一部でもよい。
【００３６】
現在の印刷入力に対してＧＤＩ差異チェックを行うか否かを決定するため、仮想スプールデータＦＬＧが‘０’か確認する（Ｓ５）。仮想スプールデータＦＬＧは、ドライバ１０の動作で使用するＲＡＭ上にあっても良いし、ＨＤＤ４の中にあっても良い。また、ここでは、‘０’が仮想スプールデータ無し、‘１’が有りを示すが、逆でも構わない。
【００３７】
編集中ＤＯＣ２に対する最初の印刷なので仮想スプールデータは存在せず、仮想スプールデータＦＬＧが‘０’なので、ＧＤＩ差異チェックＦＬＧを‘０’とする（Ｓ６）。ＧＤＩ差異チェックＦＬＧは、ページ差異検出手段１０３の動作を切り替えることができれば何でも良く、ＦＬＧを設けても良いし、ハード的な信号を変化させても良い。ここでは、ページ差異検出手段の中のＦＬＧとする。また、ここでは‘０’でＧＤＩ差異チェックをせず、‘１’でＧＤＩ差異チェックを行うが、逆でも構わない。
【００３８】
ページカウントを開始する（Ｓ８）。最初なので１とする。
【００３９】
アプリ１から編集中ＤＯＣ２の１ページ目のＧＤＩデータを受信する（Ｓ９）。ＧＤＩ差異チェックＦＬＧでページ差異チェックを行うか否か確認する（Ｓ１０）。ＧＤＩ差異チェックＦＬＧが‘０’で、Ｙｅｓなので、アプリ１からのＧＤＩコマンドで印刷データを作成する（Ｓ１３）。
【００４０】
ここでは、ページ差異検出手段１０３で差異チェックを行わずにスプールデータ統合手段１０４にＧＤＩコマンドが出力される。スプールデータ統合手段１０４は受信したＧＤＩコマンドから印刷データを作成する。さらにページ差異検出手段１０３はページ情報込みでＧＤＩコマンドを仮想スプール保持手段１０５に出力し、仮想スプール保持手段１０５はＧＤＩデータとしてページ情報込みで保持する。
【００４１】
スプールデータ統合手段１０４は出力先をスプーラー６にするか仮想スプールデータ保持手段１０５にするかを決めるために実デバイスＦＬＧが‘１’であるか否か確認する（Ｓ１５）。実デバイスＦＬＧが‘０’なので、仮想スプールデータ保持手段１０５に出力し、仮想スプールデータ保持手段１０５に印刷データが格納されるので仮想スプールデータＦＬＧを‘１’にする（Ｓ１７）。
【００４２】
次ページのＧＤＩコマンドがあるか確認する（Ｓ１８）。編集中ＤＯＣ２は５０ページのドキュメントなので、次ページが存在し、Ｙｅｓなので、ページカウントを１インクリメントし（Ｓ１９）、Ｓ９のＧＤＩコマンド受信に戻る。
【００４３】
最後のページになるまで、Ｓ１９，Ｓ９〜Ｓ１８を繰り返す。
【００４４】
最後のページでは、Ｓ１８で次ページのＧＤＩコマンドがなくなり、Ｓ２０へ進み、ページカウントをクリアして、仮想印刷装置への編集中ＤＯＣ２の印刷動作を終了する（Ｓ２１）。
【００４５】
続いて、ユーザーが編集作業に戻り、編集中ＤＯＣ２への最後の編集情報を入手し、編集中ＤＯＣ２を編集して印刷用ＤＯＣ３とし、印刷用ＤＯＣ３を印刷するときの動作を説明する。この印刷用ＤＯＣ３は、３ページ目のみ、変更が入っている。
【００４６】
ユーザーがアプリ１から印刷用ＤＯＣ３を実印刷装置を指定して印刷入力すると、印刷処理がスタートする（Ｓ１）。仮想印刷装置指定手段１０２で実印刷装置指定であることを確認する（Ｓ２）。Ｓ４に進み、実デバイスＦＬＧを‘１’にする（Ｓ４）。
【００４７】
Ｓ５で仮想スプールデータＦＬＧは ‘１’なので、ＧＤＩ差異チェックＦＬＧを‘１’とする（Ｓ７）。
【００４８】
ページカウントを開始する（Ｓ８）。最初なので１とする。
【００４９】
アプリ１から印刷用ＤＯＣ３の１ページ目のＧＤＩデータを受信する（Ｓ９）。ＧＤＩ差異チェックＦＬＧが‘１’であり、Ｓ１０でＮｏなので、１ページ目のＧＤＩ差異チェックをページ差異検出手段１０３で実行する（Ｓ１１）。ＧＤＩ差異チェックでは、仮想スプールデータ保持手段１０５のＧＤＩデータ１０６から１ページ目のＧＤＩデータを読み出しながら、アプリ１から出力されているＧＤＩコマンドと比較していく。ＧＤＩデータ１０６にはページ情報も入っているため、ＧＤＩ差異チェック対象ページのＧＤＩデータを読み出すことができる。
【００５０】
１ページ目は変更が無いため、Ｓ１２から差異無しのＮｏでＳ１４に進む。Ｓ１４では、スプールデータ統合手段１０４がページ差異検出手段１０３からのＧＤＩデータの出力が来ないため、仮想スプールデータ保持手段１０５の仮想スプールデータ１０７を保持する。
【００５１】
スプールデータ統合手段１０４は実デバイスＦＬＧが‘１’なので（Ｓ１５）、スプーラー６に仮想スプールデータ１０７の１ページ目を出力し、仮想スプールデータＦＬＧを‘０’にする（Ｓ１６）。
【００５２】
次ページのＧＤＩコマンドがあるか確認する（Ｓ１８）。印刷用ＤＯＣ３は５０ページのドキュメントなので、次ページが存在し、Ｙｅｓなので、ページカウントを１インクリメントし（Ｓ１９）、Ｓ９のＧＤＩコマンド受信に戻る。
【００５３】
２ページ目もＳ９からＳ１８，Ｓ１９まで繰り返し、Ｓ９に戻って３ページ目のＧＤＩコマンド受信を行う。Ｓ１０から，Ｓ１１に進み、３ページ目のＧＤＩ差異チェックを開始する。Ｓ１２で差異があるため、ページ検出手段１０３はスプールデータ統合手段１０４にＧＤＩデータを出力し、スプールデータ統合手段１０４で印刷データを作成する（Ｓ１３）。スプールデータ統合手段１０４は、実デバイスＦＬＧが‘１’なので（Ｓ１５）、スプーラー６に印刷データを出力し、仮想スプールデータＦＬＧを０とする。既に０なので、０のときは何もしないとしても良い。ここで、仮想スプールデータ保持手段１０５の仮想スプールデータ１０７の３ページ目のデータは破棄しても良いし、何もしなくても構わない。
【００５４】
次ページがあるかＳ１８で確認し、次ページがあるのでＳ１９でページカウントに１を足し、Ｓ９に戻る。
【００５５】
４ページ〜５０ページまでは、差異が無いため、Ｓ１２でＳ１４に進み、仮想スプールデータ１０７のデータをスプーラー６に出力していき、５０ページ目を処理した時点でＳ１８からＳ２０、Ｓ２１と進み、ドライバ１０１の印刷処理が終了する。
【００５６】
以上のように、印刷用ＤＯＣ３の印刷動作としては、１、２ページと４〜５０ページに関してはＧＤＩデータから印刷データへのスプール時間無しとなり、３ページ目のみのスプール時間で終了した。
【００５７】
５０ページすべてにドキュメント修正があった場合は、従来と同じように５０ページ分のスプールを行ってスプール動作が終了するため、従来印刷にかかっていた時間と同じになる。
【００５８】
したがって、本発明の印刷システムでは、変更のあったページの多寡に応じて、印刷完了時間を早めることができる。
【符号の説明】
【００５９】
１  ドキュメント編集アプリケーション
２  編集中のドキュメント
３  編集完了した印刷用のドキュメント
１０１  実施例１のドライバ
１０２  実施例１の仮想印刷装置指定手段
１０３  実施例１のページ差異検出手段
１０４  実施例１のスプールデータ統合手段
１０５  実施例１の仮想スプールデータ保持手段
１０６  実施例１の保持しているＧＤＩデータ
１０７  実施例１の保持している仮想スプールデータ
【図１】
2013120400.tif 000003
【図２】
2013120400.tif 000004