(57)【要約】【課題】記憶部の使用可能容量が少ない場合であっても、ＰＤＦファイル等の文書ファイルをダイレクトに受信して画像形成することが可能となる画像形成装置を提供する。【解決手段】プリンタ１０Ａは、メモリオーバーフローが発生した場合に、ＲＡＭ１０３に記憶されたＰＤＦファイル４２の構成データに含まれるコンテンツオブジェクト（オブジェクト１、３、５、７、８および９）に識別名を付して順次出力し（５２１〜５２６）、出力したコンテンツオブジェクトのデータをＲＡＭ１０３から削除して続きのＰＤＦファイル４２の構成データを受信する。そして、最後にコンテンツオブジェクトの識別名ならびにページオブジェクトおよびページ一覧オブジェクトの情報をもとに目次を作成して出力する（５２７）。【選択図】            図１４
2004322360.tif 000002
【特許請求の範囲】
【請求項１】
文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置であって、
前記文書ファイルの構成データを順次受信する受信手段と、
前記受信手段により受信した前記構成データを記憶する記憶手段と、
前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは２つ以上を組み合わせて前記文書内で表示される順序によらずに画像形成して出力する画像形成手段と、
を有する画像形成装置。
【請求項２】
前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する識別名付与手段をさらに有し、
前記画像形成手段は、前記識別名付与手段により付与した前記オブジェクトの識別名とともに前記オブジェクトを画像形成して出力するものである請求項１に記載の画像形成装置。
【請求項３】
前記文書の個々のページに含まれる前記オブジェクトの識別名についての情報を出力する識別名情報出力手段をさらに有する請求項１または２に記載の画像形成装置。
【請求項４】
前記画像形成手段は、前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に前記オブジェクトを画像形成して出力するものである請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除する削除手段をさらに有する請求項１〜４のいずれか１項に記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像形成装置に関し、特に、文書の特定のページの内容の一部または全部を描画するためのオブジェクトが、ファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置に関する。
【０００２】
【従来の技術】
パソコン等のコンピュータは、たとえばハードディスクに保存されている文書ファイルを、ＬＡＮ等のネットワークを介してプリンタに送信して印刷することができる。
【０００３】
この場合、文書ファイルは、通常、パソコンにインストールされているプリンタドライバによって、プリンタで解析可能なポストスクリプト（ＰｏｓｔＳｃｒｉｐｔ（Ｒ））等のページ記述言語で記述されたプリントデータに変換されてから、送信される。
【０００４】
一方、インターネット上で配布される文書ファイルとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションの種類にかかわらずにオリジナル文書と同じ体裁を再現できるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）ファイルが広く普及してきている。このＰＤＦファイルは、文書の特定のページの内容の一部または全部を描画するためのオブジェクトを含み、当該オブジェクトは文書内で表示される順序によらずにファイル内において配列可能であり、前記オブジェクトのファイル内での位置情報および個々のページの内容がどのオブジェクトにより表示されるかについての情報等を参照することにより文書構造を解析することができるようになっている。
【０００５】
ところで、ＰＤＦファイルは、たとえば数百ページものデータを有している場合がある。このような特にデータサイズの大きいＰＤＦファイルをパソコンでプリントデータに変換すると、変換に時間がかかること、処理が複雑になること、および変換によりデータサイズが大きくなってデータ転送時間が増えること等の理由により、パソコンの負荷が増大することになる。かかるパソコンの負荷を軽減するために、プリントデータに変換せずにパソコンから送信されたＰＤＦファイルを直接印刷すること（以下、「ＰＤＦダイレクトプリント」という）が可能なプリンタが提案されている。
【０００６】
しかし、ＰＤＦファイルは各々のページの内容を描画するオブジェクトが文書内で表示される順序によらずにファイル内において配列されており、しかもオブジェクトのファイル内での位置を示す参照情報がファイルの末尾部分に配置されているため、プリンタはＰＤＦファイル全体を受信した後でないと印刷することができない。このため、プリンタは、搭載されるメモリの容量（使用可能容量ないし空き容量）が足りないためにＰＤＦファイル全体を受信できず、印刷を実行できない場合があった。
【０００７】
この問題に関連して、ＰＤＦファイル全体を受信しなくても受信したデータから順にディスプレイ上での表示が可能となるように、ＰＤＦファイルの中身を変更して再構成する装置が知られている（例えば、特許文献１参照。）。
【０００８】
【特許文献１】
特表平１１−５０２９５４号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、上記特許文献１に記載の装置にあっては、結果的に、ファイル転送前にパソコン等の送信側で、ＰＤＦファイルを再構成するための複雑な処理が必要となってしまう。したがって、上記装置の技術は、ＰＤＦファイルをＰＳ等のＰＤＬで記述されたプリントデータに変換することと比較して、パソコンの負荷の軽減を図ることにならないという問題がある。しかも、上記技術は、ディスプレイ上での表示に関する技術に過ぎないため、プリンタでの印刷に関しては十分な考慮が払われていない。
【００１０】
本発明は、上述の課題を解決するためになされたものであり、その目的とするところは、記憶部の使用可能容量が少ない場合であっても、ＰＤＦファイル等の文書ファイルをダイレクトに受信して画像形成することが可能となる画像形成装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【００１２】
（１）文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置であって、
前記文書ファイルの構成データを順次受信する受信手段と、
前記受信手段により受信した前記構成データを記憶する記憶手段と、
前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは２つ以上を組み合わせて前記文書内で表示される順序によらずに画像形成して出力する画像形成手段と、
を有する画像形成装置。
【００１３】
（２）前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する識別名付与手段をさらに有し、
前記画像形成手段は、前記識別名付与手段により付与した前記オブジェクトの識別名とともに前記オブジェクトを画像形成して出力するものである（１）に記載の画像形成装置。
【００１４】
（３）前記文書の個々のページに含まれる前記オブジェクトの識別名についての情報を出力する識別名情報出力手段をさらに有する（１）または（２）に記載の画像形成装置。
【００１５】
（４）前記画像形成手段は、前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に前記オブジェクトを画像形成して出力するものである（１）〜（３）のいずれか１つに記載の画像形成装置。
【００１６】
（５）前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除する削除手段をさらに有する（１）〜（４）のいずれか１つに記載の画像形成装置。
【００１７】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１８】
図１は、本発明の第１の実施形態にかかる画像形成装置が適用された画像処理システムの全体構成を示すブロック図である。図１に示すように、本実施形態にかかる画像処理システムは、画像形成装置としてのプリンタ１０Ａと、画像処理装置としてのパソコン２０とを備え、これらはネットワーク３０を介して相互に通信可能に接続されている。なお、ネットワークに接続される機器の種類および台数は、図１に示す例に限定されない。また、プリンタ１０Ａは、ネットワーク３０を介することなく、パソコン２０と直接機器間で接続（ローカル接続）されていてもよい。
【００１９】
図２は、本実施形態にかかるプリンタ１０Ａの構成を示すブロック図である。図２において、プリンタ１０Ａは、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、操作パネル部１０４、印刷部１０５およびネットワークインタフェース１０６を備えており、これらは信号をやり取りするためのバス１０７を介して相互に接続されている。
【００２０】
ＣＰＵ１０１は、プログラムにしたがって上記各部の制御や各種の演算処理等を行う。ＲＯＭ１０２は、各種プログラムやパラメータを格納する。ＲＡＭ１０３は、作業領域として一時的にプログラムやデータを記憶する。本実施形態において、プリンタ１０Ａは後述する所定の動作を行うが、このためのプリンタ１０Ａの動作を制御するプログラムはＲＯＭ１０２に格納されており、動作開始の際にＲＡＭ１０３に読み出されてＣＰＵ１０１によって実行される。
【００２１】
操作パネル部１０４は、表示パネル、固定キー、表示ランプ等で構成されており、各種の入力と表示を行うために使用される。
【００２２】
印刷部１０５は、ビットマップデータに展開された印刷データを設定条件に従って印刷する。
【００２３】
ネットワークインタフェース１０６は、ネットワークに接続しネットワーク上の他の機器と通信するためのインタフェースである。
【００２４】
パソコン２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、各種プログラムやデータを記憶するハードディスク、各種の表示を行うディスプレイ、キーボードやマウス等各種入力を行う入力装置、ネットワークインタフェース等がバスを介して相互に接続されてなる。パソコン２０のハードディスクには、後述するように、通常プリントを実行するためのプリンタドライバの他に、ＰＤＦダイレクトプリントを実行するための専用ソフトウエアがインストールされている。
【００２５】
ネットワーク３０は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮや、ＬＡＮ同士を専用線で接続したＷＡＮ等からなる。
【００２６】
本実施形態にかかる画像処理システムでは、プリンタとパソコンとの間のデータ通信プロトコルとして、双方向通信が可能で、ジョブごとにセッションを確立することができ、ファイル内の任意の部分のデータを送信可能な所定のプロトコル、たとえば、Ｒａｗ（ＴＣＰ／ＩＰ  ９１００）、ＬＰＲ（Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｒｅｍｏｔｅ）、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）等の各種プロトコルを使用することができる。ただし、独自のプロトコルが使用されてもよい。
【００２７】
本実施形態にかかる画像処理システムでは、通常プリントと、ＰＤＦダイレクトプリントの２種類の印刷が実行可能である。通常プリントが実行される場合、印刷処理にかかるファイルは、パソコン２０のプリンタドライバによって、パソコン２０においてページ記述言語で記述されたプリントデータに変換された後、プリンタ１０Ａに送信される。一方、ＰＤＦダイレクトプリントが実行される場合、印刷処理にかかるＰＤＦファイルは、パソコン２０の専用ソフトウエアによって、パソコン２０でプリントデータに変換されることなく、パソコン２０からプリンタ１０Ａに送信される。以下、本実施形態では、本発明の特徴であるＰＤＦダイレクトプリントの処理について説明するものとする。
【００２８】
次に、図３および図４を参照して、標準的なＰＤＦファイルの構造および解析方法について簡単に説明する。図３は、標準的なＰＤＦファイルの構成を説明するための図、図４は、ＰＤＦファイルのサンプルを示す図である。なお、図３および図４は、「ＰＤＦ  Ｒｅｆｅｒｅｎｃｅ  ｔｈｉｒｄ  ｅｄｉｔｉｏｎ  Ａｄｏｂｅ  Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ  Ｖｅｒｓｉｏｎ  １．４」（アドビシステムズ社）を参考にして作成されている。
【００２９】
図３および図４に示すように、標準的なＰＤＦファイル４１は、ヘッダ４１１、ボディ４１２、相互参照表４１３、およびトレーラ４１４から構成される。
【００３０】
ヘッダ４１１には、「％」で始まるコメントが記述される。図４のヘッダ４１１から、ファイルのフォーマットがＰＤＦであること、および準拠するＰＤＦ仕様のバージョン（ここでは１．４）がわかる。
【００３１】
ボディ４１２は、複数のオブジェクトから構成される（図４ではオブジェクト１〜６）。オブジェクトとは、文書を構成する個々の要素をいう。
【００３２】
最初のオブジェクト１は、「１  ０  ｏｂｊ」から「ｅｎｄｏｂｊ」までの記述により定義され、他のオブジェクトも同様に定義される。ここで、たとえば「１  ０  ｏｂｊ」における最初の数字およびその次の数字は、それぞれオブジェクトの番号（ＩＤ）および世代番号（ｇｅｎｅｒａｔｉｏｎ）を表す。
【００３３】
オブジェクトには、カタログオブジェクト、ページ一覧オブジェクト、ページオブジェクト、コンテンツオブジェクト、リソースオブジェクト、フォントオブジェクト、フォント情報オブジェクト等がある。
【００３４】
カタログオブジェクトは、ＰＤＦファイルのオブジェクト階層構造のルートとなるオブジェクトである。カタログオブジェクトは、オブジェクトの「／Ｔｙｐｅ」属性が「／Ｃａｔａｌｏｇ」となっており、「／Ｐａｇｅｓ」属性によりページ一覧オブジェクトが参照されている。
【００３５】
ページ一覧オブジェクトは、カタログオブジェクトにより参照されるＰＤＦファイルのページ一覧を持つオブジェクトである。ページ一覧オブジェクトの「／Ｔｙｐｅ」属性は「／Ｐａｇｅｓ」であり、「／Ｃｏｕｎｔ」属性により当該ＰＤＦファイルに含まれるページオブジェクトの個数、すなわち、当該ＰＤＦファイルのページ数が示されている。また、「／Ｋｉｄｓ」属性により各ページオブジェクトが参照されるともに、各ページオブジェクトのページ順位、すなわち、各ページオブジェクトが示すページが文章全体の何ページ目に当たるのかが示されている。
【００３６】
ページオブジェクトは、ページ一覧オブジェクトにより参照される特定のページを構成するのに必要な情報が記述されたオブジェクトである。ページオブジェクトの「／Ｔｙｐｅ」属性は「／Ｐａｇｅ」であり、「／Ｃｏｎｔｅｎｔｓ」属性によりコンテンツオブジェクトが参照されている。
【００３７】
コンテンツオブジェクトは、ページオブジェクトにより参照される特定のページの中身、すなわち文字、図形、画像等を描画するための命令やデータが既述されたコンテンツストリームを含むオブジェクトである。すなわち、コンテンツオブジェクトは、文字、図形、画像等を描画するためのデータ、すなわち、テキストデータ、ベクタデータ、ラスタデータ等に加え、文字、図形、画像等のページ内での位置やサイズを指定する座標系や色の指定等の命令を含んでいる。
【００３８】
リソースオブジェクトは、ページオブジェクトで参照される当該ページで使用されるオペレータ、フォント、色空間の定義情報や、複数ページで共通に使用する画像やパターン等の情報が記述されたオブジェクトであり、フォントオブジェクトは、フォントの定義が記述されたオブジェクトであり、フォント情報オブジェクトは、フォントの幅や高さ等の幾何学情報が記述されたオブジェクトである。
【００３９】
なお、図４において、オブジェクト１はカタログオブジェクト、オブジェクト３はページ一覧オブジェクト（図４の場合、文書は１ページのみで構成される）、オブジェクト４はページオブジェクト、オブジェクト５はコンテンツオブジェクト、オブジェクト６はリソースオブジェクトである。
【００４０】
相互参照表４１３は、ＰＤＦファイル内におけるオブジェクトの位置を示す参照情報である。相互参照表４１３において、各オブジェクトの位置がオフセットで表される。ここで、オフセットとは、ファイル先頭から注目するデータの先頭までのバイト数をいう。これにより、ボディ４１２に並んでいるオブジェクトに対して、ランダムにアクセスすることが可能となる。この相互参照表４１３は、ＰＤＦファイル中では、「ｘｒｅｆ」というキーワードを含む行で始まる。
【００４１】
トレーラ４１４は、ＰＤＦファイルの解析開始時にアクセスすべき情報である。具体的には、トレーラ４１４には、ＰＤＦファイル内における相互参照表４１３の位置を示す情報、および最初に参照すべきオブジェクト（階層構造のルートとなるルートオブジェクト、すなわちカタログオブジェクト）の番号が記述される。すなわち、「ｓｔａｒｔｘｒｅｆ」の次に示される数字は、相互参照表４１３のオフセットであり、また、「／Ｒｏｏｔ」属性により、ルートオブジェクトが示されている。さらに、「／Ｓｉｚｅ」属性により、相互参照表４１３の最初のエントリ（オブジェクトのＩＤ番号が「０」）を含めて、ファイル内に存在するオブジェクトの個数が示されている。このトレーラ４１４は、ファイルの末尾部分に存在し、「ｔｒａｉｌｅｒ」というキーワードを含む行で始まる。
【００４２】
ＰＤＦファイルを解析する装置は、標準的なＰＤＦファイルを解析する場合、まずファイルの末尾部分にあるトレーラ４１４を解析し、次いで相互参照表４１３を解析する。そして、これらの解析で得られた情報に基づいて、ボディ４１２に記述されたページの内容を解析することができる。オブジェクトには、次に必要となるデータが記述された別のオブジェクトの番号が含まれている。このため、次に必要なオブジェクトの番号をたどることにより、ＰＤＦファイルの全体的な解析が可能となる。したがって、オブジェクトは、ＰＤＦファイルのボディ内においてオブジェクト単位で任意の順序で記述されることができ、結果として、文書内における順序かかわらずファイル内において配列可能となる。
【００４３】
次に、本実施形態にかかる画像処理システムの動作の概要について説明する。図５〜図７は、本実施形態にかかるプリンタ１０Ａの画像形成処理の手順を示すプロ−チャートである。図５において、まず、パソコン２０は、ユーザによるＰＤＦダイレクトプリントの実行の指示を受け付けて、印刷ジョブとして印刷しようとするＰＤＦファイルの構成データをプリンタ１０Ａに順次送信する。プリンタ１０Ａは、パソコン２０から送信されたＰＤＦファイルの構成データを順次受信して（Ｓ１０１）、受信したデータをＲＡＭ１０３に保存する（Ｓ１０２）。そして、メモリオーバーフローが発生しない限り前記構成データの受信を繰り返して前記構成データをＲＡＭ１０３に蓄積し（（Ｓ１０３のＮＯ、Ｓ１０４のＮＯ、Ｓ１０１およびＳ１０２）、前記構成データを全て受信し終えると（Ｓ１０３のＮＯおよびＳ１０４のＹＥＳ）、ＲＡＭ１０３に保存されたＰＤＦファイルを解析して（Ｓ１０５）、印刷イメージ（ビットマップデータ）に変換して印刷出力する（Ｓ１０６）。
【００４４】
ここで、メモリオーバーフローとは、メモリ（ＲＡＭ１０３）の所定のデータ保存領域が満杯となってそれ以上データを保存することができなくなる状態をいう。ただし、ステップＳ１０３においては、実際にメモリオーバーフローが発生していなくても、前記データ保存領域の使用量が規定値を超えた場合にメモリオーバーフローと判断するものであってもよい。
【００４５】
ＰＤＦファイルの構成データの受信中にメモリオーバーフローが発生した場合には（Ｓ１０３のＹＥＳ）、ステップＳ１０７に進んで、オブジェクト情報テーブルを初期化する。ここで、オブジェクト情報テーブルとは、ＰＤＦファイルの構成データ中に含まれるオブジェクトの各種情報を管理するためのテーブルである。オブジェクト情報テ―ブルの内容および使用方法については後述する。
【００４６】
次に、その時点までにＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出し（Ｓ１０８）、読み出したデータがコンテンツオブジェクトにかかるものである場合には（Ｓ１０９のＹＥＳ）、当該コンテンツオブジェクトに識別名を付して、当該コンテンツオブジェクトの情報をオブジェクト情報テーブルに登録する（Ｓ１１０）。次いで、当該コンテンツオブジェクトを解析して（Ｓ１１１）、印刷イメージに変換して識別名とともに印刷出力する（Ｓ１１２）。そして、当該コンテンツオブジェクトのデータをＲＡＭ１０３から削除し（Ｓ１１３）、ＰＤＦファイルの構成データのすべてを受信していない場合は（Ｓ１１４のＮＯ）、当該コンテンツオブジェクトのデータを削除して得られたＲＡＭ１０３の空き容量内で続きのデータを受信してＲＡＭ１０３に保存し（Ｓ１１５）、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ１０８）。ステップＳ１１４で、既にＰＤＦファイルの構成データのすべてを受信している場合は（Ｓ１１４のＹＥＳ）、そのままＲＡＭ１０３に保存されている残りのデータの先頭を読み出す（Ｓ１０８）。
【００４７】
また、ステップＳ１０８で読み出したデータがページオブジェクトにかかるものである場合は（Ｓ１０９のＮＯおよびＳ１１６のＹＥＳ）、当該ページオブジェクトの情報をオブジェクト情報テーブルに登録し（Ｓ１１７）、当該ページオブジェクトのデータをＲＡＭ１０３から削除して（Ｓ１１８）、ステップＳ１１４およびＳ１１５の手順を経て、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ１０８）。
【００４８】
さらに、ステップＳ１０８で読み出したデータがページ一覧オブジェクトにかかるものである場合は（Ｓ１０９のＮＯ、Ｓ１１６のＮＯおよびＳ１１９のＹＥＳ）、当該ページ一覧オブジェクトの情報をオブジェクト情報テーブルに登録し（Ｓ１２０）、当該ページ一覧オブジェクトのデータをＲＡＭ１０３から削除して（Ｓ１２１）、ステップＳ１１４およびＳ１１５の手順を経て、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ１０８）。
【００４９】
一方、ステップＳ１０８で読み出したデータがコンテンツオブジェクト、ページオブジェクトまたはページ一覧オブジェクトのいずれにかかるものでもない場合、すなわち上記以外のオブジェクト（リソースオブジェクトやフォントオブジェクト等）やヘッダ、相互参照表、トレーラ等にかかるデータである場合は（Ｓ１０９のＮＯ、Ｓ１１６のＮＯおよびＳ１１９のＮＯ）、当該データをＲＡＭ１０３から削除して（Ｓ１２２）、当該データがＰＤＦファイルの末尾データでない場合（Ｓ１２３のＮＯ）、ステップＳ１１４およびＳ１１５の手順を経て、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ１０８）。そして、ステップＳ１２２で削除したデータがＰＤＦファイルの末尾データである場合は（Ｓ１２３のＹＥＳ）、オブジェクト情報テーブルを参照して目次を作成し（Ｓ１２４）、作成した目次を印刷出力して（Ｓ１２５）、画像形成処理を終了する。
【００５０】
次に、本実施形態にかかるプリンタ１０Ａの画像形成処理の手順を、具体例をもってさらに詳細に説明する。図８は、パソコン２０がプリンタ１０Ａに送信したＰＤＦファイルの構造を示す図である。図８において、ＰＤＦファイル４２は、先頭のヘッダから末尾のトレーラまでの各データがこの順序で配列されて構成されているものとする。ボディに含まれるオブジェクトに付されている数字は当該オブジェクトの番号（ＩＤ）を表し、括弧書きは当該オブジェクトの種別を表している。
【００５１】
図９は、プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こさなかった場合（図５のフローチャートにおけるＳ１０１〜Ｓ１０３のＮＯおよびＳ１０４〜Ｓ１０６）のプリンタ１０Ａの出力結果を示す図である。この場合、プリンタ１０Ａは、通常のＰＤＦダイレクトプリントと同様にして、パソコン２０からＰＤＦファイルの構成データのすべてを受信し（Ｓ１０１〜Ｓ１０３のＮＯおよびＳ１０４）、受信したＰＤＦファイル４２を解析して（Ｓ１０５）、印刷出力する（Ｓ１０６）。印刷物５１１はＰＤＦファイル４２の第１ページ、印刷物５１２は第２ページの出力結果をそれぞれ表している。すなわち、ＰＤＦファイル４２は全２ページからなり、オブジェクト１、３、５、７、８および１３の６つのコンテンツオブジェクトを含み、第１ページはオブジェクト３、５および７、第２ページはオブジェクト１、８および１３を、それぞれ図９に示した位置関係で含んでいるものとする。
【００５２】
図１０〜図１３は、プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合（図５〜図７のフローチャートにおけるＳ１０１〜Ｓ１０３のＹＥＳおよびＳ１０７〜Ｓ１２５）のオブジェクト情報テーブルの登録状況を段階的に示した図であり、図１４は、かかる場合のプリンタ１０Ａの出力結果を示す図である。
【００５３】
ここで、プリンタ１０Ａは、パソコン２０からＰＤＦファイル４２の構成データのうちヘッダおよびオブジェクト１〜７までのデータを受信した時点でメモリオーバーフローを起こしたものとする（Ｓ１０４のＹＥＳ）。プリンタ１０Ａは、オブジェクト情報テーブルを初期化した後（Ｓ１０７）、ＲＡＭ１０３に保存されている上記データのうち、まず先頭データであるヘッダを読み出す（Ｓ１０８）。次いで、ヘッダは、コンテンツオブジェクト、ページオブジェクトおよびページ一覧オブジェクトのいずれでもないので（Ｓ１０９のＮＯ、Ｓ１１６のＮＯおよびＳ１１９のＮＯ）、ヘッダのデータをＲＡＭ１０３から削除する（Ｓ１２２）。そして、ヘッダはＰＤＦファイル４２の末尾データではなく（Ｓ１２３のＮＯ）、また、ＰＤＦファイル４２の構成データの全部を受信していないので（Ｓ１１４のＮＯ）、ＲＡＭ１０３の空き容量分だけ続きのＰＤＦファイル４２の構成データを受信して（Ｓ１１５）、ＲＡＭ１０３内で次に先頭となったオブジェクト１のデータを読み出す（Ｓ１０８）。
【００５４】
次に、オブジェクト１はコンテンツオブジェクトなので（Ｓ１０９のＹＥＳ）、オブジェクト１に識別名を付してオブジェクト１の情報をオブジェクト情報テーブルに登録する（Ｓ１１０）。図１０は、この時点でのオブジェクト情報テーブルの登録状況を示している。ここで、オブジェクト情報テーブルには、オブジェクトの情報としてオブジェクト種別、オブジェクト番号、オブジェクト識別名、ページ番号、ページオブジェクト番号、コンテンツオブジェクト番号等が含まれている。ページ番号は、コンテンツオブジェクトの場合は当該コンテンツオブジェクトが含まれるＰＤＦファイルのページ番号を表し、ページオブジェクトの場合は当該ページオブジェクトにより表示されるＰＤＦファイルのページ番号を表す。ページオブジェクト番号は、コンテンツオブジェクトの場合は当該コンテンツオブジェクトが含まれるページオブジェクトの番号を表し、ページ一覧オブジェクトの場合は当該ＰＤＦファイルの各ページを表示するページオブジェクトの番号（番号の順序はページ順位）を表す。また、コンテンツオブジェクト番号は、ページオブジェクトの場合に当該ページオブジェクトに含まれるコンテンツオブジェクトの番号を表している。オブジェクト情報テーブル６１１には、オブジェクト１の情報として、オブジェクト種別が「コンテンツオブジェクト」であり、オブジェクト番号が「１」であり、オブジェクト識別名が「コンテンツ１」であることが登録されている。また、この時点では、オブジェクト１にかかるページ番号およびページオブジェクト番号の情報はわかっていないので、これらの情報は「不明」と登録されている。
【００５５】
次いで、プリンタ１０Ａは、オブジェクト１のデータを解析して（Ｓ１１１）、オブジェクト１の内容を識別名とともに印刷する（Ｓ１１２）。図１４における印刷物５２１は、この時点におけるプリンタ１０Ａの出力結果を示したものである。印刷物５２１には、オブジェクト１の識別名である「コンテンツ１」の文字列とともに、オブジェクト１の内容にかかる文字、図形、画像等が出力されている。コンテンツオブジェクトには、前述のとおり、文字、図形、画像等のページ内での位置やサイズを指定する座標系の命令が含まれているので、印刷物５２１おいて、オブジェクト１の内容にかかる文字、図形、画像等は、ページ内での位置およびサイズが正しく反映されて出力される。なお、印刷物５２１では、オブジェクト１の識別名を用紙のヘッダ部に出力しているが、本実施形態においてコンテンツオブジェクトの識別名の出力位置は特に限定されるものではなく、例えばコンテンツオブジェクトの内容の出力部分の上部または下部に付記する形態で出力するものであってもよい。
【００５６】
そして、プリンタ１０Ａは、オブジェクト１のデータをＲＡＭ１０３から削除し（Ｓ１１３）、未だＰＤＦファイル４２の構成データの全部を受信していない場合は（Ｓ１１４のＮＯ）、ＲＡＭ１０３の空き容量分だけ続きのＰＤＦファイルの構成データを受信して（Ｓ１１５）、ＲＡＭ１０３内で次に先頭となったオブジェクト２のデータを読み出す（Ｓ１０８）。
【００５７】
以下同様にして処理を進めて行き、次に、ＲＡＭ１０３内でオブジェクト４のデータが先頭となった場合について説明する。オブジェクト４はページオブジェクトであるので（Ｓ１０９のＮＯおよびＳ１１６のＹＥＳ）、オブジェクト４の情報をオブジェクト情報テーブルに登録する（Ｓ１１７）。図１１は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル６１２には、オブジェクト４の情報として、オブジェクト種別が「ページオブジェクト」であり、オブジェクト番号が「４」であること、およびコンテンツオブジェクト番号が「３、５、７」であること、すなわちオブジェクト４により表示されるページにはコンテンツオブジェクトであるオブジェクト３、５および７の内容が含まれることが登録されている。また、この時点では、オブジェクト４により表示されるページ番号の情報はわかっていないので、ページ番号は「不明」と登録されている。さらに、コンテンツオブジェクト番号が「３、５、７」であるという情報、すなわち、オブジェクト４にコンテンツオブジェクトであるオブジェクト３が含まれるという情報に基づいて、既に登録されているオブジェクト３に関し、それまで不明であったオブジェクト３のページオブジェクト番号の情報を「４」に更新する。そして、オブジェクト４のデータをＲＡＭ１０３から削除し（Ｓ１１８）、ＲＡＭ１０３内で次に先頭となったデータを読み出す（Ｓ１０８）。
【００５８】
さらに、ＲＡＭ１０３内でオブジェクト９のデータが先頭となった場合について次に説明する。オブジェクト９はページ一覧オブジェクトであるので（Ｓ１０９のＮＯ、Ｓ１１６のＮＯおよびＳ１１９のＹＥＳ）、オブジェクト９の情報をオブジェクト情報テーブルに登録する（Ｓ１２０）。図１２は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル６１３には、オブジェクト９の情報として、オブジェクト種別が「ページ一覧オブジェクト」であり、オブジェクト番号が「９」であること、およびページオブジェクト番号が「４、１１」であること、すなわちＰＤＦファイル４２が全２ページからなり、第１ページがページオブジェクトであるオブジェクト４、第２ページがページオブジェクトであるオブジェクト１１によりそれぞれ表示されることが登録されている。また、ページオブジェクト番号が「４、１１」であるという情報、すなわち、ページオブジェクトであるオブジェクト４がＰＤＦファイル４２の第１ページを表示するという情報に基づいて、既に登録されているオブジェクト３、４、５および７に関し、それまで不明であったページ番号の情報を「１」に更新する。そして、オブジェクト９のデータをＲＡＭ１０３から削除し（Ｓ１２１）、ＲＡＭ１０３内で次に先頭となったデータを読み出す（Ｓ１０８）。
【００５９】
このようにして、ＰＤＦファイル４２のヘッダ、ボディのオブジェクト１〜１３および相互参照表が順次処理され、その結果として、ヘッダ、カタログオブジェクトであるオブジェクト２、リソースオブジェクトであるオブジェクト６、フォントオブジェクトであるオブジェクト１０、フォント情報オブジェクトであるオブジェクト１２および相互参照表のデータがＲＡＭ１０３から削除される。また、コンテンツオブジェクトであるオブジェクト１、３、５、７、８および１３は、それぞれ識別名「コンテンツ１」、「コンテンツ２」、「コンテンツ３」、「コンテンツ４」、「コンテンツ５」および「コンテンツ６」が付されてオブジェクト情報テーブルに登録されるとともに、オブジェクトの内容が識別名とともに印刷される。図１３はオブジェクト情報テーブルの最終的な登録状況を示している。また、図１４の印刷物５２１〜５２６は、プリンタ１０Ａによるオブジェクト１、３、５、７、８および１３の出力結果を示している。
【００６０】
そして、最終的に、ＲＡＭ１０３内の最後のデータとなるトレーラが読み出され（Ｓ１０８）、ＲＡＭから削除される（Ｓ１０９のＮＯ、Ｓ１１６のＮＯ、Ｓ１１９のＮＯおよびＳ１２２）。トレーラはＰＤＦファイル４２の末尾データであるので（Ｓ１２３のＹＥＳ）、オブジェクト情報テーブル６１４（図１３）を参照してＰＤＦファイル４２の目次を作成し（Ｓ１２４）、作成した目次を印刷する（Ｓ１２５）。図１４の印刷物５２７は、プリンタ１０Ａによる目次の出力結果を示している。すなわち、印刷物５２７には、ＰＤＦファイル４２の目次として、第１ページが「コンテンツ２」、「コンテンツ３」、および「コンテンツ４」の識別名で出力した印刷物、すなわち、印刷物５２２、５２３および５２４の内容を含むこと、第２ページが「コンテンツ１」、「コンテンツ５」、および「コンテンツ６」の識別名で出力した印刷物、すなわち、印刷物５２１、５２５および５２６の内容を含むことが記載されている。これにより、プリンタ１０ＡがＰＤＦファイル４２の受信中にメモリオーバーフローを生じた場合であっても、ユーザは、プリンタ１０Ａにより出力された印刷物５２７の目次の情報をもとに、印刷物５２１〜５２６を組み合わせることにより、ＰＤＦファイル４２の文書の内容を正確に知ることができる。また、必要であれば、印刷物５２１〜５２６における各オブジェクトの出力部分を、その位置を考慮して切り貼りしたり、スキャナで読み取って重ね合わせた後出力したりすることにより、ＰＤＦファイル４２の印刷物をほぼ完全な形で復元することができるものである。
【００６１】
次に、本発明の第２の実施形態について説明する。本実施形態にかかるプリンタ１０Ｂは、前記第１の実施形態にかかるプリンタ１０Ａと同様の構成を有し（図２参照）、プリンタ１０Ａと同様にネットワーク３０を介してパソコン２０と相互に通信可能に接続されている（図１参照）。図１５〜１８は、本実施形態にかかるプリンタ１０Ｂの画像形成処理の手順を示すフローチャートである。図１５において、プリンタ１０Ｂが、パソコン２０からメモリオーバーフローを発生させないでＰＤＦファイルの構成データのすべてを受信した場合の動作（Ｓ２０１〜Ｓ２０３ＮＯおよびＳ２０４〜Ｓ２０６）については、前記第１の実施形態にかかるプリンタ１０Ａの動作（Ｓ１０１〜Ｓ１０３ＮＯおよびＳ１０４〜Ｓ１０６）と同様であるので説明を省略する。
【００６２】
ＰＤＦファイルの構成データの受信中にメモリオーバーフローが発生した場合には（Ｓ２０３のＹＥＳ）、プリンタ１０Ｂは、オブジェクト情報テーブルを初期化した後（Ｓ２０７）、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ２０８）。読み出したデータがコンテンツオブジェクトにかかるものである場合には（Ｓ２０９のＹＥＳ）、オブジェクト情報テーブルを参照して、オブジェクト情報テーブルに当該コンテンツオブジェクトが登録されていない場合は（Ｓ２１０のＮＯ）、当該コンテンツオブジェクトに識別名を付して、当該コンテンツオブジェクトの情報をオブジェクト情報テーブルに登録する（Ｓ２１１）。次いで、当該コンテンツオブジェクトを解析し（Ｓ２１２）、印刷イメージに変換して識別名とともに印刷出力する（Ｓ２１３）。また、ステップＳ２１０で、オブジェクト情報テーブルに既に当該コンテンツオブジェクトが登録されている場合は（Ｓ２１０のＹＥＳ）、直ちに当該コンテンツオブジェクトを解析して（Ｓ２１２）、印刷イメージに変換し、オブジェクト情報テーブルに登録されている当該コンテンツオブジェクトの識別名とともに印刷出力する（Ｓ２１３）。そして、当該コンテンツオブジェクトのデータをＲＡＭ１０３から削除し（Ｓ２１４）、ＰＤＦファイルの構成データのすべてを受信していない場合は（Ｓ２１５のＮＯ）、当該コンテンツオブジェクトのデータを削除して得られたＲＡＭ１０３の空き容量内で続きのデータを受信してＲＡＭ１０３に保存し（Ｓ２１６）、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ２０８）。ステップＳ２１５で、既にＰＤＦファイルの構成データのすべてを受信している場合は（Ｓ２１５のＹＥＳ）、そのままＲＡＭ１０３に保存されている残りのデータの先頭を読み出す（Ｓ２０８）。
【００６３】
また、ステップＳ２０８で読み出したデータがページオブジェクトにかかるものである場合は（Ｓ２０９のＮＯおよびＳ２１７のＹＥＳ）、オブジェクト情報テーブルを参照して、オブジェクト情報テーブルに当該ページオブジェクトが登録されていない場合は（Ｓ２１８のＮＯ）、当該ページオブジェクトに識別名を付して、当該ページオブジェクトの情報をオブジェクト情報テーブルに登録する（Ｓ２１９）。また、オブジェクト情報テーブルに当該ページオブジェクトに含まれるコンテンツオブジェクトの一部または全部が登録されていない場合は（Ｓ２２０のＮＯ）、未登録のコンテンツオブジェクトに識別名を付して、オブジェクト番号とともにオブジェクト情報テーブルに登録する（Ｓ２２１）。次いで、当該ページオブジェクトの識別名とともに、当該ページオブジェクトに含まれるすべてのコンテンツオブジェクトの識別名を印刷出力する（Ｓ２２２）。なお、ステップＳ２１８でオブジェクト情報テーブルに既に当該ページオブジェクトが登録されている場合（Ｓ２１８のＹＥＳ）、またはステップＳ２２０でオブジェクト情報テーブルに既に当該ページオブジェクトに含まれるコンテンツオブジェクトの一部または全部が登録されている場合は（Ｓ２２０のＮＯ）、ステップＳ２２２における当該ページオブジェクトの識別名またはコンテンツオブジェクトの識別名の印刷出力は、オブジェクト情報テーブルに登録されているものを用いて行う。そして、当該ページオブジェクトのデータをＲＡＭ１０３から削除して（Ｓ２２３）、ステップＳ２１５およびＳ２１６の手順を経て、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ２０８）。
【００６４】
さらに、ステップＳ２０８で読み出したデータがページ一覧オブジェクトにかかるものである場合は（Ｓ２０９のＮＯ、Ｓ２１７のＮＯおよびＳ２２４のＹＥＳ）、当該ページ一覧オブジェクトの情報をオブジェクト情報テーブルに登録し（Ｓ２２５）、オブジェクト情報テーブルにページオブジェクトの一部または全部が登録されていない場合は（Ｓ２２６のＮＯ）、未登録のページオブジェクトに識別名を付して、当該ページオブジェクトをオブジェクト情報テーブルに登録する（Ｓ２２７）。次いで、当該ページ一覧オブジェクトの情報をもとに、ページオブジェクトの識別名と該当するページ番号を印刷出力する（Ｓ２２８）。なお、ステップＳ２２６でオブジェクト情報テーブルに既にページオブジェクトの一部または全部が登録されている場合は（Ｓ２２６のＹＥＳ）、ステップＳ２２８における当該ページオブジェクトの識別名の印刷出力は、オブジェクト情報テーブルに登録されているものを用いて行う。そして、当該ページ一覧オブジェクトのデータをＲＡＭ１０３から削除して（Ｓ２２９）、ステップＳ２１５およびＳ２１６の手順を経て、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ２０８）。
【００６５】
一方、ステップＳ２０８で読み出したデータがコンテンツオブジェクト、ページオブジェクトまたはページ一覧オブジェクトのいずれにかかるものでもない場合は（Ｓ２０９のＮＯ、Ｓ２１７のＮＯおよびＳ２２４のＮＯ）、当該データをＲＡＭ１０３から削除して（Ｓ２３０）、当該データがＰＤＦファイルの末尾データでない場合（Ｓ２３１のＮＯ）、ステップＳ２１５およびＳ２１６の手順を経て、再度、ＲＡＭ１０３に保存されているＰＤＦファイルの構成データの先頭を読み出す（Ｓ２０８）。そして、ステップＳ２３０で削除したデータがＰＤＦファイルの末尾データである場合は（Ｓ２３１のＹＥＳ）、画像形成処理を終了する。
【００６６】
次に、本実施形態にかかるプリンタ１０Ｂの画像形成処理の手順を、具体例をもってさらに詳細に説明する。ここでは、前記第１の実施形態におけるプリンタ１０Ａの場合と同様にして、ＰＤＦファイル４２（図８参照）を受信して印刷出力する場合について説明する。プリンタ１０Ｂがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こさなかった場合（図１５のフローチャートにおけるＳ２０１〜Ｓ２０３のＮＯおよびＳ２０４〜Ｓ２０６）の出力結果については、図９に示すもの（印刷物５１１および５１２）と同様である。
【００６７】
図１９〜図２１は、プリンタ１０Ｂがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合（図１５〜図１８のフローチャートにおけるＳ２０１〜Ｓ２０３のＹＥＳおよびＳ２０７〜Ｓ２３１）のオブジェクト情報テーブルの登録状況を段階的に示した図であり、図２２は、かかる場合のプリンタ１０Ｂの出力結果を示す図である。
【００６８】
ここで、プリンタ１０Ｂは、パソコン２０からＰＤＦファイル４２の構成データのうちヘッダおよびオブジェクト１〜７までのデータを受信した時点でメモリオーバーフローを起こしたものとする（Ｓ２０４のＹＥＳ）。プリンタ１０Ｂは、オブジェクト情報テーブルを初期化した後（Ｓ２０７）、ＲＡＭ１０３に保存されている上記データのうち、まず先頭データであるヘッダを読み出す（Ｓ２０８）。次いで、ヘッダは、コンテンツオブジェクト、ページオブジェクトおよびページ一覧オブジェクトのいずれでもないので（Ｓ２０９のＮＯ、Ｓ２１７のＮＯおよびＳ２２４のＮＯ）、ヘッダのデータをＲＡＭ１０３から削除する（Ｓ２３０）。そして、ヘッダはＰＤＦファイル４２の末尾データではなく（Ｓ２３１のＮＯ）、また、ＰＤＦファイル４２の構成データの全部を受信していないので（Ｓ２１５のＮＯ）、ＲＡＭ１０３の空き容量分だけ続きのＰＤＦファイル４２の構成データを受信して（Ｓ２１６）、ＲＡＭ１０３内で次に先頭となったオブジェクト１のデータを読み出す（Ｓ２０８）。
【００６９】
次に、オブジェクト１はコンテンツオブジェクトであり（Ｓ２０９のＹＥＳ）、また、オブジェクト１はオブジェクト情報テーブルに未登録であるので（Ｓ２１０のＮＯ）、オブジェクト１に識別名を付してオブジェクト１の情報をオブジェクト情報テーブルに登録する（Ｓ２１１）。この時点でのオブジェクト情報テーブルの登録状況は、図１０に示すもの（オブジェクト情報テーブル６１１）と同様である。
【００７０】
次いで、オブジェクト１のデータを解析して（Ｓ２１２）、オブジェクト１の内容を識別名とともに印刷する（Ｓ２１３）。図２２における印刷物５３１は、この時点におけるプリンタ１０Ｂの出力結果を示している。
【００７１】
そして、プリンタ１０Ｂは、オブジェクト１のデータをＲＡＭ１０３から削除し（Ｓ２１４）、未だＰＤＦファイル４２の構成データの全部を受信していない場合は（Ｓ２１５のＮＯ）、ＲＡＭ１０３の空き容量分だけ続きのＰＤＦファイルの構成データを受信して（Ｓ２１６）、ＲＡＭ１０３内で次に先頭となったオブジェクト２のデータを読み出す（Ｓ２０８）。
【００７２】
以下同様にして処理を進めて行き、次に、ＲＡＭ１０３内でオブジェクト４のデータが先頭となった場合について説明する。オブジェクト４はページオブジェクトであり（Ｓ２０９のＮＯおよびＳ２１７のＹＥＳ）、また、オブジェクト４はオブジェクト情報テーブルに未登録であるので（Ｓ２１８のＮＯ）、オブジェクト４に識別名を付して、オブジェクト４の情報をオブジェクト情報テーブルに登録する（Ｓ２１９）。図１９は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル６２１には、オブジェクト４の情報として、オブジェクト種別が「ページオブジェクト」であり、オブジェクト番号が「４」であり、オブジェクト識別名が「ページＡ」であること、およびコンテンツオブジェクト番号が「３、５、７」であることが登録されている。また、この時点では、オブジェクト４により表示されるページ番号の情報はわかっていないので、ページ番号は「不明」と登録されている。さらに、コンテンツオブジェクト番号が「３、５、７」であるという情報、すなわち、オブジェクト４にコンテンツオブジェクトであるオブジェクト３、５および７が含まれるという情報に基づいて、未だ登録されていないオブジェクト５および７にそれぞれ「コンテンツ３」および「コンテンツ４」という識別名を付して、コンテンツオブジェクトとしてその情報をオブジェクト情報テーブルに登録するとともに（Ｓ２２０のＮＯおよびＳ２２１）、既に登録されているオブジェクト３に関し、それまで不明であったページオブジェクト番号の情報を「４」に更新する。
【００７３】
次いで、オブジェクト３、５および７の識別名をオブジェクト４の識別名とともに印刷出力する（Ｓ２２２）。図２２における印刷物５３３は、この時点におけるプリンタ１０Ｂの出力結果を示している。印刷物５３３には、オブジェクト４の識別名である「ページＡ」と、それぞれオブジェクト３、５および７の識別名である「コンテンツ２」、「コンテンツ３」および「コンテンツ４」の文字列が印刷されている。これにより、ユーザは、ＰＤＦファイル４２の特定のページである「ページＡ」が、「コンテンツ２」、「コンテンツ３」および「コンテンツ４」の内容を含むものであることを知ることができる。そして、プリンタ１０Ｂは、オブジェクト４のデータをＲＡＭ１０３から削除し（Ｓ２２３）、ＲＡＭ１０３内で次に先頭となったデータを読み出す（Ｓ２０８）。
【００７４】
さらに、ＲＡＭ１０３内でオブジェクト９のデータが先頭となった場合について次に説明する。オブジェクト９はページ一覧オブジェクトであるので（Ｓ２０９のＮＯ、Ｓ２１７のＮＯおよびＳ２２４のＹＥＳ）、オブジェクト９の情報をオブジェクト情報テーブルに登録する（Ｓ２２５）。図２０は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル６２２には、オブジェクト９の情報として、オブジェクト種別が「ページ一覧オブジェクト」であり、オブジェクト番号が「９」であり、オブジェクト識別名が「ページ一覧」であること、およびページオブジェクト番号が「４、１１」であることが登録されている。なお、ここではオブジェクト９に「ページ一覧」という識別名を付しているが、本実施形態においてはページ一覧オブジェクトに必ずしも識別名を付す必要はない。また、ページオブジェクト番号が「４、１１」であるという情報、すなわちＰＤＦファイル４２が全２ページからなり、ページオブジェクトであるオブジェクト４がＰＤＦファイル４２の第１ページを、オブジェクト１１が第２ページをそれぞれ表示するという情報に基づいて、未だ登録されていないオブジェクト１１に「ページＢ」という識別名を付して、ページオブジェクトとしてその情報をオブジェクト情報テーブルに登録するとともに（Ｓ２２６のＮＯおよびＳ２２７）、既に登録されているオブジェクト３、４、５および７に関し、それまで不明であったページ番号の情報を「１」に更新する。
【００７５】
次いで、ページオブジェクトであるオブジェクト４および１１の識別名とこれらにより表示されるＰＤＦファイル４２のページ番号をそれぞれ印刷出力する（Ｓ２２８）。図２２における印刷物５３７は、この時点におけるプリンタ１０Ｂの出力結果を示している。印刷物５３７には、オブジェクト９の識別名である「ページ一覧」とともに、オブジェクト４の識別名である「ページＡ」とページ番号の「１ページ」およびオブジェクト１１の識別名である「ページＢ」とページ番号の「２ページ」の文字列がそれぞれ組み合わされて印刷されている。これにより、ユーザは、ＰＤＦファイル４２の第１ページが「ページＡ」、第２ページが「ページＢ」でそれぞれ構成されるものであることを知ることができる。そして、プリンタ１０Ｂは、オブジェクト９のデータをＲＡＭ１０３から削除し（Ｓ２２９）、ＲＡＭ１０３内で次に先頭となったデータを読み出す（Ｓ２０８）。
【００７６】
このようにして、ＰＤＦファイル４２のヘッダ、ボディのオブジェクト１〜１３および相互参照表が順次処理され、その結果として、ヘッダ、カタログオブジェクトであるオブジェクト２、リソースオブジェクトであるオブジェクト６、フォントオブジェクトであるオブジェクト１０、フォント情報オブジェクトであるオブジェクト１２および相互参照表のデータがＲＡＭ１０３から削除される。また、コンテンツオブジェクトであるオブジェクト１、３、５、７、８および１３は、それぞれ「コンテンツ１」、「コンテンツ２」、「コンテンツ３」、「コンテンツ４」、「コンテンツ５」および「コンテンツ６」の識別名が付されてオブジェクト情報テーブルに登録されるとともに、オブジェクトの内容が識別名とともにそれぞれ印刷される。図２１はオブジェクト情報テーブルの最終的な登録状況を示している。また、図２２の印刷物５３１、５３２、５３４〜５３６および５３９は、プリンタ１０Ｂによるオブジェクト１、３、５、７、８および１３の出力結果を示している。さらに、ページオブジェクトであるオブジェクト４およびオブジェクト１１は、それぞれ「ページＡ」および「ページＢ」の識別名が付されてオブジェクト情報テーブルに登録されるとともに、当該オブジェクトの識別名と含んでいるコンテンツオブジェクトの識別名がそれぞれ印刷される。図２２の印刷物５３３および５３８は、プリンタ１０Ｂによるオブジェクト４および１１の出力結果を示している。
【００７７】
そして、最終的に、ＲＡＭ１０３内の最後のデータとなるトレーラを読み出して（Ｓ１０８）、ＲＡＭから削除し（Ｓ２０９のＮＯ、Ｓ２１７のＮＯ、Ｓ２２４のＮＯおよびＳ２３０）、画像処理を終了する（Ｓ２３１のＹＥＳ）。
【００７８】
これにより、図２２において、プリンタ１０ＢがＰＤＦファイル４２の受信中にメモリオーバーフローを生じた場合であっても、ユーザは、プリンタ１０Ｂにより出力された印刷物５３３、５３７および５３８の情報をもとに、印刷物５３１、５３２、５３４〜５３６および５３９を組み合わせることにより、ＰＤＦファイル４２の文書の内容を正確に知ることができる。また、必要であれば、印刷物５３１、５３２、５３４〜５３６および５３９における各オブジェクトの内容の出力部分を、その位置を考慮して切り貼り等することにより、ＰＤＦファイル４２の印刷物をほぼ完全な形で復元することができるものである。
【００７９】
図２３および２４は、それぞれ本発明の第３および第４の実施形態にかかるプリンタ１０Ｃおよび１０Ｄのメモリオーバーフロー時の出力結果を説明するための図である。プリンタ１０Ｃおよび１０Ｄは、前記第１の実施形態にかかるプリンタ１０Ａと同様の構成を有し（図２参照）、プリンタ１０Ａと同様にネットワーク３０を介してパソコン２０と相互に通信可能に接続されているものとする（図１参照）。また、図２３および２４では、前記第１および第２の実施形態の場合と同様にして、ＰＤＦファイル４２（図８参照）の受信中にメモリオーバーフローが発生した場合のプリンタ１０Ｃおよび１０Ｄの出力結果を示している。
【００８０】
本発明の第３の実施形態は、前記第２の実施形態の変形例である。本発明の第３の実施形態にかかるプリンタ１０Ｃの動作が前記第２の実施形態にかかるプリンタ１０Ｂの動作と異なるのは、受信したＰＤＦファイルの構成データ中のページオブジェクトを処理する場合において、ページオブジェクトに識別名を付してオブジェクト情報テーブルに登録した後、直ちに当該ページオブジェクトの識別名および当該ページオブジェクトに含まれるコンテンツオブジェクトの識別名を印刷出力するのではなく、当該ページオブジェクトに含まれるコンテンツオブジェクトのうち未処理のものがある場合は、当該未処理のコンテンツオブジェクトをすべて処理した後、当該未処理のコンテンツオブジェクトについては識別名を印刷する代わりにオブジェクトの内容を当該ページオブジェクトの識別名ともに印刷する点にある。
【００８１】
すなわち、図２３において、プリンタ１０Ｃは、前記第２の実施形態にかかるプリンタ１０Ｂと同様にしてＲＡＭ１０３内に保存されているＰＤＦファイル４２の構成データのうち先頭のものから順次処理して、オブジェクト１およびオブジェクト３の内容をそれぞれの識別名である「コンテンツ１」および「コンテンツ２」の文字列とともに印刷する（印刷物５４１および５４２参照）。次に、ページオブジェクトであるオブジェクト４の処理において、オブジェクト４に含まれるコンテンツオブジェクトのオブジェクト３、オブジェクト５およびオブジェクト７のうち、オブジェクト５およびオブジェクト７がその時点で未処理であるので、識別名の印刷を直ちには行わずに次のＲＡＭ１０３内の先頭データの処理に進む。そして、未処理のコンテンツオブジェクトのうち最後に処理されるオブジェクト７の処理時において、オブジェクト５およびオブジェクト７の内容をオブジェクト４の識別名である「ページＡ」の文字列とともに印刷する（印刷物５４３参照）。この際、既に出力しているオブジェクト３については、用紙の余白部に識別名の「コンテンツ２」の文字列を出力する。同様に、ページオブジェクトであるオブジェクト１１についても、オブジェクト１１に含まれるオブジェクト１、オブジェクト８およびオブジェクト１３のうち、未処理であるオブジェクト１３の処理時に、オブジェクト１１の内容ならびにそれぞれオブジェクト１およびオブジェクト８の識別名である「コンテンツ１」および「コンテンツ３」の文字列を、オブジェクト１１の識別名である「ページＢ」の文字列とともに印刷する（印刷物５４６参照）。これにより、ページオブジェクトの情報をただ出力するのではなくＰＤＦファイル４２の実際のページにおけるコンテンツオブジェクトの配列に近い状態で出力することができるとともに、前記第２の実施形態の場合に比べて、印刷物の出力部数を少なくすることができる。
【００８２】
本発明の第４の実施形態は、前記第１の実施形態の変形例である。本発明の第４の実施形態にかかるプリンタ１０Ｄの動作が前記第１の実施形態にかかるプリンタ１０Ａの動作と異なるのは、受信したＰＤＦファイルの構成データ中のコンテンツオブジェクトを処理する場合において、コンテンツオブジェクトに識別名を付してオブジェクト情報テーブルに登録した後、直ちにコンテンツオブジェクトの内容を印刷出力するのはなく、メモリ内に同一の用紙上に組み合わせて配置できるコンテンツオブジェクトがある場合は、複数のコンテンツオブジェクトの内容を組み合わせて同一用紙上に印刷出力する点にある。
【００８３】
すなわち、図２４において、プリンタ１０Ｄは、前記第１の実施形態にかかるプリンタ１０Ａと同様にしてＲＡＭ１０３内に保存されているＰＤＦファイル４２の構成データのうち先頭のものから順次処理する。そして、コンテンツオブジェクトであるオブジェクト１の処理において、オブジェクト１に識別名を付してオブジェクト１の情報をオブジェクト情報テーブルに登録した後、オブジェクト１のデータを解析して、サイズ情報のみを抽出してオブジェクト情報テーブルに記録し、コンテンツオブジェクトの内容は出力せずに、次のＲＡＭ１０３内の先頭データの処理に進む。同様にして、コンテンツオブジェクトであるオブジェクト３、オブジェクト５およびオブジェクト７についてのサイズ情報を取得する。そして、メモリオーバーフロー時にＲＡＭ１０３に保存されているＰＤＦファイル４２の構成データ（ヘッダおよびオブジェクト１〜７までのデータ）のすべてを処理した時点で、コンテンツオブジェクトのサイズ情報を比較し、オブジェクト１、オブジェクト３およびオブジェクト５を組み合わせてそれぞれこれらの識別名である「コンテンツ１」、「コンテンツ２」および「コンテンツ３」の文字列とともに同一用紙上に印刷出力する（印刷物５５１参照）。この際、オブジェクト１、オブジェクト３およびオブジェクト５は、効率よく組み合わせるため、位置情報は破棄されて例えば用紙の左上端から順に配置されて出力される。次いで、ＲＡＭ１０３からオブジェクト１、オブジェクト３およびオブジェクト５のデータを削除し、ＲＡＭ１０３の空き容量分だけ続きのＰＤＦファイルの構成データを順次受信する。以下、同様に処理して印刷物５６２および５６３を出力し、最後に前記第１の実施形態にかかるプリンタ１０Ａと同様の処理によりＰＤＦファイル４２の目次を作成して出力する。これにより、前記第１の実施形態の場合に比べて、コンテンツオブジェクトを効率よく組み合わせて出力することができ、印刷物の出力部数を少なくすることができるものである。
【００８４】
上記各実施形態では、受信したＰＤＦファイルの構成データに含まれるコンテンツオブジェクトの内容を出力する際に、同時に当該コンテンツオブジェクトに付した識別名を出力するとともに、個々のページに含まれるコンテンツオブジェクトの識別名についての情報を出力するものであったが、本発明はかかる形態に限定されるものではなく、例えば、コンテンツオブジェクトの内容を出力する際に、前記識別名および情報を出力しない構成としてもよい。かかる場合であっても、ユーザは取得したコンテンツオブジェクトについての印刷物をもとにＰＤＦファイルの文書の内容を概ね知ることができ、また、ＰＤＦファイルに含まれる画像データのみを取得したい場合等ＰＤＦファイルの出力目的によっては、必ずしも文書の正確な復元を要しない場合があるからである。
【００８５】
上記各実施形態では、プリンタがＰＤＦファイルを受信中にメモリオーバーフローが発生した場合に、自動的に受信したＰＤＦファイルの構成データに含まれるコンテンツオブジェクトをオブジェクトごとに画像形成するものであったが、本発明はかかる形態に限定されるものではなく、例えば、メモリオーバーフローが発生した場合に、プリンタの操作パネル部１０４やパソコン２０のディスプレイにその旨の通知を表示させ、ＰＤＦファイルの印刷を中止するか本発明の方法によりコンテンツオブジェクトごとに画像形成するかをユーザに選択させる構成とすることができる。また、プリンタがＰＤＦファイルを受信中にメモリオーバーフローを発生するか否かにかかわらずに、例えば事前に設定入力を受け付けることにより、通常のＰＤＦダイレクトプリントを行うか本発明の方法によりコンテンツオブジェクトごとに画像形成するかをユーザが任意に選択できる構成としてもよい。
【００８６】
また、上記各実施形態では、パソコンでの操作に基づいてパソコンからプリンタにＰＤＦファイルを送信する場合について説明したが、本発明はこれに限定されるものではない。本発明は、プリンタで印刷したいＰＤＦファイルの保存場所を指定することにより、印刷すべきＰＤＦファイルが保存されている保存装置から当該ＰＤＦファイルを取得してプリンタで印刷する場合にも適用することができる。
【００８７】
さらに、上記各実施形態では、本発明にかかる画像形成処理の対象をＰＤＦファイルのダイレクトプリントを例にして説明したが、本発明はこれに限定されるものではなく、ＰＤＦファイル以外にも、文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルであれば、いずれも本発明により処理することが可能である。
【００８８】
上記各実施形態では、本発明にかかる画像処理システムを、画像処理装置としてパソコン、および画像形成装置としてプリンタを例にして説明したが、本発明はこれに限定されるものではない。画像処理装置としては、パソコンの代わりに、たとえばワークステーション、サーバ等のコンピュータを用いてもよい。また、画像形成装置としては、プリンタの代わりに、デジタル複写機、ファクシミリ装置等の印刷機能を有する多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、または単体あるいはパソコン等に接続されたＣＲＴディスプレイ、液晶ディスプレイ、プロジェクタ等のディスプレイ装置であってもよい。
【００８９】
本発明による画像形成装置および画像形成方法は、上記各手順を実行するための専用のハードウエア回路によっても、また、上記各手順を記述したプログラムをＣＰＵが実行することによっても実現することができる。後者により本発明を実現する場合、画像形成装置を動作させる上記プログラムは、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ＲＯＭやハードディスク等に転送され記憶される。また、このプログラムは、たとえば、単独のアプリケーションソフトとして提供されてもよいし、画像形成装置の一機能としてその装置のソフトウエアに組み込んでもよい。
【００９０】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項１〜５に記載した発明以外にも、以下の付記１〜７に示すような発明が含まれる。
【００９１】
［付記１］  前記識別名情報出力手段は、前記文書の各ページ番号と前記ページ番号にかかるページに含まれる前記オブジェクトの識別名とを対応させて表示した目次を出力するものである請求項３に記載の画像形成装置。
【００９２】
［付記２］  前記識別名情報出力手段は、前記文書の特定のページに含まれる前記オブジェクトの識別名と前記特定のページの識別名とを表示したページ情報と、前記文書の各ページ番号と前記ページ番号にかかるページの識別名とを対応させて表示したページ一覧情報とを出力するものである請求項３に記載の画像形成装置。
【００９３】
［付記３］  前記画像形成手段は、前記オブジェクトを前記記憶手段に記憶した順序で画像形成して出力するものである請求項１〜５または付記１もしくは２のいずれか１つに記載の画像形成装置。
【００９４】
［付記４］  前記文書ファイルは、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）ファイルである請求項１〜５または付記１〜３のいずれか１つに記載の画像形成装置。
【００９５】
［付記５］  文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成方法であって、
前記文書ファイルの構成データを順次受信する段階（１）と、
段階（１）で受信した前記構成データを記憶する段階（２）と、
段階（２）で記憶した前記構成データに含まれる前記オブジェクトを単独でまたは２つ以上を組み合わせて前記文書内で表示される順序によらずに画像形成して出力する段階（３）と、
を有する画像形成方法。
【００９６】
［付記６］  文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置のための画像形成プログラムであって、
前記文書ファイルの構成データを順次受信する手順（１）と、
手順（１）で受信した前記構成データを記憶する手順（２）と、
手順（２）で記憶した前記構成データに含まれる前記オブジェクトを単独でまたは２つ以上を組み合わせて前記文書内で表示される順序によらずに画像形成して出力する手順（３）と、
を前記画像形成装置に実行させることを特徴とする画像形成プログラム。
【００９７】
［付記７］  付記６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００９８】
【発明の効果】
上述したように、本発明の画像形成装置によれば、ＰＤＦファイル等のように、文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルをダイレクトに受信して画像形成する場合に、前記文書ファイルの全体を受信しなくても、受信した前記文書ファイルの構成データに含まれる前記オブジェクトを単独でまたは２つ以上を組み合わせて前記文書内で表示される順序によらずに画像形成して出力するので、ユーザは前記オブジェクトの印刷物から文書の内容を概ね知ることができる。
【００９９】
さらに、前記オブジェクトを画像形成する際に前記オブジェクトに識別名を付与して出力するとともに、個々のページに含まれる前記オブジェクトの識別名についての情報を出力することにより、ユーザはその情報をもとに前記オブジェクトの印刷物から文書の内容を正確に知ることができるとともに、前記オブジェクトの印刷物をその位置を考慮して切り張り等することにより、文書ファイルの印刷物をほぼ完全な形で復元することができるものである。
【０１００】
したがって、本発明によれば、記憶部の使用可能容量が少ない画像形成装置に適用しても、前記文書ファイルをダイレクトに受信して画像形成することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態にかかる画像形成装置が適用された画像処理システムの全体構成を示すブロック図である。
【図２】図１におけるプリンタ１０Ａの構成を示すブロック図である。
【図３】標準的なＰＤＦファイルの構成を説明するための図である。
【図４】ＰＤＦファイルのサンプルを示す図である。
【図５】プリンタ１０Ａの画像形成処理の手順を示すプロ−チャートである。
【図６】プリンタ１０Ａの画像形成処理の手順を示すプロ−チャートである。
【図７】プリンタ１０Ａの画像形成処理の手順を示すプロ−チャートである。
【図８】パソコン２０がプリンタ１０Ａに送信したＰＤＦファイル４２の構造を示す図である。
【図９】プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こさなかった場合のプリンタ１０Ａの出力結果を示す図である。
【図１０】プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図１１】プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図１２】プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図１３】プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図１４】プリンタ１０Ａがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のプリンタ１０Ａの出力結果を示す図である。
【図１５】本発明の第２の実施形態にかかるプリンタ１０Ｂの画像形成処理の手順を示すフローチャートである。
【図１６】本発明の第２の実施形態にかかるプリンタ１０Ｂの画像形成処理の手順を示すフローチャートである。
【図１７】本発明の第２の実施形態にかかるプリンタ１０Ｂの画像形成処理の手順を示すフローチャートである。
【図１８】本発明の第２の実施形態にかかるプリンタ１０Ｂの画像形成処理の手順を示すフローチャートである。
【図１９】プリンタ１０Ｂがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図２０】プリンタ１０Ｂがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図２１】プリンタ１０Ｂがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図２２】プリンタ１０Ｂがパソコン２０からＰＤＦファイル４２を受信した際にメモリオーバーフローを起こした場合のプリンタ１０Ｂの出力結果を示す図である。
【図２３】本発明の第３の実施形態にかかるプリンタ１０Ｃのメモリオーバーフロー時の出力結果を説明するための図である。
【図２４】本発明の第４の実施形態にかかるプリンタ１０Ｄのメモリオーバーフロー時の出力結果を説明するための図である。
【符号の説明】
１〜６…オブジェクト、
１０Ａ…プリンタ、
１０１…ＣＰＵ、
１０２…ＲＯＭ、
１０３…ＲＡＭ、
１０４…操作パネル部、
１０５…印刷部、
１０６…ネットワークインタフェース、
１０７…バス、
２０…パソコン、
３０…ネットワーク、
４１…標準的なＰＤＦファイル、
４１１…ヘッダ、
４１２…ボディ、
４１３…相互参照表、
４１４…トレーラ。
【図１】
2004322360.tif 000003
【図２】
2004322360.tif 000004
【図３】
2004322360.tif 000005
【図４】
2004322360.tif 000006
【図５】
2004322360.tif 000007
【図６】
2004322360.tif 000008
【図７】
2004322360.tif 000009
【図８】
2004322360.tif 000010
【図９】
2004322360.tif 000011
【図１０】
2004322360.tif 000012
【図１１】
2004322360.tif 000013
【図１２】
2004322360.tif 000014
【図１３】
2004322360.tif 000015
【図１４】
2004322360.tif 000016
【図１５】
2004322360.tif 000017
【図１６】
2004322360.tif 000018
【図１７】
2004322360.tif 000019
【図１８】
2004322360.tif 000020
【図１９】
2004322360.tif 000021
【図２０】
2004322360.tif 000022
【図２１】
2004322360.tif 000023
【図２２】
2004322360.tif 000024
【図２３】
2004322360.tif 000025
【図２４】
2004322360.tif 000026