(57)【要約】【課題】差異の出力を適切に行うことのできる文書出力装置、文書出力装置の制御方法、および文書出力装置の制御プログラムを提供する。【解決手段】文書出力装置は、新たな印刷指示を行ったユーザーの情報と、ユーザーの直近の印刷に関するアプリデータＡＤ１およびそのバージョンと、アプリデータＡＤ１を出力した際の印刷設定とを取得する。文書出力装置は、ユーザーの新たな印刷指示に関するアプリデータＡＤ２およびそのバージョンを取得する。文書出力装置は、アプリデータＡＤ１のバージョンとアプリデータＡＤ２のバージョンとが互いに異なる場合に、アプリデータＡＤ１のプリントジョブＰＤ１Ａと、アプリデータＡＤ１を出力した際の印刷設定でアプリデータＡＤ２を出力する場合のプリントジョブＰＤ２Ａとの差異に相当するプリントジョブＰＤΔ２Ａを抽出し、プリントジョブＰＤΔ２Ａに関する出力指示を印刷装置に対して行う。【選択図】図５
2014215932.tif 000002
【特許請求の範囲】
【請求項１】
新たな出力指示を行ったユーザーの情報と、前記ユーザーの出力指示により直近で出力した第１の文書と、前記第１の文書のバージョンと、前記第１の文書を出力した際の出力の設定とを取得する第１の取得手段と、
前記ユーザーの新たな出力指示に関する第２の文書と、前記第２の文書のバージョンとを取得する第２の取得手段と、
前記第１の文書のバージョンと前記第２の文書のバージョンとが互いに異なる場合に、前記第１の文書を出力した際のレイアウトと、前記第１の文書を出力した際の出力の設定で前記第２の文書を出力する場合のレイアウトとの差異を抽出する抽出手段と、
前記抽出手段にて抽出した差異に関する出力指示を出力装置に対して行う指示手段とを備えた、文書出力装置。
【請求項２】
前記抽出手段は、
前記第１の文書を出力した際のレイアウトを取得するレイアウト取得手段と、
前記第１の文書を出力した際の出力の設定で前記第２の文書を出力する場合のレイアウトを作成するレイアウト作成手段とを含む、請求項１に記載の文書出力装置。
【請求項３】
前記第１の取得手段は、前記第１の文書を出力した際の改ページ箇所をさらに取得し、
前記レイアウト作成手段は、前記改ページ箇所を固定して前記第２の文書を出力する場合のレイアウトを作成する、請求項２に記載の文書出力装置。
【請求項４】
前記レイアウト作成手段は、前記第２の文書における一のページに割り付けられる文字の行数が前記第１の文書における前記一のページに割り付けられる文字の行数から変化する場合には、前記第２の文書における前記一のページに割り付けられる文字を拡大または縮小したレイアウトを作成する、請求項２または３に記載の文書出力装置。
【請求項５】
前記第２の取得手段は、前記新たな出力指示に関する出力の設定をさらに取得し、
前記第１の文書のバージョンと前記第２の文書のバージョンとが互いに異なる場合において、前記第１の文書を出力した際の出力の設定と、前記新たな出力指示に関する出力の設定とが互いに異なるときに、出力の設定が異なることを報知する報知手段をさらに備えた、請求項１〜４のいずれかに記載の文書出力装置。
【請求項６】
前記抽出手段は、
前記第１の文書を出力した際のレイアウトと、前記第１の文書を出力した際の出力の設定で前記第２の文書を出力する場合のレイアウトとの差異である第１の差異を抽出する第１の抽出手段と、
前記新たな出力指示に関する出力の設定で前記第１の文書を出力する場合のレイアウトと、前記新たな出力指示に関する出力の設定で前記第２の文書を出力する場合のレイアウトとの差異である第２の差異を抽出する第２の抽出手段とを含み、
前記報知手段にて報知した場合に、前記第１の文書を出力した際の出力の設定と、前記新たな出力指示に関する出力の設定とのいずれの設定で出力するかの選択を受け付ける選択受付手段をさらに備え、
前記指示手段は、前記選択受付手段にて受け付けた選択に基づいて、前記第１および第２の差異のいずれか一方に関する出力指示を出力装置に対して行う、請求項５に記載の文書出力装置。
【請求項７】
前記報知手段は、前記第１の文書を出力した際の出力の設定で出力した場合に出力されるページ数と、前記新たな出力指示に関する出力の設定で出力した場合に出力されるページ数とをさらに報知する、請求項６に記載の文書出力装置。
【請求項８】
前記出力装置に対して行う差異に関する出力指示に、前記出力装置では設定することのできない出力の設定が含まれている場合に、前記出力装置では設定することのできない出力の設定を設定可能な他の出力装置を提示する提示手段と、
前記他の出力装置への変更を受け付ける変更受付手段とをさらに備え、
前記変更受付手段にて変更を受け付けた場合、前記指示手段は、差異に関する出力指示を前記他の出力装置に対して行う、請求項１〜７のいずれかに記載の文書出力装置。
【請求項９】
前記抽出手段にて抽出した差異が１枚の用紙の一部分である場合、前記指示手段は前記一部分を含む用紙全体に関する出力指示を前記出力装置に対して行う、請求項１〜８のいずれかに記載の文書出力装置。
【請求項１０】
前記出力装置で過去に実行した出力履歴を記憶する記憶手段をさらに備え、
前記第１の取得手段は、前記ユーザーの情報に基づいて、前記第１の文書のバージョンと、前記第１の文書を出力した際の出力の設定とを前記出力履歴の中から検索する、請求項１〜９のいずれかに記載の文書出力装置。
【請求項１１】
新たな出力指示を行ったユーザーの情報と、前記ユーザーの出力指示により直近で出力した第１の文書と、前記第１の文書のバージョンと、前記第１の文書を出力した際の出力の設定とを取得する第１の取得ステップと、
前記ユーザーの新たな出力指示に関する第２の文書と、前記第２の文書のバージョンとを取得する第２の取得ステップと、
前記第１の文書のバージョンと前記第２の文書のバージョンとが互いに異なる場合に、前記第１の文書を出力した際のレイアウトと、前記第１の文書を出力した際の出力の設定で前記第２の文書を出力する場合のレイアウトとの差異を抽出する抽出ステップと、
前記抽出ステップにて抽出した差異に関する出力指示を出力装置に対して行う指示ステップとを備えた、文書出力装置の制御方法。
【請求項１２】
新たな出力指示を行ったユーザーの情報と、前記ユーザーの出力指示により直近で出力した第１の文書と、前記第１の文書のバージョンと、前記第１の文書を出力した際の出力の設定とを取得する第１の取得ステップと、
前記ユーザーの新たな出力指示に関する第２の文書と、前記第２の文書のバージョンとを取得する第２の取得ステップと、
前記第１の文書のバージョンと前記第２の文書のバージョンとが互いに異なる場合に、前記第１の文書を出力した際のレイアウトと、前記第１の文書を出力した際の出力の設定で前記第２の文書を出力する場合のレイアウトとの差異を抽出する抽出ステップと、
前記抽出ステップにて抽出した差異に関する出力指示を出力装置に対して行う指示ステップとをコンピューターに実行させる、文書出力装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書出力装置、文書出力装置の制御方法、および文書出力装置の制御プログラムに関し、より特定的には、バージョンの異なる２つの文書からの差異の出力を適切に行うことのできる文書出力装置、文書出力装置の制御方法、および文書出力装置の制御プログラムに関する。
【背景技術】
【０００２】
会議において主催者は、参加者（参加予定者）に対して会議内容を事前に知らせるべく、会議で使用する文書を前もって公開することが多い。参加者は、公開された文書を会議前に各自で出力（たとえば印刷）し、会議に持参する。
【０００３】
しかし、文書に誤記があったことや、文書が流動的な内容を含んでいることなどを理由として、主催者は、参加者に文書を一旦公開した後で、公開した文書の一部を差し替えることも多い。このような場合、参加者がそれまでに出力した文書は古いバージョンのものとなり、文書を出力した参加者は、差し替え後の新しいバージョンの文書の出力をやり直す必要がある。
【０００４】
新しいバージョンの文書の出力をやり直す場合、新しいバージョンの文書と古いバージョンの文書との間には共通部分が存在する。このため、共通部分の出力を省略し、差異のみを出力することで、新しいバージョンの文書を全ページにわたって出力する場合に比べて出力に要する処理時間を短縮し、文書を印刷にて出力する場合には用紙の無駄を防止することができる。しかし、共通部分を特定するためには、新しいバージョンの文書と古いバージョンの文書とを全ページにわたってユーザーが対比する必要があり、煩雑であった。
【０００５】
そこで、ユーザーが過去に印刷した古いバージョンの文書を文書出力装置などが記憶しておき、新しいバージョンの文書の出力を行う場合に、文書出力装置などが古いバージョンの文書と新しいバージョンの文書との差異を抽出して出力する技術が提案されている。この種の技術として、下記特許文献１には、ユーザーの指示に従って、特定の会議に関する複数のバージョンの資料データのうち任意のバージョンの資料データを、基準資料データとして設定する基準設定部と、特定の会議の参加者の印刷履歴であって、特定の会議に関する資料データの印刷履歴を取得する印刷履歴検索部と、印刷履歴検索部において取得された印刷履歴に基づいて、特定の会議の参加者が印刷した資料データと、特定の会議に関する基準資料データとの差分を算出する演算部と、差分に相当する差分データを印刷する印刷部とを備える資料印刷システムが開示されている。
【０００６】
また、下記特許文献２には、入力データの差分のみを印刷する確認プリントを指定する指定手段と、データ処理装置から受信した受信ジョブと同一ジョブが印刷装置内に存在するかを検索する検索手段と、受信ジョブのジョブ情報とイメージデータとを関連付けて記憶する記憶手段と、受信ジョブと記憶した保存ジョブの画像をページ単位に比較する画像比較手段と、受信ジョブと記憶した保存ジョブの紙へのマッピングを比較するマッピング比較手段と、受信ジョブと記憶した保存ジョブの属性の違いを比較する属性比較手段と、上記の比較結果から印刷すべきページを決定し印字する印字手段と、受信ジョブを印刷装置内の記憶媒体に格納するか否かを判断するジョブ格納判断手段とを備えた印刷システムが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−４３２１３号公報
【特許文献２】特開２０１２−２２１１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術には、古いバージョンの文書の印刷設定と新しいバージョンの文書の印刷設定とが異なる場合に、差異の出力を適切に行うことができないという問題があった。
【０００９】
図１５は、従来技術の問題点を説明する図である。なお図１５では、古いバージョンの文書にハッチングを付している。
【００１０】
図１５を参照して、たとえばユーザーが、（ａ）に示す古いバージョンの文書を、（ｂ）に示すように印刷設定を集約印刷（たとえば２ｉｎ１など）にして印刷し、その後、（ｃ）に示すように文書を新しいバージョンに差し替えた場合を想定する。新しいバージョンの文書では、２ページ目の最後の文字が「０」から「Ａ」に変更されている。この場合、ユーザーが新しいバージョンの文書の印刷設定を通常サイズ（集約なし）にして印刷を実行すると、（ｄ）に示すように、新しいバージョンの文書の印刷設定に従って、差異のあるページが通常サイズで印刷されていた。その結果、ユーザーは古いバージョンの文書の関連部分（（ｂ）に示す文書の１ページ目）を差異のあるページと差し替えることはできなかった。
【００１１】
本発明は、上記課題を解決するためのものであり、その目的は、差異の出力を適切に行うことのできる文書出力装置、文書出力装置の制御方法、および文書出力装置の制御プログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の一の局面に従う文書出力装置は、新たな出力指示を行ったユーザーの情報と、ユーザーの出力指示により直近で出力した第１の文書と、第１の文書のバージョンと、第１の文書を出力した際の出力の設定とを取得する第１の取得手段と、ユーザーの新たな出力指示に関する第２の文書と、第２の文書のバージョンとを取得する第２の取得手段と、第１の文書のバージョンと第２の文書のバージョンとが互いに異なる場合に、第１の文書を出力した際のレイアウトと、第１の文書を出力した際の出力の設定で第２の文書を出力する場合のレイアウトとの差異を抽出する抽出手段と、抽出手段にて抽出した差異に関する出力指示を出力装置に対して行う指示手段とを備える。
【００１３】
上記文書出力装置において好ましくは、抽出手段は、第１の文書を出力した際のレイアウトを取得するレイアウト取得手段と、第１の文書を出力した際の出力の設定で第２の文書を出力する場合のレイアウトを作成するレイアウト作成手段とを含む。
【００１４】
上記文書出力装置において好ましくは、第１の取得手段は、第１の文書を出力した際の改ページ箇所をさらに取得し、レイアウト作成手段は、改ページ箇所を固定して第２の文書を出力する場合のレイアウトを作成する。
【００１５】
上記文書出力装置において好ましくは、レイアウト作成手段は、第２の文書における一のページに割り付けられる文字の行数が第１の文書における一のページに割り付けられる文字の行数から変化する場合には、第２の文書における一のページに割り付けられる文字を拡大または縮小したレイアウトを作成する。
【００１６】
上記文書出力装置において好ましくは、第２の取得手段は、新たな出力指示に関する出力の設定をさらに取得し、第１の文書のバージョンと第２の文書のバージョンとが互いに異なる場合において、第１の文書を出力した際の出力の設定と、新たな出力指示に関する出力の設定とが互いに異なるときに、出力の設定が異なることを報知する報知手段をさらに備える。
【００１７】
上記文書出力装置において好ましくは、抽出手段は、第１の文書を出力した際のレイアウトと、第１の文書を出力した際の出力の設定で第２の文書を出力する場合のレイアウトとの差異である第１の差異を抽出する第１の抽出手段と、新たな出力指示に関する出力の設定で第１の文書を出力する場合のレイアウトと、新たな出力指示に関する出力の設定で第２の文書を出力する場合のレイアウトとの差異である第２の差異を抽出する第２の抽出手段とを含み、報知手段にて報知した場合に、第１の文書を出力した際の出力の設定と、新たな出力指示に関する出力の設定とのいずれの設定で出力するかの選択を受け付ける選択受付手段をさらに備え、指示手段は、選択受付手段にて受け付けた選択に基づいて、第１および第２の差異のいずれか一方に関する出力指示を出力装置に対して行う。
【００１８】
上記文書出力装置において好ましくは、報知手段は、第１の文書を出力した際の出力の設定で出力した場合に出力されるページ数と、新たな出力指示に関する出力の設定で出力した場合に出力されるページ数とをさらに報知する。
【００１９】
上記文書出力装置において好ましくは、出力装置に対して行う差異に関する出力指示に、出力装置では設定することのできない出力の設定が含まれている場合に、出力装置では設定することのできない出力の設定を設定可能な他の出力装置を提示する提示手段と、他の出力装置への変更を受け付ける変更受付手段とをさらに備え、変更受付手段にて変更を受け付けた場合、指示手段は、差異に関する出力指示を他の出力装置に対して行う。
【００２０】
上記文書出力装置において好ましくは、抽出手段にて抽出した差異が１枚の用紙の一部分である場合、指示手段は一部分を含む用紙全体に関する出力指示を出力装置に対して行う。
【００２１】
上記文書出力装置において好ましくは、出力装置で過去に実行した出力履歴を記憶する記憶手段をさらに備え、第１の取得手段は、ユーザーの情報に基づいて、第１の文書のバージョンと、第１の文書を出力した際の出力の設定とを出力履歴の中から検索する。
【００２２】
本発明の他の局面に従う文書出力装置の制御方法は、新たな出力指示を行ったユーザーの情報と、ユーザーの出力指示により直近で出力した第１の文書と、第１の文書のバージョンと、第１の文書を出力した際の出力の設定とを取得する第１の取得ステップと、ユーザーの新たな出力指示に関する第２の文書と、第２の文書のバージョンとを取得する第２の取得ステップと、第１の文書のバージョンと第２の文書のバージョンとが互いに異なる場合に、第１の文書を出力した際のレイアウトと、第１の文書を出力した際の出力の設定で第２の文書を出力する場合のレイアウトとの差異を抽出する抽出ステップと、抽出ステップにて抽出した差異に関する出力指示を出力装置に対して行う指示ステップとを備える。
【００２３】
本発明の他の局面に従う文書出力装置の制御プログラムは、新たな出力指示を行ったユーザーの情報と、ユーザーの出力指示により直近で出力した第１の文書と、第１の文書のバージョンと、第１の文書を出力した際の出力の設定とを取得する第１の取得ステップと、ユーザーの新たな出力指示に関する第２の文書と、第２の文書のバージョンとを取得する第２の取得ステップと、第１の文書のバージョンと第２の文書のバージョンとが互いに異なる場合に、第１の文書を出力した際のレイアウトと、第１の文書を出力した際の出力の設定で第２の文書を出力する場合のレイアウトとの差異を抽出する抽出ステップと、抽出ステップにて抽出した差異に関する出力指示を出力装置に対して行う指示ステップとをコンピューターに実行させる。
【発明の効果】
【００２４】
本発明によれば、差異の出力を適切に行うことのできる文書出力装置、文書出力装置の制御方法、および文書出力装置の制御プログラムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】文書印刷システムの動作の概要を概念的に説明する図である。
【図２】文書印刷システムの機能的構成を示すブロック図である。
【図３】印刷履歴保持部１１１が保持する印刷履歴を模式的に示す図である。
【図４】最適印刷装置提示部１２１が保持する印刷可能テーブルを模式的に示す図である。
【図５】本発明の第１の実施の形態における文書管理サーバー１００の具体的な動作を説明する図である。
【図６】本発明の第１の実施の形態において、文書管理サーバー１００の制御により端末３００に表示される画面を模式的に示す図である。
【図７】本発明の第１の実施の形態における文書印刷システムの動作を示すフローチャートの第１の部分である。
【図８】本発明の第１の実施の形態における文書印刷システムの動作を示すフローチャートの第２の部分である。
【図９】本発明の第１の実施の形態における文書印刷システムの動作を示すフローチャートの第３の部分である。
【図１０】本発明の第２の実施の形態における文書管理サーバー１００の具体的な動作を説明する図である。
【図１１】本発明の第２の実施の形態における文書管理サーバー１００の具体的な動作の変形例を説明する図である。
【図１２】本発明の第２の実施の形態において、文書管理サーバー１００の制御により端末３００に表示される画面を模式的に示す図である。
【図１３】本発明の第２の実施の形態における文書印刷システムの動作を示すフローチャートである。
【図１４】文書印刷システムの変形例を概念的に説明する図である
【図１５】従来技術の問題点を説明する図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、図面に基づいて説明する。
【００２７】
［第１の実施の形態］
【００２８】
（文書印刷システムの動作の概要）
【００２９】
始めに、文書印刷システムの動作の概要について説明する。
【００３０】
図１は、文書印刷システムの動作の概要を概念的に説明する図である。
【００３１】
図１（ａ）を参照して、本実施の形態における文書印刷システムは、文書管理サーバー（文書出力装置の一例）１００と、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）２００ａ、２００ｂ、２００ｃ（出力装置の一例、以下、ＭＦＰ２００ａ、２００ｂ、および２００ｃのうち任意のものをＭＦＰ２００と呼ぶことがある）と、端末３００ａ、３００ｂ、および３００ｃ（以下、端末３００ａ、３００ｂ、および３００ｃのうち任意のものを端末３００と呼ぶことがある）とを備える。
【００３２】
文書管理サーバー１００、ＭＦＰ２００ａ、２００ｂ、および２００ｃ、ならびに端末３００ａ、３００ｂ、および３００ｃの各々は、ネットワーク４００により相互に接続されている。
【００３３】
端末３００の各々と、ＭＦＰ２００ａとはいずれも同じ部屋に設置されており、端末３００の各々のユーザーは、ＭＦＰ２００ａをメインのＭＦＰとして使用する。ＭＦＰ２００ｂおよび２００ｃは、ＭＦＰ２００ａとは別の部屋に設置されている。端末３００ｃは、会議の主催者Ｃ（または資料作成者）の端末であり、会議に使用する文書（以降、単に文書と呼ぶことがある）を作成するために使用される。端末３００ａおよび３００ｂの各々は、会議の参加者ＡおよびＢの各々の端末であり、参加者ＡおよびＢの各々がＭＦＰ２００に対して文書の印刷指示を出したり、文書を閲覧したりするために使用される。
【００３４】
文書は、文書管理サーバー１００のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）に保存されている。主催者Ｃは、端末３００ｃから文書管理サーバー１００にアクセスすることにより、文書を作成することができる。参加者ＡおよびＢ、ならびに主催者Ｃの各々は、端末３００ａ、３００ｂ、および３００ｃの各々から文書管理サーバー１００にアクセスすることにより、文書を閲覧することができ、ＭＦＰ２００で印刷することができる。文書管理サーバー１００は、パスワードおよびＩＤの入力を要求するなどの方法で端末３００のユーザーの認証を行い、認証されたユーザーに対してのみ、文書の作成や閲覧を許可してもよい。
【００３５】
会議に使用する文書のアプリケーションデータ（以降、アプリデータと呼ぶことがある）は、主催者Ｃによって端末３００ｃで作成され、文書管理サーバー１００のＨＤＤに保存されている。バージョン１の文書であるアプリデータＡＤ１（第１の文書の一例）の印刷指示を端末３００ａから受信すると、文書管理サーバー１００は、その印刷指示に含まる印刷設定に基づいて、アプリデータＡＤ１を、ページ記述言語（ＰＤＬ）で記述されたプリントジョブＰＤ１に変換し、参加者Ａによって指定されたＭＦＰ（ここではＭＦＰ２００ａ）にプリントジョブＰＤ１を送信する。文書管理サーバー１００は、プリントジョブＰＤ１を文書管理サーバー１００のＨＤＤに保存する。プリントジョブＰＤ１をＭＦＰ２００ａが受信すると、ＭＦＰ２００ａは、プリントジョブＰＤ１をラスタデータＲＤ１に変換し、ラスタデータＲＤ１に基づく画像ＩＭ１を印刷する。ＭＦＰ２００ａは、ラスタデータＲＤ１をＭＦＰ２００ａのＨＤＤに保存する。
【００３６】
図１（ｂ）を参照して、主催者Ｃが端末３００ｃから文書を更新すると、文書管理サーバー１００は、更新後の文書のアプリデータを文書管理サーバー１００のＨＤＤに上書き保存する（なお、更新後の文書のアプリデータを上書き保存せず、更新後の文書のアプリデータを更新前の文書のアプリデータとともに保存してもよい）。ここでは、主催者Ｃは文書を２度更新している。その結果、文書管理サーバー１００のＨＤＤには、バージョン２の文書のアプリデータと、バージョン３の文書のアプリデータＡＤ２とが保存される。文書が更新された場合、文書管理サーバー１００は文書が更新されたことを各端末３００に通知してもよい。
【００３７】
図１（ｃ）を参照して、文書が更新されると、参加者Ａは、更新後の文書（最新のバージョンの文書）を新たに印刷する必要がある。最新のバージョンの文書であるアプリデータＡＤ２の新たな印刷指示を端末３００ａから受信すると、文書管理サーバー１００は、参加者Ａの印刷指示により行った過去の印刷のうち、直近の印刷（最後にプリントジョブをＭＦＰに送信した印刷）に関する情報を印刷履歴（図３）から取得する。直近の印刷に関する情報には、直近の印刷に関する文書のバージョンと、直近の印刷に関する印刷設定（直近の印刷の際の印刷設定）とが含まれている。次に文書管理サーバー１００は、直近の印刷に関する印刷設定に基づいて、直近の印刷に関する文書のアプリデータであるアプリデータＡＤ１（第２の文書の一例）と、最新のバージョンのアプリデータであるアプリデータＡＤ２との差異に相当するプリントジョブＰＤΔを抽出する。プリントジョブＰＤΔの抽出方法の詳細については後述する。次に文書管理サーバー１００は、プリントジョブＰＤΔを、参加者Ａによって指定されたＭＦＰ（ここではＭＦＰ２００ａ）に送信することにより、差異に関する印刷指示を行う。
【００３８】
プリントジョブＰＤΔを受信すると、ＭＦＰ２００ａは、プリントジョブＰＤΔをラスタデータＲＤΔに変換し、ラスタデータＲＤΔに基づく画像ＩＭ２を印刷する。ＭＦＰ２００ａは、ラスタデータＲＤΔをＭＦＰ２００ａのＨＤＤに保存する。
【００３９】
ＭＦＰ３００ａは、プリントジョブＰＤΔに基づいて印刷を行う代わりに、たとえばＰＤＦ形式などのデータで出力してもよい。
【００４０】
文書管理サーバー１００は、参加者Ｂによる印刷指示を受信した場合にも同様の動作を行う。たとえば、参加者Ｂが既にバージョン２の文書を印刷している場合には、端末３００ｂからの新たな印刷指示に従って、アプリデータＡＤ１とバージョン２のアプリデータとの差異に相当するプリントジョブを抽出し、抽出したプリントジョブをＭＦＰ２００ａに送信する。
【００４１】
（文書印刷システムの構成）
【００４２】
次に、文書印刷システムの構成について説明する。
【００４３】
図２は、文書印刷システムの機能的構成を示すブロック図である。
【００４４】
図２を参照して、文書管理サーバー１００は、たとえばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であり、ＨＤＤ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、およびネットワークコントローラなどにより構成されている。文書管理サーバー１００は、文書管理サーバーの制御プログラムをＨＤＤに記憶している。
【００４５】
文書管理サーバー１００は、制御部１３０と、文書保持部１１０と、印刷履歴保持部１１１と、印刷指示取得部１１２と、ユーザー情報取得部１１３と、印刷履歴検索部１１４と、文書比較部１１５と、プリントジョブ生成部１１６と、差異ページ抽出部１１７と、差異プリントジョブ送信部１１８と、印刷設定差異報知部１１９と、出力枚数提示部１２０と、最適印刷装置提示部１２１とを含んでいる。
【００４６】
制御部１３０は、文書管理サーバー１００全体の制御を行う。
【００４７】
文書保持部１１０は、端末３００から印刷指示を受信した場合に、その印刷指示に関する文書のアプリデータおよびプリントジョブを保持する。
【００４８】
印刷履歴保持部１１１は、ＭＦＰ２００の印刷履歴（図３）を保持する。印刷履歴保持部１１１は、プリントジョブをＭＦＰ２００に送信した場合に、そのプリントジョブに関する印刷の情報を印刷履歴に追加し、そのプリントジョブを保持する。
【００４９】
印刷指示取得部１１２は、端末３００からの新たな印刷指示を取得する。新たな印刷指示は、新たな印刷指示に関する文書と、その文書のバージョンと、印刷設定とを含んでいる。
【００５０】
ユーザー情報取得部１１３は、新たな印刷指示を受信した場合に、印刷指示取得部１１２が印刷指示を受信した端末３００から、新たな印刷指示を行ったユーザーのＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を取得する。
【００５１】
印刷履歴検索部１１４は、直近の印刷に関する情報を印刷履歴の中から検索する。
【００５２】
文書比較部１１５は、印刷履歴検索部１１４が抽出した印刷履歴から、直近の印刷に関する文書のバージョンを取得し、取得した文書のバージョンと、文書保持部１１０が保持する最新の文書のバージョンとを比較する。
【００５３】
プリントジョブ生成部１１６は、直近の印刷に関する文書のバージョンと最新の文書のバージョンとが異なる場合に、所定の印刷設定に基づいて、直近の印刷に関する文書のプリントジョブと、最新のバージョンの文書のプリントジョブとを生成する。
【００５４】
差異ページ抽出部１１７は、直近の印刷に関する文書のプリントジョブと、最新のバージョンの文書のプリントジョブとを比較し、差異（差異のあるページ）を抽出する。
【００５５】
差異プリントジョブ送信部１１８は、差異を抽出した場合に、差異のプリントジョブを作成し、ＭＦＰ２００に送信する。
【００５６】
印刷設定差異報知部１１９は、直近の印刷に関する印刷設定と、新たな印刷指示に関する印刷設定とが互いに異なるときに、印刷設定が異なることを報知する。
【００５７】
出力枚数提示部１２０は、印刷設定が異なることを報知する際に、直近の印刷に関する印刷設定で印刷した場合にＭＦＰ２００が印刷するページ数と、新たな印刷指示に関する印刷設定で印刷した場合にＭＦＰ２００が印刷するページ数とを報知する。
【００５８】
最適印刷装置提示部１２１は、印刷可能テーブルを保持している。最適印刷装置提示部１２１は、印刷可能テーブルに基づいて、差異のプリントジョブの印刷設定をメインのＭＦＰで設定することが可能か否かを判別する。最適印刷装置提示部１２１は、差異のプリントジョブの印刷設定をメインのＭＦＰ（ここではＭＦＰ２００ａ）で設定することが不可能である場合に、メインのＭＦＰでは設定することのできない出力の設定を設定可能な他のＭＦＰ２００を提示する。
【００５９】
ＭＦＰ２００は、スキャナ機能、ファクシミリ機能、複写機能、プリンターとしての機能、データ通信機能、およびサーバー機能を備える。特にプリンターとしての機能を用いた場合には、用紙への印刷により会議資料を出力可能である。ＭＦＰ２００は、ＨＤＤ、ＣＰＵ、ＲＯＭ、ＲＡＭ、ネットワークコントローラ、および画像形成部などにより構成されている。
【００６０】
ＭＦＰ２００は、プリントジョブ受信部２１０と、画像処理部２１１と、印刷部２１２とを含んでいる。
【００６１】
プリントジョブ受信部２１０は、プリントジョブを文書管理サーバー１００から受信する。
【００６２】
画像処理部２１１は、受信したプリントジョブのプリントジョブをラスタデータ変換する。
【００６３】
印刷部２１２は、画像処理部２１１が生成したラスタデータに基づく画像を用紙に印刷する。
【００６４】
端末３００は、たとえばＰＣであり、ＨＤＤ、ＣＰＵ、ＲＯＭ、ＲＡＭ、ネットワークコントローラ、表示部、およびキーボードやマウスなどの入力部などにより構成されている。端末３００のＨＤＤには、文書、図面などの作成のためのアプリケーションソフトのプログラムが記憶されている。
【００６５】
端末３００は、印刷指示部３１０と、選択受付部３１１とを含んでいる。
【００６６】
印刷指示部３１０は、ユーザーからアプリデータの印刷指示を受け付けた場合に、文書管理サーバー１００に印刷指示を送信する。
【００６７】
選択受付部３１１は、印刷設定差異報知部１１９が報知を行う場合に、直近の印刷に関する印刷設定と、新たな印刷指示に関する印刷設定とのうちいずれの印刷設定で印刷を行うかの選択を受け付ける。また選択受付部３１１は、最適印刷装置提示部１２１が他のＭＦＰ２００を提示する場合に、印刷設定の変更または他のＭＦＰ２００の選択を受け付ける。
【００６８】
ネットワーク４００は、有線または無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。ネットワーク４００は、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコルを用いて接続される。ネットワーク４００に接続された機器は、お互いに各種データのやり取りが可能となっている。なお、ネットワーク４００に代えて、インターネット・専用線などの広域ネットワークを用いて各機器を接続してもよい。
【００６９】
なお、文書管理サーバー１００および端末３００は、ＰＣである場合の他、タブレット、ワークステーション、携帯情報端末、または携帯電話端末などであってもよい。出力装置は、ＭＦＰである場合の他、プリンターなどの印刷装置であってもよし、印刷以外の方法で文書を出力する装置であってもよい。文書管理サーバー１００における図２中点線で囲まれた構成（プリントジョブ生成部１１６、差異ページ抽出部１１７、および差異プリントジョブ送信部１１８）は、文書管理サーバー１００とは別構成であるプリントサーバーに含まれていてもよい。文書管理サーバー１００に接続されている端末３００およびＭＦＰ２００の数は任意である。
【００７０】
図３は、印刷履歴保持部１１１が保持する印刷履歴を模式的に示す図である。
【００７１】
図３を参照して、印刷履歴保持部１１１は、ＭＦＰ２００ａ、２００ｂ、および２００ｃのいずれかで過去に実行した印刷に関する情報を、印刷履歴として保持している。印刷履歴では、表の横方向（行方向）に一つの印刷履歴についての「印刷日時」、「印刷したユーザーのＩＤ」、「ファイル名」、「ファイル作成日時」、「印刷設定」、および「ＭＦＰ」の各項目が対応付けられている。表の横方向に並べられた項目のうち「ファイル名」は、その印刷に関するアプリデータのファイル名を意味しており、「ファイル作成日時」は、その印刷に関するアプリデータが作成（保存）された日時を意味している。「印刷設定」は、その印刷に関するファイルを印刷した際の印刷設定を意味している。「ＭＦＰ」は、そのプリントジョブを実行したＭＦＰを意味している。
【００７２】
「ファイル作成日時」は、そのファイルのバージョンを示している。すなわち、「ファイル名」が同一であり、かつ「ファイル作成日時」が互いに異なる文書は、バージョンの異なる文書である。
【００７３】
各印刷履歴には、その印刷の際にアプリデータを変換して得られたプリントジョブ（ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）処理前データ）またはラスタデータ（ＲＩＰ処理後データ）が対応付けられている。表の縦方向（列方向）には、たとえば印刷日時が古い順番に上から下へ印刷履歴の各々が並べられている。
【００７４】
なお、印刷履歴には、ユーザー名の代わりに、印刷指示を送信した端末のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスなどが記憶されてもよい。
【００７５】
図３の印刷履歴の上から３行目の情報から、２０１２年４月２２日の１２時１２分２１秒に、「ｅ５４２６」というＩＤのユーザー（参加者Ａに相当）が、「複合機調査結果．ｐｐｔ」というファイル名の文書（図１のアプリデータＡＤ１に相当）を、「モノクロ、２ｉｎ１、Ｂ４用紙」という印刷設定で、ＭＦＰ２００ｂで印刷したことが分かる。そしてこのアプリデータは、２０１３年４月２１日の１４時５１分５０秒に作成されたものであることが分かる。
【００７６】
図３の印刷履歴の下から２行目の情報から、２０１３年４月２３日の２０時３０分２２秒に、「ｅ３３７０」というＩＤのユーザー（主催者Ｃに相当）が、「複合機調査結果．ｐｐｔ」というファイル名の文書（図１のアプリデータＡＤ２に相当）を、「モノクロ、通常サイズ、Ｂ５用紙」という印刷設定で、ＭＦＰ２００ａで印刷したことが分かる。そしてこのアプリデータは、２０１３年４月２３日の２０時１０分３２秒に作成されたものであることが分かる。
【００７７】
上記２つの印刷履歴から、「複合機調査結果．ｐｐｔ」というファイル名の文書は、参加者Ａが印刷を行った後で、その内容が更新されていることが分かる。
【００７８】
印刷履歴に含まれる印刷の情報は、印刷履歴保持部１１１によってプリントジョブの送信時に作成される。印刷履歴およびプリントジョブの各々は、一定数に達した場合（または印刷から一定時間経過した場合）に古いものから順番に削除されてもよい。なお、直近の印刷に関するプリントジョブについては、後に差異の算出の対象となるため、削除されないことが望ましい。
【００７９】
図４は、最適印刷装置提示部１２１が保持する印刷可能テーブルを模式的に示す図である。
【００８０】
図４を参照して、印刷可能テーブルでは、表の横方向（行方向）に、一つのＭＦＰにおいて、「モノクロ」、「カラー」、「通常サイズ」、「２ｉｎ１」、「４ｉｎ１」、「Ａ４用紙」、「Ａ３用紙」、「Ｂ５用紙」、および「両面」の各種印刷設定を行うことが可能か否かが記載されている。表の縦方向（列方向）には、ＭＦＰ２００ａ、２００ｂ、および２００ｃの各々が並べられている。
【００８１】
図４の印刷履歴の上から２行目の情報から、ＭＦＰ２００ａでは「４ｉｎ１」および「両面」の印刷設定が不可能であり、「モノクロ」、「カラー」、「通常サイズ」、「２ｉｎ１」、「Ａ４用紙」、「Ａ３用紙」、および「Ｂ５用紙」の印刷設定が可能であることが分かる。
【００８２】
（文書管理サーバーの動作）
【００８３】
続いて、本実施の形態における文書管理サーバー１００の具体的な動作について説明する。
【００８４】
本実施の形態における以降の文書管理サーバーの動作の説明、およびそのフローチャートの説明では、断りがある場合を除いて、参加者Ａが直近の印刷でアプリデータＡＤ１を印刷した状態で、新たに端末３００ａからアプリデータＡＤ２の印刷指示を行った場合について説明する。直近の印刷の際の印刷設定は２ｉｎ１であり、新たな印刷指示に関する印刷設定は通常サイズであるものとする。
【００８５】
図５は、本発明の第１の実施の形態における文書管理サーバー１００の具体的な動作を説明する図である。なお図５では、直近の印刷に関する文書にハッチングを付している。
【００８６】
図５を参照して、端末３００ａは、新たな印刷指示（アプリデータＡＤ２の印刷指示）を送信する。新たな印刷指示には、アプリデータＡＤ２（最新のバージョンの文書）のバージョンと、印刷設定とが含まれている。
【００８７】
印刷指示取得部１１２で新たな印刷指示を端末３００ａから受信すると、文書管理サーバー１００は、アプリデータＡＤ２のバージョンに基づいて、アプリデータＡＤ２を文書保持部１１０から取得する。次に文書管理サーバー１００は、ユーザー情報取得部１１３で、新たな印刷指示を行ったユーザーである参加者ＡのＩＤ（新たな印刷指示を行ったユーザーの情報の一例）を端末３００ａから取得する。そして文書管理サーバー１００は、参加者ＡのＩＤに基づいて、印刷履歴検索部１１４で、参加者Ａの直近の印刷に関する情報を検索し、直近の印刷に関する文書（参加者Ａの印刷指示により直近で出力した文書）であるアプリデータＡＤ１（古いバージョンの文書）のバージョンと、直近の印刷に関する印刷設定（アプリデータＡＤ１を印刷した際の印刷設定）とを印刷履歴保持部１１１から取得する。
【００８８】
文書管理サーバー１００は、取得したアプリデータＡＤ１のバージョンに基づいて、アプリデータＡＤ１を文書保持部１１０から取得する。
【００８９】
アプリデータＡＤ１は、「１２３４５６７８９０１２３４５６７８９０」という１〜０までの連続した数字が２回繰り返された２０個の文字よりなっている。アプリデータＡＤ１は、合計４ページであり、１つのページには５個（５行）の文字が含まれている。
【００９０】
一方、アプリデータＡＤ２は、「１２３４５６７８９Ａ１２３４５６７８９０」という２０個の文字よりなっている。アプリデータＡＤ２は、合計４ページであり、１つのページには５個（５行）の文字が含まれている。すなわち、アプリデータＡＤ２は、アプリデータＡＤ１において前半部分で現れる「０」という文字が「Ａ」という文字に修正されている。
【００９１】
文書管理サーバー１００は、アプリデータＡＤ１のバージョンとアプリデータＡＤ２のバージョンとを文書比較部１１５で比較する。バージョンの比較の方法は任意であり、たとえばアプリデータＡＤ１とアプリデータＡＤ２とを文書比較部１１５で比較してもよい。そして文書管理サーバー１００は、これらのバージョンが互いに異なる場合に、以下のプリントジョブＰＤ１Ａ、ＰＤ１Ｂ、ＰＤ２Ａ、およびＰＤ２Ｂの各々を取得または作成する。
【００９２】
プリントジョブＰＤ１Ａは、参加者Ａの直近の印刷に関するプリントジョブであり、直近の印刷に関する印刷設定（ここでは２ｉｎ１）でアプリデータＡＤ１を印刷した際のレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブＰＤ１Ａを文書保持部１１０から取得してもよいし、プリントジョブＰＤ１Ａを新たに作成してもよい。
【００９３】
プリントジョブＰＤ１Ｂは、新たな印刷指示に関する印刷設定（ここでは通常サイズ）でアプリデータＡＤ１を印刷する場合のレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブ生成部１１６でプリントジョブＰＤ１Ｂを作成する。
【００９４】
プリントジョブＰＤ２Ａは、直近の印刷に関する印刷設定（ここでは２ｉｎ１）でアプリデータＡＤ２を印刷する場合のレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブ生成部１１６でプリントジョブＰＤ２Ａを作成する。
【００９５】
プリントジョブＰＤ２Ｂは、新たな印刷指示に関する印刷設定（ここでは通常サイズ）でアプリデータＡＤ２を印刷する場合のレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブ生成部１１６でプリントジョブＰＤ２Ｂを作成する。
【００９６】
続いて文書管理サーバー１００は、差異ページ抽出部１１７で、プリントジョブＰＤ１ＡとプリントジョブＰＤ２Ａとを比較し、差異のあるページに相当するプリントジョブＰＤΔ２Ａを抽出する。具体的には、プリントジョブＰＤ２Ａは、プリントジョブＰＤ１Ａと比較して１ページ目が異なっているので、プリントジョブＰＤΔ２Ａとして、プリントジョブＰＤ２Ａの１ページ目が抽出される。
【００９７】
ここで、アプリデータＡＤ２において、アプリデータＡＤ１から変更された部分はアプリデータＡＤ２の２ページ目のみであるが、アプリデータＡＤ２の２ページ目に対応する部分のみがプリントジョブＰＤ２Ａから抽出されると、他のページとのバランスがとれなくなる。このため、アプリデータＡＤ２の１ページ目および２ページ目に対応する部分（つまり、プリントジョブＰＤ２Ａの１ページ目全体）がプリントジョブＰＤ２Ａから抽出される。
【００９８】
同様に、文書管理サーバー１００は、差異ページ抽出部１１７で、プリントジョブＰＤ１ＢとプリントジョブＰＤ２Ｂとを比較し、差異のあるページに相当するプリントジョブＰＤΔ２Ｂを抽出する。具体的には、プリントジョブＰＤ２Ｂは、プリントジョブＰＤ１Ｂと比較して２ページ目が異なっているので、プリントジョブＰＤΔ２Ｂとして、プリントジョブＰＤ２Ｂの２ページ目が抽出される。
【００９９】
文書管理サーバー１００は、上述のように、抽出した差異が１枚の用紙の一部分（ここでは「Ａ」という文字）である場合、その部分のみを抽出するのでは無く、その部分を含む用紙全体（同じ１枚の残りの部分を加えた部分）に関するプリントジョブ（つまり、プリントジョブＰＤ２Ａの１ページ目またはプリントジョブＰＤ２Ｂの２ページ目）を抽出することが好ましい。
【０１００】
その後、文書管理サーバー１００は、ユーザーからの選択に従って、プリントジョブＰＤΔ２ＡおよびＰＤΔ２Ｂのうち一方をＭＦＰに送信することにより、差異に関する印刷指示を行う。
【０１０１】
文書管理サーバー１００は、端末３００から印刷指示を受信した後で、アプリデータＡＤ１のバージョンとアプリデータＡＤ２のバージョンとが互いに異なる場合において、直近の印刷に関する印刷設定と、新たな出力指示に関する印刷設定とが互いに異なるときは、印刷設定が異なることを印刷設定差異報知部１１９で報知してもよい。
【０１０２】
文書管理サーバー１００は、印刷設定が異なることを報知した場合に、直近の印刷に関する印刷設定と、新たな出力指示に関する印刷設定とのいずれの設定で印刷するかの選択を端末３００から受け付け、受け付けた選択に基づいて、プリントジョブＰＤΔ２ＡおよびＰＤΔ２Ｂのうち一方の出力指示を行ってもよい。
【０１０３】
文書管理サーバー１００は、印刷設定が異なることを報知した場合に、直近の印刷に関する印刷設定で印刷した場合にＭＦＰ２００が印刷するページ数と、新たな出力指示に関する印刷設定で印刷した場合にＭＦＰ２００が印刷するページ数とをさらに報知してもよい。
【０１０４】
文書管理サーバー１００は、基本的に、ＭＦＰ２００ａ（メインのＭＦＰ）に対して差異に関する印刷指示を行う。しかし、差異に関する印刷指示に、ＭＦＰ２００ａでは設定することのできない印刷設定が含まれている場合、文書管理サーバー１００は、ＭＦＰ２００ａでは設定することのできない印刷設定を設定可能な他のＭＦＰ２００（ＭＦＰ２００ｂやＭＦＰ２００ｃ）を、最適印刷装置提示部１２１にて端末３００に提示してもよい。端末３００から他のＭＦＰ２００への変更を受け付けた場合、文書管理サーバー１００は、差異に関する印刷指示をＭＦＰ２００ａの代わりにそのＭＦＰ２００に対して行ってもよい。
【０１０５】
図６は、本発明の第１の実施の形態において、文書管理サーバー１００の制御により端末３００に表示される画面を模式的に示す図である。なお図６では、直近の印刷に関する印刷設定がＡ４両面カラーであり、新たな印刷指示に関する印刷設定がＡ４片面モノクロである場合の画面を示している。
【０１０６】
図６を参照して、端末３００から印刷指示を受信した後で、アプリデータＡＤ１のバージョンとアプリデータＡＤ２のバージョンとが互いに異なる場合において、直近の印刷に関する印刷設定と、新たな印刷指示に関する印刷設定とが互いに異なるときは、文書管理サーバー１００は画面ＳＲ１を端末３００に表示させる。画面ＳＲ１には、「印刷設定が前回印刷時と異なります」および「前回印刷時の設定で印刷しますか？」というメッセージと、直近の印刷に関する印刷設定（前回印刷時の設定）の内容と、新たな印刷指示に関する印刷設定（現在の設定）の内容とが含まれている。画面ＳＲ１には、ユーザーによる選択を受け付けるための「はい」キーＫＹ１と、「いいえ」キーＫＹ２とがさらに含まれている。画面ＳＲ１には、直近の印刷に関する印刷設定と新たな印刷指示に関する印刷設定との各々で印刷した場合に印刷されるページ数が、さらに含まれていてもよい。
【０１０７】
画面ＳＲ１において「はい」キーＫＹ１が押下された場合、文書管理サーバー１００はプリントジョブＰＤΔ２Ａの印刷指示を行い、「いいえ」キーＫＹ２が押下された場合、文書管理サーバー１００はプリントジョブＰＤΔ２Ｂの印刷指示を行う。
【０１０８】
差異に関する印刷指示に、ＭＦＰ２００ａでは設定することのできない印刷設定が含まれている場合、文書管理サーバー１００は画面ＳＲ２を端末３００に表示させる。画面ＳＲ２には、「本ＭＦＰでは前回印刷時の設定（Ａ４両面カラー）での印刷ができません。前回印刷時の設定で印刷できるＭＦＰは『１５０．１６．６０．２４』です。『１５０．１６．６０．２４』で印刷しますか？」というメッセージ（『１５０．１６．６０．２４』はＭＦＰ２００ｂのＩＰアドレスを示している）と、「はい」キーＫＹ３と、「いいえ」キーＫＹ４とが含まれている。
【０１０９】
画面ＳＲ１において「はい」キーＫＹ１が押下された場合、文書管理サーバー１００は、差異に関する印刷指示をＭＦＰ２００ｂに対して行い、「いいえ」キーＫＹ２が押下された場合、文書管理サーバー１００は、差異に関する印刷指示に関する印刷設定の変更を受け付ける。
【０１１０】
（文書印刷システムの動作を示すフローチャート）
【０１１１】
続いて、本実施の形態における文書印刷システムの動作を示すフローチャートについて説明する。
【０１１２】
図７〜図９は、本発明の第１の実施の形態における文書印刷システムの動作を示すフローチャートである。
【０１１３】
図７を参照して、端末３００ａのＣＰＵは、端末３００ａのユーザー（参加者Ａ）の指示に従って、印刷する文書のバージョンと、印刷設定とを含む新たな印刷指示を文書管理サーバー１００に送信する（Ｓ１）。文書管理サーバー１００の制御部１３０は、新たな印刷指示を端末３００ａから受信すると（Ｓ２）、新たな印刷指示に関する文書（最新のバージョンの文書、アプリデータＡＤ２）を取得し（Ｓ３）、ユーザーのＩＤを端末３００ａに要求する（Ｓ４）。端末３００は要求に従って、ユーザーのＩＤを文書管理サーバー１００に送信する（Ｓ５）。
【０１１４】
ＩＤを受信すると、制御部１３０は、受信したＩＤに基づいてユーザーの印刷履歴（直近の印刷に関する情報）を検索する（Ｓ６）。次に制御部１３０は、ユーザーの印刷履歴があるか否かを判別する（Ｓ７）。
【０１１５】
ステップＳ７において、ユーザーの印刷履歴が無いと判別した場合（Ｓ７でＮＯ）、制御部１３０は、新たな印刷指示に基づいて作成したプリントジョブをＭＦＰ２００ａに送信し（Ｓ１７）、送信したプリントジョブに関する印刷の情報を印刷履歴に保存し（Ｓ１９）、処理を終了する。
【０１１６】
ＭＦＰ２００ａは、プリントジョブを受信すると（Ｓ２１）、そのプリントジョブに基づいて印刷を実行し（Ｓ２３）、処理を終了する。
【０１１７】
ステップＳ７において、ユーザーの印刷履歴があると判別した場合（Ｓ７でＹＥＳ）、制御部１３０は、その印刷履歴に基づいて、ユーザーの直近の印刷に関する文書（古いバージョンの文書、アプリデータＡＤ１）と、その文書のバージョンと、その文書を印刷した際の印刷設定とを取得する（Ｓ９）。次に制御部１３０は、直近の印刷に関する文書のバージョンと、新たな印刷指示に関する文書のバージョンとを比較し（Ｓ１１）、これらの内容に差異があるか否かを判別する（Ｓ１３）。
【０１１８】
ステップＳ１３において、内容に差異が無いと判別した場合（Ｓ１３でＮＯ）、制御部１３０は、印刷指示を行わずに処理を終了する。
【０１１９】
ステップＳ１３において、内容に差異があると判別した場合（Ｓ１３でＹＥＳ）、制御部１３０は、直近の印刷に関する印刷設定に基づいて、直近の印刷に関する文書のプリントジョブ（プリントジョブＰＤ１Ａ）と、新たな印刷指示に関する文書のプリントジョブ（プリントジョブＰＤ２Ａ）とを作成し（Ｓ１５）、図８のステップＳ２５の処理へ進む。
【０１２０】
図８を参照して、ステップＳ２５において、制御部１３０は、２つのプリントジョブを比較し、差異のあるページを抽出し（Ｓ２５）、抽出した差異のあるページのプリントジョブ（プリントジョブＰＤΔ２Ａ）を作成する（Ｓ２７）。次に制御部１３０は、直近の印刷に関する印刷設定と、新たな印刷指示に関する印刷設定とが同一か否かを判別する（Ｓ２９）。
【０１２１】
ステップＳ２９において、直近の印刷に関する印刷設定と、新たな印刷指示に関する印刷設定とが同一であると判別した場合（Ｓ２９でＹＥＳ）、制御部１３０は、抽出した差異のあるページのプリントジョブ（プリントジョブＰＤΔ２Ａ）を、実行するプリントジョブとして決定し（Ｓ３１）、図９のステップＳ５１に処理へ進む。
【０１２２】
ステップＳ２９において、直近の印刷に関する印刷設定と、新たな印刷指示に関する印刷設定とが異なると判別した場合（Ｓ２９でＮＯ）、制御部１３０は、新たな印刷指示に関する印刷設定に基づいて、直近の印刷に関する文書のプリントジョブ（プリントジョブＰＤ１Ｂ）と、新たな印刷指示に関する文書のプリントジョブ（プリントジョブＰＤ２Ｂ）とを作成する（Ｓ３３）。次に制御部１３０は、２つのプリントジョブを比較し、差異のあるページを抽出し（Ｓ３５）、抽出した差異のあるページのプリントジョブ（プリントジョブＰＤΔ２Ｂ）を作成する（Ｓ３７）。次に制御部１３０は、端末３００ａにおいて、印刷設定が異なることを報知し、２つの印刷設定からの選択を端末３００ａに要求する（Ｓ４３）。
【０１２３】
端末３００ａのＣＰＵは、文書管理サーバー１００からの要求を受信すると、２つの印刷設定からの選択を受け付ける画面を表示し、ユーザーからの選択を受け付ける（Ｓ４５）。そして端末３００ａのＣＰＵは、ユーザーの選択結果を文書管理サーバー１００に送信する（Ｓ４７）。制御部１３０は、ユーザーの選択結果を端末３００ａから受信すると（Ｓ４９）、選択結果に基づいて、実行するプリントジョブを決定し（Ｓ３１）、図９のステップＳ５１に処理へ進む。
【０１２４】
図９を参照して、ステップＳ５１において、決定したプリントジョブの印刷設定は、メインのＭＦＰ（ＭＦＰ２００ａ）で設定可能か否かを判別する（Ｓ５１）。
【０１２５】
ステップＳ５１において、決定したプリントジョブの印刷設定は、メインのＭＦＰで設定可能であると判別した場合（Ｓ５１でＹＥＳ）、制御部１３０は、メインのＭＦＰにプリントジョブを送信し（Ｓ５３）、処理を終了する。
【０１２６】
ステップＳ５１において、決定したプリントジョブの印刷設定は、メインのＭＦＰで設定不可能であると判別した場合（Ｓ５１でＮＯ）、制御部１３０は、印刷設定を設定可能な他のＭＦＰ２００で印刷するか、印刷設定を変えてメインのＭＦＰで印刷するかの選択を端末３００ａに要求する（Ｓ５５）。
【０１２７】
端末３００ａのＣＰＵは、文書管理サーバー１００からの要求を受信すると、選択を受け付ける画面を表示し、ユーザーからの選択を受け付ける（Ｓ５７）。そして端末３００ａのＣＰＵは、ユーザーの選択結果を文書管理サーバー１００に送信する（Ｓ５９）。制御部１３０は、ユーザーの選択結果を端末３００ａから受信すると（Ｓ６１）、他のＭＦＰ２００が選択された場合には、選択されたＭＦＰへプリントジョブを送信し（Ｓ６３）、処理を終了する。
【０１２８】
ＭＦＰ２００のＣＰＵは、プリントジョブを受信すると（Ｓ６５）、受信したプリントジョブに基づいて印刷を行い（Ｓ６７）、処理を終了する。
【０１２９】
本実施の形態によれば、文書管理サーバーは、直近の印刷に関する印刷設定に基づくプリントジョブと、新たな印刷指示に関する印刷設定に基づくプリントジョブとの２つのプリントジョブを作成し、ユーザーが選択した方のプリントジョブをＭＦＰに送信する。これにより、ユーザーが所望する形式の印刷物を出力することができる。また、直近の印刷に関する印刷設定に基づいて作成したプリントジョブを送信した場合には、ユーザーは古いバージョンの文書の関連部分を差異のあるページと差し替えることができ、差異の出力を適切に行うことができる。
【０１３０】
なお、文書管理サーバー１００は、直近の印刷に関する印刷設定と新たな印刷指示に関する印刷設定とが互いに異なる場合に、端末３００ａから印刷設定の選択を受け付けなくてもよい。この場合、文書管理サーバー１００は、アプリデータＡＤ１とアプリデータＡＤ２とのバージョンが互いに異なると判別すると、自動的に直近の印刷に関する印刷設定でプリントジョブＰＤ１ＡおよびプリントジョブＰＤ２Ａを作成し、プリントジョブＰＤ１ＡとプリントジョブＰＤ２Ａとの差異を抽出し、抽出した差異に関する出力指示をＭＦＰ２００ａに対して行う。
【０１３１】
（第２の実施の形態）
【０１３２】
本実施の形態では、始めに文書管理サーバー１００の具体的な動作について説明する。
【０１３３】
本実施の形態における以降の文書管理サーバーの動作の説明、およびそのフローチャートの説明では、参加者Ａが直近の印刷でアプリデータＡＤ１を印刷した状態で、新たに端末３００ａからアプリデータＡＤ３の印刷指示を行った場合について説明する。直近の印刷の際の印刷設定は通常サイズである。文書管理サーバー１００は、新たな印刷指示に関する印刷設定の種類によらず、常に直近の印刷に関する印刷設定を採用するものとする。新たな印刷指示に関する印刷設定は任意の設定である。
【０１３４】
図１０および図１１は、本発明の第２の実施の形態における文書管理サーバー１００の具体的な動作を説明する図である。なお図１０および図１１では、直近の印刷に関する文書にハッチングを付している。
【０１３５】
図１０を参照して、印刷指示取得部１１２で新たな印刷指示を端末３００ａから受信すると、文書管理サーバー１００は、第１の実施の形態の場合と同様の方法で、参加者Ａの新たな印刷指示に関する文書であるアプリデータＡＤ３（最新のバージョンの文書）と、アプリデータＡＤ３のバージョンとを印刷履歴保持部１１１から取得する。新たな印刷指示に関する印刷設定は、取得しなくてもよい。
【０１３６】
同様に、文書管理サーバー１００は、第１の実施の形態の場合と同様の方法で、参加者Ａの直近の印刷に関する文書であるアプリデータＡＤ１（古いバージョンの文書）と、アプリデータＡＤ１のバージョンと、アプリデータＡＤ１を印刷した際の印刷設定とを印刷履歴保持部１１１から取得する。
【０１３７】
文書管理サーバー１００は、アプリデータＡＤ１における改ページ箇所をさらに取得する。改ページ箇所の取得方法は任意であり、文書管理サーバー１００は、アプリデータＡＤ１を印刷した際の印刷設定から改ページ箇所の情報を取得してもよい。
【０１３８】
アプリデータＡＤ１の内容は、第１の実施の形態の場合と同じである。アプリデータＡＤ１は、前半部分で現れる「５」という文字の直後と、前半部分で現れる「０」という文字の直後と、後半部分で現れる「５」という文字の直後とに、改ページ箇所を有している。
【０１３９】
一方、アプリデータＡＤ３は、第１の実施の形態の場合のアプリデータＡＤ２と異なっている。アプリデータＡＤ３は、「１２Ａ３４５６７８９０１２３４５６７８９０」という連続した２１個の文字よりなっている。アプリデータＡＤ３は、合計５ページであり、１つのページには５個（５行）の文字が含まれている。すなわち、アプリデータＡＤ３は、アプリデータＡＤ１において前半部分で現れる「２」という文字と「３」という文字との間に、「Ａ」という文字が挿入されている。
【０１４０】
文書管理サーバー１００は、アプリデータＡＤ１のバージョンとアプリデータＡＤ３のバージョンとを文書比較部１１５で比較する。そして文書管理サーバー１００は、これらのバージョンが互いに異なる場合に、以下のプリントジョブＰＤ１Ｃ、ＰＤ３Ａ、およびＰＤ３Ｂの各々を取得または作成する。
【０１４１】
プリントジョブＰＤ１Ｃは、直近の印刷に関するプリントジョブであり、直近の印刷に関する印刷設定（ここでは通常サイズ）でアプリデータＡＤ１を印刷した場合のレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブＰＤ１Ｃを文書保持部１１０から取得してもよいし、新たに作成してもよい。
【０１４２】
プリントジョブＰＤ３Ａは、直近の印刷に関する印刷設定でアプリデータＡＤ３を印刷する場合であって、直近の印刷に関する文書（アプリデータＡＤ１）の改ページ箇所を固定しないときのレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブ生成部１１６でプリントジョブＰＤ３Ａを作成する。「Ａ」という文字が挿入された結果、プリントジョブＰＤ３Ａは、「１２Ａ３４」という文字が割り付けられた１ページ目と、「５６７８９」という文字が割り付けられた２ページ目と、「０１２３４」という文字が割り付けられた３ページ目と、「５６７８９」という文字が割り付けられた４ページ目と、「０」という文字が割り付けられた５ページ目とで構成される。
【０１４３】
プリントジョブＰＤ３Ｂは、直近の印刷に関する印刷設定でアプリデータＡＤ３を印刷する場合であって、直近の印刷に関する文書（アプリデータＡＤ１）の改ページ箇所を固定したときのレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブ生成部１１６でプリントジョブＰＤ３Ｂを作成する。「Ａ」という文字が挿入された結果、プリントジョブＰＤ３Ｂは、「１２Ａ３４」という文字が割り付けられた１ページ目と、「５」という文字が割り付けられた２ページ目と、「６７８９０」という文字が割り付けられた３ページ目と、「１２３４５」という文字が割り付けられた４ページ目と、「６７８９０」という文字が割り付けられた５ページ目とで構成される。アプリデータＡＤ１は、前半部分で現れる「５」という文字の直後に改ページ箇所を有しているので、プリントジョブＰＤ３Ｂにおいても、前半部分で現れる「５」という文字の直後で改ページされる。
【０１４４】
続いて文書管理サーバー１００は、差異ページ抽出部１１７で、プリントジョブＰＤ１ＣとプリントジョブＰＤ３Ａとを比較し、差異のあるページに相当するプリントジョブＰＤΔ３Ａを抽出する。具体的には、プリントジョブＰＤ３Ａは、プリントジョブＰＤ１Ｃと比較して全ページが異なっているので、プリントジョブＰＤΔ３Ａとして、プリントジョブＰＤ３Ａの全ページ（１〜５ページ目）が抽出される。
【０１４５】
同様に、文書管理サーバー１００は、差異ページ抽出部１１７で、プリントジョブＰＤ１ＣとプリントジョブＰＤ３Ｂとを比較し、差異のあるページに相当するプリントジョブＰＤΔ３Ｂを抽出する。具体的には、プリントジョブＰＤ３Ｂは、プリントジョブＰＤ１Ｃと比較して１ページ目および２ページ目が異なっている。プリントジョブＰＤ３Ｂの３ページ目はプリントジョブＰＤ１Ｃの２ページ目と同じであり、プリントジョブＰＤ３Ｂの４ページ目はプリントジョブＰＤ１Ｃの３ページ目と同じであり、プリントジョブＰＤ３Ｂの５ページ目はプリントジョブＰＤ１Ｃの４ページ目と同じである。したがって、プリントジョブＰＤΔ３Ｂとして、プリントジョブＰＤ３Ｂの１ページ目および２ページ目が抽出される。プリントジョブＰＤΔ３Ｂの総ページ数は、プリントジョブＰＤΔ３Ａの総ページ数よりも少なくなる。
【０１４６】
その後、文書管理サーバー１００は、ユーザーからの選択に従って、プリントジョブＰＤΔ３ＡおよびＰＤΔ３Ｂのうち一方を、ＭＦＰに送信することにより、差異に関する印刷指示を行う。
【０１４７】
本実施の形態において、文書管理サーバー１００は、上述の方法で差異のあるページに相当するプリントジョブを抽出する代わりに、以下の方法で抽出してもよい。
【０１４８】
図１１を参照して、文書管理サーバー１００は、アプリデータＡＤ１のバージョンとアプリデータＡＤ３のバージョンとを文書比較部１１５で比較する。そして文書管理サーバー１００は、これらのバージョンが互いに異なる場合に、以下のプリントジョブＰＤ１Ｃ、ＰＤ３Ｂ、およびＰＤ３Ｃの各々を取得または作成する。
【０１４９】
プリントジョブＰＤ１ＣおよびＰＤ３Ｂは、図１０に示すものと同一であるため、その説明は繰り返さない。
【０１５０】
プリントジョブＰＤ３Ｃは、直近の印刷に関する印刷設定（ここでは通常サイズ）でアプリデータＡＤ３を印刷する場合であって、直近の印刷に関する文書（アプリデータＡＤ１）の改ページ箇所および総ページ数を固定したときのレイアウトに相当するページ記述言語データである。文書管理サーバー１００は、プリントジョブ生成部１１６でプリントジョブＰＤ３Ｃを作成する。「Ａ」という文字が挿入された結果、プリントジョブＰＤ３Ｃは、「１２Ａ３４５」という文字が割り付けられた１ページ目と、「６７８９０」という文字が割り付けられた２ページ目と、「１２３４５」という文字が割り付けられた３ページ目と、「６７８９０」という文字が割り付けられた４ページ目とで構成される。
【０１５１】
ここで、アプリデータＡＤ１の改ページ箇所および総ページ数を固定しようとすると、プリントジョブＰＤ３Ｃにおける１ページ目には、アプリデータＡＤ１の１ページ目に割り付けられる文字の行数（５行）よりも多い行数（６行）を割り付ける必要がある。文書管理サーバー１００は、このような場合に、プリントジョブＰＤ３Ｃにおける１ページ目に、６行分の文字を縮小して割り付ける。
【０１５２】
同様に、アプリデータＡＤ１の改ページ箇所および総ページ数を固定した場合に、プリントジョブＰＤ３Ｃにおける１ページ目に割り付けられる文字の行数がプリントジョブＰＤ１Ｃの１ページ目に割り付けられる文字の行数よりも減少するときは、文書管理サーバー１００は、一のページにプリントジョブＰＤ３Ｃにおける１ページ目に割り付けられる文字を拡大して（またはそのままのサイズで）、プリントジョブＰＤ３Ｃを作成してもよい。
【０１５３】
続いて文書管理サーバー１００は、差異ページ抽出部１１７で、プリントジョブＰＤ１ＣとプリントジョブＰＤ３Ｂとを比較し、差異のあるページに相当するプリントジョブＰＤΔ３Ｂを抽出する。
【０１５４】
同様に、文書管理サーバー１００は、差異ページ抽出部１１７で、プリントジョブＰＤ１ＣとプリントジョブＰＤ３Ｃとを比較し、差異のあるページに相当するプリントジョブＰＤΔ３Ｃを抽出する。具体的には、プリントジョブＰＤ３Ｃは、プリントジョブＰＤ１Ｃと比較して１ページ目が異なっている。プリントジョブＰＤ３Ｃの２ページ目はプリントジョブＰＤ１Ｃの２ページ目と同じであり、プリントジョブＰＤ３Ｂの３ページ目はプリントジョブＰＤ１Ｃの３ページ目と同じであり、プリントジョブＰＤ３Ｂの４ページ目はプリントジョブＰＤ１Ｃの４ページ目と同じである。したがって、プリントジョブＰＤΔ３Ｃとして、プリントジョブＰＤ３Ｃの１ページ目が抽出される。
【０１５５】
その後、文書管理サーバー１００は、ユーザーからの選択に従って、プリントジョブＰＤΔ３ＢおよびＰＤΔ３Ｃのうち一方を、ＭＦＰ２００に送信することにより、差異に関する印刷指示を行う。
【０１５６】
図１２は、本発明の第２の実施の形態において、文書管理サーバー１００の制御により端末３００に表示される画面を模式的に示す図である。
【０１５７】
図１２を参照して、文書管理サーバー１００は、端末３００から印刷指示を受信した後で、アプリデータＡＤ１のバージョンとアプリデータＡＤ２のバージョンとが互いに異なる場合に、画面ＳＲ３を端末３００に表示させてもよい。画面ＳＲ３には、「前回印刷時と同じ改ページ位置で差分印刷を実施しますか？」というメッセージと、それぞれ「改ページ位置を固定し、前回と同じページ数にする」、「改ページ位置を固定する」、および「改ページ位置を固定しない」という選択肢ＯＰ１、ＯＰ２、およびＯＰ３とが含まれている（図１２では、選択肢ＯＰ１が選択されている）。各選択肢には、その選択肢の説明として、その選択肢を選択した場合に印刷されるページ数と、文字の縮小率（選択肢ＯＰ１の場合のみ）とが付記されている。
【０１５８】
画面ＳＲ３において、選択肢ＯＰ１が選択された場合、文書管理サーバー１００はプリントジョブＰＤΔ３Ｃの印刷指示を行い、選択肢ＯＰ２が選択された場合、文書管理サーバー１００はプリントジョブＰＤΔ３Ｂの印刷指示を行い、選択肢ＯＰ３が選択された場合、文書管理サーバー１００はプリントジョブＰＤΔ３Ａの印刷指示を行う。
【０１５９】
続いて、本実施の形態における文書印刷システムの動作を示すフローチャートについて説明する。
【０１６０】
図１３は、本発明の第２の実施の形態における文書印刷システムの動作を示すフローチャートである。
【０１６１】
図１３を参照して、文書印刷システムは、始めに第１の実施の形態におけるステップＳ２７までの処理を行う。ステップＳ２７の処理の後で、文書管理サーバー１００の制御部１３０は、直近の印刷に関する印刷設定に基づいて、改ページ箇所を固定して、直近の印刷に関する文書のプリントジョブ（プリントジョブＰＤ３Ｂ）を作成する（Ｓ１０１）。次に制御部１３０は、改ページ箇所を固定した場合のプリントジョブと、新たな印刷指示に関する文書のプリントジョブ（プリントジョブＰＤ１Ｃ）とを比較し、差異のあるページを抽出し（Ｓ１０３）、抽出した差異のあるページのプリントジョブ（プリントジョブＰＤΔ３Ｂ）を作成する（Ｓ１０５）。続いて制御部１３０は、改ページ箇所を固定するか否かの選択を端末３００ａに要求する（Ｓ１０７）。
【０１６２】
端末３００ａのＣＰＵは、文書管理サーバー１００からの要求を受信すると、改ページ箇所を固定するか否かの選択を受け付ける画面を表示し、ユーザーからの選択を受け付ける（Ｓ１０９）。そして端末３００ａのＣＰＵは、ユーザーの選択結果を文書管理サーバー１００に送信する（Ｓ１１１）。
【０１６３】
制御部１３０は、ユーザーの選択結果を端末３００ａから受信すると（Ｓ１１３）、選択結果に基づいて、実行するプリントジョブを決定し（Ｓ１１５）、メインのＭＦＰ（ＭＦＰ２００ａ）へプリントジョブを送信し（Ｓ１１７）、処理を終了する。
【０１６４】
ＭＦＰ２００ａのＣＰＵは、プリントジョブを受信すると（Ｓ１１９）、受信したプリントジョブに基づいて印刷を行い（Ｓ１２１）、処理を終了する。
【０１６５】
なお、本実施の形態における上述以外の文書管理サーバーの動作や、文書印刷システムの構成などについては、第１の実施の形態の場合と同様であるので、その説明は繰り返さない。
【０１６６】
最新のバージョンの文書が、古いバージョンの文書に文字が挿入されることにより、行数が変化したものである場合、文字が挿入された箇所よりも後の全てのページにおいて、最初に数行が追加され、最後の数行が消えるという差異が発生する。同様に、古いバージョンの文書から文字が削除されることにより、行数が変化したものである場合、文字が削除された箇所よりも後の全てのページにおいて、最初の数行が消え、最後に数行が追加されるという差異が発生する。その結果、文字が挿入または削除された箇所よりも後に存在する全てのページを印刷する必要が生じる。本実施の形態によれば、最新のバージョンの文書の改ページ箇所が、古いバージョンの文書の改ページ箇所と同じになるので、改ページ箇所を固定しない場合に比べて、印刷する必要のあるページの数を減らすことができる。
【０１６７】
なお、文書管理サーバー１００は、端末３００ａから改ページ箇所を固定するか否かの選択を受け付けなくてもよい。この場合、文書管理サーバー１００は、アプリデータＡＤ１とアプリデータＡＤ２とのバージョンが互いに異なると判別すると、自動的に改ページ箇所を固定してプリントジョブＰＤ３Ｂ（またはプリントジョブＰＤ３Ｃ）を作成し、プリントジョブＰＤ１ＣとプリントジョブＰＤ３Ｂとの差異を抽出し、抽出した差異に関する出力指示をＭＦＰ２００ａに対して行う。
【０１６８】
［その他］
【０１６９】
上述の実施の形態の文書印刷システムにおいて、文書管理サーバーを省略し、文書管理サーバーが実行する処理を、端末またはＭＦＰで実行してもよい。プリントジョブ同士を比較して差異を抽出する代わりに、アプリケーションデータ同士を比較して差異を抽出してもよいし、ラスタデータ同士を比較して差異を抽出してもよい。これについて図１４を用いて説明する。
【０１７０】
図１４は、文書印刷システムの変形例を概念的に説明する図である。（ａ）は第１の変形例を示しており、（ｂ）は第２の変形例を示しており、（ｃ）は第３の変形例を示しており、（ｄ）は第３の変形例を示している。
【０１７１】
図１４を参照して、文書印刷システムは、端末３００とＭＦＰ２００とを備えている。
【０１７２】
図１４（ａ）に示す第１の変形例において、端末３００は、文書管理サーバーの制御プログラムをＨＤＤなどに記憶している。文書管理サーバーの制御プログラムは、ＭＦ２００を制御するためのプリンタードライバーのプログラムに含まれていてもよい。端末３００は、ユーザーからの新たな印刷指示を受け付けると、プリントジョブＰＤ１とプリントジョブＰＤ２とを比較し、差異のあるページに相当するプリントジョブＰＤΔを抽出し、抽出したプリントジョブＰＤΔをＭＦＰ２００に送信する。その後ＭＦＰ２００は、プリントジョブＰＤΔに基づく画像ＩＭ２を印刷する。
【０１７３】
図１４（ｂ）に示す第２の変形例において、ＭＦＰ２００は、文書管理サーバーの制御プログラムをＨＤＤなどに記憶している。ＭＦＰ２００は、端末３００から過去に受信したプリントジョブＰＤ１を保持している。端末３００からの新たな印刷指示に関するプリントジョブＰＤ２を受信すると、プリントジョブＰＤ１とプリントジョブＰＤ２とを比較し、差異のあるページに相当するプリントジョブＰＤΔを抽出する。その後ＭＦＰ２００は、抽出したプリントジョブＰＤΔに基づく画像ＩＭ２を印刷する。
【０１７４】
図１４（ｃ）に示す第３の変形例において、端末３００は、文書管理サーバーの制御プログラムをＨＤＤなどに記憶している。文書管理サーバーの制御プログラムは、アプリデータＡＤ１を作成するためのアプリケーション（たとえばＷＯＲＤ（登録商標）など）のプログラムに含まれていてもよい。端末３００は、ユーザーからの新たな印刷指示を受け付けると、アプリデータＡＤ１とアプリデータＡＤ２とを比較し、差異のあるページに相当するアプリデータＡＤΔを抽出する。その後ＭＦＰ２００は、アプリデータＡＤΔに基づく画像ＩＭ２を印刷する。アプリデータＡＤΔのプリントジョブＰＤΔへの変換、およびラスタデータへの変換は、端末３００側で行ってもよいし、ＭＦＰ２００側で行ってもよい。
【０１７５】
図１４（ｄ）に示す第４の変形例において、端末３００は、文書管理サーバーの制御プログラムをＨＤＤなどに記憶している。文書管理サーバーの制御プログラムは、ＭＦ２００を制御するプリンタードライバーのプログラムに含まれていてもよい。ＭＦＰ２００は、過去の印刷に関するプリントジョブＰＤ２のラスタデータを保持している。端末３００は、ユーザーからの新たな印刷指示を受け付けると、アプリデータＡＤ２をプリントジョブＰＤ２に変換し、さらにプリントジョブＰＤ２をラスタデータに変換する。そして端末３００は、プリントジョブＰＤ１のラスタデータとプリントジョブＰＤ２のラスタデータとを比較し、差異のあるページに相当するラスタデータＲＤΔを抽出し、ＭＦＰ２００へ送信する。ＭＦＰ２００は、ラスタデータＲＤΔに基づく画像ＩＭ２を印刷する。
【０１７６】
上述の実施の形態は互いに組み合わせられてもよい。たとえば、第１の実施の形態において、改ページ箇所を固定してプリントジョブを作成してもよい。また、第２の実施の形態において、直近の印刷に関する印刷設定および新たな印刷指示に関する印刷設定の各々でプリントジョブを作成し、どちらの印刷設定で印刷するかの選択を要求してもよい。また、第１および第２の実施の形態を互いに組み合わせて、直近の印刷に関する印刷設定で作成した古いバージョンのプリントジョブと直近の印刷に関する印刷設定で改行箇所を固定せずに作成した最新のバージョンのプリントジョブとの差異（第１の差異）と、新たな印刷指示に関する印刷設定で作成した古いバージョンのプリントジョブと新たな印刷指示に関する印刷設定で改行箇所を固定せずに作成した最新のバージョンのプリントジョブとの差異（第２の差異）と、直近の印刷に関する印刷設定で作成した古いバージョンのプリントジョブと直近の印刷に関する印刷設定で古いバージョンの改行箇所を固定して作成した最新のバージョンのプリントジョブとの差異（第３の差異）とのうち、ユーザーの選択に従った差異を印刷してもよい。
【０１７７】
上述の実施の形態における処理は、ソフトウェアにより行なっても、ハードウェア回路を用いて行なってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、ＣＰＵなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
【０１７８】
上述の実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７９】
１００  文書管理サーバー
１１０  文書保持部
１１１  印刷履歴保持部
１１２  印刷指示取得部
１１３  ユーザー情報取得部
１１４  印刷履歴検索部
１１５  文書比較部
１１６  プリントジョブ生成部
１１７  差異ページ抽出部
１１８  差異プリントジョブ送信部
１１９  印刷設定差異報知部
１２０  出力枚数提示部
１２１  最適印刷装置提示部
１３０  制御部
２００，２００ａ，２００ｂ，２００ｃ  ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）
２１０  プリントジョブ受信部
２１１  画像処理部
２１２  印刷部
３００，３００ａ，３００ｂ，３００ｃ  端末
３１０  印刷指示部
３１１  選択受付部
４００  ネットワーク
ＡＤ１，ＡＤ２，ＡＤ３，ＡＤΔ  アプリデータ
ＩＭ１，ＩＭ２  画像
ＫＹ１，ＫＹ２，ＫＹ３，ＫＹ４  キー
ＯＰ１，ＯＰ２，ＯＰ３  選択肢
ＰＤ１，ＰＤ１Ａ，ＰＤ１Ｂ，ＰＤ１Ｃ，ＰＤ２，ＰＤ２Ａ，ＰＤ２Ｂ，ＰＤ３Ａ，ＰＤ３Ｂ，ＰＤ３Ｃ，ＰＤΔ，ＰＤΔ２Ａ，ＰＤΔ２Ｂ，ＰＤΔ３Ａ，ＰＤΔ３Ｂ，ＰＤΔ３Ｃ  プリントジョブ
ＲＤ１，ＲＤΔ  ラスタデータ
ＳＲ１，ＳＲ２，ＳＲ３  画面
【図１】
2014215932.tif 000003
【図２】
2014215932.tif 000004
【図３】
2014215932.tif 000005
【図４】
2014215932.tif 000006
【図５】
2014215932.tif 000007
【図６】
2014215932.tif 000008
【図７】
2014215932.tif 000009
【図８】
2014215932.tif 000010
【図９】
2014215932.tif 000011
【図１０】
2014215932.tif 000012
【図１１】
2014215932.tif 000013
【図１２】
2014215932.tif 000014
【図１３】
2014215932.tif 000015
【図１４】
2014215932.tif 000016
【図１５】
2014215932.tif 000017