(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】画像形成装置、画像形成システムおよびプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20240910BHJP
G03G 21/00 20060101ALI20240910BHJP
【FI】
B41J29/38
G03G21/00 396
(21)【出願番号】P 2020145342
(22)【出願日】2020-08-31
【審査請求日】2023-08-18
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】糸川 喜裕
【審査官】大浜 登世子
(56)【参考文献】
【文献】特開2005-324553(JP,A)
【文献】特開2018-171757(JP,A)
【文献】特開2009-271927(JP,A)
【文献】特開平09-185468(JP,A)
【文献】特開2014-049903(JP,A)
【文献】特開2010-228419(JP,A)
【文献】米国特許出願公開第2011/0149314(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38
G03G 21/00
(57)【特許請求の範囲】
【請求項1】
外部インターフェースと、コンピュータと、不揮発性メモリと
、ユーザインタフェースとを備えた画像形成装置であって、
前記コンピュータは、
PJLデータを前記外部インターフェースを介して取得するPJLデータ取得処理と、
前記不揮発性メモリに記憶されているフィルタデータを参照し、前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されている前記フィルタデータによって、対象PJLデータに対応付けられる非対象PJLデータである場合に、前記取得されたPJLデータを、前記不揮発性メモリに記憶されている前記フィルタデータにおいて当該非対象PJLデータと対応付けられる前記対象PJLデータに変換する変換処理と、を実行することを特徴とし、
前記不揮発性メモリに記憶されているフィルタデータは、前記非対象PJLデータを前記対象PJLデータに対応付けるためのデータであり、前記非対象PJLデータは、当該画像形成装置に所定の処理を実行させるための対象としないPJLデータであり、前記対象PJLデータは、当該当該画像形成装置に前記所定の処理を実行させるための対象とするPJLデータであ
り、
前記不揮発性メモリは、
複数種類の前記フィルタデータを記憶可能であり、
前記変換処理は、
前記不揮発性メモリに記憶されている前記複数種類のフィルタデータの中から、いずれかのフィルタデータを指定する操作を前記ユーザインタフェースを介して受け付け、前記PJLデータ取得処理により取得されたPJLデータが、前記指定されたフィルタデータによって、前記対象PJLデータに対応付けられる非対象PJLデータである場合に、前記取得されたPJLデータを、当該非対象PJLデータと対応付けられる前記対象PJLデータに変換する画像形成装置。
【請求項2】
外部インターフェースと、コンピュータと、不揮発性メモリとを備えた画像形成装置であって、
前記コンピュータは、
PJLデータを前記外部インターフェースを介して取得するPJLデータ取得処理と、
前記不揮発性メモリに記憶されているフィルタデータを参照し、前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されている前記フィルタデータによって、対象PJLデータに対応付けられる非対象PJLデータである場合に、前記取得されたPJLデータを、前記不揮発性メモリに記憶されている前記フィルタデータにおいて当該非対象PJLデータと対応付けられる前記対象PJLデータに変換する変換処理と、を実行することを特徴とし、
前記不揮発性メモリに記憶されているフィルタデータは、前記非対象PJLデータを前記対象PJLデータに対応付けるためのデータであり、前記非対象PJLデータは、当該画像形成装置に所定の処理を実行させるための対象としないPJLデータであり、前記対象PJLデータは、当該当該画像形成装置に前記所定の処理を実行させるための対象とするPJLデータであ
り、
前記PJLデータ取得処理により取得可能なPJLデータには、
省略されていないPJLデータである非省略型PJLデータと、省略されたPJLデータである省略型PJLデータとが存在しており、
前記フィルタデータは、
前記非省略型PJLデータと対応付けられる対象PJLデータと、前記省略型PJLデータと対応付けられる対象PJLデータとを含んでおり、
前記コンピュータは、
前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されたフィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータと少なくとも一部が一致するか否かの判断を、前記フィルタデータによって前記対象PJLデータと対応付けられる各非対象PJLデータのそれぞれに対して行う判断処理を実行し、
前記変換処理は、
前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されているフィルタデータによって、前記対象PJLデータに対応付けられる前記非対象PJLデータであり、かつ、前記非省略型PJLデータである場合に、前記取得されたPJLデータを、前記不揮発性メモリに記憶されている前記フィルタデータにおいて、当該非省略型PJLデータと対応付けられる前記対象PJLデータに変換し、
前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されているフィルタデータによって、前記対象PJLデータに対応付けられる前記非対象PJLデータであり、かつ、前記省略型PJLデータである場合に、前記取得されたPJLデータを、前記不揮発性メモリに記憶されている前記フィルタデータにおいて当該省略型PJLデータと対応付けられる前記対象PJLデータに変換する画像形成装置。
【請求項3】
前記コンピュータは、
前記判断処理において、前記取得されたPJLデータが、前記不揮発性メモリに記憶されたフィルタデータによって前記対象PJLデータと対応付けられる前記非省略型PJLデータの少なくとも一部と一致するか否かの判断が、前記取得されたPJLデータが、前記フィルタデータによって前記対象PJLデータと対応付けられる前記省略型PJLデータの少なくとも一部と一致するかの判断よりも優先的に実行されるように、前記変換処理を実行する前に前記フィルタデータを並び替える
ことを特徴とする請求項
2に記載の画像形成装置。
【請求項4】
前記判断処理は、
前記PJLデータ取得処理により取得されたPJLデータと一致する前記非対象PJLデータが前記不揮発性メモリに記憶されたフィルタデータに存在すると判断した場合に当該判断処理を終了することを特徴とする請求項
2または請求項
3に記載の画像形成装置。
【請求項5】
前記不揮発性メモリに記憶されているフィルタデータは、
前記非対象PJLデータと関連するデータを有する非対象PJLデータである関連非対象PJLデータと、
前記関連非対象PJLデータと対応付けられている対象PJLデータである関連対象PJLデータと、を含んでおり、
前記判断処理は、
前記PJLデータ取得処理により取得されたPJLデータが、前記フィルタデータによって前記対象PJLデータと対応付けられる前記非対象PJLデータと一致しないと判断した場合は、その判断対象となった前記非対象PJLデータと関連する前記関連非対象PJLデータを判断対象にして判断を実行し、
前記変換処理は、
前記判断処理により、前記取得されたPJLデータが、前記フィルタデータによって前記対象PJLデータと対応付けられる前記関連非対象PJLデータと一致すると判断された場合は、前記取得されたPJLデータを、前記不揮発性メモリのフィルタデータにおいて当該関連非対象PJLデータと対応付けられる前記関連対象PJLデータに変換することを特徴とする請求項
2から請求項
4までのいずれか1項に記載の画像形成装置。
【請求項6】
前記コンピュータは、
前記フィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータと関連するデータを有する前記関連非対象PJLデータを検索するためのインデックスを、前記フィルタデータによって前記対象PJLデータと対応付けられる前記非対象PJLデータに対応付けて前記不揮発性メモリに記憶し、
前記判断処理は、
前記PJLデータ取得処理により取得されたPJLデータが、前記フィルタデータによって前記対象PJLデータと対応付けられる前記非対象PJLデータと一致しないと判断した場合は、その判断対象となった前記非対象PJLデータに対応付けられている前記インデックスに基づいて、当該非対象PJLデータと関連するデータを有する前記関連非対象PJLデータを検索し、その検索により見つかった関連非対象PJLデータと前記取得されたPJLデータとが一致するか否かを判断し、
前記変換処理は、
前記判断処理により、前記検索により見つかった関連非対象PJLデータと前記取得されたPJLデータとが一致すると判断された場合は、前記取得されたPJLデータを、前記不揮発性メモリに記憶されたフィルタデータにおいて、当該関連非対象PJLデータと対応付けられる前記関連対象PJLデータに変換することを特徴とする請求項
5に記載の画像形成装置。
【請求項7】
前記フィルタデータには、
N個(N≧2)の非対象PJLデータと、M個(M<N)の対象PJLデータとが対応付けられており、
前記PJLデータ取得処理は、前記外部インターフェースを介してN個のPJLデータを1個ずつN回に分けて取得し、
前記判断処理は、
前記PJLデータ取得処理により前記PJLデータが1個取得される毎に、その取得された1個のPJLデータが、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられる前記N個の非対象PJLデータのいずれかと一致するか否の判断を、前記フィルタデータによって前記対象PJLデータと対応付けられる前記N個の非対象PJLデータのそれぞれに対して行い、
前記変換処理は、
前記判断処理により、前記取得された1個のPJLデータが、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられるN個の非対象PJLデータのいずれかと一致するとの判断が、前記取得されたN個のPJLデータの総てに対して行われた結果、前記取得されたN個のPJLデータと一致するN個の非対象PJLデータが見つかった場合に、前記取得されたN個のPJLデータを、前記不揮発性メモリに記憶された前記フィルタデータにおいて、当該N個の非対象PJLデータと対応付けられるM個の対象PJLデータに変換することを特徴とする請求項
2から請求項
6までのいずれか1項に記載の画像形成装置。
【請求項8】
前記フィルタデータには、
N個(N≧2)のデータから成る非対象PJLデータと、M個(M<N)のデータから成る対象PJLデータとが対応付けられており、
前記判断処理は、
前記PJLデータ取得処理により取得されたPJLデータがN個のデータから成る場合に、前記取得された、N個のデータから成るPJLデータと一致するか否かの判断を、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータのうち、N個のデータから成る非対象PJLデータに対して行い、
前記変換処理は、
前記判断処理により、前記取得された、N個のデータから成るPJLデータと、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられるN個のデータから成る非対象PJLデータとが一致すると判断された場合に、前記取得された、N個のデータから成るPJLデータを、前記不揮発性メモリに記憶された前記フィルタデータにおいて、当該N個のデータから成る非対象PJLデータと対応付けられるM個のデータから成る対象PJLデータに変換することを特徴とする請求項
2から請求項
7までのいずれか1項に記載の画像形成装置。
【請求項9】
前記フィルタデータには、
M個(M<N)のデータから成る非対象PJLデータと、N個(N≧2)のデータから成る対象PJLデータとが対応付けられており、
前記判断処理は、
前記PJLデータ取得処理により取得されたPJLデータがM個のデータから成る場合に、前記取得された、M個のデータから成るPJLデータと一致するか否かの判断を、前記フィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータのうち、M個のデータから成る非対象PJLデータに対して行い、
前記変換処理は、
前記判断処理により、前記取得された、M個のデータから成るPJLデータと、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられるM個のデータから成る非対象PJLデータとが一致すると判断された場合に、前記取得された、M個のデータから成るPJLデータを、前記不揮発性メモリに記憶された前記フィルタデータにおいて、当該M個のデータから成る非対象PJLデータと対応付けられるN個のデータから成る対象PJLデータに変換することを特徴とする請求項
2から請求項
8までのいずれか1項に記載の画像形成装置。
【請求項10】
前記不揮発性メモリに記憶されたフィルタデータによって前記対象PJLデータと対応付けられる各非対象PJLデータは、ソートされており、
前記判断処理は、前記ソートされた各非対象PJLデータを二分探索手法によって絞り込むことにより、前記PJLデータ取得処理により取得されたPJLデータと一致する非対象PJLデータを探索することを特徴とする請求項
2から請求項
9までのいずれか1項に記載の画像形成装置。
【請求項11】
前記判断処理は、
前記PJLデータ取得処理により非対象PJLデータおよび印刷データが取得された場合に、前記PJLデータ取得処理により取得された前記PJLデータが、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータのいずれかと一致するか否かを判断し、
前記変換処理は、
前記判断処理により、前記取得された前記PJLデータが、前記不揮発性メモリに記憶された前記フィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータのいずれかと一致すると判断した場合に、前記取得されたPJLデータを、当該PJLデータと一致すると判断された非対象PJLデータと前記不揮発性メモリに記憶されたフィルタデータにおいて対応付けられる前記対象PJLデータに変換し、
前記コンピュータは、
前記変換処理により変換された前記対象PJLデータと、前記取得された前記印刷データとに基づいて印刷処理を実行することを特徴とする請求項
2から請求項
10までのいずれか1項に記載の画像形成装置。
【請求項12】
前記コンピュータは、
前記変換処理により変換された前記対象PJLデータが、印刷機能の設定内容の変更を指示するものである場合は、前記変換処理により変換された対象PJLデータにより指示されている内容に従って印刷機能の設定内容を変更する設定内容変更処理を実行し、
前記印刷処理は、
前記設定内容変更処理により設定変更された印刷機能と、前記取得された前記印刷データとに基づいた印刷を実行することを特徴とする請求項
11に記載の画像形成装置。
【請求項13】
前記コンピュータは、
前記変換処理により変換された前記対象PJLデータが、前記印刷処理の付加情報を通知するものであった場合は、前記印刷処理の付加情報を通知する付加情報通知処理を実行することを特徴とする請求項
11または請求項
12に記載の画像形成装置。
【請求項14】
前記判断処理は、
前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されたフィルタデータによって前記対象PJLデータと対応付けられる非対象PJLデータと少なくとも一部が一致するか否かの判断を各非対象PJLデータのそれぞれに対して行い、かつ、前記フィルタデータに追加する対象のPJLデータである追加対象PJLデータが前記不揮発性メモリに記憶されたフィルタデータに存在するか否かを判断し、
前記変換処理は、
前記判断処理により、前記追加対象PJLデータが前記不揮発性メモリに記憶されたフィルタデータに存在すると判断された場合に、当該変換処理により変換された対象PJLデータに前記追加対象PJLデータを追加し、
前記コンピュータは、
前記変換処理により追加された前記追加対象PJLデータにより特定される処理を実行することを特徴とする請求項
2から請求項
13のいずれか1項に記載の画像形成装置。
【請求項15】
外部インターフェースと、コンピュータと、不揮発性メモリとを備えた画像形成装置であって、
前記コンピュータは、
PJLデータを前記外部インターフェースを介して取得するPJLデータ取得処理と、
前記不揮発性メモリに記憶されているフィルタデータを参照し、前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されている前記フィルタデータによって、対象PJLデータに対応付けられる非対象PJLデータである場合に、前記取得されたPJLデータを、前記不揮発性メモリに記憶されている前記フィルタデータにおいて当該非対象PJLデータと対応付けられる前記対象PJLデータに変換する変換処理と、を実行することを特徴とし、
前記不揮発性メモリに記憶されているフィルタデータは、前記非対象PJLデータを前記対象PJLデータに対応付けるためのデータであり、前記非対象PJLデータは、当該画像形成装置に所定の処理を実行させるための対象としないPJLデータであり、前記対象PJLデータは、当該当該画像形成装置に前記所定の処理を実行させるための対象とするPJLデータであ
り、
前記コンピュータは、
前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されたフィルタデータによって前記対象PJLデータと対応付けられる所定の非対象PJLデータと一致するか否かを判断し、
前記変換処理は、
前記コンピュータにより、前記取得されたPJLデータが、前記不揮発性メモリに記憶された前記所定の非対象PJLデータと一致すると判断された場合に、前記取得されたPJLデータを削除する画像形成装置。
【請求項16】
外部インターフェースと、コンピュータと、不揮発性メモリとを備えた画像形成装置であって、
前記コンピュータは、
PJLデータを前記外部インターフェースを介して取得するPJLデータ取得処理と、
前記不揮発性メモリに記憶されているフィルタデータを参照し、前記PJLデータ取得処理により取得されたPJLデータが、前記不揮発性メモリに記憶されている前記フィルタデータによって、対象PJLデータに対応付けられる非対象PJLデータである場合に、前記取得されたPJLデータを、前記不揮発性メモリに記憶されている前記フィルタデータにおいて当該非対象PJLデータと対応付けられる前記対象PJLデータに変換する変換処理と、を実行することを特徴とし、
前記不揮発性メモリに記憶されているフィルタデータは、前記非対象PJLデータを前記対象PJLデータに対応付けるためのデータであり、前記非対象PJLデータは、当該画像形成装置に所定の処理を実行させるための対象としないPJLデータであり、前記対象PJLデータは、当該当該画像形成装置に前記所定の処理を実行させるための対象とするPJLデータであ
り、
前記不揮発性メモリに記憶されているフィルタデータには、
前記対象PJLデータへの変換を禁止する非対象PJLデータが含まれており、
前記変換処理は、
前記PJLデータ取得処理により取得されたPJLデータが前記変換を禁止する非対象PJLデータと一致する場合は、前記PJLデータ取得処理により取得されたPJLデータを前記対象PJLデータに変換することを禁止する画像形成装置。
【請求項17】
前記不揮発性メモリは、
前記PJLデータ取得処理により取得するPJLデータとは異なるフォーマットのデータを、当該画像形成装置において処理可能なデータに変換するための別フィルタデータを記憶しており、
前記変換処理は、
前記PJLデータ取得処理により、前記非対象PJLデータとは異なるフォーマットのデータが取得された場合に、その取得されたデータを、前記不揮発性メモリに記憶された前記別フィルタデータに基づいて、前記処理可能なデータに変換することを特徴とする請求項1から請求項
16までのいずれか1項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタジョブ言語(以下、PJL(Printer Job Language)という)で記述されたデータを処理する技術に関する。
【背景技術】
【0002】
特許文献1には、画像形成装置が、PCから送信された新規PJLデータと、その新規PJLデータに対応する処理とをPJL辞書に記憶し、新規PJLデータをPCから受信したときに、その受信した新規PJLデータとPJL辞書において対応している処理を行うという技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
プリンタに代表される画像形成装置は、性能および機能の向上の他、提供価値が多様化するなどの変化が起きている。しかし、画像形成装置を備えた画像形成システムにおいて、上記の変化に対応するために画像形成装置を更新すると、画像形成システムを再構築するための負担が大きくなる。
【0005】
そこで、本発明は、上記の課題を解決するために創出されたものであって、画像形成装置を更新した場合であっても画像形成システムを再構築するための負担が大きくならない技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した目的を達成するため、本発明は、外部インターフェースと、コンピュータと、不揮発性メモリとを備えた画像形成装置であって、コンピュータは、PJLデータを外部インターフェースを介して取得するPJLデータ取得処理と、不揮発性メモリに記憶されているフィルタデータを参照し、PJLデータ取得処理により取得されたPJLデータが、不揮発性メモリに記憶されているフィルタデータによって、対象PJLデータに対応付けられる非対象PJLデータである場合に、取得されたPJLデータを、不揮発性メモリに記憶されているフィルタデータにおいて当該非対象PJLデータと対応付けられる対象PJLデータに変換する変換処理と、を実行することを特徴とし、不揮発性メモリに記憶されているフィルタデータは、非対象PJLデータを対象PJLデータに対応付けるためのデータであり、非対象PJLデータは、当該画像形成装置に所定の処理を実行させるための対象としないPJLデータであり、対象PJLデータは、当該当該画像形成装置に所定の処理を実行させるための対象とするPJLデータである画像形成装置という技術を提供する。
【0007】
コンピュータは、当該画像形成装置に所定の処理を実行させるための対象としないPJLデータ(非対象PJLデータ)を取得した場合、その取得したPJLデータを、フィルタデータにより、当該画像形成装置に所定の処理を実行させるための対象とするPJLデータ(対象PJLデータ)に変換する。
【0008】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、たとえば、プログラムの他、プログラムを記録した記録媒体、画像形成システムなどの形態で実現することができる。
【発明の効果】
【0009】
本発明によれば、画像形成装置を更新した場合であっても画像形成システムを再構築するための負担が大きくならない画像形成装置を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る画像形成装置の主な電気的構成を示す説明図である。
【
図2】(A)は印刷ジョブ、(B)はPJLデータの一例を示す説明図である。
【
図4】(A)は変換モード1、(B)は変換モード2の説明図である。
【
図5】(A)は本実施形態におけるフィルタデータの一例を示す説明図、(B)は推奨するフィルタデータの一例を示す説明図、(C)は非推奨のフィルタデータの一例を示す説明図である。
【
図6】(A)は変換モード1、(B)~(D)は変換モード2、(E)は変換モード3、(F)は変換モード4が適用されたPJLデータを変換する変換ルールの一例を示す説明図である。
【
図7】CPUが実行するメインルーチンを示すフローチャートである。
【
図8】
図7のメインルーチンの続きを示すフローチャートである。
【
図9】PJLデータ変換処理を示すフローチャートである。
【
図10】モード1PJLデータ変換処理を示すフローチャートである。
【
図11】取得PJLデータ変換処理を示すフローチャートである。
【
図13】モード2PJLデータ変換処理を示すフローチャートである。
【
図14】
図13のモード2PJLデータ変換処理の続きを示すフローチャートである。
【
図15】フィルタデータR/W処理を示すフローチャートである。
【
図16】関連ルールフィルタデータ構築処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態に係る画像形成装置、画像形成システムおよびプログラムついて図を参照しつつ説明する。画像形成装置の主な電気的構成について、それを示す
図1を参照しつつ説明する。画像形成装置10は、印刷エンジン11と、フラッシュROM12と、NVRAM14と、画像処理回路15と、ユーザIF(インターフェースの略)16と、通信IF17と、USBIF18と、バス19と、制御部20と、RAM22と、ROM23とを備えている。
【0012】
印刷エンジン11は、シートなどの記録媒体に画像を印刷するためのエンジンであり、電子写真方式、インクジェット方式、サーマル方式等の印刷方式が採用される。画像処理回路15は、PDL部32(
図2)に係る画像データをRIP(Raster Image Processerの略)処理し、シートなどの記録媒体に印刷する画素に対応した描画データに変換する。その変換された描画データは、印刷エンジン11へ出力される。NVRAM14は、印刷設定情報などを記憶する不揮発性メモリである。
【0013】
ユーザIF16は、例えば、タッチパネルであり、メッセージの表示機能とユーザによる操作を受け付ける機能とを備えている。通信IF17は、LAN回線L1により、情報処理装置40とそれぞれ相互に通信可能に接続されている。画像形成装置10と情報処理装置40との通信方法としては、Bluetooth(登録商標)などの通信プロトコルを用いることもできる。情報処理装置40は、例えば、PCやスマートフォンなどである。USBIF18は、USB規格に基づいて接続された装置と通信を行うためのハードウェアである。
【0014】
制御部20は、CPU21などにより構成されている。制御部20は、NVRAM14に記憶されている印刷設定情報に従って、印刷エンジン11を制御する。また、制御部20は、通信IF17を介して情報処理装置40との通信を制御する。フラッシュROM12には、フィルタデータ13が記憶されている。フィルタデータ13は、情報処理装置40から送信されたPJLデータを画像形成装置10において実行可能なPJLデータに変換するための変換ルールを記述したデータである。フィルタデータ13は、USBメモリストレージ媒体に記憶しておき、そのストレージ媒体から画像形成装置10に提供してもよい。フィルタデータ13については後に詳述する。CPU21、または、CPU21を含む制御部20は、本発明のコンピュータの一例であり、フラッシュROM12は、本発明の不揮発性メモリの一例である。また、画像形成装置10および情報処理装置40は、本発明の画像形成システムの一例である。
【0015】
ROM23には、CPU21が実行するプログラム24が記憶されている。RAM22は、フラッシュROM12から読出されたフィルタデータ13を展開する記憶領域、ROM23から読出されたプログラム24を展開するワーク領域などを有する。制御部20、RAM22、ROM23、フラッシュROM12、NVRAM14、印刷エンジン11、画像処理回路15、ユーザIF16、通信IF17およびUSBIF18は、バス19により相互に接続されている。通信IF17およびUSBIF18は、本発明の外部インターフェースの一例であり、プログラム24は、本発明のプログラムの一例である。
【0016】
プログラム24およびフィルタデータ13は、コンピュータが読み取り可能なストレージ媒体に記憶しておき、そのストレージ媒体から画像形成装置10に提供され、CPU21によって実行されてもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、CD-ROM、DVD-ROM、USBメモリなどの記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、コンピュータが読み取り可能なnon-transitoryなストレージ媒体には含まれない。
【0017】
なお、以下の説明における「判断」、「解析」、「参照」、「検出」、「追加」、「削除」、「破棄」、「選択」、「読出し」、「展開」、「書き込み」、「保存」、「出力」、「送信」、「決定」、「特定」、「取得」、「制御」、「設定」などの処理は、CPU21による処理を表している。CPU21による処理は、OSを介したハードウェア制御も含む。なお、「取得」は、要求を必須とはしない概念で用いる。つまり、CPU21が要求することなくデータを受信するという処理も、「CPU21がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【0018】
次に、画像形成装置10が情報処理装置40から取得する印刷ジョブの構成について
図2(A)を参照しつつ説明する。印刷ジョブ30は、PJLにより記述されたPJL部31と、PDL部32とを有する。印刷ジョブ30の先頭に記載されたデータD1「EC%-12345X@PJL」は、次行からPJLデータの記述されたPJL部31が始まることを示すオープニングコマンドである。PJL部31を構成する各PJLデータは、印刷ジョブ30の作成者名、印刷ジョブ30の名称、印刷設定情報などを表している。印刷設定情報には、用紙サイズ、印刷方向、カラー印刷かモノクロ印刷かの指定、印刷部数、印刷品質などの印刷設定情報が含まれている。例えば、「@PJL SET LPARM:PCL MEDIASIZE=LETTER」というPJLデータD2は、用紙サイズを「LETTER」に設定するという指示を表している。
【0019】
PJL部31の最後に記述されたデータD3「@PJL ENTER LAMGUAGE=PCL XL」は、PJL部31が終わり、次行からPDL(Page Description Languageの略)というページ記述言語により記述されたPDL部32が始まることを示すPJLデータである。なお、ページ記述言語としては、PCL(Printer Command Languageの略)、PS(Post Scriptの略)データなどを挙げることができる。PDL部32の次に記述されたデータD4「EC%-12345X@PJL EOJ NAME=”office -PDF(A&A4).pdf”」は、印刷ジョブ30の終了を示すPJLデータである。データD4の次行に記述されたデータ5「EC%-12345X」は、PDL部32の解析処理の終了を示すコマンドである。PDL部32は、本発明の印刷データの一例である。
【0020】
次に、PJLデータの構成要素について
図2(B)を参照しつつ説明する。
図2(B)は、PJLデータの一例を示しており、「@PJL DEFAULT LPARM:PCL PTSIZE=14.25」というPJLデータである。このPJLデータは、PCLにより記述されたPDL部32を印刷するときの初期値のポイントサイズを14.25に設定することを指示するPJLデータである。PJLデータは、「PJL Prefix」「Command」「Command modifier:Value」「Option name」の4要素で構成されるデータである。「@PJL」は、「PJL Prefix」である。「DEFAULT」は、「Command」である。「LPARM:PCL」は、「Command modifier:Value」である。「PTSIZE=14.25」は、「Option name=Value」である。以下、「PJL Prefix」を第1要素とし、「Command」を第2要素とし、「Command modifier:Value」を第3要素とし、「Option name=Value」を第4要素とする。
【0021】
第1要素は必須の要素であるが、PJLデータの書式には、第1要素および第2要素のみから成る書式1と、第1要素から第4要素から成る書式2とがある。第2要素から第4要素は、PJLの規格により、省略が認められている。以下、書式2のPJLデータのうち、第2要素から第4要素までが省略されていない書式で記述されたPJLデータを非省略型PJLデータとし、第2要素から第4要素のいずれか1つまたは2つが省略された書式で記述されたPJLデータを省略型PJLデータとする。
【0022】
画像形成装置において処理するPJLデータの定義には、機種の異なる複数の画像形成装置で共通に用いられる定義と、共通では用いない定義とが存在している。例えば、印刷用紙サイズを指示するPJLデータは、機種Aでは、「@PJL SET LPARM:PCL MEDIASIZE=LETTER」と定義しているのに対して、機種Bでは、「@PJL SET LPARM:PCL PAPER=LETTER」と定義している。例えば、情報処理装置40(
図1)に接続していた画像形成装置を機種Aから機種Bに変更した場合、情報処理装置40からPJLデータとして「@PJL SET LPARM:PCL MEDIASIZE=LETTER」を画像形成装置へ送信しても、画像形成装置は、受信したPJLデータを解析して印刷用紙をレターサイズに設定することができなくなる。機種Aと機種Bは、同じメーカの機種でもよいし、それぞれ異なるメーカの機種でもよい。そこで、本願発明者は、情報処理装置40から機種Aへ送信していたPJLデータを機種Bにおいて処理できるようにするために、情報処理装置40から機種Aへ送信していたPJLデータを、機種Bにおいて使用可能なPJLデータに変換する技術を創出した。換言すると、係る技術は、情報処理装置40から取得したPJLデータが、画像形成装置10に印刷機能の設定などの所定の処理を実行させるための対象としないPJLデータである場合に、そのPJLデータを、画像形成装置10に上記所定の処理を実行させるための対象とするPJLデータに変換することを特徴とする。以下、画像形成装置10に上記所定の処理を実行させるための対象としないPJLデータを変換前PJLデータといい、画像形成装置10に上記所定の処理を実行させるための対象とするPJLデータを変換後PJLデータという。変換前PJLデータは、本発明の非対象PJLデータの一例であり、変換後PJLデータは、本発明の対象PJLデータの一例である。
【0023】
なお、機種Bを制御するためのドライバーを情報処理装置40にインストールすることにより、情報処理装置40から、機種Bの仕様に適合したPJLデータを送信することもできる。しかし、画像形成システムを管理するシステム管理者は、システムのプログラムを変更することは、システムの正常動作を阻害する要因となるおそれがあること、労力が必要になること、などの理由から、極力避けたいという思いがある。そこで、本願発明者は、情報処理装置に接続された画像形成装置の機種が変わった場合であっても、システムのプログラムを変更しなくても、それまで情報処理装置から画像形成装置へ送信していたPJLデータを使うことができる技術を創出した。
【0024】
次に、PJLデータの変換モードについて
図3および
図4を参照しつつ説明する。変換モード1は、前述した第1要素および第2要素のみから成る書式1のPJLデータを変換するための変換モードである。
図4(A)に示す例1は、「@PJL UNKNOWNINIT」という書式1の変換前PJLデータを、「@PJL INITIALIZE」という書式1の変換後PJLデータに変換する例を示す。また、例2は、「@PJL UNKNOWNJOB」という書式1の変換前PJLデータを「@PJL JOB」という書式1の変換後PJLデータに変換する例を示す。
【0025】
変換モード2は、前述した書式2のPJLデータを変換するための変換モードである。前述したように、書式2には、非省略型PJLデータおよび省略型PJLデータが存在する。従って、変換ルールの変換前PJLデータとして、非省略型PJLデータを記述しておけば、CPU21は、取得したPJLデータ(以降、「取得PJLデータ」と記述する)が非省略型であった場合に、その取得PJLデータを上記変換ルールによって変換後PJLデータに変換することができる。また、変換ルールの変換前PJLデータとして、省略型PJLデータを記述しておけば、CPU21は、取得PJLデータが省略型であった場合に、そのPJLデータを上記変換ルールによって変換後PJLデータに変換することができる。また、CPU21は、非省略型PJLデータおよび省略型PJLデータのいずれでも解析することができるため、変換ルールの変換後PJLデータとして非省略型PJLデータおよび省略型PJLデータのいずれを記述しても良い。
【0026】
図4(B)に示す例1は、取得PJLデータのうち、第3要素が省略された「@PJL INQUIRE MEDIASIZE」という省略型のPJLデータを、第3要素が省略された「@PJL INQUIRE PAPER」という省略型の変換後PJLデータに変換する例を示す。
図4(B)に示す例2は、取得PJLデータのうち、「@PJL INQUIRE LPARM:PCL MEDIASIZE」という非省略型のPJLデータを、「@PJL INQUIRE LPARM:PCL PAPER」という非省略型の変換後PJLデータに変換する例を示す。
図4(B)に示す例3は、取得PJLデータのうち、「@PJL SET LPARM:PCL MEDIASIZE=LETTER」という非省略型のPJLデータを、「@PJL SET LPARM:PCL PAPER=LETTER」という非省略型の変換後PJLデータに変換する例を示す。
【0027】
また、変換ルールの変換前PJLデータとして、画像形成装置10のメーカ独自のPJLデータ(以下、独自型PJLデータという)を記述することもできる。例えば、独自型PJLデータでは、第1~第3要素までを省略可能とし、第4要素のみを必須要素とすることができる。例えば、変換ルールの変換前PJLデータとして、第4要素のみの独自型PJLデータが記述されている場合に、取得PJLデータの第4要素が、上記変換ルールの変換前PJLデータである独自型PJLデータと一致した場合は、取得PJLデータの第2要素および第3要素の内容に関係無く、取得PJLデータを、当該変換前PJLデータと上記変換ルールにおいて対応付けられている変換後PJLデータに変換することができる。例えば、変換ルールにおいて、「MEDIASIZE=LETTER」という第4要素のみの変換前PJLデータ(独自型PJLデータ)と、「PAPER=LETTER」という変換後PJLデータとが対応付けられているとする。そして、取得PJLデータの第4要素に「MEDIASIZE=LETTER」が存在する場合は、その取得PJLデータの第2要素および第3要素の内容に関係無く、取得PJLデータを、「PAPER=LETTER」という変換後PJLデータに変換する。すなわち、第4要素に「MEDIASIZE=LETTER」が存在するPJLデータを取得した場合の総てにおいて、「MEDIASIZE=LETTER」を「PAPER=LETTER」に変換した変換後PJLデータを生成することができる。独自型PJLデータを変換前PJLデータとして記述した変換ルールを用いることで、例えば、「@PJL SET MEDIASIZE=LETTER」という、一時的な用紙サイズ設定を指示する取得PJLコマンドを、「@PJL SET PAPER=LETTER」に変換すること、「@PJL DEFAULT MEDIASIZE=LETTER」という、用紙サイズのデフォルト値設定を指示する取得PJLコマンドを、「@PJL DEFAULT PAPER=LETTER」に変換すること、のいずれも可能になる。
【0028】
次に、フィルタデータについて
図6を参照しつつ説明する。フラッシュROM12に記憶されたフィルタデータ13は、取得PJLデータを画像形成装置10において解析可能な変換後PJLデータに変換するためのデータである。
図6(A)~(F)に示すように、フィルタデータ13では、変換前PJLデータと変換後PJLデータとが対応付けられている。つまり、CPU21は、取得PJLデータがフィルタデータ13における所定の変換前PJLデータと一致した場合に、取得PJLデータを、変換後PJLデータに変換する。
図6(A)~(F)に示す数値Aは、変換前PJLデータを変換後PJLデータに変換するときの変換ルールの通し番号(以下、変換ルール番号という)を示す。
図6(A)~(F)では、
図5(A)に示す、変換ルール1~10が存在するフィルタのうち、変換ルール1,3,5,6,8,9を例示している。
図6(A)~(D)に示す数値Bは、当該変換ルールにおける、変換前PJLデータの個数(変換前PJLデータ数)を示す(
図6)。例えば、画像形成装置10に、ある1つの処理を実行させるために変換前PJLデータが2個必要な場合は、B=2である。
【0029】
図6(E)に示す数値Fは、削除するPJLデータの数を示す。例えば、情報処理装置40からフィルタデータ13において削除対象として設定されている変換前PJLデータと一致するPJLデータが送信された場合は、その送信されたPJLデータは削除される。CPU21は、そのPJLデータと一致する変換前PJLデータに対応付けられている変換後PJLデータにより特定される処理を実行しない。削除するPJLデータの個数が1個の場合は、F=1である。
図6(F)に示す数値Hは、追加する変換後PJLデータの数を示す。例えば、情報処理装置40からPJLデータを取得し、その取得PJLデータと一致する変換前PJLデータが、フィルタデータ13において追加の対象となっている変換前PJLデータであった場合は、取得PJLデータを、当該変換前PJLデータとフィルタデータ13において対応付けられている変換後PJLデータに変換し、その変換した変換後PJLデータを、他の変換後PJLデータに追加する。これにより、CPU21は、その追加された変換後PJLデータにより特定される処理を実行する。追加する変換後PJLデータの数が1個の場合は、H=1である。
【0030】
図6(A)~(D)に示す数値Cは、取得PJLデータに適用する変換モードの番号を示す。例えば、C=1は、取得PJLデータを変換モード1(
図4(A))を適用して変換することを示す。
図6(E)に示す数値Gは、取得PJLデータに適用する変換モードの番号を示す。本例では、G=3であり、変換モード3(削除モード)であることを示す。変換モード3では、取得PJLデータが、フィルタデータ13に設定されている変換モード3の変換前PJLデータと一致した場合に、その取得PJLデータを削除する。
図6(F)に示す数値Iは、取得PJLデータに適用する変換モードの番号を示す。本例では、I=4であり、変換モード4(追加モード)であることを示す。変換モード4では、取得PJLデータが、フィルタデータ13に設定されている変換モード4の変換前PJLデータと一致した場合に、当該変換前PJLデータに対応付けられている変換後PJLデータを、他の変換後PJLデータに追加する。
【0031】
図6(B)~(D)に示す数値Dは、変換後の変換後PJLデータの個数(変換後PJLデータ数)を示す。例えば、D=1は、変換後の変換後PJLデータの数が1個であることを示す。
図6(A)~(D)に示す数値Eは、変換後PJLデータの書式が、どの変換モードに対応する書式であるかを示す数値である。例えば、E=1は、変換モード1に対応する書式1により記述されていることを示す。なお、
図6(B)~(D)に示す例では、数値Cおよび数値Eが同じ数値を示しているが、変換後PJLデータを記述する書式は任意に決定することができるため、数値Cおよび数値Eが異なる場合もある。
【0032】
次に、取得PJLデータを変換後PJLデータに変換するための変換ルールの一例について
図6を参照しつつ説明する。
図6(A)に示す変換ルール1(A=1)は、変換モード1が適用される変換ルール1である。
図6(B)に示す変換ルール3(A=3)は、変換モード2が適用される変換ルールである。また、変換ルール3には、後述する関連ルール4および関連ルール7(図では、インデックス4,7)が対応付けられている。画像形成装置10が、変換ルール3の変換後PJLデータ「SET LPARM:PCL PAPER=LETTER」に基づいて、用紙サイズをレター(LETTER)に設定する処理は、本発明の所定の処理、または、設定内容変更処理の一例である。
【0033】
また、
図5(A)に示す変換ルール4(A=4)も変換モード2が適用される変換ルールである。また、変換ルール7(A=7)は、第2要素および第3要素が省略され、第4要素のみを有する省略型の要素構成であり、変換モード2が適用されている省略型のPJLデータを省略型の変換後PJLデータに変換するための変換ルールである。
図6(C)に示す変換ルール5(A=5)は、変換モード2が適用されている変換ルールである。変換ルール5は、N個(N≧2)の省略型のPJLデータをM個(M<N)の省略型の変換後PJLデータに変換するための変換ルールの一例である。この変換ルール5は、画像形成装置10に更新する前の画像形成装置では、1つの処理を実行させるためにN個(N≧2)の省略型のPJLデータを取得する必要があったが、更新した後の画像形成装置10では、上記1つの処理を実行させるためにM個(M<N)の省略型のPJLデータを取得すれば良い場合に適用する。
【0034】
図6(D)に示す変換ルール6(A=6)は、変換モード2が適用される変換ルールである。変換ルール6は、M個(M<N)の省略型のPJLデータをN個(N≧2)の省略型の変換後PJLデータに変換するための変換ルールの一例である。この変換ルール6は、画像形成装置10に更新する前の画像形成装置では、1つの処理を実行させるためにM個(M<N)の省略型のPJLデータを取得すれば済んだが、更新した後の画像形成装置10では、上記1つの処理を実行させるためにN個(N≧2)の省略型のPJLデータを取得する必要がある場合に適用する。CPU21が、変換ルール6の変換後PJLデータ「SET OUTBIN FINISHER」および「SET STAPLE ON」に基づいて、印刷された用紙に行うステープル処理は、本発明の所定の処理、または、設定内容変更処理の一例である。
【0035】
図6(E)に示す変換ルール8(A=8)は、変換モード3(削除モード)が適用される変換ルールである。変換ルール8は、変換前PJLデータと一致するPJLデータが取得された場合に、その取得されたPJLデータを削除するための変換ルールである。画像形成装置10は、削除されたPJLデータと一致する変換前PJLデータを変換後PJLデータに変換する処理を実行しなくなる。
図6(F)に示す変換ルール9(A=9)は、PJLデータおよびPDL部32(
図2)の少なくとも一方が情報処理装置40から取得された場合に、変換モード4(追加モード)が適用される変換ルールである。変換ルール9は、取得されたデータに対して、「SET DUPLEX ON」という省略型の変換後PJLデータを追加する。これにより、画像形成装置10は、追加された変換後PJLデータにより特定される処理、例えば、両面印刷を実行する。なお、
図5(A)に示すフィルタデータ13は、変換ルールの一部を示すものであり、フィルタデータ13に、図示以外の変換ルールが設定されていてもよい。フィルタデータ13は、本発明の印刷機能設定用フィルタデータの一例である。
【0036】
フィルタデータ13は、変換前PJLデータと関連するデータを有する変換前PJLデータである関連変換前PJLデータと、関連変換前PJLデータと対応付けられているPJLデータである関連変換後PJLデータとを含んでいる。例えば、フィルタデータ13に設定されている変換ルールのうち、変換ルール3を適用する変換前PJLデータと変換ルール4を適用する変換前PJLデータとを比較すると、両変換ルールは、「LPARM:PCL」という第3要素と、「MEDIASIZE=LETTER」という第4要素とを有する点で関連している。換言すると、両変換ルールは、変換前PJLデータを構成しているデータが一部で共通している。つまり、相互に関連するデータを有するという意味で、変換ルール4は変換ルール3の関連ルールである。また、変換ルール3を適用する変換前PJLデータと変換ルール7を適用する変換前PJLデータとを比較すると、両変換ルールは、「MEDIASIZE」という第4要素を有する点で関連している。つまり、変換ルール7は、変換ルール3の関連ルールである。
図6(B)に示すように、フィルタデータ13では、変換ルール3の関連ルールとして、変換ルール4および変換ルール7が変換ルール3に対応付けられている。図中の符号「4,7」は、CPU21が、変換ルール3の関連ルールを検索するためのインデックスである。
【0037】
また、
図5(A)に示すように、フィルタデータ13は、変換ルール10を除き、変換前PJLデータが「Command」のみから成り、変換モード1が適用される変換ルール1,2のグループと、変換モード2が適用される変換ルール3~7のグループとに分けて設定されている。CPU21は、後述するS12の処理で、このような設定になるよう、フィルタデータ13を記憶させる。このように各変換ルールを並べることにより、CPU21が取得したPJLデータと一致する変換前PJLデータを検索する際に、その取得PJLデータと同じ種類のグループを検索すれば良く、他のグループを検索する必要が無いため、各変換ルールをランダムに並べた場合よりも、検索時間を短縮することができる。従って、検索時間が短縮される分、変換速度を速くすることができる。また、変換モード2が適用される変換ルール3~7のグループでは、変換前PJLデータとして非省略型PJLデータが設定されている変換ルール3,4が先に配置されており、その後に、変換前PJLデータとして省略型PJLデータが設定されている変換ルール5~7が配置されている。CPU21は、後述するS12の処理で、このような配置になるよう、フィルタデータを記憶させる。つまり、CPU21は、取得PJLデータが非省略型PJLデータの少なくとも一部と一致するか否かの判断が、取得PJLデータが省略型PJLデータの少なくとも一部と一致するか否かの判断よりも優先的に実行されるようにフィルタデータ13を並び替えてフラッシュROM12に記憶する。従って、取得PJLデータが非省略型PJLデータであった場合に、その非省略型PJLデータが、誤って省略型PJLデータに変換されるおそれがない。
【0038】
例えば、
図5(B)に示すフィルタデータ50は、推奨するフィルタデータの一例であり、非省略型PJLデータを変換するための変換ルールR1が先頭に配置されており、省略型PJLデータを変換するための変換ルールR2が変換ルールR1の後に配置されている。
図5(C)に示すフィルタデータ51は、非推奨のフィルタデータの一例であり、省略型PJLデータを変換するための変換ルールR1が先頭に配置されており、非省略型PJLデータを変換するための変換ルールR2が変換ルールR1の後に配置されている。非省略型PJLデータ「SET ORGTRAY=1」および変換後PJLデータ「SET TRAY=STD」は、それぞれ非省略型PJLデータであり、非省略型PJLデータ「ORGTRAY」および変換後PJLデータ「TRAY」は、それぞれ省略型PJLデータである。
【0039】
フィルタデータ51を使用しており、CPU21が取得したPJLデータが、「SET ORGTRAY=1」であったとする。この「SET ORGTRAY=1」は、非省略型PJLデータであるため、本来ならば、「SET TRAY=STD」という非省略型PJLデータに変換する必要がある。CPU21は、フィルタデータ51の先頭から参照するため、変換ルールR1を参照し、取得PJLデータである「SET ORGTRAY=1」が、「ORGTRAY」と一致するか否かを判断する。ここで、「SET ORGTRAY=1」を構成するデータのうち、「ORGTRAY」が、変換ルールR1の「ORGTRAY」と一致するため、CPU21は、「SET ORGTRAY=1」を構成するデータのうち、「ORGTRAY」を「TRAY」に変換する。その結果、取得PJLデータ「SET ORGTRAY=1」は、「SET TRAY=1」に変換される。つまり、本来、変換しなければならない、非省略型PJLデータである「SET TRAY=STD」ではなく、省略型PJLデータである「SET TRAY=1」に変換されてしまう。これにより、画像形成装置は、取得PJLデータにより特定される処理を実行することができない。
【0040】
上記の例の場合、変換ミスが発生しないようにするためには、
図5(B)に示すフィルタデータ50のように、変換ルールR1として、「SET ORGTRAY=1」(変換前PJLデータ)と、「SET TRAY =STD」(変換後PJLデータ)とが対応付けられており、変換ルールR2として、「ORGTRAY」(変換前PJLデータ)と、「TRAY」(変換後PJLデータ)とを対応付ける。この場合、CPU21は、変換ルール1を参照し、取得した「SET ORGTRAY=1」が、変換ルール1の非省略型PJLデータ「SET ORGTRAY=1」と一致すると判断するため、取得した「SET ORGTRAY=1」は、変換後PJLデータ「SET TRAY=STD」に正しく変換される。
【0041】
次に、制御部20のCPU21が実行するメインルーチンについて
図7および
図8を参照しつつ説明する。以下では、情報処理装置40(
図1)から送信される印刷ジョブ30(
図2)を受信したときにCPU21が実行する処理について説明する。CPU21は、メインルーチンおよびサブルーチンの各処理を、ROM23に記憶されているプログラム24に従って実行する。なお、以下の説明では、CPU21が実行する処理のステップをSと略す。
【0042】
CPU21は、フィルタデータ13(
図5(A))がフラッシュROM12(
図1)に保存済みか否かを判断する(
図7のS1)。ここで、CPU21は、フィルタデータ13がフラッシュROM12に保存済みであると判断した場合は(S1:Yes)、フラッシュROM12からフィルタデータ13を読出し、その読出したフィルタデータ13をRAM22(
図1)に展開する(S2)。なお、フィルタデータ13が予めRAM22に記憶されている場合は、RAM22からフィルタデータ13を読出し、その読出したフィルタデータ13をRAM22に展開することもできる。また、CPU21は、フラッシュROM12から読出したフィルタデータ13のうち、関連ルールが存在する変換ルールに対して関連ルールのインデックスを付与する(S2)。
図5(A)に示した例では、変換ルール3に関連ルール4,7が存在するため、変換ルール3に対してインデックス4,7を付与する。インデックスは、関連ルールを識別することができれば良く、数字以外の符号でも良いし、数字および符号を組み合わせても良い。
【0043】
続いて、CPU21は、情報処理装置40からデータを取得し(S3)、その取得したデータの種別を判別する(S4)。続いて、CPU21は、取得したデータの種別がPJLデータであるか否かを判断し(S5)、PJLデータであると判断した場合(S5:Yes)は、その取得PJLデータが変換後PJLデータへの変換を許可するPJLデータであるか否かを判断する(S6)。変換を禁止するPJLデータのリストは、フラッシュROM12に記憶されており、取得PJLデータが、そのリストに入っていない場合に変換を許可する。
【0044】
例えば、画像形成装置10に記憶されているファイルをネットワーク上にアップロードすることを指示するPJLデータ、ファイルの削除を指示するPJLデータなどを、変換を禁止するPJLデータのリストに含めておくことができる。このようにすることにより、画像形成装置10がインターネットなどのネットワークに接続されている場合に、悪意のある者からの攻撃を受け、ファイルのアップロード、ファイルの削除などが起きないようにすることができる。つまり、画像形成装置10のセキュリティを高めることができる。
【0045】
CPU21は、取得PJLデータが、変換を許可するPJLデータであると判断すると(S6:Yes)。後述するPJLデータ変換処理を実行する(S7)。続いて、CPU21は、PJLデータを解析し(S8)、データD3「@PJL ENTER LAMGUAGE=PCL XL」(
図2)を検出したか否かを判断する(
図8のS9)。ここで、CPU21は、検出したと判断した場合は(S9:Yes)、データD3「@PJL ENTER LAMGUAGE=PCL XL」の次に記述されているのは、PDL部32(
図2)であるか否かを判断する(S10)。ここで、CPU21は、PDL部32であると判断した場合は(S10:Yes)、追加変換後PJLデータがフィルタデータ13に存在するか否かを判断する(S15)。追加変換後PJLデータとは、CPU21が取得したデータに追加する変換後PJLデータである。ここで、CPU21は、追加対象PJLデータがフィルタデータ13に存在すると判断した場合は(S15:Yes)、フィルタデータ13から追加対象PJLデータを取得し、その取得した追加対象PJLデータを、CPU21が取得済みのデータに追加する(S16)。例えば、
図6(F)に示した「SET DUPLEX ON」という変換後PJLデータは、追加変換後PJLデータである。これにより、画像形成装置10は、追加された変換後PJLデータにより特定される処理、例えば、両面印刷を実行する。
【0046】
続いて、CPU21は、RIP処理を実行し(S17)、印刷処理を実行する(S18)。この印刷処理(S18)は、PJLデータ変換処理(S7)を実行した後に実行するため、PJLデータ変換処理により変換されたPJLデータにより示される指示内容を当該印刷処理に反映させることができる。詳しくは、CPU21は、PJLデータ変換処理により変換された変換後PJLデータが、印刷機能の設定内容の変更を指示するデータであった場合は、その指示に従って印刷機能の設定内容を変更し、その設定変更された印刷機能と、取得したPDL部32とに基づいた印刷を実行する。また、CPU21は、PDL部32ではないと判断した場合は(S10:No)、フィルタデータ13であるか否かを判断し(S11)、フィルタデータ13であると判断した場合は(S11:Yes)、後述するフィルタデータR/W処理を実行する(S12)。また、CPU21は、フィルタデータ13ではないと判断した場合は(S11:No)、PCLフィルタデータであるか否かを判断し(S13)、PCLフィルタデータであると判断した場合は(S13:Yes)、PCLフィルタデータR/W処理を実行する(S14)。このPCLフィルタデータR/W処理では、取得したPCLフィルタデータをフラッシュROM12に書き込む処理と、フラッシュROM12からPCLフィルタデータを読出す処置とを実行する。
【0047】
PCLフィルタデータは、当該画像形成装置10において処理対象ではないPCLデータを処理対象のPCLデータに変換するためのフィルタデータである。また、CPU21は、取得したデータがPJLデータではないと判断した場合(
図7のS5:No)、あるいは、取得PJLデータが、変換を許可するPJLデータではないと判断した場合は(S6:No)、S9(
図8)へ移行する。また、CPU21は、データD3「@PJL ENTER LAMGUAGE=PCL XL」(
図2)を検出していないと判断した場合は(S9:No)、S3(
図7)に戻り、データを取得する。また、CPU21は、PCLフィルタデータではないと判断した場合は(S13:No)、当該メインルーチンを終了する。CPU21がS3においてPJLデータを取得した場合は、S3は、本発明のPJLデータ取得処理の一例である。また、PCLデータは、本発明の、PJLデータとは異なるフォーマットのデータの一例であり、PCLフィルタデータは、本発明の別フィルタデータの一例である。
【0048】
次に、CPU21がメインルーチンのS7(
図7)において実行するPJLデータ変換処理について
図9を参照しつつ説明する。CPU21は、メインルーチンのS3(
図7)において取得したPJLデータは、第2要素の「Command」のみから成るPJLデータであるか否かを判断する(S20)。ここで、CPU21は、「Command」のみから成るPJLデータであると判断した場合は(S20:Yes)、後述するモード1PJLデータ変換処理を実行し(S21)、「Command」のみから成るPJLデータではないと判断した場合は(S20:No)、後述するモード2PJLデータ変換処理を実行する(S22)。つまり、前述したように、フィルタデータ13は、変換前PJLデータが「Command」のみから成り、変換モード1が適用される変換ルール1,2のグループと、変換モード2が適用される変換ルール3~7のグループとに分けて設定されている。このため、CPU21が取得PJLデータが「Command」のみから成るか否かによって、検索対象のグループを分け、かつ、処理ルーチンを分けることにより、無駄な検索を無くすことができるため、検索時間を短縮することができる。従って、検索時間が短縮される分、変換速度を速くすることができる。
【0049】
次に、CPU21がPJLデータ変換処理のS21(
図9)において実行するモード1PJLデータ変換処理について
図10を参照しつつ説明する。CPU21は、参照する変換ルールの変換ルール番号Nを1にセットする(S30)。変換ルール番号Nは、
図5(A)において符号Aにより示される番号である。続いて、CPU21は、変換ルール番号N=1の変換ルールを参照し(S31)、変換ルール番号Nに「1」を加算する(S32)。
【0050】
続いて、CPU21は、参照している変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であるか否かを判断し(S33)、フィルタデータ13の終端にある変換ルールを示す変換ルール番号ではないと判断した場合は(S33:No)、現在参照している変換ルールが変換モード2を適用した変換ルールであるか否かを判断する(S34)。ここで、CPU21は、変換モード2を適用した変換ルールであると判断した場合は(S34:Yes)、メインルーチンに戻る。また、CPU21は、現在参照している変換ルールが変換モード2を適用した変換ルールではないと判断した場合は(S34:No)、後述する取得PJLデータ変化処理を実行する(S35)。
図5(A)に示す例では、フィルタデータ13の終端にある変換ルールを示す変換ルール番号は「10」になっているが、フィルタデータ13の終端にある変換ルールを示す変換ルール番号は、フィルタデータ13を構築する変換ルールの数によって異なる。続いて、CPU21は、メインルーチンのS3(
図7)において取得したPJLデータが変換済みであるか否かを判断し(S36)、変換済みであると判断した場合は(S36:Yes)、当該モード1PJLデータ変換処理を終了する。
【0051】
また、CPU21は、参照している変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であると判断した場合は(S33:Yes)、メインルーチンに戻る。また、CPU21は、取得PJLデータが変換済みではないと判断した場合は(S36:No)、S31を実行することにより現在参照している変換ルールNが変換モード3(削除モード)が適用された変換ルールであるか否かを判断する(S37)。ここで、CPU21は、変換モード3が適用された変換ルールであると判断した場合は(S37:Yes)、現在参照している変換ルールNの変換前PJLデータと、取得PJLデータとが一致するか否かを判断し(S38)、一致すると判断した場合は(S38:Yes)、取得PJLデータを削除する(S39)。例えば、
図6(E)に示すように、取得PJLデータが、変換ルール8において、削除する変換前PJLデータとして設定された「MEDIACOLOR」というPJLデータである場合は、その取得PJLデータを削除する。「MEDIACOLOR」は、本発明の所定の非対象PJLデータの一例である。
【0052】
次に、CPU21がモード1PJLデータ変換処理のS35(
図10)において実行する取得PJLデータ変換処理について
図11を参照しつつ説明する。CPU21は、参照PJLデータ数Xを「1」にセットする(S50)。参照PJLデータ数Xとは、参照する変換ルールの変換前PJLデータを構成しているPJLデータのうち、CPU21が何個目のPJLデータを参照するのかを示す数である。参照PJLデータ数Xを「1」にセットするということは、変換前PJLデータを構成しているPJLデータのうち、1個目のPJLデータを参照の対象とすることを意味する。
【0053】
続いて、CPU21は、現在参照している変換ルールの変換前PJLデータのうち、1個目(X個目)のPJLデータを参照する(S51)。続いて、CPU21は、メインルーチンのS3(
図7)において取得したPJLデータと、現在参照している変換ルールの変換前PJLデータの1個目(X個目)のPJLデータとが一致するか否かを判断する(S52)。「一致」とは、1個分のPJLデータを構成する文字および記号が総て一致するという意味である。例えば、取得PJLデータが、「UNKNOWNINIT」であり、現在、変換ルール1(A=1)を参照しているとする。
図5(A)に示すように、変換ルール1の変換前PJLデータは、「UNKNOWNINIT」という1個のPJLデータのみであり、取得PJLデータ「UNKNOWNINIT」と一致している。従って、CPU21は、取得PJLデータと、現在参照している変換ルールの変換前PJLデータとが一致すると判断する(S52:Yes)。
【0054】
続いて、CPU21は、取得PJLデータと、現在参照している変換ルールの変換前PJLデータの1個目とが一致すると判断した場合は(S52:Yes)、現在参照している変換ルールの変換前PJLデータの中に、取得PJLデータと一致しないPJLデータが存在するか否かを判断する(S53)。ここで、CPU21は、現在参照している変換ルールの変換前PJLデータの中に、取得PJLデータと一致しないPJLデータが存在しないと判断した場合は(S53:No)、当該取得したPJLデータを、参照している変換ルールにおいて、当該変換前PJLデータと対応付けられている変換後PJLデータに変換し(S58)、取得PJLデータと、現在参照している変換ルールの変換前PJLデータとが一致するか否かの判断処理を終了する。つまり、CPU21は、取得PJLデータを、当該PJLデータとS52において一致すると判断したときの判断対象となった変換前PJLデータを、当該変換前PJLデータと、参照している変換ルールにおいて対応付けられている変換後PJLデータに変換し、判断処理を終了する。
【0055】
例えば、取得PJLデータが「UNKNOWNINIT」であり、変換ルール1を参照しているとする。CPU21は、現在参照している変換ルール1の変換前PJLデータの中に、取得PJLデータ「UNKNOWNINIT」と一致しないPJLデータが存在しないと判断し(S53:No)、当該取得したPJLデータ「UNKNOWNINIT」を、当該変換前PJLデータ「UNKNOWNINIT」と変換ルール1において対応付けられている変換後PJLデータ「INITALIZE」に変換する(S58)。このように、取得PJLデータが変換モード1を適用したPJLデータであった場合は、フィルタデータ13のうち、変換前PJLデータとして変換モード1を適用した変換前PJLデータが設定されている変換ルールのグループを参照し、その参照したグループの中から、取得PJLデータと一致する変換前PJLデータを検索して見つけ出すため、検索時間を短縮することができる。従って、検索時間が短縮される分、変換前PJLデータを変換後PJLデータに変換する処理速度を速くすることができる。
【0056】
また、CPU21は、現在参照している変換ルールの変換前PJLデータの中に、取得PJLデータと一致しないPJLデータが存在すると判断した場合は(S53:Yes)、後述する先読み処理(
図12)を実行し(S54)、他に取得したPJLデータの中に、当該一致しないPJLデータが存在するか否か検索する。例えば、CPU21が取得したPJLデータが、「UNKNOWNINIT」であり、現在、変換ルール10を参照しているとする。変換ルール10の変換前PJLデータは、「UNKNOWNINIT」および「REBOOT」という2個のPJLデータにより構成されており、「REBOOT」は、取得した「UNKNOWNINIT」と一致しないPJLデータである。この場合、CPU21は、現在参照している変換ルール10の変換前PJLデータの中に、取得PJLデータと一致しないPJLデータが存在すると判断する(S53:Yes)。
【0057】
また、CPU21は、取得PJLデータと、現在参照している変換ルールの変換前PJLデータの1個目(X個目)とが一致しないと判断した場合は(S52:No)、現在、変換前PJLデータのX個目のPJLデータを参照していることを示すXと、変換前PJLデータ数とが等しいか否かを判断する(S56)。変換前PJLデータ数とは、参照している変換ルールの変換前PJLデータを構成しているPJLデータの合計の個数である。ここで、CPU21は、Xと、変換前PJLデータ数とが等しくないと判断した場合は(S56:No)、Xに「1」を加算し(S57)、現在参照している変換前PJLデータのX個目を参照する(S51)。
【0058】
例えば、取得PJLデータが「REBOOT」であり、変換ルール10(A=10)を参照しているとする。変換ルール10の変換前PJLデータは、1個目に「UNKNOWNINIT」というPJLデータを有し、2個目に「REBOOT」というPJLデータを有する。このため、CPU21は、取得PJLデータ「REBOOT」と、変換ルール10の1個目の変換前PJLデータ「UNKNOWNINIT」とが一致しないと判断する(S52:No)。続いて、CPU21は、「1(X=1)」は、変換前PJLデータ数の「2」と等しくないと判断し(S56:No)、Xに「1」を加算してX=2とする(S57)。続いて、CPU21は、変換ルール10の2個目(X=2個目)のPJLデータ「REBOOT」を参照する(S51)。
【0059】
続いて、CPU21は、取得PJLデータ「REBOOT」と、参照している変換ルール10の2個目の変換前PJLデータ「REBOOT」とが一致すると判断する(S52:Yes)。続いて、CPU21は、参照している変換ルール10の変換前PJLデータ「UNKNOWNINIT」および「REBOOT」の中には、取得PJLデータ「REBOOT」と一致しないPJLデータ「UNKNOWNINIT」が存在すると判断する(S53:Yes)。この一致しないPJLデータ「UNKNOWNINIT」については、次の先読み処理において、CPU21が取得したPJLデータの中に存在するか否か検索を行う。
【0060】
また、CPU21は、Xと、変換前PJLデータ数とが等しいと判断した場合は(S56:Yes)、当該取得PJLデータ変換処理を終了する。つまり、取得PJLデータと、現在、参照している変換ルールの変換前PJLデータのX個目とが一致せず、Xと、変換前PJLデータ数とが等しいという状態は、取得PJLデータと、現在参照している変換ルールの変換前PJLデータを示すX個のPJLデータとの比較を総て行っても、一致するPJLデータが存在しなかったということを表しているから、当該取得PJLデータ変換処理を終了する。CPU21が実行するS52は、本発明の判断処理の一例である。
【0061】
次に、CPU21が取得PJLデータ変換処理のS54(
図11)において実行する先読み処理について
図12を参照しつつ説明する。当該先読み処理では、取得PJLデータ変換処理のS53(
図11)において、参照している変換ルールの変換前PJLデータの中に、取得PJLデータと一致しないPJLデータが存在すると判断したときの当該一致しないPJLデータを、取得済みのPJLデータの中から検索する処理を行う。以下、当該一致しないPJLデータを不一致PJLデータという。
【0062】
CPU21は、先読みデータを参照する(S60)。先読みデータとは、CPU21が不一致データと一致するか否かの判断を行う対象となるデータである。例えば、CPU21は、取得済みである複数行のPJLデータのうち、先頭行のPJLデータを先読みデータとして参照する(S60)。続いて、CPU21は、参照した先読みデータが、取得済みのデータの終端であるか否かを判断し(S61)、終端ではないと判断した場合は(S61:No)、参照した先読みデータが、「ENTER LAMGUAGE」と記述されたPJLデータ(例えば、データD3「@PJL ENTER LAMGUAGE=PCL XL」(
図2(A))であるか否かを判断する(S62)。ここで、CPU21は、「ENTER LAMGUAGE」と記述されたPJLデータではないと判断した場合は(S62:No)、参照した先読みデータが、PDL部32(
図2(A))であるか否かを判断し(S63)、PDL部32ではないと判断した場合は(S63:No)、参照した先読みデータが不一致PJLデータと一致するか否かを判断する(S64)。
【0063】
ここで、CPU21は、参照した先読みデータが不一致PJLデータと一致しないと判断した場合は(S64:No)、次の行のデータを参照し(S65)、S61~S64を実行する。また、CPU21は、参照した先読みデータが不一致PJLデータと一致すると判断した場合は(S64:Yes)、その判断対象となった先読みデータをRAM22(
図1)に保存する(S66)。例えば、不一致データが「UNKNOWNINIT」であり、2行目のデータを参照したときの先読みデータが「UNKNOWNINIT」が記述されたPJLデータであった場合は、CPU21は、先読みデータ「UNKNOWNINIT」をRAM22に保存する。また、CPU21は、先読み処理(
図12)において、データの終端であると判断した場合(S61:Yes)、あるいは、「ENTER LAMGUAGE」と記述されたPJLデータであると判断した場合(S62:Yes)、あるいは、PDL部32であると判断した場合は(S63:Yes)、当該先読み処理を終了し、取得PJLデータ変換処理(
図11)に戻る。CPU21が実行するS64は、本発明の判断処理の一例である。
【0064】
CPU21は、前述した取得PJLデータ変換処理のS55(
図11)において、先読みデータが保存されているか否かを判断し(S55)、保存されていると判断した場合は(S55:Yes)、S52において、取得PJLデータと参照している変換ルールの変換前PJLデータのX個目とが一致すると判断したときの判断対象となったX個目の変換前PJLデータと、先読み処理のS66(
図12)において保存された先読みデータとから成る変換前PJLデータを有する変換ルール、つまり、S53において肯定判定する原因になったS31(
図10)において参照した変換ルールを参照し、取得したPJLデータを、当該変換ルールにおいて当該変換前PJLデータと対応付けられる変換後PJLデータに変換する(S58)。
【0065】
例えば、取得PJLデータが、「REBOOT」であり、S31において変換ルール10を参照し、S52において、取得PJLデータと参照している変換ルールの変換前PJLデータのX個目とが一致すると判断したときの判断対象となったPJLデータが、変換ルール10の「REBOOT」であり、先読み処理のS66(
図12)において保存されている先読みデータが「UNKNOWNINIT」であったとする。CPU21は、「REBOOT」および「UNKNOWNINIT」から成る変換前PJLデータを有する変換ルール、つまり、S31において参照した変換ルール10(
図5(A))を参照し、取得したPJLデータ「UNKNOWNINIT」および「REBOOT」を、変換前PJLデータ「UNKNOWNINIT」および「REBOOT」と変換ルール10において対応付けられている変換後PJLデータ「INTIALIZE」に変換する。また、CPU21は、先読みデータが保存されていないと判断した場合は(S55:No)、当該取得PJLデータ変換処理を終了し、モード1PJLデータ変換処理に戻る。
【0066】
上述した変換ルール10のように、変換前PJLデータが1組(上記例では2個)のPJLデータから成る場合に、その1組のうちの1個と一致するPJLデータを取得したが、残りのPJLデータと一致するPJLデータを取得済みか否か不明の場合が想定される。このような場合に、前述した先読み処理を実行することにより、残りのPJLデータと一致するPJLデータが取得済みのPJLデータの中に存在しないか検索して見つけ出すことができる。従って、変換前PJLデータを構成している複数個のPJLデータとそれぞれ一致するPJLデータが、情報処理装置40から行を隔てて、つまり、時間を隔てて送信された場合であっても、送信された複数のPJLデータと一致する変換前PJLデータを最終的に見つけ出すことができるため、当該変換前PJLデータを変換後PJLデータに正確に変換することができる。CPU21が実行するS58は、本発明の変換処理の一例である。
【0067】
次に、CPU21がPJLデータ変換処理のS22(
図9)において実行するモード2PJLデータ変換処理について
図13および
図14を参照しつつ説明する。CPU21は、参照する変換ルールの変換ルール番号Nを1にセットする(S70)。続いて、CPU21は、変換ルール番号N=1の変換ルール1を参照し(S71)、変換ルール番号Nに「1」を加算する(S72)。続いて、CPU21は、変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であるか否かを判断し(S73)、フィルタデータ13の終端にある変換ルールを示す変換ルール番号ではないと判断した場合は(S73:No)、参照している変換ルール番号Nの変換ルールは、変換モード2が適用された変換ルールであるか否かを判断する(S74)。
【0068】
ここで、CPU21は、参照している変換ルールは、変換モード2が適用された変換ルールであると判断した場合は(S74:Yes)、参照している変換ルールの変換前PJLデータと、取得PJLデータとが完全に一致するか否かを判断する(S75)。ここで、完全に一致とは、PJLデータを構成する各要素の文字および記号が1つも違わず総て一致するという意味である。ここで、CPU21は、完全に一致すると判断した場合は(S75:Yes)、取得PJLデータを、当該変換前PJLデータと参照している変換ルールにおいて対応付けられる変換後PJLデータに変換する(S76)。例えば、取得PJLデータが、「SET LPARM:PCL MEDIASIZE LETTER」であり、参照している変換ルール3(N=3)の変換前PJLデータが、「SET LPARM:PCL MEDIASIZE LETTER」(
図5(A))であった場合は、CPU21は、取得したPJLデータ「SET LPARM:PCL MEDIASIZE LETTER」を、当該変換前PJLデータと変換ルール3において対応付けられる変換後PJLデータ「SET LPARM:PCL PAPER LETTER」に変換する(S76)。このように、取得PJLデータが変換モード2が適用されるPJLデータであった場合は、フィルタデータ13のうち、変換前PJLデータとして変換モード2が適用される変換前PJLデータが設定されている変換ルールのグループを参照し、その参照したグループの中から、取得PJLデータと一致する変換前PJLデータを検索して見つけ出すため、検索時間を短縮することができる。従って、検索時間が短縮される分、変換前PJLデータを変換後PJLデータに変換する処理速度を速くすることができる。CPU21が実行するS75は、本発明の判断処理の一例であり、CPU21が実行するS76は、本発明の変換処理の一例である。
【0069】
また、CPU21は、参照している変換ルールの変換前PJLデータと、取得PJLデータとが完全に一致しないと判断した場合は(S75:No)、参照している変換ルールの変換前PJLデータの中の必須要素と、取得PJLデータとが一致するか否かを判断する(S77)。必須要素とは、変換モード2が適用されるPJLデータを構成している第1から第4要素のうち、省略不可能な第4要素である。例えば、取得PJLデータが、「SET LPARM:PCL MEDIASIZE LETTER」である場合は、第4要素「MEDIASIZE」が必須要素である。
【0070】
ここで、CPU21は、参照している変換ルールの変換前PJLデータの中の必須要素と、取得PJLデータとが一致すると判断した場合は(S77:Yes)、参照している変換ルールに関連ルールが存在するか否かを判断する(S78)。ここで、CPU21は、参照している変換ルールに関連ルールが存在すると判断した場合は(S78:Yes)、関連ルールMを参照する(
図14のS79)。例えば、取得PJLデータが、「DEFAULT LPARM:PCL MEDIASIZE LETTER」であり、変換ルール番号3(N=3)の変換ルール3を参照したとすると、変換ルール3の変換前PJLデータは、「SET LPARM:PCL MEDIASIZE LETTER」であり(
図5(A))、両者は、必須要素である第4要素の「MEDIASIZE」で一致しているため、CPU21は、参照している変換ルールの変換前PJLデータの中の必須要素と、取得PJLデータとが一致すると判断する(S77:Yes)。続いて、CPU21は、変換ルール3には、関連ルール4,7が対応付けられているため(
図5(A))、変換ルール3に関連ルールが存在すると判断し(S78:Yes)、関連ルール4を参照する(S79)。
【0071】
続いて、CPU21は、取得PJLデータと関連ルールMの変換前PJLデータとが完全に一致するか否かを判断し(
図14のS80)、完全に一致すると判断した場合は(S80:Yes)、取得PJLデータを、当該変換前PJLデータと関連ルールMにおいて対応付けられる変換後PJLデータに変換する(S81)。例えば、取得PJLデータが、「DEFAULT LPARM:PCL MEDIASIZE LETTER」であり、参照した関連ルールMが関連ルール4(M=4)であったとすると、関連ルール4の変換前PJLデータは、「DEFAULT LPARM:PCL MEDIASIZE LETTER」であり、取得PJLデータと一致する。従って、CPU21は、取得PJLデータ「DEFAULT LPARM:PCL MEDIASIZE LETTER」を、当該変換前PJLデータと関連ルール4において対応付けられている変換後PJLデータ「SET LPARM:PCL PAPER LETTER」(
図5(A))に変換する。CPU21が実行するS81は、本発明の変換処理の一例である。
【0072】
また、CPU21は、取得PJLデータと関連ルールMの変換前PJLデータとが完全に一致しないと判断した場合は(S80:No)、S71において参照した変換ルールNに対応付けられている総ての関連ルールMを参照したか否かを判定し(S82)、総ての関連ルールMを参照したと判断した場合は(S82:Yes)、S76(
図13)に戻る。つまり、参照している変換ルールの変換前PJLデータと、取得PJLデータとが完全に一致しないが(S75:No)、参照している変換ルールの変換前PJLデータの中の必須要素と取得PJLデータとが一致する(S77:Yes)ということは、取得PJLデータおよび参照している変換前PJLデータのどちらかが、省略型PJLデータであることを示している。また、S82で否定した状態は、総ての関連ルールMを参照しても、取得PJLデータと一致する変換前PJLデータを有する関連ルールが見つからなかった状態を示している。そこで、CPU21は、取得PJLデータを、当該取得PJLデータと一致する変換前PJLデータと参照している変換ルールにおいて対応付けられる変換後PJLデータに変換する(S76)。このように、取得PJLデータが省略型PJLデータであり、かつ、一致する変換前PJLデータを有する関連ルールMが見つからなかった場合であっても、取得PJLデータを変換後PJLデータに変換することができる。また、CPU21は、総ての関連ルールMを参照していないと判断した場合は(S82:No)、次の関連ルールMを参照する(S79)。
【0073】
例えば、取得PJLデータが、第2要素および第3要素が省略され、第4要素の「MEDIASIZE」のみであり、変換ルール3を参照したとする。CPU21は、変換ルール3の変換前PJLデータは、「SET LPARM:PCL MEDIASIZE LETTER」であり、必須要素の「MEDIASIZE」と取得PJLデータとが一致すると判断し(S77:Yes)、変換ルール3に関連ルール4が存在すると判断する(S78:Yes)。続いて、CPU21は、関連ルール4を参照し(
図14のS79)、関連ルール4の変換前PJLデータ「DEFAULT LPARM:PCL MEDIASIZE LETTER」と完全に一致しないと判断する(S80:No)。続いて、CPU21は、参照した変換ルール3には、関連ルール4の他に関連ルール7が存在するため(
図5(A))、総ての関連ルールMを参照していないと判断し(S82:No)、次の関連ルール7を参照する(S79)。続いて、CPU21は、関連ルール7の変換前PJLデータ「MEDIASIZE」と一致すると判断し(S80:Yes)、取得PJLデータ「MEDIASIZE」を、当該取得PJLデータと一致した変換前PJLデータ「MEDIASIZE」と関連ルール7において対応付けられる変換後PJLデータ「PAPER」に変換する(S81)。CPU21が実行するS80は、本発明の判断処理の一例である。また、関連ルール7の変換前PJLデータ「MEDIASIZE」は、本発明の関連非対象PJLデータの一例であり、関連ルール7の変換後PJLデータ「PAPER」は、本発明の関連対象PJLデータの一例である。
【0074】
また、CPU21は、参照している変換ルールは、変換モード2が適用された変換ルールではないと判断した場合は(
図13のS74:No)、参照している変換ルールは、変換モード3(削除モード)が適用された変換ルールであるか否かを判断する(
図14のS83)。ここで、CPU21は、変換モード3が適用された変換ルールであると判断した場合は(S83:Yes)、取得PJLデータと、参照している変換ルールの変換前PJLデータとが一致するか否かを判断し(S84)、一致すると判断した場合は(S84:Yes)、取得PJLデータを削除する(S85)。
【0075】
また、CPU21は、参照している変化ルールの変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であると判断した場合は(
図13のS73:Yes)、メインルーチンに戻る。また、CPU21は、参照している変換ルールの変換前PJLデータの中の必須要素と、取得PJLデータとが一致しないと判断した場合は(S77:No)、変換ルール番号(N+1)の変換ルールを参照し(S71)、S72~S87を実行する。また、CPU21は、参照している変換ルールに関連ルールが存在しないと判断した場合は(S78:No)、S76(
図13)に戻る。つまり、参照している変換ルールの変換前PJLデータと、取得PJLデータとが完全に一致しないが(S75:No)、参照している変換ルールの変換前PJLデータの中の必須要素と取得PJLデータとが一致する(S77:Yes)ということは、取得PJLデータおよび参照している変換前PJLデータのどちらかが、省略型PJLデータであることを示している。そこで、CPU21は、取得PJLデータを、当該取得PJLデータと一致する変換前PJLデータと参照している変換ルールにおいて対応付けられる変換後PJLデータに変換する(S76)。従って、取得PJLデータが省略型PJLデータであっても変換後PJLデータに変換することができる。
【0076】
また、CPU21は、参照している変換ルールは、変換モード3(削除モード)が適用された変換ルールではないと判断した場合(S83:No)、あるいは、取得PJLデータと、参照している変換ルールの変換前PJLデータとが一致しないと判断した場合は(S84:No)、変換ルール番号(N+1)の変換ルールを参照し(S71)、S72~S87を実行する。また、CPU21は、追加変換後PJLデータがフィルタデータ13に存在しないと判断した場合は(S86:No)、当該モード2PJLデータ変換処理を終了し、メインルーチンに戻る。
【0077】
上述したように、CPU21は、PJLデータを1個取得する毎に、その取得した1個のPJLデータが、フラッシュROM12に記憶されたフィルタデータ13によって変換後PJLデータと対応付けられる変換前PJLデータのいずれかと一致するか否の判断を、フィルタデータ13によって変換後PJLデータと対応付けられる変換前PJLデータのそれぞれに対して行う判断処理を実行する。また、CPU21は、取得した1個のPJLデータが、フラッシュROM12に記憶されたフィルタデータ13によって変換後PJLデータと対応付けられる変換前PJLデータのいずれかと一致するとの判断が、各変換ルールに設定されている変換前PJLデータの総てに対して行われた結果、取得PJLデータと一致する変換前PJLデータが見つかった場合に、当該取得PJLデータを、フラッシュROM12に記憶されたフィルタデータ13において、当該変換前PJLデータと対応付けられる変換後PJLデータに変換する変換処理を実行する。
【0078】
次に、CPU21がメインルーチンのS13(
図8)において実行するフィルタデータR/W処理について
図15を参照しつつ説明する。CPU21は、取得データが、フィルタデータ13の読出し(Read)を指示するデータ(以下、読出し指示データという)であるか、フィルタデータ13の書き込み(Write)を指示するデータ(以下、書き込み指示データという)であるかを判断する(S90)。ここで、CPU21は、取得したデータが、読出し指示データであったと判断した場合は(S90:Read)、読出し指示データにより示される、読出し対象のフィルタデータ名を解析し(S91)、読出し指示データには送信先を示す送信アドレス情報が存在するか否かを判断する(S92)。
【0079】
ここで、CPU21は、送信アドレス情報が存在すると判断した場合は(S92:Yes)、その送信先アドレス情報に基づいて送信先を決定する(S93)。続いて、CPU21は、フィルタデータ13がフラッシュROM12に保存済みであるか否かを判断し(S94)、保存済みであると判断した場合は(S94:Yes)、フラッシュROM12からフィルタデータ13を読出し、その読出したフィルタデータ13を、S93において決定した送信先へ送信する(S95)。例えば、情報処理装置40(
図1)のアドレスが、送信先アドレス情報としてフィルタデータ13に設定されている場合は、フラッシュROM12から読出したフィルタデータ13をLAN回線L1を介して情報処理装置40へ送信する。
【0080】
また、CPU21は、フィルタデータ13には送信アドレス情報が存在しないと判断し(S92:No)、フィルタデータ13がフラッシュROM12に保存済みであると判断した場合は(S94:Yes)、送信アドレス情報によって特定されないデフォルトの送信先へフィルタデータ13を送信する(S95)。また、CPU21は、フィルタデータ13がフラッシュROM12に保存済みではないと判断した場合は(S94:No)、エラーを送信する(S96)。例えば、「フィルタデータが存在しません。」というメッセージデータをエラーとして送信する。S93において送信先を決定している場合は、その送信先へエラーを送信し、送信先を決定していない場合は、デフォルトの送信先へエラーを送信する。
【0081】
また、CPU21は、取得したデータが、書き込み指示データであったと判断した場合は(S90:Write)、書き込み指示データにより示される、書き込み対象のフィルタデータ名を解析する(S97)。続いて、CPU21は、その書き込み対象のフィルタデータ名と同じフィルタデータがフラッシュROM12に保存済みか否かを判断し(S98)、保存済みであると判断した場合は(S98:Yes)、フラッシュROM12に保存されているフィルタデータ13を破棄する(S99)。続いて、CPU21は、メインルーチンのS3(
図7)において取得したフィルタデータを、変換モード1が適用される変換ルールのグループと、変換モード2が適用される変換ルールのグループとに並び替え(S100)、変換モード1が適用される変換ルールを先頭から並べ、かつ、変換モード2が適用される省略型PJLデータの変換ルールを非省略型PJLデータの変換ルールの後に並べる(S101)。続いて、CPU21は、フィルタデータをフラッシュROM12に書き込む(S102)。なお、CPU21は、フィルタデータをRAM22に書き込む形式にすることもできる。その形式では、画像形成装置10の電源OFFによりRAM22に書き込んだフィルタデータが消えてしまうが、その形式は、画像形成装置10の電源を常時ONしている画像形成システムや、電源をONする都度、フィルタデータのWriteを行う画像形成システムにおいて有効である。
【0082】
続いて、CPU21は、後述する関連ルールフィルタデータ構築処理を実行する(S103)。続いて、CPU21は、フラッシュROM12からフィルタデータを読出し、その読出したフィルタデータをRAM22(
図1)に展開する(S104)。続いて、CPU21は、フラッシュROM12から関連ルールフィルタデータを読出し、その読出した関連ルールフィルタデータをRAM22に展開する(S105)。また、CPU21は、書き込み対象のフィルタデータ名と同じフィルタデータがフラッシュROM12に保存済みではないと判断した場合は(S98:No)、S100~S105を実行する。
【0083】
次に、CPU21がフィルタデータR/W処理のS101(
図15)において実行する関連ルールフィルタデータ構築処理について
図16を参照しつつ説明する。CPU21は、参照する変換ルールの変換ルール番号Nを1にセットし(S110)、参照する変換ルールの変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であるか否かを判断し(S111)、参照する変換ルールの変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号ではないと判断した場合は(S111:No)、フィルタデータ13(
図5(A))から変換ルールNを取得する(S112)。
【0084】
続いて、CPU21は、S112において取得した変換ルールNの変換ルール番号Nに「1」を加算した値Mを比較ルールMの変換ルール番号に設定する(S113)。比較ルールとは、S112において取得した変換ルールNの比較対象となる変換ルールである。例えば、S112において取得した変換ルールNが変換ルール3(N=3)であった場合は、M=4(=3+1)を比較ルールMの変換ルール番号に設定する(S113)。続いて、CPU21は、S113において設定したMがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であるか否かを判断し(S114)、フィルタデータ13の終端にある変換ルールを示す変換ルール番号ではないと判断した場合は(S114:No)、フィルタデータ13から比較ルールM(変換ルール番号Mの変換ルール)を取得する(S116)。
【0085】
続いて、CPU21は、S112において取得した変換ルールNの変換モードと、S116において取得した比較ルールMの変換モードとが一致するか否かを判断し(S117)、一致すると判断した場合は(S117:Yes)、S112において取得した変換ルールNの変換前PJLデータの必須要素と、S116において取得した比較ルールMの変換前PJLデータの必須要素とが一致するか否かを判断する(S118)。ここで、CPU21は、一致すると判断した場合は(S118:Yes)、S116において取得した比較ルールMをS112において取得した変換ルールNの関連ルールMとしてフィルタデータ13に追加する(S119)。
【0086】
例えば、S112において取得した変換ルールNが、変換ルール3(N=3)であり、比較ルールMが、変換ルール4(M=4)であったとする。変換ルール3および変換ルール4の各変換モードは、共に変換モード2であり(
図5(A))、変換ルール3および変換ルール4の各変換モードが一致する(S117:Yes)。また、変換ルール3および変換ルール4の各変換前PJLデータの必須要素は、第4要素「MEDIASIZE」であり(
図5(A))、変換ルール3および変換ルール4の各変換前PJLデータの必須要素が一致する(S118:Yes)。従って、CPU21は、変換ルール4を変換ルール3の関連ルール4としてフィルタデータ13に追加する(S119)。
図5(A)に示すように、関連ルール4が変換ルール3に対応付けられるようにしてフィルタデータ13に追加されている。
【0087】
続いて、CPU21は、比較ルールMの変換ルール番号Mに「1」を加算し(S120)、S114からS120を実行する。例えば、前回の処理ルーチンのS119において追加した関連ルールMが変換ルール4であった場合は、CPU21は、変換ルール番号5(=4+1)の変換ルール5をフィルタデータから取得する(S116)。
図5(A)に示すように、変換ルール5の変換モードは、変換ルール3と同じ変換モード2であるため、CPU21は、S112において取得した変換ルール3の変換モードと、変換ルール5の変換モードとが一致すると判断する(S117:Yes)。しかし、変換ルール5の変換前PJLデータの必須要素は、第4要素「MEDIATYPE」であり、変換ルール3の「MEDIASIZE」と異なるため、CPU21は、変換ルール3の変換前PJLデータの必須要素と、変換ルール5の変換前PJLデータの必須要素とが一致しないと判断する(S118:No)。従って、CPU21は、変換ルール5を変換ルール3の関連ルールとしてフィルタデータ13に追加しない。
【0088】
また、比較ルールMとして変換ルール7を取得した場合は、変換ルール7の変換モードは変換モード2であるため、CPU21は、S112において取得した変換ルール3の変換モードと、変換ルール7の変換モードとが一致すると判断する(S117:Yes)。そして、変換ルール7の変換前PJLデータの必須要素は、第4要素「MEDIASIZE」であり、変換ルール3の「MEDIASIZE」と同一であるため、CPU21は、変換ルール3の変換前PJLデータの必須要素と、変換ルール7の変換前PJLデータの必須要素とが一致すると判断する(S118:Yes)。従って、CPU21は、変換ルール7を変換ルール3の関連ルール7としてフィルタデータ13に追加する(S119)。
図5(A)に示すように、関連ルール7が変換ルール3に対応付けられるようにしてフィルタデータ13に追加されている。
【0089】
また、CPU21は、S113において設定した変換ルール番号Mがフィルタデータの終端にある変換ルールを示す変換ルール番号であると判断した場合は(S114:Yes)、変換ルール番号Nに「1」を加算し(S115)、変換ルール番号が(N+1)の変換ルールについて、関連ルールフィルタデータの構築を行う。続いて、CPU21は、参照する変換ルールの変換ルール番号(N+1)がフィルタデータ13の終端にある変換ルールを示す変換ルール番号ではないと判断した場合は(S111:No)、変換ルール番号(N+1)の変換ルールをフィルタデータから取得する(S112)。続いて、CPU21は、S112において取得した変換ルールNの変換ルール番号(N+1)に「1」を加算した値を比較ルールMの変換ルール番号に設定する(S113)。以下、CPU21は、前述したS114からS120を実行し、変換ルール番号(N+1)の変換ルールに対して関連する比較ルールMが存在する場合は、その比較ルールMを変換ルール番号(N+1)の変換ルールの関連ルールMとしてフィルタデータ13に追加する(S119)。
【0090】
つまり、CPU21は、フィルタデータ13を構成している各変換ルールに対してS111からS120を実行し、変換ルールに関連する比較ルールが存在する場合は、その比較ルールを変換ルールの関連ルールとしてフィルタデータ13に追加する。また、CPU21は、参照する変換ルールの変換ルール番号Nがフィルタデータ13の終端にある変換ルールを示す変換ルール番号であると判断した場合は(S111:Yes)、S119において追加した関連ルールを示す関連ルールフィルタデータをフラッシュROM12に保存し(S120)、フィルタデータR/W処理(
図15)に戻る。
【0091】
[実施形態の効果]
(1)上述した実施形態によれば、情報処理装置40から取得したPJLデータが、画像形成装置10とは異なる画像形成装置のために使用していたPJLデータであり、画像形成装置10において実行することができないPJLデータであっても、そのPJLデータを画像形成装置10において実行することができるPJLデータに変換することができる。従って、情報処理装置40および画像形成装置10を有する画像形成システムの管理者は、画像形成装置を画像形成装置10に更新する前に使用していたPJLデータを、画像形成装置10の仕様に合わせて新たに作り直す必要がない。つまり、上述した実施形態によれば、情報処理装置40および画像形成装置10を有する画像形成システムを再構築する必要がないため、システム管理者の負担が大きくならないようにすることができる。
【0092】
(2)また、前述した実施形態によれば、フラッシュROM12からフィルタデータ13を読出して出力することができるため、例えば、その出力したフィルタデータ13を編集することができる。
(3)さらに、前述した実施形態によれば、フラッシュROM12からフィルタデータ13を読出し、その読出したフィルタデータ13を所定の送信先へ送信することができるため、例えば、フィルタデータ13を上記所定の送信先の画像形成装置において使用することができる。
【0093】
(4)さらに、前述した実施形態によれば、CPU21は、取得PJLデータが、非省略型PJLデータおよび省略型PJLデータのいずれであっても変換後PJLデータに変換することができる。さらに、前述した実施形態によれば、CPU21は、変換モード1が適用される非省略型PJLデータの変換ルールが先頭から並び、変換モード2が適用される省略型PJLデータが非省略型PJLデータの変換ルールの後に並ぶように、フィルタデータ13をフラッシュROM12に書き込むことができる。従って、CPU21が取得したPJLデータが非省略型PJLデータであった場合に、誤って省略型PJLデータに変換されるおそれがなくなる。
【0094】
(5)さらに、前述した実施形態によれば、CPU21は、現在参照している変換ルールの変換前PJLデータの中には、取得PJLデータと一致しないPJLデータが存在しないと判断した場合は(S53:No)、当該取得PJLデータを、フィルタデータ13において、当該変換前PJLデータと対応付けられる変換後PJLデータに変換し(S58)、取得PJLデータと、現在参照している変換ルールの非省略型PJLデータとが一致するか否かの判断処理を終了する。従って、取得PJLデータを、当該変換前PJLデータと変換ルールにおいて対応付けられている変換後PJLデータに変換する変換処理速度を向上させることができる。
【0095】
(6)さらに、前述した実施形態によれば、CPU21は、取得PJLデータと一致するか否かの判断を、フィルタデータ13の先端(変換ルール1)から終端(変換ルール10)まで順番に行うが、取得PJLデータと完全に一致しないと判断した場合に、その判断対象となった変換ルールに関連ルールのインデックスが対応付けられている場合は、そのインデックスが示す変換ルール(関連ルール)にスキップし、そのスキップした変換ルール(関連ルール)を判断対象として判断を行う。従って、CPU21は、変換ルールに対応付けられたインデックスに基づいて、判断対象をスキップすることができるため、変換ルール1から変換ルール10まで順番に判断を行う処理と比較すると、一致する変換ルールを発見するまでに要する時間を短縮することができる。つまり、その分、取得PJLデータを変換後PJLデータに変換するために要する変換処理速度を向上させることができる。
【0096】
(7)さらに、前述した実施形態によれば、画像形成装置10に更新する前の画像形成装置では、1つの処理を実行させるためにN個(N≧2)のPJLデータを取得する必要があったが、更新した後の画像形成装置10では、上記1つの処理を実行させるためにM個(M<N)のPJLデータを取得すれば良い場合に、取得PJLデータ変換処理(
図11)を実行することにより、取得したN個のPJLデータをM個の変換後PJLデータに変換することができる。
【0097】
(8)さらに、前述した実施形態によれば、画像形成装置10に更新する前の画像形成装置では、1つの処理を実行させるためにN個(N≧2)のデータから成るPJLデータを取得する必要があったが、更新した後の画像形成装置では、上記1つの処理を実行させるためにM個(M<N)のデータから成るPJLデータを取得すれば良い場合に、N個のデータから成る変換前PJLデータを、M個のデータから成る変換後PJLデータに変換することができる。
(9)さらに、前述した実施形態によれば、画像形成装置10に更新する前の画像形成装置では、1つの処理を実行させるためにM個(M<N)のデータから成るPJLデータを取得すれば済んだが、更新した後の画像形成装置では、上記1つの処理を実行させるためにN個(N≧2)のデータから成るPJLデータを取得する必要がある場合に、M個のデータから成るPJLデータを、N個のデータから成る変換後PJLデータに変換することができる。
【0098】
(10)さらに、前述した実施形態によれば、CPU21が取得したPJLデータが、変換モード1が適用されるPJLデータであり、参照した変換ルールにおける複数の変換前PJLデータのうち、1個とのみ一致する場合に、一致しないPJLデータが、既に取得済みのPJLデータの中に存在しないか、先読み処理を行うことができる。そして、先読み処理により、一致するPJLデータが見つかった場合は、その見つかったPJLデータと、先の処理で一致すると判断したPJLデータとを組み合わせたPJLデータと一致する変換前PJLデータを、上記参照した変換ルールにおいて当該変換前PJLデータと対応付けられている変換後PJLデータに変換することができる。つまり、前述した実施形態によれば、画像形成装置10に更新する前の画像形成装置では、ある1つの処理を実行させるために、変換モード1が適用されるPJLデータが2個必要であったが、更新後の画像形成装置10では、上記の処理を実行させるために、変換モード1が適用されるPJLデータが1個で済む場合に、上記2個のPJLデータの一方のPJLデータが取得された場合は、他方のPJLデータが既に取得されているか先読みして見つけることができるため、取得した2個のPJLデータを正確に変換することができる。
【0099】
(11)さらに、前述した実施形態によれば、PJLデータ変換処理(S7)を実行した後に印刷処理(S18)を実行するため、PJLデータ変換処理により変換されたPJLデータにより示される指示内容を当該印刷処理に反映させることができる。
(12)さらに、前述した実施形態によれば、フィルタデータ13は、変換前PJLデータと、印刷機能の設定内容の変更を指示する変換後PJLデータとを対応付けているため、画像形成装置10に更新する前の画像形成装置において使用していたPJLデータを変更しなくても、印刷機能の設定内容を変更することができる。
【0100】
(13)さらに、前述した実施形態によれば、CPU21は、追加変換後PJLデータがフィルタデータ13に存在すると判断した場合は(
図8のS15:Yes)、フィルタデータ13から追加変換後PJLデータを取得し、その取得した追加変換後PJLデータを、CPU21が取得したデータに追加することができる(
図8のS16)。従って、前述した実施形態によれば、画像形成装置10に新たな機能が加えられた場合であっても、画像形成装置10に印刷ジョブ30を送信する情報処理装置40からは、新たな機能を実行させるための変換後PJLデータを画像形成装置10に送信しなくても新たな機能を実行させることができる。
【0101】
(14)さらに、前述した実施形態によれば、CPU21は、変換モード3(削除モード)が適用された変換ルールであると判断した場合は(
図10のS37:Yes)、現在参照している変換ルールNの変換前PJLデータと、取得PJLデータとが一致するか否かを判断し(S38)、一致すると判断した場合は(S38:Yes)、取得PJLデータを削除することができる(S39)。従って、前述した実施形態によれば、CPU21は、削除されたPJLデータと一致する取得PJLデータを変換後PJLデータに変換する処理を実行しない。つまり、CPU21は、取得されたPJLデータにより特定される処理を実行しない。
【0102】
(15)さらに、前述した実施形態によれば、PCLフィルタデータを取得し、その取得したPCLフィルタデータをフラッシュROM12に書き込む処理と、フラッシュROM12からPCLフィルタデータを読出す処理とを実行することができる(
図8のS14)。従って、前述した実施形態によれば、画像形成装置10がページ記述言語(PDL)として、PCLを使用している場合に、情報処理装置40から送信されるPCLデータが、画像形成装置10において処理できないデータ、例えば、バージョンの異なるPCLデータであった場合に、PCLフィルタを用いることにより、処理可能なデータに変換することができる。
【0103】
〈他の実施形態〉
(1)CPU21は、取得したフィルタデータが、フィルタデータを編集した編集済みフィルタデータであった場合は、その編集済みフィルタデータをフラッシュROM12に記憶することができる。そして、CPU21は、取得PJLデータが、フラッシュROM12に記憶されている編集済みフィルタデータによって変換後PJLデータと対応付けられる変換前PJLデータである場合に、当該取得PJLデータを、フラッシュROM12に記憶されている編集済みフィルタデータにおいて、当該変換前PJLデータと対応付けられる変換後PJLデータに変換することができる。この実施形態によれば、画像形成装置が更新され、画像形成装置の機能や性能などが追加または削除された場合であっても、フィルタデータの内容を編集することにより、追加または削除された機能や性能などに対応することができる。
【0104】
(2)複数種類のフィルタデータをフラッシュROM12に記憶しておくことができる。そして、CPU21は、フラッシュROM12に記憶されている複数種類のフィルタデータの中から、いずれかのフィルタデータを指定する操作をユーザIF16(
図1)を介して受け付け、取得PJLデータが、上記の指定されたフィルタデータによって変換後PJLデータと対応付けられる変換前PJLデータである場合に、当該取得PJLデータを、上記の指定されたフィルタデータにおいて、当該変換前PJLデータと対応付けられる変換後PJLデータに変換することができる。この実施形態によれば、ユーザは、必要なフィルタデータを選択して用いることができる。
【0105】
(3)CPU21は、取得したフィルタデータをフラッシュROM12に書き込むときに(
図15のS102)、取得したフィルタデータによって変換後PJLデータと対応付けられる各変換前PJLデータをソートしてからフラッシュROM12に書き込むこともできる。ソートの手法は限定されないが、例えば、各変換前PJLデータの先頭の文字がアルファベット順となるように各変換前PJLデータをソートすることができる。そして、CPU21は、取得PJLデータと一致する変換前PJLデータを探索するときに、各変換前PJLデータを二分探索手法によって絞り込むことにより、取得PJLデータと一致する変換前PJLデータを探索することができる。この実施形態によれば、CPU21の判断処理速度を向上させることができるため、取得PJLデータを変換後PJLデータに変換する変換処理速度を向上させることができる。
【0106】
(4)CPU21は、変換前PJLデータと、印刷処理(
図8のS18)の付加情報(例えば、ユーザ名、印刷ジョブ名など)の通知を指示する変換後PJLデータとを対応付けるためのフィルタデータである付加情報通知用フィルタデータを取得することができる。そして、CPU21は、取得した付加情報通知用フィルタデータをフラッシュROM12に記憶し、変換処理(
図11のS58、
図13のS76、
図14のS81)により変換された変換後PJLデータが、フラッシュROM12に記憶された付加情報通知用フィルタデータにおける変換後PJLデータである場合は、印刷処理の付加情報を通知する付加情報通知処理を実行することができる。この実施形態によれば、画像形成装置10に更新するまで使用していた変換前PJLデータを変更しなくても、画像形成装置10から付加情報を通知することができる。
【0107】
(5)CPU21は、PJLデータとは異なるフォーマットのデータを画像形成装置10において処理可能なデータに変換するための別フィルタデータとして、PCLフィルタデータを取得したが、PCLデータ以外のデータ(例えば、PSデータ)を画像形成装置10において処理可能なデータに変換するための別フィルタデータを取得することもできる。そして、CPU21は、その取得した別フィルタデータをフラッシュROM12に記憶し、PCLデータ以外のデータを取得した場合に、その取得したデータを、フラッシュROM12に記憶された別フィルタデータに基づいて処理可能なデータに変換することができる。この実施形態によれば、画像形成装置が画像形成装置10に更新され、PJLデータとは異なるフォーマットのデータであって、更新前の画像形成装置において使用していたデータが取得された場合であっても、その取得されたデータを画像形成装置10において処理可能なデータに変換することができる。
【0108】
(6)本発明のプログラムは、ウェブ上から取得する他、USBメモリ、CD-ROMなどの記憶媒体から取得することもできる。さらに、本発明のプログラムは、当該プログラムが記憶されている他の画像形成装置または情報処理装置と通信することにより取得することもできる。
【符号の説明】
【0109】
10・・画像形成装置、12・・フラッシュROM、13・・フィルタデータ、16・・ユーザIF、17・・通信IF、20・・制御部、21・・CPU、22・・RAM、30・・印刷ジョブ、31・・PJL部、32・・PDL部、40・・情報処理装置