(57)【要約】【課題】  画像形成装置において、ランダムアクセス形式のファイルを受信して印刷するときに、時間を要する。【解決手段】  画像形成装置２０の通信部２３００は、ＰＤＦファイルを受信する。画像形成装置２０の印刷データ処理部２２２０は、通信部２３００において、ＰＤＦファイルの相互参照表ＰＲが受信される前に、所定のページの画像にかかるオブジェクトの位置を特定するための特定情報等が先に受信された場合に、特定情報等によって特定される領域に配置されたオブジェクトに基づいて、所定のページの画像の印刷を開始する。【選択図】図１０
2019064249.tif 000002
【特許請求の範囲】
【請求項１】
複数のページのデータ、および前記複数のページにおける各ページのデータの位置を示す位置情報を含むファイルを受信する受信手段と、
前記受信手段において、前記位置情報が受信される前に、所定のページのデータの位置を特定するための特定情報が受信された場合に、前記特定情報によって特定されるデータに基づいて、前記所定のページの印刷を開始する開始手段と、
を有する画像形成装置。
【請求項２】
前記特定情報に基づいて、前記ファイルから所定のページのデータが分割されたファイルを生成する生成手段を有し、
前記開始手段は、前記生成手段によって生成された前記分割されたファイルに基づいて、前記所定のページの印刷を開始する請求項１に記載の画像形成装置。
【請求項３】
前記ファイルに、前記分割が可能であることを示す判断情報が含まれている場合に、前記開始手段は、前記所定のページの印刷を開始する請求項２に記載の画像形成装置。
【請求項４】
前記ファイルにおいて、前記複数のページのページとページの間には境界情報が配置されている請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記特定情報は、前記複数のページの各ページごとにデータの位置を示す請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項６】
前記ファイルに前記分割が可能であることを示す判断情報が含まれているか否かに応じて、前記ファイルから所定のページのデータが分割されたファイルを生成可能であるか否かを判断する判断手段を有し、
前記判断手段によって、前記所定のページのデータが分割されたファイルを生成可能であると判断された場合に、前記生成手段は、所定のページのデータが分割されたファイルを生成する請求項３に記載の画像形成装置。
【請求項７】
前記ファイルに前記分割が可能であることを示す判断情報が含まれていない場合であっても、前記ファイルのページのオブジェクトが先出又は後出のページのオブジェクトを参照するか否かに応じて、前記ファイルから所定のページのデータが分割されたファイルを生成可能であるか判断する判断手段を有し、
前記判断手段によって、前記所定のページのデータが分割されたファイルを生成可能であると判断された場合に、前記生成手段は、所定のページのデータが分割されたファイルを生成する請求項３に記載の画像形成装置。
【請求項８】
前記複数のページの途中のページで、前記判断手段が、前記所定のページのデータが分割されたファイルを生成可能でないと判断した場合、
前記生成手段は所定のページのデータが分割されたファイルを生成することを中止し、
前記開始手段は、複数のページのデータ、および前記複数のページにおける各ページのデータの位置を示す位置情報を含むファイルのうち、未排紙のページの印刷を開始する請求項７に記載の画像形成装置。
【請求項９】
前記ファイルに前記分割が可能であることを示す判断情報が含まれており、前記判断手段が、前記所定のページのデータが分割されたファイルを生成可能であると判断したが、
前記複数のページの途中のページで、前記判断手段が、前記所定のページのデータが分割されたファイルを生成可能でないと判断した場合、
前記生成手段は所定のページのデータが分割されたファイルを生成することを中止し、
前記開始手段は、複数のページのデータ、および前記複数のページにおける各ページのデータの位置を示す位置情報を含むファイルのうち、未排紙のページの印刷を開始する請求項６に記載の画像形成装置。
【請求項１０】
前記受信手段によって受信されたデータを記憶する記憶手段を有し、
前記生成手段は、前記記憶手段に記憶されたデータに基づいて、前記分割されたファイルを生成する請求項２又は３に記載の画像形成装置。
【請求項１１】
前記生成手段は、用紙の片面に印刷されるページ数を前記分割されたファイルに含めるページ数に決定するか、
両面分のページ数を前記分割されたファイルに含めるページ数に決定するか、又は、
集約印刷の場合に１つのファイルに１ページを含めると決定する請求項２又は３に記載の画像形成装置。
【請求項１２】
前記生成手段は、利用可能なＣＰＵコアの数および前記記憶手段の空き容量に応じて、前記分割されたファイルに含める上限のページ数を決定し、
前記生成手段は、前記ファイルから決定した上限のページ数のデータが分割されたファイルを生成する請求項１０に記載の画像形成装置。
【請求項１３】
前記画像形成装置は、複数のＣＰＵコアを有しており、スプール処理とパース処理又はレンダリング処理は並列に実行可能である請求項１２に記載の画像形成装置。
【請求項１４】
画像を読み取る読取手段と、
前記読取手段によって読み取られた複数のページのデータ、前記複数のページにおける各ページのデータの位置を示す位置情報、および所定のページのデータの位置を特定するための特定情報を含み、前記位置情報が、前記複数のページのデータおよび前記特定情報よりも後に読み出されるファイルを生成する生成手段と、
を有する請求項１乃至１３のいずれか一項に記載の画像形成装置。
【請求項１５】
請求項１乃至１４のいずれか一項に記載の画像形成装置、および、
複数のページのデータ、前記複数のページにおける各ページのデータの位置を示す位置情報、および所定のページのデータの位置を特定するための特定情報を含み、前記位置情報が、前記複数のページのデータおよび前記特定情報よりも後に読み出されるファイルを生成する生成手段と、を有する生成装置を有する画像形成システム。
【請求項１６】
請求項１乃至１４のいずれか一項に記載の画像形成装置と、
前記画像形成装置へ、前記ファイルを送信する通信端末と、
を有する通信システム。
【請求項１７】
画像形成装置に、
複数のページのデータ、および前記複数のページにおける各ページのデータの位置を示す位置情報を含むファイルを受信する受信処理と、
前記受信処理において、前記位置情報が受信される前に、所定のページのデータの位置を特定するための特定情報が受信された場合に、前記特定情報によって特定されるデータに基づいて、前記所定のページの画像の印刷を開始する開始処理と、
を実行させる画像形成方法。
【請求項１８】
画像形成装置に、
複数のページのデータ、および複数のページにおける各ページのデータの位置を示す位置情報を含むファイルを受信する受信処理と、
前記受信処理において、前記位置情報が受信される前に、所定のページのデータの位置を特定するための特定情報が受信された場合に、前記特定情報によって特定されるデータに基づいて、前記所定のページの画像の印刷を開始する開始処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成システム、通信システム、画像形成方法、およびプログラムに関する。
【背景技術】
【０００２】
ＭＦＰ(Multifunction Peripheral/Printer/Product)などの画像形成装置は、ＰＣＬ（Printer Control Language）、ＰＳ（PostScript）、あるいはＰＤＦ（Portable Document Format）などの各種ファイルを受信して、印刷処理を実行する。ＰＣＬおよびＰＳなどのシーケンシャルアクセス形式のファイルについては、各ページのコンテンツがページ順に配置される。このため、画像形成装置は、シーケンシャルアクセス形式のファイルを受信したときに、データをスプールしつつ、順に各ページのコンテンツを読み出して印刷する。これに対し、ＰＤＦファイルなどのランダムアクセス形式のデータについては、各ページのコンテンツがページ順とは関係なく配置され得るので、画像形成装置は、受信されたデータのスプールが完了してから、データ後方に配置されたコンテンツの位置情報を参照しつつ、各ページのコンテンツにアクセスして印刷する。
【０００３】
ＰＤＦファイルの先頭ページをブラウザに表示するまでの時間を短縮化する目的で、第１ページのコンテンツにアクセスするための位置情報が、ファイルの先方に配置された線形化ＰＤＦと呼ばれるデータ形式が用いられている。
【０００４】
特許文献１には、情報処理装置が、線形化されたＰＤＦファイルに記述されたデータを、第１ページに関する部分と残りのページに関する部分に分割し、それぞれを、独立して参照可能な二つのＰＤＦファイルに再フォーマットし、ＰＤＦダイレクトプリント機能を備える画像形成装置に対して解析・出力を指示することが開示されている。特許文献１によると、第１ページのみの構成情報からなる第１のＰＤＦファイルは、データサイズが小さく、ファイルの読み込みに多くの時間を要しないため、ＰＤＦ文書の第１ページ目の内容が、ユーザに遅延として認識されるよりも短い時間をもって解析・出力されるとしている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、画像形成装置は、ランダムアクセス形式のファイルを第１ページおよび残りのページのファイルに分割したとしても、残りのページのファイルのスプールが完了するまでは、残りのページのファイルにおける各ページを描画するためのデータの位置を特定できず、印刷を開始できない。このため、画像形成装置において、ランダムアクセス形式のファイルを受信して印刷するときに、時間を要するという課題がある。
【課題を解決するための手段】
【０００６】
請求項１に係る発明の画像形成装置は、複数のページのデータ、および前記複数のページにおける各ページのデータの位置を示す位置情報を含むファイルを受信する受信手段と、前記受信手段において、前記位置情報が受信される前に、所定のページのデータの位置を特定するための特定情報が受信された場合に、前記特定情報によって特定されるデータに基づいて、前記所定のページの画像の印刷を開始する開始手段と、を有する。
【発明の効果】
【０００７】
画像形成装置において、ランダムアクセス形式のファイルに基づいて印刷するときに要する時間を短縮し得るという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る通信システムの全体構成図である。
【図２】一実施形態に係る端末のハードウェア構成図である。
【図３】一実施形態に係る画像形成装置のハードウェア構成図である。
【図４】一実施形態に係る画像形成装置の機能ブロック図である。
【図５】画像を印刷する処理の一例を示すシーケンス図である。
【図６】ＰＤＦファイルの構造の一例を示す概念図である。
【図７】一実施形態に係るＰＤＦファイルの構造を示す概念図である。
【図８】分割ファイルを生成する処理の一例を示すフロー図である。
【図９】ＰＤＦファイルの構造を示す概念図である。
【図１０】ＰＤＦファイルの印刷処理に要する時間を示す概念図である。
【図１１】ページ分割モードの受付画面の一例である。
【図１２】ＰＤＦファイルの構造を示す概念図である。
【図１３】実施形態の変形例Ａにおいて、分割ファイルを生成する処理を示すフロー図である。
【図１４】画像を印刷する処理の一例を示すフロー図である。
【図１５】実施形態の変形例Ｂにおいて生成されるページ情報の一例を示す概念図である。
【図１６】分割可能な特定情報を含むＰＤＦファイルを生成するモードへの移行を受け付ける受付画面の一例である。
【図１７】ＰＤＦファイルを生成する処理を示すフロー図である。
【図１８】ＰＤＦファイルの構造を示す概念図である。
【図１９】判断情報を有するＰＤＦファイルの一例を示す図である。
【図２０】画像を印刷する処理の一例を示すシーケンス図である。
【図２１】スプール処理とパース処理/レンダリング処理が並列に処理される場合のタイミング図の一例を示す図である。
【図２２】３ページ分しか一時保持できないと判断された場合のタイミング図の一例を示す。
【図２３】印刷データ処理部がスプール処理する手順を示す一例のフローチャート図である。
【図２４】２つのパース処理およびレンダリング処理が並列して実行される場合のタイミング図である。
【発明を実施するための形態】
【０００９】
以下、図面を用いて、本発明の実施形態について説明する。
【実施例１】
【００１０】
＜＜通信システム＞＞
図１は、本発明の一実施形態に係る通信システムの全体構成図である。以下、通信端末を単に端末と表す。図１に示されているように、通信システム１は、端末１０Ａ，１０Ｂ、画像形成装置２０Ａ，２０Ｂ、およびクラウドサービス５０によって構築されている。端末１０Ａ，１０Ｂのうち任意のものを端末１０と表す。画像形成装置２０Ａ，２０Ｂのうち任意のものを画像形成装置２０と表す。通信システム１において、端末１０、画像形成装置２０、およびクラウドサービス５０の数は、特に限定されない。
【００１１】
端末１０は、通信機能を有する情報処理装置であり、例えば、タブレット、スマートフォンなどのスマートデバイス、ノートＰＣ(Personal Computer)、テレビ会議端末、電子黒板、又はカメラである。端末１０Ａは、例えば、ノートＰＣであり、端末１０Ｂはスマートデバイスである。
【００１２】
画像形成装置２０は、画像処理機能および通信機能を有する情報処理装置であり、例えば、ＭＦＰ(Multifunction Peripheral/Printer/Product)、ファクシミリ、スキャナ、又はプリンタである。画像形成装置２０Ａは、例えば、ファクシミリ、スキャナ、およびプリンタ機能を有するＭＦＰであり、画像形成装置２０Ｂは、例えば、プリンタである。
【００１３】
クラウドサービス５０は、通信機能を有する情報処理装置である。クラウドサービス５０は、端末１０又は画像形成装置２０からの要求に基づいて画像形成装置２０へ文書ファイルを送信するサーバとして機能する。
【００１４】
端末１０および画像形成装置２０は、直接、あるいは無線ＬＡＮルータ２Ｒを介して、ＬＡＮ２Ｌ（Local Area Network）に接続している。端末１０および画像形成装置２０は、ＬＡＮ２Ｌからインターネット２Ｉに接続し、インターネット２Ｉ上のクラウドサービス５０に接続する。ＬＡＮ２Ｌおよびインターネット２Ｉのうち任意のものを通信ネットワーク２と表す。通信ネットワーク２の全部又は一部には、Ｗｉ−Ｆｉ（Wireless Fidelity）などの無線による通信が行われる箇所があってもよい。
【００１５】
端末１０、およびクラウドサービス５０は、任意のアプリケーション又はドライバを用いて、ＰＤＦ（Portable Document Format）ファイルなどのランダムアクセス形式の文書ファイルを生成する。ランダムアクセス形式の文書ファイルは、各ページのデータにランダムアクセス可能なファイル構造を有する。端末１０およびクラウドサービス５０は、ＰＤＦファイルを含む印刷要求を画像形成装置２０へ送信する。また、画像形成装置２０Ａは、スキャナ機能により画像を読み取り、任意のアプリケーション又はドライバを用いてＰＤＦファイルを生成する。画像形成装置２０は、端末１０、クラウドサービス５０、又は他の画像形成装置２０によって送信されたＰＤＦファイルを受信して印刷処理を実行する。
【００１６】
＜＜ハードウェア構成＞＞
図２は、一実施形態に係る端末のハードウェア構成図である。図２を用いて、端末１０のハードウェア構成について説明する。
【００１７】
端末１０は、ＣＰＵ１０１(Central Processing Unit)と、ＲＯＭ１０２(Read Only Memory)と、ＲＡＭ１０３(Random Access Memory)と、ＳＳＤ１０４（Solid State Drive）と、メディアＩ／Ｆ１０５（Interface）と、ネットワークＩ／Ｆ１０７と、ユーザＩ／Ｆ１０８と、バスライン１１０と、を有する。
【００１８】
ＣＰＵ１０１は、端末１０全体の動作を制御する。ＲＯＭ１０２は、端末１０上で動作する各種プログラムおよびアプリケーションを記憶する。以下、アプリケーションを単にアプリと表す。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＳＳＤ１０４は、各種プログラム又はアプリで利用されるデータを記憶する。メディアＩ／Ｆ１０５は、外部メモリなどの記録メディア１０６に記憶されている情報を読み出したり、記録メディア１０６に情報を書き込んだりするためのインタフェースである。ネットワークＩ／Ｆ１０７は、通信ネットワーク２を介して他の装置と通信するためのインタフェースである。ユーザＩ／Ｆ１０８は、ユーザによる操作入力を受け付けるためのインタフェースである。ユーザＩ／Ｆ１０８は、例えば、タッチパネル機能を搭載した液晶表示装置又は有機ＥＬ（Electro Luminescence）表示装置、もしくはキーボードおよびマウスである。バスライン１１０は、上記各構成要素を図２に示されているように電気的に接続するためのアドレスバス又はデータバスである。
【００１９】
クラウドサービス５０のハードウェア構成は、端末１０のハードウェア構成と同様であるので説明を省略する。
【００２０】
図３は、一実施形態に係る画像形成装置２０のハードウェア構成図である。図３を用いて、画像形成装置２０のハードウェア構成について説明する。
【００２１】
画像形成装置２０のコントローラ２００は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＮＶＲＡＭ２０４（Non−volatile RAM）と、ＨＤＤ２０５（hard Disk Drive）と、ネットワークＩ／Ｆ２０６と、エンジンＩ／Ｆ２０７と、パネルＩ／Ｆ２０８と、スキャナＩ／Ｆ２０９と、メディアＩ／Ｆ２１５と、バスライン２１０と、を有する。また、画像形成装置２０は、プロッタエンジン２１１と、操作パネル２１２と、スキャナエンジン２１３と、を有する。
【００２２】
ＣＰＵ２０１は、画像形成装置２０全体の動作を制御する。ＲＯＭ２０２は、画像形成装置２０上で動作する各種プログラムおよびアプリを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＮＶＲＡＭ２０４およびＨＤＤ２０５は、各種プログラム又はアプリで利用されるデータを記憶する。ネットワークＩ／Ｆ２０６は、通信ネットワーク２を介して他の装置と通信するためのインタフェースである。エンジンＩ／Ｆ２０７は、プロッタエンジン２１１と接続するためのインタフェースである。パネルＩ／Ｆ２０８は、操作パネル２１２と接続するためのインタフェースである。スキャナＩ／Ｆ２０９は、スキャナエンジン２１３と接続するためのインタフェースである。メディアＩ／Ｆ２１５は、外部メモリなどの記録メディア２１６に記憶されている情報を読み出したり、記録メディア２１６に情報を書き込んだりするためのインタフェースである。バスライン２１０は、上記各構成要素を図３に示されているように電気的に接続するためのアドレスバス又はデータバスである。
【００２３】
プロッタエンジン２１１は、記録媒体への画像の印刷処理において、画像形成装置２０のプロッタの動作を制御する。プロッタは、任意の印刷装置であり、インクジェット方式の場合、例えば、インクジェットヘッドであり、レーザープリンタ方式の場合、例えば、感光体、レーザー照射装置、あるいは転写装置である。操作パネル２１２は、ユーザから設定、条件、指示などの入力を受け付けるためのパネルであり、例えば、タッチパネル機能を搭載した液晶表示装置又は有機ＥＬ表示装置、もしくはキーボードおよびマウスである。スキャナエンジン２１３は、画像形成装置２０におけるスキャナの動作を制御する。なお、スキャナは、特に限定されないが、例えば、圧版、ＡＤＦ（Auto Document Feeder）、および撮像素子を有する公知のものが例示される。
【００２４】
＜＜機能構成＞＞
次に、一実施形態に係る画像形成装置２０の機能構成について説明する。図４は、一実施形態に係る画像形成装置２０の機能ブロック図である。
【００２５】
画像形成装置２０は、画像読取部２１００と、印刷部２２００と、通信部２３００と、表示部２４００と、を有する。これら各部は、図３に示されている各構成要素のいずれかが、ＲＯＭ２０２からＲＡＭ２０３上に展開された画像形成装置２０用のプログラム又はアプリに従ったＣＰＵ２０１からの命令によって動作することで実現される機能である。また、画像形成装置２０は、ＲＯＭ２０２、ＲＡＭ２０３、ＮＶＲＡＭ２０４、又はＨＤＤ２０５により構築される記憶部２０００を有する。
【００２６】
画像読取部２１００は、ＣＰＵ２０１からの命令に基づいて、スキャナによる画像の読み取り、および読み取られた画像からファイルを生成する処理を実行する。画像読取部２１００は、読取制御部２１１０と、画像生成部２１２０とを有する。
【００２７】
読取制御部２１１０は、ＣＰＵ１０１からの命令に基づくスキャナエンジン２１３の動作により、画像を読み取るための制御を行う。
【００２８】
画像生成部２１２０は、ＣＰＵ２０１からの命令により、読み取られた画像からＰＤＦファイルを生成する。
【００２９】
印刷部２２００は、ＣＰＵ２０１からの命令に基づいて、ファイルに基づく印刷処理を実行する。印刷部２２００は、ページデータ生成部２２１０と、印刷データ処理部２２２０と、を有する。
【００３０】
ページデータ生成部２２１０は、ＣＰＵ２０１からの命令に基づいて、一つの複数ページのＰＤＦファイルから、複数のページごとのＰＤＦファイルを生成する。
【００３１】
印刷データ処理部２２２０は、ＣＰＵ１０１からの命令に基づくプロッタエンジン２１１の動作により、画像を印刷するための制御を行う。
【００３２】
通信部２３００は、ＣＰＵ２０１からの命令、およびネットワークＩ／Ｆ２０６の処理により、通信ネットワーク２を介した他の装置との通信を制御する。
【００３３】
表示部２４００は、ＣＰＵ２０１からの命令により、操作パネル２１２のディスプレイから画像を表示する制御を行う。
【００３４】
＜＜処理＞＞
続いて、画像形成装置２０における処理について説明する。図５は、画像を印刷する処理の一例を示すシーケンス図である。
【００３５】
端末１０のＳＳＤ１０４には、端末１０において生成された複数ページのＰＤＦファイルが記憶されている。端末１０は、ユーザによる操作入力に応じて、印刷要求を、通信ネットワーク２を介して画像形成装置２０へ送信する（ステップＳ１１）。印刷要求には、ＳＳＤ１０４から読み出されたＰＤＦファイル、ならびに印刷設定として、印刷するページを特定するための情報、あるいは２−ｉｎ−１などの割り付けを示す情報などが含まれている。
【００３６】
なお、印刷要求の送信元は、端末１０に限定されない。印刷要求の送信元は、クラウドサービス５０であってもよい。また、画像形成装置２０Ａは、スキャナで読み込まれた画像に基づいてＰＤＦファイルを生成し、このＰＤＦファイルを他方の画像形成装置２０Ｂへ印刷要求に含めて送信してもよい。印刷の形式は、特に限定されず、例えば、ＡｉｒＰｒｉｎｔ（登録商標）、又はＭｏｐｒｉａ（登録商標）などのモバイルプリントであってもよいし、ｆｔｐやｌｐｒなどのプロトコルを利用して直接ＰＤＦファイルを画像形成装置２０に送信するダイレクトプリントであってもよいし、ＧｏｏｇｌｅＣｌｏｕｄＰｒｉｎｔ（登録商標）などのクラウドプリントであってもよい。また、印刷形式はメディアプリントでもよい。この場合、ステップＳ１１の処理は、画像形成装置２０に接続されたＵＳＢ（Universal Serial Bus）メモリなどの記録メディア２１６から、画像形成装置２０へのＰＤＦファイルを送信する処理に置き換えられる。
【００３７】
画像形成装置２０の通信部２３００は、端末１０によって送信された印刷要求を受信する。通信部２３００は、印刷要求に含まれるＰＤＦファイルの受信を開始すると、受信されたＰＤＦファイルを、バッファとしてＲＡＭ２０３に順次記憶（バッファリング）する。画像形成装置２０は、バッファリングの完了を待機することなく、以下の印刷処理を継続する。
【００３８】
通信部２３００は、印刷を開始するための印刷開始通知をページデータ生成部２２１０へ送信する（ステップＳ１２）。
【００３９】
ページデータ生成部２２１０は、印刷開始通知を受信すると、ＲＡＭ２０３に記憶されている受信バッファから、ページごとに分割されたＰＤＦファイルを生成可能であるか判断する（ステップＳ１３）。ページごとに分割されたＰＤＦファイルとは、印刷要求に含まれる複数ページのＰＤＦファイルから、印刷する各ページのデータが分割された各ＰＤＦファイルを示す。例えば、印刷要求に含まれるＰＤＦファイルのページ数が１０であり、全ページ印刷する場合、ページごとに分割されたＰＤＦファイルは、１０個のページごとのＰＤＦファイルを示す。以下、ページごとに分割されたＰＤＦファイルを、分割ファイルと表す。
【００４０】
分割ファイルの生成可否を説明するにあたり、ＰＤＦファイルの構造について説明する。図６は、ＰＤＦファイルの構造の一例を示す概念図である。ＰＤＦファイルは、国際標準化機構（ISO: International Organization for Standardization）で管理されているオープンスタンダードに準拠して、先頭から順に、ヘッダＰＨ、ボディＰＢ、相互参照表ＰＲ（位置情報の一例）、およびトレイラーＰＴを有する。
【００４１】
ヘッダＰＨには、ＰＤＦのバージョン情報などが含まれる。
【００４２】
ボディＰＢには、オブジェクト番号ごとに、ドキュメントカタログ、ページ情報、各ページのオブジェクト情報などが定義されている。オブジェクト番号は、オブジェクトの識別子であり、例えば、「1 0 obj」のように、参照番号（ｘ）、生成番号（ｙ）、および「obj」を並べてなる。ドキュメントカタログは、オブジェクト階層のルート(最上位)である。ページ情報は、各ページのオブジェクト情報への参照などが含まれる。各ページのオブジェクト情報には、各ページを描画するためのデータが含まれる。
【００４３】
相互参照表ＰＲには、ボディＰＢに定義されている各オブジェクト番号のオブジェクトのアドレス情報（位置情報）が含まれている。アドレス情報は、オブジェクトがヘッダＰＨの先頭から何バイト目かを示すオフセット情報である。画像形成装置２０は、相互参照表ＰＲに基づいて、オブジェクトの位置を特定し、アクセスする。
【００４４】
トレイラーＰＴには、相互参照表ＰＲの位置を示すアドレス情報（startxref）、ドキュメントカタログのオブジェクト番号（Root）、およびＰＤＦファイルの作成日時への参照（Info）などが含まれている。
【００４５】
ＰＤＦファイルの構造上、画像形成装置２０は、ドキュメントカタログのオブジェクト番号をトレイラーＰＴから特定し、このオブジェクト番号に対応するアドレス情報を相互参照表ＰＲから特定することで、ドキュメントカタログにアクセスする。すなわち、画像形成装置２０による通常の動作では、ＰＤＦファイルのトレイラーＰＴまでを読み込んだ上で、ＰＤＦファイルに係る画像処理を開始する。
【００４６】
続いて、ステップＳ１３の分割ファイルの生成可否を判断する処理の具体例について説明する。図７は、一実施形態に係るＰＤＦファイルの構造を示す概念図である。
【００４７】
以下、ページの各種情報を定義したオブジェクトを単にページのオブジェクトと表す。ＰＤＦファイルのボディＰＢには、ページのオブジェクトがランダムに配置され得る。これに対し、図７の（Ａ）乃至（Ｄ）の本実施形態のＰＤＦファイルによると、ボディＰＢにおいて、各ページのオブジェクトが、シーケンシャルに配置される。
【００４８】
本実施形態では、ページ分割できると判断するために意図的に付与された情報を「判断情報」という。また、所定のページに含まれるオブジェクト等のデータの位置を特定するための情報を「特定情報」という。特定情報と判断情報は共通する場合がある。特定情報のうち、一部の情報を「境界情報」という。
【００４９】
図７の（Ａ）および（Ｂ）のＰＤＦファイルのヘッダＰＨｉには、分割ファイルの生成の可否を判断するための判断情報として、分割ファイルを生成可能であることを示す「%Enable Page Split Mode」が付されている。また、図７の（Ａ）および（Ｂ）のＰＤＦファイルのボディＰＢには、各ページのオブジェクトが記録された領域の境界に、境界情報が付されている。図７の（Ａ）のＰＤＦファイルには、境界情報「%Page Object」が、各ページのオブジェクトの前に付されており、図７の（Ｂ）のＰＤＦファイルには、境界情報「%End Page」が、各ページのオブジェクトの後に付されている。%Page1 Objectおよび%End Pageは判断情報かつ特定情報である。また、%Page1 Objectと%End Pageはページ間に挿入されている情報という意味で境界情報である。
【００５０】
図７の（Ｃ）のＰＤＦファイルのヘッダＰＨｉには、判断情報かつ特定情報として、ボディＰＢにおける各ページのオブジェクトの位置を示すアドレス情報「%Page1 = xxxx」「%Page1 = yyyy」がオフセット情報として付されている。
【００５１】
また、図７の（Ｄ）のＰＤＦファイルのボディＰＢには、各ページのオブジェクトが記録された領域の端部に、ＰＤＦ言語に準拠したコマンド「/Type/Page」が境界情報として配置されている。また、「/Type/Page」はオブジェクトの位置を特定する情報となるため特定情報でもある。
【００５２】
ページデータ生成部２２１０は、ＰＤＦファイルのトレイラーＰＴを参照することなく、受信バッファにおけるヘッダＰＨｉの部分を読み込んだ時点で、判断情報に基づいて、分割ファイルを生成可能であると判断することができる。
【００５３】
ステップＳ１３において、分割ファイルを生成可能ではないと判断された場合、ページデータ生成部２２１０は、端末１０から送られてきたＰＤＦファイルの受信が完了するのを待って、受信されたバッファ全体をＰＤＦファイルとして記憶部２０００に記憶する。続いて、ページデータ生成部２２１０は、ＰＤＦファイルを分割することなく、全体のＰＤＦファイルを印刷データ処理部２２２０へ送信する（ステップＳ１４）。
【００５４】
印刷データ処理部２２２０は、受信された全体のＰＤＦファイルを言語解析し、各ページを描画するためのデータにランダムアクセスしながらフレームメモリにページごとの画像を描画することで印刷画像を生成する。印刷データ処理部２２２０は、印刷画像を含む印刷指示をプロッタエンジン２１１へ送信して、印刷処理を実行させる（ステップＳ１５）。プロッタエンジンは印刷処理の指示を受けると、印刷画像を形成し、排紙する処理を繰り返す。
【００５５】
ステップＳ１３において、分割ファイルを生成可能であると判断された場合、ページデータ生成部２２１０は、ＰＤＦファイルのうち、各ページのオブジェクトが受信されるたびに、ページごとの分割ファイルを生成する（ステップＳ２１）。
【００５６】
図８は、分割ファイルを生成する処理の一例を示すフロー図である。図８を用いてステップＳ２１の処理を詳細に説明する。なお、ステップＳ２１の処理は、端末１０から送られてきたＰＤＦファイルの受信の完了を待つことなく実行される。
【００５７】
ＲＡＭ２０３には、通信部２３００によって受信されたＰＤＦファイルの一部が、バッファとして順次記憶される。図９は、ＰＤＦファイルの構造を示す概念図である。図９の（Ａ）は、バッファとして記憶されているＰＤＦファイルの一部を示す概念図である。ページデータ生成部２２１０は、バッファのＰＤＦファイルをレコードごとに読み込む（ステップＳ２１−１）。レコードとは１項目をいい、図９では１行が１レコードである。
【００５８】
ページデータ生成部２２１０は、読み込まれたレコードが、相互参照表ＰＲ、ドキュメントカタログＰＢｃ、ページ情報ＰＢｐ、又はトレイラーＰＴに該当するか判断する（ステップＳ２１−２）。
【００５９】
ステップＳ２１−２において、レコードが、相互参照表ＰＲ、ドキュメントカタログＰＢｃ、ページ情報ＰＢｐ、又はトレイラーＰＴのいずれかに該当する（ＹＥＳ）と判断された場合、ページデータ生成部２２１０は、読み込まれたレコードを削除する（ステップＳ２１−３）。相互参照表ＰＲ、ドキュメントカタログＰＢｃ、ページ情報ＰＢｐ、およびトレイラーＰＴの各レコードは、後述の処理で、分割ファイルを作成する際に、新たに生成されるためである。
【００６０】
ステップＳ２１−２において、該当しない（ＮＯ）と判断された場合、ページデータ生成部２２１０は、読み込まれたレコードを、記憶部２０００に記憶する（ステップＳ２１−４）。
【００６１】
ページデータ生成部２２１０は、ステップＳ２１−１乃至Ｓ２１−４の処理を、１ページ分のレコード、すなわちオブジェクトを読み終えるまで繰り返す。なお、ページデータ生成部２２１０は、ボディＰＢにおける境界情報を読み込むことで（図７の（Ａ），（Ｂ））、あるいは、ヘッダに含まれた特定情報（図７の（Ｃ））に基づいて、１ページ分のレコードを読み終えたか判断することができる。
【００６２】
上記のループ処理が完了した時点で、記憶部２０００にはＰＤＦファイルから抽出された１ページ分のレコードのうち、相互参照表ＰＲ、ドキュメントカタログＰＢｃ、ページ情報ＰＢｐ、又はトレイラーＰＴが除かれた各レコード、すなわち１ページを描画するためのデータを示す各レコード、すなわちオブジェクトが記憶される。ページデータ生成部２２１０は、記憶部２０００に記憶されたレコードを、分割ファイルにおけるボディＰＢとする。図９の（Ｂ）は、ループ処理後に生成される分割ファイルのボディＰＢを示す概念図である。
【００６３】
図９の（Ｂ）のボディには、ステップＳ２１−３の処理で読み捨てられる相互参照表、ドキュメントカタログ、ページ情報、およびトレイラーなどが含まれない。このため、図９の（Ｂ）のボディＰＢを分割ファイルとして、印刷データ処理部２２２０に送信しても、印刷データ処理部２２２０は、印刷処理を実行できない。そこで、ページデータ生成部２２１０は、図９の（Ｂ）のボディＰＢに、必要な情報を追加して、ＰＤＦ言語仕様に基づいたＰＤＦファイルを完成させる。
【００６４】
まず、ページデータ生成部２２１０は、ヘッダＰＨを生成して、生成過程にある分割ファイルの先頭に追加する。追加されるヘッダＰＨには、ＰＤＦのバージョン情報などの定型文が含まれる。
【００６５】
ページデータ生成部２２１０は、分割ファイルにおいて、印刷ジョブに必要なページ情報Ｂｐを生成する。ページ情報のオブジェクト番号には、予め定められた値が割り当てられる。ページ情報には、ページ数と、ページを描画するためのオブジェクトへの参照が含まれる。分割ファイルには、１ページ分を描画するためのデータが含まれているのでページ数は１である。オブジェクトへの参照は、分割ファイルに含まれるページを描画するためのオブジェクトのオブジェクト番号である。
【００６６】
ページデータ生成部２２１０は、分割後のＰＤＦファイルにおいて、印刷ジョブに必要なジョブ情報としてドキュメントカタログを生成する。ドキュメントカタログのオブジェクト番号は予め定められた値が割り当てられる。印刷ジョブに必要なジョブ情報には、ページ情報のオブジェクトへの参照が含まれる。上記のように、ページ情報のオブジェクトのオブジェクト番号は予め定められているので、ページ情報への参照は予め定められた値となる。
【００６７】
図９の（Ｃ）は、生成過程にある分割ファイルを示す概念図である。図９の（Ｃ）に示すように、ページデータ生成部２２１０は生成されたドキュメントカタログ、およびページ情報を、ボディＰＢの後端に追加する（ステップＳ２１−５）。
【００６８】
続いて、ページデータ生成部２２１０は、相互参照表ＰＲを生成して、生成過程にある分割ファイルにおけるボディＰＢの後に追加する（ステップＳ２１−６）。相互参照表ＰＲは、ボディＰＢにおける各オブジェクトの位置をオフセット情報として表したアドレス情報である。ページデータ生成部２２１０は、先に生成したボディＰＢから、各オブジェクトを検索し、検索された各オブジェクトの位置を示すアドレス情報をオフセット情報として記述することで、相互参照表ＰＲを生成する。図９の（Ｄ）は、ヘッダＰＨおよび相互参照表ＰＲが追加されたＰＤＦファイルを示す概念図である。
【００６９】
ページデータ生成部２２１０は、分割ファイルにおけるトレイラーを生成する。トレイラーには、相互参照表ＰＲのサイズおよびドキュメントカタログへの参照が含まれる。相互参照表ＰＲのサイズは、ステップＳ２１−６における相互参照表ＰＲの生成結果に基づいて算出される。ドキュメントカタログへの参照は、予め定められたドキュメントカタログのオブジェクト番号が用いられる。
【００７０】
図９の（Ｅ）は、分割ファイルを示す概念図である。図９の（Ｅ）に示すように、ページデータ生成部２２１０は生成されたトレイラーＰＴを、生成過程にある分割ＰＤＦファイルにおける相互参照表ＰＲの後に追加することで、ＰＤＦ言語に従った分割ファイルを完成させる（ステップＳ２１−７）。図９（Ｅ）と同様のＰＤＦファイルがページ数だけ作成される。
【００７１】
１ページ分の分割ファイルが完成してからの処理について、図５に戻って説明を続ける。ページデータ生成部２２１０は、生成された分割ファイルを印刷データ処理部２２２０へ送信する（ステップＳ２２）。
【００７２】
印刷データ処理部２２２０は、受信された分割ファイルを言語解析し、ページを描画するためのオブジェクトにアクセスしながらフレームメモリに１ページ分の画像を描画することで印刷画像を生成する。印刷データ処理部２２２０は、印刷画像を含む印刷指示をプロッタエンジン２１１へ送信して、印刷処理を実行させる（ステップＳ２３）。プロッタエンジンは印刷処理の指示を受けると、用紙に１ページの印刷画像を転写し、排紙する。
【００７３】
ページデータ生成部２２１０は、印刷対象のページのデータのうち、分割ファイルの生成が完了していない未処理のページのデータがバッファに含まれているか判断する。未処理のページのデータが含まれていると判断された場合には、画像形成装置２０は、ステップＳ２１乃至Ｓ２３の処理を繰り返す。このようにして、ステップＳ２１乃至Ｓ２３の処理を繰り返すことで、印刷する各ページを描画するための分割ファイルが生成され、１ページずつ印刷処理が実行される。
【００７４】
印刷対象のすべてのページの印刷処理が完了してから、ページデータ生成部２２１０は、バッファとして残っている情報を削除する（ステップＳ２４）。これにより、バッファがクリアされた状態で、次のデータの受信待ち状態に遷移するので、バッファに必要な容量は、１ページ分の受信データで足りることになる。
【００７５】
図１０は、ＰＤＦファイルの印刷処理に要する時間を示す概念図である。図１０の各図において、横軸の左端は、画像形成装置２０がＰＤＦファイルの受信を開始する時点を示し、横軸に対し右へ進むほど、ＰＤＦファイルの受信を開始してからの時間が経過していることを示す。ＰＤＦファイルの印刷処理には、ＰＤＦファイルを受信してバッファリングするスプール処理、言語解析するパース処理、画像を形成するレンダリング処理、画像を印刷して排紙するフィード処理が含まれる。
【００７６】
図１０の（Ａ）は、複数ページのＰＤＦファイルを受信して印刷するときの各処理に要する時間を示す概念図である。複数ページのＰＤＦファイルを印刷する場合には、ＰＤＦファイルのスプール処理が律速となって、ＰＤＦファイルの印刷に長い時間を要する。
【００７７】
例えば、１００ｋＢの１ページのＰＤＦファイルのスプール処理に０．１秒要する場合、１００ＭＢの１０００ページのＰＤＦファイルのスプール処理には、１００秒（＝０．１×１０００）秒要する。よって、１００秒後に１ページ目のパース処理が開始される。画像形成装置２０の処理速度が５０ＰＰＭであるとすると、１０００ページの印刷には、１２００秒要することになる。スプール処理からフィード処理までのジョブ全体が完了するまでの時間は、１３００秒（＝１００＋１２００）である。
【００７８】
さらに、この場合、画像形成装置２０は、バッファリングのため、少なくとも１００ＭＢのサイズのストレージを要する。１００ＭＢのサイズのストレージを備えていない画像形成装置では、スプール処理を実行できないため、印刷ジョブはキャンセルされる。
【００７９】
図１０の（Ｂ）は、複数ページの線形化ＰＤＦファイルを受信して印刷するときの各処理に要する時間を示す概念図である。線形化ＰＤＦファイルを印刷する場合、画像形成装置２０は、ＰＤＦファイルの全体を読み込む前に１ページ目を描画するためのデータを特定できるので、１ページ目のデータのスプール処理が完了してから、１ページ目の印刷処理を実行できる。しかし、画像形成装置２０は、ＰＤＦファイルの残りの全部を読み込むまで、２ページ以降の各ページを描画するためのデータを特定できないため印刷処理を開始できないこのため、ＰＤＦファイルの残りの部分のスプール処理が律速となり、ＰＤＦファイルの全体の印刷には長い時間を要する。
【００８０】
図１０の（Ｃ）は、１ページのＰＤＦファイルを複数印刷するときの各処理に要する時間を示す概念図である。１ページのＰＤＦファイルを複数印刷する場合には、ＰＤＦファイルのスプール処理に要する時間が短く、スプール処理が律速とならないので、全体の印刷時間が短縮される。
【００８１】
例えば、１００ｋＢの１ページのＰＤＦファイルを１０００個、印刷する場合に、画像形成装置２０は、１ページ目のＰＤＦファイルを受信してスプール処理したのち、連続して印刷処理を実行できる。５０ＰＰＭの画像形成装置２０において、１ページ目のＰＤＦファイルのスプール処理に０．１秒要し、１０００個のおＰＤＦに係る画像を印刷するのに１２００秒要する場合、印刷ジョブ全体に要する時間は、１２００．１秒である。
【００８２】
さらに、画像形成装置２０は、少なくとも１００ｋＢのサイズのストレージを有していれば、印刷ジョブを実行できる。すなわち、画像形成装置２０のストレージの容量が小さい場合でも、印刷ジョブがキャンセルされることが少なくなる。
【００８３】
＜＜＜実施形態の変形例Ａ＞＞＞
続いて、実施形態の変形例Ａについて、上記の実施形態と異なる点について説明する。実施形態の変形例Ａでは、ＰＤＦファイルのヘッダに、分割ファイルを生成可能であるかを特定するための判断情報が付されていない場合の処理例について説明する。例えば、原稿がスキャナにより読み取られた場合、一般に判断情報は付与されない。しかし、以下で説明するように、判断情報が付与されていない場合でも、分割ファイルを作成することができる。
【００８４】
図１１は、ページ分割モードの受付画面の一例である。画像形成装置２０は、操作パネル２１２におけるディスプレイに、図１１に示す受付画面を表示させて、ページ分割モードへの移行するための入力をユーザから受け付ける。ページ分割モードは、複数ページのＰＤＦファイルから分割ファイルを自動で作成して、印刷するモードである。
【００８５】
図１２は、ＰＤＦファイルの構造を示す概念図である。図１２の（Ａ）は、分割ファイルを生成可能なＰＤＦファイルの構造の一例を示す。図１２の（Ａ）のように、ＰＤＦファイルのボディＰＢには、ページ情報として、参照先のオブジェクト番号が含まれている。この場合、例えば、「7 0 obj」のような参照先のオブジェクトまでをあるページのオブジェクトＰＢ１とみなし、オブジェクトＰＢ１の次のオブジェクトから次のページのオブジェクトＰＢ２とみなすことができる。
【００８６】
図１２の（Ｂ）は、分割ファイルを生成不可能なＰＤＦファイルの構造の一例を示す。ＰＤＦファイルのボディＰＢはシーケンシャルでなくてもよいため、図１２の（Ｂ）のように、ページ情報として、先出のオブジェクトが参照されることがある。この場合、先出のオブジェクトが前のページのオブジェクトとして処理され、バッファとして残らない場合には、画像形成装置２０は、参照先のオブジェクトにアクセスすることができない。したがって、一般に、先出のオブジェクトを参照するページがある場合、分割ファイルを生成することが不可能と判断してもよいし、さらに、バッファを検索しても先出のオブジェクトがない場合に分割ファイルを生成することが不可能と判断してもよい。また、所定のページのデータより後ろ（後出）のオブジェクトを参照するようなケースも分割不可と判断してもよい。
【００８７】
このように、画像形成装置２０のページデータ生成部２２１０は、ＰＤＦファイルに判断情報が含まれない場合でも、バッファのデータを読み込みながら、分割ファイルを生成可能であるか判断することができる。
【００８８】
図１３は、実施形態の変形例Ａにおいて、分割ファイルを生成する処理を示すフロー図である。図１３において、図８のフロー図と同じ処理には同じ符号が付されている。
【００８９】
ページデータ生成部２２１０は、ステップＳ２１−２において読み込まれたレコードを、読み捨てずに記憶部２０００に記憶する（ステップＳ２１−Ａ１）。
【００９０】
ページデータ生成部２２１０は、ステップＳ２１−２において読み込まれたレコードに、例えば、図１２の（Ａ）の「７０Ｒ」のように、参照先のオブジェクト番号が含まれていれば、そのオブジェクト番号を保持する（ステップＳ２１−Ａ２）。
【００９１】
ページデータ生成部２２１０は、読み込んだＰＤＦファイルのバッファ解析を繰り返し、保持された参照先のオブジェクト番号のオブジェクトまでを１ページのオブジェクトと判断する。読み込んだ範囲に図１２の（Ｂ）に示すような構造が含まれていなければ、ページデータ生成部２２１０は、分割ファイルを生成可能と判断し（ステップＳ２１−Ａ３のＹＥＳ）、読み込んだレコードのうち、ページを描画するためのオブジェクトに基づいて分割ファイルを生成し、印刷処理を実行する。分割ファイルを生成し、印刷する処理は上記の実施形態と同様である。
【００９２】
読み込んだファイルにおいて図１２の（Ｂ）のような構造が含まれていた場合、ページデータ生成部２２１０は、分割ファイルを生成できないと判断する（ステップＳ２１−Ａ３のＮＯ）。この場合、画像形成装置２０は、印刷ジョブをキャンセルする（中止する）か、ＰＤＦファイルのすべてが受信されるのを待って、記憶部２０００にバッファとして記憶されたＰＤＦファイルを用いて印刷処理を実行する。この処理は、上記実施形態のステップＳ１４と同様である。したがって、途中のページで分割ファイルを作成できないと判断された場合は、いったん、印刷を中止して、記憶手段に記憶されたファイルを使って印刷を再開（継続）することができる。この場合、未排紙のページから印刷を再開する。
【００９３】
なお、読み込んだＰＤＦファイルに図１２の（Ｂ）のような構造が含まれている場合でも、参照先のオブジェクトが記憶部２０００に記憶されていれば、ページデータ生成部２２１０は、記憶部２０００に残されている参照先のオブジェクトを、生成過程の分割ファイルのボディＰＢに追加することで、分割ファイルを生成し、処理を継続してもよい。
【００９４】
＜＜＜実施形態の変形例Ｂ＞＞＞
続いて、実施形態の変形例Ｂについて、上記の実施形態と異なる点について説明する。図１４は、画像を印刷する処理の一例を示すフロー図である。図１４において、図８のフロー図と同じ処理には同じ符号が付されている。
【００９５】
実施形態の変形例Ｂでは、画像形成装置２０は、設定された印刷単位ごとに、ステップＳ２１−１乃至Ｓ２１−４のループ処理を繰り返す。設定された印刷単位は、端末１０から画像形成装置２０へ送信される印刷要求に含まれている。例えば、画像形成装置２０において印刷するページが１ページ目と３ページ目に設定されている場合、画像形成装置２０は、ＰＤＦファイルにおける１ページ目と３ページ目に対応するオブジェクトに関してループ処理を繰り返し、２ページ目のオブジェクトは読み飛ばす。この場合、例えば、画像形成装置２０において受信されたＰＤＦファイルが図７の（Ａ）であれば、「%Page1 Object」に追随するオブジェクトについてループ処理が実行された後、「%Page2 Object」に追随するオブジェクトが読み飛ばされて、「%Page3 Object」に追随するオブジェクトについてループ処理が実行される。
【００９６】
また、例えば、画像形成装置２０において２−ｉｎ−１、すなわち２ページを１枚に印刷する設定がされている場合、ページデータ生成部２２１０は、図７の（Ａ）のＰＤＦファイルについて、１，２ページ目の内容を含むＰＤＦファイルと３ページ目の内容を含むＰＤＦファイルとを生成する。すなわち、ページデータ生成部２２１０は、「%Page1 Object」に追随するオブジェクト、および「%Page2 Object」に追随するオブジェクトに基づいて、１つのＰＤＦファイルを生成し、「%Page3 Object」に追随するオブジェクトに基づいて、１つのＰＤＦファイルを生成する。
【００９７】
つまり、「分割ファイル」は１ページ＝１ファイルとは限らず、ファイル数＝ページ数とも限らない。２−ｉｎ−１の場合は、２ページ＝１ファイルとすることで、パース処理およびレンダリング処理の単位（用紙）と一致する。また、印刷するページが指定されていた場合、そのページのみのＰＤＦファイルを生成した方が効率的となる。ページデータ生成部２２１０は１枚の用紙（片面）で印刷される１つ以上のページで１つのファイルを生成する。したがって、分割ファイルには、決定したページ数のページが含まれる。
【００９８】
また、ページデータ生成部２２１０は両面分のページ数を分割されたファイルに含めるページ数に決定してもよい。また、集約印刷の場合に１つのファイルに１ページを含めると決定してもよい（例えば、２−ｉｎ−１のＡ４縦の場合、上下で画像が分割されるので、それぞれの領域に並列して描画処理する）。
【００９９】
図１５は、実施形態の変形例Ｂにおいて生成されるページ情報の一例を示す概念図である。ページデータ生成部２２１０は、ステップＳ２１−６において、分割ファイルの印刷ジョブに必要なページ情報ＰＢｐを生成する。ページ情報には、ページ数とページを描画するためのオブジェクトへの参照が含まれる。２−ｉｎ−１において、２ページごとに分割されたＰＤＦファイルにおけるページ数は２である。また、オブジェクトへの参照には、設定に応じて、２ページ分のオブジェクトにかかるオブジェクト番号が記録される。
【０１００】
＜＜＜実施形態の変形例Ｃ＞＞＞
続いて、実施形態の変形例Ｃについて、上記の実施形態と異なる点を説明する。実施形態の変形例Ｃでは、本実施形態のＰＤＦファイルの生成方法について説明する。原稿がスキャナにより読み取られた場合、上記のように一般に判断情報は付与されない。判断情報が付与されていない場合でも、図１２，図１３にて説明したように分割ファイルを作成するか否かを判断することができるが、判断情報が付与されていることでより確実に判断が可能になる。
【０１０１】
図１６は、分割可能なＰＤＦファイルを生成するモードへの移行を受け付ける受付画面の一例である。画像形成装置２０は、操作パネル２１２におけるディスプレイに、図１６の受付画面を表示させて、分割可能なＰＤＦファイルを生成するモードへの移行するための入力をユーザから受け付ける。
【０１０２】
図１７は、ＰＤＦファイルを生成する処理を示すフロー図である。画像形成装置２０において、ＡＤＦにより供給された原稿がスキャナにより読み取られると、画像生成部２１２０は、分割可能なＰＤＦファイルを生成するモードに設定されているか判断する（ステップＳ４１）。
【０１０３】
ステップＳ４１においてＹＥＳと判断された場合、画像生成部２１２０は、予め定められた判断情報「%Enable Page Split Mode」を含むＰＤＦファイルのヘッダＰＨｉを生成する（ステップＳ４２）。図１８は、ＰＤＦファイルの構造を示す概念図である。図１８の（Ａ）は、判断情報を含むＰＤＦファイルのヘッダＰＨｉを示す概念図である。
【０１０４】
続いて、画像形成装置２０は、原稿の枚数分、以下のループ処理を繰り返す。ループ処理で、まず、読取制御部２１１０は、ＡＤＦから供給される１枚目の原稿の画像をスキャンして読み取る（ステップＳ４３）。
【０１０５】
画像生成部２１２０は、ステップＳ４３で読み取られた画像に基づいて、ＰＤＦ言語に従い、ページを描画するためのオブジェクトを生成する（ステップＳ４４）。生成されたオブジェクトは、ステップＳ４２で生成されたヘッダＰＨｉの後にボディＰＢとして追加される。図１８の（Ｂ）は、ページを描画するためのオブジェクトが追加された生成過程にあるＰＤＦファイルを示す概念図である。
【０１０６】
画像生成部２１２０は、境界情報として、予め定められたコメント「%End Page」をボディの終端に追加する（ステップＳ４５）。図１８の（Ｃ）は、ページ終端のコメントが追加された生成過程にあるＰＤＦファイルを示す概念図である。なお、画像生成部２１２０は、ページのデータを構築するある特定のオブジェクト、例えば（/Page）を、必ずページ終端に並べ替えて配置することで、ページ順にオブジェクトが並んでいることがわかるボディを生成してもよい。
【０１０７】
画像形成装置２０は、原稿ごとに、ステップＳ４３乃至Ｓ４５の処理を繰り返す。このとき、ステップＳ４４において、画像生成部２１２０は、新たに読み込まれたページを描画するためのオブジェクトを、コメント「%End Page」の後に追加する。図１８の（Ｄ）は、ループ処理を２回繰り返した後に生成される生成過程にあるＰＤＦファイルを示す概念図である。
【０１０８】
すべての原稿に対するループ処理が完了したら、画像形成装置２０は、生成されたＰＤＦファイルに対し、ドキュメントカタログＰＢｃ、ページ情報ＰＢｐ、相互参照表ＰＲ、およびトレイラーＰＴを追加する（ステップＳ４６）。これらの情報の追加方法は、ステップＳ２１−５乃至Ｓ２１−７の処理と同様であるので説明を省略する。ステップＳ４６の処理が完了すると、分割ファイルを生成可能な本実施形態のＰＤＦファイルが完成する（図１８の（Ｅ）参照）。
【０１０９】
一方、ステップＳ４１において、分割可能なＰＤＦファイルを生成するモードではないと判断された場合、画像形成装置２０は、スキャナによって読み込まれた画像に基づいて、シリアライズすることなく公知の方法によりＰＤＦファイルを生成する（ステップＳ５１）。
【実施例２】
【０１１０】
図７などで説明したように、分割ファイルの生成の可否が判断情報により判断される。しかしながら、「分割ファイルを生成可能なファイル」を印刷データ処理部２２２０が印刷処理できない場合がある。図１９を用いて分割しても印刷処理できないＰＤＦファイルを説明する。
【０１１１】
図１９は、判断情報を有するＰＤＦファイルの一例を示す。図１９（ａ）はヘッダＰＨに判断情報が含まれ、ボディＰＢはページごとに分割されている。このような「分割ファイルを生成可能なファイル」が生成された後に、判断情報を残したまま、ユーザが手動でＰＤＦファイルを改変したり、アプリを使って編集したりしてから保存する場合が生じうる。
【０１１２】
図１９（ｂ）は改変又は編集されたＰＤＦファイル（分割ファイルを生成可能なファイル）の一例を示す。図１９（ｂ）のページのオブジェクトＰＢ２は、別のページのオブジェクトを参照している。「…4 0 R…」３０１が参照先のオブジェクト番号である。オブジェクトＰＢ２から見て「…4 0 R…」３０１は別のページのオブジェクトなので分割ファイルの印刷処理を継続できない場合がある。
【０１１３】
この場合、印刷データ処理部２２２０はパース処理およびレンダリング処理の途中で、「データを処理できない」といった状態に陥り、例えば、オブジェクトＰＢ１は印刷しかつ排紙できたが、オブジェクトＰＢ２はエラーが発生した、という状況になる。
【０１１４】
エラーが発生しないようにすること又はエラーが発生しても印刷ジョブが滞らないようにするには、印刷データ処理部２２２０が印刷処理できないと判断した場合、未排紙のページから印刷することが有効である。図２０を用いて説明する。
【０１１５】
図２０は、画像を印刷する処理の一例を示すシーケンス図である。なお、図２０の説明では主に図５との相違を説明する。ステップS11〜S22の処理は図５と同様でよい。
【０１１６】
ステップS22−2では、印刷データ処理部２２２０が分割ファイルを印刷できるか否かを判断する。判断方法は図１９にて説明したように、例えば、ページ内のオブジェクトが違うページを参照しているか否かが判断される。ここでは印刷不可と判断されたものとする。
【０１１７】
ステップS22−3では、印刷データ処理部２２２０がファイル全体をページデータ生成部２２１０に要求する。つまり、分割ファイルが生成される前のファイルを要求する。印刷データ処理部２２２０は印刷不可と判断すると、印刷不可と判断されるまでのページを印刷・排紙して印刷を中止する。なお、印刷データ処理部２２２０はどのページまで排紙（印刷）したかを記録しておく。
【０１１８】
ステップS22−4では、ページデータ生成部２２１０が分割される前の全体のＰＤＦファイルを印刷データ処理部２２２０へ送信する。以降の処理は図５と同様でよい。ただし、印刷データ処理部２２２０はすでに印刷済みのページは印刷することなく、未排紙のページから印刷を再開（継続）する。
【０１１９】
したがって、本実施例の通信システム１は、分割ファイルを印刷できない場合は、分割ファイルが生成される前のＰＤＦファイルを使って、未排紙のページから印刷できる。これにより、分割ファイルが生成された後に、判断情報を残したまま、分割ファイルが改変又は編集されても、ユーザが意図した印刷を完了できる。
【実施例３】
【０１２０】
図１０では１ページのＰＤＦファイルを複数印刷することで全体の印刷時間が短縮されると説明した。本実施例では、画像形成装置２０のＣＰＵ２０１がマルチコア環境である場合に、スプール処理とパース処理/レンダリング処理を並列に実行する画像形成装置２０について説明する。なお、本実施例において「パース処理/レンダリング処理」という記載はパース処理とレンダリング処理のいずれかを意味する。パース処理とレンダリング処理は並列処理されないものとして説明するが、これらが並列処理されてもよい。
【０１２１】
図２１は、スプール処理とパース処理/レンダリング処理が並列に処理される場合のタイミング図の一例を示す図である。図２１では、縦方向のスプール処理、パース処理、レンダリング、印刷と排紙、の各処理が、時間に対しどのように実行されるかが示されている。１つのマスが１ページ分の処理に対応している。
【０１２２】
図２１ではスプール処理がパース処理/レンダリング処理と非同期に実行されている。つまり、スプール処理とパース処理/レンダリング処理が同じ時間帯に実行されている。マルチコアであるためこのような並列処理が可能になる。シングルＣＰＵではスプール処理とパース処理/レンダリング処理は並列して実行できないので、図１０（ｃ）では、スプール処理とパース処理/レンダリング処理は並列して実行できなかった。したがって、本実施例のようにマルチコアであることを利用すると、図１０（ｃ）よりもさらにＰＤＦファイルの印刷に要する時間を短縮できる。
【０１２３】
しかしながら、図２１のような並列実行のスプール処理では、１ページずつＰＤＦファイルがスプールされるわけではないので分割ファイルの全体を画像形成装置２０が一時的に記憶しておかなければならない。すなわち、それだけの記憶容量が記憶手段（ＲＡＭ２０３又はＨＤＤ２０５等）に必要となる。
【０１２４】
そこで、記憶手段の空き容量と利用可能なＣＰＵコアの状況によって「分割ファイル」を一時的に保持する上限のページ数を印刷データ処理部２２２０が決定することが有効になる。つまり、記憶手段の空き容量と利用可能なＣＰＵコアの状況によって分割ファイルに含める上限のページ数を決定する。印刷データ処理部２２２０は表１のようなスプールページ数決定テーブルを参照して、「分割ファイル」を一時的に保持する上限のページ数を決定する。
【０１２５】
【表１】
2019064249.tif 000003
表１はスプールページ数決定テーブルの一例を示す。スプールページ数決定テーブルでは、利用可能なＣＰＵコア数と記憶手段の空き容量に対応付けて、一時的に保持される「分割ファイル」が有することができる上限のページ数が設定されている。利用可能なコア数が多くかつ空き容量が大きいほど、上限のページ数が大きくなる。なお、利用可能なＣＰＵコア数と記憶手段の空き容量は画像形成装置のＯＳなどに印刷データ処理部２２２０が問い合わせることで検出できる。
【０１２６】
図２２は、３ページ分しか一時的に保持できない（上限が３ページ）と判断された場合のタイミング図の一例を示す。分割ファイルの上限のページ数が３ページであると判断されたため、印刷データ処理部２２２０はＰ１〜Ｐ３を一時保持する。Ｐ１のパース処理とレンダリング処理が完了すると、一時保存されているＰ１は削除可能なため、印刷データ処理部２２２０はＰ４をスプールする。Ｐ５以降も同様であり、Ｐ２のパース処理とレンダリング処理が完了すると、Ｐ５がスプール処理され、Ｐ３のパース処理とレンダリング処理が完了すると、Ｐ６がスプール処理される。
【０１２７】
図２３は、印刷データ処理部２２２０がスプール処理する手順を示す一例のフローチャート図である。図２３の処理は分割ファイルが生成されるとスタートする。
【０１２８】
まず、ページデータ生成部２２１０はスプールページ数決定テーブルを参照して、利用可能なＣＰＵコア数と記憶手段の空き容量に応じてスプール処理する上限のページ数を決定する（Ｓ２０１）。
【０１２９】
ページデータ生成部２２１０はステップＳ２０１で決定した上限のページ数のページを含む分割ファイルを生成する（Ｓ２０２）。
【０１３０】
次に、ページデータ生成部２２１０はステップＳ２０２で生成した分割ファイルをスプールする（Ｓ２０３）。
【０１３１】
そして、ページデータ生成部２２１０は分割ファイルの全てのページをスプールしたか否かを判断する（Ｓ２０４）。ステップＳ２０４の判断がＹｅｓの場合、図２３の処理は終了する。
【０１３２】
ステップＳ２０４の判断がＮｏの場合、印刷データ処理部２２２０はスプール済みの１ページのパース処理とレンダリング処理が終了したか否かを判断する（Ｓ２０５）。印刷データ処理部２２２０は終了するまで待機する。
【０１３３】
１ページのパース処理とレンダリング処理が終了した場合（Ｓ２０５のＹｅｓ）、ページデータ生成部２２１０は次のページをスプールする（Ｓ２０６）。ステップＳ２０６の後は、ステップＳ２０４が実行される。
【０１３４】
このように、本実施例の画像形成装置２０は、スプールするページ数を適切に決定し、マルチコアのＣＰＵ２０１がスプールとパース処理/レンダリング処理を並列に実行するので、ＰＤＦファイルの印刷に要する時間を短縮できる。
【０１３５】
また、ＣＰＵコアの数が十分に多い場合、複数のパース処理およびレンダリング処理を並列に実行することも可能となる。ＣＰＵコアの数が十分に多い場合とは、パース処理およびレンダリング処理を１つのＣＰＵコアが行うとすると、さらに別のＣＰＵコアがパース処理およびレンダリング処理に利用できることをいう。
【０１３６】
図２４は、２つのパース処理およびレンダリング処理が並列して実行される場合のタイミング図を示す。図２４ではパース処理１とパース処理２が並列して実行されており、レンダリング処理１とレンダリング処理２が並列して実行されている。したがって、図２１と比較すると、６ページ分のパース処理およびレンダリング処理がより短時間で終了している。図２４の例では１ページあたりの印刷と排紙の処理が長いため、印刷が完了するまでの時間は図２１と同程度であるが、集約印刷のような場合は、印刷が完了するまでの時間を大きく短縮できる。
【０１３７】
＜＜実施形態の主な効果＞＞
上記実施形態の画像形成方法によると、画像形成装置２０の通信部２３００（受信手段の一例）は、ページを描画するためのオブジェクト（データの一例）、およびこのオブジェクトの位置情報が記録された相互参照表ＰＲを含み、相互参照表ＰＲが、オブジェクトよりも、後に読み出されるＰＤＦファイルを受信する（受信処理の一例）。相互参照表ＰＲが、オブジェクトよりも、後に読み出されるとは、相互参照表ＰＲが、オブジェクトよりも、ＰＤＦファイルにおいて大きいオフセットを有することを表す。なお、ＰＤＦファイルは、ランダムアクセス形式の任意のファイルに置き換えられる。画像形成装置２０の印刷データ処理部２２２０（開始手段の一例）は、通信部２３００において、ＰＤＦファイルにおける相互参照表ＰＲが読み出される前に、所定のページのオブジェクトの位置を特定するための特定情報又は境界情報が読み出された場合に、通信部２３００によるＰＤＦファイルの受信の完了を待機することなく、特定情報等によって特定されるオブジェクトに基づいて、所定のページの画像の印刷を開始する（開始処理の一例）。なお、特定情報等が相互参照表ＰＲよりも先に読み出されるとは、特定情報等が、相互参照表ＰＲよりもＰＤＦファイルにおいて小さいオフセットを有することを表す。これにより、画像形成装置２０は、ＰＤＦファイルの受信の完了を待たずに印刷を開始できるので、ＰＤＦファイルの印刷に要する時間を短縮できる。
【０１３８】
画像形成装置２０のページデータ生成部２２１０（生成手段の一例）は、特定情報等に基づいて、ＰＤＦファイルから所定のページのオブジェクトが分割された分割ファイルを生成する。画像形成装置２０の印刷データ処理部２２２０は、ページデータ生成部２２１０によって生成される分割ファイルに基づいて、所定のページの画像の印刷を開始する。これにより、画像形成装置２０は、既存のプロッタエンジン２１１の機能により分割ファイルを印刷することができる。
【０１３９】
ＰＤＦファイルに、分割ファイルを生成可能であることを示す判断情報が含まれている場合に、印刷データ処理部２２２０は、所定のページの画像の印刷を開始する。これにより、画像形成装置２０は、特定情報を読み込んだときに、分割ファイルを生成するか即時に判断できる。
【０１４０】
ＰＤＦファイルにおいて、境界情報は、所定のページのオブジェクトと、他のページのオブジェクトとの間に配置される。これにより、画像形成装置２０は、所定のページのオブジェクトを読み込みながら、他のページのオブジェクトとの境界を検知することができる。
【０１４１】
ＰＤＦファイルにおいて、特定情報は、所定のページのオブジェクトの位置を示す位置情報である。これにより、画像形成装置２０は、相互参照表ＰＲを参照することなく、所定のページのオブジェクトを特定できる。
【０１４２】
画像形成装置２０のページデータ生成部２２１０（判断手段の一例）は、ＰＤＦファイルから所定のページのオブジェクトが分割された分割ファイルを生成可能であるか判断する。生成可能であると判断した場合、ページデータ生成部２２１０は、所定のページの分割ファイルを生成する。これにより、画像形成装置２０は判断情報が含まれないＰＤＦファイルに対しても分割ファイルを生成することが可能になる。
【０１４３】
画像形成装置２０の記憶部２０００（記憶手段の一例）は、通信部２３００によって受信されたオブジェクトを記憶する。画像形成装置２０のページデータ生成部２２１０は、記憶部２０００に記憶されたオブジェクトに基づいて、分割ファイルを生成する。これにより、画像形成装置２０は、所定のページの分割ファイルを生成するときに、参照先のオブジェクトがバッファに残っていない場合でも、記憶部２０００に記憶されたオブジェクトを用いて分割ファイルを生成することができる。
【０１４４】
画像形成装置２０Ａ（生成装置の一例）の読取制御部２１１０（読取手段の一例）は、原稿の画像を読み取る。画像形成装置２０Ａの画像生成部２１２０（生成手段の一例）は、読取制御部２１１０によって読み取られた画像を示すオブジェクト、このオブジェクトの位置を示す相互参照表ＰＲ、および所定のページのオブジェクトの位置を特定するための特定情報等を含み、相互参照表ＰＲが、オブジェクトおよび特定情報等よりも後に読み出されるファイルを生成する。相互参照表ＰＲが、オブジェクトおよび特定情報等よりも後に読み出されるとは、相互参照表ＰＲが、オブジェクトおよび特定情報等よりも大きいオフセットを有することを表す。これにより、画像形成装置２０Ａは、分割ファイルを生成可能なＰＤＦファイルを生成できる。なお、画像生成機能を有する画像形成装置２０Ａと、印刷機能を有する画像形成装置２０Ｂと、で画像形成システムを構築してもよい。この場合、画像形成装置２０ＡはＰＤＦファイルを端末１０から受信して、分割ファイルを作成し、分割ファイルを画像形成装置２０Ｂに送信する。画像形成装置２０Ｂは分割ファイルを受信すると、印刷処理を開始する。
【０１４５】
＜＜実施形態の補足＞＞
端末１０および画像形成装置２０用のプログラムは、インストール可能な形式又は実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体に記録されて流通されるようにしてもよい。また、上記記録媒体の他の例として、ＣＤ−Ｒ(Compact Disc Recordable)、ＤＶＤ(Digital Versatile Disk)、ブルーレイディスク等が挙げられる。また、上記記録媒体、あるいは、これらプログラムが記憶されたＨＤ(Hard Disk)は、プログラム製品(Program Product)として、国内又は国外へ提供できる。
【０１４６】
また、上記実施形態における端末１０、および画像形成装置２０は、単一の装置によって構築されてもよいし、各部（機能又は手段）を分割して任意に割り当てられた複数の装置によって構築されていてもよい。
【０１４７】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路を含むプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【０１４８】
１  通信システム
２  通信ネットワーク
１０  端末
２０  画像形成装置
２０００  記憶部
２１００  画像読取部
２１１０  読取制御部
２１２０  画像生成部
２２００  印刷部
２２１０  ページデータ生成部
２２２０  印刷データ処理部
２３００  通信部
２４００  表示部
５０  クラウドサービス
【先行技術文献】
【特許文献】
【０１４９】
【特許文献１】特開２０１０‐２６８９５号公報
【図１】
2019064249.tif 000004
【図２】
2019064249.tif 000005
【図３】
2019064249.tif 000006
【図４】
2019064249.tif 000007
【図５】
2019064249.tif 000008
【図６】
2019064249.tif 000009
【図７】
2019064249.tif 000010
【図８】
2019064249.tif 000011
【図９】
2019064249.tif 000012
【図１０】
2019064249.tif 000013
【図１１】
2019064249.tif 000014
【図１２】
2019064249.tif 000015
【図１３】
2019064249.tif 000016
【図１４】
2019064249.tif 000017
【図１５】
2019064249.tif 000018
【図１６】
2019064249.tif 000019
【図１７】
2019064249.tif 000020
【図１８】
2019064249.tif 000021
【図１９】
2019064249.tif 000022
【図２０】
2019064249.tif 000023
【図２１】
2019064249.tif 000024
【図２２】
2019064249.tif 000025
【図２３】
2019064249.tif 000026
【図２４】
2019064249.tif 000027