(57)【要約】【課題】ウイルスチェック時における画像形成装置の印刷性能の低下を抑制する。【解決手段】画像形成装置が実行する処理は、印刷ジョブのデータを受信するステップ（Ｓ５３０）と、受信した印刷ジョブに含まれる印刷データのウイルスチェック処理を実行するステップ（Ｓ５３５）と、印刷データのページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップ（Ｓ５４０）と、判定に基づいて、プリント部に、印刷データのページのウイルスチェックの完了を待たずに印刷データのページの印刷処理を開始させる第１の印刷制御、または、プリント部に、印刷データのページのウイルスチェックの完了を待ってから印刷データのページの印刷処理を開始させる第２の印刷制御のいずれかを選択するステップ（Ｓ５４５，Ｓ５５０）と、選択された印刷制御に基づいて印刷処理を行うステップとを含む。【選択図】図５
2020203419.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
他の端末から印刷ジョブを受信する通信部と、
プリント処理を行うプリント部と、
ウイルスチェックプログラムを格納する記憶部と、
前記画像形成装置を制御する制御部とを備え、
前記制御部は、
前記ウイルスチェックプログラムを取得し、
当該ウイルスチェックプログラムを用いて、前記通信部により受信した印刷ジョブに含まれる印刷データのページのウイルスチェックを実行し、
前記印刷データのページがウイルスチェックの対象となる外部リンクを有するか否かを判定し、
前記判定に基づいて、前記プリント部に、前記印刷データのページのウイルスチェックの完了を待たずに前記印刷データのページの印刷処理を開始させる第１の印刷制御、または、前記プリント部に、前記印刷データのページのウイルスチェックの完了を待ってから前記印刷データのページの印刷処理を開始させる第２の印刷制御のいずれかを選択し、
前記プリント部は、前記選択された印刷制御のための信号を受信し、前記信号に基づいて印刷処理を行う、画像形成装置。
【請求項２】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することは、
前記印刷データのページが第１の閾値以上の数の外部リンクを有さない場合、前記第１の印刷制御を選択することと、
前記印刷データのページが前記第１の閾値以上の数の外部リンクを有する場合、前記第２の印刷制御を選択することとを含む、請求項１に記載の画像形成装置。
【請求項３】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することは、
前記印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が第２の閾値未満である場合、前記第１の印刷制御を選択することと、
前記印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が前記第２の閾値以上である場合、前記第２の印刷制御を選択することとを含む、請求項１に記載の画像形成装置。
【請求項４】
前記印刷データは、複数のページを含み、
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することは、前記印刷データに含まれる各ページのそれぞれに対し、前記判定の結果に基づいて、前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することを含む、請求項１に記載の画像形成装置。
【請求項５】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することは、
ページ番号Ｎのページのウイルスチェックにかかる時間を推定することと、
前記ウイルスチェックにかかる時間の推定結果に基づいて、ウイルスチェックの完了を待たずに前記ページ番号Ｎのページの印刷処理を開始した場合にジャムが発生するか否かを判定することと、
前記ジャムの発生の判定の結果に基づいて、前記ページ番号Ｎのページの印刷制御として、前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することとを含む、請求項４に記載の画像形成装置。
【請求項６】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することは、
現在印刷中のページのページ番号Ａを取得することと、
外部リンクを含むページのページ番号Ｂを取得することと、
前記ページ番号Ａから前記ページ番号Ｂまでのページを印刷するために必要な時間Ｘを取得することと、
前記ページ番号Ａから前記ページ番号Ｂまでのページをウイルスチェックするために必要な時間Ｙを取得することと、
前記時間Ｘと、前記時間Ｙとを比較することで、ウイルスチェックの完了を待たずに前記ページ番号Ｂのページの印刷処理を開始した場合にジャムが発生するか否かを判定することと、
前記ジャムの発生の判定の結果に基づいて、前記ページ番号Ｂのページの印刷制御として、前記第１の印刷制御または前記第２の印刷制御のいずれかを選択することとを含む、請求項５に記載の画像形成装置。
【請求項７】
前記制御部は、
前記複数のページが、前記第１の印刷制御を選択されたページ番号Ｃのページと、前記第２の印刷制御を選択されたページ番号Ｄのページとを含む場合、前記ページ番号Ｃのページの印刷処理中に前記ページ番号Ｃのページのウイルスチェックを行い、
前記ページ番号Ｄのページのウイルスチェックの完了後に、前記プリント部に前記ページ番号Ｄのページの印刷処理を開始させる、請求項４に記載の画像形成装置。
【請求項８】
受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定することは、ページが画像データであることに基づいて、ページは外部リンクを有さないと判定することを含む、請求項１〜７のいずれかに記載の画像形成装置。
【請求項９】
前記外部リンクは、ページ内に含まれるハイパーリンクを含む、請求項１〜８のいずれかに記載の画像形成装置。
【請求項１０】
前記通信部は、印刷ジョブのヘッダーデータを受信し、
受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定することは、前記ヘッダーデータに外部リンクが含まれるか否かを判定することを含み、
前記通信部は、前記ヘッダーデータに含まれる外部リンクのリンク先のデータを取得する、請求項１〜９のいずれかに記載の画像形成装置。
【請求項１１】
画像形成装置を制御するプログラムであって、前記プログラムは前記画像形成装置に、
ウイルスチェックプログラムを読み出すステップと、
当該ウイルスチェックプログラムを用いて、受信した印刷ジョブに含まれる印刷データのページのウイルスチェックを実行するステップと、
前記印刷データのページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップと、
前記判定に基づいて、前記印刷データのページのウイルスチェックの完了を待たずに前記印刷データのページの印刷処理を開始する第１の印刷制御、または、前記印刷データのページのウイルスチェックの完了を待ってから前記印刷データのページの印刷処理を開始する第２の印刷制御のいずれかを選択するステップと、
前記選択された印刷制御に基づいて印刷処理を行うステップとを実行させる、プログラム。
【請求項１２】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップは、
前記印刷データのページが第１の閾値以上の数の外部リンクを有さない場合、前記第１の印刷制御を選択するステップと、
前記印刷データのページが前記第１の閾値以上の数の外部リンクを有する場合、前記第２の印刷制御を選択するステップとを含む、請求項１１に記載のプログラム。
【請求項１３】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップは、
前記印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が第２の閾値未満である場合、前記第１の印刷制御を選択するステップと、
前記印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が前記第２の閾値以上である場合、前記第２の印刷制御を選択するステップとを含む、請求項１１に記載のプログラム。
【請求項１４】
前記印刷データは、複数のページを含み、
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップは、前記印刷データに含まれる各ページのそれぞれに対し、前記判定の結果に基づいて、前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップを含む、請求項１１に記載のプログラム。
【請求項１５】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップは、
ページ番号Ｎのページのウイルスチェックにかかる時間を推定するステップと、
前記ウイルスチェックにかかる時間の推定結果に基づいて、ウイルスチェックの完了を待たずに前記ページ番号Ｎのページの印刷処理を開始した場合にジャムが発生するか否かを判定するステップと、
前記ジャムの発生の判定の結果に基づいて、前記ページ番号Ｎのページの印刷制御として、前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップとを含む、請求項１４に記載のプログラム。
【請求項１６】
前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップは、
現在印刷中のページのページ番号Ａを取得するステップと、
外部リンクを含むページのページ番号Ｂを取得するステップと、
前記ページ番号Ａから前記ページ番号Ｂまでのページを印刷するために必要な時間Ｘを取得するステップと、
前記ページ番号Ａから前記ページ番号Ｂまでのページをウイルスチェックするために必要な時間Ｙを取得するステップと、
前記時間Ｘと、前記時間Ｙとを比較することで、ウイルスチェックの完了を待たずに前記ページ番号Ｂのページの印刷処理を開始した場合にジャムが発生するか否かを判定するステップと、
前記ジャムの発生の判定の結果に基づいて、前記ページ番号Ｂのページの印刷制御として、前記第１の印刷制御または前記第２の印刷制御のいずれかを選択するステップとを含む、請求項１５に記載のプログラム。
【請求項１７】
前記プログラムは前記画像形成装置に、
前記複数のページが、前記第１の印刷制御を選択されたページ番号Ｃのページと、前記第２の印刷制御を選択されたページ番号Ｄのページとを含む場合、前記ページ番号Ｃのページの印刷処理中に前記ページ番号Ｃのページのウイルスチェックを行なうステップと、
前記ページ番号Ｄのページのウイルスチェックの完了後に、前記ページ番号Ｄのページの印刷処理を開始するステップとをさらに実行させる、請求項１４に記載のプログラム。
【請求項１８】
受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップは、ページが画像データであることに基づいて、ページは外部リンクを有さないと判定するステップを含む、請求項１１〜１７のいずれかに記載のプログラム。
【請求項１９】
前記外部リンクは、ページ内に含まれるハイパーリンクを含む、請求項１１〜１８のいずれかに記載のプログラム。
【請求項２０】
前記プログラムは前記画像形成装置に、印刷ジョブのヘッダーデータを受信するステップをさらに実行させ、
受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップは、前記ヘッダーデータに外部リンクが含まれるか否かを判定するステップを含み、
前記プログラムは前記画像形成装置に、前記ヘッダーデータに含まれる外部リンクのリンク先のデータを取得するステップをさらに実行させる、請求項１１〜１９のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像形成装置に関し、より特定的には、印刷ジョブのウイルスチェック処理に関する。
【背景技術】
【０００２】
近年、ＭＦＰ（Multifunction Peripheral）等の画像形成装置は、ネットワークに接続されて、ＰＣ（Personal Computer）等のユーザー端末から当該ネットワークを介して印刷ジョブを受信することが一般的である。画像形成装置は、ネットワークに接続されることで、その利便性が大きく向上する反面、ウイルスに感染したファイルを受信する可能性が出てきた。
【０００３】
そのため、セキュリティの観点から、画像形成装置は、ウイルスチェック機能を備え、受信するファイルをウイルスチェックすることが望まれている。しかし、ファイルサイズ等によっては、ファイルのウイルスチェックに長い時間がかかり、その間、画像形成装置はファイルを印刷できなくなる場合がある。そのため、画像形成装置は、セキュリティと引き換えに、ユーザーの利便性を低下させる可能性があった。
【０００４】
画像形成装置のウイルスチェックに関し、例えば、特開２００６−２７７００４号公報（特許文献１）は、「ネットワークに接続される複数のプリンターを管理し、クライアントからの要求に応じてプリンターへの出力処理を行うデバイス管理サーバーにおいて、クライアントから受信したデータファイルに対して、ウイルスチェックを行い、ウイルス感染あるいは、その疑いが検出された場合に、該当ファイルのウイルスを駆除かつ／または、該当ファイルの削除を行う」ネットワークデバイス管理サーバーを開示している（［要約］参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２７７００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術によると、ウイルスチェック時における画像形成装置の印刷性能の低下を抑制できない。したがって、ウイルスチェック時における画像形成装置の印刷性能の低下を抑制する技術が必要とされている。
【０００７】
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ウイルスチェック時における画像形成装置の印刷性能の低下を抑制する技術を提供することにある。
【課題を解決するための手段】
【０００８】
ある実施の形態に従う画像形成装置は、他の端末から印刷ジョブを受信する通信部と、プリント処理を行うプリント部と、ウイルスチェックプログラムを格納する記憶部と、画像形成装置を制御する制御部とを備える。制御部は、ウイルスチェックプログラムを取得し、当該ウイルスチェックプログラムを用いて、通信部により受信した印刷ジョブに含まれる印刷データのページのウイルスチェックを実行し、印刷データのページがウイルスチェックの対象となる外部リンクを有するか否かを判定し、判定に基づいて、プリント部に、印刷データのページのウイルスチェックの完了を待たずに印刷データのページの印刷処理を開始させる第１の印刷制御、または、プリント部に、印刷データのページのウイルスチェックの完了を待ってから印刷データのページの印刷処理を開始させる第２の印刷制御のいずれかを選択する。プリント部は、選択された印刷制御のための信号を受信し、信号に基づいて印刷処理を行う。
【０００９】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択することは、印刷データのページが第１の閾値以上の数の外部リンクを有さない場合、第１の印刷制御を選択することと、印刷データのページが第１の閾値以上の数の外部リンクを有する場合、第２の印刷制御を選択することとを含む。
【００１０】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択することは、印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が第２の閾値未満である場合、第１の印刷制御を選択することと、印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が第２の閾値以上である場合、第２の印刷制御を選択することとを含む。
【００１１】
ある局面において、印刷データは、複数のページを含む。第１の印刷制御または第２の印刷制御のいずれかを選択することは、印刷データに含まれる各ページのそれぞれに対し、判定の結果に基づいて、第１の印刷制御または第２の印刷制御のいずれかを選択することを含む。
【００１２】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択することは、ページ番号Ｎのページのウイルスチェックにかかる時間を推定することと、ウイルスチェックにかかる時間の推定結果に基づいて、ウイルスチェックの完了を待たずにページ番号Ｎのページの印刷処理を開始した場合にジャムが発生するか否かを判定することと、ジャムの発生の判定の結果に基づいて、ページ番号Ｎのページの印刷制御として、第１の印刷制御または第２の印刷制御のいずれかを選択することとを含む。
【００１３】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択することは、現在印刷中のページのページ番号Ａを取得することと、外部リンクを含むページのページ番号Ｂを取得することと、ページ番号Ａからページ番号Ｂまでのページを印刷するために必要な時間Ｘを取得することと、ページ番号Ａからページ番号Ｂまでのページをウイルスチェックするために必要な時間Ｙを取得することと、時間Ｘと、時間Ｙとを比較することで、ウイルスチェックの完了を待たずにページ番号Ｂのページの印刷処理を開始した場合にジャムが発生するか否かを判定することと、ジャムの発生の判定の結果に基づいて、ページ番号Ｂのページの印刷制御として、第１の印刷制御または第２の印刷制御のいずれかを選択することとを含む。
【００１４】
ある局面において、制御部は、複数のページが、第１の印刷制御を選択されたページ番号Ｃのページと、第２の印刷制御を選択されたページ番号Ｄのページとを含む場合、ページ番号Ｃのページの印刷処理中にページ番号Ｃのページのウイルスチェックを行い、ページ番号Ｄのページのウイルスチェックの完了後に、プリント部にページ番号Ｄのページの印刷処理を開始させる。
【００１５】
ある局面において、受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定することは、ページが画像データであることに基づいて、ページは外部リンクを有さないと判定することを含む。
【００１６】
ある局面に従う画像形成装置において、外部リンクは、ページ内に含まれるハイパーリンクを含む。
【００１７】
ある局面において、通信部は、印刷ジョブのヘッダーデータを受信する。受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定することは、ヘッダーデータに外部リンクが含まれるか否かを判定することを含む。通信部は、ヘッダーデータに含まれる外部リンクのリンク先のデータを取得する。
【００１８】
他の実施の形態に従うと、画像形成装置を制御するプログラムが提供される。このプログラムは前記画像形成装置に、ウイルスチェックプログラムを読み出すステップと、当該ウイルスチェックプログラムを用いて、受信した印刷ジョブに含まれる印刷データのページのウイルスチェックを実行するステップと、印刷データのページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップと、判定に基づいて、印刷データのページのウイルスチェックの完了を待たずに印刷データのページの印刷処理を開始する第１の印刷制御、または、印刷データのページのウイルスチェックの完了を待ってから印刷データのページの印刷処理を開始する第２の印刷制御のいずれかを選択するステップと、選択された印刷制御に基づいて印刷処理を行うステップとを実行させる。
【００１９】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択するステップは、印刷データのページが第１の閾値以上の数の外部リンクを有さない場合、第１の印刷制御を選択するステップと、印刷データのページが第１の閾値以上の数の外部リンクを有する場合、第２の印刷制御を選択するステップとを含む。
【００２０】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択するステップは、印刷データのページに含まれる外部リンクのリンク先のデータサイズの合計が第２の閾値未満である場合、第１の印刷制御を選択するステップと、データのページに含まれる外部リンクのリンク先のデータサイズの合計が第２の閾値以上である場合、第２の印刷制御を選択するステップとを含む。
【００２１】
ある局面において、印刷データは、複数のページを含む。第１の印刷制御または第２の印刷制御のいずれかを選択するステップは、印刷データに含まれる各ページのそれぞれに対し、判定の結果に基づいて、第１の印刷制御または第２の印刷制御のいずれかを選択するステップを含む。
【００２２】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択するステップは、ページ番号Ｎのページのウイルスチェックにかかる時間を推定するステップと、ウイルスチェックにかかる時間の推定結果に基づいて、ウイルスチェックの完了を待たずにページ番号Ｎのページの印刷処理を開始した場合にジャムが発生するか否かを判定するステップと、ジャムの発生の判定の結果に基づいて、ページ番号Ｎのページの印刷制御として、第１の印刷制御または第２の印刷制御のいずれかを選択するステップとを含む。
【００２３】
ある局面において、第１の印刷制御または第２の印刷制御のいずれかを選択するステップは、現在印刷中のページのページ番号Ａを取得するステップと、外部リンクを含むページのページ番号Ｂを取得するステップと、ページ番号Ａからページ番号Ｂまでのページを印刷するために必要な時間Ｘを取得するステップと、ページ番号Ａからページ番号Ｂまでのページをウイルスチェックするために必要な時間Ｙを取得するステップと、時間Ｘと、時間Ｙとを比較することで、ウイルスチェックの完了を待たずにページ番号Ｂのページの印刷処理を開始した場合にジャムが発生するか否かを判定するステップと、ジャムの発生の判定の結果に基づいて、ページ番号Ｂのページの印刷制御として、第１の印刷制御または第２の印刷制御のいずれかを選択するステップとを含む。
【００２４】
ある局面において、プログラムは画像形成装置に、複数のページが、第１の印刷制御を選択されたページ番号Ｃのページと、第２の印刷制御を選択されたページ番号Ｄのページとを含む場合、ページ番号Ｃのページの印刷処理中にページ番号Ｃのページのウイルスチェックを行なうステップと、ページ番号Ｄのページのウイルスチェックの完了後に、ページ番号Ｄのページの印刷処理を開始するステップとをさらに実行させる。
【００２５】
ある局面において、受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップは、ページが画像データであることに基づいて、ページは外部リンクを有さないと判定するステップを含む。
【００２６】
ある局面に従うプログラムにおいて、外部リンクは、ページ内に含まれるハイパーリンクを含む。
【００２７】
ある局面において、プログラムは画像形成装置に、印刷ジョブのヘッダーデータを受信するステップをさらに実行させる。受信した印刷ジョブに含まれるページがウイルスチェックの対象となる外部リンクを有するか否かを判定するステップは、ヘッダーデータに外部リンクが含まれるか否かを判定するステップを含む。プログラムは画像形成装置に、ヘッダーデータに含まれる外部リンクのリンク先のデータを取得するステップをさらに実行させる。
【発明の効果】
【００２８】
本技術によれば、ウイルスチェック時における画像形成装置の印刷性能の低下を抑制することが可能である。
【００２９】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００３０】
【図１】ある実施の形態に従う画像形成装置１００の使用形態の一例を示す図である。
【図２】ある実施の形態に従う画像形成装置１００の構成の一例を示す図である。
【図３】画像形成装置１００の回路構成の一例を示す図である。
【図４】画像形成装置１００が印刷ジョブを受信したときのシーケンスの一例を示す図である。
【図５】画像形成装置１００におけるウイルスチェック処理の手順の第１の例を示す図である。
【図６】画像形成装置１００におけるウイルスチェック処理の手順の第２の例を示す図である。
【図７】画像形成装置１００におけるウイルスチェック処理の手順の第３の例を示す図である。
【図８】ステップＳ７１０の詳細な処理手順の一例を示す図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。これ以降の説明では、複数の同じ構成に対して言及する場合、構成１２３Ａ，１２３Ｂのように表現することがある。構成１２３Ａ，１２３Ｂ等を総称する場合は、構成１２３と表現する。
【００３２】
［第１の実施の形態］
図１は、本実施の形態に従う画像形成装置１００の使用形態の一例を示す図である。図１を参照して、画像形成装置１００の使用形態および動作概要について説明する。本実施の形態に従う画像形成装置１００は、ネットワーク１５０に接続され、ネットワーク１５０を介して、他の機器とデータの送受信を行う。画像形成装置１００は、ネットワーク１５０に複数台接続されて、互いにデータの送受信を行うこともできる。
【００３３】
ネットワーク１５０は、オフィス内のスイッチおよびルータ等から構成されるローカルエリアネットワークである。ネットワーク１５０は、ゲートウェイサーバー（図示しない）を介して、外部のネットワークにも接続されている。画像形成装置１００は、イーサーネット（登録商標）ケーブルを介して、ネットワーク１５０を構成するスイッチまたはルータに接続され得る。他の局面において、画像形成装置１００は、Ｗｉ-Ｆｉ（登録商標）接続装置を介して、ネットワーク１５０を構成するアクセスポイントに接続されてもよい。
【００３４】
画像形成装置１００は、他の機器との通信において、ＴＣＰ（Transmission Control Protocol）およびＩＰ（Internet Protocol）のプロトコルを使用し得る。さらに、画像形成装置１００は、ＵＤＰ（User Datagram Protocol）およびＩＣＭＰ（Internet Control Message Protocol）等のプロトコルを使用してもよい。
【００３５】
画像形成装置１００は、ネットワーク１５０を介して、他の機器から印刷ジョブを受信し、当該印刷ジョブに基づいて印刷処理を行う。画像形成装置１００は、印刷ジョブと共に受信した印刷データを自装置内の記憶媒体に保存する。ユーザーは、自身のＰＣ（Personal Computer）等からネットワーク１５０を介して画像形成装置１００に印刷ジョブを送信できるため、画像形成装置１００は、ネットワーク上のあらゆるデータを簡単に印刷することができる。
【００３６】
一方で、画像形成装置１００がネットワーク上のあらゆるデータを簡単に印刷できるということは、画像形成装置１００がウイルスに感染したデータを受信する可能性が高いことを意味する。そのため、画像形成装置１００は、受信した印刷ジョブに含まれる印刷データのウイルスチェック処理を行ってから、印刷処理を実行する。
【００３７】
ウイルスチェック処理は、印刷データによっては実行時間が長くなり、印刷処理の完了が遅くなることがある。通常、画像形成装置１００のプリンター部（印刷エンジン）のウェイト時間は５００ミリ秒程度である。ウェイト時間とは、印刷データの１枚目の印刷が完了してから２枚目の印刷が開始されるまでの時間である。仮に、画像形成装置１００が印刷データのウイルスチェック処理に要する時間が、５００ミリ秒以上である場合、印刷処理が止まるため、所謂ジャムが発生してしまう。
【００３８】
ジャムを確実に発生させないためには、画像形成装置１００は、常に、印刷データのウイルスチェック処理の完了を待ってから印刷処理を行う必要がある。しかし、この方法では、画像形成装置１００は、全ページのウイルスチェック処理を行ってから印刷処理を開始するため、印刷時間が長くなり、印刷性能が低下するという問題がある。
【００３９】
印刷データの１ページあたりのウイルスチェック処理の時間は５ミリ秒程度である。しかし、印刷データに外部リンクが埋め込まれていた場合、画像形成装置１００は、そのリンクの示すデータに関してもウイルスチェック処理を実行する必要があるため、より多くの時間を必要とする。すなわち、外部リンクの有無が、印刷データの１ページあたりのウイルスチェック処理の時間を大きく変動させることがわかる。ある局面において、外部リンクとは、ＵＲＬ（Uniform Resource Locator）を含むハイパーリンクであってもよい。
【００４０】
そこで、画像形成装置１００は、印刷ジョブに含まれる印刷データに外部リンクがあるか否か、および、外部リンクの示すデータのサイズに基づいて、印刷データの印刷処理とウイルスチェック処理とを同時に実行できるか否かを判定する。そして、画像形成装置１００は、印刷データの印刷処理中にウイルスチェック処理を完了できると判定した場合は、印刷データの印刷処理とウイルスチェック処理とを同時に実行し、印刷処理のパフォーマンスの低下を抑制する。処理の詳細については後述する。
【００４１】
図２は、本実施の形態に従う画像形成装置１００の構成の一例を示す図である。図２を参照して、本実施の形態に従う画像形成装置１００の構成について説明する。画像形成装置１００は、プリントエンジン１１０と、原稿読取部１２０と、排出トレイ１３０と、操作パネル６０とを備える。
【００４２】
プリントエンジン１１０は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、キー・プレート（Ｋ）のそれぞれのトナー像を形成するイメージングユニット１０Ｃ，１０Ｍ，１０Ｙ，１０Ｋ（以下、「イメージングユニット１０」と総称することもある）と、中間転写ベルト１２と、中間転写体駆動ローラー１４，１６と、ベルトクリーニング部１８と、転写ローラー２０，２１と、定着部２２と、給紙部３０と、送出ローラー３２と、搬送ローラー３４，３６と、制御部５０とを含む。イメージングユニット１０は、感光体１と、帯電部２と、露光部３と、現像部４（対応するイメージングユニット１０が形成するトナー像の色に対応させて、４Ｃ、４Ｍ、４Ｙ、４Ｋとそれぞれ記載する）と、クリーニング部５と、中間転写体接触ローラー６とを含む。原稿読取部１２０は、イメージスキャナー１２２と、原稿給紙台１２４と、自動原稿送り装置１２６と、原稿排紙台１２８とを含む。
【００４３】
プリントエンジン１１０は、給紙部３０内の媒体４０に対して印刷処理を行う。送出ローラー３２は、媒体４０を給紙部３０から搬送する。さらに、搬送ローラー３４，３６は、媒体４０を転写ローラー２０，２１に搬送する。転写ローラー２０，２１は、媒体４０にトナー像を転写する。定着部２２は、媒体４０に定着処理を行う。最後に、媒体４０は、排出トレイ１３０に排出される。
【００４４】
各イメージングユニット１０および中間転写ベルト１２は、媒体４０に転写するトナー像を形成する。帯電部２は、感光体１の表面を一様に帯電する。露光部３は、レーザー書き込み等により、指定された画像パターンに従って感光体１の表面を露光することで、その表面上に静電潜像を形成する。現像部４は、像担持体である感光体１上に形成された静電潜像をトナー像として現像する。
【００４５】
感光体１の表面に形成されたトナー像は、中間転写体接触ローラー６によって中間転写ベルト１２に転写される。中間転写ベルト１２上には、それぞれの感光体１からトナー像が順次転写されて、４色のトナー像が重ね合わされることになる。重ね合わされたトナー像は、転写ローラー２０，２１によって、中間転写ベルト１２から媒体４０へ転写される。
【００４６】
原稿読取部１２０は、原稿を読み取って、その読み取り結果をプリントエンジン１１０に対する入力画像として出力する。イメージスキャナー１２２は、プラテンガラス上に配置された原稿をスキャンする。自動原稿送り装置１２６は、原稿給紙台１２４に配置された原稿を連続的にスキャンする。原稿給紙台１２４上に配置された原稿は、送出ローラー（図示しない）により１枚ずつ送られ、イメージスキャナー１２２または自動原稿送り装置１２６内に配置されたイメージセンサーによって順次スキャンされる。スキャン後の原稿は、原稿排紙台１２８へ排出される。
【００４７】
操作パネル６０は、表示部６１と、操作キー６２とを含む。表示部６１は、液晶モニター等にタッチセンサーを組み込んでおり、操作メニューを表示すると共に、ユーザーからのタッチによる入力を受付けることが可能である。操作キー６２は、複数のボタンが配置されたパネルであり、タッチパネルと同様に、ユーザーからの入力を受付けることが可能である。
【００４８】
制御部５０は、画像形成装置１００全体を制御する。制御部５０は、印刷ジョブに基づいて画像形成装置１００に印刷ジョブを実行させると共に、印刷ジョブに含まれる印刷データのウイルスチェック処理も行う。制御部５０は、ウイルスチェックにより安全と判断した印刷データを画像形成装置１００内部の記憶装置に保存する。逆に、制御部５０は、ウイルスチェックによりウイルスに感染していると判断した印刷データを破棄する。
【００４９】
図３は、画像形成装置１００の回路構成の一例を示す図である。図３を参照して、各回路の役割について説明する。なお、図３の回路は、例示であり、画像形成装置１００は、図示されない他の回路構成を含んでもよい。
【００５０】
画像形成装置１００の回路は、制御部５０と、操作パネル６０と、音声入力部３０４と、スキャナー部３０７と、画像メモリー３０８と、プリンター部３０９と、ネットワークインターフェイス３１０と、記憶装置３１１とを備える。制御部５０は、ＣＰＵ（Central Processing Unit）３０１と、メモリー３０２とを含む。
【００５１】
ＣＰＵ３０１は、画像形成装置１００の機能を実現するためのプログラムを実行する。一例として、ＣＰＵ３０１は、操作画面の表示、印刷処理、スキャン処理およびウイルスチェック等のプログラムを実行し得る。ある局面において、ＣＰＵ３０１は、少なくとも１つの組み込みＣＰＵ、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらの組み合わせ等によって構成される。
【００５２】
メモリー３０２は、ＲＡＭ（Random Access Memory）である。メモリー３０２は、ＣＰＵ３０１によって実行されるプログラムおよび参照されるデータを格納する。ＣＰＵ３０１は、記憶装置３１１に保存されているプログラムまたはデータをメモリー３０２に読み込んで実行する。ある局面において、ＳＲＡＭ（Static Random Access Memory）またはＤＲＡＭ（Dynamic Random Access Memory）がメモリー３０２として使用されてもよい。
【００５３】
表示部６１は、タッチ機能付きの液晶モニター等であり、タッチ機能および表示機能を実現するための回路を含む。表示部６１は、ＣＰＵ３０１から受信した信号に基づいて操作画面を表示し、タッチ機能により検知した信号をＣＰＵ３０１に送信する。ＣＰＵ３０１は、表示部６１から受信した信号に基づいて、ユーザーの操作内容を判定し、当該操作内容に応じた内部動作を実行し、応答表示を表示部６１に送信する。
【００５４】
操作キー６２は、ボタン等のように画像形成装置に対する操作の入力を受ける入力手段および当該入力手段と連携して動作する回路を含む。操作キー６２は、一例として、印刷枚数、コピーおよびファックス送信等のボタンを備える。操作キー６２は、これらのボタンが押下されたことに基づいて、各ボタンに対応する信号をＣＰＵ３０１に送信する。ＣＰＵ３０１は、操作キー６２から受信した信号に基づいて、ユーザーの操作内容を判定し、当該操作内容に応じた内部動作を実行し、応答表示を表示部６１に送信する。
【００５５】
音声入力部３０４は、マイク等の音声入力手段および当該音声入力手段を制御する回路を含む。ある局面において、音声入力部３０４は、音声信号を増幅させるための（Amplifier）および音声認識用の専用のＩＣ（Integrated Circuit）を含んでいてもよい。他の局面において、制御部５０が音声解析用の専用のＩＣを含んでもよいし、ＣＰＵ３０１が音声認識処理を実行してもよい。音声入力部３０４は、表示部６１または操作キー６２の操作の代わりに、音声コマンドを受け付けることができる。ＣＰＵ３０１は、音声入力部３０４から受信した音声コマンドに基づいて、当該音声コマンドの内容に応じた内部動作を実行し、応答表示を表示部６１に送信する。
【００５６】
スキャナー部３０７は、スキャン処理に関する処理を実行する。スキャナー部３０７は、主に原稿読取部１２０の処理を制御するための制御回路を含む。ＣＰＵ３０１は、スキャナー部３０７を介して、原稿読取部１２０によるスキャン処理を実行する。スキャナー部３０７は、スキャンデータを特定のフォーマットに変換して、画像メモリー３０８または記憶装置３１１に格納してもよい。
【００５７】
画像メモリー３０８は、印刷ジョブに含まれる印刷データを保存するメモリおよび周辺回路を含む。ある局面において、ＳＲＡＭ、ＤＲＡＭまたはフラッシュメモリが、画像メモリー３０８として使用されてもよい。ＣＰＵ３０１は、印刷するデータを一時的に画像メモリー３０８に保存し、印刷時に画像メモリー３０８から読み込みながら印刷処理を実行し得る。
【００５８】
プリンター部３０９は、媒体４０への画像データの印刷処理を行う。プリンター部３０９は、イメージングユニット１０、中間転写ベルト１２および定着部２２等の画像形成に関係するアクチュエーターを制御する回路である。プリンター部３０９は、モーターやヒーターを駆動させるための専用のドライバー回路等を含んでいてもよい。ＣＰＵ３０１は、印刷ジョブを実行するとき、プリンター部３０９を介して、画像形成装置１００内の各種アクチュエーターを駆動させる。
【００５９】
ネットワークインターフェイス３１０は、他の機器と通信するためのインターフェイスであり、画像形成装置１００は、複数のネットワークインターフェイス３１０を備えてもよい。ある局面において、ネットワークインターフェイス３１０は、ＬＡＮ（Local Area Network）ポートまたはＷｉ−Ｆｉ（登録商標）（Wireless Fidelity）の送受信装置等のいずれかまたは全てを含んでもよい。画像形成装置１００は、ネットワークインターフェイス３１０を介して、ＰＣ等の他の機器から、印刷ジョブを取得することができる。さらに、画像形成装置１００は、ネットワークインターフェイス３１０を介して、外部のサーバーからウイルスチェックの定義ファイルを受信することで、ウイルスチェックの定義ファイルを常に最新に保つことができる。ＣＰＵ３０１は、受信した最新のウイルスチェックの定義ファイルを記憶装置３１１に保存する。
【００６０】
記憶装置３１１は、印刷データ等の画像形成装置１００で使用される様々なデータを格納する。記憶装置３１１は、画像形成装置１００で使用されるプログラム、ウイルスチェックプログラムおよびウイルスチェックの定義ファイルを保存してもよい。ＣＰＵ３０１は、印刷ジョブに含まれる印刷データのウイルスチェックをするときに、記憶装置３１１を参照し、ウイルスチェックプログラムおよびウイルスチェックの定義ファイルを取得し得る。ある局面において、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）等の不揮発性の記憶装置が記憶装置３１１として使用されてもよい。
【００６１】
次に、画像形成装置１００におけるウイルスチェック処理の詳細について説明する。ＣＰＵ３０１は、セキュリティ上の理由から、印刷ジョブを受信すると、印刷ジョブに含まれる全ての印刷データのウイルスチェック処理を実行する。そして、ＣＰＵ３０１は、プリンター部３０９に、ウイルスチェック処理の完了した印刷データを印刷させる。
【００６２】
しかし、ＣＰＵ３０１が全ての印刷データのウイルスチェック処理を完了してから、プリンター部３０９に印刷処理を開始させる場合、プリンター部３０９は、印刷データのウイスルチェック処理中に、一切印刷処理ができず、ユーザーにとって非常に不便となる。
【００６３】
そのため、ＣＰＵ３０１は、可能な限り、印刷データのウイルスチェック処理および印刷処理を同時に実行する。より具体的には、ＣＰＵ３０１は、可能な限り、印刷データに含まれるページごとの印刷処理と、当該ページごとのウイルスチェック処理とを同時に実行する。
【００６４】
図４は、画像形成装置１００が印刷ジョブを受信したときのシーケンスの一例を示す図である。図４を参照して、画像形成装置１００における印刷ジョブのウイルスチェック処理について説明する。端末４０１は、ユーザーが使用するＰＣ等の機器である。
【００６５】
ステップＳ４１０において、端末４０１は、印刷ジョブを画像形成装置１００のネットワークインターフェイス３１０に向けて送信する。ステップＳ４２０において、ネットワークインターフェイス３１０は、受信した印刷ジョブが自装置宛てであることを確認すると、当該印刷ジョブをＣＰＵ３０１に転送する。
【００６６】
ＣＰＵ３０１は、ステップＳ４３０〜Ｓ４６０までの処理を印刷ジョブに含まれる印刷データのページごとに、繰り返し実行する。以降の説明において、印刷データはページ（Ａ）を含むとする。ＣＰＵ３０１は、ページ（Ａ）に対してステップＳ４４０〜Ｓ４６０までの処理を実行する。ページ（Ａ）は例示であり、ＣＰＵ３０１は、任意の印刷データに含まれる任意のページに対して同様の処理を実行し得る。
【００６７】
ステップＳ４３０において、ＣＰＵ３０１は、ページ（Ａ）のウイルスチェック処理に要する時間を推定する。ウイルスチェック処理に要する時間は、一例として、ページ（Ａ）のデータサイズ、外部リンクの有無および外部リンクの示すデータのサイズにより変化する。ＣＰＵ３０１は、ページ（Ａ）のデータサイズ、外部リンクの有無および外部リンクの示すデータのサイズの一部または全てに基づいて、ページ（Ａ）のウイルスチェック処理に要する時間を推定する。
【００６８】
ＣＰＵ３０１は、ページ（Ａ）のウイルスチェック処理に要する時間を推定することで、画像形成装置１００がページ（Ａ）のウイルスチェック処理と、ページ（Ａ）の印刷処理とを同時に実行できるか否かを判定できる。
【００６９】
仮に、ページ（Ａ）のウイルスチェック処理に要する時間が１０ミリ秒であったとする。プリンター部３０９がページ（Ａ）の印刷開始から完了までの期間４０２は約５００ミリ秒なので、画像形成装置１００は、ページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行したとしても、期間４０２内（ページ（Ａ）の印刷完了前）にページ（Ａ）のウイルスチェック処理を完了させることができる。
【００７０】
仮に、ページ（Ａ）が外部リンクを含んでおり、ページ（Ａ）のウイルスチェック処理に要する時間が６００ミリ秒であったとする。期間４０２は約５００ミリ秒なので、画像形成装置１００は、ページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行すると、期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができず、ジャムが発生する。この場合、ＣＰＵ３０１は、ページ（Ａ）のウイルスチェック処理を完了させてから、プリンター部３０９にページ（Ａ）の印刷処理を開始させる必要がある。
【００７１】
ある局面において、ＣＰＵ３０１は、ページ（Ａ）が特定の条件を満たしているか否かに基づいて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行した場合、画像形成装置１００は期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができるか否かを判定してもよい。
【００７２】
一例として、ＣＰＵ３０１は、ページ（Ａ）が外部リンクを含むか否かに基づいて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行した場合、画像形成装置１００は期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができるか否かを判定してもよい。
【００７３】
他の例として、ＣＰＵ３０１は、ページ（Ａ）が予め定められた数以上の外部リンクを含むか否かに基づいて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行した場合、画像形成装置１００は期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができるか否かを判定してもよい。
【００７４】
他の例として、ＣＰＵ３０１は、ページ（Ａ）に含まれる外部リンクの示すデータのサイズの合計が予め定められたサイズ以上であるか否かに基づいて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行した場合、画像形成装置１００は期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができるか否かを判定してもよい。
【００７５】
ＣＰＵ３０１は、ステップＳ４３０にて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行したとしても、期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができると判定した場合、ステップＳ４４０の処理を実行する。ステップＳ４４０において、ＣＰＵ３０１は、プリンター部３０９にページ（Ａ）の印刷処理を開始させる。
【００７６】
ステップＳ４５０において、ＣＰＵ３０１は、ページ（Ａ）のウイルスチェック処理を行う。ＣＰＵ３０１は、記憶装置３１１を参照して、ウイルスチェックの定義ファイルを取得し、ページ（Ａ）およびページ（Ａ）に含まれる外部リンクの示すデータのウイルスチェック処理を行う。
【００７７】
ＣＰＵ３０１は、ステップＳ４３０にて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行すると、画像形成装置１００は期間４０２内にページ（Ａ）のウイルスチェック処理を完了させることができないと判定した場合（ジャムが発生すると判定した場合）、ステップＳ４６０の処理を実行する。ステップＳ４６０において、ＣＰＵ３０１は、ページ（Ａ）のウイスルチェック処理の完了を待ってから、プリンター部３０９にページ（Ａ）の印刷処理を開始させる。
【００７８】
以上のように、画像形成装置１００は、ページ（Ａ）のウイルスチェック処理および印刷処理を可能な限り同時に行うことで、ウイスルチェック処理による印刷性能の低下を抑制する。プリンター部３０９が印刷処理を停止するのは、ページ（Ａ）の印刷処理中に、ページ（Ａ）のウイルスチェック処理が完了しないときだけであり、画像形成装置１００は、ウイルスチェック処理による印刷処理の停止時間を最小限に抑えることができる。
【００７９】
以下、図５〜８を参照して、ウイルスチェック処理の詳細な処理手順について説明する。図５〜７の処理手順において、ＣＰＵ３０１は、それぞれ、異なる判断基準を用いて、プリンター部３０９の印刷処理を一時停止させるか否かを判定する。図８は、図７のフローチャートで実行される処理の詳細を示す。
【００８０】
図５は、画像形成装置１００におけるウイルスチェック処理の手順の第１の例を示す図である。図５の例では、ＣＰＵ３０１は、印刷データに含まれる各ページ内の外部リンクの有無に基づいて、プリンター部３０９の印刷処理を一時停止させるか否かを判定する。ある局面において、ＣＰＵ３０１は、図５の処理を行うためのプログラムを記憶装置３１１からメモリー３０２に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
【００８１】
ステップＳ５０５において、ＣＰＵ３０１は、ネットワークインターフェイス３１０を介して、他の機器から印刷ジョブのヘッダーデータを受信する。ヘッダーデータは、印刷ジョブに含まれる印刷データの各種情報を含む。ある局面において、ヘッダーデータは、印刷データのファイル名、ファイルサイズ、ページ数および各ページに含まれる外部リンクを含んでいてもよい。
【００８２】
ステップＳ５１０において、ＣＰＵ３０１は、ヘッダーデータを参照して、印刷データに含まれる各ページのウイルスチェック処理が必要か否かを判定する。ある局面において、ＣＰＵ３０１は、ウイルスチェックが必要か否かの判定条件として、印刷データのファイルの種類を確認してもよい。印刷データが、画像ファイルであれば、危険性の高い外部リンクを含むこともないため、ドキュメントデータと比較してウイルスチェック処理の必要性は低い。
【００８３】
ＣＰＵ３０１は、印刷データに含まれる各ページのウイルスチェック処理が必要であると判定した場合（ステップＳ５１０にてＹＥＳ）、制御をステップＳ５１５に移す。そうでない場合（ステップＳ５１０にてＮＯ）、ＣＰＵ３０１は、制御をステップＳ５３０に移す。
【００８４】
ステップＳ５１５において、ＣＰＵ３０１は、ヘッダーデータを参照して、印刷データに含まれる各ページが外部リンクを含むか否かを判定する。ＣＰＵ３０１は、印刷データに含まれる各ページが外部リンクを含むと判定した場合（ステップＳ５１５にてＹＥＳ）、制御をステップＳ５２０に移す。そうでない場合（ステップＳ５１５にてＮＯ）、ＣＰＵ３０１は、制御をステップＳ５３０に移す。
【００８５】
ステップＳ５２０において、ＣＰＵ３０１は、ヘッダーデータを参照して、各ページに含まれる外部リンクを抽出する。ステップＳ５２５において、ＣＰＵ３０１は、外部リンクの示すデータを取得する。ＣＰＵ３０１は、取得した外部リンクの示すデータを一時的にメモリー３０２または記憶装置３１１に格納する。
【００８６】
ステップＳ５３０において、ＣＰＵ３０１は、ネットワークインターフェイス３１０を介して、印刷ジョブに含まれる印刷データを受信する。ある局面において、ＣＰＵ３０１は、ステップＳ５１０〜Ｓ５２５までの処理と、ステップＳ５３０の処理とを並列して実行してもよい。
【００８７】
ステップＳ５３５において、ＣＰＵ３０１は、印刷データに含まれる各ページのウイスルチェック処理を１ページ目から開始する。ＣＰＵ３０１は、ステップＳ５３５〜Ｓ５５５までの処理を、印刷データに含まれるページ単位で実行する。以降の説明では、印刷データに含まれるページ（Ａ）を例に、ステップＳ５４０〜Ｓ５５５までの処理を説明する。
【００８８】
ステップＳ５４０において、ＣＰＵ３０１は、ヘッダーデータまたはページ（Ａ）を参照して、ページ（Ａ）に含まれる外部リンク数を取得する。そして、ＣＰＵ３０１は、ページ（Ａ）に含まれる外部リンク数が、予め定められた第１の閾値以上であるか否かを判定する。ある局面において、ＣＰＵ３０１は、ページ（Ａ）が外部リンクを含むか否か（第１の閾値＝１）を判定してもよい。
【００８９】
ＣＰＵ３０１は、ページ（Ａ）が第１の閾値以上の外部リンクを含むことに基づいて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行した場合、ページ（Ａ）の印刷処理の完了前にページ（Ａ）のウイルスチェック処理を完了させることができない、または、できない可能性がある、と判定する。
【００９０】
そうでない場合、ＣＰＵ３０１は、ページ（Ａ）の印刷処理の完了前にページ（Ａ）のウイルスチェック処理を完了させることができると判定する。他の局面において、記憶装置３１１は、第１の閾値を記憶しておいてもよい。その場合、ＣＰＵ３０１は、記憶装置３１１を参照して、第１の閾値を取得する。
【００９１】
ＣＰＵ３０１は、ページ（Ａ）に含まれる外部リンク数が、予め定められた第１の閾値以上であると判定した場合（ステップＳ５４０にてＹＥＳ）、制御をステップＳ５４５に移す。そうでない場合（ステップＳ５４０にてＮＯ）、ＣＰＵ３０１は、制御をステップＳ５５０に移す。
【００９２】
ステップＳ５４５において、ＣＰＵ３０１は、ページ（Ａ）のウイスルチェック処理の完了を待ってから印刷処理の信号をプリンター部３０９に送信して、プリンター部３０９にページ（Ａ）の印刷処理を開始させる。この場合、ＣＰＵ３０１は、プリンター部３０９によるページ（Ａ）の印刷処理の開始前に、ページ（Ａ）のウイスルチェック処理を完了させる。
【００９３】
ステップＳ５５０において、ＣＰＵ３０１は、ページ（Ａ）のウイスルチェック処理の完了を待つことなく印刷処理の信号をプリンター部３０９に送信して、プリンター部３０９にページ（Ａ）の印刷処理を開始させる。この場合、ＣＰＵ３０１は、プリンター部３０９によるページ（Ａ）の印刷処理中に、ページ（Ａ）のウイスルチェック処理を実行する。
【００９４】
ステップＳ５５５において、ＣＰＵ３０１は、印刷データが次のページ（Ａ＋１）を含むか否かを判定する。ＣＰＵ３０１は、印刷データが次のページ（Ａ＋１）を含むと判定した場合（ステップＳ５５５にてＹＥＳ）、制御をステップＳ５３５に移す。そうでない場合（ステップＳ５５５にてＮＯ）、ＣＰＵ３０１は、処理を終了する。
【００９５】
上記の図５のフローチャートの処理において、印刷データは、外部リンクを含むページと、外部リンクを含まないページとを含む場合がある。一例として、印刷データが、外部リンクを含まないページ番号（Ｂ）のページと、外部リンクを含むページ番号（Ｃ）のページとを含むとする。この場合、画像形成装置１００は、ページ番号（Ｂ）のページのウイルスチェック処理および印刷処理を同時に実行する。逆に、画像形成装置１００は、ページ番号（Ｃ）のページのウイルスチェック処理の完了後に、ページ番号（Ｃ）のページの印刷処理を実行する。このように、画像形成装置１００は、印刷データ内に外部リンクを含むページと含まないページが混在する場合でも、適宜ウイルスチェック処理のタイミングを決定し得る。
【００９６】
図６は、画像形成装置１００におけるウイルスチェック処理の手順の第２の例を示す図である。図６の例では、ＣＰＵ３０１は、印刷データに含まれる各ページ内の外部リンクの示すデータサイズの合計に基づいて、プリンター部３０９の印刷処理を一時停止させるか否かを判定する。ある局面において、ＣＰＵ３０１は、図６の処理を行うためのプログラムを記憶装置３１１からメモリー３０２に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。図６に示される各処理のうち、図５の処理手順と同一の処理内容については、同一のステップを付してある。したがって、同一の処理内容の説明は繰り返さない。
【００９７】
ステップＳ６１０において、ＣＰＵ３０１は、ヘッダーデータまたはページ（Ａ）を参照して、ページ（Ａ）に含まれる全ての外部リンクを取得する。そして、ＣＰＵ３０１は、ページ（Ａ）に含まれる全ての外部リンクが示すデータの合計サイズが、予め定められた第２の閾値以上であるか否かを判定する。
【００９８】
ＣＰＵ３０１は、ページ（Ａ）に含まれる全ての外部リンクの示すデータの合計サイズが、第２の閾値以上であることに基づいて、画像形成装置１００がページ（Ａ）のウイルスチェック処理および印刷処理を同時に実行すると、ページ（Ａ）の印刷処理の完了前にページ（Ａ）のウイルスチェック処理を完了させることができない、または、できない可能性があると判定する。
【００９９】
そうでない場合、ＣＰＵ３０１は、ページ（Ａ）の印刷処理の完了前にページ（Ａ）のウイルスチェック処理を完了させることができると判定する。他の局面において、記憶装置３１１は、第２の閾値を記憶しておいてもよい。その場合、ＣＰＵ３０１は、記憶装置３１１を参照して、第２の閾値を取得する。
【０１００】
ＣＰＵ３０１は、ページ（Ａ）に含まれる全ての外部リンクの示すデータの合計サイズが、予め定められた第２の閾値以上であると判定した場合（ステップＳ６１０にてＹＥＳ）、制御をステップＳ５４５に移す。そうでない場合（ステップＳ６１０にてＮＯ）、ＣＰＵ３０１は、制御をステップＳ５５０に移す。
【０１０１】
図７は、画像形成装置１００におけるウイルスチェック処理の手順の第３の例を示す図である。図７の例では、ＣＰＵ３０１は、印刷データが複数のページを含む場合に、印刷データのＮページ目であるページ（Ｎ）のウイスルチェック処理の完了予想時間と、ページ（Ｎ）の印刷処理の完了予想時間とを比較する。ＣＰＵ３０１は、当該比較に基づいて、プリンター部３０９の印刷処理を一時停止させるか否かを判定する。ある局面において、ＣＰＵ３０１は、図７の処理を行うためのプログラムを記憶装置３１１からメモリー３０２に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。図７に示される各処理のうち、図５および図６の処理手順と同一の処理内容については、同一のステップを付してある。したがって、同一の処理内容の説明は繰り返さない。
【０１０２】
ステップＳ７１０において、ＣＰＵ３０１は、印刷データに含まれるページ（Ｎ）のウイスルチェック処理の完了予想時間と、ページ（Ｎ）の印刷処理の完了予想時間とを比較して、プリンター部３０９の印刷処理を一時停止させるか否かを判定する。詳細については、図８を参照して説明する。
【０１０３】
ＣＰＵ３０１は、ページ（Ｎ）のウイルスチェック処理の完了予想時刻が、ページ（Ｎ）の印刷処理の完了予想時間よりも遅いことに基づいて、画像形成装置１００がページ（Ｎ）のウイルスチェック処理および印刷処理を同時に実行すると、ページ（Ｎ）の印刷処理の完了前にページ（Ｎ）のウイルスチェック処理を完了させることができない、または、できない可能性があると判定する。そうでない場合、ＣＰＵ３０１は、ページ（Ｎ）の印刷処理の完了前にページ（Ｎ）のウイルスチェック処理を完了させることができると判定する。
【０１０４】
ＣＰＵ３０１は、ページ（Ｎ）のウイルスチェック処理の完了予想時刻が、ページ（Ｎ）の印刷処理の完了予想時間よりも遅いと判定した場合（ステップＳ７１０にてＹＥＳ）、制御をステップＳ５４５に移す。そうでない場合（ステップＳ７１０にてＮＯ）、ＣＰＵ３０１は、制御をステップＳ５５０に移す。
【０１０５】
図８は、ステップＳ７１０の詳細な処理手順の一例を示す図である。ある局面において、ＣＰＵ３０１は、図８の処理を行うためのプログラムを記憶装置３１１からメモリー３０２に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
【０１０６】
以降の説明では、一例として、画像形成装置１００が１０ページ分データを含む印刷データを印刷する手順について説明する。各ページは、ページ（１）〜（１０）と表現する。ページ数（１０）は、例示であり、画像形成装置１００は、任意の枚数のページを含む印刷データに対して同様の処理を行うことが可能である。
【０１０７】
ステップＳ８１０において、ＣＰＵ３０１は、ヘッダーデータを参照して、ウイスルチェック対象のページ数を取得する。ある局面において、ウイルスチェック対象のページとは、外部リンクを含むページであってもよい。一例として、印刷データに含まれる全ページのうち３ページが外部リンクを含むとき、ウイスルチェック対象のページ数は３になる。
【０１０８】
ステップＳ８２０において、ＣＰＵ３０１は、現在印刷中のページ番号を取得する。一例として、プリンター部３０９がページ（３）を印刷中であれば、現在印刷中のページ番号は、３になる。
【０１０９】
ステップＳ８３０において、ＣＰＵ３０１は、外部リンクを含むページのページ番号を取得する。一例として、ページ（５）が外部リンクを含む場合、外部リンクを含むページのページ番号は、５になる。
【０１１０】
ステップＳ８４０において、ＣＰＵ３０１は、外部リンクを含むページのウイルスチェック処理の完了までに要する時間を算出する。ＣＰＵ３０１は、ステップＳ８３０において、外部リンクを含むページとしてページ（５）を取得しているため、ページ（５）のウイスルチェックに要する時間を算出する。ページ（５）のウイスルチェックに要する時間は、ページ（５）およびページ（５）に含まれる外部リンクが示すデータのウイルスチェック処理に要する時間の合計になる。一例として、ページ（５）のウイスルチェック処理の完了までに要する時間は、６００ミリ秒であるとする。
【０１１１】
ステップＳ８５０において、ＣＰＵ３０１は、外部リンクを含むページの印刷処理の完了までに要する時間を算出する。ＣＰＵ３０１は、ステップＳ８２０にて取得した現在印刷中のページ番号（３）と、ステップＳ８３０にて取得した外部リンクを含むページのページ番号（５）とに基づいて、外部リンクを含むページの印刷処理の完了までに要する時間を算出する。ＣＰＵ３０１は、現在印刷中のページ（３）からページ（５）までの印刷処理が完了するまでの時間を算出する。一例として、ページ（５）の印刷処理が完了までに要する時間は、１２００ミリ秒であるとする。
【０１１２】
ステップＳ８６０において、ＣＰＵ３０１は、外部リンクを含むページのウイルスチェック処理の完了までに要する時間と、外部リンクを含むページの印刷処理の完了までに要する時間とを比較する。今回の例では、ページ（５）のウイスルチェック処理の完了までに要する時間は６００ミリ秒であり、ページ（５）の印刷処理が完了までに要する時間は１２００ミリ秒である。ＣＰＵ３０１は、ページ（５）の印刷処理の完了前に、ページ（５）のウイルスチェック処理を完了できるため、ステップＳ７１０の処理の完了後、瀬制御をステップＳ５５０に移す。
【０１１３】
図７および図８の説明からわかるように、画像形成装置１００は、印刷データに含まれる各ページのウイルスチェック処理と印刷処理とを同時平行で実行する。そのため、ＣＰＵ３０１は、ページ（Ｎ）のウイルスチェック処理に要する時間が、現在のページ〜ページ（Ｎ）までの印刷完了までに要する時間よりも短い場合は、印刷処理を停止させることなく、ページ（Ｎ）のウイルスチェック処理を実行することができると判定する。当該処理により、画像形成装置１００が印刷処理を停止させる回数が減るので、画像形成装置１００の印刷処理性能の低下は抑制され、ユーザーの利便性は向上する。なお、他の局面において、画像形成装置１００は、図５〜８の処理手順を適宜組み合わせて実施してもよい。
【０１１４】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。
【符号の説明】
【０１１５】
１  感光体、２  帯電部、３  露光部、４  現像部、５  クリーニング部、６  中間転写体接触ローラー、１０  イメージングユニット、１２  中間転写ベルト、１４，１６  中間転写体駆動ローラー、１８  ベルトクリーニング部、２０，２１  転写ローラー、２２  定着部、３０  給紙部、３２  送出ローラー、３４，３６  搬送ローラー、４０  媒体、５０  制御部、６０  操作パネル、６１  表示部、６２  操作キー、１００  画像形成装置、１１０  プリントエンジン、１２０  原稿読取部、１２２  イメージスキャナー、１２４  原稿給紙台、１２６  自動原稿送り装置、１２８  原稿排紙台、１３０  排出トレイ、１５０  ネットワーク、２０７  補助記憶装置、３０１  ＣＰＵ、３０２  メモリー、３０４  音声入力部、３０７  スキャナー部、３０８  画像メモリー、３０９  プリンター部、３１０  ネットワークインターフェイス、３１１  記憶装置、４０１  端末、４０２  期間。
【図１】
2020203419.tif 000003
【図２】
2020203419.tif 000004
【図３】
2020203419.tif 000005
【図４】
2020203419.tif 000006
【図５】
2020203419.tif 000007
【図６】
2020203419.tif 000008
【図７】
2020203419.tif 000009
【図８】
2020203419.tif 000010