(57)【要約】【課題】記憶部の使用可能容量が少ない画像形成装置であっても、送信側の負荷を防止しつつＰＤＦファイルなどの文書ファイルをプリントデータに変換されることなく受信して、印刷することが可能となる画像形成装置およびプログラムを提供する。【解決手段】プリンタは、ＰＣから送信されたＰＤＦファイルに含まれるオブジェクトを順次記憶し、所定のページを構成するオブジェクトがすべて記憶されたと判断した場合（Ｓ２１２でＹＥＳ）、当該所定のページに対して印刷処理を施す（Ｓ２１３）。【選択図】            図８
2004202754.tif 000002
【特許請求の範囲】
【請求項１】
ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置であって、
前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを順次記憶する記憶手段と、
所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断手段と、
前記判断手段により前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施す印刷手段と
を有する画像形成装置。
【請求項２】
前記所定のページは、未だ印刷処理が終了していないページのうちの先頭のページである請求項１に記載の画像形成装置。
【請求項３】
前記記憶手段に既に記憶されている所定のオブジェクトを前記記憶手段から削除する削除手段をさらに有する請求項１または２に記載の画像形成装置。
【請求項４】
前記記憶手段の使用量が所定の限界使用量を越えたか否かを判断する第２の判断手段をさらに有し、
前記削除手段は、前記第２の判断手段により前記記憶手段の使用量が所定の限界使用量を越えたと判断された場合、前記所定のオブジェクトを前記記憶手段から削除する請求項３に記載の画像形成装置。
【請求項５】
ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置で用いられるプログラムであって、
前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを順次記憶する記憶手段に、所定のページを構成するオブジェクトがすべて記憶されたか否かを判断する判断手順と、
前記判断手順において前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施すための印刷手段に当該所定のページを出力する出力手順と
を前記画像形成装置に実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像形成装置およびプログラムに関し、特に、ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷するための画像形成装置およびプログラムに関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（以下、「ＰＣ」という）は、たとえばハードディスクに保存されている文書ファイルを、ＬＡＮなどのネットワークを介してプリンタに送信して印刷することができる。
【０００３】
この場合、文書ファイルは、通常、ＰＣにインストールされているプリンタドライバによって、プリンタで解析可能なＰＳ（PostScript（Ｒ））等のＰＤＬ（Page Description Language：ページ記述言語）で記述されたプリントデータに変換されてから、送信される。
【０００４】
一方、インターネット上で配布される文書ファイルとして、ハードウェアやアプリケーションの種類にかかわらずにオリジナル文書と同じ体裁を再現できるＰＤＦ（Portable Document Format）ファイルが広く普及してきている。このＰＤＦファイルは、ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定している。
【０００５】
ところで、ＰＤＦファイルは、たとえば数百ページものデータを有している場合がある。このような特にデータサイズの大きいＰＤＦファイルをＰＣでプリントデータに変換すると、変換に時間がかかること、処理が複雑になること、および変換によりデータサイズが却って大きくなってデータ転送時間が増えることなどの理由により、ＰＣの負荷が増大することになる。かかるＰＣの負荷を軽減するために、プリントデータに変換せずにＰＣからプリンタに送信されたＰＤＦファイルを直接印刷すること（以下、「ＰＤＦダイレクトプリント」という）が可能なプリンタが提案されている。
【０００６】
しかし、ＰＤＦファイルは印刷すべきデータに関するオブジェクトがファイル内でページ順とは関係なく配置可能であり、しかもオブジェクトのファイル内での位置を示す参照情報がファイルの末尾部分に配置されているため、プリンタはＰＤＦファイル全体を受信した後でないと印刷することができない。このため、プリンタは、搭載されるメモリの容量（使用可能容量ないし空き容量）が足りないためにＰＤＦファイル全体を受信できず、印刷を実行できない場合があった。
【０００７】
この問題に関連して、ＰＤＦファイル全体を受信しなくても受信したデータから順にディスプレイ上での表示が可能となるように、ＰＤＦファイルの中身を変更して再構成する装置が知られている（例えば、特許文献１参照。）。
【０００８】
【特許文献１】
特表平１１−５０２９５４号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、上記特許文献１に記載の装置にあっては、結果的に、ファイル転送前にＰＣなどの送信側で、ＰＤＦファイルを再構成するための複雑な処理が必要となってしまう。したがって、上記装置の技術は、ＰＤＦファイルをＰＳ等のＰＤＬで記述されたプリントデータに変換することと比較して、ＰＣの負荷の軽減を図ることにならないという問題がある。しかも、上記技術は、ディスプレイ上での表示に関する技術に過ぎないため、プリンタでの印刷に関しては十分な考慮が払われていない。
【００１０】
本発明は、上述の課題を解決するためになされたものであり、本発明の目的は、記憶部の使用可能容量が少ない画像形成装置であっても、送信側の負荷を防止しつつＰＤＦファイルなどの文書ファイルをプリントデータに変換されることなく受信して、印刷することが可能となる画像形成装置およびプログラムを提供することである。
【００１１】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【００１２】
（１）ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置であって、前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを順次記憶する記憶手段と、所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断手段と、前記判断手段により前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施す印刷手段とを有する画像形成装置。
【００１３】
（２）前記所定のページは、未だ印刷処理が終了していないページのうちの先頭のページである上記（１）に記載の画像形成装置。
【００１４】
（３）前記記憶手段に既に記憶されている所定のオブジェクトを前記記憶手段から削除する削除手段をさらに有する上記（１）または（２）に記載の画像形成装置。
【００１５】
（４）前記記憶手段の使用量が所定の限界使用量を越えたか否かを判断する第２の判断手段をさらに有し、前記削除手段は、前記第２の判断手段により前記記憶手段の使用量が所定の限界使用量を越えたと判断された場合、前記所定のオブジェクトを前記記憶手段から削除する上記（３）に記載の画像形成装置。
【００１６】
（５）ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置で用いられるプログラムであって、前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを順次記憶する記憶手段に、所定のページを構成するオブジェクトがすべて記憶されたか否かを判断する判断手順と、前記判断手順において前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施すための印刷手段に当該所定のページを出力する出力手順とを前記画像形成装置に実行させるためのプログラム。
【００１７】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１８】
図１は、本発明の一実施形態に係るＰＣおよびプリンタが適用されたプリントシステムの構成を示すブロック図である。
【００１９】
図１に示すように、プリントシステムは、画像処理装置としての機能を有するＰＣ１００Ａ、１００Ｂと、画像形成装置としてのプリンタ２００とを備え、これらはネットワーク３００を介して相互に通信可能に接続されている。ネットワーク３００は、イーサネット（Ｒ）、トークンリング、ＦＤＤＩ等の規格によるＬＡＮや、ＬＡＮ同士を専用線で接続したＷＡＮ等からなる。
【００２０】
なお、ネットワークに接続される機器の種類および台数は、図１に示す例に限定されない。また、プリンタ２００は、ネットワーク３００を介することなく、ＰＣ１００Ａまたは１００Ｂと直接機器間で接続（ローカル接続）されていてもよい。
【００２１】
図２は、図１に示されるＰＣ１００Ａ、１００Ｂの構成を示すブロック図である。図２に示すように、ＰＣ１００Ａ、１００Ｂは、装置全体の制御および各種演算処理を行うＣＰＵ１０１、プログラムやデータを格納するためのＲＯＭ１０２、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ１０３、各種のプログラムやデータを保存するための外部記憶装置としてのハードディスク１０４、各種情報の表示のための液晶ディスプレイなどの表示部１０５、各種指示の入力のためのキーボードやマウスなどからなる入力部１０６、およびネットワーク３００に接続するためのＬＡＮカードなどのネットワークインタフェース１０７を含み、これらは信号を遣り取りするためのバス１０８を介して相互に接続されている。
【００２２】
図３は、図１に示されるプリンタ２００の構成を示すブロック図である。図３に示すように、プリンタ２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、操作パネル部２０４、印刷部２０５、およびネットワークインタフェース２０６を含み、これらは信号を遣り取りするためのバス２０７を介して相互に接続されている。なお、プリンタ２００の構成要素のうち、ＰＣ１００Ａ、１００Ｂの構成要素と同様の機能を有する部分についての重複する説明を省略する。
【００２３】
ＲＡＭ２０３は、ＰＣから受信したデータを一時的に記憶できる。ＲＯＭ２０２には、文字の書体を示すフォントに関するフォント情報が格納され得る。なお、プリンタ２００は、各種のプログラムやデータを保存するための外部記憶装置としてのハードディスクを有していてもよい。操作パネル部２０４は、各種情報の表示および各種指示の入力に使用される。印刷部２０５は、電子写真式プロセス等の周知の作像プロセスを用いて、各種データを用紙などの記録材上に印刷する。
【００２４】
ＰＣ１００Ａ、１００Ｂ、およびプリンタ２００は、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。以下においては、たとえばＰＣ１００Ａからプリンタ２００にデータが送信されて印刷が行われる場合について説明する。
【００２５】
図１に示されるプリントシステムでは、通常プリントと、ＰＤＦダイレクトプリントとの２種類の印刷が実行可能である。通常プリントを実行する場合、所定のファイルは、ＰＣ１００Ａのハードディスク１０４にインストールされたプリンタドライバによってＰＳ等のＰＤＬで記述されたプリントデータに変換された後、プリンタ２００に送信される。一方、ＰＤＦダイレクトプリントを実行する場合、ＰＤＦファイルは、ハードディスク１０４にインストールされた後述するプログラムにしたがって、プリントデータに変換されることなく、ＰＣ１００Ａからプリンタ２００に送信される。
【００２６】
ＰＣとプリンタとの間のデータ通信プロトコルとしては、双方向通信が可能で、ジョブごとにセッションを確立することができ、ファイル内の任意の部分のデータを送信可能な、所定のプロトコルが使用される。たとえば、Ｒａｗ（ＴＣＰ／ＩＰ  ９１００）、ＬＰＲ(Line Printer Remote)、ＩＰＰ(Internet Printing Protocol)などの各種プロトコルが使用され得る。ただし、独自のプロトコルが使用されてもよい。
【００２７】
ここで、図４および図５を参照して、標準的なＰＤＦファイルの構造および解析方法について簡単に説明する。図４は、標準的なＰＤＦファイルの構成を説明するための図、図５は、ＰＤＦファイルのサンプルを示す図である。なお、図４および図５は、「PDF Reference third edition Adobe Portable Document Format Version 1.4」（アドビシステムズ社）を参考にして作成されている。
【００２８】
図４および図５に示すように、標準的なＰＤＦファイル５００は、ヘッダ５１０、ボディ５２０、相互参照表５３０、およびトレーラ５４０から構成される。
【００２９】
ヘッダ５１０には、「％」で始まるコメントが記述される。図５のヘッダ５１０から、ファイルのフォーマットがＰＤＦであること、および準拠するＰＤＦ仕様のバージョン（ここでは１．４）がわかる。
【００３０】
ボディ５２０は、複数のオブジェクトから構成される（図５ではオブジェクト１〜６）。オブジェクトとは、文書を構成する個々の要素をいう。
【００３１】
最初のオブジェクト１は、「1 0 obj」から「endobj」までの記述により定義され、他のオブジェクトも同様に定義される。ここで、たとえば「1 0 obj」における数字はオブジェクトの番号であり、最初の数字およびその次の数字は、それぞれオブジェクトのＩＤ番号および生成番号（generation）を表す。
【００３２】
オブジェクトとしては、たとえば、ページオブジェクト、ページ一覧オブジェクト、カタログオブジェクト、データオブジェクト、およびフォントオブジェクトなどが挙げられる。
【００３３】
ページオブジェクトには、特定のページを構成するのに必要なオブジェクトの番号が列挙されたページ情報が記述されている。また、ページオブジェクトは、「/Type/Page」の記述を含む。ページ一覧オブジェクトには、ページ順にページオブジェクトの番号が列挙されたページ番号情報が記述されている。つまり、ページ一覧オブジェクトには、各ページオブジェクトの番号と、そのページオブジェクトが示すページが文書全体の何ページ目に当たるかが記述される。また、ページ一覧オブジェクトは、「/Type/Pages」の記述を含む。カタログオブジェクトには、文書の構造情報が記述されており、ページ一覧オブジェクトの番号が含まれる。データオブジェクトには、ページオブジェクトにより参照される特定のページの中身が記述されており、当該ページを描画するために使用される。フォントオブジェクトには、文字の書体を示すフォントに関するフォント情報が記述されている。
【００３４】
データオブジェクトには、画素の集まりで表された画像データを含む画像オブジェクト、文字コードで表された文字データを含む文字オブジェクト、および線などの図形の集まりで表された図形データを含む図形オブジェクトが含まれる。なお、図５において、オブジェクト１はカタログオブジェクト、オブジェクト３はページ一覧オブジェクト（図５の場合、文書は１ページのみで構成される）、オブジェクト４はページオブジェクト、オブジェクト５はデータオブジェクトである。
【００３５】
相互参照表５３０は、ファイル内におけるオブジェクトの位置を示す参照情報である。相互参照表５３０において、各オブジェクトの位置がオフセットで表される。ここで、オフセットとは、ファイル先頭から注目するデータの先頭までのバイト数をいう。これにより、ボディ５２０に並んでいるオブジェクトに対して、ランダムにアクセスすることが可能となる。この相互参照表５３０は、ファイル中では、「xref」というキーワードを含む行で始まる。
【００３６】
トレーラ５４０は、ファイルの解析開始時にアクセスすべき情報である。具体的には、トレーラ５４０には、ファイル内における相互参照表５３０の位置を示す情報、および最初に参照すべきオブジェクト（階層構造のルートとなるルートオブジェクト）の番号が記述される。「startxref」の次に示される数字は、相互参照表５３０のオフセットである。「Root」を含む行は、ルートオブジェクトの番号を示している。また、「Size」を含む行は、相互参照表５３０の最初のエントリ（オブジェクトのＩＤ番号が「０」）を含めて、ファイル内に存在するオブジェクトの個数を示している。このトレーラ５４０は、ファイルの末尾部分に存在し、「trailer」というキーワードを含む行で始まる。
【００３７】
ＰＤＦファイルを解析する装置は、標準的なＰＤＦファイルを解析する場合、まずファイルの末尾部分にあるトレーラ５４０を解析し、次いで相互参照表５３０を解析する。そして、これらの解析で得られた情報に基づいて、ボディ５２０に記述されたページの内容を解析することができる。オブジェクトには、次に必要となるデータが記述された別のオブジェクトの番号が含まれている。このため、次に必要なオブジェクトの番号をたどることにより、ＰＤＦファイルの全体的な解析が可能となる。したがって、オブジェクトは、ＰＤＦファイルのボディ内においてオブジェクト単位で任意の順序で記述されることができ、結果として、ページ順と異なる順序でファイル内に配置可能となる。
【００３８】
次に、図６を参照して、ＰＣ１００Ａで行われる処理について説明する。なお、図６のフローチャートにより示されるアルゴリズムは、ＰＣ１００Ａのハードディスク１０４などの記憶装置にプログラムとして記憶されており、ＣＰＵ１０１により実行される。
【００３９】
ここでは、ＰＤＦファイルに対して、プリンタドライバを使用した通常プリントではなく、ＰＤＦダイレクトプリントが実行され、プリンタ２００でＰＤＦファイルの印刷が行われる場合について説明する。
【００４０】
ユーザによるＰＤＦダイレクトプリントの実行の指示の前に、あらかじめ初期設定が行われる。初期設定には、出力先プリンタの設定、および印刷条件の設定が含まれる。出力先プリンタ、および印刷条件は、入力部１０６を通したユーザの操作に基づいて設定される。印刷条件には、ページについての印刷順序に関連する属性が含まれる。具体的には、印刷条件には、たとえば印刷部数、片面印刷／両面印刷の指定、部単位で出力するためのコレートの指定、および正順印刷する（ファイルの先頭ページから最終ページに向かって順番に印刷する）旨／正順印刷を必ずしも必要としない旨の指定が含まれる。ただし、印刷条件には、他の属性が含まれていてもよく、上記した属性の一部が省略されていてもよい。なお、印刷条件は、プリンタ２００において操作パネル部２０４を通して設定されてもよい。
【００４１】
初期設定がなされた状態で、ＰＣ１００Ａは、ユーザによるＰＤＦファイルに対するＰＤＦダイレクトプリントの実行の指示を受け付ける（Ｓ１０１）。ここで、ＰＣ１００Ａのデスクトップ上には、ＰＤＦダイレクトプリントについてのアプリケーションプログラムファイルのアイコンがあらかじめ表示される。ユーザは、印刷すべきＰＤＦファイルを当該アイコンにドラッグ＆ドロップしてアプリケーションプログラムを起動することにより、ＰＤＦダイレクトプリントの実行の指示を行うことができる。なお、ＰＤＦダイレクトプリントの実行の指示は、他の方法により行われてもよい。
【００４２】
続いて、ＰＣ１００Ａと出力先であるプリンタ２００との間のセッションが自動的に確立される（Ｓ１０２）。セッションは、後述するステップＳ１１３において閉じられるまで、維持される。
【００４３】
そして、ＰＤＦダイレクトプリントの対象とされたＰＤＦファイルが、プリンタ２００に送信される（Ｓ１０３）。このとき、ＰＣ１００Ａは、ＰＤＦファイルに何ら処理を施さず、そのまま送信する。あらかじめ設定された印刷条件もまた、プリンタ２００に送信される。
【００４４】
ＰＤＦファイルの送信後、送信したＰＤＦファイルのパスがキューに記録される（Ｓ１０４）。パスとはファイルの保存場所を示すための文字列であり、このパスにはファイルが保存されているドライブ名とディレクトリ名とが含まれる。キューは、ＰＤＦダイレクトプリント専用の、パスの一時的な保存領域である。
【００４５】
ステップＳ１０５では、プリンタ２００から、セッションを閉じることの要求であるセッションクローズ要求を受信したか否かが判断される。セッションクローズ要求を受信した場合（Ｓ１０５でＹＥＳ）、ステップＳ１１２に進む。
【００４６】
セッションクローズ要求を受信していない場合（Ｓ１０５でＮＯ）、プリンタ２００から、所定のオブジェクトの送信要求を受信したか否かが判断される（Ｓ１０６）。オブジェクトの送信要求を受信していない場合（Ｓ１０６でＮＯ）、ステップＳ１０５に戻る。
【００４７】
オブジェクトの送信要求を受信した場合（Ｓ１０６でＹＥＳ）、当該オブジェクトを含むＰＤＦファイルが検索される（Ｓ１０７）。ここで、キューの先頭に位置するパスが参照され、このパスが示すＰＤＦファイルの検索が行われる。そして、検索したＰＤＦファイルが存在するか否かが判断される（Ｓ１０８）。
【００４８】
検索したＰＤＦファイルが見つかった場合（Ｓ１０８でＹＥＳ）、要求されたオブジェクトが、当該ＰＤＦファイルから抽出されてプリンタ２００に送信され（Ｓ１０９）、ステップＳ１０５に戻る。ここで、プリンタ２００からのオブジェクトの送信要求には、後述するように、当該オブジェクトのオフセットおよびサイズの情報が含まれている。したがって、オブジェクトのＰＤＦファイルからの抽出は、オフセットおよびサイズの情報に基づいて行われる。
【００４９】
一方、検索したＰＤＦファイルが見つからなかった場合（Ｓ１０８でＮＯ）、ユーザにエラーが発生したことを通知するための所定のエラー表示が表示部１０５上に表示される（Ｓ１１０）。続いて、プリンタ２００に対して、当該ＰＤＦダイレクトプリントを行うためのジョブをキャンセルすることの要求であるジョブキャンセル要求が送信される（Ｓ１１１）。
【００５０】
ステップＳ１１２では、キューの先頭に位置するパスを削除し、現在維持中のセッションが閉じられる（Ｓ１１３）。
【００５１】
次に、図７〜図１０を参照して、プリンタ２００で行われる処理について説明する。なお、図７〜図１０のフローチャートにより示されるアルゴリズムは、プリンタ２００のＲＯＭ２０２などの記憶装置にプログラムとして記憶されており、ＣＰＵ２０１により実行される。
【００５２】
ここでは、プリンタ２００が、ＰＣ１００Ａから送信される印刷すべきＰＤＦファイルを受信して、受信したＰＤＦファイルに対して、ＰＤＦダイレクトプリントを実行する場合について、以下に説明する。
【００５３】
まず、プリンタ２００は、本アプリケーションで使用される図１１および図１２に示すテーブルを初期化する（Ｓ２０１）。図１１は、各オブジェクトのオフセットを管理するためのオフセット情報管理テーブルを示す図、図１２は、各ページに関連するオブジェクトの番号を管理するためのページ情報管理テーブルを示す図である。これらのテーブルの内容および使用方法については後述する。
【００５４】
テーブルの初期化が終了すると、プリンタ２００は、ＰＣ１００Ａから送信されたＰＤＦファイルを順次受信し、受信されたデータを解析する（Ｓ２０２）。
【００５５】
ステップＳ２０３では、受信されたデータがジョブキャンセル要求であるか否かが判断される。ジョブキャンセル要求である場合（Ｓ２０３でＹＥＳ）、当該ＰＤＦダイレクトプリントを行うためのジョブをキャンセルして（Ｓ２０４）、アプリケーションの実行を終了する。ジョブキャンセル要求でない場合（Ｓ２０３でＮＯ）、ステップＳ２０５に進む。
【００５６】
ステップＳ２０５では、受信されたデータがオブジェクトの先頭であるか否かが判断される。オブジェクトの先頭である場合（Ｓ２０５でＹＥＳ）、ステップＳ２０６に進み、オブジェクトの先頭でない場合（Ｓ２０５でＮＯ）、ステップＳ２０７に進む。
【００５７】
ステップＳ２０６では、注目するオブジェクトのオフセットが記録される。ここで、ファイル先頭から当該オブジェクトの先頭までのバイト数がカウントされることにより、当該オブジェクトのオフセットが得られる。具体的には、図１１に示すように、オフセット情報管理テーブルに、該当するオブジェクトの番号とオフセットが記録される。なお、図１１に示す削除済みフラグは、後述するステップＳ３０３においてオブジェクトに対して削除処理が行われた場合に「１」とされるフラグである。
【００５８】
ステップＳ２０７では、受信されたデータがページオブジェクトであるか否かが判断される。ページオブジェクトである場合（Ｓ２０７でＹＥＳ）、ステップＳ２０８に進み、ページオブジェクトでない場合（Ｓ２０７でＮＯ）、ステップＳ２０９に進む。
【００５９】
ステップＳ２０８では、注目するページオブジェクトのページ情報が記録される。具体的には、注目するページオブジェクトから、ページオブジェクトの番号と、対応するページを構成するのに必要なオブジェクトの番号とが抽出され、図１２に示すようにページ情報管理テーブルに記録される。
【００６０】
ステップＳ２０９では、受信されたデータがページ一覧オブジェクトであるか否かが判断される。ページ一覧オブジェクトである場合（Ｓ２０９でＹＥＳ）、ステップＳ２１０に進み、ページ一覧オブジェクトでない場合（Ｓ２０９でＮＯ）、ステップＳ２１１に進む。
【００６１】
ステップＳ２１０では、ページ一覧オブジェクトのページ番号情報が記録される。具体的には、ページ一覧オブジェクトを解析することにより、各ページオブジェクトの番号と、そのページオブジェクトに対応するページ番号とが取得され、図１２に示すようにページ情報管理テーブルに記録される。
【００６２】
ステップＳ２０８およびステップＳ２１０の処理により、ページ情報管理テーブルにおける出力済みフラグの列以外の列が作成される。なお、図１２に示す出力済みフラグは、必要なオブジェクトが揃ったページが印刷部２０５に対して出力された場合に「１」とされるフラグである。
【００６３】
なお、オフセット情報管理テーブル、およびページ情報管理テーブルにおいて、オブジェクトの解析順にテーブルの各欄が埋められていくため、必ずしもオブジェクトの番号順、あるいはページ順に各情報がテーブル内で配置されるとは限らない（図１１および図１２参照）。ただし、オフセット情報管理テーブルにおいて、各情報がオブジェクトの番号順に配置され、ページ情報管理テーブルにおいて、各情報がページ順に配置されるように管理することも可能である。
【００６４】
ステップＳ２１１では、データの保存処理が行われる。すなわち、受信したデータのうち、ページオブジェクトでもページ一覧オブジェクトでもないデータに対して保存処理が行われる。
【００６５】
図９に示すように、データの保存処理では、受信した上記データは、保存が可能である限り、メモリ（ＲＡＭ２０３）の所定の保存領域に保存される（Ｓ３０１）。
【００６６】
続いて、メモリなどの記憶装置の使用量が所定の限界使用量を越えたか否かが判断される。ここでは、メモリオーバーフローが発生したか否かが判断される（Ｓ３０２）。メモリオーバーフローとは、メモリの所定の保存領域がデータでフルとなってそれ以上データを保存できない状態をいう。なお、所定の限界使用量は、メモリの所定の保存領域がフルになる場合に限定されるものではなく、たとえばフルの状態に対して８０％の使用量など、適宜設定され得る。
【００６７】
メモリオーバーフローが発生した場合（Ｓ３０２でＹＥＳ）、メモリに既に保存されている所定のオブジェクトが削除される（Ｓ３０３）。これにより、未だ保存されていないオブジェクトを保存するための空き容量を確保することができ、ＰＤＦファイルの確実な印刷が可能となる。ここで、メモリオーバーフローが発生した場合にのみ所定のオブジェクトの削除を行うことにより、削除処理が頻繁に行われて処理時間を浪費する事態を防止できる。
【００６８】
削除されるべき所定のオブジェクトは、既に印刷部２０５への出力処理（Ｓ２１３参照）が終了したページを構成するオブジェクトのうち、未だ出力処理が終了していない他のページの出力処理に必要でないオブジェクトである。これにより、他のページの出力処理に支障を与えることを防止でき、ＰＤＦダイレクトプリントの速度低下を防止できる。ただし、削除されるべき所定のオブジェクトは、上記のオブジェクトに必ずしも限定されるものではなく、データサイズの大きいオブジェクトなどの他のオブジェクトであってもよい。また、未だ出力処理が終了していないページのうちの先頭ページを構成するオブジェクトは、削除の対象にしないことが好ましい。かかるページは早く出力して印刷すべきだからである。さらに、削除されるべきオブジェクトの選定条件が複数設定され、これらの選定条件に優先順位が付けられて、メモリオーバーフローが発生しなくなるまで当該複数の選定条件にしたがった処理が段階的に実行されてもよい。
【００６９】
本実施形態では、上記のように、プリンタ２００はメモリオーバーフローが発生した場合にのみ所定のオブジェクトの削除を行う。ただし、印刷部２０５への出力処理（Ｓ２１３参照）が終了したオブジェクトは、未だ出力処理が終了していない他のページの出力処理に必要でない限り、メモリオーバーフローの発生にかかわらず、削除される構成が採用されてもよい。
【００７０】
なお、図１１に示すオフセット情報管理テーブルにおいて、削除処理が行われたオブジェクトについての削除済みフラグが、「１」に設定される。
【００７１】
所定のオブジェクトの削除（Ｓ３０３）が行われた後、ステップＳ３０１に戻り、メモリオーバーフローが発生したために保存できなかったデータの保存が実行される。
【００７２】
一方、メモリオーバーフローが発生しない場合（Ｓ３０２でＮＯ）、図７および図８のフローチャートに戻る。
【００７３】
図８のステップＳ２１２では、印刷部２０５に対して出力可能なページがあるか否かが判断される。すなわち、あるページを構成するオブジェクトがメモリにすべて記憶されたか否かが判断される。
【００７４】
ここで、図１１のオフセット情報管理テーブル、および図１２のページ情報管理テーブルが参照される。具体的には、未だ出力されていないページ（図１２に示す出力済みフラグが「０」のページ）であって、かつ当該ページを構成するのに必要なオブジェクト（図１２に示すオブジェクトの番号の欄）が揃っているページが存在するか否かが判断される。なお、必要なオブジェクトが揃っている場合とは、図１１に示すオフセット情報管理テーブルに当該オブジェクトの番号とオフセットが記録されており、かつ削除済みフラグが「０」の場合である。
【００７５】
出力可能なページがあると判断された場合（Ｓ２１２でＹＥＳ）、当該ページの出力処理が行われる（Ｓ２１３）。
【００７６】
図１０に示すように、出力可能なページの出力処理では、あらかじめ設定されている印刷条件を参照することによって、正順印刷する旨の指定が行われているか否かが判断される（Ｓ４０１）
正順印刷する旨の指定が行われていない場合（Ｓ４０１でＮＯ）、つまり正順印刷を必ずしも必要としない旨の指定が行われている場合、ステップＳ２１２で印刷部２０５に対して出力可能であると判断されたページが、ラスタライズされた上ですべて印刷部２０５に出力され（Ｓ４０２）、用紙上に印刷される。そして、ページ情報管理テーブルにおいて、ステップＳ４０２で出力されたページについての出力済みフラグが「１」に設定される。したがって、ＰＤＦファイルの全体を受信しなくても、所定のページを構成するオブジェクトがすべて記憶された結果、当該ページが出力可能となった時点で、当該ページを印刷することが可能となる。
【００７７】
一方、正順印刷する旨の指定が行われている場合（Ｓ４０１でＹＥＳ）、図１１および図１２のテーブルを参照することにより、未だ印刷部２０５への出力処理が終了していないページのうちの先頭のページが出力可能であるか否かが判断される（Ｓ４０３）。
【００７８】
未出力ページのうちの先頭のページが出力可能である場合（Ｓ４０３でＹＥＳ）、当該ページがラスタライズされた上で印刷部２０５に出力され（Ｓ４０４）、用紙上に印刷される。そして、ページ情報管理テーブルにおいて、ステップＳ４０４で出力されたページについての出力済みフラグが「１」に設定される。したがって、ＰＤＦファイルの全体を受信しなくても、未出力ページのうちの先頭のページが出力可能となった時点で、当該ページを印刷することが可能となる。これにより、正順印刷が実現される。当該ページの印刷部２０５への出力後、ステップＳ４０３に戻る。一方、未出力ページのうちの先頭のページが出力可能でない場合（Ｓ４０３でＮＯ）、図８のフローチャートに戻る。
【００７９】
図８のステップＳ２１２において、出力可能なページがないと判断された場合（Ｓ２１２でＮＯ）、ステップＳ３０３で削除したオブジェクトが必要か否かが判断される（Ｓ２１６）。ここで、図１１に示すオフセット情報テーブルが参照され、所定のオブジェクトがステップＳ３０３で削除された（削除済みフラグが「１」）ために出力可能なページがない場合、削除したオブジェクトが必要であると判断される。削除したオブジェクトが必要でない場合（Ｓ２１６でＮＯ）、図７のステップＳ２０２に戻る。
【００８０】
削除したオブジェクトが必要な場合（Ｓ２１６でＹＥＳ）、削除したオブジェクトの送信要求が、ＰＤＦファイルの送信元であるＰＣ１００Ａに送信される（Ｓ２１７）。これにより、ＰＤＦファイルの印刷がより確実となる。
【００８１】
ここで、プリンタ２００は、まず、図１１に示すオフセット情報管理テーブルを参照して、要求するオブジェクトのオフセット、およびファイル内で次に配置されるオブジェクトのオフセットから、要求するオブジェクトのデータサイズを計算する。そして、プリンタ２００は、要求するオブジェクトのオフセットおよびサイズの情報を含むオブジェクトの送信要求を、ＰＣ１００Ａに対して送信する。図１３は、オブジェクトの送信要求に含まれる情報の一例を示す図である。オブジェクトの送信要求には、要求するオブジェクトの番号、あるいは出力先であるプリンタ２００のＩＰアドレスなどの他の情報が含まれていてもよい。プリンタ２００は、削除したオブジェクトを要求した後、図７のステップＳ２０２に戻る。
【００８２】
ステップＳ２１４では、ＰＤＦファイルの全ページ分の印刷部２０５への出力が完了したか否かが判断される（Ｓ２１４）。全ページ分の出力が完了していない場合（Ｓ２１４でＮＯ）、図７のステップＳ２０２に戻り、上記処理が繰り返される。
【００８３】
一方、全ページ分の出力が完了した場合（Ｓ２１４でＹＥＳ）、ＰＤＦファイルの送信元であるＰＣ１００Ａに対して、セッションクローズ要求が送信される（Ｓ２１５）。
【００８４】
このように本実施形態によれば、プリンタは、ＰＣから送信されたＰＤＦファイルに含まれるオブジェクトを順次記憶し、所定のページを構成するオブジェクトがすべて記憶されたと判断した場合、当該所定のページに対して印刷処理を施すことができる。
【００８５】
したがって、ＰＤＦファイルの全体を受信しなくても、所定のページを構成するオブジェクトがすべて記憶された結果、当該ページが出力可能となった時点で、当該ページを印刷することが可能となる。これにより、メモリの使用可能容量が少ないプリンタであっても、送信側の負荷を防止しつつＰＤＦファイルをプリントデータに変換されることなく受信して、印刷することが可能となる。また、未出力ページのうちの先頭のページが出力可能となった時点で、当該ページを印刷する構成を採用することにより、正順印刷を行うことも可能となる。
【００８６】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００８７】
たとえば、画像処理装置としての機能を有する装置として、ＰＣの代わりに、たとえばワークステーション、サーバなどのコンピュータが用いられてもよい。また、プリンタの代わりに、ファクシミリ装置、コピー機、およびそれらを複合した機能を有する多機能周辺機器（ＭＦＰ：Multi-Function Peripheral）などの画像形成装置が用いられてもよい。
【００８８】
また、上述した実施形態では、ＰＣでの操作に基づいてＰＣからプリンタにＰＤＦファイルを送信する場合について説明したが、本発明はこれに限定されるものではない。本発明は、プリンタで印刷したいＰＤＦファイルの保存場所を指定することにより、印刷すべきＰＤＦファイルが保存されている保存装置から当該ＰＤＦファイルを取得してプリンタで印刷する場合にも適用することができる。
【００８９】
本発明において、ＰＤＦファイルをプリントデータに変換せずに画像処理装置から画像形成装置に送信して印刷するための各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶装置に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【００９０】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項１〜５に記載した発明以外にも、以下の付記１〜７に示すような発明が含まれる。
【００９１】
［付記１］  前記所定のオブジェクトは、既に印刷処理が終了したページを構成するオブジェクトのうち、未だ印刷処理が終了していない他のページの印刷処理に必要でないオブジェクトである請求項３または４に記載の画像形成装置。
【００９２】
［付記２］  前記所定のページを構成するオブジェクトが前記削除手段により前記記憶手段から削除されている場合、削除されているオブジェクトについての送信要求を送信する送信手段をさらに有する請求項３または４に記載の画像形成装置。
【００９３】
［付記３］  前記文書ファイルは、ＰＤＦ（Portable Document Format）ファイルである請求項１〜４のいずれか１つに記載の画像形成装置。
【００９４】
［付記４］  前記文書ファイルは、ＰＤＦ（Portable Document Format）ファイルである請求項５に記載のプログラム。
【００９５】
［付記５］  請求項５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００９６】
［付記６］  ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成方法であって、
前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを記憶手段に順次記憶する記憶ステップと、
所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断ステップと、
前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施す印刷ステップと
を有する画像形成方法。
【００９７】
［付記７］  前記文書ファイルは、ＰＤＦ（Portable Document Format）ファイルである付記６に記載の画像形成方法。
【００９８】
【発明の効果】
上述したように、本発明によれば、ＰＤＦファイルなどの文書ファイルの全体を受信しなくても、所定のページを構成するオブジェクトがすべて記憶された結果、当該ページが出力可能となった時点で、当該ページを印刷することが可能となる。これにより、記憶部の使用可能容量が少ない画像形成装置であっても、送信側の負荷を防止しつつ文書ファイルをプリントデータに変換されることなく受信して、印刷することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るＰＣおよびプリンタが適用されたプリントシステムの構成を示すブロック図である。
【図２】図１に示されるＰＣの構成を示すブロック図である。
【図３】図１に示されるプリンタの構成を示すブロック図である。
【図４】標準的なＰＤＦファイルの構成を説明するための図である。
【図５】ＰＤＦファイルのサンプルを示す図である。
【図６】ＰＣで行われる処理について説明するためのフローチャートである。
【図７】プリンタで行われる処理について説明するためのフローチャートである。
【図８】図７から続く、プリンタで行われる処理について説明するためのフローチャートである。
【図９】図７に示されるデータの保存処理について説明するためのフローチャートである。
【図１０】図８に示される出力可能なページの出力処理について説明するためのフローチャートである。
【図１１】オフセット情報管理テーブルの一例を示す図である。
【図１２】ページ情報管理テーブルの一例を示す図である。
【図１３】オブジェクトの送信要求に含まれる情報の一例を示す図である。
【符号の説明】
１〜６…オブジェクト、
１００Ａ、１００Ｂ…ＰＣ、
１０１、２０１…ＣＰＵ、
１０２、２０２…ＲＯＭ、
１０３、２０３…ＲＡＭ、
１０４…ハードディスク、
１０５…表示部、
１０６…入力部、
１０７、２０６…ネットワークインタフェース、
１０８、２０７…バス、
２００…プリンタ、
２０４…操作パネル部、
２０５…印刷部、
３００…ネットワーク、
５００…標準的なＰＤＦファイル、
５１０…ヘッダ、
５２０…ボディ、
５３０…相互参照表、
５４０…トレーラ。
【図１】
2004202754.tif 000003
【図２】
2004202754.tif 000004
【図３】
2004202754.tif 000005
【図４】
2004202754.tif 000006
【図５】
2004202754.tif 000007
【図６】
2004202754.tif 000008
【図７】
2004202754.tif 000009
【図８】
2004202754.tif 000010
【図９】
2004202754.tif 000011
【図１０】
2004202754.tif 000012
【図１１】
2004202754.tif 000013
【図１２】
2004202754.tif 000014
【図１３】
2004202754.tif 000015