(57)【特許請求の範囲】
【請求項１】
複数の要素がその処理順序とは関係ない順序で配置された配置データと、当該複数の要素がそれぞれ配置された複数の位置を管理する管理データとを含む印刷データを送信する印刷データ送信装置に対し、当該管理データを含むファイル断片の位置及び大きさとして予め定められた位置及び大きさを指定して、当該ファイル断片の送信を要求する第１の要求手段と、
前記第１の要求手段による要求に応じて送信された前記ファイル断片を受信する第１の受信手段と、
前記複数の要素の取得順序を特定する特定手段と、
前記印刷データ送信装置に対し、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記複数の要素の位置及び大きさを、前記特定手段により特定された前記取得順序で順次指定して、当該複数の要素の送信を要求する第２の要求手段と、
前記第２の要求手段による要求に応じて順次送信された前記複数の要素を順次受信する第２の受信手段と
を備えたことを特徴とする印刷データ受信装置。
【請求項２】
前記特定手段は、前記複数の要素のうちの取得対象となる少なくとも１つの要素を特定し、
前記第２の要求手段は、前記印刷データ送信装置に対し、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記少なくとも１つの要素の位置及び大きさを順次指定して、当該少なくとも１つの要素の送信を要求し、
前記第２の受信手段は、前記第２の要求手段による要求に応じて順次送信された前記少なくとも１つの要素を順次受信することを特徴とする請求項１に記載の印刷データ受信装置。
【請求項３】
前記配置データに対して設定された複数の論理的単位の処理順序を受け付ける受付手段と、
前記印刷データ送信装置に対し、前記複数の論理的単位と前記複数の要素との対応情報の位置及び大きさを指定して、当該対応情報の送信を要求する第３の要求手段と、
前記第３の要求手段による要求に応じて送信された前記対応情報を受信する第３の受信手段と
を更に備え、
前記特定手段は、前記受付手段にて受け付けた前記複数の論理的単位の処理順序と、前記第３の受信手段により受信された前記対応情報とに基づいて、前記取得順序を特定することを特徴とする請求項１又は請求項２に記載の印刷データ受信装置。
【請求項４】
前記配置データに対して設定された複数の論理的単位の印刷の要否を受け付ける受付手段と、
前記印刷データ送信装置に対し、前記複数の論理的単位と前記複数の要素との対応情報の位置及び大きさを指定して、当該対応情報の送信を要求する第３の要求手段と、
前記第３の要求手段による要求に応じて送信された前記対応情報を受信する第３の受信手段と
を更に備え、
前記特定手段は、前記受付手段にて受け付けた前記複数の論理的単位の印刷の要否と、前記第３の受信手段により受信された前記対応情報とに基づいて、前記少なくとも１つの要素を特定することを特徴とする請求項２に記載の印刷データ受信装置。
【請求項５】
前記第１の要求手段は、前記第１の受信手段により受信された前記ファイル断片に前記管理データが完全な形で含まれなかった場合に、前記予め定められた位置及び大きさの少なくとも何れか一方を変更した後の位置及び大きさを指定して、当該ファイル断片の送信を再度要求することを特徴とする請求項１乃至請求項４の何れかに記載の印刷データ受信装置。
【請求項６】
前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データと、前記第２の受信手段により受信された前記複数の要素とを記憶する第１の記憶手段と、
前記印刷データにおける前記管理データの位置を示す第１の位置情報を当該管理データに関連付けて記憶し、前記印刷データにおける前記複数の要素の位置をそれぞれ示す複数の第２の位置情報を当該複数の要素のそれぞれに関連付けて記憶する第２の記憶手段と
を更に備えたことを特徴とする請求項１乃至請求項５の何れかに記載の印刷データ受信装置。
【請求項７】
前記第２の記憶手段に記憶された前記第１の位置情報に基づいて、前記印刷データにおける前記管理データの位置に対応する前記第１の記憶手段における位置に当該管理データを書き込み、前記第２の記憶手段に記憶された前記複数の第２の位置情報に基づいて、前記印刷データにおける前記複数の要素の位置にそれぞれ対応する前記第１の記憶手段における複数の位置に、当該複数の要素をそれぞれ書き込む書き込み手段を更に備えたことを特徴とする請求項６に記載の印刷データ受信装置。
【請求項８】
複数の要素がその処理順序とは関係ない順序で配置された配置データと、当該複数の要素がそれぞれ配置された複数の位置を管理する管理データとを含む印刷データを送信する印刷データ送信装置に対し、当該管理データを含むファイル断片の位置及び大きさとして予め定められた位置及び大きさを指定して、当該ファイル断片の送信を要求する第１の要求手段と、
前記第１の要求手段による要求に応じて送信された前記ファイル断片を受信する第１の受信手段と、
前記複数の要素の取得順序を特定する特定手段と、
前記印刷データ送信装置に対し、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記複数の要素の位置及び大きさを、前記特定手段により特定された前記取得順序で順次指定して、当該複数の要素の送信を要求する第２の要求手段と、
前記第２の要求手段による要求に応じて順次送信された前記複数の要素を順次受信する第２の受信手段と、
前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データを、前記印刷データにおける当該管理データの位置に対応する位置に記憶し、前記第２の受信手段により受信された前記複数の要素のそれぞれを、前記印刷データにおける当該複数の要素の位置にそれぞれ対応する複数の位置に記憶する記憶手段と、
前記記憶手段に記憶された前記管理データにより管理される前記複数の位置にそれぞれ記憶された前記複数の要素を画像化する画像化手段と
を備えたことを特徴とする画像処理装置。
【請求項９】
コンピュータに、
複数の要素がその処理順序とは関係ない順序で配置された配置データと、当該複数の要素がそれぞれ配置された複数の位置を管理する管理データとを含む印刷データを送信する印刷データ送信装置に対し、当該管理データを含むファイル断片の位置及び大きさとして予め定められた位置及び大きさを指定して、当該ファイル断片の送信を要求する第１の要求機能と、
前記第１の要求機能での要求に応じて送信された前記ファイル断片を受信する第１の受信機能と、
前記複数の要素の取得順序を特定する特定機能と、
前記印刷データ送信装置に対し、前記第１の受信機能で受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記複数の要素の位置及び大きさを、前記特定機能で特定された前記取得順序で順次指定して、当該複数の要素の送信を要求する第２の要求機能と、
前記第２の要求機能での要求に応じて順次送信された前記複数の要素を順次受信する第２の受信機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ受信装置、画像処理装置、プログラムに関する。
【背景技術】
【０００２】
ＰＣが、ＰＤＦファイルなどの文書ファイルをプリントデータに変換せずにプリンタに送信する場合に、印刷すべき文書ファイルからその文書ファイルの解析開始時にアクセスすべき情報を抽出して、プリンタに送信し、その文書ファイルのうちの所定のデータを、プリンタから要求されるたびに抽出して、プリンタに送信する技術は知られている（例えば、特許文献１参照）。
【０００３】
ＰＣが、印刷すべきＰＤＦファイルからクロスリファレンステーブルおよびトレーラを抽出し、印刷装置に対して、抽出されたクロスリファレンステーブルおよびトレーラを先に送信し、その後にＰＤＦファイルのボディを送信し、印刷装置が、ＰＣから、クロスリファレンステーブルおよびトレーラを受信し、その後にボディを受信し、受信されたクロスリファレンステーブルおよびトレーラを使用することにより、ボディの受信の完了を待たずに、ＰＤＦファイルの印刷処理を開始する技術も知られている（例えば、特許文献２参照）。
【０００４】
画像形成装置であらかじめＸＰＳのFixedPage単位で分割し、画像形成装置のメモリの余裕状況と分割されたＸＰＳファイルのサイズから、画像形成装置で処理可能なサイズをＰＣまたは画像形成装置において判断して、その判断に基づいて分割されたファイルを結合または連続してＰＣから画像形成装置に送信する技術も知られている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１７１２０４号公報
【特許文献２】特開２００７−２５７５９２号公報
【特許文献３】特開２００８−３０５２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、印刷データを送信する装置の機能に変更を加えることなく、送信された印刷データに基づく印刷が開始されるまでの時間を短縮することにある。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、複数の要素がその処理順序とは関係ない順序で配置された配置データと、当該複数の要素がそれぞれ配置された複数の位置を管理する管理データとを含む印刷データを送信する印刷データ送信装置に対し、当該管理データを含むファイル断片の位置及び大きさとして予め定められた位置及び大きさを指定して、当該ファイル断片の送信を要求する第１の要求手段と、前記第１の要求手段による要求に応じて送信された前記ファイル断片を受信する第１の受信手段と、前記複数の要素の取得順序を特定する特定手段と、前記印刷データ送信装置に対し、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記複数の要素の位置及び大きさを、前記特定手段により特定された前記取得順序で順次指定して、当該複数の要素の送信を要求する第２の要求手段と、前記第２の要求手段による要求に応じて順次送信された前記複数の要素を順次受信する第２の受信手段とを備えたことを特徴とする印刷データ受信装置である。
請求項２に記載の発明は、前記特定手段は、前記複数の要素のうちの取得対象となる少なくとも１つの要素を特定し、前記第２の要求手段は、前記印刷データ送信装置に対し、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記少なくとも１つの要素の位置及び大きさを順次指定して、当該少なくとも１つの要素の送信を要求し、前記第２の受信手段は、前記第２の要求手段による要求に応じて順次送信された前記少なくとも１つの要素を順次受信することを特徴とする請求項１に記載の印刷データ受信装置である。
請求項３に記載の発明は、前記配置データに対して設定された複数の論理的単位の処理順序を受け付ける受付手段と、前記印刷データ送信装置に対し、前記複数の論理的単位と前記複数の要素との対応情報の位置及び大きさを指定して、当該対応情報の送信を要求する第３の要求手段と、前記第３の要求手段による要求に応じて送信された前記対応情報を受信する第３の受信手段とを更に備え、前記特定手段は、前記受付手段にて受け付けた前記複数の論理的単位の処理順序と、前記第３の受信手段により受信された前記対応情報とに基づいて、前記取得順序を特定することを特徴とする請求項１又は請求項２に記載の印刷データ受信装置である。
請求項４に記載の発明は、前記配置データに対して設定された複数の論理的単位の印刷の要否を受け付ける受付手段と、前記印刷データ送信装置に対し、前記複数の論理的単位と前記複数の要素との対応情報の位置及び大きさを指定して、当該対応情報の送信を要求する第３の要求手段と、前記第３の要求手段による要求に応じて送信された前記対応情報を受信する第３の受信手段とを更に備え、前記特定手段は、前記受付手段にて受け付けた前記複数の論理的単位の印刷の要否と、前記第３の受信手段により受信された前記対応情報とに基づいて、前記少なくとも１つの要素を特定することを特徴とする請求項２に記載の印刷データ受信装置である。
請求項５に記載の発明は、前記第１の要求手段は、前記第１の受信手段により受信された前記ファイル断片に前記管理データが完全な形で含まれなかった場合に、前記予め定められた位置及び大きさの少なくとも何れか一方を変更した後の位置及び大きさを指定して、当該ファイル断片の送信を再度要求することを特徴とする請求項１乃至請求項４の何れかに記載の印刷データ受信装置である。
請求項６に記載の発明は、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データと、前記第２の受信手段により受信された前記複数の要素とを記憶する第１の記憶手段と、前記印刷データにおける前記管理データの位置を示す第１の位置情報を当該管理データに関連付けて記憶し、前記印刷データにおける前記複数の要素の位置をそれぞれ示す複数の第２の位置情報を当該複数の要素のそれぞれに関連付けて記憶する第２の記憶手段とを更に備えたことを特徴とする請求項１乃至請求項５の何れかに記載の印刷データ受信装置である。
請求項７に記載の発明は、前記第２の記憶手段に記憶された前記第１の位置情報に基づいて、前記印刷データにおける前記管理データの位置に対応する前記第１の記憶手段における位置に当該管理データを書き込み、前記第２の記憶手段に記憶された前記複数の第２の位置情報に基づいて、前記印刷データにおける前記複数の要素の位置にそれぞれ対応する前記第１の記憶手段における複数の位置に、当該複数の要素をそれぞれ書き込む書き込み手段を更に備えたことを特徴とする請求項６に記載の印刷データ受信装置である。
請求項８に記載の発明は、複数の要素がその処理順序とは関係ない順序で配置された配置データと、当該複数の要素がそれぞれ配置された複数の位置を管理する管理データとを含む印刷データを送信する印刷データ送信装置に対し、当該管理データを含むファイル断片の位置及び大きさとして予め定められた位置及び大きさを指定して、当該ファイル断片の送信を要求する第１の要求手段と、前記第１の要求手段による要求に応じて送信された前記ファイル断片を受信する第１の受信手段と、前記複数の要素の取得順序を特定する特定手段と、前記印刷データ送信装置に対し、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記複数の要素の位置及び大きさを、前記特定手段により特定された前記取得順序で順次指定して、当該複数の要素の送信を要求する第２の要求手段と、前記第２の要求手段による要求に応じて順次送信された前記複数の要素を順次受信する第２の受信手段と、前記第１の受信手段により受信された前記ファイル断片に含まれる前記管理データを、前記印刷データにおける当該管理データの位置に対応する位置に記憶し、前記第２の受信手段により受信された前記複数の要素のそれぞれを、前記印刷データにおける当該複数の要素の位置にそれぞれ対応する複数の位置に記憶する記憶手段と、前記記憶手段に記憶された前記管理データにより管理される前記複数の位置にそれぞれ記憶された前記複数の要素を画像化する画像化手段とを備えたことを特徴とする画像処理装置である。
請求項９に記載の発明は、コンピュータに、複数の要素がその処理順序とは関係ない順序で配置された配置データと、当該複数の要素がそれぞれ配置された複数の位置を管理する管理データとを含む印刷データを送信する印刷データ送信装置に対し、当該管理データを含むファイル断片の位置及び大きさとして予め定められた位置及び大きさを指定して、当該ファイル断片の送信を要求する第１の要求機能と、前記第１の要求機能での要求に応じて送信された前記ファイル断片を受信する第１の受信機能と、前記複数の要素の取得順序を特定する特定機能と、前記印刷データ送信装置に対し、前記第１の受信機能で受信された前記ファイル断片に含まれる前記管理データに基づいて決定される前記複数の要素の位置及び大きさを、前記特定機能で特定された前記取得順序で順次指定して、当該複数の要素の送信を要求する第２の要求機能と、前記第２の要求機能での要求に応じて順次送信された前記複数の要素を順次受信する第２の受信機能とを実現させるためのプログラムである。
【発明の効果】
【０００８】
請求項１の発明によれば、印刷データを送信する装置の機能に変更を加えることなく、本構成を有していない場合に比較して、送信された印刷データに基づく印刷が開始されるまでの時間を短縮することができる。
請求項２の発明によれば、印刷データを送信する装置の機能に変更を加えることなく、本構成を有していない場合に比較して、送信される印刷データの容量を削減することができる。
請求項３の発明によれば、印刷データに設定された複数の論理的単位の処理順序を考慮しつつ、本構成を有していない場合に比較して、送信された印刷データに基づく印刷が開始されるまでの時間を短縮することができる。
請求項４の発明によれば、印刷データに設定された複数の論理的単位の印刷の要否を考慮しつつ、本構成を有していない場合に比較して、送信される印刷データの容量を削減することができる。
請求項５の発明によれば、印刷データ内の要素の位置を管理する管理データを、管理データの位置及び大きさの少なくとも何れか一方が不明であっても受信することができる。
請求項６の発明によれば、印刷データ内の管理データ及び要素に対する処理を本来の処理順序で実行させることができる。
請求項７の発明によれば、印刷データ内の管理データ及び要素に対する処理を、その処理に変更を加えなくても、本来の処理順序で実行させることができる。
請求項８の発明によれば、印刷データを送信する装置の機能に変更を加えることなく、本構成を有していない場合に比較して、送信された印刷データに基づく印刷が開始されるまでの時間を短縮することができる。
請求項９の発明によれば、印刷データを送信する装置の機能に変更を加えることなく、本構成を有していない場合に比較して、送信された印刷データに基づく印刷が開始されるまでの時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態が適用されるクラウドプリントシステムの構成例を示した図である。
【図２】本発明の実施の形態における画像形成装置のハードウェア構成例を示した図である。
【図３】本発明の実施の形態におけるＰＤＦファイルの分割ダウンロードについて模式的に示した図である。
【図４】本発明の実施の形態におけるＰＤＦファイルの分割ダウンロードで得られたデータの処理方法について模式的に示した図である。
【図５】本発明の実施の形態において画像形成装置がファイル構成情報を取得するときの処理の流れを示した図である。
【図６】本発明の実施の形態において画像形成装置がファイル構成情報を取得するときの処理の流れの説明で用いるＰＤＦファイルの構造を示した図である。
【図７】本発明の実施の形態において画像形成装置がファイル構成情報を取得するときの処理の流れの説明で用いるＰＤＦファイルの構造を示した図である。
【図８】本発明の実施の形態において画像形成装置がオブジェクトを取得するときの処理の流れを示した図である。
【図９】本発明の実施の形態における画像形成装置の機能構成例を示したブロック図である。
【図１０】本発明の実施の形態における画像形成装置の動作例を示したフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用されるクラウドプリントシステムの全体構成例を示したものである。
図示するように、このクラウドプリントシステムは、クライアント端末１０と、画像形成装置３０ａ，３０ｂ，３０ｃと、クラウドプリントサーバ５０とが、ネットワーク９０に接続されている。
尚、図では、画像形成装置３０ａ，３０ｂ，３０ｃを示したが、これらを区別する必要がない場合は、画像形成装置３０と称する。また、図には、３つの画像形成装置３０しか示していないが、４つ以上の画像形成装置３０を設けてもよい。
【００１１】
クライアント端末１０は、クラウドプリントサーバ５０に格納されている電子文書ファイル（以下、単に「文書ファイル」という）をユーザの操作に応じて選択し、画像形成装置３０で文書ファイルの印刷をクラウドプリントサーバ５０に指示するコンピュータ装置である。ここで、クライアント端末１０としては、ＰＣ（Personal Computer）、携帯端末、携帯電話等を用いるとよい。
【００１２】
画像形成装置３０は、紙等の記録媒体に画像を形成し、印刷媒体として出力する装置である。ここで、画像形成装置３０としては、プリンタ機能のみを備えた装置を用いてもよいし、これに加えてスキャナ機能、ファクシミリ機能等の他の画像処理機能を備えた装置を用いてもよい。本実施の形態では、印刷データ受信装置、画像処理装置の一例として、画像形成装置３０を設けている。
【００１３】
クラウドプリントサーバ５０は、クライアント端末１０として様々なデバイスを用い、自宅、オフィス、公共の場所等に設置された画像形成装置３０で文書ファイルを印刷できるようにするサービス（クラウドプリントサービス）を提供するサーバコンピュータである。具体的には、画像形成装置３０での文書ファイルの印刷を指示する印刷指示情報の生成がクライアント端末１０から要求されると、印刷指示情報を生成し、これを画像形成装置３０に送信することで印刷指示を行う。本実施の形態では、印刷データ送信装置の一例として、クラウドプリントサーバ５０を設けている。
【００１４】
ネットワーク９０は、クライアント端末１０とクラウドプリントサーバ５０との間、及び、画像形成装置３０とクラウドプリントサーバ５０との間の情報通信に用いられる通信手段であり、例えば、インターネットである。
【００１５】
図２は、画像形成装置３０のハードウェア構成例を示した図である。
図示するように、画像形成装置３０は、ＣＰＵ３１と、ＲＡＭ（Random Access Memory）３２と、ＲＯＭ（Read Only Memory）３３と、ＨＤＤ３４と、操作パネル３５と、画像読取部３６と、画像形成部３７と、通信Ｉ／Ｆ３８とを備える。
【００１６】
ＣＰＵ３１は、ＲＯＭ３３等に記憶された各種プログラムをＲＡＭ３２にロードして実行することにより、後述する各機能を実現する。
ＲＡＭ３２は、ＣＰＵ３１の作業用メモリ等として用いられるメモリである。
ＲＯＭ３３は、ＣＰＵ３１が実行する各種プログラム等を記憶するメモリである。
ＨＤＤ３４は、画像読取部３６が読み取った画像データや画像形成部３７における画像形成にて用いる画像データ等を記憶する例えば磁気ディスク装置である。
操作パネル３５は、各種情報の表示やユーザからの操作入力の受付を行う例えばタッチパネルである。
【００１７】
画像読取部３６は、紙等の記録媒体に記録された画像を読み取る。ここで、画像読取部３６は、例えばスキャナであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ(Charge Coupled Devices)で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ(Contact Image Sensor)で受光するＣＩＳ方式のものを用いるとよい。
【００１８】
画像形成部３７は、記録媒体に画像を形成する。ここで、画像形成部３７は、例えばプリンタであり、感光体に付着させたトナーを記録媒体に転写して像を形成する電子写真方式や、インクを記録媒体上に吐出して像を形成するインクジェット方式のものを用いるとよい。
通信Ｉ／Ｆ３８は、ネットワークを介して他の装置との間で各種情報の送受信を行う。
【００１９】
ところで、図１のクラウドプリントシステムにおいて、クライアント端末１０が画像形成装置３０での印刷を指示した文書ファイルは、オリジナル文書と同じ体裁を異なる環境でも再現可能な形式の文書ファイルに変換されて格納されることが多い。
しかしながら、このような形式の文書ファイルの中には、例えばＰＤＦ（Portable Document Format）形式のファイル（以下、「ＰＤＦファイル」という）のように、先頭から逐次解析処理を行えないものもある。一般に、この先頭から逐次解析処理を行えない文書ファイルを画像形成装置３０で印刷するには、画像形成装置３０内のメモリに一旦文書ファイル全体を蓄積してからその解析処理を開始する。そうなると、先頭から逐次解析可能な、例えばＰＤＬ（Page Description Language）で記述されたデータを印刷する場合と比べて、ファイル転送に要する時間だけ、プリントスループットが低下してしまう。
また、先頭から逐次解析処理を行えない文書ファイルは、ＰＤＦファイルもそうであるように、その性質上、様々な用途で利用される印刷に不要なデータを含むことがある。この印刷に不要なデータを含む文書ファイルを画像形成装置３０で印刷すると、ファイル転送に要する時間が長くなる、ファイルを蓄積するメモリが不足する等の不都合が生じることがある。
【００２０】
そこで、本実施の形態では、先頭から逐次解析処理を行えず、印刷に不要なデータを含む文書ファイルを画像形成装置３０で印刷する際に、文書ファイルを分割したデータのうち印刷に必要なデータのみを使用される順にクラウドプリントサーバ５０からダウンロードする分割ダウンロードを行う。また、クラウドプリントサーバ５０は画像形成装置３０にとって外部のサーバであり、分割ダウンロードの機能を追加することが難しいので、このような分割ダウンロードを、画像形成装置３０がクラウドプリントサーバ５０に対し、分割したデータの位置及び大きさを指定して要求することにより行う。
【００２１】
まず、本実施の形態の概略動作について説明する。尚、ここでは、先頭から逐次解析処理を行えない文書ファイル、印刷に不要なデータを含む文書ファイルとして、ＰＤＦファイルを例にとる。
図３は、画像形成装置３０が、ＰＤＦファイルを分割したデータを、使用される順序でクラウドプリントサーバ５０からダウンロードするときの様子を示した図である。
図示するように、クラウドプリントサーバ５０には、ＰＤＦファイルが格納されている。
ＰＤＦファイルは、ヘッダ５１０と、ボディ５２０と、クロスリファレンステーブル５３０と、トレーラ５４０とからなり、ボディ５２０は、オブジェクトＡ，Ｂ，Ｃを含む。尚、ＰＤＦファイルは、印刷データの一例であり、オブジェクトＡ，Ｂ，Ｃは、要素の一例である。また、ボディ５２０は、複数の要素がその処理順序とは関係ない順序で配置された配置データの一例であり、クロスリファレンステーブル５３０は、複数の要素がそれぞれ配置された複数の位置を管理する管理データの一例である。
このＰＤＦファイルを処理する場合、ヘッダ５１０、トレーラ５４０、クロスリファレンステーブル５３０の順にアクセスされる。そして、クロスリファレンステーブル５３０は、ＰＤＦファイル内のどの位置にどのオブジェクトが存在するかを管理しているので、クロスリファレンステーブル５３０を参照することにより、ボディ５２０内のオブジェクトに、使用される順序でアクセスすることが可能となっている。
【００２２】
従って、ＰＤＦファイルを分割したデータをダウンロードするときの動作も、以下の通りである。
まず、画像形成装置３０は、ヘッダ５１０のダウンロードをクラウドプリントサーバ５０に要求し、クラウドプリントサーバ５０からヘッダ５１０を取得する（Ｄ１）。
次に、画像形成装置３０は、クロスリファレンステーブル５３０とトレーラ５４０とからなるデータのダウンロードをクラウドプリントサーバ５０に要求し、クラウドプリントサーバ５０からこのデータを取得する（Ｄ２）。
【００２３】
ここで、画像形成装置３０が、Ｄ２で取得したクロスリファレンステーブル５３０を解析することにより、ボディ５２０内のオブジェクトのうち、オブジェクトＡ及びオブジェクトＣが印刷対象であり、オブジェクトＣ、オブジェクトＡの順に使用されることを認識したものとする。
すると、画像形成装置３０は、まず、オブジェクトＣのダウンロードをクラウドプリントサーバ５０に要求し、クラウドプリントサーバ５０からオブジェクトＣを取得する（Ｄ３）。そして、次に、オブジェクトＡのダウンロードをクラウドプリントサーバ５０に要求し、クラウドプリントサーバ５０からオブジェクトＡを取得する（Ｄ４）。
【００２４】
尚、ここでは、ボディ５２０内のオブジェクトのうち、オブジェクトＢは、印刷対象のオブジェクトと認識されなかったので、画像形成装置３０は、オブジェクトＢのダウンロードをクラウドプリントサーバ５０に要求しておらず、クラウドプリントサーバ５０からオブジェクトＢを取得していない。
また、図には、ＰＤＦファイルを分割したデータとそのデータの元のＰＤＦファイルでの位置とを対応付けた位置情報テーブル３０１も示している。
【００２５】
図４は、画像形成装置３０が、クラウドプリントサーバ５０からダウンロードしたデータを、イメージを生成するために記憶するときの様子を示した図である。
まず、画像形成装置３０は、クラウドプリントサーバ５０からダウンロードしたヘッダ５１０を、元のＰＤＦファイル内のヘッダ５１０の位置に対応する仮想ファイル３０２内の位置に書き込む（Ｅ１）。
次に、画像形成装置３０は、クラウドプリントサーバ５０からダウンロードしたクロスリファレンステーブル５３０とトレーラ５４０とからなるデータを、元のＰＤＦファイル内のこのデータの位置に対応する仮想ファイル３０２内の位置に書き込む（Ｅ２）。
【００２６】
次いで、画像形成装置３０は、クラウドプリントサーバ５０からダウンロードしたオブジェクトＣを、元のＰＤＦファイル内のオブジェクトＣの位置に対応する仮想ファイル３０２内の位置に書き込む（Ｅ３）。そして、クラウドプリントサーバ５０からダウンロードしたオブジェクトＡを、元のＰＤＦファイル内のオブジェクトＡの位置に対応する仮想ファイル３０２内の位置に書き込む（Ｅ４）。
【００２７】
尚、このような仮想ファイル３０２への各データの書き込みは、位置情報テーブル３０１を参照して行われる。即ち、画像形成装置３０は、位置情報テーブル３０１を参照することにより、クラウドプリントサーバ５０からダウンロードした各データの元のＰＤＦファイル内の位置を特定する。そして、特定された位置に対応する仮想ファイル３０２内の位置に各データを書き込む。
【００２８】
また、図には、画像形成装置３０の機能の１つとして、画像化手段の一例としてのイメージ生成部３０３も示している。イメージ生成部３０３は、ＲＩＰ（Raster Image Processor）、デコンポーザ等とも呼ばれ、ＰＤＬで記述されたデータ又はＰＤＦファイルを１ページごとにラスタ画像に変換する機能部である。
【００２９】
ＰＤＦファイルを分割したデータが使用される順にダウンロードされるので、イメージ生成部３０３は、全てのデータのダウンロードが完了する前に、イメージを生成する処理を開始する。
また、仮想ファイル３０２には、ダウンロードされたデータが元のＰＤＦファイルと同じように配置されているので、イメージ生成部３０３は、通常通り、ヘッダ５１０、トレーラ５４０、クロスリファレンステーブル５３０の順にアクセスし、クロスリファレンステーブル５３０を解析することにより、ボディ５２０内の各オブジェクトに順にアクセスすることができる。
尚、仮想ファイル３０２へのデータの書き込みが、イメージ生成部３０３の処理に間に合わない場合は、イメージ生成部３０３の処理を待たせるとよい。
【００３０】
次に、本実施の形態における画像形成装置３０からクラウドプリントサーバ５０へのダウンロード要求及びクラウドプリントサーバ５０から画像形成装置３０へのダウンロードを中心とした処理の流れについて説明する。尚、ここでも、先頭から逐次解析処理を行えない文書ファイル、印刷に不要なデータを含む文書ファイルとして、ＰＤＦファイルを例にとる。
【００３１】
図５は、画像形成装置３０が印刷要求を受けてからファイル構成情報を取得するまでの処理の流れを示した図である。尚、ファイル構成情報とは、ＰＤＦファイルの場合、ヘッダ５１０、クロスリファレンステーブル５３０、トレーラ５４０の部分に相当する。
【００３２】
まず、画像形成装置３０は、ユーザによる印刷要求を受け付ける（Ｓ１）。ここで、印刷要求は、印刷に関する設定である印刷設定を伴う。この例では、９ページ目から１０ページ目までを印刷するという印刷範囲の指定を印刷設定としている。
すると、画像形成装置３０は、クラウドプリントサーバ５０に対して、ファイルのサイズ、種類等のファイルに関する情報（以下、「ファイル情報」という）を要求する（Ｓ２）。
これにより、クラウドプリントサーバ５０から画像形成装置３０に対して、種類「ＰＤＦ」、サイズ「ｘｘバイト」等のファイル情報が送られる（Ｓ３）。
【００３３】
次に、画像形成装置３０は、クラウドプリントサーバ５０に対して、先頭からのオフセット「０バイト」、サイズ「ｙｙバイト」を指定して、ヘッダ５１０を含むファイル断片のダウンロードを要求する（Ｓ４）。ＰＤＦファイルでは、ヘッダ５１０のサイズは可変であるので、サイズ「ｙｙバイト」としては、ヘッダ５１０が収まるであろうサイズとして予め定めたサイズを用いる。
【００３４】
これにより、クラウドプリントサーバ５０から画像形成装置３０に対して、ヘッダ５１０を含むファイル断片が送られる（Ｓ５）。尚、このファイル断片にヘッダ５１０が収まっていない場合は、例えば、オフセット「ｙｙバイト」、サイズ「ｙｙバイト」を指定して、再度ファイル断片のダウンロードを要求すればよい。
【００３５】
次いで、画像形成装置３０は、クラウドプリントサーバ５０に対して、先頭からのオフセット「（ｘｘ−ｚｚ）バイト」、サイズ「ｚｚバイト」を指定して、クロスリファレンステーブル５３０及びトレーラ５４０を含むファイル断片のダウンロードを要求する（Ｓ６）。ＰＤＦファイルでは、クロスリファレンステーブル５３０及びトレーラ５４０のサイズは可変であるので、サイズ「ｚｚバイト」としては、クロスリファレンステーブル５３０及びトレーラ５４０が収まるであろうサイズとして予め定めたサイズを用いる。尚、クロスリファレンステーブル５３０及びトレーラ５４０を含むファイル断片はファイルの終端から検索するため、オフセットはファイルのサイズ（ｘｘバイト）からクロスリファレンステーブル５３０及びトレーラ５４０のサイズ（ｚｚバイト）を減じた値となっている。
【００３６】
これにより、クラウドプリントサーバ５０から画像形成装置３０に対して、クロスリファレンステーブル５３０及びトレーラ５４０を含むファイル断片が送られる（Ｓ７）。このファイル断片にクロスリファレンステーブル５３０及びトレーラ５４０が収まっていなければ、例えば、オフセット「（ｘｘ−ｚｚ＊２）バイト」、サイズ「ｚｚバイト」を指定して、再度ファイル断片のダウンロードを要求する。
【００３７】
また、画像形成装置３０は、Ｓ５及びＳ７でダウンロードしたファイル断片を蓄積すると共に、それらのファイル断片の元のＰＤＦファイルにおける位置を位置情報テーブル３０１に蓄積する（Ｓ８）。具体的には、Ｓ５でダウンロードしたファイル断片については、そのファイル断片がヘッダ５１０を含むことを表す情報と、そのファイル断片の元のＰＤＦファイルにおける先頭からのオフセットとの対応を位置情報テーブル３０１に蓄積する。また、Ｓ７でダウンロードしたファイル断片については、そのファイル断片がクロスリファレンステーブル５３０及びトレーラ５４０を含むことを表す情報と、そのファイル断片の元のＰＤＦファイルにおける先頭からのオフセットとの対応を位置情報テーブル３０１に蓄積する。尚、図では、これらの蓄積処理をＳ８にまとめて示したが、Ｓ５でダウンロードしたファイル断片及びその位置をＳ５の直後に蓄積し、Ｓ７でダウンロードしたファイル断片及びその位置をＳ７の直後に蓄積するようにしてもよい。
【００３８】
その後、画像形成装置３０は、Ｓ１で受け付けた印刷設定と、Ｓ８で蓄積したデータ内のファイル構成情報（ヘッダ５１０、クロスリファレンステーブル５３０、トレーラ５４０）とを解析することにより、印刷対象オブジェクトと、印刷対象オブジェクトのダウンロード順序と、印刷対象オブジェクトの元のＰＤＦファイルにおける位置とを判別する（Ｓ９）。
【００３９】
ここで、以上の処理について、ＰＤＦファイルの具体的な記述を参照しながら、詳細に説明する。
図６は、図５のＳ５でダウンロードされたファイル断片に含まれるヘッダ５１０、及び、図５のＳ７でダウンロードされたファイル断片に含まれるトレーラ５４０の具体的な記述を示した図である。尚、クロスリファレンステーブル５３０については、Ｓ９の処理で用いるので、その処理の説明において詳しく述べる。
【００４０】
図示するように、ヘッダ５１０は、記述５１１，５１２を含む。記述５１１は、このファイルの形式がＰＤＦであることを示し、記述５１２は、ＰＤＦのバージョンが１．４であることを示す。
このヘッダ５１０の記述により、画像形成装置３０は、Ｓ５でヘッダ５１０を含むファイル断片をダウンロードした際に、印刷対象の文書ファイルがＰＤＦファイルであること、及び、ＰＤＦのバージョンが「１．４」であることを確認する。
【００４１】
また、トレーラ５４０は、記述５４１〜５４６を含む。記述５４１は、以降がトレーラ５４０であることを示し、記述５４２は、ＰＤＦファイル内のオブジェクトの個数を示し、記述５４３は、ボディ５２０内のルートオブジェクト５２１（後述）のオブジェクトＩＤを示す。そして、記述５４４は、次の行にクロスリファレンステーブル５３０へのオフセット値が記述されていることを示し、記述５４５は、クロスリファレンステーブル５３０へのオフセット値を示し、記述５４６はＰＤＦファイルの終端を示す。
【００４２】
尚、図５のＳ７で、画像形成装置３０は、トレーラ５４０に加えてクロスリファレンステーブル５３０も含むファイル断片をダウンロードしたが、先にトレーラ５４０を含むファイル断片をダウンロードし、その後、記述５４５で示される位置からクロスリファレンステーブル５３０をダウンロードするようにしてもよい。また、画像形成装置３０は、このトレーラ５４０の記述により、ルートオブジェクト５２１（後述）の位置も判別する。
【００４３】
図７は、図５のＳ９で印刷対象オブジェクト、印刷対象オブジェクトのダウンロード順序、印刷対象オブジェクトのダウンロード位置を判別する処理について説明するための図である。
【００４４】
図示するように、ボディ５２０は、ルートオブジェクト５２１を含む。ここで、ルートオブジェクト５２１は、ＰＤＦファイルに含まれるページの数及び順序と、各ページ内のオブジェクトのオブジェクトＩＤのリストとを含む特別なオブジェクトである。図では、説明に関係する９ページ目及び１０ページ目のみを抜き出し、これらのページについてオブジェクトＩＤのリストを示している。具体的には、９ページ目について、記述５２２は、オブジェクトＩＤ「６」のオブジェクトを示し、記述５２３は、オブジェクトＩＤ「１２８」のオブジェクトを示す。また、１０ページ目について、記述５２４は、オブジェクトＩＤ「５」のオブジェクトを示し、記述５２５は、オブジェクトＩＤ「２０」のオブジェクトを示し、記述５２６は、オブジェクトＩＤ「２１」のオブジェクトを示す。
【００４５】
図５に示したように印刷設定として９ページ目から１０ページ目までという印刷範囲が設定されると、このルートオブジェクト５２１の記述により、オブジェクトＩＤ「６」のオブジェクト、オブジェクトＩＤ「１２８」のオブジェクト、オブジェクトＩＤ「５」のオブジェクト、オブジェクトＩＤ「２０」のオブジェクト、オブジェクトＩＤ「２１」のオブジェクトが、印刷対象オブジェクトとなり、このオブジェクトの順序が印刷対象オブジェクトのダウンロード順序となる。
【００４６】
また、クロスリファレンステーブル５３０は、記述５３１〜５３７を含む。記述５３１は、以降がクロスリファレンステーブル５３０であることを示す。記述５３２は、オブジェクトＩＤ「５」のオブジェクトを示し、記述５３３は、そのオブジェクトへのオフセット値が「１６」であることを示す。記述５３４は、オブジェクトＩＤ「６」のオブジェクトを示し、記述５３５は、そのオブジェクトへのオフセット値が「３２」であることを示す。そして、記述５３６は、オブジェクトＩＤ「１２８」のオブジェクトを示し、記述５３７は、そのオブジェクトへのオフセット値が「１０２４」であることを示す。
【００４７】
図５のＳ９で、画像形成装置３０は、クロスリファレンステーブル５３０を解析し、各オブジェクトへのオフセット値に基づいて、ボディ５２０を任意サイズのブロックに分割し、これらのブロックにインデックスを付ける。具体的には、オブジェクトＩＤと、ファイル先頭からのオフセット値と、ブロックサイズとを対応付けた対応テーブルを作成する。尚、図５には示していないが、この対応テーブルも位置情報テーブル３０１に含めて記憶するものとする。
【００４８】
その後、画像形成装置３０は、先に決定したダウンロード順序に従って、ダウンロードすべきオブジェクトに対応するブロックのオフセット値及びサイズを、対応テーブルを参照して順に決定していく。
図の例では、対応テーブルにおいてオブジェクトＩＤ「６」に対応付けられたブロックのオフセット値及びサイズ、対応テーブルにおいてオブジェクトＩＤ「１２８」に対応付けられたブロックのオフセット値及びサイズ、対応テーブルにおいてオブジェクトＩＤ「５」に対応付けられたブロックのオフセット値及びサイズ、対応テーブルにおいてオブジェクトＩＤ「２０」に対応付けられたブロックのオフセット値及びサイズ、対応テーブルにおいてオブジェクトＩＤ「２１」に対応付けられたブロックのオフセット値及びサイズが、この順にダウンロード位置として使用される。
【００４９】
尚、ここでは、印刷設定により決定されたページ処理順序に基づいてオブジェクトのダウンロード順序を決定したが、オブジェクトに対する処理時間等を更に考慮してオブジェクトのダウンロード順序を決定してもよい。このようなダウンロード順序の決定方法としては、例えば、イメージ生成部３０３（図４参照）で複数のオブジェクトに対する処理を並列に行うことが可能である場合において、印刷対象オブジェクトの中に大容量画像等の処理に時間を要するオブジェクトがあれば、そのオブジェクトをダウンロードする順番を早める方法等が考えられる。
【００５０】
図８は、画像形成装置３０が印刷対象オブジェクトを判別してから印刷対象オブジェクトのダウンロードを完了するまでの処理の流れを示した図である。
まず、画像形成装置３０は、図５のＳ９で判別された印刷対象オブジェクトと、印刷対象オブジェクトのダウンロード順序と、印刷対象オブジェクトの元のＰＤＦファイルにおける位置とを取得する（Ｓ１０）。
【００５１】
次に、画像形成装置３０は、クラウドプリントサーバ５０に対して、先頭からのオフセット「ａａバイト」、サイズ「ｂｂバイト」を指定して、９ページ目におけるオブジェクトを含むファイル断片のダウンロードを要求する（Ｓ１１）。ここで、先頭からのオフセット及びサイズは、図７に関して説明した対応テーブルでそのオブジェクトのオブジェクトＩＤに対応付けられたオフセット値及びブロックサイズに基づいて決定するとよい。
これにより、クラウドプリントサーバ５０から画像形成装置３０に対して、９ページ目におけるオブジェクトを含むファイル断片が送られる（Ｓ１２）。
尚、Ｓ１１のダウンロード要求は、括弧内に示したように、オフセット及びサイズを変えながら、９ページ目における全てのオブジェクトについて繰り返される。これに伴い、Ｓ１２のダウンロードも、９ページ目における全てのオブジェクトについて繰り返される。
【００５２】
次いで、画像形成装置３０は、クラウドプリントサーバ５０に対して、先頭からのオフセット「ｃｃバイト」、サイズ「ｄｄバイト」を指定して、１０ページ目におけるオブジェクトを含むファイル断片のダウンロードを要求する（Ｓ１３）。ここで、先頭からのオフセット及びサイズは、図７に関して説明した対応テーブルでそのオブジェクトのオブジェクトＩＤに対応付けられたオフセット値及びブロックサイズに基づいて決定するとよい。
これにより、クラウドプリントサーバ５０から画像形成装置３０に対して、１０ページ目におけるオブジェクトを含むファイル断片が送られる（Ｓ１４）。
尚、Ｓ１３のダウンロード要求は、括弧内に示したように、オフセット及びサイズを変えながら、１０ページ目における全てのオブジェクトについて繰り返される。これに伴い、Ｓ１４のダウンロードも、１０ページ目における全てのオブジェクトについて繰り返される。
【００５３】
そして、最後に、画像形成装置３０は、９ページ目及び１０ページ目における全てのオブジェクトをダウンロードしたことを確認する（Ｓ１５）。
【００５４】
次いで、以上のような処理を行う画像形成装置３０の機能構成及び動作について詳細に説明する。尚、これまでは、先頭から逐次解析処理を行えない文書ファイル、印刷に不要なデータを含む文書ファイルとして、ＰＤＦファイルを例にとったが、ここでは、文書ファイルを具体的な形式のファイルに限定せずに説明する。
【００５５】
図９は、画像形成装置３０の機能構成例を示したブロック図である。
図示するように、画像形成装置３０は、操作受付部４０と、印刷設定記憶部４１とを備える。また、送信部４２と、受信部４３と、ファイル情報解析部４４と、ダウンロードデータ記憶部４５と、ファイル構成情報解析部４６と、位置情報記憶部４７とを備える。更に、ページ処理順序決定部４８と、ダウンロード順序決定部４９とを備える。
【００５６】
操作受付部４０は、操作パネル３５上でのユーザ操作、特に、文書ファイルの印刷を要求する印刷要求の操作を受け付ける。ここで、印刷要求は、クラウドプリントサーバ５０に格納された印刷対象の文書ファイルを指定する情報（ＵＲＬ等）と、印刷する際の各種設定である印刷設定とを含む。また、印刷設定には、図５に示した印刷範囲（印刷するページの範囲）の他に、印刷順序（印刷するページの順序）、小冊子印刷（小冊子を作成するための印刷の指定）等がある。
印刷設定記憶部４１は、操作受付部４０が受け付けた印刷要求の操作で指定された印刷設定を記憶する。
【００５７】
送信部４２は、操作受付部４０が印刷要求の操作を受け付けると、印刷対象の文書ファイルのファイル情報（種類、サイズ等）を要求する情報をクラウドプリントサーバ５０に送信する。また、文書ファイルの種類が特定の種類であり、かつ、文書ファイルのサイズが閾値以上であれば、ファイル構成情報を含むファイル断片を要求する情報をクラウドプリントサーバ５０に送信する。更に、ダウンロード対象オブジェクトと、ダウンロード対象オブジェクトのダウンロード順序とが決定されれば、そのダウンロード順序に従って、ダウンロード対象オブジェクトを含むファイル断片を要求する情報をクラウドプリントサーバ５０に送信する。本実施の形態では、管理データの送信を要求する第１の要求手段、複数の要素又は複数の要素のうちの取得対象となる少なくとも１つの要素の送信を要求する第２の要求手段の一例として、送信部４２を設けている。
【００５８】
受信部４３は、文書ファイルのファイル情報（種類、サイズ等）を要求する情報に応答してクラウドプリントサーバ５０から送られたファイル情報（種類、サイズ等）を受信する。また、ファイル構成情報を含むファイル断片を要求する情報に応答してクラウドプリントサーバ５０から送られたファイル断片を受信する。更に、ダウンロード順序に従ってダウンロード対象オブジェクトを含むファイル断片を要求する情報に応答して順にクラウドプリントサーバ５０から送られたファイル断片を順次受信する。本実施の形態では、管理データを受信する第１の受信手段、複数の要素又は複数の要素のうちの取得対象となる少なくとも１つの要素を順次受信する第２の受信手段の一例として、受信部４３を設けている。
【００５９】
ファイル情報解析部４４は、文書ファイルのファイル情報（種類、サイズ等）を受信部４３から受け取り、文書ファイルの種類が特定の種類であるか、及び、文書ファイルのサイズが閾値以上であるかを判定し、その判定結果を送信部４２に伝える。尚、文書ファイルの種類が特定の種類であるかは、クラウドプリントサーバ５０から送られてくるＭＩＭＥタイプに基づいて判定するとよい。
【００６０】
ダウンロードデータ記憶部４５は、受信部４３が受信したファイル構成情報を含むファイル断片及び各オブジェクトを含むファイル断片を記憶する。本実施の形態では、管理データと複数の要素とを記憶する記憶手段、第１の記憶手段の一例として、ダウンロードデータ記憶部４５を設けている。
【００６１】
ファイル構成情報解析部４６は、ダウンロードデータ記憶部４５に記憶されたファイル構成情報とそのファイル構成情報の元の文書ファイルにおける位置を示す位置情報とを対応付けた第１のテーブルを生成し、この第１のテーブルに基づいて、元の文書ファイル内のファイル構成情報の位置に対応するダウンロードデータ記憶部４５内の位置にファイル構成情報を書き込む。また、ダウンロードデータ記憶部４５に記憶されたファイル構成情報を解析し、文書ファイル内の各オブジェクトと各オブジェクトの元の文書ファイルにおける位置を示す位置情報とを対応付けた第２のテーブルを生成し、この第２のテーブルに基づいて、元の文書ファイル内の複数のオブジェクトの位置にそれぞれ対応するダウンロードデータ記憶部４５内の複数の位置に、複数のオブジェクトをそれぞれ書き込む。本実施の形態では、印刷データにおける管理データの位置を示す第１の位置情報の一例として、第１のテーブルを用いており、印刷データにおける複数の要素の位置をそれぞれ示す複数の第２の位置情報の一例として、第２のテーブルを用いている。また、管理データと複数の要素を書き込む書き込み手段の一例として、ファイル構成情報解析部４６を設けている。
【００６２】
位置情報記憶部４７は、ファイル構成情報解析部４６により生成された第１のテーブル及び第２のテーブルからなる位置情報テーブルを記憶する。本実施の形態では、第１の位置情報と複数の第２の位置情報とを記憶する第２の記憶手段の一例として、位置情報記憶部４７を設けている。
【００６３】
ページ処理順序決定部４８は、印刷設定記憶部４１に記憶された印刷設定に基づいて、文書ファイルの印刷対象ページと、文書ファイルを印刷する際に印刷対象ページを処理する順序であるページ処理順序とを決定する。例えば、印刷設定記憶部４１に記憶された印刷設定が、印刷範囲を１ページ目から３ページ目とし、印刷順序を逆順とすることを示していれば、ページ処理順序は３ページ目、２ページ目、１ページ目となる。また、印刷設定記憶部４１に記憶された印刷設定が、印刷範囲を１ページ目から８ページ目とし、小冊子印刷をすることを示していれば、ページ処理順序は１ページ目、８ページ目、７ページ目、２ページ目、３ページ目、６ページ目、５ページ目、４ページ目となる。本実施の形態では、論理的単位の一例として、ページを用いており、複数の論理的単位の処理順序又は印刷の要否を受け付ける受付手段の一例として、ページ処理順序決定部４８を設けている。
【００６４】
ダウンロード順序決定部４９は、ページ処理順序決定部４８により決定された印刷対象ページ及びページ処理順序と、予め与えられたページとオブジェクトとの対応関係とに基づいて、ダウンロード対象オブジェクトと、ダウンロード対象オブジェクトのダウンロード順序とを決定する。また、位置情報記憶部４７に記憶された位置情報テーブルを参照して、ダウンロード対象オブジェクトに対応する位置情報を取得し、ダウンロード順序に従って、この位置情報を送信部４２に伝える。本実施の形態では、複数の要素の取得順序を特定する特定手段、複数の要素のうちの取得対象となる少なくとも１つの要素を特定する特定手段の一例として、ダウンロード順序決定部４９を設けている。
【００６５】
尚、ここでは、ページとオブジェクトとの対応関係を予め与えられたものとしたが、クラウドプリントサーバ５０に格納された文書ファイルにこの対応関係を含めておき、これをダウンロードするようにしてもよい（この場合の対応関係は、例えば図７に示したルートオブジェクト５２１に相当）。即ち、送信部４２が、クラウドプリントサーバ５０に対して、対応関係を含むファイル断片の先頭からのオフセット及びサイズを指定してこのファイル断片のダウンロードを要求する情報を送信し、これに応じて送信されたファイル断片を受信部４３が受信するようにしてもよい。この場合、ページとオブジェクトとの対応関係は、複数の論理的単位と複数の要素との対応情報の一例であり、送信部４２は、対応情報の送信を要求する第３の要求手段の一例であり、受信部４３は、対応情報を受信する第３の受信手段の一例である。
【００６６】
図１０は、画像形成装置３０の動作例を示したフローチャートである。
図示するように、画像形成装置３０では、まず、操作受付部４０が、操作パネル３５上での文書ファイルを指定した印刷要求の操作を受け付ける（ステップ４０１）。
【００６７】
このように操作受付部４０が印刷要求の操作を受け付けると、送信部４２が、指定された文書ファイルの種類及びサイズを要求する情報をクラウドプリントサーバ５０に送信し、これに応答して送られてきた文書ファイルの種類及びサイズを、受信部４３が受信する（ステップ４０２）。
すると、ファイル情報解析部４４が、ステップ４０２で受信した文書ファイルの種類が特定の種類であるかどうかを判定する（ステップ４０３）。ここで、特定の種類とは、画像形成装置３０において文書ファイルを分割してダウンロードする分割ダウンロードが可能な種類として予め定められたファイルの種類である。図３〜８で示した動作例を実現する場合は、この特定の種類をＰＤＦとすればよい。
【００６８】
その結果、ステップ４０２で受信した文書ファイルの種類が特定の種類でないと判定されれば、ファイル情報解析部４４はその旨を送信部４２に伝え、一括ダウンロードが行われる（ステップ４１２）。即ち、送信部４２が、クラウドプリントサーバ５０に対して、一括ダウンロードを要求する情報を送信し、これに応じて送信された印刷データを受信部４３が受信する。
【００６９】
一方、ステップ４０２で受信した文書ファイルの種類が特定の種類であると判定されれば、ファイル情報解析部４４は、ステップ４０２で受信した文書ファイルのサイズが閾値以上であるかどうかを判定する（ステップ４０４）。
【００７０】
ここで、ステップ４０２で受信した文書ファイルのサイズが閾値未満であると判定されれば、分割ダウンロードを行わなくても、早期に印刷は開始される。従って、ファイル情報解析部４４はその旨を送信部４２に伝え、一括ダウンロードが行われる（ステップ４１２）。即ち、送信部４２が、クラウドプリントサーバ５０に対して、一括ダウンロードを要求する情報を送信し、これに応じて送信された印刷データを受信部４３が受信する。
【００７１】
また、ステップ４０２で受信した文書ファイルのサイズが閾値以上であると判定されれば、ファイル情報解析部４４はその旨を送信部４２に伝え、ファイル構成情報を含むファイル断片がダウンロードされる（ステップ４０５）。即ち、送信部４２が、クラウドプリントサーバ５０に対して、ファイル構成情報を含むファイル断片の先頭からのオフセット及びサイズを指定してこのファイル断片のダウンロードを要求する情報を送信し、これに応じて送信されたファイル断片を受信部４３が受信する。尚、受信部４３が受信したファイル断片にファイル構成情報が完全な形で含まれていない場合は、オフセット及びサイズの一方又は両方を変更し、ファイル構成情報を含むファイル断片の送信を再度要求する。そして、ダウンロードされたファイル断片はダウンロードデータ記憶部４５に記憶され、ファイル断片の識別情報とファイル断片の元の文書ファイルにおけるオフセットとの対応は位置情報テーブルとして位置情報記憶部４７に記憶される。
【００７２】
このようにファイル構成情報を含むファイル断片がダウンロードデータ記憶部４５に記憶されると、ファイル構成情報解析部４６は、ファイル断片からファイル構成情報を取り出して解析し、各オブジェクトのオフセット及びサイズを取得する（ステップ４０６）。尚、このとき、オブジェクトＩＤとオフセットとサイズとの対応も位置情報テーブルとして位置情報記憶部４７に記憶される。
【００７３】
また、ファイル構成情報には、文書ファイルが分割ダウンロード不可能な状態になっていることを示す情報も含まれるので、ファイル構成情報解析部４６は、このような情報の有無に基づいて、文書ファイルが分割ダウンロード可能かどうかを判定する（ステップ４０７）。ここで、文書ファイルが分割ダウンロード不可能な状態になっていることを示す情報には、文書ファイルにおけるオブジェクトが配置された部分が暗号化されていることを示す情報等がある。
【００７４】
その結果、文書ファイルが分割ダウンロード可能でないと判定されれば、ファイル構成情報解析部４６はその旨を送信部４２に伝え、一括ダウンロードが行われる（ステップ４１２）。即ち、送信部４２が、クラウドプリントサーバ５０に対して、一括ダウンロードを要求する情報を送信し、これに応じて送信された印刷データを受信部４３が受信する。
【００７５】
一方、文書ファイルが分割ダウンロード可能であると判定されれば、ページ処理順序決定部４８が、印刷設定記憶部４１に記憶された印刷設定に基づいて、印刷対象ページを特定し、ページ処理順序を決定する（ステップ４０８）。
【００７６】
次に、ダウンロード順序決定部４９が、このページ処理順序と、予め与えられたページとオブジェクトとの対応関係とに基づいて、ダウンロード対象オブジェクトと、ダウンロード対象オブジェクトのダウンロード順序とを決定する（ステップ４０９）。このとき、ダウンロード順序決定部４９は、位置情報記憶部４７に記憶された位置情報テーブルを参照することにより、ダウンロード対象オブジェクトのオブジェクトＩＤに対応するオフセット及びサイズを取得し、ダウンロード順序に従って送信部４２に渡しておく。
【００７７】
これにより、ダウンロード順序に従って、オブジェクトを含むファイル断片がダウンロードされる（ステップ４１０）。即ち、送信部４２が、クラウドプリントサーバ５０に対して、ダウンロード順序に従い、オブジェクトを含むファイル断片の先頭からのオフセット及びサイズを指定してこのファイル断片のダウンロードを要求する情報を送信し、これに応じて送信されたファイル断片を受信部４３が受信する。尚、受信部４３が受信したファイル断片にオブジェクトが完全な形で含まれていない場合は、オフセット及びサイズの一方又は両方を変更し、オブジェクトを含むファイル断片の送信を再度要求する。そして、ダウンロードされたファイル断片はダウンロードデータ記憶部４５に記憶される。
その後、送信部４２は、オブジェクトを含む全てのファイル断片のダウンロードが完了したかどうかを判定し（ステップ４１１）、完了していなければ、ステップ４１０を繰り返し、完了していれば、処理を終了する。
【００７８】
一方、画像形成装置３０は、ダウンロードデータ記憶部４５へのデータのダウンロードが開始されると、イメージ生成部３０３に処理の開始を指示する。これにより、イメージ生成部３０３は、データのダウンロード状況とは非同期に処理を継続する。このとき、イメージ生成部３０３の処理に必要なデータがダウンロードデータ記憶部４５に揃っていなければ、画像形成装置３０は、イメージ生成部３０３によるデータの読み込みを待たせるように制御する。
そして、画像形成装置３０は、このようなデータのダウンロードとイメージ生成処理を繰り返すことにより、画像処理を完了させる。
【００７９】
尚、上記では、ファイル構成情報のオフセット及びサイズが分からないことを前提に、ファイル構成情報を含むファイル断片を予め定められたオフセット及びサイズを指定して要求した。しかしながら、文書ファイルの形式等により、ファイル構成情報のオフセット及びサイズが分かっている場合は、その分かっているオフセット及びサイズを指定して、ファイル構成情報を要求するようにしてもよい。また、ファイル構成情報を解析することによりダウンロード対象と判断されたオブジェクトについても、オフセット及びサイズが分かっていれば、その分かっているオフセット及びサイズを指定して要求してよい。
【００８０】
また、上記では、先頭から逐次解析処理を行えず、かつ、印刷に不要なデータを含む文書ファイルを処理対象としたが、先頭から逐次解析処理を行えないが、印刷に不要なデータは含まない文書ファイル、又は、先頭から逐次解析処理は行えるが、印刷に不要なデータを含む含まない文書ファイルを処理対象としてもよい。
【００８１】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【符号の説明】
【００８２】
１０…クライアント端末、３０…画像形成装置、４０…操作受付部、４１…印刷設定記憶部、４２…送信部、４３…受信部、４４…ファイル情報解析部、４５…ダウンロードデータ記憶部、４６…ファイル構成情報解析部、４７…位置情報記憶部、４８…ページ処理順序決定部、４９…ダウンロード順序決定部、５０…クラウドプリントサーバ
【図１】
0005929126.tif 000002
【図２】
0005929126.tif 000003
【図３】
0005929126.tif 000004
【図４】
0005929126.tif 000005
【図５】
0005929126.tif 000006
【図６】
0005929126.tif 000007
【図７】
0005929126.tif 000008
【図８】
0005929126.tif 000009
【図９】
0005929126.tif 000010
【図１０】
0005929126.tif 000011