情報処理装置と通信可能な印刷装置であって、前記情報処理装置から印刷ジョブを識別するための印刷ジョブ識別情報と、印刷ジョブを実行するための印刷データとを受信する受信手段と、前記受信手段によって受信した印刷データに従って印刷を実行する印刷手段と、前記印刷ジョブ識別情報と、印刷ジョブにおける印刷済みのページ数とを含む印刷ジョブ情報を管理する管理手段と、前記印刷手段において印刷を実行する際に印刷対象のページ番号が前記管理手段によって管理されている印刷ジョブの前記印刷済みのページ数の値以下の場合には印刷対象ページのデータを破棄させ、該印刷対象のページ番号が該印刷済みのページ数の値を超える場合には前記印刷手段に印刷を実行させる印刷制御手段とを備えることを特徴とする印刷装置。前記管理手段は、前記印刷制御手段が前記印刷手段に印刷対象のページの印刷を実行させた後に、前記印刷手段から印刷の正常終了を示す通知を受けると、前記管理手段によって管理されている前記印刷済みのページ数を更新する更新手段を備えることを特徴とする請求項1に記載の印刷装置。前記管理手段は、印刷ジョブの実行が終了すると、対応する前記印刷ジョブ情報を削除する削除手段を備えることを特徴とする請求項1又は2に記載の印刷装置。前記印刷ジョブ情報は、さらに、当該印刷ジョブに関する情報を受信したポートの名称を示すポート名を含み、前記管理手段は、受信した前記印刷ジョブ識別情報と、該印刷ジョブ識別情報を受信した前記ポート名が既に管理している情報と一致すると、該印刷ジョブ識別情報を破棄することを特徴とする請求項1乃至3の何れか1項に記載の印刷装置。前記印刷ジョブ識別情報は、印刷ジョブを識別するためのジョブID、印刷ジョブの名称を示す印刷ジョブ名、印刷ジョブの実行を指示するユーザの名称を示すユーザ名、印刷ジョブが登録された時刻を示すジョブ登録時刻、及び、印刷ジョブを送信する情報処理装置の名称を示すコンピュータ名を含み、前記管理手段は、受信した前記印刷ジョブ識別情報のうち前記ジョブID、及び前記コンピュータ名のみが既に管理している情報と一致し、かつ、前記ポート名が既に管理している情報と一致すると、一致した既に管理している前記印刷ジョブ情報を削除し、受信した前記印刷ジョブ識別情報を含む印刷ジョブ情報を作成して新たに管理することを特徴とする請求項4に記載の印刷装置。前記管理手段は、さらに、前記印刷ジョブ情報を新たに作成して管理する際に、印刷ジョブ情報を管理できる規定の数を超える場合には、最も古い印刷ジョブ情報を削除することを特徴とする請求項1乃至5の何れか1項に記載の印刷装置。情報処理装置から印刷ジョブを識別するための印刷ジョブ識別情報と、印刷ジョブを実行するための印刷データとを受信する受信手段と、前記受信手段によって受信した印刷データに従って印刷を実行する印刷手段と、を備える印刷装置の制御方法であって、管理手段が、前記印刷ジョブ識別情報と、印刷ジョブにおける印刷済みのページ数とを含む印刷ジョブ情報を管理する管理ステップと、印刷制御手段が、前記印刷手段において印刷を実行する際に印刷対象のページ番号が前記管理ステップにおいて管理されている印刷ジョブの前記印刷済みのページ数の値以下の場合には印刷対象ページのデータを破棄させ、該印刷対象のページ番号が該印刷済みのページ数の値を超える場合には前記印刷手段に印刷を実行させる印刷制御ステップとを実行することを特徴とする印刷装置の制御方法。請求項7に記載の印刷装置の制御方法における各ステップをコンピュータに実行させるためのプログラム。しかしながら、従来技術には以下に記載する問題がある。例えば、情報処理装置が印刷ジョブと合わせて印刷済みページ数を管理する手法は、情報処理装置が印刷装置から情報を取得する必要がある。よって、送信が失敗するエラーの原因が情報処理装置と印刷装置を繋ぐケーブルが抜けたことにある場合や、情報処理装置から印刷装置への一方向に通信方向が限定された環境下にある場合は、情報の取得が行えないため上記手法を用いることはできない。そのため、ケーブル抜けなどにより情報処理装置が印刷装置から情報を取得できない場合に、送信失敗後の印刷再開によって重複印刷が発生し、その結果、無駄にトナーや用紙を消費してしまうという問題が発生してしまう。本発明は、上述の問題に鑑みて成されたものである。本発明は、情報処理装置と印刷中において通信不能に陥った後に当該通信が回復した場合に、既に印刷済みのページが重複して印刷されることを回避する仕組みを提供することを目的とする。本発明は、例えば、情報処理装置と通信可能な印刷装置であって、前記情報処理装置から印刷ジョブを識別するための印刷ジョブ識別情報と、印刷ジョブを実行するための印刷データとを受信する受信手段と、前記受信手段によって受信した印刷データに従って印刷を実行する印刷手段と、前記印刷ジョブ識別情報と、印刷ジョブにおける印刷済みのページ数とを含む印刷ジョブ情報を管理する管理手段と、前記印刷手段において印刷を実行する際に印刷対象のページ番号が前記管理手段によって管理されている印刷ジョブの前記印刷済みのページ数の値以下の場合には印刷対象ページのデータを破棄させ、該印刷対象のページ番号が該印刷済みのページ数の値を超える場合には前記印刷手段に印刷を実行させる印刷制御手段とを備えることを特徴とする。本発明は、情報処理装置と印刷中において通信不能に陥った後に当該通信が回復した場合に、既に印刷済みのページが重複して印刷されることを回避することができる。以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。<画像形成システムの構成>まず、図1を参照して、本実施形態における画像形成システムについて説明する。図中の101は情報処理装置であり、102は画像形成装置である。情報処理装置101はUSBやネットワークなどを経由して画像形成装置102と通信可能に接続されている。本画像形成システムにおいて、情報処理装置101から画像形成の指示とともに画像データを受信すると、画像形成装置102は、受信した画像データを用いて順次記録材に画像を形成する。なお、以下では、印刷装置の例として画像形成装置102を例に説明するが、本発明はこれに限定されず印刷機能を有する装置であれば適用することができる。<情報処理装置の構成>次に、図2を参照して、本実施形態における情報処理装置101のハードウェア構成について説明する。情報処理装置101は、システム制御部201、ROM202、RAM203、外部記憶装置制御部204、キーボード/マウス制御部205、ディスプレイ制御部206、通信制御部207、及び外部記憶装置220を備える。また、入出力機器としてキーボード/マウス230とディスプレイ240とを備える。システム制御部201は、CPUなどの処理装置であって、情報処理装置101が行う各種処理を統括的に制御している。ROM202は、不揮発性記憶装置であり、情報処理装置101の各種制御プログラムや初期設定値を格納する。RAM203は、揮発性記憶装置であり、情報処理装置101が行う各種処理のワークエリアとして使用される。本実施形態によれば、情報処理装置101が有するソフトウェアは、ROM202や後述する外部記憶装置220等からRAM203に読み出されて実行される。外部記憶装置制御部204は、ハードディスクやCD、DVDなどの外部記憶装置220に対する入出力などの制御を行っている。キーボード/マウス制御部205は、情報処理装置101に接続されたキーボード/マウス230からの入力を監視して、入力情報をシステム制御部201に通知する。ディスプレイ制御部206は、システム制御部201からの制御に従ってディスプレイ240の出力を制御する。通信制御部207は、USBやネットワークなどのコネクタとその制御装置であり、システム制御部201からの制御に従って外部との入出力を制御する。システムバス208は、前述のシステム制御部201、ROM202、RAM203、外部記憶装置制御部204、キーボード/マウス制御部205、ディスプレイ制御部206、及び通信制御部207が配置された情報処理装置101内のバスである。<画像形成装置の構成>次に、図3を参照して、本実施形態における画像形成装置102のハードウェア構成について説明する。画像形成装置102は、システム制御部301、ROM302、RAM303、画像処理部304、操作部305、表示部306、通信制御部307、及び、エンジン部308を備える。システム制御部301は、CPUなどの処理装置であって、画像形成装置102が行う各種処理を統括的に実行する。また、エンジン部308とのシリアル通信装置を有する。ROM302は、不揮発性記憶装置であり、画像形成装置102の各種制御プログラムや初期設定値を格納する。本実施形態においては、画像形成装置102が有するソフトウェアは、このROM302に記録され必要に応じてRAM303に格納され実行される。RAM303は揮発性記憶装置であって、画像形成装置102が行う各種処理のワークエリアとして使用される。本実施形態においては、画像形成装置102が有するソフトウェアは、ROM302等に格納された制御プログラムをRAM303に読み出して実行することによって実現される。画像処理部304は、ASICなどの集積回路であって、システム制御部301の制御に従って各種画像処理を行う。操作部305はボタン等の入力装置であり、システム制御部301は常に入力の状態を監視している。表示部306はLCD等の表示装置であり、システム制御部301の制御に従い表示を行っている。通信制御部307はUSBやネットワークなどのコネクタとその制御装置であり、システム制御部301からの制御に従い、外部との入出力の制御を行っている。エンジン部308は、紙搬送系やレーザビーム制御系、定着器系などの実際に用紙に画像を印字するための装置や、印刷の成功やエラー発生等を検知する検知装置、システム制御部301と通信するためのシリアル通信装置などを有する。システムバス309は、前述のシステム制御部301、ROM302、RAM303、画像処理部304、操作部305、表示部306、通信制御部307、及びエンジン部308が配置された画像形成装置102内のバスである。<画像形成システムにおけるソフトウェア構成>次に、図4を参照して、本実施形態の画像形成システムにおけるソフトウェア構成例について説明する。なお、ここではソフトウェアとして各コンポーネントについて説明するが、本発明はこれに限定されず、例えば各コンポーネントがハードウェア又はハードウェアとソフトウェアの組み合わせとして実現されてもよい。情報処理装置101は、アプリケーション410、プリンタドライバ420、印刷ジョブ制御部430、及びランゲージモニタ440を含む。また、印刷ジョブ制御部430は、印刷実行制御部431及び印刷ジョブ管理部432を含む。また、ランゲージモニタ440は、印刷ジョブ開始通知部441、印刷ジョブ識別情報送信部442、印刷データ送信部443、及び印刷ジョブ終了通知部444を含む。これらのソフトウェアは、いずれも外部記憶装置220に記録され、必要に応じてRAM203に読み出されてシステム制御部201によって実行される。アプリケーション410は、ユーザが使用するアプリケーションである。例えば、ユーザはアプリケーション410を介して印刷の開始指示を行うことができる。プリンタドライバ420は、ユーザがアプリケーション410から印刷を指示しようとする際に各種印刷設定を行うためのUIを提供する。またプリンタドライバ420は、アプリケーション410からの印刷指示に従って印刷ジョブを作成し、作成した印刷ジョブを後述の印刷ジョブ管理部432に登録する。印刷ジョブ制御部430は印刷ジョブの管理と印刷の実行制御を行う。詳細は後述の印刷実行制御部431と印刷ジョブ管理部432で説明する。印刷実行制御部431は印刷ジョブ管理部432から印刷指示を受けた印刷ジョブについて、ランゲージモニタ440を経由して印刷ジョブの開始通知、印刷データ、印刷ジョブの終了通知を制御部450に送信することで印刷を行う。また印刷実行制御部431は印刷が終了すると、印刷対象となっていた印刷ジョブを削除する。印刷ジョブ管理部432はプリンタドライバ420から登録された印刷ジョブを保持し、保持している印刷ジョブの中から印刷すべきジョブを決定し印刷実行制御部431に通知している。また印刷ジョブ管理部432は印刷ジョブを管理するための番号以下、ジョブIDと称する。や、印刷ジョブ名や、印刷ジョブを実行したユーザ名や、印刷ジョブの登録時刻など、印刷ジョブに関わる情報も管理している。なお、ジョブIDは印刷ジョブが登録された際に印刷ジョブ管理部432が発行する固有の値であり、印刷ジョブを識別するため重複した番号が発行されることはないものとする。さらに、印刷ジョブ名とユーザ名は印刷ジョブが登録された際にプリンタドライバ420から受け取り、登録時刻は印刷ジョブが登録された際に不図示の情報機器のオペレーティングシステム以下、OSと称する。に問い合わせて取得している。ランゲージモニタ440は、通信制御部207を利用して画像形成装置102の制御部450との各種通信を行う。印刷ジョブ開始通知部441は、印刷実行制御部431からの印刷ジョブの開始通知を受けて、制御部450に対して印刷ジョブの開始通知を送信する。印刷ジョブ識別情報送信部442は、印刷ジョブ管理部432やOSに問い合わせて印刷ジョブを一意に識別するための情報である印刷ジョブ識別情報を取得し、上記印刷ジョブ識別情報を制御部450に対して送信する。なお、本実施形態では、印刷ジョブ識別情報とは、印刷ジョブ管理部432が有する上記ジョブIDと、印刷ジョブ名と、印刷ジョブを実行したユーザ名と、印刷ジョブの登録時刻と、OSが有する情報処理装置のコンピュータ名とを含むものとする。詳細については図5を用いて後述する。印刷データ送信部443は、印刷実行制御部431からの印刷ジョブのデータ送信を受けて、制御部450に対して受信した印刷ジョブのデータを送信する。印刷ジョブ終了通知部444は、印刷実行制御部431からの印刷ジョブの終了通知を受けて、制御部450に対して印刷ジョブの終了通知を送信する。画像形成装置102は、制御部450、印刷ジョブ情報管理部460、ページ印刷制御部470、及び画像出力部480備える。また、印刷ジョブ情報管理部460は、印刷ジョブ情報保持部461、重複保持回避部462、印刷ジョブ情報削除部463、及び印刷済みページ数加算部464を備える。また、ページ印刷制御部470は、ページ印刷部471、及びページ破棄部472を備える。制御部450は、通信制御部307を利用したランゲージモニタ440との通信制御と、通信内容に応じた処理を行っている。具体的には、受信した印刷データの解析、解析して得られたページ情報のRAM303への保持、印刷ジョブ識別情報の印刷ジョブ情報保持部461への送信、印刷ジョブ終了通知を受信したことの印刷ジョブ情報削除部463への通知などを行う。また、制御部450は、ケーブル抜けによる通信エラーの発生など、通信に関わる情報を通信制御部307を通して検知し、必要に応じて検知した内容をページ印刷制御部470などに通知している。なお、本実施形態では印刷ジョブ情報保持部461に印刷ジョブ識別情報を送信する際、印刷ジョブ識別情報を受信したポート名も合わせて送信する。ポート名とは、例えばUSBやNetworkなどである。制御部450は、通信制御部307から受信が行われたポート名を取得している。印刷ジョブ情報管理部460は、受信した印刷ジョブ識別情報と、当該印刷ジョブ識別情報が指し示す印刷ジョブの印刷済みページ数とを合わせて印刷ジョブ情報500として管理する。印刷ジョブ情報保持部461は、制御部450から受信した印刷ジョブ識別情報と、印刷済みページ数と、ポート名を合わせて印刷ジョブ情報500を作成しRAM303に保持する。詳細は後述の図5で説明する。なお、印刷ジョブ情報500は複数の情報を含むことができるものとする。保持できる最大数は予め設定されており、最大数を超えそうになった場合は古いものから削除する。また上記最大数はユーザが操作部305などを用いて任意に変更できるものであってもよい。重複保持回避部462は、印刷ジョブ情報保持部461が印刷ジョブ識別情報を受信した際に、印刷ジョブ情報保持部461で保持されている印刷ジョブ情報500内に受信した印刷ジョブ識別情報と同じ印刷ジョブ識別情報を有するものが存在するか確認する。そして重複保持回避部462は、同じ印刷ジョブ識別情報を有するものが存在すると判断した場合、上記印刷ジョブ情報保持部461による印刷ジョブ情報500の作成と保持を行わず、受信した印刷ジョブ識別情報を破棄する。これは、重複した情報を保持することにより重複して印刷出力することを防止するためである。印刷ジョブ情報削除部463は、制御部450から印刷ジョブ終了通知を受信したことを通知された際に、当該印刷ジョブに対応する印刷ジョブ識別情報を有する印刷ジョブ情報をRAM303から削除する。印刷済みページ数加算部464は、更新手段として機能し、ページ印刷部471からページの印刷が正常に終了したことを示す通知を受けた際に、上記ページが属する印刷ジョブに対応する印刷ジョブ情報500が有する印刷済みページ数520の値を1加算する。ページ印刷制御部470は、制御部450がRAM303に保持したページを順次印刷する。ページ印刷部471は、RAM303内に保持されたページを、ページ番号順に、1ページずつ画像出力部480へ送信する。また、ページ印刷部471は、画像出力部480から送信したページの印刷が正常に終了したことが通知された場合、RAM303から上記ページの情報を削除する。そしてページが正常に印刷終了したことを印刷済みページ数加算部464に通知する。ページ破棄部472は、ページ印刷部471がページを画像出力部480へ送信する直前に動き、ページが属する印刷ジョブに対応する印刷ジョブ情報500が有する印刷済みページ数520の値を取得する。そしてページ破棄部472は、取得した値と、印刷対象ページのページ番号を比較し、ページ番号が取得した値以下の場合は、画像出力部480への送信を差し止めて、RAM303から上記ページの情報を削除する。画像出力部480は、エンジン部308における印刷の制御を行っており、受信した印刷ジョブのページ及び各種命令に従って画像の形成を行う。また、ページの画像形成が正常終了したか否かを検知し、検知結果をページ印刷制御部470に通知する。<印刷ジョブ>次に、図5を参照して、本実施形態における印刷ジョブ情報管理部460が管理する印刷ジョブ情報の一例について説明する。印刷ジョブ情報500は、印刷ジョブ情報保持部461によって作成される情報であり、印刷ジョブ識別情報510、印刷済みページ数520、及びポート名530を含む。印刷ジョブ識別情報510は、ジョブID511、印刷ジョブ名512、ユーザ名513、ジョブ登録時刻514、及びコンピュータ名515を含む。なお、これらの情報は、一例であり、画像形成システムの仕様等に従って他の情報を含むようにしてもよい。印刷ジョブ識別情報510は、印刷ジョブ識別情報送信部442から送信された情報であり、印刷ジョブを一意に識別することができる。ジョブID511、印刷ジョブ名512、ユーザ名513、ジョブ登録時刻514、及びコンピュータ名515は、上記印刷ジョブ管理部432の説明で記載した通り、印刷ジョブ管理部432とOSが有する印刷ジョブに関する情報である。印刷済みページ数520は、印刷ジョブ識別情報510が指し示す印刷ジョブにおいて、何ページ目までが正常に印刷されたかを記録する値である。印刷済みページ数520は、印刷ジョブ情報500作成時に0がセットされ、上記印刷済みページ数加算部464により1ずつ加算される。ポート名530は、例えば情報処理装置101から、制御部450が印刷ジョブ識別情報を受信したポートの名称である。<印刷実行処理>次に、図6を参照して、本実施形態における情報処理装置101が行う印刷実行処理について説明する。以下で説明する処理は、システム制御部201がROM202や外部記憶装置220等に記憶された制御プログラムをRAM203に読み出して実行することにより実現される。以下の処理は、印刷実行制御部431が印刷ジョブ管理部432より印刷ジョブの印刷実行を指示されたことをトリガに開始される。まず、以下の各ステップを説明する前に、本実施形態における情報処理装置101の印刷ジョブのデータ送信に関して概要を説明する。本実施形態において、情報処理装置101は、印刷ジョブのデータを画像形成装置102に対して送信する際、ページ単位で送信するのではなく、印刷ジョブを構成する全データを後述する既定の送信サイズごとに区切って順次送信するものとする。より詳細には、情報処理装置101は、印刷ジョブのデータ送信を開始する際、印刷ジョブを構成する全データの先頭を送信開始位置として、送信開始位置から送信サイズ分だけのデータを送信する。送信が成功すると、情報処理装置101は、送信開始位置を送信サイズ分ずらして、再び送信開始位置からデータを送信する。これを繰り返して印刷ジョブの全データを送信する。送信が失敗すると送信開始位置を印刷ジョブの全データの先頭に戻して処理をやり直す。また、上記送信サイズは基本的に一定の値であるものとし、印刷ジョブの未送信データのサイズが一定の値に満たない場合のみ、未送信データのサイズを送信サイズとする。もちろん、送信サイズの定義が上記の定義以外のものであっても、本実施形態で提案する手法は有効である。S601において、印刷実行制御部431は、印刷ジョブ開始通知部441に対して印刷ジョブの開始を通知し、S602に進む。通知を受けた印刷ジョブ開始通知部441の処理は図7を用いて後述する。S602において、印刷実行制御部431は、印刷ジョブ開始通知部441が行った通知の結果が失敗か否かを判定する。通知が失敗していればS601へ戻り、成功していればS603へ進む。S603において、印刷実行制御部431は、印刷データの送信開始位置を印刷ジョブの全データの先頭に合わせ、S604で送信開始位置から印刷データを送信サイズ分だけ印刷データ送信部443に対して送信する。印刷データ送信部443は、受信した印刷データを制御部450へ送信し、S605へ進む。S605において、印刷データ送信部443は、S604における送信が失敗したか否かを判定する。送信が失敗したならS601へ戻り、成功したならS606へ進む。S606において、印刷実行制御部431は、送信開始位置を更新、即ち、送信開始位置を送信サイズ分だけ後ろにずらし、S607へ進む。S607において、印刷実行制御部431は、印刷ジョブに属する全データを送信したか否かを判定する。送信したならS608へ進み、未送信のデータが残っているならS604へ戻る。S608において、印刷実行制御部431は、印刷ジョブ終了通知部444に対して印刷ジョブの終了を通知する。通知を受けた印刷ジョブ終了通知部444は、印刷ジョブ終了通知を制御部450へ送信し、S609へ進む。S609において、印刷ジョブ終了通知部444は、S608における送信が失敗したか否かを判定する。送信が失敗したならS601へ戻り、成功したならS610へ進む。S610において、印刷実行制御部431は、印刷対象となった印刷ジョブを削除して、本処理を終了する。<印刷ジョブ開始通知処理>次に、図7を参照して、本実施形態における印刷ジョブ開始通知部441による印刷ジョブ開始通知処理について説明する。以下で説明する処理は、システム制御部201がROM202や外部記憶装置220等に記憶された制御プログラムをRAM203に読み出して実行することにより実現される。上記S601において、印刷実行制御部431から印刷ジョブ開始通知部441へ印刷ジョブの開始が通知されたことをトリガに開始される。S701において、印刷ジョブ開始通知部441は、印刷実行制御部431から受信した印刷ジョブの開始通知を画像形成装置102の制御部450へ送信し、S702へ進む。S702において、印刷ジョブ開始通知部441は、S701における送信が失敗したか否かを判定する。失敗していればS706へ進み、成功していればS703へ進む。S703において、印刷ジョブ開始通知部441は、印刷ジョブ識別情報送信部442に印刷ジョブ識別情報の送信を指示する。印刷ジョブ識別情報送信部442は、印刷ジョブ識別情報を取得する。具体的には、印刷ジョブ識別情報送信部442は、印刷ジョブ管理部432とOSに問い合わせて、ジョブID、印刷ジョブ名、ユーザ名、印刷ジョブ登録時刻、及びコンピュータ名を取得し、S704へ進む。S704において、印刷ジョブ識別情報送信部442は、S703で取得した印刷ジョブ識別情報を制御部450へ送信し、S705へ進む。S705において、印刷ジョブ識別情報送信部442は、S704における印刷ジョブ識別情報の送信が失敗したか否かを判定する。失敗していればS707へ進み、成功していればS706へ進む。S706において、印刷ジョブ開始通知部441は、印刷実行制御部431に通知成功の結果を返して、本処理を終了する。一方、S707において、印刷ジョブ開始通知部441は、印刷実行制御部431に通知失敗の結果を返して、本処理を終了する。<データ受信処理>次に、図8を参照して、本実施形態における制御部450がデータ受信を行った際の処理について説明する。以下で説明する処理は、システム制御部301がROM302等に記憶された制御プログラムをRAM303に読み出して実行することにより実現される。なお、以下で説明する処理は、制御部450が何らかのデータを受信したことをトリガに開始される。S801において、制御部450は、受信データが印刷ジョブ開始通知であるか否か判定する。印刷ジョブ開始通知であればS802へ進み、そうでないならS803へ進む。S802において、制御部450は、後述する印刷中フラグをONにする。そして印刷が開始されたことをページ印刷制御部470に通知してから本処理を終了する。なお、印刷中フラグは、印刷ジョブが開始され印刷中となったことを示すフラグであり、画像形成装置102の電源がONになりシステムが起動した際に作成されRAM303に格納される。初期値はOFFである。S803において、制御部450は、受信データが印刷ジョブ識別情報であるか否かを判定する。印刷ジョブ識別情報ならS804へ進み、そうでないならS806へ進む。S804において、制御部450は、印刷中フラグがONであるか否かを判定する。ONであればS805へ進み、OFFならS814へ進む。S805において、制御部450は、受信した印刷ジョブ識別情報と、データを受信したポートのポート名とを、印刷ジョブ情報管理部460へ送信し、本処理を終了する。S806において、制御部450は、受信データが印刷データであるか否かを判定する。印刷データあればS807へ進み、そうでないならS809へ進む。S807において、制御部450は、印刷中フラグがONであるか否かを判定する。ONあればS808へ進み、OFFならS814へ進む。S808において、制御部450は、印刷データを解析してページ単位で情報をRAM303内に保持し、本処理を終了する。なお、受信した印刷データが1ページ分に満たない場合は、一時データとしてRAM303に記憶しておき、次に印刷データを受信したとき、受信した印刷データを記憶しておいた一時データの続きとして扱う。S809において、制御部450は、受信データが印刷ジョブ終了通知であるか否かを判定する。印刷ジョブ終了通知であればS810へ進み、そうでないならS813へ進む。S810において、制御部450は、印刷中フラグがONであるか否かを判定する。ONであればS811へ進み、OFFならS814へ進む。S811において、制御部450は、印刷ジョブ情報削除部463に印刷ジョブ終了通知を送信し、S812へ進む。S812において、制御部450は、印刷中フラグをOFFに設定し、本処理を終了する。S813において、制御部450は、受信データの内容に基づいた従来の受信処理を行い、本処理を終了する。この処理は本発明の本質とは関係のない、従来から行われている一般的な処理であるため詳細な説明については省略する。S814において、制御部450は、印刷が開始されていないにも関わらず印刷データの受信等の印刷開始後に受信するデータを受信したため、本来ありえない事態が起きたと判断して従来のエラー処理を実行し、処理を終了する。この処理は本発明の本質とは関係のない、従来から行われているエラーに対する処理であるため詳細な説明については省略する。<印刷ジョブ情報保持処理>次に、図9を参照して、本実施形態における印刷ジョブ情報管理部460の印刷ジョブ情報保持処理について説明する。以下で説明する処理は、システム制御部301がROM302等に記憶された制御プログラムをRAM303に読み出して実行することにより実現される。以下の処理はS805において印刷ジョブ情報管理部460が制御部450から印刷ジョブ識別情報とポート名を受信したことをトリガに開始される。S901において、重複保持回避部462は、受信した印刷ジョブ識別情報及びポート名と、既に保持している印刷ジョブ識別情報及びポート名とが一致するか否かを判定する。一致していればS902へ進み、一致していなければS903へ進む。S902において、重複保持回避部462は、受信した印刷ジョブ情報とポート名を破棄して、本処理を終了する。S903において、重複保持回避部462は、受信したポート名と印刷ジョブ識別情報のジョブID及びコンピュータ名と一致する情報を有し、かつユーザ名や登録事項等の他の情報が異なる印刷ジョブ情報500を保持していないか判定する。保持していればS904へ進み、保持していなければS905へ進む。S904において、重複保持回避部462は、S903で保持していると判定した印刷ジョブ情報500を削除し、S907へ進む。一方、S905において、印刷ジョブ情報保持部461は、現在保持している印刷ジョブ情報500の数が、規定の数を超えているか否かを判定する。超えていればS906へ進み、超えていなければS907へ進む。なお、図4を用いて上述したように、本実施形態では印刷ジョブ情報500は、複数の情報を含むことができるものとする。保持できる最大数は上記既定の値として予め設定されており、最大数を超えそうになった場合は古いものから削除する。S906において、印刷ジョブ情報保持部461は、保持している中で最も古い印刷ジョブ情報500を削除する。具体的には、印刷ジョブ情報保持部461は、印刷ジョブ情報500をキュー構造として複数の情報を保持しておき、キューの先頭要素を削除し、S907へ進む。S907において、印刷ジョブ情報保持部461は、印刷ジョブ情報500を作成して保持する。具体的には、受信した印刷ジョブ識別情報510とポート名530と、上記印刷ジョブ識別情報500に対応する印刷ジョブの印刷済みページ数520をまとめて、1つの印刷ジョブ情報500とする。そして、印刷ジョブ情報保持部461は、印刷ジョブ情報500をキュー構造で管理し、新しく作成した印刷ジョブ情報500をキューの最後尾に追加し、本処理を終了する。<印刷ジョブ情報削除処理>次に、図10を参照して、本実施形態における印刷ジョブ情報管理部460の印刷ジョブ情報削除処理について説明する。以下で説明する処理は、システム制御部301がROM302等に記憶された制御プログラムをRAM303に読み出して実行することにより実現される。以下の処理は、S811において印刷ジョブ情報削除部463に印刷ジョブ終了が通知されたことをトリガに開始される。S1001において、印刷ジョブ情報削除部463は、印刷終了が通知された印刷ジョブに対応する印刷ジョブ情報500を保持しているか否かを判定する。保持していればS1002へ進み、保持していなければ本処理を終了する。S1002において、印刷ジョブ情報削除部463は、保持している印刷ジョブ情報500を削除して、本処理を終了する。<印刷済み数加算処理>次に、図11を参照して、本実施形態における印刷ジョブ情報管理部460の印刷済みページ数加算処理について説明する。以下で説明する処理は、システム制御部301がROM302等に記憶された制御プログラムをRAM303に読み出して実行することにより実現される。以下の処理は後述の図12のS1211においてページ印刷部471からページの正常終了が印刷済みページ数加算部464に通知されたことをトリガに開始される。S1101において、印刷済みページ数加算部464は、ページの正常終了が通知された印刷ジョブに対応する印刷ジョブ情報500を保持しているか否かを判定する。保持していればS1102へ進み、保持していなければ本処理を終了する。S1102において、印刷済みページ数加算部464は、S1101で保持していると判定した印刷ジョブ情報500が有する印刷済みページ数520の値を1加算し、本処理を終了する。<印刷制御処理>次に、図12を参照して、本実施形態におけるページ印刷制御部470による印刷制御処理について説明する。以下で説明する処理は、システム制御部301がROM302等に記憶された制御プログラムをRAM303に読み出して実行することにより実現される。以下の処理は、S802において印刷が開始されたことをページ印刷部471が受けたことをトリガに開始される。S1201において、ページ印刷部471は、制御部450に対して情報処理装置101と通信できないようなエラー、例えばケーブル抜け等が発生しているか否かを問い合わせる。発生していればS1202へ進み、発生していなければS1203へ進む。S1202において、ページ印刷部471は、印刷中フラグをOFFにして、本処理を終了する。S1203において、ページ印刷部471は、印刷ジョブの全ページが印刷済みであるか否かを判定する。印刷済みであれば本処理を終了し、印刷済みでないならS1204へ進む。S1204において、ページ印刷部471は、印刷ジョブに属するページが制御部450によってRAM303上に保持されているか否かを確認する。保持されていなければS1201へ進み、保持されていればS1205へ進む。S1205において、ページ印刷部471は、保持されているページの中で一番先頭のページを印刷対象として選択し、S1206へ進む。S1206において、ページ破棄部472は、印刷ジョブ情報管理部460が管理している印刷ジョブ情報500の中から、印刷ジョブに対応する印刷ジョブ情報500を探して、その中の印刷済みページ数520の値を取得し、S1207へ進む。S1207において、ページ破棄部472は、S1206で取得した値と、印刷対象となっているページのページ番号とを比較する。ページ番号が取得した値以下ならS1212へ進み、そうでないならS1208へ進む。S1208において、ページ印刷部471は、印刷対象のページを画像出力部480に送信して印刷を実行させ、S1209へ進む。S1209において、ページ印刷部471は、画像出力部480から印刷結果が返るのを待つ。結果が返っていなければS1209の判定を定期的に繰り返し、結果が返っていればS1210へ進む。S1210において、ページ印刷部471は、S1209で得られた結果がエラーか否かを判定する。エラーであればS1213へ進み、正常終了ならS1211へ進む。S1211において、ページ印刷部471は、印刷済みページ数加算部464にページの正常終了を通知し、S1212へ進む。S1212において、ページ印刷部471は、印刷対象ページをRAM303上から破棄し、S1204へ戻る。一方、S1213において、ページ印刷部471は、従来のエラー処理を行い、S1204へ戻る。この処理は本発明の本質とは関係のない、従来から行われている一般的な処理であるため詳細な説明については省略する。以上説明したように、情報処理装置が画像形成装置から情報を取得できない場合であっても、印刷ジョブのデータ送信が失敗した後に印刷を再開した際に、印刷済みのページが重複して印刷することを回避できる。それによって、無駄な用紙やトナーの消費を防ぐことができる。<その他の実施形態>なお、本発明は上記実施形態に限らず様々な変形が可能である。例えば、上記実施形態で提案した機能を利用したくない場合が存在する可能性も考慮して、当該機能のON/OFF制御を行うようにしてもよい。具体的には、プリンタドライバ420が提供するUIの中に当該機能のON/OFFを入力するチェックボックスを用意する。上記チェックボックスがOFFにされた状態で印刷が実行された場合、印刷ジョブ識別情報送信部442は動作しないものとする。すると、画像形成装置102が印刷ジョブ識別情報を受信することがなくなるため、印刷ジョブ情報管理部460が動作せず、ページ破棄部472も動作しなくなる。その結果、本発明が提案する重複印刷回避の機能が動かなくなるため、従来の画像形成システムと同様の動作をすることとなる。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ又はCPUやMPU等がプログラムを読み出して実行する処理である。