以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
<システム構成>
図1は、本実施形態に係る印刷システムの一例の構成図である。図1の印刷システム1は、クライアント端末10及び画像形成装置12が、有線又は無線のネットワーク14を介してデータ通信可能に接続されている。なお、クライアント端末10は端末装置の一例である。
クライアント端末10は印刷データを画像形成装置12に送信して、画像形成装置12に可視印刷及び不可視印刷を実行させる。クライアント端末10は、プロジェクタ(プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、PC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブル端末等であってもよい。
クライアント端末10は、ユーザからの印刷対象のデータを指定した印刷操作を受け付ける。クライアント端末10はユーザからの印刷実行の操作に基づき、印刷対象のデータから印刷データを生成し、画像形成装置12に印刷データを送信して、画像形成装置12に可視印刷及び不可視印刷を実行させる。クライアント端末10は、後述のように選択した印刷対象の画像を2次元コード化し、2次元コードの画像を画像形成装置12に不可視印刷させる印刷コマンドを印刷データに追加して、印刷対象の画像の可視印刷と、2次元コードの画像の不可視印刷とを画像形成装置12に実行させる。
画像形成装置12は印刷データを可視印刷及び不可視印刷できるプリンタ、MFPなどの電子機器である。画像形成装置12は無色透明のため自然光環境で不可視であり、赤外線用のリーダにより読み取りが可能な赤外線用のインク又はトナーを用いて2次元コードを用紙に不可視印刷する。なお、赤外線用のリーダにより読み取りが可能な赤外線用のインク又はトナーを用いた印刷(IRプリント)の技術は特開2019-117352号公報などに記載されているように公知技術である。画像形成装置12は例えば無色透明のため自然光環境で不可視であり、紫外線用のリーダにより読み取りが可能な紫外線用のインク又はトナーを用いて2次元コードを用紙に不可視印刷するようにしてもよい。
例えば赤外線用のリーダは赤外光を照射し、赤外線用のインク又はトナーを用いて印刷された画像を読み取り可能である。また、紫外線用のリーダは紫外光を照射し、紫外線用のインク又はトナーを用いて印刷された画像を読み取り可能である。例えばリーダは赤外線用又は紫外線用のインク又はトナーを用いて画像形成装置12により印刷された2次元コードを用紙から読み取ることができる。例えばスマートフォン、タブレット端末等のカメラは、赤外線用又は紫外線用のリーダとして利用できる場合がある。
なお、図1に示す印刷システム1の構成は一例である。例えばクライアント端末10と画像形成装置12とは、印刷サーバ又はクラウドサービスを介して印刷データを送受信するようにしてもよい。
<ハードウェア構成>
《コンピュータ》
図1に示したクライアント端末10は例えば図2に示すようなハードウェア構成のコンピュータ500により実現される。図2は本実施形態に係るコンピュータの一例のハードウェア構成図である。
コンピュータ500は、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、データバス510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
これらのうち、CPU501は、プログラムに従ってコンピュータ500全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。
ディスプレイ506は、カーソル、メニュー、ウインドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインタフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやリーダ、画像形成装置12等である。ネットワークI/F509はネットワーク14を利用してデータ通信をするためのインタフェースである。データバス510は、CPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
《MFP》
図1に示した画像形成装置12は例えば図3に示すハードウェア構成のMFP(Multifunction Peripheral/Product/Printer)900により実現される。図3は本実施形態に係るMFPの一例のハードウェア構成図である。
図3のMFP900は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
CPU901は、MFP900の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジである。また、NB903は、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902aと、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとを有する。RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB904はNB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDD908、及びMEM-C907を、それぞれ接続するブリッジの役割を有する。
ASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931及びプリンタ部932との間でPCIバス922を介したデータ転送を行うPCIユニットを有する。なお、ASIC906には、USB(Universal Serial Bus)のインタフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインタフェースを接続するようにしてもよい。
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路920には、近距離通信回路920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
更に、エンジン制御部930は、スキャナ部931及びプリンタ部932によって構成されている。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作パネル940bを備えている。
コントローラ910は、MFP900全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、MFP900は、操作パネル940のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F950は、ネットワーク14を利用してデータ通信をするためのインタフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
ここでは、赤外線用のインク又はトナー(以下、IRトナーと呼ぶ)使用時におけるMFP900のエンジン構成例について説明する。図4及び図5はMFPのエンジン構成の一例について説明する図である。
例えば図4は、4色(C:シアン、M:マゼンダ、Y:イエロー、K:ブラック)の可視トナーに加えて、特色として不可視のIRトナーを使用する例である。図4のエンジン構成例では、2次元コードの画像を特色で印刷し、2次元コードの画像以外を4色の可視トナーで印刷する。
IR印刷ではないカラー印刷の場合は、印刷画像を4色の可視トナーで印刷する。IR印刷ではないモノクロ印刷の場合は、印刷画像をK色の可視トナーで印刷する。IR印刷であるカラー印刷の場合は、2次元コードの画像以外を4色の可視トナーで印刷する。IR印刷であるモノクロ印刷の場合は、2次元コードの画像以外をK色の可視トナーで印刷する。
また、例えば図5は3色(C:シアン、M:マゼンダ、Y:イエロー)の可視トナーに加えて、KトナーとしてIRトナーを使用する例である。図5のエンジン構成例では、2次元コードの画像を、IRトナーによるK色で印刷し、2次元コードの画像以外を3色の可視トナーで印刷する。例えば2次元コードの画像以外の画像の色情報をC、M、及びY色に変換することで、2次元コードの画像以外のK色は3色の可視トナーを混ぜて表現できる。
IR印刷ではないカラー印刷の場合は、印刷画像の色情報をC、M、及びY色に変換することで、印刷対象のデータに含まれていた画像のK色も含め、3色の可視トナーで印刷する。IR印刷であるカラー印刷の場合は、2次元コードの画像をIRトナーによるK色で印刷し、2次元コードの画像以外をK色も含めて3色の可視トナーで印刷する。
このように、図4の例では印刷画像の色情報はそのままで、印刷画像を2次元コード化した2次元コードの画像を特色として印刷データを生成する。また、図5の例では印刷画像の色情報をC、M、及びY色に変換後、印刷画像を2次元コード化した2次元コードの画像をK色として印刷データを生成する。
<機能構成>
クライアント端末10は、例えば図6に示すようなプログラムが搭載される。図6は本実施形態のクライアント端末に搭載されているプログラムついて説明する図である。図6はクライアント端末10にOS(Operating System)20、プリンタドライバ22、及びアプリケーション24がプログラムとして搭載されている例を示している。
クライアント端末10のハードウェアはOS20により制御される。プリンタドライバ22及びアプリケーション24はOS20を介して動作する。ワープロや表計算などのアプリケーション24で印刷を実行する場合、ユーザはOS20を介してプリンタドライバ22で印刷設定を行う。アプリケーション24が生成したアプリケーションデータはOS20を介してプリンタドライバ22に送信される。
プリンタドライバ22は画像形成装置12が解釈可能なデータに変換したり、印刷設定に対応する後処理の印刷コマンドを追加したり、して印刷データを生成する。プリンタドライバ22により生成された印刷データは、OS20からクライアント端末10のハードウェア及びネットワーク14を介して画像形成装置12に送信される。
クライアント端末10は図6のプログラムを実行することにより、例えば図7に示すような機能構成を実現する。図7は本実施形態に係るクライアント端末の一例の機能構成図である。図7の機能構成は本実施形態の説明に不要な構成について適宜省略している。
図7に示したクライアント端末10は、アプリケーション部30、UI部32、印刷設定保存部34、送信部36、描画部38、及びページ解析部40を有するように構成されている。送信部36は、例えばスプーラである。
アプリケーション部30は、アプリケーション24を実行することで実現される機能である。アプリケーション部30はユーザ操作を受け付け、アプリケーションデータを生成する。また、アプリケーション部30は印刷を実行する場合、印刷設定をユーザから受け付けるため、UI部32を呼び出す。
UI部32は、プリンタドライバ22を実行することで実現される機能である。UI部32はディスプレイ506に画面を表示することで、ユーザから印刷設定を受け付けるUIを提供する。UI部32はユーザから受け付けた印刷設定を印刷設定保存部34に保存させる。印刷設定保存部34は印刷設定を保存する。
アプリケーション部30は生成したアプリケーションデータを印刷対象のデータとして描画部38に送信する。印刷対象のデータは印刷対象の画像を含む。描画部38はプリンタドライバ22を実行することで実現される機能である。描画部38は印刷対象のデータをアプリケーション部30から受信する。また、描画部38は印刷設定保存部34から印刷設定を読み出す。
描画部38は印刷設定に従い、印刷対象のデータを画像形成装置12が解釈できる形式の印刷データに変換する。ページ解析部40はプリンタドライバ22を実行することで実現される機能である。ページ解析部40は、受信した印刷対象のデータを例えば1ページずつ解析し、解析の結果を描画部38に返信する。
例えば描画部38は印刷対象のデータに後述のコードが含まれていた場合、印刷データのページに2次元コードの画像をIRトナーで印刷する印刷コマンドを、後述するように追加する。追加された印刷コマンドによりIRトナーで印刷する2次元コードの画像は例えば印刷対象の画像を2次元コード化したものである。以下では印刷対象の画像を2次元コード化した2次元コードの画像を、単に2次元コードの画像と呼ぶ。
描画部38は印刷対象の画像から変換された印刷データに、2次元コードの画像をIRトナーで印刷する印刷コマンドを追加したあと、送信部36に送信できる。なお、描画部38は印刷対象のデータに後述のコードが含まれていなかった場合、印刷対象の画像から変換された印刷データを送信部36に送信する。送信部36は描画部38から送信された印刷データをスプールし、画像形成装置12に順次送信する。
なお、上記の各機能構成は、コンピュータ500のハードウェアとソフトウェアとが協働することにより実現される。ソフトウェアは、一台以上のコンピュータ500のハードウェアと複数のソフトウェアとが協働して動作するものも含む。
<処理>
本実施形態に係る印刷システム1のクライアント端末10は、例えば図8に示すような手順で処理を実行する。図8は本実施形態に係るクライアント端末の処理概要の一例を示すシーケンス図である。
印刷実行のユーザ操作を受け付けるとステップS10に進み、アプリケーション部30はユーザから印刷設定を受け付けるため、UI部32を呼び出し、印刷設定画面を表示させる。
UI部32はユーザから印刷設定を受け付けると、ステップS12において、ユーザから受け付けた印刷設定を印刷設定保存部34に保存させる。また、UI部32はユーザから印刷設定を受け付けたことをアプリケーション部30に通知する。
ステップS14において、アプリケーション部30は生成したアプリケーションデータを印刷対象のデータとして描画部38に送信する。ステップS16において、描画部38は印刷設定保存部34から印刷設定を読み出す。ステップS18において、描画部38は印刷対象のデータをページ解析部40に送信する。
ページ解析部40は印刷対象のデータを例えば1ページずつ解析し、後述のコードが記述されたページ(コード記述ページ)が含まれている場合、その解析の結果を描画部38に返信する。
ステップS20において、描画部38は印刷設定に従って、印刷対象のデータを画像形成装置12が解釈できる形式の印刷データに変換する。コード記述ページが含まれている場合、描画部38は変換した印刷データに対し、2次元コードの画像をIRトナーで印刷する印刷コマンドを追加する。なお、描画部38が変換した印刷データは、後述するようにコード記述ページが除かれている。コード記述ページが含まれていない場合、描画部38は変換した印刷データに対して、2次元コードの画像をIRトナーで印刷する印刷コマンドを追加しない。
ステップS22において描画部38は印刷データを送信部36に送信する。ステップS24において、送信部36は描画部38から受信した印刷データをスプールし、画像形成装置12に順次送信する。
クライアント端末10は、例えば図9に示す手順で、コード記述ページに対応した印刷対象の画像を2次元コード化する。図9は、コード記述ページに対応した印刷対象の画像を2次元コード化する処理の一例のフローチャートである。図10は、コード記述ページに対応した印刷対象の画像を2次元コード化する処理の一例のイメージ図である。
本実施形態では、印刷対象のデータが図10(A)である例を一例として説明する。図10(A)の印刷対象のデータは、1ページ目にコード記述ページ1002、3ページ目にコード記述ページ1006が含まれている例である。また、図10(A)の印刷対象のデータは、2ページ目にコード未記述ページ1004、4ページ目にコード未記述ページ1008が含まれている例である。
本実施形態では、後述するように、コード記述ページ1002に記述されているコードを認識し、認識したコードに基づいて2次元コードを作成し、コード未記述ページ1004に重ねて(重畳させて)2次元コードの不可視印刷を行う。本実施形態では、認識したコードに基づいて、コード記述ページ1002に対応したコード未記述ページ1004の画像を2次元コード化する。
また、本実施形態では、後述するように、コード記述ページ1006に記述されているコードを認識し、認識したコードに基づいて2次元コードを作成し、コード未記述ページ1008に重ねて(重畳させて)2次元コードの不可視印刷を行う。本実施形態では、認識したコードに基づいて、コード記述ページ1006に対応したコード未記述ページ1008の画像を2次元コード化する。
なお、図10(A)は、コード未記述ページ1004及び1008などのコード未記述ページに対応したコード記述ページ1002及び1006などのコード記述ページのそれぞれが、対応するコード未記述ページの前に挿入されている例を示したが、コード未記述ページの後に挿入されていてもよい。
図9は読み出しページカウント値(ReadPageCount)により、読み出すページ画像を管理する。また、図9は保存ページカウント値(StorePageCount)により、保存するページ画像及び2次元コードの画像を管理する。ステップS30において、ページ解析部40は読み出しページカウント値及び保存ページカウント値を「1」で初期化する。
ステップS32において、ページ解析部40は印刷対象のデータから、読み出しページカウント値で指定されたページ画像を読み出す。例えば図10(A)の例では1ページ目のコード記述ページ1002のページ画像が読み出される。
ステップS34において、ページ解析部40は読み出したページ画像から、例えばOCR(光学文字認識)を利用して、予め定義されたコードの抽出を試みる。そして、ページ解析部40は予め定義されたコードの抽出の結果を描画部38に提供する。
ステップS32で読み出したページ画像に予め定義されたコードがなければ、描画部38はステップS36からステップS38の処理に進む。一方、ステップS32で読み出したページ画像に予め定義されたコードが有れば、描画部38はステップS44に進み、処理を行う。図10(A)の例では1ページ目のコード記述ページ1002のページ画像に予め定義されたコードが有るため、ステップS44の処理が行われる。
ステップS44において、描画部38はコード記述ページのページ画像の印刷を行わないように、ステップS32で読み出したページ画像を破棄する。図10(A)の例では1ページ目のコード記述ページ1002のページ画像が例えば図10(B)に示すように破棄される。
ステップS46において、ページ解析部40は読み出しページカウント値に「1」を加算する。ステップS48において、ページ解析部40は印刷対象のデータから、読み出しページカウント値で指定されたページ画像を読み出す。図10(A)の例では2ページ目のコード未記述ページ1004のページ画像が読み出される。
なお、ページ解析部40はステップS32で読み出したコード記述ページの次にページが無く、ステップS48でページ画像を読み出すことができなければ(ステップS50においてNO)、エラー終了する。
ステップS48でページ画像を読み出すことができれば、描画部38はステップS50からステップS52の処理に進み、ステップS48で読み出したページ画像を保存ページカウント値で指定されるページとして保存する。例えば図10(A)の例では2ページ目のコード未記述ページ1004のページ画像が図10(B)に示すように1ページ目として保存される。
ステップS54に進み、描画部38はステップS48で読み出したページ画像の2次元コード化を、ステップS34で抽出したコードに従って実行する。ステップS56に進み、描画部38は作成した2次元コードの画像を保存ページカウント値で指定されるページと対応付けて保存する。
例えば図10(A)の例では2ページ目のコード未記述ページ1004のページ画像を2次元コード化し、作成した図10(C)に示すような2次元コード1014の画像1010をコード未記述ページ1004のページ画像と対応付けて保存する。
ステップS56からステップS40の処理に進み、ページ解析部40はステップS48で読み出したコード未記述ページに次のページが有ればステップS42の処理に進み、読み出しページカウント値及び保存ページカウント値に「1」を加算する。なお、ページ解析部40はステップS48で読み出したコード未記述ページに次のページが無ければ、図9のフローチャートの処理を終了する。
図10(A)の例では3ページ目のコード記述ページ1006が有るため、ステップS42の処理に進み、読み出しページカウント値及び保存ページカウント値に「1」を加算した後、ステップS32の処理に戻る。図10(A)の例では、読み出しページカウント値が「3」となり、保存ページカウント値が「2」となる。
ステップS32において、ページ解析部40は印刷対象のデータから、読み出しページカウント値で指定されたページ画像を読み出す。例えば図10(A)の例では3ページ目のコード記述ページ1006のページ画像が読み出される。
ステップS34において、ページ解析部40は読み出したページ画像から、例えばOCRを利用して、予め定義されたコードの抽出を試みる。そして、ページ解析部40は予め定義されたコードの抽出の結果を描画部38に提供する。
ステップS32で読み出したページ画像に予め定義されたコードがなければ、描画部38はステップS36からステップS38の処理に進む。一方、ステップS32で読み出したページ画像に予め定義されたコードが有れば、描画部38はステップS44に進み、処理を行う。図10(A)の例では3ページ目のコード記述ページ1006のページ画像に予め定義されたコードが有るため、ステップS44の処理が行われる。
ステップS44において、描画部38はコード記述ページのページ画像の印刷を行わないように、ステップS32で読み出したページ画像を破棄する。図10(A)の例では3ページ目のコード記述ページ1006のページ画像が例えば図10(B)に示すように破棄される。
ステップS46において、ページ解析部40は読み出しページカウント値に「1」を加算する。ステップS48において、ページ解析部40は印刷対象のデータから、読み出しページカウント値で指定されたページ画像を読み出す。図10(A)の例では4ページ目のコード未記述ページ1008のページ画像が読み出される。
なお、ページ解析部40はステップS32で読み出したコード記述ページの次にページが無く、ステップS48でページ画像を読み出すことができなければ(ステップS50においてNO)、エラー終了する。
ステップS48でページ画像を読み出すことができれば、描画部38はステップS50からステップS52の処理に進み、ステップS48で読み出したページ画像を保存ページカウント値で指定されるページとして保存する。例えば図10(A)の例では4ページ目のコード未記述ページ1008のページ画像が図10(B)に示すように2ページ目として保存される。
ステップS54に進み、描画部38はステップS48で読み出したページ画像の2次元コード化を、ステップS34で抽出したコードに従って実行する。ステップS56に進み、描画部38は作成した2次元コードの画像を保存ページカウント値で指定されるページと対応付けて保存する。
例えば図10(A)の例では4ページ目のコード未記述ページ1008のページ画像を2次元コード化し、作成した図10(C)に示すような2次元コード1016の画像1012をコード未記述ページ1008のページ画像と対応付けて保存する。
ステップS56からステップS40の処理に進み、ページ解析部40はステップS48で読み出したコード未記述ページに次のページが有ればステップS42の処理に進み、読み出しページカウント値及び保存ページカウント値に「1」を加算する。また、ページ解析部40はステップS48で読み出したコード未記述ページに次のページが無ければ、図9のフローチャートの処理を終了する。図10(A)の例ではステップS48で読み出したコード未記述ページ1008に次のページが無いため、図9のフローチャートの処理を終了する。
なお、ステップS32で読み出したページ画像に予め定義されたコードがなければ、描画部38はステップS36からステップS38の処理に進み、ステップS32で読み出したページ画像を保存ページカウント値で指定されるページとして保存したあと、ステップS40の処理に進む。
描画部38は、図9のフローチャートの処理により生成して保存した2次元コードの画像をIRトナーで印刷する印刷コマンドを、例えば図11に示す手順で印刷データに追加する。図11は、2次元コードの画像をIRトナーで印刷する印刷コマンドを印刷データに追加する処理の一例のフローチャートである。図11は、読み出しページカウント値により、読み出すページ画像を管理する。ステップS60において、描画部38は読み出しページカウント値を「1」で初期化する。
ステップS62において、描画部38は図9のフローチャートの処理により保存されたページ画像から、読み出しページカウント値で指定されたページ画像を読み出す。例えば図10(B)の例ではコード未記述ページ1004のページ画像が1ページ目のページ画像として読み出される。
ステップS64において、描画部38は図9のフローチャートの処理により保存された2次元コードの画像に、読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像があるか否かを判定する。例えば図10(B)の例ではコード未記述ページ1004のページ画像と対応付けられた2次元コード1014の画像1010があると判定される。
読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像があれば、描画部38はステップS64からステップS72の処理に進み、読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像を読み出す。例えば図10(C)の例ではコード未記述ページ1004のページ画像と対応付けられた2次元コード1014の画像1010が読み出される。
ステップS74において、描画部38は2次元コードを印刷する座標(以下、印刷座標と呼ぶ)を初期化する。印刷座標は、左上隅、真ん中など、印刷座標を予め設定しておけばよい。印刷座標の設定は、システム上で指定されていてもよいし、ユーザがプリンタドライバ22上で指定してもよい。
ステップS76において、描画部38は印刷座標を指定し、ステップS72で読み出した2次元コードの画像をIRトナーで印刷する印刷コマンドを、ステップS62で読み出したコード未記述ページのページ画像の印刷データに追加した後、ステップS68の処理に進む。例えば図10(B)及び図10(C)の例では、2次元コード1014の画像1010をIRトナーで印刷する印刷コマンドを、コード未記述ページ1004のページ画像の印刷データに追加する。
ステップS76からステップS68の処理に進み、描画部38はステップS62で読み出したコード未記述ページに次のページが有ればステップS70の処理に進み、読み出しページカウント値及び保存ページカウント値に「1」を加算する。なお、描画部38はステップS62で読み出したコード未記述ページに次のページが無ければ、図11のフローチャートの処理を終了する。
図10(B)の例では2ページ目のコード未記述ページ1008の画像が有るため、ステップS70の処理に進み、読み出しページカウント値に「1」を加算した後、ステップS62の処理に戻る。図10(B)の例では読み出しページカウント値が「2」となる。
ステップS62において、描画部38は図9のフローチャートの処理により保存されたページ画像から、読み出しページカウント値で指定されたページ画像を読み出す。例えば図10(B)の例ではコード未記述ページ1008のページ画像が2ページ目のページ画像として読み出される。
ステップS64において、描画部38は図9のフローチャートの処理により保存された2次元コードの画像に、読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像があるか否かを判定する。例えば図10(B)の例ではコード未記述ページ1008のページ画像と対応付けられた2次元コード1016の画像1012があると判定される。
読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像があれば、描画部38はステップS64からステップS72の処理に進み、読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像を読み出す。例えば図10(C)の例ではコード未記述ページ1008のページ画像と対応付けられた2次元コード1016の画像1012が読み出される。
ステップS74において、描画部38は印刷座標を初期化する。ステップS76において、描画部38は印刷座標を指定し、ステップS72で読み出した2次元コードの画像をIRトナーで印刷する印刷コマンドを、ステップS62で読み出したコード未記述ページのページ画像の印刷データに追加した後、ステップS68の処理に進む。図10(B)及び図10(C)の例では、2次元コード1016の画像1012をIRトナーで印刷する印刷コマンドを、コード未記述ページ1008のページ画像の印刷データに追加する。
ステップS76からステップS68の処理に進み、描画部38はステップS62で読み出したコード未記述ページに次のページが有ればステップS70の処理に進み、読み出しページカウント値及び保存ページカウント値に「1」を加算する。
描画部38はステップS62で読み出したコード未記述ページに次のページが無ければ図11のフローチャートの処理を終了する。例えば図10(B)の例では、コード未記述ページ1008に次のページのコード未記述ページ1008が無いため、図11に示したフローチャートの処理を終了する。
なお、読み出しページカウント値で指定されるページと対応付けられた2次元コードの画像が無ければ、描画部38はステップS64からステップS66の処理に進む。描画部38は、読み出したページ画像を保存ページカウント値で指定されるページとして保存したあと、ステップS68の処理に進む。
図11のフローチャートの処理により、描画部38はIRトナーで2次元コードの画像が印刷(不可視印刷)されるように、印刷コマンドを印刷データに追加できる。図12は2次元コードが不可視印刷された印刷結果の一例の説明図である。
図12の印刷画像1020は2次元コードの画像1024が記述されたコード未記述ページ1004の印刷結果のイメージ図である。また、図12の印刷画像1022は2次元コードの画像1026が記述されたコード未記述ページ1008の印刷結果のイメージ図である。2次元コード化するコード未記述ページの範囲は、印刷対象の画像の全体であっても、一部であってもよい。
本実施形態では、図12に示すように、図10(B)のコード未記述ページ1004のレイアウトを変更することなく不可視の2次元コードの画像1024を、図10(B)のコード未記述ページ1004の画像と同一面に配置して印刷できる。本実施形態では、図12に示すように、図10(B)のコード未記述ページ1008のレイアウトを変更することなく不可視の2次元コードの画像1026を、図10(B)のコード未記述ページ1008の画像と同一面に配置して印刷できる。図12では説明のために2次元コードの画像1024及び1026を可視化して表示しているが、自然光環境で不可視である。
本実施形態に係る印刷システム1によれば、コード未記述ページの画像に重ねて(重畳させて)2次元コードの画像を不可視印刷できる。このため、本実施形態に係る印刷システム1によれば、可視印刷される印刷対象の画像のレイアウトを変更することなく、印刷対象の画像と同一面に2次元コードの画像を追加して印刷できる。
また、本実施形態に係る印刷システム1によれば、印刷対象のページであるコード未記述ページと対応付けて2次元コードの設定を行うコード記述ページを印刷対象のデータに挿入しておくことで、印刷対象のページに重畳させて2次元コードの画像の不可視印刷を行うことができる。例えば本実施形態ではコード未記述ページの前のページとしてコード記述ページを挿入しておくことで、コード未記述ページとコード記述ページとを対応付けている。また、本実施形態ではコード未記述ページの後のページとしてコード記述ページを挿入しておくことで、コード未記述ページとコード記述ページとを対応付けるようにしてもよい。このように、本実施形態に係る印刷システム1によれば、印刷対象のページに不可視印刷したい2次元コードの画像を設定したコード記述ページを、印刷対象のページの前のページとして挿入しておくことで、印刷対象のページへの2次元コードの画像の不可視印刷が容易となる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、本実施形態で説明した印刷システム1は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。
ある実施形態では、印刷システム1はサーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワーク14や共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
さらに、クライアント端末10、及び画像形成装置12などのユニットは、開示された処理ステップを様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、他のユニットによって実行され得る。同様に、所定のユニットの機能は、他のユニットによって実行することができる。また、クライアント端末10、及び画像形成装置12の各要素は、1つの装置にまとめられていてもよいし、複数の装置に分けられていてもよい。