(57)【要約】【課題】  受信することが出来ないメモリサイズの圧縮ファイルや、伸張された結果、許容メモリサイズを超えてしまうような圧縮ファイルの画像形成時においても、メモリ不足に陥ることが無い画像形成装置および画像形成システムの提供。【解決手段】  データが受信可能か否かを判定する判定部と、判定部がデータを受信不可と判定した場合に画像処理装置に対して第１のデータの送信を要求する第１の要求部と、画像処理装置から受信した第１のデータを解析する第１の解析部と、第１の解析部の解析結果に基づき画像処理装置に対して第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、画像処理装置から受信した第２のデータを解析する第２の解析部と、第２の解析部の解析結果に基づき画像を形成する画像形成部と、を備える画像形成装置、および画像形成システム。【選択図】  図２
2010143194.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置から送信されたデータを受信し処理する画像形成装置であって、
前記データが受信可能か否かを判定する判定部と、
前記判定部が前記データを受信不可と判定した場合に前記画像処理装置に対して第１のデータの送信を要求する第１の要求部と、
前記画像処理装置から受信した前記第１のデータを解析する第１の解析部と、
前記第１の解析部の解析結果に基づき前記画像処理装置に対して前記第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、
前記画像処理装置から受信した前記第２のデータを解析する第２の解析部と、
前記第２の解析部の解析結果に基づき画像を形成する画像形成部と、
を備えること
を特徴とする画像形成装置。
【請求項２】
前記データは印刷データであり、前記印刷データは圧縮されていると共に、内部にディレクトリ構造を備えることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記第１のデータは前記データの構成情報であることを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記画像形成装置はデータ格納管理部を更に備え、
前記判定部は前記データのサイズ容量と、前記データ格納管理部のデータ格納容量と、を比較することにより前記データが前記データ格納管理部に格納可能か否かを判定すること
を特徴とする請求項１記載の画像形成装置。
【請求項５】
前記第１の要求部は前記データをそのまま転送させる第１の転送モードから前記第２のデータを逐次的に転送させる第２の転送モードへ転送モードの変更を前記画像処理装置に対して要求すること
を特徴とする請求項１記載の画像形成装置。
【請求項６】
前記第１のデータは前記画像処理装置内で管理されているファイルのファイルリストであること
を特徴とする請求項１記載の画像形成装置。
【請求項７】
前記第２の要求部は前記ファイルリストに記載されている前記ファイルのファイルパスを用いて前記ファイルの取得を前記画像処理装置に対して要求すること
を特徴とする請求項６記載の画像形成装置。
【請求項８】
前記第２のデータは前記ファイルリストに記載されているファイルパスに対応したファイルデータであること
を特徴とする請求項６又は７記載の画像形成装置。
【請求項９】
画像処理装置から送信されたデータを受信し処理する画像形成装置を備えた画像形成システムであって、
前記画像形成装置は、
前記データが受信可能か否かを判定する判定部と、
前記判定部が前記データを受信不可と判定した場合に前記画像処理装置に対して第１のデータの送信を要求する第１の要求部と、
前記画像処理装置から受信した前記第１のデータを解析する第１の解析部と、
前記第１の解析部の解析結果に基づき前記画像処理装置に対して前記第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、
前記画像処理装置から受信した前記第２のデータを解析する第２の解析部と、
前記第２の解析部の解析結果に基づき画像を形成する画像形成部と、
を備え、
前記画像処理装置は、
前記画像形成装置の前記第１の要求部の要求に基づいて前記第１のデータを生成する第１の制御部と、
前記画像形成装置の前記第２の要求部の要求に基づいて前記第２のデータを生成する第２の制御部と、
前記データ、前記第１のデータ、及び前記第２のデータを送信する送信部と、
を備えること
を特徴とする画像形成システム。
【請求項１０】
前記データは印刷データであり、前記印刷データは圧縮されていると共に、内部にディレクトリ構造を備えることを特徴とする請求項９記載の画像形成システム。
【請求項１１】
前記第１のデータは前記データの構成情報であることを特徴とする請求項９又は１０記載のの画像形成システム。
【請求項１２】
前記画像形成装置はデータ格納管理部を更に備え、
前記判定部は前記データのサイズ容量と、前記データ格納管理部のデータ格納容量と、を比較することにより前記データが前記データ格納管理部に格納可能か否かを判定すること
を特徴とする請求項９記載の画像形成システム。
【請求項１３】
前記第１の要求部は前記データをそのまま転送させる第１の転送モードから前記第２のデータを逐次的に転送させる第２の転送モードへ転送モードの変更を前記画像処理装置に対して要求すること
を特徴とする請求項９記載の画像形成システム。
【請求項１４】
前記第１のデータは前記画像処理装置内で管理されているファイルのファイルリストであること
を特徴とする請求項９記載の画像形成システム。
【請求項１５】
前記第２の要求部は前記ファイルリストに記載されている前記ファイルのファイルパスを用いて前記ファイルの取得を前記画像処理装置に対して要求すること
を特徴とする請求項１４記載の画像形成システム。
【請求項１６】
前記第２のデータは前記ファイルリストに記載されているファイルパスに対応したファイルデータであること
を特徴とする請求項１４又は１５記載の画像形成システム。
【請求項１７】
前記画像処理装置は伸張後のファイルを格納する伸張ファイル格納管理部を更に備え、
前記第１の制御部は前記データに対して伸張処理を行うと共に、前記伸張ファイル格納管理部に格納させること
を特徴とする請求項９記載の画像形成システム。
【請求項１８】
前記画像処理装置は伸張後のファイルを管理するファイル管理部を更に備え、
前記ファイル管理部は前記伸張ファイル格納管理部に格納されている伸張後のファイルへのアクセスを管理すること
を特徴とする請求項９記載の画像形成システム。
【請求項１９】
前記第１の制御部は前記ファイル管理部により管理されている伸張後のファイルのファイルリストを生成すると共に、前記送信部に前記ファイルリストを前記画像形成装置に対して送信させること
を特徴とする請求項９記載の画像形成システム。
【請求項２０】
前記第２の制御部は前記送信部に前記画像形成装置から要求されたファイルパスに対応したファイルを前記画像形成装置に対して送信させること
を特徴とする請求項９記載の画像形成システム。
【請求項２１】
画像処理装置から送信されたデータを受信し処理する画像形成装置であって、
前記データが受信可能か否かを判定する判定部と、
前記判定部が前記データを受信不可と判定した場合に前記画像処理装置に対して第１のデータの送信を要求する第１の要求部と、
前記第１のデータを処理する処理部と、
前記処理部が処理に用いる前記第１のデータに対応した画像情報としての第２のデータの送信を前記画像処理装置に対して要求する第２の要求部と、
前記画像処理装置から受信した前記第２のデータを解析する解析部と、
前記解析部の解析結果に基づき画像を形成する画像形成部と、
を備えること
を特徴とする画像形成装置。
【請求項２２】
画像処理装置から送信されたデータを受信し処理する画像形成装置を備えた画像形成システムであって、
前記画像形成装置は、
前記データが受信可能か否かを判定する判定部と、
前記判定部が前記データを受信不可と判定した場合に前記画像処理装置に対して第１のデータの送信を要求する第１の要求部と、
前記画像処理装置から受信した前記第１のデータを解析する第１の解析部と、
前記第１の解析部の解析結果に基づき前記画像処理装置に対して前記第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、
前記画像処理装置から受信した前記第２のデータを解析する第２の解析部と、
前記第２の解析部の解析結果に基づき画像を形成する画像形成部と、
を備え、
前記画像処理装置は、
前記画像形成装置の前記第１の要求部の要求に基づいて前記画像形成装置から前記データの送信を要求すると共に、受信した前記データから前記第１のデータを生成する第１の制御部と、
前記画像形成装置の前記第２の要求部の要求に基づいて前記第２のデータを生成する第２の制御部と、
前記データ、前記第１のデータ、及び前記第２のデータを送信する送信部と、
を備えること
を特徴とする画像形成システム。
【請求項２３】
前記データは印刷データであり、前記印刷データは圧縮されていると共に、内部にディレクトリ構造を備えることを特徴とする請求項２２記載の画像形成システム。
【請求項２４】
前記第１のデータは前記データの構成情報であることを特徴とする請求項２２又は２３記載の画像形成装置。
【請求項２５】
前記画像形成装置はデータ格納管理部を更に備え、
前記判定部は前記データのサイズ容量と、前記データ格納管理部のデータ格納容量と、を比較することにより前記データが前記データ格納管理部に格納可能か否かを判定すること
を特徴とする請求項２２記載の画像形成システム。
【請求項２６】
前記第１のデータは前記画像処理装置内で管理されているファイルのファイルリストであること
を特徴とする請求項２２記載の画像形成システム。
【請求項２７】
前記第２の要求部は前記ファイルリストに記載されている前記ファイルのファイルパスを用いて前記ファイルの取得を前記画像処理装置に対して要求すること
を特徴とする請求項２２記載の画像形成システム。
【請求項２８】
前記第２のデータは前記ファイルリストに記載されているファイルパスに対応したファイルデータであること
を特徴とする請求項２６又は２７記載の画像形成システム。
【請求項２９】
前記画像処理装置は伸張後のファイルを格納する伸張ファイル格納管理部を更に備え、
前記第１の制御部は前記データに対して伸張処理を行うと共に、前記伸張ファイル格納管理部に格納させること
を特徴とする請求項２２記載の画像形成システム。
【請求項３０】
前記画像処理装置は伸張後のファイルを管理するファイル管理部を更に備え、
前記ファイル管理部は前記伸張ファイル格納管理部に格納されている伸張後のファイルへのアクセスを管理すること
を特徴とする請求項２２記載の画像形成システム。
【請求項３１】
前記第１の制御部は前記ファイル管理部により管理されている伸張後のファイルのファイルリストを生成すると共に、前記送信部に前記ファイルリストを前記画像形成装置に対して送信させること
を特徴とする請求項２２記載の画像形成システム。
【請求項３２】
前記第２の制御部は前記送信部に前記画像形成装置から要求されたファイルパスに対応したファイルを前記画像形成装置に対して送信させること
を特徴とする請求項２２記載の画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置および画像形成システムに関するものである。
【背景技術】
【０００２】
受信した印刷データに基づいて画像を形成する画像形成装置と、文書作成、図表作成のための文書・図表アプリケーションソフトを使用して作成されたアプリケーションデータ（スプールデータ）に基づく印刷データを当該画像形成装置に対して送信する画像処理装置と、を備えた画像形成システムにおいて、近年、画像処理装置から画像形成装置に対して送信される印刷データとして、今までのストリーム形式のページ記述言語（Page Description Language、以降、ＰＤＬと称する）データとは異なり、フォルダ構造を有するデータを１つの圧縮データとしてまとめ、ＰＤＬデータとして利用する方式が用いられるようになった。
【０００３】
このような方式の一例として、例えば、ＸＰＳ（XML Paper Specification）ファイルが知られている。ＸＰＳファイルのマークアップデータはＸＭＬマークアップで記述され、当該マークアップデータ、画像データ、又はフォントデータ等は１つのＺＩＰ形式でアーカイブされる。
【０００４】
そして、ＸＰＳファイルをＰＤＬデータとして利用する一形態として、例えば、特許文献１には、画像形成装置内に確保されているデータ領域に対して、ドラッグ＆ドロップで送信されたＸＰＳ文書ファイルに基づく画像を形成する画像形成システム及び画像形成装置に関する発明が開示されている。
【０００５】
【特許文献１】特開２００８−０５２４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記記載のＸＰＳファイル等をＰＤＬデータとして用いる方式では、画像形成装置内部に一旦、圧縮ファイルを転送し、当該圧縮ファイルの伸張処理を行ってから構文解析を行う必要がある。したがって、このような方式では、画像形成装置が保持できるメモリサイズ以上のメモリサイズを有するファイルは受信することができない。また、例え、受信することができたとしても、受信したファイルを伸張するためには、さらに受信したファイルが有するメモリサイズの倍以上のメモリサイズのメモリが必要となり、画像形成装置による処理に必要とされるメモリが不足するといった問題があった。具体的には、例えば、画像形成装置に搭載されているメモリのメモリサイズが２５６Ｍである場合、１２８Ｍ以上のメモリサイズを有する圧縮されたＸＰＳファイルを受信することはできない。
【０００７】
本発明は、このような実情に鑑みてなされたものであり、本発明の課題は、従来、画像形成装置が受信することが出来ないメモリサイズの圧縮ファイルや、伸張された結果、画像形成装置の許容メモリサイズを超えてしまうような圧縮ファイルの画像形成時においても、画像形成装置がメモリ不足に陥ることが無い画像形成装置および画像形成システムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明にかかる画像形成装置は、画像処理装置から送信されたデータを受信し処理する画像形成装置であって、データが受信可能か否かを判定する判定部と、判定部がデータを受信不可と判定した場合に画像処理装置に対してデータの構成情報としての第１のデータの送信を要求する第１の要求部と、画像処理装置から受信した第１のデータを解析する第１の解析部と、第１の解析部の解析結果に基づき画像処理装置に対して第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、画像処理装置から受信した第２のデータを解析する第２の解析部と、第２の解析部の解析結果に基づき画像を形成する画像形成部と、を備えることを特徴とする。
【０００９】
また、本発明にかかる画像形成システムは、画像処理装置から送信されたデータを受信し処理する画像形成装置を備えた画像形成システムであって、画像形成装置は、データが受信可能か否かを判定する判定部と、判定部がデータを受信不可と判定した場合に画像処理装置に対してデータの構成情報としての第１のデータの送信を要求する第１の要求部と、画像処理装置から受信した第１のデータを解析する第１の解析部と、第１の解析部の解析結果に基づき画像処理装置に対して第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、画像処理装置から受信した第２のデータを解析する第２の解析部と、第２の解析部の解析結果に基づき画像を形成する画像形成部と、を備え、画像処理装置は、画像形成装置の第１の要求部の要求に基づいて第１のデータを生成する第１の制御部と、画像形成装置の第２の要求部の要求に基づいて第２のデータを生成する第２の制御部と、データ、第１のデータ、及び第２のデータを送信する送信部と、を備えることを特徴とする。
【００１０】
さらにまた、本発明にかかる画像形成装置は、画像処理装置から送信されたデータを受信し処理する画像形成装置であって、データが受信可能か否かを判定する判定部と、判定部がデータを受信不可と判定した場合に画像処理装置に対して第１のデータの送信を要求する第１の要求部と、第１のデータを処理する処理部と、処理部が処理に用いる第１のデータに対応した画像情報としての第２のデータの送信を画像処理装置に対して要求する第２の要求部と、画像処理装置から受信した第２のデータを解析する解析部と、解析部の解析結果に基づき画像を形成する画像形成部と、を備えることを特徴とする。
【００１１】
また、本発明にかかる画像形成システムは、画像処理装置から送信されたデータを受信し処理する画像形成装置を備えた画像形成システムであって、画像形成装置は、データが受信可能か否かを判定する判定部と、判定部がデータを受信不可と判定した場合に画像処理装置に対してデータの構成情報としての第１のデータの送信を要求する第１の要求部と、画像処理装置から受信した第１のデータを解析する第１の解析部と、第１の解析部の解析結果に基づき画像処理装置に対して第１のデータに対応した画像情報としての第２のデータの送信を要求する第２の要求部と、画像処理装置から受信した第２のデータを解析する第２の解析部と、第２の解析部の解析結果に基づき画像を形成する画像形成部と、を備え、画像処理装置は、画像形成装置の第１の要求部の要求に基づいて画像形成装置からデータの送信を要求すると共に、受信したデータから第１のデータを生成する第１の制御部と、第２の要求部の要求に基づいて第２のデータを生成する第２の制御部と、データ、第１のデータ、及び第２のデータを送信する送信部と、を備えることを特徴とする
【発明の効果】
【００１２】
本発明によれば、従来、画像形成装置が受信することが出来ないメモリサイズの圧縮ファイルや、伸張された結果、画像形成装置の許容メモリサイズを超えてしまうような圧縮ファイルの画像形成時においても、画像形成装置がメモリ不足に陥ることが無い画像形成装置および画像形成システムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１４】
［第１の実施形態］
まず、図１、および図２を用いて第１の実施形態について説明する。なお、本実施形態の説明においては、画像形成装置としてのプリンタ２０と、画像処理装置としてのホストＰＣ（Personal Computer）２５と、を有する画像形成システム１０について説明する。
【００１５】
図１は、画像形成システム１０の構成を説明するシステム構成図である。画像形成システム１０は、プリンタ２０と、ホストＰＣ２５と、ホストＰＣ２５の装置状況や各種設定入力画面等を表示する表示手段としての、例えば、ＣＲＴ（Cathode Ray Tube）等のモニタ２００と、モニタ２００に表示された各種設定入力画面を介してユーザによる入力を受付ける入力手段としてのキーボード２１０と、を備える。そして、プリンタ２０とホストＰＣ２５とは、例えば、ＬＡＮ（Local Area Network）の通信ケーブル等によって接続されており、ホストＰＣ２５からプリンタ２０への通信には、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）通信に利用されるポート番号９１００の通信ポートを利用することができ、プリンタ２０からホストＰＣ２５への通信には、例えば、ポート番号５００００の通信ポートを利用することができる。
【００１６】
図２は、画像形成システム１０の内部構成を説明するための概略構成図である。まず、プリンタ２０の構成について説明し、次いで、ホストＰＣ２５の構成について説明する。
【００１７】
プリンタ２０は、データ受信部７０と、受信データサイズ判定部３０と、データ格納管理部３７と、転送モード変更要求部８０と、受信データ解析部４５と、ファイル管理部４０およびファイル送信要求部９０を備えるファイル処理部５５と、ＰＤＬ解析部５０と、印刷部６０と、を備える。
【００１８】
データ受信部７０は、ポート番号９１００の通信ポートを利用してホストＰＣ２５から送信された後述するファイルリストやＰＤＬデータ等のデータを受信するための受信部である。ここで、本実施形態にかかるＰＤＬデータとは、印刷情報が記述されたファイルデータであり、プリンタ２０はこのＰＤＬデータを解析し、その解析結果に基づいて印刷処理を実行する。
【００１９】
受信データサイズ判定部３０は、ホストＰＣ２５から送信されたＰＤＬデータが受信可能であるか否かを判定する判定部である。なお、受信データサイズ判定部３０によるＰＤＬデータの受信が可能か否かの判定基準は、本実施形態においては、ＰＤＬデータを構成するファイルデータの合計メモリサイズがプリンタ２０が格納できる最大メモリサイズの半分以下であることとしている。なお、ＰＤＬデータが非圧縮である場合（圧縮処理は行われず、アーカイブファイルとして１つにまとめられているだけの場合）、伸張処理後のファイルデータのメモリサイズと圧縮ファイルとのメモリサイズはほぼ等しくなるため、伸張処理を行うことができる。しかしながら、通常、圧縮ファイルは伸張処理後にそのメモリサイズは大きくなるため、例え、受信できたとしても伸張できるとは限らない。
【００２０】
データ格納管理部３７は、ホストＰＣ２５から受信したＰＤＬデータを一時的に格納する、例えば、図示せぬ、ＲＡＭ（Random Access Memory）等の記憶媒体を管理する。
【００２１】
転送モード変更要求部８０は、受信データサイズ判定部３０がＰＤＬデータを受信することができないと判断した場合に、ホストＰＣ２５のドライバ３５に対してＰＤＬデータの転送モードの変更を要求する第１の要求部である。なお、本実施形態における転送モードは、ドライバ３５がＰＤＬデータをそのまま転送する「通常データ転送モード」と、ドライバ３５内において、一旦、ＰＤＬデータを構成する圧縮ファイルを伸張し、第２のデータとしての伸張後のファイル（以後、伸張ファイルと称する）の中から、プリンタ２０から要求された伸張ファイルを適宜転送する「要求ファイル転送モード」である。
【００２２】
受信データ解析部４５は、第１の解析部であり、転送モード変更要求部８０の転送モード変更要求に基づいてドライバ３５から送信された第１のデータとしてのファイルリストを解析する。ここで、ファイルリストとは、ホストＰＣ２５のテンポラリフォルダにＰＤＬデータを伸張処理し、そのテンポラリフォルダをルートとしたファイルパスのリストである。具体的には、図３に示すようなＰＤＬデータに対して生成されたファイルリストは図４に示すようなリストとして生成される。
【００２３】
ファイル処理部５５は、ファイル管理部４０と、ファイル送信要求部９０と、を備え、ファイルリストに記載されたファイルパスに基づいてドライバ３５に対して伸張ファイルの送信要求を行う指示部である。そして、ファイル管理部４０は、後述するファイルリストによりドライバ３５により管理されている伸張ファイルや、図示せぬ記憶媒体に格納されているファイルへのアクセスを管理する管理部である。また、ファイル送信要求部９０は、ファイルリストに記載されているファイルパスに基づき、当該ファイルパスに対応するファイルの送信をドライバ３５に要求する第２の要求部である。
【００２４】
ＰＤＬ解析部５０は、受信したＰＤＬデータの解析を行う第２の解析部である。
【００２５】
印刷部６０は、例えば、電子写真方式の印刷エンジンを備え、ＰＤＬ解析部５０による解析結果に基づいて印刷処理を実行する画像形成部である。
【００２６】
なお、プリンタ２０は、上記以外にも、図示せぬ、装置全体を制御するＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、タイマ等を備える印刷制御部、制御コマンドを受信してプリンタ２０の全体のシーケンスを制御し印刷動作を実行するインタフェース制御部、プリンタ２０の状態を表示するための、例えばＬＣＤ（Liquid Crystal Display）等の表示装置を備える表示部、ユーザからの指示を受付けるための、例えばタッチパネル等の入力手段を備える操作部、プリンタ２０の動作状態を監視するための、例えば、用紙位置検出センサ，温湿度センサ，濃度センサ等の各種センサ、プリンタ２０が備える各部材に電力を供給する電源等を備える。
【００２７】
次に、ホストＰＣ２５の構成について説明する。ホストＰＣ２５は、モニタ２００等の外部表示装置に対して装置状況や各種設定入力画面等を表示させる出力部である表示部１８０と、モニタ２００に表示された各種設定入力画面に対し、ユーザによる入力をキーボード２１０等を介して受付ける入力部である入力装置１９０と、文書作成、図表作成のためのアプリケーション１７０と、プリンタ２０に対応したプリンタドライバであり、アプリケーション１７０により出力されたスプールデータからプリンタ２０が印刷可能なＰＤＬデータを生成するドライバ３５と、を備える。なお、スプールデータとは、アプリケーション１７０がドライバ３５に対して出力する印刷データの中間データである。
【００２８】
次に、ドライバ３５について詳細に説明する。ドライバ３５は、ＰＤＬデータ生成部１４０と、データ送信部１００と、プリンタ要求受信部１５０と、転送モード制御部１６０と、圧縮データ伸張部１３０と、伸張データ格納管理部１２０と、ファイルリスト生成部１１０と、伸張データ管理部１２５と、を備える。
【００２９】
ＰＤＬデータ生成部１４０は、アプリケーション１７０から出力されたスプールデータからＰＤＬデータを生成し、図示せぬ記憶媒体に格納させる。
【００３０】
データ送信部１００は、ＰＤＬデータ生成部１４０が生成し、図示せぬ記憶媒体に格納されたＰＤＬデータや、ファイルリスト等をプリンタ２０のポート番号９１００の通信ポートに対して送信する送信部である。
【００３１】
プリンタ要求受信部１５０は、ポート番号５００００の通信ポートを介してプリンタ２０からの、例えば、転送モードの変更要求等を受信する。
【００３２】
転送モード制御部１６０は、プリンタ２０からの転送モードの変更要求に基づきＰＤＬデータの転送モードの変更を行う。
【００３３】
圧縮データ伸張部１３０は、ＰＤＬデータを構成する圧縮ファイルの伸張処理を行う。本実施形態では、ＺＩＰ形式で圧縮ファイルの伸張処理を想定しているが、この形式以外にも、例えば、ＬＺＨ形式や、ＴＡＲ形式等の様々な圧縮形式のファイルを伸張できるように構成してもよい。
【００３４】
伸張データ格納管理部１２０は、伸張ファイルを格納する、例えば、図示せぬ、ＨＤＤ（Hard Disk Drive）等の記憶媒体を管理する。
【００３５】
ファイルリスト生成部１１０は、図示せぬ記憶媒体が格納する伸張ファイルのディレクトリ構成によりファイルリストを生成する第１の制御部である。
【００３６】
伸張データ管理部１２５は、図示せぬ記憶媒体が格納する伸張ファイルへのアクセスを管理する第２の制御部である。
【００３７】
なお、ホストＰＣ２５は、上記以外にも、図示せぬ、装置全体を制御するＣＰＵ、装置の制御プログラムやドライバ３５等を記憶する、例えば、ＲＡＭ、ＲＯＭ、又はＨＤＤ等の記憶媒体、ポート番号９１００の通信ポートを制御する、例えば、ネットワークカード等の通信制御装置等を備える。ＣＰＵがこれらの部材を制御することで、ホストＰＣ２５は機能を実現することができる。
【００３８】
次に、図２，図３，図４，図５，図６，図７，図８，図９を用いて第１の実施形態にかかる動作について説明する。なお、本実施形態においては、圧縮ＰＤＬデータとしてＸＰＳファイルを扱うものとする。
【００３９】
図５は、第１の実施形態にかかる画像形成システム１０の全体処理動作を説明するフローチャートである。
【００４０】
まず、ステップＳ０００５において、ホストＰＣ２５のユーザは、アプリケーション１７０に対して、入力装置１９０を介して印刷実行の指示を与える。印刷実行の指示を受けたアプリケーション１７０は、ドライバ３５に対してスプールデータを出力する（ステップＳ０００７）。
【００４１】
スプールデータが入力されたＰＤＬデータ生成部１４０は、スプーデータに基づくＸＰＳファイルを生成する（ステップＳ００１０）。なお、ＰＤＬデータ生成部１４０が生成したＸＰＳファイルは、図３に示すような構成を有しており、ＺＩＰ形式で圧縮されている。
【００４２】
次に、データ送信部１００は、ＰＤＬ生成部１４０が生成したＸＰＳファイルをポート番号５００００の通信ポートを介してプリンタ２０に対して送信する（ステップＳ００２０）。
【００４３】
プリンタ２０のデータ受信部７０は、データ送信部１００が送信したＸＰＳファイルをポート番号９１００の通信ポートを介して受信する。そして、データ受信部７０がＸＰＳファイルを受信すると、受信データサイズ判定部３０は、全てのＸＰＳファイルが受信可能であるか否かを判定する（ステップＳ００３０）。ここで、全てのＸＰＳファイルを全て受信できないと判定した場合、受信データサイズ判定部３０はその旨を転送モード変更要求部８０に通知する。
【００４４】
受信データサイズ判定部３０からの通知を受けた転送モード変更要求部８０は、ホストＰＣ２５のプリンタ要求受信部１５０に対して転送モードの変更要求を送信する（ステップＳ００４０）。転送モードの変更要求を受信したプリンタ要求受信部１５０は、転送モード制御部１６０、および伸張データ管理部１２５に対してその旨を通知する。
【００４５】
プリンタ要求受信部１５０から転送モードの変更要求の通知を受けた転送モード制御部１６０は、転送モードを「通常データ転送モード」から「要求ファイル転送モード」へと変更する（ステップＳ００５０）。また、伸張データ管理部１２５は、先に送信を試みたＸＰＳファイルを伸張するように圧縮データ伸張部１３０に対して指示を与える。伸張データ管理部１２５からＸＰＳファイルの伸張指示を受けた圧縮データ伸張部１３０は、ＸＰＳファイルを伸張する（ステップＳ００６０）。
【００４６】
そして、伸張データ管理部１２５は、圧縮データ伸張部１３０が伸張したＸＰＳファイル（以降、伸張ファイルと称する）を図示せぬ記憶媒体に格納するよう伸張データ格納管理部１２０に対して指示を与える。指示を受けた伸張データ格納管理部１２０は図示せぬ記憶媒体に伸張ファイルを格納させる。
【００４７】
図示せぬ記憶媒体に伸張ファイルが格納されると、ファイルリスト生成部１１０は、伸張ファイルのディレクトリ構成を図４に示すようなファイルリストとして生成する（ステップＳ００７０）。ファイルリスト生成部１１０がファイルリストを生成すると、伸張データ管理部１２５は、当該ファイルリストをプリンタ２０に送信するようデータ送信部１００に指示を与える。指示を受けたデータ送信部１００は、当該ファイルリストをポート番号５００００の通信ポートを介してプリンタ２０に対して送信する（ステップＳ００８０）。
【００４８】
プリンタ２０のデータ受信部７０は、データ送信部１００が送信したファイルリストをポート番号９１００の通信ポートを介して受信する。そして、データ受信部７０がファイルリストを受信すると、受信データ解析部４５は、ファイル管理部４０を介してファイルリストを取得し、当該ファイルリストを解析する（ステップＳ００９０）。受信データ解析部４５による解析結果に基づき、ファイル管理部４０は必要な伸張ファイル（以下、指定伸張ファイルと称する）を取得するようファイル送信要求部９０に対して指示を与える。指示を受けたファイル送信要求部９０は、指定伸張ファイルの取得要求をホストＰＣ２５のプリンタ要求受信部１５０に対して送信する（ステップＳ０１００）。
【００４９】
指定伸張ファイルの取得要求を受信したプリンタ要求受信部１５０は、当該指定伸張ファイル名を伸張データ管理部１２５に通知する。指定伸張ファイル名の通知を受けた伸張データ管理部１２５は、図示せぬ記憶媒体に格納された指定伸張ファイル名に対応する伸張ファイルをプリンタ２０に送信するようデータ送信部１００に指示を与える。指示を受けたデータ送信部１００は、当該伸張ファイルをポート番号５００００の通信ポートを介してプリンタ２０に対して送信する（ステップＳ０１１０）。
【００５０】
プリンタ２０のデータ受信部７０は、データ送信部１００が送信した伸張ファイルをポート番号９１００の通信ポートを介して受信する。そして、データ受信部７０が伸張ファイルを受信すると、ＰＤＬ解析部５０は、受信した伸張ファイルを解析する（ステップＳ０１２０）。また、必要に応じて、受信データ解析部４５の解析結果に基づき、ファイル管理部４０は必要な指定伸張ファイルを取得するようファイル送信要求部９０に対して指示を与える。
【００５１】
ＰＤＬ解析部５０による全ての受信済みの伸張ファイルの解析が終了すると、その解析結果に基づき、印刷部６０は印刷処理を実行する（ステップＳ０１３０）。印刷部６０による印刷処理が終了すると、ファイル管理部４０は処理が正常に終了した旨を通知するようファイル送信要求部９０に対して指示を与える。指示を受けたファイル送信要求部９０は、正常終了通知をホストＰＣ２５のプリンタ要求受信部１５０に対して送信する（ステップＳ０１４０）。
【００５２】
正常終了通知を受信したプリンタ要求受信部１５０は、転送モードを変更するよう転送モード制御部１６０に指示を与えると共に、伸張データ管理部１２５に対して伸張ファイルを削除するよう指示を与える。
【００５３】
指示を受けた転送モード制御部１６０は、転送モードを「要求ファイル転送モード」から「通常データ転送モード」に変更する（ステップＳ０１５０）。また、伸張データ管理部１２５は、図示せぬ記憶媒体に格納されている伸張ファイルを伸張データ格納管理部１２０に削除させる（ステップＳ０１６０）。
【００５４】
そして、ドライバ３５は図示せぬ記憶媒体に格納されているＸＰＳファイルを削除させると共に（ステップＳ０１６５）、印刷完了をアプリケーション１７０に対して通知する（ステップＳ０１７０）。
【００５５】
印刷完了通知を受けたアプリケーション１７０は、表示部１９０を介して印刷完了のメッセージを表示させる（ステップＳ０１８０）。
【００５６】
次に、プリンタ２０の処理動作について説明する。図６は、プリンタ２０の処理動作を説明するためのフローチャートである。
【００５７】
まず、データ受信部７０を介してＸＰＳファイルを受信すると（ステップＳ１０１０）、受信データサイズ判定部３０は、これまでに受信したＸＰＳファイルの合計メモリサイズと予め設定されているメモリサイズ閾値とを比較して、全てのＸＰＳファイルが受信可能か否かを判定する。なお、本実施形態においては、この閾値は、データ格納管理部３７が管理する図示せぬ記憶媒体の最大格納メモリサイズの半分としている。ここで、これまでに受信したＸＰＳファイルのメモリサイズの合計が閾値未満である場合、受信データサイズ判定部３０は、全てのＸＰＳファイルは受信可能であると判定し、これまでに受信したＸＰＳファイルのメモリサイズの合計が閾値以上である場合、受信データサイズ判定部３０は、全てのＸＰＳファイルは受信不可能と判定する（ステップＳ１０２０）。
【００５８】
データサイズ判定部３０は、全てのＸＰＳファイルが受信可能であると判定すると（ステップＳ００３０  ＹＥＳ）、受信したＸＰＳファイルを図示せぬ記憶媒体に格納するようデータ格納管理部３７に指示を与える。指示を受けたデータ格納管理部３７は、受信したＸＰＳファイルを図示せぬ記憶媒体に格納させる（ステップＳ１０４０）。
【００５９】
図示せぬ記憶媒体に全てのＸＰＳファイルが格納されると、図示せぬファイルデータ伸張部は、ＸＰＳファイルの伸張処理を実行する（ステップＳ１０５０）。なお、ここでのＸＰＳに対する伸張処理はＵＮＺＩＰ処理となる。ここで、伸張処理すると伸張後のメモリサイズが大きくなり、図示せぬ記憶媒体に格納できない場合、つまり伸張処理が不可能な場合（ステップＳ１０５４  ＮＯ）、データ格納管理部３７は受信したＸＰＳファイルを削除すると共に（ステップＳ１０５７）、転送モードの変更要求を転送モード変更要求部８０に通知する。一方、ステップＳ１０５４において、伸張処理が可能であった場合、データ格納管理部３７は、ＰＤＬ解析部５０に対して伸張ファイルの解析を実行するよう指示を与える（ステップＳ０１１０）。指示を受けたＰＤＬ解析部５０は伸張ファイルの解析を実行する（ステップＳ０１２０）。
【００６０】
なお、ステップＳ００３０において、データサイズ判定部３０が全てのＸＰＳファイルを受信不可能であると判定した場合（ステップＳ００３０  ＮＯ）、又は全てのＸＰＳファイルを受信することができたが、伸張処理が不可能であった場合（ステップＳ１０５４  ＮＯ）、受信データサイズ判定部３０、又はデータ格納管理部３７は、、転送モードの変更要求を転送モード変更要求部８０に通知する。通知を受けた転送モード変更要求部８０は、ホストＰＣ２５のプリンタ要求受信部１５０に対して転送モードを「要求ファイル転送モード」に変更するよう変更要求を送信する（ステップＳ００４０）。
【００６１】
転送モード変更要求部８０が転送モードの変更要求を送信すると、ホストＰＣのデータ送信部１００からファイルリストが送信されるため、データ受信部７０は当該ファイルリストをポート番号９１００の通信ポートを介して受信する（ステップＳ１０８０）。
【００６２】
そして、データ受信部７０がファイルリストを受信すると、受信データ解析部４５は、ファイル管理部４０を介してファイルリストを取得し、当該ファイルリストを解析する（ステップＳ００９０）。受信データ解析部４５による解析の結果、受信データがファイルリストであると判断すると、受信データ解析部４５は、ファイルリストをファイル管理部４０に登録させると共に（ステップＳ１０９５）、ファイル管理部４０がファイルリストに基づいてホストＰＣ２５から取得した伸張ファイルを解析するようＰＤＬデータ解析部５０に指示を与える（ステップＳ１１００）。
【００６３】
指示を受けたＰＤＬデータ解析部５０は、伸張ファイルの解析を実行する（ステップ０１２０）。ＰＤＬ解析部５０は、解析中にエラーが発生したか否かを判断し、エラーが発生した場合には（ステップＳ１１３５  ＹＥＳ）、その旨をファイル管理部４０に通知する。通知を受けたファイル管理部４０は、ドライバ３５に対して「エラー終了」を送信させる（ステップＳ１１５０）。そして、ファイル管理部４０は、図示せぬ記憶媒体に格納されている伸張ファイルを削除させ（ステップＳ０１３５）、処理を終了する。一方、エラーが発生しなかった場合には（ステップＳ１１３５  ＮＯ）、ＰＤＬ解析部５０は、印刷部６０に対して解析結果を出力して印刷処理を実行させ（ステップＳ０１３０）、その旨をファイル管理部４０に通知する。通知を受けたファイル管理部４０は、ドライバ３５に対して「正常終了」を送信させる（ステップＳ１１５０）。そして、ファイル管理部４０は、図示せぬ記憶媒体に格納されている伸張ファイルを削除させ（ステップＳ０１３５）、処理を終了する。
【００６４】
次に、ＰＤＬ解析部５０による伸張ファイルの解析処理について説明する。図７は、ＰＤＬ解析部５０による解析処理動作を説明するフローチャートである。
【００６５】
伸張ファイルを解析する場合、ＰＤＬ解析部５０は、最初に解析する［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌファイルの取得をファイル管理部４０に対して要求する（ステップＳ１６００）。なお、［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌファイルには、対象となるファイルデータに含まれるデータの形式と拡張子との対応が定義されており、このファイルを解析することで、以降ＰＤＬ解析部５０が解析するファイルの種類を拡張子にて判断できるようになる。
【００６６】
ＰＤＬ解析部５０により［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌファイルの取得要求を受けたファイル管理部４０は、図示せぬ記憶媒体に当該ファイルが格納されているか否かをデータ格納管理部３７に確認させる。データ格納管理部３７による確認の結果、当該ファイルが格納されていない場合、つまり、ＰＤＬ解析部５０による取得要求結果がエラーである場合（ステップＳ１６０５  ＹＥＳ）、ファイル管理部４０は上位処理に対して「エラー終了」を通知し（ステップＳ１６９０）、処理を終了する。
【００６７】
一方、図示せぬ記憶媒体に［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌファイルが格納されている場合、つまり、ＰＤＬ解析部５０による取得要求結果が正常である場合（ステップＳ１６０５  ＮＯ）、ＰＤＬ解析部５０は、ファイル管理部４０を介して［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌファイルを取得してコマンド解析を実行する（ステップＳ１６１０）。
【００６８】
［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌファイルのコマンド解析が終了すると、ＰＤＬ解析部５０は、＿ｒｅｌｅ／．ｒｅｌｓファイルの取得をファイル管理部４０に対して要求する（ステップＳ１６２０）。なお、＿ｒｅｌｅ／．ｒｅｌｓファイルには、次に解析すべきファイルへのパスが含まれている。
【００６９】
ＰＤＬ解析部５０により＿ｒｅｌｅ／．ｒｅｌｓファイルの取得要求を受けたファイル管理部４０は、図示せぬ記憶媒体に当該ファイルが格納されているか否かをデータ格納管理部３７に確認させる。データ格納管理部３７による確認の結果、当該ファイルが格納されていない場合、つまり、ＰＤＬ解析部５０による取得要求結果がエラーである場合（ステップＳ１６３０  ＹＥＳ）、ファイル管理部４０は上位処理に対して「エラー終了」を通知し（ステップＳ１６９０）、処理を終了する。
【００７０】
一方、図示せぬ記憶媒体に＿ｒｅｌｅ／．ｒｅｌｓファイルが格納されている場合、つまり、ＰＤＬ解析部５０による取得要求結果が正常である場合（ステップＳ１６３０  ＮＯ）、ＰＤＬ解析部５０は、ファイル管理部４０を介して＿ｒｅｌｅ／．ｒｅｌｓファイルを取得してコマンド解析を実行する（ステップＳ１６４０）。
【００７１】
＿ｒｅｌｅ／．ｒｅｌｓファイルのコマンド解析が終了すると、ＰＤＬ解析部５０は解析結果をチェックし、解析中にエラーが発生した場合（ステップＳ１６５０  エラー発生）、上位処理に対して「エラー終了」を通知し（ステップＳ１６９０）、処理を終了する。また、解析の結果、次に解析するファイルが必要な場合（ステップＳ１６５０  次の解析ファイルが必要）、次の解析対象のファイルの取得をファイル管理部４０に対して要求し（ステップＳ１６７０）、ＰＤＬ解析部５０による処理はステップＳ１６５０に戻る。これは、解析処理が終了、つまり、次に解析するファイルが無くなるまで繰り返して実行される。解析処理が終了した場合（ステップＳ１６５０  解析終了）、ＰＤＬ解析部５０は、上位処理に対して「正常終了」を通知し（ステップＳ１６８０）、処理を終了する。
【００７２】
次に、ファイル管理部４０による処理動作について説明する。図８は、ＰＤＬ解析部５０による解析処理中のファイル管理部４０の処理動作を説明するためのフローチャートである。
【００７３】
まず、ファイル管理部４０は、ＰＤＬ解析部５０により指定伸張ファイルの取得要求を受けると（ステップＳ１５１０）、図示せぬ記憶媒体に当該ファイルが格納されているか否かをデータ格納管理部３７に確認させる（ステップＳ１５２０）。データ格納管理部３７による確認の結果、指定伸張ファイルが格納されている場合、（ステップＳ１５３０  ＹＥＳ）、ファイル管理部４０は、データ格納管理部３７を介して指定伸張ファイルをＰＤＬ解析部５０に提供する（ステップＳ１５８０）。一方、ＰＤＬ解析部５０により要求された指定伸張ファイルが図示せぬ記憶媒体に格納されていない場合（ステップＳ１５３０  ＮＯ）、ファイル管理部４０は、指定伸張ファイルを取得するようファイル送信要求部９０に対して指示を与える。指示を受けたファイル送信要求部９０は、指定伸張ファイルの取得要求をホストＰＣ２５のプリンタ要求受信部１５０に対して送信する（ステップＳ１５４０）。
【００７４】
指定伸張ファイルの取得要求を受信したプリンタ要求受信部１５０は、当該指定伸張ファイル名を伸張データ管理部１２５に通知する。指定伸張ファイル名の通知を受けた伸張データ管理部１２５は、指定伸張ファイル名に対応する伸張ファイルが図示せぬ記憶媒体に格納されている場合（ステップＳ１５５０  指定ファイル有り）、プリンタ２０に当該伸張ファイルを送信するようデータ送信部１００に指示を与え、指示を受けたデータ送信部１００は、当該伸張ファイルを送信する。そして、ステップＳ１５６０において、データ送信部１００から送信された伸張ファイルを受信したファイル管理部４０は、当該伸張ファイルをデータ格納管理部３７を介して図示せぬ記憶媒体に格納させると共に（ステップＳ１５７０）、当該伸張ファイルをＰＤＬ解析部５０に提供させる（ステップＳ１５８０）。
【００７５】
一方、指定伸張ファイル名に対応する伸張ファイルが図示せぬ記憶媒体に格納されていない場合（ステップＳ１５５０  指定ファイル無し）、伸張データ管理部１２５は、プリンタ２０に当該伸張ファイルが存在しない旨を通知するようデータ送信部１００に指示を与え、指示を受けたデータ送信部１００は、その旨を送信する。そして、データ送信部１００から当該伸張ファイルが存在しない旨の通知を受けたファイル管理部４０は、ホストＰＣ２５に対して「エラー終了」を通知すると共に（ステップＳ１５８５）、ＰＤＬ解析部５０に対してエラーを返す（ステップＳ１５９０）。
【００７６】
次に、ドライバ３５による処理動作について説明する。図９は、ドライバ３５による処理動作を説明するためのフローチャートである。
【００７７】
まず、ドライバ３５のＰＤＬデータ生成部１４０は、アプリケーション１７０からスプールデータが入力されると、当該スプールデータに基づくＸＰＳファイルを生成する（ステップＳ００１０）。次に、データ送信部１００は、ＰＤＬ生成部１４０が生成したＸＰＳファイルをポート番号５００００の通信ポートを介してプリンタ２０に対して送信する（ステップＳ００２０）。
【００７８】
そして、ドライバ３５は、プリンタ２０からの応答があるまで待機する。ここで、プリンタ２０から「正常終了」、又は「エラー終了」の応答を受けた場合（ステップＳ２０３０  正常終了ｏｒエラー終了）、ドライバ３５はＸＰＳファイルを削除させ（ステップＳ０１６５）、処理を終了する。
【００７９】
一方、プリンタ２０の転送モード変更要求部８０から転送モードの変更要求を受信したプリンタ要求受信部１５０は、転送モード制御部１６０、および伸張データ管理部１２５に対してその旨を通知する。
【００８０】
プリンタ要求受信部１５０から転送モードの変更要求の通知を受けた転送モード制御部１６０は、転送モードを変更する（ステップＳ００５０）。また、伸張データ管理部１２５は、先に送信を試みたＸＰＳファイルを伸張するように圧縮データ伸張部１３０に対して指示を与える。伸張データ管理部１２５からＸＰＳファイルの伸張指示を受けた圧縮データ伸張部１３０は、ＸＰＳファイルを伸張する（ステップＳ００６０）。
【００８１】
そして、伸張データ管理部１２５は、圧縮データ伸張部１３０による伸張された伸張ファイルを図示せぬ記憶媒体に格納するよう伸張データ格納管理部１２０に対して指示を与える。指示を受けた伸張データ格納管理部１２０は図示せぬ記憶媒体に伸張ファイルを格納させる。
【００８２】
図示せぬ記憶媒体に伸張ファイルが格納されると、ファイルリスト生成部１１０は、伸張ファイルのディレクトリ構成をファイルリストとして生成する（ステップＳ００７０）。ファイルリスト生成部１１０がファイルリストを生成すると、伸張データ管理部１２５は、当該ファイルリストをプリンタ２０に送信するようデータ送信部１００に指示を与える。指示を受けたデータ送信部１００は、当該ファイルリストをポート番号５００００の通信ポートを介してプリンタ２０に対して送信する（ステップＳ００８０）。
【００８３】
そして、ドライバ３５は、プリンタ２０からの応答があるまで待機する。ここで、プリンタ２０から「正常終了」、又は「エラー終了」の通知を受けた場合（ステップＳ２０８０  正常終了ｏｒエラー終了）、プリンタ要求受信部１５０は、転送モードを変更するよう転送モード制御部１６０に指示を与えると共に、伸張データ管理部１２５に対して伸張ファイルを削除するよう指示を与える。指示を受けた転送モード制御部１６０は転送モードを変更し（ステップＳ０１５０）、伸張データ管理部１２５は伸張ファイルを削除させる（ステップＳ０１６０）。そしてドライバ３５はＸＰＳファイルを削除させ（ステップＳ０１６５）、処理を終了する。
【００８４】
一方、指定伸張ファイルの送信要求を受信したプリンタ要求受信部１５０は、当該指定伸張ファイル名を伸張データ管理部１２５に通知する（ステップＳ２０８０  ファイル送信要求）。指定伸張ファイル名の通知を受けた伸張データ管理部１２５は、指定伸張ファイル名に対応する伸張ファイルが図示せぬ記憶媒体に格納されている場合（ステップＳ２０８５  指定伸張ファイル有り）、プリンタ２０に当該伸張ファイルを送信するようデータ送信部１００に指示を与え、指示を受けたデータ送信部１００は、当該伸張ファイルを送信する（ステップＳ０１１０）。そして、処理はステップＳ２０８０に戻る。一方、指定伸張ファイル名に対応する伸張ファイルが図示せぬ記憶媒体に格納されていない場合（ステップＳ２０８５  指定伸張ファイル無し）、「指定伸張ファイル無し」をプリンタ２０に通知する。そして、処理はステップＳ２０８０に戻る。
【００８５】
本実施形態においては、プリンタからホストＰＣへの通信に利用するポート番号を５００００番、ホストＰＣからプリンタへの通信に利用するポート番号を９１００としたが、これらのポート番号は予め予約されていないポート番号であれば、どの番号のポート番号を利用してもかまわない。
【００８６】
以上のように、第１の実施形態によれば、ホストＰＣ側で圧縮ＰＤＬデータを伸張し、必要に応じてプリンタがファイル単位でホストＰＣ側に必要なファイルを要求できるようにしたため、プリンタが受信することができないメモリサイズの圧縮ＰＤＬデータや、伸張した結果、プリンタの許容メモリサイズを超えてしまうような圧縮ＰＤＬデータを印刷する場合においても、プリンタがメモリ不足に陥ることがなく、印刷処理を実行させることができる。
【００８７】
［第２の実施形態］
次に、本発明にかかる第２の実施形態について説明する。第２の実施形態は、第１の実施形態と異なり、ドライバと独立した別のアプリケーションがプリンタからの要求を受け、処理を実行する形態である。なお、第２の実施形態にかかるシステム構成、及び内部構成は略同一であるため、同一の箇所には同一の符号を付してその説明を省略し、異なる箇所について説明する。
【００８８】
図１０は、画像形成システム１０’の内部構成を説明するための概略構成図である。
【００８９】
プリンタ２０’は、第１の実施形態にかかるプリンタ２０と同様な構成に加え、データ格納管理部３７の指示に基づき、図示せぬ記憶媒体に格納されたファイルデータを外部に送信するファイル送信部９５を備える。
【００９０】
ホストＰＣ２５’は、第１の実施形態のホストＰＣ２５と同様な構成に加え、プリンタ２０’に対する印刷処理をサポートするアプリケーションであるアシストユーティリティ３００を備え、このアシストユーティリティ３００は、ポート番号５００００の通信ポートを介してサービスを提供する。
【００９１】
次に、ドライバ３５’について説明する。ドライバ３５’は、ＰＤＬデータ生成部１４０と、データ送信部１００と、を備える。
【００９２】
ＰＤＬデータ生成部１４０は、アプリケーション１７０から出力されたスプールデータからＰＤＬデータを生成し、図示せぬ記憶媒体に格納させる。
【００９３】
データ送信部１００は、ＰＤＬデータ生成部１４０が生成し、図示せぬ記憶媒体に格納されたＰＤＬデータや、ファイルリスト等をプリンタ２０のポート番号９１００の通信ポートに対して送信する送信部である。
【００９４】
次に、アシストユーティリティ３００について説明する。アシストユーティリティ３００は、プリンタ要求受信部３１０と、圧縮データ伸張部３５０と、伸張データ格納管理部３３０と、ファイルリスト生成部３２０と、伸張データ管理部３４０と、ファイル送信部３６０と、を備える。
【００９５】
プリンタ要求受信部１５０は、ポート番号５００００の通信ポートを介してプリンタ２０からの要求等を受信する。
【００９６】
圧縮データ伸張部３５０は、ＰＤＬデータを構成する圧縮ファイルの伸張処理を行う。本実施形態では、ＺＩＰ形式で圧縮されたファイルの伸張処理を想定しているが、この形式以外にも、例えば、ＬＺＨ形式や、ＴＡＲ形式等の様々な圧縮形式のファイルを伸張できるように構成してもよい。
【００９７】
伸張データ格納管理部３３０は、伸張ファイルを格納する、例えば、図示せぬ、ＨＤＤ（Hard Disk Drive）等の記憶媒体を管理する。
【００９８】
ファイルリスト生成部３２０は、図示せぬ記憶媒体が格納する伸張ファイルのディレクトリ構成によりファイルリストを生成する第１の制御部である。
【００９９】
伸張データ管理部３４０は、図示せぬ記憶媒体が格納する伸張ファイルへのアクセスを管理する第２の制御部である。
【０１００】
ファイル送信部３６０は、プリンタ２０’から要求されたファイルをプリンタ２０’のポート番号９１００の通信ポートに対して送信する送信部である。
【０１０１】
次に、図２，図３，図１０，図１１，図１２，図１３，図１４を用いて第２の実施形態にかかる動作について説明する。なお、本実施形態においては、圧縮ＰＤＬデータとしてＸＰＳファイルを扱うものとする。
【０１０２】
図１１は、第２の実施形態にかかる画像形成システム１０’の全体処理動作を説明するフローチャートである。
【０１０３】
まず、ステップＳ０００５において、ホストＰＣ２５のユーザは、アプリケーション１７０に対して、入力装置１９０を介して印刷実行の指示を与える。印刷実行の指示を受けたアプリケーション１７０は、ドライバ３５’に対してスプールデータを出力する（ステップＳ０００７）。
【０１０４】
スプールデータが入力されたＰＤＬデータ生成部１４０は、スプーデータに基づくＸＰＳファイルを生成する（ステップＳ５０１０）。なお、ＰＤＬデータ生成部１４０が生成したＸＰＳファイルは、図３に示すような構成を有しており、ＺＩＰ形式で圧縮されている。
【０１０５】
次に、データ送信部１００は、ＰＤＬ生成部１４０が生成したＸＰＳファイルをポート番号５００００の通信ポートを介してプリンタ２０’のポート番号９１００の通信ポートに対して送信する（ステップＳ５０２０）。
【０１０６】
プリンタ２０’のデータ受信部７０は、データ送信部１００が送信したＸＰＳファイルをポート番号９１００の通信ポートを介して受信する。そして、データ受信部７０がＸＰＳファイルを受信すると、受信データサイズ判定部３０は、全てのＸＰＳファイルが受信可能であるか否かを判定する（ステップＳ５０３０）。ここで、全てのＸＰＳファイルを全て受信できないと判定した場合、受信データサイズ判定部３０はその旨を転送モード変更要求部８０に通知する。
【０１０７】
受信データサイズ判定部３０からの通知を受けた転送モード変更要求部８０は、ホストＰＣ２５’のプリンタ要求受信部３１０に対して転送モードの変更要求を送信する（ステップＳ５０４０）。転送モードの変更要求を受信したプリンタ要求受信部３１０は、転送モード変更要求部８０に対してＸＰＳファイルの送信を要求する（ステップＳ５０５０）。
【０１０８】
プリンタ要求受信部３１０からＸＰＳファイルの送信要求を受けた転送モード変更要求部８０は、その旨をデータ格納管理部３７に通知する。既に全てのＸＰＳファイルが受信済みであり、図示せぬ記憶媒体に格納されている場合、データ格納管理部３７は、ファイル送信部９５を介してＸＰＳファイルを送信させる。また、まだ全てのＸＰＳファイルを受信していない場合、既にドライバ３５’から受信した部分にかかるＸＰＳファイルを送信させると共に、送信後にこれから受信する残りのＸＰＳファイルを続けて送信する（ステップＳ５０５５）。
【０１０９】
プリンタ２０’のファイル送信部９５からＸＰＳファイルを受信すると、伸張データ管理部３４０は、受信したＸＰＳファイルを伸張するように圧縮データ伸張部３５０に対して指示を与える。伸張データ管理部３４０からＸＰＳファイルの伸張指示を受けた圧縮データ伸張部３５０は、ＸＰＳファイルを伸張する（ステップＳ５０６０）。
【０１１０】
そして、伸張データ管理部３４０は、圧縮データ伸張部３５０が伸張した伸張ファイルを図示せぬ記憶媒体に格納するよう伸張データ格納管理部３３０に対して指示を与える。指示を受けた伸張データ格納管理部３３０は図示せぬ記憶媒体に伸張ファイルを格納させる。
【０１１１】
図示せぬ記憶媒体に伸張ファイルが格納されると、ファイルリスト生成部３２０は、伸張ファイルのディレクトリ構成を図４に示すようなファイルリストとして生成する（ステップＳ５０７０）。ファイルリスト生成部３２０がファイルリストを生成すると、伸張データ管理部３４０は、当該ファイルリストをプリンタ２０に送信するようファイル送信部３６０に指示を与える。指示を受けたファイル送信部３６０は、当該ファイルリストをポート番号５００００の通信ポートを介してプリンタ２０’に対して送信する（ステップＳ５０８０）。
【０１１２】
プリンタ２０’のデータ受信部７０は、ファイル送信部３６０が送信したファイルリストをポート番号９１００の通信ポートを介して受信する。そして、データ受信部７０がファイルリストを受信すると、受信データ解析部４５は、ファイル管理部４０を介してファイルリストを取得し、当該ファイルリストを解析する（ステップＳ５０９０）。受信データ解析部４５による解析結果に基づき、ファイル管理部４０は必要な指定伸張ファイルを取得するようファイル送信要求部９０に対して指示を与える。指示を受けたファイル送信要求部９０は、指定伸張ファイルの取得要求をホストＰＣ２５’のプリンタ要求受信部３１０に対して送信する（ステップＳ５１００）。
【０１１３】
指定伸張ファイルの取得要求を受信したプリンタ要求受信部３１０は、当該指定伸張ファイル名を伸張データ管理部３４０に通知する。指定伸張ファイル名の通知を受けた伸張データ管理部３４０は、図示せぬ記憶媒体に格納された指定伸張ファイル名に対応する伸張ファイルをプリンタ２０’に送信するようファイル送信部３６０に指示を与える。指示を受けたファイル送信部３６０は、当該伸張ファイルをポート番号５００００の通信ポートを介してプリンタ２０’に対して送信する（ステップＳ５１１０）。
【０１１４】
プリンタ２０’のデータ受信部７０は、ファイル送信部３６０が送信した伸張ファイルをポート番号９１００の通信ポートを介して受信する。そして、データ受信部７０が伸張ファイルを受信すると、ＰＤＬ解析部５０は、受信した伸張ファイルを解析する（ステップＳ５１２０）。また、必要に応じて、受信データ解析部４５の解析結果に基づき、ファイル管理部４０は必要な指定伸張ファイルを取得するようファイル送信要求部９０に対して指示を与える。
【０１１５】
ＰＤＬ解析部５０による全ての受信済みの伸張ファイルの解析が終了すると、その解析結果に基づき、印刷部６０は印刷処理を実行する（ステップＳ５１３０）。印刷部６０による印刷処理が終了すると、ファイル管理部４０は処理が正常に終了した旨を通知するようファイル送信要求部９０に対して指示を与える。指示を受けたファイル送信要求部９０は、正常終了通知をホストＰＣ２５’のプリンタ要求受信部３１０に対して送信する（ステップＳ５１４０）。
【０１１６】
正常終了通知を受信したプリンタ要求受信部３１０は、伸張データ管理部３４０に対して伸張ファイルを削除するよう指示を与える。
【０１１７】
指示を受けた伸張データ管理部３４０は、図示せぬ記憶媒体に格納されている伸張ファイルを伸張データ格納管理部３３０に削除させる（ステップＳ５１６０）。
【０１１８】
そして、アシストユーティリティ３００は図示せぬ記憶媒体に格納されているＸＰＳファイルを削除させると共に（ステップＳ５１６５）、正常終了をドライバ３５’に通知する（ステップＳ５１６７）。通知を受けたドライバ３５’は印刷完了をアプリケーション１７０に対して通知する（ステップＳ５１７０）。
【０１１９】
印刷完了通知を受けたアプリケーション１７０は、表示部１９０を介して印刷完了のメッセージを表示する（ステップＳ５１８０）。
【０１２０】
次に、プリンタ２０’の処理動作について説明する。図１２は、プリンタ２０の処理動作を説明するためのフローチャートである。
【０１２１】
まず、データ受信部７０を介してＸＰＳファイルを受信すると（ステップＳ６０１０）、受信データサイズ判定部３０は、これまでに受信したＸＰＳファイルの合計メモリサイズと予め設定されているメモリサイズ閾値とを比較して、全てのＸＰＳファイルが受信可能か否かを判定する。なお、本実施形態においては、この閾値は、データ格納管理部３７が管理する図示せぬ記憶媒体の最大格納メモリサイズの半分としている。ここで、これまでに受信したＸＰＳファイルのメモリサイズの合計が閾値未満である場合は、受信データサイズ判定部３０は、全てのＸＰＳファイルは受信可能であると判定し、これまでに受信したＸＰＳファイルのメモリサイズの合計が閾値以上である場合は、全てのＸＰＳファイルは受信不可能と判定する（ステップＳ６０２０）。
【０１２２】
データサイズ判定部３０は、全てのＸＰＳファイルが受信可能であると判定すると（ステップＳ６０３０  ＹＥＳ）、受信したＸＰＳファイルを図示せぬ記憶媒体に格納するようデータ格納管理部３７に指示を与える。指示を受けたデータ格納管理部３７は、受信したＸＰＳファイルを図示せぬ記憶媒体に格納させる（ステップＳ６０４０）。
【０１２３】
図示せぬ記憶媒体に全てのＸＰＳファイルが格納されると、図示せぬファイルデータ伸張部は、ＸＰＳファイルの伸張処理を実行する（ステップＳ６０５０）。なお、ここでのＸＰＳに対する伸張処理はＵＮＺＩＰ処理となる。ここで、伸張処理すると伸張後のメモリサイズが大きくなり、図示せぬ記憶媒体に格納できない場合、つまり伸張処理が不可能な場合（ステップＳ６０５４  ＮＯ）、データ格納管理部３７は転送モードの変更要求を転送モード変更要求部８０に通知する。一方、ステップＳ６０５４において、伸張処理が可能であった場合、データ格納管理部３７は、ＰＤＬ解析部５０に対して伸張ファイルの解析を実行するよう指示を与える（ステップＳ５１１０）。ＰＤＬ解析部５０は伸張ファイルの解析を実行する（ステップＳ５１２０）。
【０１２４】
なお、ステップＳ５０３０において、データサイズ判定部３０が全てのＸＰＳファイルを受信不可能であると判定した場合（ステップＳ６０３０  ＮＯ）、又は全てのＸＰＳファイルを受信することができたが、伸張処理が不可能であった場合（ステップＳ６０５４  ＮＯ）、受信データサイズ判定部３０、又はデータ格納管理部３７は、転送モードの変更要求を転送モード変更要求部８０に通知する。通知を受けた転送モード変更要求部８０は、ホストＰＣ２５’のプリンタ要求受信部３１０に対して転送モードを「要求ファイル転送モード」に変更するよう変更要求を送信する（ステップＳ５０４０）。すると、転送モードの変更要求を受信したプリンタ要求受信部３１０は、転送モード変更要求部８０に対してＸＰＳファイルの送信を要求する。
【０１２５】
ステップＳ６０７０において、プリンタ要求受信部３１０からＸＰＳファイルの送信要求を受けた転送モード変更要求部８０は、その旨をデータ格納管理部３７に通知する。既に全てのＸＰＳファイル受信済みであり、図示せぬ記憶媒体に格納されている場合、データ格納管理部３７は、ファイル送信部９５を介してＸＰＳファイルを送信させる。また、まだ全てのＸＰＳファイルを受信していない場合、既にドライバ３５’から受信した部分にかかるＸＰＳファイルを送信させると共に、送信後にこれから受信する残りのＸＰＳファイルを続けて送信させる（ステップＳ６０７５）。
【０１２６】
ファイル送信部９５がＸＰＳファイルを送信すると、ホストＰＣ２５’のファイル送信部３６０からファイルリストが送信されるため、データ受信部７０は当該ファイルリストをポート番号９１００の通信ポートを介して受信する（ステップＳ６０８０）。
【０１２７】
そして、データ受信部７０がファイルリストを受信すると、受信データ解析部４５は、ファイル管理部４０を介してファイルリストを取得し、当該ファイルリストを解析する（ステップＳ６０９０）。解析の結果、受信データがファイルリストであると判断すると、受信データ解析部４５は、ファイルリストをファイル管理部４０に登録させると共に（ステップＳ６０９５）、ファイル管理部４０がファイルリストに基づいてホストＰＣ２５から取得した伸張ファイルを解析するようＰＤＬデータ解析部５０に指示を与える（ステップＳ６１００）。
【０１２８】
指示を受けたＰＤＬデータ解析部５０は、伸張ファイルの解析を実行する（ステップ６１２０）。ＰＤＬ解析部５０は、解析中にエラーが発生したか否かを判断し、エラーが発生した場合には（ステップＳ６１３５  ＹＥＳ）、その旨をファイル管理部４０に通知する。通知を受けたファイル管理部４０は、アシストユーティリティ３００に対して「エラー終了」を送信させる（ステップＳ６１５０）。そして、ファイル管理部４０は、図示せぬ記憶媒体に格納されている伸張ファイルを削除させ（ステップＳ５１３５）、処理を終了する。一方、エラーが発生しなかった場合には（ステップＳ６１３５  ＮＯ）、ＰＤＬ解析部５０は、印刷部６０に対して解析結果を出力して印刷処理を実行させ（ステップＳ５１３０）、その旨をファイル管理部４０に通知する。通知を受けたファイル管理部４０は、アシストユーティリティ３００に対して「正常終了」を送信させる（ステップＳ５１４０）。そして、ファイル管理部４０は、図示せぬ記憶媒体に格納されている伸張ファイルを削除させ（ステップＳ５１３５）、処理を終了する。
【０１２９】
次に、ドライバ３５’による処理動作について説明する。図１３は、ドライバ３５’による処理動作を説明するためのフローチャートである。
【０１３０】
まず、ドライバ３５’のＰＤＬデータ生成部１４０は、アプリケーション１７０からスプールデータが入力されると、当該スプールデータに基づくＸＰＳファイルを生成する（ステップＳ５０１０）。次に、データ送信部１００は、ＰＤＬ生成部１４０が生成したＸＰＳファイルをポート番号５００００の通信ポートを介してプリンタ２０のポート番号９１００の通信ポートに対して送信する（ステップＳ５０２０）。
【０１３１】
次に、アシストユーティリティ３００の処理動作について説明する。図１４は、アシストユーティリティ３００による処理動作を説明するフローチャートである。
【０１３２】
まず、ステップＳ７０４０において、転送モードの変更要求を受信したプリンタ要求受信部３１０は、転送モード変更要求部８０に対してＸＰＳファイルの送信を要求する（ステップＳ５０５０）。
【０１３３】
そして、プリンタ２０’のファイル送信部９５からＸＰＳファイルを受信すると（ステップＳ７０６０）、伸張データ管理部３４０は、受信したＸＰＳファイルを伸張するように圧縮データ伸張部３５０に対して指示を与える。伸張データ管理部３４０からＸＰＳファイルの伸張指示を受けた圧縮データ伸張部３５０は、ＸＰＳファイルを伸張する（ステップＳ５０６０）。
【０１３４】
次に、伸張データ管理部３４０は、圧縮データ伸張部３５０が伸張した伸張ファイルを図示せぬ記憶媒体に格納するよう伸張データ格納管理部３３０に対して指示を与える。指示を受けた伸張データ格納管理部３３０は図示せぬ記憶媒体に伸張ファイルを格納させる。
【０１３５】
図示せぬ記憶媒体に伸張ファイルが格納されると、ファイルリスト生成部３２０は、伸張ファイルのディレクトリ構成を図４に示すようなファイルリストとして生成する（ステップＳ５０７０）。ファイルリスト生成部３２０がファイルリストを生成すると、伸張データ管理部３４０は、当該ファイルリストをプリンタ２０に送信するようファイル送信部３６０に指示を与える。指示を受けたファイル送信部３６０は、当該ファイルリストをポート番号５００００の通信ポートを介してプリンタ２０’に対して送信する（ステップＳ５０８０）。
【０１３６】
そして、アシストユーティリティ３００は、プリンタ２０’からの応答があるまで待機する。ここで、プリンタ２０’から「正常終了」、又は「エラー終了」の通知を受けた場合（ステップＳ７０８０  正常終了ｏｒエラー終了）、プリンタ要求受信部３１０は、伸張データ管理部３４０に対して伸張ファイルを削除するよう指示を与える。指示を受けた伸張データ管理部３４０は伸張ファイルを削除させる（ステップＳ５１６０）。そしてアシストユーティリティ３００はＸＰＳファイルを削除させ（ステップＳ５１６５）、処理を終了する。
【０１３７】
一方、指定伸張ファイルの送信要求を受信したプリンタ要求受信部３１０は、当該指定伸張ファイル名を伸張データ管理部３４０に通知する（ステップＳ７０８０  ファイル送信要求）。指定伸張ファイル名の通知を受けた伸張データ管理部３４０は、指定伸張ファイル名に対応する伸張ファイルが図示せぬ記憶媒体に格納されている（ステップＳ７０８５  指定伸張ファイル有り）、プリンタ２０’に当該伸張ファイルを送信するようファイル送信部３６０に指示を与え、指示を受けたファイル送信部３６０は、当該伸張ファイルを送信する（ステップＳ５１１０）。そして、処理はステップＳ７０８０に戻る。一方、指定伸張ファイル名に対応する伸張ファイルが図示せぬ記憶媒体に格納されていない場合（ステップＳ７０８５  指定伸張ファイル無し）、「指定伸張ファイル無し」をプリンタ２０’に通知する。そして、、処理はステップＳ７０８０に戻る。
【０１３８】
本実施形態においては、プリンタからホストＰＣへの通信に利用するポート番号を５００００番、ホストＰＣからプリンタへの通信に利用するポート番号を９１００としたが、これらのポート番号は予め予約されていないポート番号であれば、どの番号のポート番号を利用してもかまわない。
【０１３９】
以上のように、第２の実施形態によれば、ホストＰＣ側で圧縮ＰＤＬデータを伸張し、必要に応じてプリンタがファイル単位でホストＰＣ側に必要なファイルを要求できるようにしたため、プリンタが受信することができないメモリサイズの圧縮ＰＤＬデータや、伸張した結果、プリンタの許容メモリサイズを超えてしまうような圧縮ＰＤＬデータを印刷する場合においても、プリンタがメモリ不足に陥ることがなく、印刷処理を実行させることができる。さらに、第２の実施形態においては、ドライバとは別のアプリケーションを用いていることから、ホストＰＣにプリンタに対応していない別のドライバがインストールされている場合でも、第１の実施形態と同様の効果を得ることができる。
【０１４０】
本実施形態の説明においては、画像形成装置としてプリンタを一例として説明したが、本発明はこれに限定されず、ＰＤＬデータを処理する装置であれば、例えば、ＭＦＰ（Multi Function Peripheral）やファクシミリ、複写装置等にも適用可能である。
【図面の簡単な説明】
【０１４１】
【図１】画像形成システムの構成を説明するシステム構成図である。
【図２】画像形成システムの内部構成を説明するための概略構成図である。
【図３】ＰＤＬデータの一例を説明する図である。
【図４】ファイルリストの一例を説明する図である。
【図５】画像形成システムの全体処理動作を説明するフローチャートである。
【図６】プリンタの処理動作を説明するためのフローチャートである。
【図７】ＰＤＬ解析部による解析処理動作を説明するフローチャートである。
【図８】ファイル管理部の処理動作を説明するためのフローチャートである。
【図９】ドライバによる処理動作を説明するためのフローチャートである。
【図１０】画像形成システムの内部構成を説明するための概略構成図である。
【図１１】画像形成システムの全体処理動作を説明するフローチャートである。
【図１２】プリンタの処理動作を説明するためのフローチャートである。
【図１３】ドライバによる処理動作を説明するためのフローチャートである。
【図１４】アシストユーティリティによる処理動作を説明するフローチャートである。
【符号の説明】
【０１４２】
１０，１０’  画像形成システム
２０，２０’  プリンタ
２５，２５’  ホストＰＣ
３０  受信データサイズ判定部
３５，３５’  ドライバ
３７  データ格納管理部
４０  ファイル管理部
４５  受信データ解析部
５０  ＰＤＬ解析部
５５  ファイル処理部
６０  印刷部
７０  データ受信部
８０  転送モード変更要求部
９０  ファイル送信要求部
１００  データ送信部
１１０  ファイルリスト生成部
１２０  伸張データ格納管理部
１２５  伸張データ管理部
１３０  圧縮データ伸張部
１４０  ＰＤＬデータ生成部
１５０  プリンタ要求受信部
１６０  転送モード制御部
１７０  アプリケーション
１８０  表示部
１９０  入力装置
２００  モニタ
２１０  キーボード
【図１】
2010143194.tif 000003
【図２】
2010143194.tif 000004
【図３】
2010143194.tif 000005
【図４】
2010143194.tif 000006
【図５】
2010143194.tif 000007
【図６】
2010143194.tif 000008
【図７】
2010143194.tif 000009
【図８】
2010143194.tif 000010
【図９】
2010143194.tif 000011
【図１０】
2010143194.tif 000012
【図１１】
2010143194.tif 000013
【図１２】
2010143194.tif 000014
【図１３】
2010143194.tif 000015
【図１４】
2010143194.tif 000016