(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125867
(43)【公開日】2024-09-19
(54)【発明の名称】端末装置のためのコンピュータプログラム、端末装置を制御するための方法、及び、端末装置
(51)【国際特許分類】
G06F 3/12 20060101AFI20240911BHJP
【FI】
G06F3/12 338
G06F3/12 322
G06F3/12 344
G06F3/12 353
G06F3/12 374
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023033983
(22)【出願日】2023-03-06
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】垣鍔 亮太
(57)【要約】
【課題】文字認識処理を適切に実行し得る技術を提供すること。
【解決手段】端末装置は、文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付部であって、設定値は、特定処理を実行しないことを示す第1の値と、特定処理を実行することを示す第2の値と、のどちらかである、受付部と、設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、画像データに対する特定処理を実行することなく、画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行部と、設定値が第2の値である状況において、印刷指示が受け付けられる場合に、第1の所定処理を実行することなく、画像データに対する特定処理を実行する特定処理実行部と、を備えてもよい。
【選択図】
図2
【特許請求の範囲】
【請求項1】
端末装置のためのコンピュータプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付部であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付部と、
前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像を表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行部と、
前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成部と、
前記第1の印刷データを印刷装置に送信する第1の送信部と、
前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行部と、
として機能させる、コンピュータプログラム。
【請求項2】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記画像データに対する前記特定処理を実行した第2のデータを利用して、第2の印刷データを生成する第2の生成部と、
前記第2の印刷データを前記印刷装置に送信する第2の送信部と、
として機能させる、請求項1に記載のコンピュータプログラム。
【請求項3】
前記第2の生成部は、前記第2のデータに対する第2のバンディング処理の実行のための第2の所定処理を実行することなく、前記第2のデータを利用して、前記第2の印刷データを生成する、請求項2に記載のコンピュータプログラム。
【請求項4】
前記第2の生成部は、前記第2のデータに対する第2のバンディング処理の実行のための第2の所定処理を実行し、前記第2のデータに対する前記第2のバンディング処理を実行した第3のデータを利用して、前記第2の印刷データを生成する、請求項2に記載のコンピュータプログラム。
【請求項5】
前記特定処理は、さらに、印刷対象の前記画像の中に所定の文字列が存在するのか否かを判断する判断処理を含む、請求項1に記載のコンピュータプログラム。
【請求項6】
前記特定処理は、さらに、前記判断処理によって前記所定の文字列が存在すると判断される場合に、前記所定の文字列を判読不可能化する処理を含む、請求項5に記載のコンピュータプログラム。
【請求項7】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記判断処理によって前記所定の文字列が存在しないと判断される場合に、前記画像データに対する前記特定処理を実行した第2のデータを利用して、第2の印刷データを生成する第2の生成部として機能させ、
前記判断処理によって前記所定の文字列が存在すると判断される場合に、前記第2の印刷データは生成されない、請求項5に記載のコンピュータプログラム。
【請求項8】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記設定値が前記第1の値である状況において、前記印刷指示が取得される場合に、前記印刷装置がバンディング処理に対応しているのか否かを判断する判断部として機能させ、
前記所定処理実行部は、
前記印刷装置が前記バンディング処理に対応していると判断される場合に、前記第1の所定処理を実行し、
前記印刷装置が前記バンディング処理に対応していないと判断される場合に、前記第1の所定処理を実行せず、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記印刷装置が前記バンディング処理に対応していないと判断される場合に、前記第1のバンディング処理が実行されない前記画像データを利用して、第3の印刷データを生成する第3の生成部と、
前記第3の印刷データを前記印刷装置に送信する第3の送信部と、
として機能させる、請求項1に記載のコンピュータプログラム。
【請求項9】
端末装置を制御するための方法であって、
文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付工程であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付工程と、
前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像を表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行工程と、
前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成工程と、
前記第1の印刷データを印刷装置に送信する第1の送信工程と、
前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行工程と、
を備える、方法。
【請求項10】
端末装置であって、
文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付部であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付部と、
前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像を表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行部と、
前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成部と、
前記第1の印刷データを印刷装置に送信する第1の送信部と、
前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行部と、
を備える、端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、文字認識処理に関する技術を開示する。
【背景技術】
【0002】
特許文献1には、端末装置とキーワード管理装置とを備える印刷システムが開示されている。端末装置は、キーワード管理装置からキーワードを受信し、当該キーワードに基づいて印刷データを検索する。端末装置は、当該キーワードに一致する文字列が見つかる場合に、印刷データに従った印刷を禁止したり、当該文字列が判読不能となるように印刷データを変換したりする。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、文字認識処理を適切に実行し得る技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、端末装置のためのコンピュータプログラムを開示する。コンピュータプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付部であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付部と、前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像を表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行部と、前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成部と、前記第1の印刷データを印刷装置に送信する第1の送信部と、前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行部と、として機能させてもよい。
【0006】
画像データに対するバンディング処理が実行されると、印刷対象の画像が複数個のバンド画像に分割され得る。この結果、印刷対象の画像に含まれる文字が文字認識処理によって適切に認識されないという事象が発生し得る。上記のコンピュータプログラムによると、端末装置は、設定値が特定処理を実行することを示す第2の値である状況において、印刷指示を受け付ける場合に、第1のバンディング処理の実行のための第1の所定処理を実行することなく、文字認識処理を含む特定処理を実行する。従って、印刷対象の画像に含まれる文字が文字認識処理によって適切に認識されないという事象が発生するのが抑制される。この結果、端末装置は、文字認識処理を適切に実行し得る。
【0007】
上記の端末装置を格納するコンピュータ可読記録媒体、及び、上記のコンピュータプログラムによって実現される端末装置そのもの、及び、端末装置を制御するための方法も、新規で有用である。
【図面の簡単な説明】
【0008】
【発明を実施するための形態】
【0009】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、ノートPC10と複数個のプリンタ100A,100Bとを備える。ノートPC10と各プリンタ100A,100Bとは、Local Area Network(LAN)4を介して相互に通信可能である。LAN4は、有線LANであってもよいし無線LANであってもよい。
【0010】
(ノートPC10の構成)
ノートPC10は、操作部12と、表示部14と、通信インターフェース20と、制御部30と、を備える。各部12~30は、バス線に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0011】
操作部12は、様々な情報をノートPC10に入力するためのI/Fであり、例えば、マウス、キーボードを備える。表示部14は、様々な情報を表示するためのディスプレイである。通信I/F20は、他のデバイスとの通信を実行するためのインターフェースである。通信I/F20は、LAN4に接続されている。
【0012】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム40等に従って、様々な処理を実行する。メモリ34は、ROM、RAM等によって構成される。メモリ34は、OSプログラム40とプリンタドライバ42とを記憶する。以下では、OSプログラムのことを単に「OS」と記載する。
【0013】
OS40は、ノートPC10の基本的な動作を制御するためのプログラムである。プリンタドライバ42は、プリンタ100A又はプリンタ100Bが解釈可能なデータ形式を有する印刷データを生成して、当該印刷データをプリンタ100A又はプリンタ100Bに送信するためのプログラムである。プリンタドライバ42は、ノートPC10が出荷された後に、ノートPC10にダウンロードされてインストールされる。プリンタドライバ42は、プリンタ100A,100B等と共に出荷されるメディアからノートPC10にダウンロードされてもよいし、プリンタ100A、100B等のベンダによって設置される図示省略のサーバからノートPC10にダウンロードされてもよい。なお、変形例では、プリンタドライバ42に代えて、印刷データを生成するためのプリンタアプリケーションが利用されてもよい。
【0014】
メモリ34は、さらに、設定値44とキーワードリスト46とを記憶する。設定値44は、検閲機能を実行しないことを示す「無効」と、検閲機能を実行することを示す「有効」と、のどちらかである。検閲機能は、印刷対象の画像がキーワードリスト46内の文字列を含む場合に、当該文字列の印刷を制限する機能である。第1実施例では、当該文字列が黒塗りに置換されることで、当該文字列を判読不可能化される。これは、当該文字列の印刷が制限されるとも言える。即ち、キーワードリスト46は、印刷が制限されるべき文字列のリストである。ユーザは、キーワードリスト46を編集して、様々な文字列を指定することができる。キーワードリスト46内の文字列としては、印刷することが不適当である文字列(例えば個人情報等)が想定される。
【0015】
ユーザは、以下のようにして、設定値44として「無効」と「有効」とのどちらかを指定することができる。まず、ユーザは、OS40を介して、プリンタドライバ42に関する設定を変更するための操作を実行する。この場合、ノートPC10は、プロパティ画面SC10を表示する。プロパティ画面SC10は、プリンタドライバ42に対応するプリンタ100A,100Bの情報(例えば色材の残量等)を確認するためのデバイス情報ボタン、検閲機能に関する設定値44を変更するための検閲機能ボタン等を含む。
【0016】
ノートPC10は、T1において、プロパティ画面SC10内の検閲機能ボタンの選択を受け付けると、検閲機能に関する設定値44を変更するための変更画面SC12を表示する。変更画面SC12は、設定値44として「有効」を指定するためのチェックボックスと、設定値44として「無効」を指定するためのチェックボックスと、OKボタンと、を含む。なお、図示省略しているが、ノートPC10は、変更画面SC12からキーワードリスト46を編集するための編集画面に移動可能に構成されていてもよい。
【0017】
ノートPC10は、T2において、「有効」のチェックボックスにチェックを受け付けた後にOKボタンの選択を受け付けると、設定値44として「有効」を記憶する。同様に、ノートPC10は、T3において、「無効」のチェックボックスにチェックを受け付けた後にOKボタンの選択を受け付けると、設定値44として「無効」を記憶する。
【0018】
(プリンタ100Aの構成)
プリンタ100Aは、印刷機能を実行可能な周辺装置、例えばノートPC10の周辺装置、である。変形例では、プリンタ100は、印刷機能に加えて、スキャン機能、ファクシミリ機能等を実行可能な多機能機であってもよい。プリンタ100Aは、モデル名「AAA」を有する。プリンタ100Aは、操作部112と表示部114と印刷実行部116と通信I/F120と制御部130とを備える。各部112~130は、バス線に接続されている。
【0019】
操作部112は、ユーザが様々な情報をプリンタ100Aに対して入力することを可能とするI/Fであり、例えばタッチスクリーン、ボタンを備える。ユーザは、操作部112を介して、様々な情報をプリンタ100Aに入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。通信I/F120は、LAN4に接続されている。
【0020】
印刷実行部116は、インクジェット方式の印刷機構を備える。即ち、プリンタ100Aは、インクジェットプリンタである。プリンタ100Aは、特に、インクジェットヘッドを印刷媒体の搬送方向に直交する方向に走査させることを繰り返して、印刷対象の画像を印刷媒体上に印刷する。ノートPC10は、インクジェットプリンタであるプリンタ100Aに印刷を実行させる際に、通常、印刷対象の1ページ分の画像を複数個の矩形のバンド画像に分割する。ここで、1個のバンド画像のサイズは、インクジェットヘッドの1回の走査で印刷可能なサイズに設定される。ノートPC10は、複数個の矩形のバンド画像を表わす複数個の印刷データのそれぞれを順次生成し、複数個の印刷データのそれぞれをプリンタ100Aに順次送信する。本明細書では、1ページ分の画像を複数個の矩形のバンド画像に分割して印刷データを生成することを「バンディング処理」と記載する。ノートPC10は、バンディング処理によって得られる1個のバンド画像を表わす1個の印刷データを生成すると、当該1個の印刷データをプリンタ100Aに送信する。このため、ノートPC10は、1ページ分の画像の全てを表わす印刷データを生成した後に当該印刷データをプリンタ100Aに送信する構成と比べて、プリンタ100Aに印刷を迅速に開始させることができる。また、プリンタ100Aは、少なくとも1個のバンド画像を表わす少なくとも1個の印刷データをメモリ134に記憶すればよく、1ページ分の画像の全てを表わす印刷データをメモリ134に同時的に記憶せずに済む。このため、プリンタ100Aのメモリ134の容量を抑えることができる。
【0021】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に記憶されているプログラム140に従って、様々な処理を実行する。
【0022】
(プリンタ100Bの構成)
プリンタ100Bは、モデル名「BBB」を有する点、及び、印刷実行部がレーザ方式の印刷機構を備える点を除くと、プリンタ100Aの構成と同様である。即ち、プリンタ100Bはレーザプリンタである。ノートPC10は、レーザプリンタであるプリンタ100Bに印刷を実行させる際に、通常、印刷対象の1ページ分の画像の全てを表わす印刷データを生成した後に当該印刷データをプリンタ100Bに送信する。プリンタ100Bでは、通常、1ページ分の画像の全てを連続的に感光ドラムに形成する必要があるからである。このため、ノートPC10は、バンディング処理を実行しない。
【0023】
(印刷処理;
図2)
続いて、
図2を参照して、ノートPC10のCPU32がプリンタドライバ42を実行することによって実現される印刷処理について説明する。プリンタドライバ42がユーザから印刷指示を受け付けると、
図2の処理が開始される。印刷指示は、印刷対象の画像の指定と、印刷を実行すべきプリンタ(以下「対象プリンタ」と記載する)の指定と、を含む。
【0024】
S10では、CPU32は、メモリ34内の設定値44が「有効」を示すのか「無効」を示すのかを判断する。CPU32は、設定値44が「有効」を示す場合(S10でYES)にS12に進み、設定値44が「無効」を示す場合(S10でNO)にS40に進む。
【0025】
S12では、CPU32は、OS40を介して、印刷対象の画像を表わす画像データ(以下「対象画像データ」と記載する)のうちの1ページ分の画像データを取得する。
【0026】
S14では、CPU32は、S12で取得済みの1ページ分の画像データに対して、Optical Character Recognition(OCR)処理を実行する。これにより、CPU32は、1ページ分の画像データによって表わされる画像が文字を含む場合に、当該文字を特定する。
【0027】
S20では、CPU32は、OCR処理で1個以上の文字が特定されたのか否かを判断する。CPU32は、1個以上の文字が特定される場合に、S20でYESと判断して、S22に進む。一方、CPU32は、1個の文字も特定されない場合に、S20でNOと判断して、S30に進む。
【0028】
S22では、CPU32は、特定済みの1個以上の文字がキーワードリスト46内のいずれかの文字列を含むのか否かを判断する。CPU32は、特定済みの1個以上の文字がキーワードリスト46内のいずれかの文字列を含む場合に、S22でYESと判断して、S24に進む。一方、CPU32は、特定済みの1個以上の文字がキーワードリスト46内のいずれの文字列も含まない場合に、S22でNOと判断して、S30に進む。
【0029】
S24では、CPU32は、1ページ分の画像データによって表わされる画像において、キーワードリスト46に含まれる文字列に一致する文字列を黒塗りする。具体的には、CPU32は、1ページ分の画像データにおいて、当該文字列に黒塗り画像を重ねて、1ページ分の処理済み画像データを生成する。このようにして、CPU32は、当該文字列を判読不可能化する。この結果、例えば個人情報等の文字列の印刷が制限される。
【0030】
S30では、CPU32は、1ページ分の画像データを変換して印刷データを生成する。特に、S24を経たS30では、CPU32は、1ページ分の処理済み画像データを変換して、印刷データを生成する。一方、S24を経ないS30では、CPU32は、S12で取得済みの1ページ分の画像データを変換して、印刷データを生成する。印刷データは、対象プリンタによって解釈可能なデータ形式を有する。
【0031】
S32では、CPU32は、生成済みの印刷データを対象プリンタに送信する。この結果、印刷対象の元の画像又は黒塗り部分を含む画像が印刷された1ページ分の印刷媒体が形成される。その後、CPU32は、対象画像データが2ページ目以降の画像データを含む場合には、2ページ目以降の各画像データについてS12~S32と同様の処理を実行される。全てのページの画像データについてS12~S32の処理が終了すると、
図2の処理が終了する。
【0032】
S40では、CPU32は、対象プリンタがレーザプリンタであるのかインクジェットプリンタであるのかを判断する。具体的には、CPU32は、対象プリンタのモデル名を取得する。ノートPC10のメモリ34は、プリンタの各モデル名に関連付けて、当該モデル名を有するプリンタがレーザプリンタであるのかインクジェットプリンタであるのかを示す情報を記憶している。CPU32は、対象プリンタのモデル名に関連付けてレーザプリンタを示す情報が記憶されている場合に、S40でYESと判断してS42に進む。一方、CPU32は、対象プリンタのモデル名に関連付けてインクジェットプリンタを示す情報が記憶されている場合に、S40でNOと判断してS60に進む。S42、S50、S52の処理は、それぞれ、S12、S30、S32の処理と同様である。
【0033】
S60では、CPU32は、バンディング処理の実行をOS40に要求する。当該要求は、OS40への対象画像データの供給を含む。この結果、OS40では、対象画像データに対するバンディング処理が実行される。バンディング処理では、対象画像データのうちの1ページ分の画像データによって表わされる1ページ分の画像が複数個のバンド画像に分割される。この結果、OS40は、1ページ分の画像データから、複数個のバンド画像を表わす複数個の画像データを生成する。以下、バンド画像を表わす画像データのことを「バンド画像データ」と記載する。
【0034】
S62では、CPU32は、OS40から1個のバンド画像データを取得する。
【0035】
S70では、CPU32は、S62で取得済みのバンド画像データを変換して、印刷データ(以下「バンド印刷データ」と記載する)を生成する。バンド印刷データは、インクジェットプリンタである対象プリンタによって解釈可能なデータ形式を有する。
【0036】
S72では、CPU32は、生成済みのバンド印刷データを対象プリンタに送信する。この結果、対象プリンタによって、バンド画像が印刷媒体上に印刷される。
【0037】
S74では、CPU32は、OS40から全てのバンド画像データを取得済みであるのか否かを判断する。CPU32は、全てのバンド画像データを取得済みでない場合(S74でNO)に、S62において、次のバンド画像データを取得し、S70及びS72の処理を実行する。CPU32は、OS40から全てのバンド画像データを取得済みである場合(S74でYES)には、
図2の処理を終了する。
【0038】
(ケースA;
図3)
続いて、
図2の印刷処理によって実現される具体的なケースを説明する。まず、
図3を参照して、ケースAを説明する。ケースAは、ノートPC10に記憶されている設定値44が「有効」を示し、検閲機能が実行されるケースである。
【0039】
なお、以下では、各デバイス(例えばノートPC10、プリンタ100A)のCPU(例えば、32,132)が実行する処理について、理解の容易さの観点から、各CPUを処理の主体として記載せずに、各デバイスを処理の主体として記載する。特に、ノートPC10のCPU32によって実行される処理のうち、CPU32がプリンタドライバ42を実行することによって実現される処理を説明する際に、ノートPC10を処理の主体として記載せずに、プリンタドライバ42を主体として記載することがある。同様に、CPU32がOS40を実行することによって実現される処理を説明する際に、ノートPC10を処理の主体として記載せずに、OS40を主体として記載することがある。また、各デバイス間の通信は、通信I/F(例えば20,120)を介して実行される。従って、以下の説明では、通信に関する説明をする際に、「通信I/Fを介して」という記載を省略する。
【0040】
ノートPC10は、T10において、ユーザから印刷指示を受け付ける(
図2のトリガ)。印刷指示は、印刷対象の画像Im1の指定と、印刷を実行すべきプリンタのモデル名「AAA」又は「BBB」の指定と、を含む。本ケースでは、印刷対象の画像Im1は、1ページ分のみの画像である。
【0041】
設定値44が「有効」を示すので(
図2のS10でYES)、プリンタドライバ42は、T20において、画像Im1を表わす画像データImD1をOS40から取得する。そして、プリンタドライバ42は、T22において、取得済みの画像データImD1によって表わされる画像Im1に対してOCR処理を実行する(S14)。本ケースでは、プリンタドライバ42は、画像Im1に含まれる6個の文字「A」~「F」を特定する(S20でYES)。
【0042】
次いで、プリンタドライバ42は、6個の文字「A」~「F」のうちの文字列「ABC」がキーワードリスト46に含まれると判断する(S22でYES)。この場合、プリンタドライバ42は、T26において、文字列「ABC」を黒塗りする(S24)。この結果、文字列「ABC」が黒塗りされた処理済み画像Im2を表わす処理済み画像データImD2が生成される。
【0043】
次いで、プリンタドライバ42は、処理済み画像データImD2を変換して、印刷データを生成し(S30)、当該印刷データをT10で指定済みのプリンタ(100A又は100B)に送信する。
【0044】
プリンタは、T30において、ノートPC10から印刷データを受信すると、T32において、当該印刷データに従って印刷を実行する。この結果、処理済み画像Im2が印刷された印刷媒体が形成される。
【0045】
(ケースB;
図4)
続いて、
図4を参照して、ケースBを説明する。ケースBは、設定値44が「無効」を示す状況において、インクジェットプリンタであるプリンタ100Aに対する印刷指示が受け付けられるケースである。T110の処理は、モデル名「AAA」の指定を含む印刷指示が受け付けられる点を除くと、
図3のT10の処理と同様である。
【0046】
設定値44が「無効」を示し(
図2のS10でNO)、かつ、インクジェットプリンタに対する印刷指示が受け付けられたので(S40でNO)、プリンタドライバ42は、T112において、バンディング処理をOS40に要求する。
【0047】
OS40は、T112において、プリンタドライバ42からバンディング処理の要求を取得すると、T114において、バンディング処理を実行する。本ケースでは、OS40は、1ページ分の画像Im1を4個のバンド画像Im1A~Im1Dに分割して、4個のバンド画像データImD1A~ImD1Dを生成する。OS40は、バンディング処理を実行すると、T116において、各バンド画像データImD1A~ImD1Dをプリンタドライバ42に順次供給する。
【0048】
プリンタドライバ42は、まず、T120において、OS40から、1個目のバンド画像Im1Aを表わす1個目のバンド画像データImD1Aを取得する(S62)。この場合、プリンタドライバ42は、T122において、1個目のバンド画像データImD1Aを変換して1個目のバンド印刷データを生成し(S70)、T124において、当該バンド印刷データをプリンタ100Aに送信する(S72)。
【0049】
プリンタ100Aは、ノートPC10から1個目のバンド印刷データを受信すると、T132において、印刷を開始する。即ち、プリンタ100Aは、1個目のバンド印刷データを受信すると、2個目のバンド印刷データを受信する前に、1個目のバンド印刷データに従って1個目のバンド画像Im1Aを印刷する。
【0050】
プリンタドライバ42は、1個目の印刷データをプリンタ100Aに送信すると、T140において、OS40から2個目のバンド画像Im1Bを表わす2個目のバンド画像データImD1Bを取得する(S62)。T140~T150の処理は、2個目のバンド画像データImD1Bが利用される点を除くと、T120~T130の処理と同様である。次いで、3個目のバンド画像Im1Cについても、同様の処理が実行される。さらに、T160~T172において、4個目(即ち最後)のバンド画像Im1Dについても同様の処理が実行される。
【0051】
プリンタ100Aは、T170において、4個目のバンド画像Im1Dを表わす印刷データを受信して、当該印刷データに従った印刷を実行すると、T172において、印刷を終了する。
【0052】
(ケースC;
図5)
続いて、
図5を参照して、ケースCを説明する。ケースCは、設定値44が「無効」を示す状況において、レーザプリンタであるプリンタ100Bに対する印刷指示が受け付けられるケースである。T210の処理は、モデル名「BBB」の指定を含む印刷指示が受け付けられる点を除くと、
図3のT10の処理と同様である。
【0053】
設定値44が「無効」を示し(
図2のS10でNO)、かつ、レーザプリンタに対する印刷指示が受け付けられたので(S40でYES)、プリンタドライバ42は、バンディング処理を実行せずに、T220において、1ページ分の画像Im1を表わす画像データImD1をOS40から取得する。そして、プリンタドライバ42は、T228において、取得済みの画像データImD1を変換して印刷データを生成し(S50)、T230において、印刷データをプリンタ100Bに送信する。
【0054】
プリンタ100Bは、T230において、ノートPC10から、印刷データを受信すると、T32において、当該印刷データに従って印刷を実行する。この結果、画像Im1が印刷された印刷媒体が形成される。
【0055】
(第1実施例の効果)
画像データに対するバンディング処理が実行されると、印刷対象の画像が複数個のバンド画像に分割される。この結果、印刷対象の画像に含まれる文字がバンディング処理によって分割されると、当該文字がOCR処理によって適切に認識されないという事象が発生し得る。一方、本実施例の構成によると、ノートPC10は、設定値44が「有効」を示す状況において、印刷指示を受け付ける場合に、バンディング処理をOS40に要求することなく、OCR処理を実行する(
図2のS10でYES、S12、S14)。従って、印刷対象の画像に含まれる文字がOCR処理によって適切に認識されないという事象が発生するのが抑制される。この結果、ノートPC10は、文字認識処理を適切に実行することができ、この結果、検閲機能を適切に実行することができる。
【0056】
(対応関係)
ノートPC10が、「端末装置」の一例である。プリンタドライバ42が、「コンピュータプログラム」の一例である。プリンタ100A,100Bが、「印刷装置」の一例である。「無効」、「有効」が、それぞれ、「第1の値」、「第2の値」の一例である。画像Im1、画像データImD1が、それぞれ、「印刷対象の画像」、「印刷対象の画像を表わす画像データ」の一例である。バンド画像データImD1A~ImD1Dが、「第1のデータ」の一例である。処理済み画像データImD2が、「第2のデータ」の一例である。
図2のS72で送信される印刷データが、「第1の印刷データ」の一例である。
図2のS32で送信される印刷データが、「第2の印刷データ」の一例である。
図2のS52で送信される印刷データが、「第3の印刷データ」の一例である。文字列「ABC」が、「所定文字列」の一例である。検閲機能を実行する処理が、「特定処理」の一例である。
図2のS14のOCR処理が、「文字認識処理」の一例である。
図2のS20及びS22の処理が、「判断処理」の一例である。
図2のS24の処理が、「所定の文字列を判読不可能化する処理」の一例である。
図2のS60の処理が、「第1の所定処理」の一例である。
図4のT114の処理が、「第1のバンディング処理」の一例である。
【0057】
図1のT2,T3の処理が、「受付部」によって実行される処理の一例である。
図2のS14~S24の処理が、「特定処理実行部」によって実行される処理の一例である。
図2のS30の処理、S32の処理が、それぞれ、「第2の生成部」、「第2の送信部」によって実行される処理の一例である。
図2のS40の処理が、「判断部」によって実行される処理の一例である。
図2のS50の処理、S52の処理が、それぞれ、「第3の生成部」、「第3の送信部」によって実行される処理の一例である。
図2のS60の処理が、「所定処理実行部」によって実行される処理の一例である。
図2のS70の処理、S72の処理が、それぞれ、「第1の生成部」、「第1の送信部」によって実行される処理の一例である。
【0058】
(第2実施例)
続いて、第2実施例を説明する。第2実施例では、検閲機能の内容が第1実施例とは異なる。第2実施例では、印刷対象の画像がキーワードリスト46内の文字列を含む場合に、当該画像の印刷をプリンタに実行させない。具体的には、
図2に示されるように、CPU32は、S22でNOと判断する場合に、S24以降の処理を実行することなく、
図2の処理を終了する。第2実施例の構成でも、個人情報等の印刷を制限することができる。
【0059】
(第3実施例)
続いて、第3実施例を説明する。第3実施例では、設定値44が「有効」を示す場合に、検閲機能を実行した後に、対象プリンタがインクジェットプリンタであるのかレーザプリンタであるのかに応じて異なる処理が実行される。
【0060】
具体的には、
図6に示されるように、CPU32は、S24の処理を実行した後に、S40の処理を実行する。そして、CPU32は、対象プリンタがレーザプリンタである場合(S40でYES)には、S141において、OS40から画像データを取得済みであるのか否かを判断する。CPU32は、OS40から画像データを取得済みである場合(即ちS10でYESを経た場合)には、S141でYESと判断してS42の処理をスキップして、S50及びS52の処理を実行する。一方、CPU32は、OS40から画像データを取得済みでない場合(即ちS10でNOを経た場合)には、S141でNOと判断して、S42~S52の処理を実行する。
【0061】
一方、CPU32は、対象プリンタがインクジェットプリンタである場合(S40でNO)には、S60~S74の処理を実行する。即ち、対象プリンタがインクジェットプリンタである場合には、CPU32は、検閲機能(S14~S24)を実行した後に、バンディング処理をOS40に要求する。このように、検閲機能が実行される場合でもバンディング処理が実行されるので、ノートPC10は、インクジェットプリンタである対象プリンタに印刷を迅速に開始させることができる。また、対象プリンタのメモリの容量を抑えることができる。
【0062】
(ケースD;
図7)
続いて、
図7を参照して、本実施例で実現されるケースDを説明する。ノートPC10に記憶されている設定値44は「有効」を示す。T310の処理は、
図4のT110の処理と同様である。また、T320~T326の処理は、
図3のT20~T26の処理と同様である。インクジェットプリンタであるプリンタ100Aに対する印刷指示が受け付けられるので(
図6のS40でNO)、プリンタドライバ42は、S328において、バンディング処理をOS40に要求する(
図6のS60)。
【0063】
OS40は、T328において、プリンタドライバ42からバンディング処理の要求を取得すると、T330において、バンディング処理を実行する。本ケースでは、OS40は、1ページ分の処理済み画像Im2を、4個のバンド画像Im2A~Im2Dに分割して、4個のバンド画像データImD2A~ImD2Dを生成する。OS40は、バンディング処理を実行すると、T332において、各バンド画像データImD2A~ImD2Dをプリンタドライバ42に順次供給する。
【0064】
T340~T352の処理は、1個目のバンド画像データImD2Aが利用される点を除くと、
図4のT120~T132の処理と同様である。その後、各バンド画像データImD2B~ImD2Dが利用される点を除くと、
図4のT140~T172と同様の処理が実行される。この結果、プリンタ100Aにおいて、処理済み画像Im2が印刷された印刷媒体が形成される。
図6のS10でYESを経たS60の処理が、「第2の所定処理」の一例である。
図7のT330の処理が、「第2のバンディング処理」の一例である。バンド画像データImD2A~ImD2Dが、「第3のデータ」の一例である。
【0065】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0066】
(変形例1)CPU32は、
図2のS22でYESと判断される場合に、S24の処理をスキップしてS30以降の処理を実行してもよい。この場合、CPU32は、印刷対象の画像にキーワードリスト46内の文字列が含まれることを示す情報を、図示省略のサーバに送信してもよい。本変形例では、S14~S22及び上記の情報のサーバへの送信が、「特定処理」の一例である。
【0067】
(変形例2)CPU32は、
図2のS60において、バンディング処理をOS40に要求することに代えて、プリンタドライバ42を実行することによってバンディング処理を実行してもよい。即ち、プリンタドライバ42がバンディング処理を実行してもよい。本変形例では、プリンタドライバ42が実行するバンディング処理が、「第1のバンディング処理」及び「第1の所定処理」の一例である。
【0068】
(変形例3)CPU32は、
図2のS22の処理を省略可能である。この場合、CPU32は、印刷対象の画像に文字が含まれると判断される場合(S20でYES)に、当該文字を黒塗りする処理(S24)を実行してもよい。一般的に言うと、「特定処理」は「判断処理」を含まなくてもよい。
【0069】
(変形例4)CPU32は、
図2のS24において、特定文字列を表わす文字列データを、黒塗り画像を表わす画像データに置換することによって、黒塗り処理を実行してもよい。また、別の変形例では、CPU32は、
図2のS24において、特定文字列を表わす文字列データを、例えば「#」等の意味を持たない記号を表わす記号データに置き換えることによって、特定文字列を判読不可能化してもよい。本変形例では、特定文字列を記号に置換する処理が、「所定の文字列を判読不可能化する処理」の一例である。また、別の変形例では、CPU32は、
図2のS24において、特定文字列を表わす文字列データを消去してもよい。この場合、対象プリンタでは、特定文字列が消去された画像が印刷される。本変形例では、特定文字列を消去する処理が、「所定の文字列を判読不可能化する処理」の一例である。
【0070】
(変形例5)CPU32は、
図2のS40の処理を省略可能である。この場合、例えば、CPU32は、対象プリンタがインクジェットプリンタであるのかレーザプリンタであるのかに関わらず、S42~S52の処理を実行してもよい。一般的に言うと、「判断部」を省略可能である。
【0071】
(変形例6)上記の実施例では、
図2~
図7の各ステップの処理がソフトウェア(例えば、OS40、プリンタドライバ42、プログラム140)によって実現されるが、これらの各処理の少なくとも一つが、論理回路等のハードウェアによって実現されてもよい。
【0072】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0073】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
端末装置のためのコンピュータプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付部であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付部と、
前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行部と、
前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成部と、
前記第1の印刷データを印刷装置に送信する第1の送信部と、
前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行部と、
として機能させる、コンピュータプログラム。
(項目2)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記画像データに対する前記特定処理を実行した第2のデータを利用して、第2の印刷データを生成する第2の生成部と、
前記第2の印刷データを前記印刷装置に送信する第2の送信部と、
として機能させる、項目1に記載のコンピュータプログラム。
(項目3)
前記第2の生成部は、前記第2のデータに対する第2のバンディング処理の実行のための第2の所定処理を実行することなく、前記第2のデータを利用して、前記第2の印刷データを生成する、項目2に記載のコンピュータプログラム。
(項目4)
前記第2の生成部は、前記第2のデータに対する第2のバンディング処理の実行のための第2の所定処理を実行し、前記第2のデータに対する前記第2のバンディング処理を実行した第3のデータを利用して、前記第2の印刷データを生成する、項目2に記載のコンピュータプログラム。
(項目5)
前記特定処理は、さらに、印刷対象の前記画像の中に所定の文字列が存在するのか否かを判断する判断処理を含む、項目1から4のいずれか一項に記載のコンピュータプログラム。
(項目6)
前記特定処理は、さらに、前記判断処理によって前記所定の文字列が存在すると判断される場合に、前記所定の文字列を判読不可能化する処理を含む、項目5に記載のコンピュータプログラム。
(項目7)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記判断処理によって前記所定の文字列が存在しないと判断される場合に、前記画像データに対する前記特定処理を実行した第2のデータを利用して、第2の印刷データを生成する第2の生成部として機能させ、
前記判断処理によって前記所定の文字列が存在すると判断される場合に、前記第2の印刷データは生成されない、項目5に記載のコンピュータプログラム。
(項目8)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記設定値が前記第1の値である状況において、前記印刷指示が取得される場合に、前記印刷装置がバンディング処理に対応しているのか否かを判断する判断部として機能させ、
前記所定処理実行部は、
前記印刷装置が前記バンディング処理に対応していると判断される場合に、前記第1の所定処理を実行し、
前記印刷装置が前記バンディング処理に対応していないと判断される場合に、前記第1の所定処理を実行せず、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記印刷装置が前記バンディング処理に対応していないと判断される場合に、前記第1のバンディング処理が実行されない前記画像データを利用して、第3の印刷データを生成する第3の生成部と、
前記第3の印刷データを前記印刷装置に送信する第3の送信部と、
として機能させる、項目1から7のいずれか一項に記載のコンピュータプログラム。
(項目9)
端末装置を制御するための方法であって、
文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付工程であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付工程と、
前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像を表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行工程と、
前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成工程と、
前記第1の印刷データを印刷装置に送信する第1の送信工程と、
前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行工程と、
を備える、方法。
(項目10)
端末装置であって、
文字認識処理を含む特定処理の実行に関する設定値の指定を受け付ける受付部であって、前記設定値は、前記特定処理を実行しないことを示す第1の値と、前記特定処理を実行することを示す第2の値と、のどちらかである、前記受付部と、
前記設定値が前記第1の値である状況において、印刷指示が受け付けられる場合に、印刷対象の画像を表わす画像データに対する前記特定処理を実行することなく、前記画像データに対する第1のバンディング処理の実行のための第1の所定処理を実行する所定処理実行部と、
前記画像データに対する前記第1のバンディング処理を実行した第1のデータを利用して、第1の印刷データを生成する第1の生成部と、
前記第1の印刷データを印刷装置に送信する第1の送信部と、
前記設定値が前記第2の値である状況において、前記印刷指示が受け付けられる場合に、前記第1の所定処理を実行することなく、前記画像データに対する前記特定処理を実行する特定処理実行部と、
を備える、端末装置。
【符号の説明】
【0074】
2:通信システム、10:ノートPC、12,112:操作部、14,114:表示部、20,120:通信I/F、30,130:制御部、32、132:CPU、34,134:メモリ、40:OSプログラム、42:プリンタドライバ、44:設定値、46:キーワードリスト、100A,100B:プリンタ、116:印刷実行部、140:プログラム