JP4049003B2 - 画像形成装置、画像形成方法、および画像形成プログラム - Google Patents
画像形成装置、画像形成方法、および画像形成プログラム Download PDFInfo
- Publication number
- JP4049003B2 JP4049003B2 JP2003117132A JP2003117132A JP4049003B2 JP 4049003 B2 JP4049003 B2 JP 4049003B2 JP 2003117132 A JP2003117132 A JP 2003117132A JP 2003117132 A JP2003117132 A JP 2003117132A JP 4049003 B2 JP4049003 B2 JP 4049003B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- page
- configuration data
- image forming
- identification name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
本発明は、画像形成装置、画像形成方法、および画像形成プログラムに関し、特に、文書の特定のページの内容の一部または全部を描画するためのオブジェクトが、ファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置、画像形成方法、および画像形成プログラムに関する。
【0002】
【従来の技術】
パソコン等のコンピュータは、たとえばハードディスクに保存されている文書ファイルを、LAN等のネットワークを介してプリンタに送信して印刷することができる。
【0003】
この場合、文書ファイルは、通常、パソコンにインストールされているプリンタドライバによって、プリンタで解析可能なポストスクリプト(PostScript(R))等のページ記述言語で記述されたプリントデータに変換されてから、送信される。
【0004】
一方、インターネット上で配布される文書ファイルとして、OS(Operating System)やアプリケーションの種類にかかわらずにオリジナル文書と同じ体裁を再現できるPDF(Portable Document Format)ファイルが広く普及してきている。このPDFファイルは、文書の特定のページの内容の一部または全部を描画するためのオブジェクトを含み、当該オブジェクトは文書内で表示される順序によらずにファイル内において配列可能であり、前記オブジェクトのファイル内での位置情報および個々のページの内容がどのオブジェクトにより表示されるかについての情報等を参照することにより文書構造を解析することができるようになっている。
【0005】
ところで、PDFファイルは、たとえば数百ページものデータを有している場合がある。このような特にデータサイズの大きいPDFファイルをパソコンでプリントデータに変換すると、変換に時間がかかること、処理が複雑になること、および変換によりデータサイズが大きくなってデータ転送時間が増えること等の理由により、パソコンの負荷が増大することになる。かかるパソコンの負荷を軽減するために、プリントデータに変換せずにパソコンから送信されたPDFファイルを直接印刷すること(以下、「PDFダイレクトプリント」という)が可能なプリンタが提案されている。
【0006】
しかし、PDFファイルは各々のページの内容を描画するオブジェクトが文書内で表示される順序によらずにファイル内において配列されており、しかもオブジェクトのファイル内での位置を示す参照情報がファイルの末尾部分に配置されているため、プリンタはPDFファイル全体を受信した後でないと印刷することができない。このため、プリンタは、搭載されるメモリの容量(使用可能容量ないし空き容量)が足りないためにPDFファイル全体を受信できず、印刷を実行できない場合があった。
【0007】
この問題に関連して、PDFファイル全体を受信しなくても受信したデータから順にディスプレイ上での表示が可能となるように、PDFファイルの中身を変更して再構成する装置が知られている(例えば、特許文献1参照。)。
【0008】
【特許文献1】
特表平11−502954号公報
【0009】
【発明が解決しようとする課題】
しかしながら、上記特許文献1に記載の装置にあっては、結果的に、ファイル転送前にパソコン等の送信側で、PDFファイルを再構成するための複雑な処理が必要となってしまう。したがって、上記装置の技術は、PDFファイルをPS等のPDLで記述されたプリントデータに変換することと比較して、パソコンの負荷の軽減を図ることにならないという問題がある。しかも、上記技術は、ディスプレイ上での表示に関する技術に過ぎないため、プリンタでの印刷に関しては十分な考慮が払われていない。
【0010】
本発明は、上述の課題を解決するためになされたものであり、その目的とするところは、記憶部の使用可能容量が少ない場合であっても、PDFファイル等の文書ファイルをダイレクトに受信して画像形成することが可能となる画像形成装置、画像形成方法、および画像形成プログラムを提供することにある。
【0011】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【0012】
(1)文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置であって、前記文書ファイルの構成データを順次受信する受信手段と、前記受信手段により受信した前記構成データを記憶する記憶手段と、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する識別名付与手段と、前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに、前記識別名付与手段により付与した前記オブジェクトの識別名とともに画像形成して出力する画像形成手段と、前記画像形成手段により前記文書内で表示される順序によらずに前記オブジェクトの画像形成がなされた場合に、前記文書内で表示される順序に沿った個々のページと当該個々のページに含まれる前記オブジェクトの識別名との対応関係を示す一覧情報を出力する識別名情報出力手段と、前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除する削除手段と、を有する画像形成装置。
【0013】
(2)前記識別名情報出力手段は、前記一覧情報として、前記文書で表示される順序に沿った前記個々のページのページ番号と前記ページ番号にかかるページに含まれる前記オブジェクトの識別名とを対応させて表示した目次を出力することを特徴とする請求項1に記載の画像形成装置。
【0014】
(3)前記識別名情報出力手段は、前記一覧情報として、前記文書の特定のページに含まれる前記オブジェクトの識別名と前記特定のページの識別名とを表示したページ情報と、前記文書内で表示される順序に沿った前記個々のページのページ番号と当該ページ番号にかかるページの識別名とを対応させて表示したページ一覧情報と、を出力することを特徴とする請求項1に記載の画像形成装置。
【0015】
(4)文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成方法であって、前記文書ファイルの構成データを順次受信する段階(1)と、前記段階(1)で受信した前記構成データを記憶手段に記憶する段階(2)と、前記段階(2)で記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する段階(3)と、前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに、前記段階(3)において付与された前記オブジェクトの識別名とともに画像形成して出力しつつ、前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除して、前記段階(1)における前記文書データの受信を継続する段階(4)と、前記段階(4)において前記文書内で表示される順序によらずに前記オブジェクトの画像形成がなされた場合に、前記文書内で表示される順序に沿った個々のページと当該個々のページに含まれる前記オブジェクトの識別名との対応関係を示す一覧情報を出力する段階(5)と、を有する画像形成方法。
【0016】
(5)文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置のための画像形成プログラムであって、前記文書ファイルの構成データを順次受信する手順(1)と、前記手順(1)で受信した前記構成データを記憶手段に記憶する手順(2)と、前記手順(2)で記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する手順(3)と、前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに、前記手順(3)において付与された前記オブジェクトの識別名とともに画像形成して出力しつつ、前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除して、前記手順(1)における前記文書データの受信を継続する手順(4)と、前記手順(4)において前記文書内で表示される順序によらずに前記オブジェクトの画像形成がなされた場合に、前記文書内で表示される順序に沿った個々のページと当該個々のページに含まれる前記オブジェクトの識別名との対応関係を示す一覧情報を出力する手順(5)と、を前記画像形成装置に実行させることを特徴とする画像形成プログラム。
【0017】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【0018】
図1は、本発明の第1の実施形態にかかる画像形成装置が適用された画像処理システムの全体構成を示すブロック図である。図1に示すように、本実施形態にかかる画像処理システムは、画像形成装置としてのプリンタ10Aと、画像処理装置としてのパソコン20とを備え、これらはネットワーク30を介して相互に通信可能に接続されている。なお、ネットワークに接続される機器の種類および台数は、図1に示す例に限定されない。また、プリンタ10Aは、ネットワーク30を介することなく、パソコン20と直接機器間で接続(ローカル接続)されていてもよい。
【0019】
図2は、本実施形態にかかるプリンタ10Aの構成を示すブロック図である。図2において、プリンタ10Aは、CPU101、ROM102、RAM103、操作パネル部104、印刷部105およびネットワークインタフェース106を備えており、これらは信号をやり取りするためのバス107を介して相互に接続されている。
【0020】
CPU101は、プログラムにしたがって上記各部の制御や各種の演算処理等を行う。ROM102は、各種プログラムやパラメータを格納する。RAM103は、作業領域として一時的にプログラムやデータを記憶する。本実施形態において、プリンタ10Aは後述する所定の動作を行うが、このためのプリンタ10Aの動作を制御するプログラムはROM102に格納されており、動作開始の際にRAM103に読み出されてCPU101によって実行される。
【0021】
操作パネル部104は、表示パネル、固定キー、表示ランプ等で構成されており、各種の入力と表示を行うために使用される。
【0022】
印刷部105は、ビットマップデータに展開された印刷データを設定条件に従って印刷する。
【0023】
ネットワークインタフェース106は、ネットワークに接続しネットワーク上の他の機器と通信するためのインタフェースである。
【0024】
パソコン20は、CPU、ROM、RAM、各種プログラムやデータを記憶するハードディスク、各種の表示を行うディスプレイ、キーボードやマウス等各種入力を行う入力装置、ネットワークインタフェース等がバスを介して相互に接続されてなる。パソコン20のハードディスクには、後述するように、通常プリントを実行するためのプリンタドライバの他に、PDFダイレクトプリントを実行するための専用ソフトウエアがインストールされている。
【0025】
ネットワーク30は、イーサネット(登録商標)、トークンリング、FDDI等の規格によりコンピュータやネットワーク機器同士を接続したLANや、LAN同士を専用線で接続したWAN等からなる。
【0026】
本実施形態にかかる画像処理システムでは、プリンタとパソコンとの間のデータ通信プロトコルとして、双方向通信が可能で、ジョブごとにセッションを確立することができ、ファイル内の任意の部分のデータを送信可能な所定のプロトコル、たとえば、Raw(TCP/IP 9100)、LPR(Line Printer Remote)、IPP(Internet Printing Protocol)等の各種プロトコルを使用することができる。ただし、独自のプロトコルが使用されてもよい。
【0027】
本実施形態にかかる画像処理システムでは、通常プリントと、PDFダイレクトプリントの2種類の印刷が実行可能である。通常プリントが実行される場合、印刷処理にかかるファイルは、パソコン20のプリンタドライバによって、パソコン20においてページ記述言語で記述されたプリントデータに変換された後、プリンタ10Aに送信される。一方、PDFダイレクトプリントが実行される場合、印刷処理にかかるPDFファイルは、パソコン20の専用ソフトウエアによって、パソコン20でプリントデータに変換されることなく、パソコン20からプリンタ10Aに送信される。以下、本実施形態では、本発明の特徴であるPDFダイレクトプリントの処理について説明するものとする。
【0028】
次に、図3および図4を参照して、標準的なPDFファイルの構造および解析方法について簡単に説明する。図3は、標準的なPDFファイルの構成を説明するための図、図4は、PDFファイルのサンプルを示す図である。なお、図3および図4は、「PDF Reference third edition Adobe Portable Document Format Version 1.4」(アドビシステムズ社)を参考にして作成されている。
【0029】
図3および図4に示すように、標準的なPDFファイル41は、ヘッダ411、ボディ412、相互参照表413、およびトレーラ414から構成される。
【0030】
ヘッダ411には、「%」で始まるコメントが記述される。図4のヘッダ411から、ファイルのフォーマットがPDFであること、および準拠するPDF仕様のバージョン(ここでは1.4)がわかる。
【0031】
ボディ412は、複数のオブジェクトから構成される(図4ではオブジェクト1〜6)。オブジェクトとは、文書を構成する個々の要素をいう。
【0032】
最初のオブジェクト1は、「1 0 obj」から「endobj」までの記述により定義され、他のオブジェクトも同様に定義される。ここで、たとえば「1 0 obj」における最初の数字およびその次の数字は、それぞれオブジェクトの番号(ID)および世代番号(generation)を表す。
【0033】
オブジェクトには、カタログオブジェクト、ページ一覧オブジェクト、ページオブジェクト、コンテンツオブジェクト、リソースオブジェクト、フォントオブジェクト、フォント情報オブジェクト等がある。
【0034】
カタログオブジェクトは、PDFファイルのオブジェクト階層構造のルートとなるオブジェクトである。カタログオブジェクトは、オブジェクトの「/Type」属性が「/Catalog」となっており、「/Pages」属性によりページ一覧オブジェクトが参照されている。
【0035】
ページ一覧オブジェクトは、カタログオブジェクトにより参照されるPDFファイルのページ一覧を持つオブジェクトである。ページ一覧オブジェクトの「/Type」属性は「/Pages」であり、「/Count」属性により当該PDFファイルに含まれるページオブジェクトの個数、すなわち、当該PDFファイルのページ数が示されている。また、「/Kids」属性により各ページオブジェクトが参照されるともに、各ページオブジェクトのページ順位、すなわち、各ページオブジェクトが示すページが文章全体の何ページ目に当たるのかが示されている。
【0036】
ページオブジェクトは、ページ一覧オブジェクトにより参照される特定のページを構成するのに必要な情報が記述されたオブジェクトである。ページオブジェクトの「/Type」属性は「/Page」であり、「/Contents」属性によりコンテンツオブジェクトが参照されている。
【0037】
コンテンツオブジェクトは、ページオブジェクトにより参照される特定のページの中身、すなわち文字、図形、画像等を描画するための命令やデータが既述されたコンテンツストリームを含むオブジェクトである。すなわち、コンテンツオブジェクトは、文字、図形、画像等を描画するためのデータ、すなわち、テキストデータ、ベクタデータ、ラスタデータ等に加え、文字、図形、画像等のページ内での位置やサイズを指定する座標系や色の指定等の命令を含んでいる。
【0038】
リソースオブジェクトは、ページオブジェクトで参照される当該ページで使用されるオペレータ、フォント、色空間の定義情報や、複数ページで共通に使用する画像やパターン等の情報が記述されたオブジェクトであり、フォントオブジェクトは、フォントの定義が記述されたオブジェクトであり、フォント情報オブジェクトは、フォントの幅や高さ等の幾何学情報が記述されたオブジェクトである。
【0039】
なお、図4において、オブジェクト1はカタログオブジェクト、オブジェクト3はページ一覧オブジェクト(図4の場合、文書は1ページのみで構成される)、オブジェクト4はページオブジェクト、オブジェクト5はコンテンツオブジェクト、オブジェクト6はリソースオブジェクトである。
【0040】
相互参照表413は、PDFファイル内におけるオブジェクトの位置を示す参照情報である。相互参照表413において、各オブジェクトの位置がオフセットで表される。ここで、オフセットとは、ファイル先頭から注目するデータの先頭までのバイト数をいう。これにより、ボディ412に並んでいるオブジェクトに対して、ランダムにアクセスすることが可能となる。この相互参照表413は、PDFファイル中では、「xref」というキーワードを含む行で始まる。
【0041】
トレーラ414は、PDFファイルの解析開始時にアクセスすべき情報である。具体的には、トレーラ414には、PDFファイル内における相互参照表413の位置を示す情報、および最初に参照すべきオブジェクト(階層構造のルートとなるルートオブジェクト、すなわちカタログオブジェクト)の番号が記述される。すなわち、「startxref」の次に示される数字は、相互参照表413のオフセットであり、また、「/Root」属性により、ルートオブジェクトが示されている。さらに、「/Size」属性により、相互参照表413の最初のエントリ(オブジェクトのID番号が「0」)を含めて、ファイル内に存在するオブジェクトの個数が示されている。このトレーラ414は、ファイルの末尾部分に存在し、「trailer」というキーワードを含む行で始まる。
【0042】
PDFファイルを解析する装置は、標準的なPDFファイルを解析する場合、まずファイルの末尾部分にあるトレーラ414を解析し、次いで相互参照表413を解析する。そして、これらの解析で得られた情報に基づいて、ボディ412に記述されたページの内容を解析することができる。オブジェクトには、次に必要となるデータが記述された別のオブジェクトの番号が含まれている。このため、次に必要なオブジェクトの番号をたどることにより、PDFファイルの全体的な解析が可能となる。したがって、オブジェクトは、PDFファイルのボディ内においてオブジェクト単位で任意の順序で記述されることができ、結果として、文書内における順序かかわらずファイル内において配列可能となる。
【0043】
次に、本実施形態にかかる画像処理システムの動作の概要について説明する。図5〜図7は、本実施形態にかかるプリンタ10Aの画像形成処理の手順を示すプロ−チャートである。図5において、まず、パソコン20は、ユーザによるPDFダイレクトプリントの実行の指示を受け付けて、印刷ジョブとして印刷しようとするPDFファイルの構成データをプリンタ10Aに順次送信する。プリンタ10Aは、パソコン20から送信されたPDFファイルの構成データを順次受信して(S101)、受信したデータをRAM103に保存する(S102)。そして、メモリオーバーフローが発生しない限り前記構成データの受信を繰り返して前記構成データをRAM103に蓄積し((S103のNO、S104のNO、S101およびS102)、前記構成データを全て受信し終えると(S103のNOおよびS104のYES)、RAM103に保存されたPDFファイルを解析して(S105)、印刷イメージ(ビットマップデータ)に変換して印刷出力する(S106)。
【0044】
ここで、メモリオーバーフローとは、メモリ(RAM103)の所定のデータ保存領域が満杯となってそれ以上データを保存することができなくなる状態をいう。ただし、ステップS103においては、実際にメモリオーバーフローが発生していなくても、前記データ保存領域の使用量が規定値を超えた場合にメモリオーバーフローと判断するものであってもよい。
【0045】
PDFファイルの構成データの受信中にメモリオーバーフローが発生した場合には(S103のYES)、ステップS107に進んで、オブジェクト情報テーブルを初期化する。ここで、オブジェクト情報テーブルとは、PDFファイルの構成データ中に含まれるオブジェクトの各種情報を管理するためのテーブルである。オブジェクト情報テ―ブルの内容および使用方法については後述する。
【0046】
次に、その時点までにRAM103に保存されているPDFファイルの構成データの先頭を読み出し(S108)、読み出したデータがコンテンツオブジェクトにかかるものである場合には(S109のYES)、当該コンテンツオブジェクトに識別名を付して、当該コンテンツオブジェクトの情報をオブジェクト情報テーブルに登録する(S110)。次いで、当該コンテンツオブジェクトを解析して(S111)、印刷イメージに変換して識別名とともに印刷出力する(S112)。そして、当該コンテンツオブジェクトのデータをRAM103から削除し(S113)、PDFファイルの構成データのすべてを受信していない場合は(S114のNO)、当該コンテンツオブジェクトのデータを削除して得られたRAM103の空き容量内で続きのデータを受信してRAM103に保存し(S115)、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S108)。ステップS114で、既にPDFファイルの構成データのすべてを受信している場合は(S114のYES)、そのままRAM103に保存されている残りのデータの先頭を読み出す(S108)。
【0047】
また、ステップS108で読み出したデータがページオブジェクトにかかるものである場合は(S109のNOおよびS116のYES)、当該ページオブジェクトの情報をオブジェクト情報テーブルに登録し(S117)、当該ページオブジェクトのデータをRAM103から削除して(S118)、ステップS114およびS115の手順を経て、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S108)。
【0048】
さらに、ステップS108で読み出したデータがページ一覧オブジェクトにかかるものである場合は(S109のNO、S116のNOおよびS119のYES)、当該ページ一覧オブジェクトの情報をオブジェクト情報テーブルに登録し(S120)、当該ページ一覧オブジェクトのデータをRAM103から削除して(S121)、ステップS114およびS115の手順を経て、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S108)。
【0049】
一方、ステップS108で読み出したデータがコンテンツオブジェクト、ページオブジェクトまたはページ一覧オブジェクトのいずれにかかるものでもない場合、すなわち上記以外のオブジェクト(リソースオブジェクトやフォントオブジェクト等)やヘッダ、相互参照表、トレーラ等にかかるデータである場合は(S109のNO、S116のNOおよびS119のNO)、当該データをRAM103から削除して(S122)、当該データがPDFファイルの末尾データでない場合(S123のNO)、ステップS114およびS115の手順を経て、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S108)。そして、ステップS122で削除したデータがPDFファイルの末尾データである場合は(S123のYES)、オブジェクト情報テーブルを参照して目次を作成し(S124)、作成した目次を印刷出力して(S125)、画像形成処理を終了する。
【0050】
次に、本実施形態にかかるプリンタ10Aの画像形成処理の手順を、具体例をもってさらに詳細に説明する。図8は、パソコン20がプリンタ10Aに送信したPDFファイルの構造を示す図である。図8において、PDFファイル42は、先頭のヘッダから末尾のトレーラまでの各データがこの順序で配列されて構成されているものとする。ボディに含まれるオブジェクトに付されている数字は当該オブジェクトの番号(ID)を表し、括弧書きは当該オブジェクトの種別を表している。
【0051】
図9は、プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こさなかった場合(図5のフローチャートにおけるS101〜S103のNOおよびS104〜S106)のプリンタ10Aの出力結果を示す図である。この場合、プリンタ10Aは、通常のPDFダイレクトプリントと同様にして、パソコン20からPDFファイルの構成データのすべてを受信し(S101〜S103のNOおよびS104)、受信したPDFファイル42を解析して(S105)、印刷出力する(S106)。印刷物511はPDFファイル42の第1ページ、印刷物512は第2ページの出力結果をそれぞれ表している。すなわち、PDFファイル42は全2ページからなり、オブジェクト1、3、5、7、8および13の6つのコンテンツオブジェクトを含み、第1ページはオブジェクト3、5および7、第2ページはオブジェクト1、8および13を、それぞれ図9に示した位置関係で含んでいるものとする。
【0052】
図10〜図13は、プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合(図5〜図7のフローチャートにおけるS101〜S103のYESおよびS107〜S125)のオブジェクト情報テーブルの登録状況を段階的に示した図であり、図14は、かかる場合のプリンタ10Aの出力結果を示す図である。
【0053】
ここで、プリンタ10Aは、パソコン20からPDFファイル42の構成データのうちヘッダおよびオブジェクト1〜7までのデータを受信した時点でメモリオーバーフローを起こしたものとする(S104のYES)。プリンタ10Aは、オブジェクト情報テーブルを初期化した後(S107)、RAM103に保存されている上記データのうち、まず先頭データであるヘッダを読み出す(S108)。次いで、ヘッダは、コンテンツオブジェクト、ページオブジェクトおよびページ一覧オブジェクトのいずれでもないので(S109のNO、S116のNOおよびS119のNO)、ヘッダのデータをRAM103から削除する(S122)。そして、ヘッダはPDFファイル42の末尾データではなく(S123のNO)、また、PDFファイル42の構成データの全部を受信していないので(S114のNO)、RAM103の空き容量分だけ続きのPDFファイル42の構成データを受信して(S115)、RAM103内で次に先頭となったオブジェクト1のデータを読み出す(S108)。
【0054】
次に、オブジェクト1はコンテンツオブジェクトなので(S109のYES)、オブジェクト1に識別名を付してオブジェクト1の情報をオブジェクト情報テーブルに登録する(S110)。図10は、この時点でのオブジェクト情報テーブルの登録状況を示している。ここで、オブジェクト情報テーブルには、オブジェクトの情報としてオブジェクト種別、オブジェクト番号、オブジェクト識別名、ページ番号、ページオブジェクト番号、コンテンツオブジェクト番号等が含まれている。ページ番号は、コンテンツオブジェクトの場合は当該コンテンツオブジェクトが含まれるPDFファイルのページ番号を表し、ページオブジェクトの場合は当該ページオブジェクトにより表示されるPDFファイルのページ番号を表す。ページオブジェクト番号は、コンテンツオブジェクトの場合は当該コンテンツオブジェクトが含まれるページオブジェクトの番号を表し、ページ一覧オブジェクトの場合は当該PDFファイルの各ページを表示するページオブジェクトの番号(番号の順序はページ順位)を表す。また、コンテンツオブジェクト番号は、ページオブジェクトの場合に当該ページオブジェクトに含まれるコンテンツオブジェクトの番号を表している。オブジェクト情報テーブル611には、オブジェクト1の情報として、オブジェクト種別が「コンテンツオブジェクト」であり、オブジェクト番号が「1」であり、オブジェクト識別名が「コンテンツ1」であることが登録されている。また、この時点では、オブジェクト1にかかるページ番号およびページオブジェクト番号の情報はわかっていないので、これらの情報は「不明」と登録されている。
【0055】
次いで、プリンタ10Aは、オブジェクト1のデータを解析して(S111)、オブジェクト1の内容を識別名とともに印刷する(S112)。図14における印刷物521は、この時点におけるプリンタ10Aの出力結果を示したものである。印刷物521には、オブジェクト1の識別名である「コンテンツ1」の文字列とともに、オブジェクト1の内容にかかる文字、図形、画像等が出力されている。コンテンツオブジェクトには、前述のとおり、文字、図形、画像等のページ内での位置やサイズを指定する座標系の命令が含まれているので、印刷物521おいて、オブジェクト1の内容にかかる文字、図形、画像等は、ページ内での位置およびサイズが正しく反映されて出力される。なお、印刷物521では、オブジェクト1の識別名を用紙のヘッダ部に出力しているが、本実施形態においてコンテンツオブジェクトの識別名の出力位置は特に限定されるものではなく、例えばコンテンツオブジェクトの内容の出力部分の上部または下部に付記する形態で出力するものであってもよい。
【0056】
そして、プリンタ10Aは、オブジェクト1のデータをRAM103から削除し(S113)、未だPDFファイル42の構成データの全部を受信していない場合は(S114のNO)、RAM103の空き容量分だけ続きのPDFファイルの構成データを受信して(S115)、RAM103内で次に先頭となったオブジェクト2のデータを読み出す(S108)。
【0057】
以下同様にして処理を進めて行き、次に、RAM103内でオブジェクト4のデータが先頭となった場合について説明する。オブジェクト4はページオブジェクトであるので(S109のNOおよびS116のYES)、オブジェクト4の情報をオブジェクト情報テーブルに登録する(S117)。図11は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル612には、オブジェクト4の情報として、オブジェクト種別が「ページオブジェクト」であり、オブジェクト番号が「4」であること、およびコンテンツオブジェクト番号が「3、5、7」であること、すなわちオブジェクト4により表示されるページにはコンテンツオブジェクトであるオブジェクト3、5および7の内容が含まれることが登録されている。また、この時点では、オブジェクト4により表示されるページ番号の情報はわかっていないので、ページ番号は「不明」と登録されている。さらに、コンテンツオブジェクト番号が「3、5、7」であるという情報、すなわち、オブジェクト4にコンテンツオブジェクトであるオブジェクト3が含まれるという情報に基づいて、既に登録されているオブジェクト3に関し、それまで不明であったオブジェクト3のページオブジェクト番号の情報を「4」に更新する。そして、オブジェクト4のデータをRAM103から削除し(S118)、RAM103内で次に先頭となったデータを読み出す(S108)。
【0058】
さらに、RAM103内でオブジェクト9のデータが先頭となった場合について次に説明する。オブジェクト9はページ一覧オブジェクトであるので(S109のNO、S116のNOおよびS119のYES)、オブジェクト9の情報をオブジェクト情報テーブルに登録する(S120)。図12は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル613には、オブジェクト9の情報として、オブジェクト種別が「ページ一覧オブジェクト」であり、オブジェクト番号が「9」であること、およびページオブジェクト番号が「4、11」であること、すなわちPDFファイル42が全2ページからなり、第1ページがページオブジェクトであるオブジェクト4、第2ページがページオブジェクトであるオブジェクト11によりそれぞれ表示されることが登録されている。また、ページオブジェクト番号が「4、11」であるという情報、すなわち、ページオブジェクトであるオブジェクト4がPDFファイル42の第1ページを表示するという情報に基づいて、既に登録されているオブジェクト3、4、5および7に関し、それまで不明であったページ番号の情報を「1」に更新する。そして、オブジェクト9のデータをRAM103から削除し(S121)、RAM103内で次に先頭となったデータを読み出す(S108)。
【0059】
このようにして、PDFファイル42のヘッダ、ボディのオブジェクト1〜13および相互参照表が順次処理され、その結果として、ヘッダ、カタログオブジェクトであるオブジェクト2、リソースオブジェクトであるオブジェクト6、フォントオブジェクトであるオブジェクト10、フォント情報オブジェクトであるオブジェクト12および相互参照表のデータがRAM103から削除される。また、コンテンツオブジェクトであるオブジェクト1、3、5、7、8および13は、それぞれ識別名「コンテンツ1」、「コンテンツ2」、「コンテンツ3」、「コンテンツ4」、「コンテンツ5」および「コンテンツ6」が付されてオブジェクト情報テーブルに登録されるとともに、オブジェクトの内容が識別名とともに印刷される。図13はオブジェクト情報テーブルの最終的な登録状況を示している。また、図14の印刷物521〜526は、プリンタ10Aによるオブジェクト1、3、5、7、8および13の出力結果を示している。
【0060】
そして、最終的に、RAM103内の最後のデータとなるトレーラが読み出され(S108)、RAMから削除される(S109のNO、S116のNO、S119のNOおよびS122)。トレーラはPDFファイル42の末尾データであるので(S123のYES)、オブジェクト情報テーブル614(図13)を参照してPDFファイル42の目次を作成し(S124)、作成した目次を印刷する(S125)。図14の印刷物527は、プリンタ10Aによる目次の出力結果を示している。すなわち、印刷物527には、PDFファイル42の目次として、第1ページが「コンテンツ2」、「コンテンツ3」、および「コンテンツ4」の識別名で出力した印刷物、すなわち、印刷物522、523および524の内容を含むこと、第2ページが「コンテンツ1」、「コンテンツ5」、および「コンテンツ6」の識別名で出力した印刷物、すなわち、印刷物521、525および526の内容を含むことが記載されている。これにより、プリンタ10AがPDFファイル42の受信中にメモリオーバーフローを生じた場合であっても、ユーザは、プリンタ10Aにより出力された印刷物527の目次の情報をもとに、印刷物521〜526を組み合わせることにより、PDFファイル42の文書の内容を正確に知ることができる。また、必要であれば、印刷物521〜526における各オブジェクトの出力部分を、その位置を考慮して切り貼りしたり、スキャナで読み取って重ね合わせた後出力したりすることにより、PDFファイル42の印刷物をほぼ完全な形で復元することができるものである。
【0061】
次に、本発明の第2の実施形態について説明する。本実施形態にかかるプリンタ10Bは、前記第1の実施形態にかかるプリンタ10Aと同様の構成を有し(図2参照)、プリンタ10Aと同様にネットワーク30を介してパソコン20と相互に通信可能に接続されている(図1参照)。図15〜18は、本実施形態にかかるプリンタ10Bの画像形成処理の手順を示すフローチャートである。図15において、プリンタ10Bが、パソコン20からメモリオーバーフローを発生させないでPDFファイルの構成データのすべてを受信した場合の動作(S201〜S203NOおよびS204〜S206)については、前記第1の実施形態にかかるプリンタ10Aの動作(S101〜S103NOおよびS104〜S106)と同様であるので説明を省略する。
【0062】
PDFファイルの構成データの受信中にメモリオーバーフローが発生した場合には(S203のYES)、プリンタ10Bは、オブジェクト情報テーブルを初期化した後(S207)、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S208)。読み出したデータがコンテンツオブジェクトにかかるものである場合には(S209のYES)、オブジェクト情報テーブルを参照して、オブジェクト情報テーブルに当該コンテンツオブジェクトが登録されていない場合は(S210のNO)、当該コンテンツオブジェクトに識別名を付して、当該コンテンツオブジェクトの情報をオブジェクト情報テーブルに登録する(S211)。次いで、当該コンテンツオブジェクトを解析し(S212)、印刷イメージに変換して識別名とともに印刷出力する(S213)。また、ステップS210で、オブジェクト情報テーブルに既に当該コンテンツオブジェクトが登録されている場合は(S210のYES)、直ちに当該コンテンツオブジェクトを解析して(S212)、印刷イメージに変換し、オブジェクト情報テーブルに登録されている当該コンテンツオブジェクトの識別名とともに印刷出力する(S213)。そして、当該コンテンツオブジェクトのデータをRAM103から削除し(S214)、PDFファイルの構成データのすべてを受信していない場合は(S215のNO)、当該コンテンツオブジェクトのデータを削除して得られたRAM103の空き容量内で続きのデータを受信してRAM103に保存し(S216)、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S208)。ステップS215で、既にPDFファイルの構成データのすべてを受信している場合は(S215のYES)、そのままRAM103に保存されている残りのデータの先頭を読み出す(S208)。
【0063】
また、ステップS208で読み出したデータがページオブジェクトにかかるものである場合は(S209のNOおよびS217のYES)、オブジェクト情報テーブルを参照して、オブジェクト情報テーブルに当該ページオブジェクトが登録されていない場合は(S218のNO)、当該ページオブジェクトに識別名を付して、当該ページオブジェクトの情報をオブジェクト情報テーブルに登録する(S219)。また、オブジェクト情報テーブルに当該ページオブジェクトに含まれるコンテンツオブジェクトの一部または全部が登録されていない場合は(S220のNO)、未登録のコンテンツオブジェクトに識別名を付して、オブジェクト番号とともにオブジェクト情報テーブルに登録する(S221)。次いで、当該ページオブジェクトの識別名とともに、当該ページオブジェクトに含まれるすべてのコンテンツオブジェクトの識別名を印刷出力する(S222)。なお、ステップS218でオブジェクト情報テーブルに既に当該ページオブジェクトが登録されている場合(S218のYES)、またはステップS220でオブジェクト情報テーブルに既に当該ページオブジェクトに含まれるコンテンツオブジェクトの一部または全部が登録されている場合は(S220のNO)、ステップS222における当該ページオブジェクトの識別名またはコンテンツオブジェクトの識別名の印刷出力は、オブジェクト情報テーブルに登録されているものを用いて行う。そして、当該ページオブジェクトのデータをRAM103から削除して(S223)、ステップS215およびS216の手順を経て、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S208)。
【0064】
さらに、ステップS208で読み出したデータがページ一覧オブジェクトにかかるものである場合は(S209のNO、S217のNOおよびS224のYES)、当該ページ一覧オブジェクトの情報をオブジェクト情報テーブルに登録し(S225)、オブジェクト情報テーブルにページオブジェクトの一部または全部が登録されていない場合は(S226のNO)、未登録のページオブジェクトに識別名を付して、当該ページオブジェクトをオブジェクト情報テーブルに登録する(S227)。次いで、当該ページ一覧オブジェクトの情報をもとに、ページオブジェクトの識別名と該当するページ番号を印刷出力する(S228)。なお、ステップS226でオブジェクト情報テーブルに既にページオブジェクトの一部または全部が登録されている場合は(S226のYES)、ステップS228における当該ページオブジェクトの識別名の印刷出力は、オブジェクト情報テーブルに登録されているものを用いて行う。そして、当該ページ一覧オブジェクトのデータをRAM103から削除して(S229)、ステップS215およびS216の手順を経て、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S208)。
【0065】
一方、ステップS208で読み出したデータがコンテンツオブジェクト、ページオブジェクトまたはページ一覧オブジェクトのいずれにかかるものでもない場合は(S209のNO、S217のNOおよびS224のNO)、当該データをRAM103から削除して(S230)、当該データがPDFファイルの末尾データでない場合(S231のNO)、ステップS215およびS216の手順を経て、再度、RAM103に保存されているPDFファイルの構成データの先頭を読み出す(S208)。そして、ステップS230で削除したデータがPDFファイルの末尾データである場合は(S231のYES)、画像形成処理を終了する。
【0066】
次に、本実施形態にかかるプリンタ10Bの画像形成処理の手順を、具体例をもってさらに詳細に説明する。ここでは、前記第1の実施形態におけるプリンタ10Aの場合と同様にして、PDFファイル42(図8参照)を受信して印刷出力する場合について説明する。プリンタ10Bがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こさなかった場合(図15のフローチャートにおけるS201〜S203のNOおよびS204〜S206)の出力結果については、図9に示すもの(印刷物511および512)と同様である。
【0067】
図19〜図21は、プリンタ10Bがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合(図15〜図18のフローチャートにおけるS201〜S203のYESおよびS207〜S231)のオブジェクト情報テーブルの登録状況を段階的に示した図であり、図22は、かかる場合のプリンタ10Bの出力結果を示す図である。
【0068】
ここで、プリンタ10Bは、パソコン20からPDFファイル42の構成データのうちヘッダおよびオブジェクト1〜7までのデータを受信した時点でメモリオーバーフローを起こしたものとする(S204のYES)。プリンタ10Bは、オブジェクト情報テーブルを初期化した後(S207)、RAM103に保存されている上記データのうち、まず先頭データであるヘッダを読み出す(S208)。次いで、ヘッダは、コンテンツオブジェクト、ページオブジェクトおよびページ一覧オブジェクトのいずれでもないので(S209のNO、S217のNOおよびS224のNO)、ヘッダのデータをRAM103から削除する(S230)。そして、ヘッダはPDFファイル42の末尾データではなく(S231のNO)、また、PDFファイル42の構成データの全部を受信していないので(S215のNO)、RAM103の空き容量分だけ続きのPDFファイル42の構成データを受信して(S216)、RAM103内で次に先頭となったオブジェクト1のデータを読み出す(S208)。
【0069】
次に、オブジェクト1はコンテンツオブジェクトであり(S209のYES)、また、オブジェクト1はオブジェクト情報テーブルに未登録であるので(S210のNO)、オブジェクト1に識別名を付してオブジェクト1の情報をオブジェクト情報テーブルに登録する(S211)。この時点でのオブジェクト情報テーブルの登録状況は、図10に示すもの(オブジェクト情報テーブル611)と同様である。
【0070】
次いで、オブジェクト1のデータを解析して(S212)、オブジェクト1の内容を識別名とともに印刷する(S213)。図22における印刷物531は、この時点におけるプリンタ10Bの出力結果を示している。
【0071】
そして、プリンタ10Bは、オブジェクト1のデータをRAM103から削除し(S214)、未だPDFファイル42の構成データの全部を受信していない場合は(S215のNO)、RAM103の空き容量分だけ続きのPDFファイルの構成データを受信して(S216)、RAM103内で次に先頭となったオブジェクト2のデータを読み出す(S208)。
【0072】
以下同様にして処理を進めて行き、次に、RAM103内でオブジェクト4のデータが先頭となった場合について説明する。オブジェクト4はページオブジェクトであり(S209のNOおよびS217のYES)、また、オブジェクト4はオブジェクト情報テーブルに未登録であるので(S218のNO)、オブジェクト4に識別名を付して、オブジェクト4の情報をオブジェクト情報テーブルに登録する(S219)。図19は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル621には、オブジェクト4の情報として、オブジェクト種別が「ページオブジェクト」であり、オブジェクト番号が「4」であり、オブジェクト識別名が「ページA」であること、およびコンテンツオブジェクト番号が「3、5、7」であることが登録されている。また、この時点では、オブジェクト4により表示されるページ番号の情報はわかっていないので、ページ番号は「不明」と登録されている。さらに、コンテンツオブジェクト番号が「3、5、7」であるという情報、すなわち、オブジェクト4にコンテンツオブジェクトであるオブジェクト3、5および7が含まれるという情報に基づいて、未だ登録されていないオブジェクト5および7にそれぞれ「コンテンツ3」および「コンテンツ4」という識別名を付して、コンテンツオブジェクトとしてその情報をオブジェクト情報テーブルに登録するとともに(S220のNOおよびS221)、既に登録されているオブジェクト3に関し、それまで不明であったページオブジェクト番号の情報を「4」に更新する。
【0073】
次いで、オブジェクト3、5および7の識別名をオブジェクト4の識別名とともに印刷出力する(S222)。図22における印刷物533は、この時点におけるプリンタ10Bの出力結果を示している。印刷物533には、オブジェクト4の識別名である「ページA」と、それぞれオブジェクト3、5および7の識別名である「コンテンツ2」、「コンテンツ3」および「コンテンツ4」の文字列が印刷されている。これにより、ユーザは、PDFファイル42の特定のページである「ページA」が、「コンテンツ2」、「コンテンツ3」および「コンテンツ4」の内容を含むものであることを知ることができる。そして、プリンタ10Bは、オブジェクト4のデータをRAM103から削除し(S223)、RAM103内で次に先頭となったデータを読み出す(S208)。
【0074】
さらに、RAM103内でオブジェクト9のデータが先頭となった場合について次に説明する。オブジェクト9はページ一覧オブジェクトであるので(S209のNO、S217のNOおよびS224のYES)、オブジェクト9の情報をオブジェクト情報テーブルに登録する(S225)。図20は、この時点でのオブジェクト情報テーブルの登録状況を示している。オブジェクト情報テーブル622には、オブジェクト9の情報として、オブジェクト種別が「ページ一覧オブジェクト」であり、オブジェクト番号が「9」であり、オブジェクト識別名が「ページ一覧」であること、およびページオブジェクト番号が「4、11」であることが登録されている。なお、ここではオブジェクト9に「ページ一覧」という識別名を付しているが、本実施形態においてはページ一覧オブジェクトに必ずしも識別名を付す必要はない。また、ページオブジェクト番号が「4、11」であるという情報、すなわちPDFファイル42が全2ページからなり、ページオブジェクトであるオブジェクト4がPDFファイル42の第1ページを、オブジェクト11が第2ページをそれぞれ表示するという情報に基づいて、未だ登録されていないオブジェクト11に「ページB」という識別名を付して、ページオブジェクトとしてその情報をオブジェクト情報テーブルに登録するとともに(S226のNOおよびS227)、既に登録されているオブジェクト3、4、5および7に関し、それまで不明であったページ番号の情報を「1」に更新する。
【0075】
次いで、ページオブジェクトであるオブジェクト4および11の識別名とこれらにより表示されるPDFファイル42のページ番号をそれぞれ印刷出力する(S228)。図22における印刷物537は、この時点におけるプリンタ10Bの出力結果を示している。印刷物537には、オブジェクト9の識別名である「ページ一覧」とともに、オブジェクト4の識別名である「ページA」とページ番号の「1ページ」およびオブジェクト11の識別名である「ページB」とページ番号の「2ページ」の文字列がそれぞれ組み合わされて印刷されている。これにより、ユーザは、PDFファイル42の第1ページが「ページA」、第2ページが「ページB」でそれぞれ構成されるものであることを知ることができる。そして、プリンタ10Bは、オブジェクト9のデータをRAM103から削除し(S229)、RAM103内で次に先頭となったデータを読み出す(S208)。
【0076】
このようにして、PDFファイル42のヘッダ、ボディのオブジェクト1〜13および相互参照表が順次処理され、その結果として、ヘッダ、カタログオブジェクトであるオブジェクト2、リソースオブジェクトであるオブジェクト6、フォントオブジェクトであるオブジェクト10、フォント情報オブジェクトであるオブジェクト12および相互参照表のデータがRAM103から削除される。また、コンテンツオブジェクトであるオブジェクト1、3、5、7、8および13は、それぞれ「コンテンツ1」、「コンテンツ2」、「コンテンツ3」、「コンテンツ4」、「コンテンツ5」および「コンテンツ6」の識別名が付されてオブジェクト情報テーブルに登録されるとともに、オブジェクトの内容が識別名とともにそれぞれ印刷される。図21はオブジェクト情報テーブルの最終的な登録状況を示している。また、図22の印刷物531、532、534〜536および539は、プリンタ10Bによるオブジェクト1、3、5、7、8および13の出力結果を示している。さらに、ページオブジェクトであるオブジェクト4およびオブジェクト11は、それぞれ「ページA」および「ページB」の識別名が付されてオブジェクト情報テーブルに登録されるとともに、当該オブジェクトの識別名と含んでいるコンテンツオブジェクトの識別名がそれぞれ印刷される。図22の印刷物533および538は、プリンタ10Bによるオブジェクト4および11の出力結果を示している。
【0077】
そして、最終的に、RAM103内の最後のデータとなるトレーラを読み出して(S108)、RAMから削除し(S209のNO、S217のNO、S224のNOおよびS230)、画像処理を終了する(S231のYES)。
【0078】
これにより、図22において、プリンタ10BがPDFファイル42の受信中にメモリオーバーフローを生じた場合であっても、ユーザは、プリンタ10Bにより出力された印刷物533、537および538の情報をもとに、印刷物531、532、534〜536および539を組み合わせることにより、PDFファイル42の文書の内容を正確に知ることができる。また、必要であれば、印刷物531、532、534〜536および539における各オブジェクトの内容の出力部分を、その位置を考慮して切り貼り等することにより、PDFファイル42の印刷物をほぼ完全な形で復元することができるものである。
【0079】
図23および24は、それぞれ本発明の第3および第4の実施形態にかかるプリンタ10Cおよび10Dのメモリオーバーフロー時の出力結果を説明するための図である。プリンタ10Cおよび10Dは、前記第1の実施形態にかかるプリンタ10Aと同様の構成を有し(図2参照)、プリンタ10Aと同様にネットワーク30を介してパソコン20と相互に通信可能に接続されているものとする(図1参照)。また、図23および24では、前記第1および第2の実施形態の場合と同様にして、PDFファイル42(図8参照)の受信中にメモリオーバーフローが発生した場合のプリンタ10Cおよび10Dの出力結果を示している。
【0080】
本発明の第3の実施形態は、前記第2の実施形態の変形例である。本発明の第3の実施形態にかかるプリンタ10Cの動作が前記第2の実施形態にかかるプリンタ10Bの動作と異なるのは、受信したPDFファイルの構成データ中のページオブジェクトを処理する場合において、ページオブジェクトに識別名を付してオブジェクト情報テーブルに登録した後、直ちに当該ページオブジェクトの識別名および当該ページオブジェクトに含まれるコンテンツオブジェクトの識別名を印刷出力するのではなく、当該ページオブジェクトに含まれるコンテンツオブジェクトのうち未処理のものがある場合は、当該未処理のコンテンツオブジェクトをすべて処理した後、当該未処理のコンテンツオブジェクトについては識別名を印刷する代わりにオブジェクトの内容を当該ページオブジェクトの識別名ともに印刷する点にある。
【0081】
すなわち、図23において、プリンタ10Cは、前記第2の実施形態にかかるプリンタ10Bと同様にしてRAM103内に保存されているPDFファイル42の構成データのうち先頭のものから順次処理して、オブジェクト1およびオブジェクト3の内容をそれぞれの識別名である「コンテンツ1」および「コンテンツ2」の文字列とともに印刷する(印刷物541および542参照)。次に、ページオブジェクトであるオブジェクト4の処理において、オブジェクト4に含まれるコンテンツオブジェクトのオブジェクト3、オブジェクト5およびオブジェクト7のうち、オブジェクト5およびオブジェクト7がその時点で未処理であるので、識別名の印刷を直ちには行わずに次のRAM103内の先頭データの処理に進む。そして、未処理のコンテンツオブジェクトのうち最後に処理されるオブジェクト7の処理時において、オブジェクト5およびオブジェクト7の内容をオブジェクト4の識別名である「ページA」の文字列とともに印刷する(印刷物543参照)。この際、既に出力しているオブジェクト3については、用紙の余白部に識別名の「コンテンツ2」の文字列を出力する。同様に、ページオブジェクトであるオブジェクト11についても、オブジェクト11に含まれるオブジェクト1、オブジェクト8およびオブジェクト13のうち、未処理であるオブジェクト13の処理時に、オブジェクト11の内容ならびにそれぞれオブジェクト1およびオブジェクト8の識別名である「コンテンツ1」および「コンテンツ3」の文字列を、オブジェクト11の識別名である「ページB」の文字列とともに印刷する(印刷物546参照)。これにより、ページオブジェクトの情報をただ出力するのではなくPDFファイル42の実際のページにおけるコンテンツオブジェクトの配列に近い状態で出力することができるとともに、前記第2の実施形態の場合に比べて、印刷物の出力部数を少なくすることができる。
【0082】
本発明の第4の実施形態は、前記第1の実施形態の変形例である。本発明の第4の実施形態にかかるプリンタ10Dの動作が前記第1の実施形態にかかるプリンタ10Aの動作と異なるのは、受信したPDFファイルの構成データ中のコンテンツオブジェクトを処理する場合において、コンテンツオブジェクトに識別名を付してオブジェクト情報テーブルに登録した後、直ちにコンテンツオブジェクトの内容を印刷出力するのはなく、メモリ内に同一の用紙上に組み合わせて配置できるコンテンツオブジェクトがある場合は、複数のコンテンツオブジェクトの内容を組み合わせて同一用紙上に印刷出力する点にある。
【0083】
すなわち、図24において、プリンタ10Dは、前記第1の実施形態にかかるプリンタ10Aと同様にしてRAM103内に保存されているPDFファイル42の構成データのうち先頭のものから順次処理する。そして、コンテンツオブジェクトであるオブジェクト1の処理において、オブジェクト1に識別名を付してオブジェクト1の情報をオブジェクト情報テーブルに登録した後、オブジェクト1のデータを解析して、サイズ情報のみを抽出してオブジェクト情報テーブルに記録し、コンテンツオブジェクトの内容は出力せずに、次のRAM103内の先頭データの処理に進む。同様にして、コンテンツオブジェクトであるオブジェクト3、オブジェクト5およびオブジェクト7についてのサイズ情報を取得する。そして、メモリオーバーフロー時にRAM103に保存されているPDFファイル42の構成データ(ヘッダおよびオブジェクト1〜7までのデータ)のすべてを処理した時点で、コンテンツオブジェクトのサイズ情報を比較し、オブジェクト1、オブジェクト3およびオブジェクト5を組み合わせてそれぞれこれらの識別名である「コンテンツ1」、「コンテンツ2」および「コンテンツ3」の文字列とともに同一用紙上に印刷出力する(印刷物551参照)。この際、オブジェクト1、オブジェクト3およびオブジェクト5は、効率よく組み合わせるため、位置情報は破棄されて例えば用紙の左上端から順に配置されて出力される。次いで、RAM103からオブジェクト1、オブジェクト3およびオブジェクト5のデータを削除し、RAM103の空き容量分だけ続きのPDFファイルの構成データを順次受信する。以下、同様に処理して印刷物562および563を出力し、最後に前記第1の実施形態にかかるプリンタ10Aと同様の処理によりPDFファイル42の目次を作成して出力する。これにより、前記第1の実施形態の場合に比べて、コンテンツオブジェクトを効率よく組み合わせて出力することができ、印刷物の出力部数を少なくすることができるものである。
【0085】
上記各実施形態では、プリンタがPDFファイルを受信中にメモリオーバーフローが発生した場合に、自動的に受信したPDFファイルの構成データに含まれるコンテンツオブジェクトをオブジェクトごとに画像形成するものであったが、本発明はかかる形態に限定されるものではなく、例えば、メモリオーバーフローが発生した場合に、プリンタの操作パネル部104やパソコン20のディスプレイにその旨の通知を表示させ、PDFファイルの印刷を中止するか本発明の方法によりコンテンツオブジェクトごとに画像形成するかをユーザに選択させる構成とすることができる。
【0086】
また、上記各実施形態では、パソコンでの操作に基づいてパソコンからプリンタにPDFファイルを送信する場合について説明したが、本発明はこれに限定されるものではない。本発明は、プリンタで印刷したいPDFファイルの保存場所を指定することにより、印刷すべきPDFファイルが保存されている保存装置から当該PDFファイルを取得してプリンタで印刷する場合にも適用することができる。
【0087】
さらに、上記各実施形態では、本発明にかかる画像形成処理の対象をPDFファイルのダイレクトプリントを例にして説明したが、本発明はこれに限定されるものではなく、PDFファイル以外にも、文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルであれば、いずれも本発明により処理することが可能である。
【0088】
上記各実施形態では、本発明にかかる画像処理システムを、画像処理装置としてパソコン、および画像形成装置としてプリンタを例にして説明したが、本発明はこれに限定されるものではない。画像処理装置としては、パソコンの代わりに、たとえばワークステーション、サーバ等のコンピュータを用いてもよい。また、画像形成装置としては、プリンタの代わりに、デジタル複写機、ファクシミリ装置等の印刷機能を有する多機能周辺機器(MFP:Multi-Function Peripheral)、または単体あるいはパソコン等に接続されたCRTディスプレイ、液晶ディスプレイ、プロジェクタ等のディスプレイ装置であってもよい。
【0089】
本発明による画像形成装置および画像形成方法は、上記各手順を実行するための専用のハードウエア回路によっても、また、上記各手順を記述したプログラムをCPUが実行することによっても実現することができる。後者により本発明を実現する場合、画像形成装置を動作させる上記プログラムは、フロッピー(登録商標)ディスクやCD−ROM等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ROMやハードディスク等に転送され記憶される。また、このプログラムは、たとえば、単独のアプリケーションソフトとして提供されてもよいし、画像形成装置の一機能としてその装置のソフトウエアに組み込んでもよい。
【0090】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項1〜5に記載した発明以外にも、以下の付記1〜3に示すような発明が含まれる。
【0093】
[付記1]前記画像形成手段は、前記オブジェクトを前記記憶手段に記憶した順序で画像形成して出力するものである請求項1〜3のいずれか1つに記載の画像形成装置。
【0094】
[付記2]前記文書ファイルは、PDF(Portable Document Format)ファイルである請求項1〜3または付記1のいずれか1つに記載の画像形成装置。
【0097】
[付記3]請求項5に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0098】
【発明の効果】
上述したように、本発明の画像形成装置によれば、PDFファイル等のように、文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルをダイレクトに受信して画像形成する場合に、前記文書ファイルの全体を受信しなくても、受信した前記文書ファイルの構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに画像形成して出力するので、ユーザは前記オブジェクトの印刷物から文書の内容を概ね知ることができる。
【0099】
さらに、前記オブジェクトを画像形成する際に前記オブジェクトに識別名を付与して出力するとともに、個々のページに含まれる前記オブジェクトの識別名についての情報を出力することにより、ユーザはその情報をもとに前記オブジェクトの印刷物から文書の内容を正確に知ることができるとともに、前記オブジェクトの印刷物をその位置を考慮して切り張り等することにより、文書ファイルの印刷物をほぼ完全な形で復元することができるものである。
【0100】
したがって、本発明によれば、記憶部の使用可能容量が少ない画像形成装置に適用しても、前記文書ファイルをダイレクトに受信して画像形成することが可能となる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態にかかる画像形成装置が適用された画像処理システムの全体構成を示すブロック図である。
【図2】 図1におけるプリンタ10Aの構成を示すブロック図である。
【図3】 標準的なPDFファイルの構成を説明するための図である。
【図4】 PDFファイルのサンプルを示す図である。
【図5】 プリンタ10Aの画像形成処理の手順を示すプロ−チャートである。
【図6】 プリンタ10Aの画像形成処理の手順を示すプロ−チャートである。
【図7】 プリンタ10Aの画像形成処理の手順を示すプロ−チャートである。
【図8】 パソコン20がプリンタ10Aに送信したPDFファイル42の構造を示す図である。
【図9】 プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こさなかった場合のプリンタ10Aの出力結果を示す図である。
【図10】 プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図11】 プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図12】 プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図13】 プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図14】 プリンタ10Aがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のプリンタ10Aの出力結果を示す図である。
【図15】 本発明の第2の実施形態にかかるプリンタ10Bの画像形成処理の手順を示すフローチャートである。
【図16】 本発明の第2の実施形態にかかるプリンタ10Bの画像形成処理の手順を示すフローチャートである。
【図17】 本発明の第2の実施形態にかかるプリンタ10Bの画像形成処理の手順を示すフローチャートである。
【図18】 本発明の第2の実施形態にかかるプリンタ10Bの画像形成処理の手順を示すフローチャートである。
【図19】 プリンタ10Bがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図20】 プリンタ10Bがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図21】 プリンタ10Bがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のオブジェクト情報テーブルの登録状況を示した図である。
【図22】 プリンタ10Bがパソコン20からPDFファイル42を受信した際にメモリオーバーフローを起こした場合のプリンタ10Bの出力結果を示す図である。
【図23】 本発明の第3の実施形態にかかるプリンタ10Cのメモリオーバーフロー時の出力結果を説明するための図である。
【図24】 本発明の第4の実施形態にかかるプリンタ10Dのメモリオーバーフロー時の出力結果を説明するための図である。
【符号の説明】
1〜6…オブジェクト、
10A…プリンタ、
101…CPU、
102…ROM、
103…RAM、
104…操作パネル部、
105…印刷部、
106…ネットワークインタフェース、
107…バス、
20…パソコン、
30…ネットワーク、
41…標準的なPDFファイル、
411…ヘッダ、
412…ボディ、
413…相互参照表、
414…トレーラ。
Claims (5)
- 文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置であって、
前記文書ファイルの構成データを順次受信する受信手段と、
前記受信手段により受信した前記構成データを記憶する記憶手段と、
前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する識別名付与手段と、
前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに、前記識別名付与手段により付与した前記オブジェクトの識別名とともに画像形成して出力する画像形成手段と、
前記画像形成手段により前記文書内で表示される順序によらずに前記オブジェクトの画像形成がなされた場合に、前記文書内で表示される順序に沿った個々のページと当該個々のページに含まれる前記オブジェクトの識別名との対応関係を示す一覧情報を出力する識別名情報出力手段と、
前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除する削除手段と、を有する画像形成装置。 - 前記識別名情報出力手段は、前記一覧情報として、
前記文書で表示される順序に沿った前記個々のページのページ番号と前記ページ番号にかかるページに含まれる前記オブジェクトの識別名とを対応させて表示した目次を出力することを特徴とする請求項1に記載の画像形成装置。 - 前記識別名情報出力手段は、前記一覧情報として、
前記文書の特定のページに含まれる前記オブジェクトの識別名と前記特定のページの識別名とを表示したページ情報と、
前記文書内で表示される順序に沿った前記個々のページのページ番号と当該ページ番号にかかるページの識別名とを対応させて表示したページ一覧情報と、を出力することを特徴とする請求項1に記載の画像形成装置。 - 文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成方法であって、
前記文書ファイルの構成データを順次受信する段階(1)と、
前記段階(1)で受信した前記構成データを記憶手段に記憶する段階(2)と、
前記段階(2)で記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する段階(3)と、
前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに、前記段階(3)において付与された前記オブジェクトの識別名とともに画像形成して出力しつつ、前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除して、前記段階(1)における前記文書データの受信を継続する段階(4)と、
前記段階(4)において前記文書内で表示される順序によらずに前記オブジェクトの画像形成がなされた場合に、前記文書内で表示される順序に沿った個々のページと当該個々のページに含まれる前記オブジェクトの識別名との対応関係を示す一覧情報を出力する段階(5)と、を有する画像形成方法。 - 文書の特定のページの内容の一部または全部を描画するためのオブジェクトがファイル内において前記文書内で表示される順序によらずに配列可能な文書ファイルを受信して画像形成する画像形成装置のための画像形成プログラムであって、
前記文書ファイルの構成データを順次受信する手順(1)と、
前記手順(1)で受信した前記構成データを記憶手段に記憶する手順(2)と、
前記手順(2)で記憶した前記構成データに含まれる前記オブジェクトに識別名を付与する手順(3)と、
前記記憶手段の使用可能領域が規定値以下となった場合または前記記憶手段の使用可能領域がなくなり前記記憶手段が前記構成データを記憶できなくなった場合に、前記記憶手段に記憶した前記構成データに含まれる前記オブジェクトを単独でまたは2つ以上を組み合わせて前記文書内で表示される順序によらずに、前記手順(3)において付与された前記オブジェクトの識別名とともに画像形成して出力しつつ、前記オブジェクト以外にかかる前記構成データおよび前記画像形成手段により画像形成して出力した前記オブジェクトにかかる前記構成データを前記記憶手段から削除して、前記手順(1)における前記文書データの受信を継続する手順(4)と、
前記手順(4)において前記文書内で表示される順序によらずに前記オブジェクトの画像形成がなされた場合に、前記文書内で表示される順序に沿った個々のページと当該個々のページに含まれる前記オブジェクトの識別名との対応関係を示す一覧情報を出力する手順(5)と、
を前記画像形成装置に実行させることを特徴とする画像形成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003117132A JP4049003B2 (ja) | 2003-04-22 | 2003-04-22 | 画像形成装置、画像形成方法、および画像形成プログラム |
US10/730,935 US8310713B2 (en) | 2002-12-24 | 2003-12-10 | Image forming device, image forming program, computer readable recording medium on which the program is recorded, and image forming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003117132A JP4049003B2 (ja) | 2003-04-22 | 2003-04-22 | 画像形成装置、画像形成方法、および画像形成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004322360A JP2004322360A (ja) | 2004-11-18 |
JP4049003B2 true JP4049003B2 (ja) | 2008-02-20 |
Family
ID=33497123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003117132A Expired - Fee Related JP4049003B2 (ja) | 2002-12-24 | 2003-04-22 | 画像形成装置、画像形成方法、および画像形成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4049003B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4775480B2 (ja) | 2009-08-07 | 2011-09-21 | ブラザー工業株式会社 | Pdlデータ処理装置とpdlデータ処理プログラム |
-
2003
- 2003-04-22 JP JP2003117132A patent/JP4049003B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004322360A (ja) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5238526B2 (ja) | 印刷リソース管理のためのシステム及び方法 | |
JP2004050722A (ja) | 印刷装置 | |
JP3832423B2 (ja) | 画像処理装置、画像形成装置、およびプログラム | |
JP4596285B2 (ja) | 画像処理システム及び画像処理方法並びにオブジェクト名生成プログラム | |
JP5539672B2 (ja) | 複数のモードによる色の混合のシステム及び方法 | |
JP2002331710A (ja) | ラスタイメージングプロセッサによって管理された白黒プリンタでカラーページを統合する方法と装置 | |
US8179558B2 (en) | Image processing apparatus, image processing method, program and storage medium constructed to generate print data including a bitmap image and attribute data of each pixel of the bitmap image | |
JP4537040B2 (ja) | 文書処理装置および文書処理方法 | |
US20080239359A1 (en) | Image Forming Device | |
JP2009187553A (ja) | Pdf文書のテキストのみのコンテンツを印刷するための方法 | |
JP4144392B2 (ja) | 画像処理装置、画像形成システム、画像形成方法、およびプログラム | |
JP4761535B2 (ja) | 文書管理装置及び方法、プログラム | |
JP4110945B2 (ja) | 画像処理装置、画像形成装置、およびプログラム | |
JP4144369B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2008176365A (ja) | 印刷処理装置、印刷処理プログラム及び記録媒体 | |
JP4049003B2 (ja) | 画像形成装置、画像形成方法、および画像形成プログラム | |
JP3829798B2 (ja) | 画像形成装置およびプログラム | |
US7710602B2 (en) | Systems and methods for context-based adaptive image processing using segmentation | |
JP2004188865A (ja) | 画像形成装置およびプログラム | |
JP7040166B2 (ja) | 情報処理装置、画像形成装置、システム及びプログラム | |
JP2004110337A (ja) | 画像形成方法、画像形成システム、クライアント端末、サーバ装置、プログラム、記憶媒体 | |
JP2001202362A (ja) | 文字編集処理装置 | |
JP4150850B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2006218819A (ja) | 画像形成装置、画像処理装置、プログラムおよび画像処理方法 | |
US20190286394A1 (en) | Information processing apparatus, information processing method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070518 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071119 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101207 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111207 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121207 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131207 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |