以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は開示例にすぎず、本発明の要旨を変更しない範囲で適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
[第1実施形態]
本実施形態では、図1に示される情報処理装置10に実装されたスペシャルプリンタドライバ29について説明する。情報処理装置10は、パーソナルコンピュータやタブレットなどである。
情報処理装置10は、有線LANや無線LAN(登録商標)やUSB(登録商標)ケーブルなどの通信回線13によって、プリンタ11と通信可能に接続されている。また、情報処理装置10は、不図示のルータ及びインターネット14を通じて、サーバ12と通信可能に接続されている。
プリンタ11は、種々の種別のシートを載置可能なトレイと、トレイに載置されたシートを搬送して画像をシートに印刷する印刷エンジンと、コントローラと、を備えている。コントローラは、印刷データの入力を受け付け、受け付けた印刷データに基づいて印刷エンジンを駆動する。駆動された印刷エンジンは、印刷データが示す画像をシートに印刷する。シートの種々の種別は、例えば、無地のA4サイズの普通紙や、無地のA5サイズの普通紙や、図2に示されるA4サイズの送り状15などである。送り状15は、特定シートの一例である。
送り状15は、「お届け先」や「ご依頼主」や「品名」や「受付日」などの文字61や、罫線62や枠線63を予め印刷されている。そして、送り状15は、プリンタ11によって「電話番号」が印刷される印刷領域64や、「郵便番号」が印刷される印刷領域64や、「宛先住所」が印刷される印刷領域64や、「宛名」が印刷される印刷領域64や、「バーコード」が印刷される印刷領域64や、「QRコード」(登録商標)が印刷される印刷領域64など、複数の印刷領域64を有する。図2において、印刷領域64は、細線かつ破線で示されている。
各印刷領域64には、プリンタ11によって、「電話番号」等の文字や、「バーコード」や「QRコード」などの図形が印刷される。
送り状15は、ミシン目66を有している。送り状15は、ミシン目で切り離される。切り離された送り状15は、例えば、荷物に貼り付けられ、或いは、荷物に貼り付けられた袋に収められて使用される。
情報処理装置10は、図1に示されるように、コントローラ21と、ディスプレイ41と、ユーザI/F42と、通信I/F43と、を備える。「I/F」は、インタフェースを意味する。
ユーザI/F42は、キーボードやマウスやマイクロフォンなどである。マイクロフォンは、ユーザの声を音声信号に変換してコントローラ21に入力する。ユーザは、ユーザI/F42を通じて情報処理装置10に指示を入力する。
コントローラ21は、CPU22と、メモリ23と、バス24とを備える。CPU22は、後述のOS27や標準プリンタドライバ28やスペシャルプリンタドライバ29などのプログラムに記述された命令を実行することにより、当該プログラムを実行する。CPU22は、コンピュータの一例である。
CPU22、メモリ23、ディスプレイ41、ユーザI/F42、及び通信I/F43は、バス24と接続されている。すなわち、CPU22によって実行されるプログラムは、メモリ23から情報やデータを取得し、メモリ23に情報やデータを記憶させ、ディスプレイ41に画像を表示させ、ユーザI/F42を通じてユーザ入力を受け付け、通信I/F43を通じて情報やデータをプリンタ11やサーバ12に送信或いは受信することができる。
メモリ23は、種々のプログラムを記憶するプログラム記憶領域25と、情報やデータを記憶するデータ記憶領域26と、を有する。メモリ23は、例えば、ROMや、RAMや、HDDや、USBメモリなどの可搬記憶媒体や、EEPROMや、CPU22が備えるバッファ等である。
メモリ23は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
プログラム記憶領域25は、オペレーティングシステムであるOS27と、標準プリンタドライバ28と、スペシャルプリンタドライバ29と、第1ブラウザ31と、第2ブラウザ32と、アプリケーション33と、を記憶する。スペシャルプリンタドライバ29は、プログラムの一例である。アプリケーション33は、第2アプリケーションの一例である。
標準プリンタドライバ28は、プリンタ11が印刷可能な印刷データを生成するプリンタドライバである。標準プリンタドライバ28は、例えば、印刷設定画面を情報処理装置10のディスプレイ41に表示させる。ユーザは、印刷設定画面において、A4やA5などのシートのサイズや、普通紙や光沢紙などのシートの種別や、カラーやモノクロやなどの色等を選択する。標準プリンタドライバ28は、ユーザの選択に応じた印刷データを生成する。
標準プリンタドライバ28は、プリンタ11の名称を示すプリンタ名を名称としてOS27に登録されている。具体的には、標準プリンタドライバ28は、プリンタ名「MFP−A」を名称として、プリンタ11の種別を示すモデル名、及び、プリンタ11に対してOS27が設定したポートを示すポート名と対応付けてメモリ23に記憶されている。
スペシャルプリンタドライバ29は、プリンタ11が特定種別のシートに印刷可能な印刷データを生成するプリンタドライバである。特定種別のシートは、例えば、送り状15である。ユーザは、送り状15など、特定種別のシートに画像を印刷する場合、標準プリンタドライバ28ではなく、スペシャルプリンタドライバ29を選択する。スペシャルプリンタドライバ29は、特定種別のシートに対応する印刷設定を予め有する。したがって、ユーザは、スペシャルプリンタドライバ29を選択することにより、種々の印刷設定を入力する手間を省くことができる。
スペシャルプリンタドライバ29は、プリンタ11の名称を示すプリンタ名及びシートの種別を示す送り状名を名称としてOS27に登録されている。具体的には、スペシャルプリンタドライバ29は、プリンタ名「MFP−A」と、送り状名「第1事業者A4」とを組み合わせた「第1事業者A4MFP−A」を名称として、プリンタ11の種別を示すモデル名、及び、プリンタ11に対してOS27が設定したポートを示すポート名と対応付けてメモリ23に記憶されている。送り状名は、シート種別情報の一例である。モデル名は、プリンタ情報の一例である。
詳しく説明すると、スペシャルプリンタドライバ29をOS27に対して登録する不図示のセットアッププログラムは、図4(A)に示される送り状名選択画面をディスプレイ41に表示させる。送り状名選択画面は、送り状名を選択するプルダウンメニューと、「OK」アイコンと、「キャンセル」アイコンと、を有する。ユーザは、プルダウンメニューから一の送り状名を選択した後、「OK」アイコンを選択する。セットアッププログラムは、送り状名選択画面においてユーザが選択した送り状名と、プリンタ名とを組み合わせた「第1事業者A4MFP−A」の名称をポート名と対応付けてメモリ23に記憶させ、スペシャルプリンタドライバ29をOS27に対して登録する。
OS27は、後述のアプリケーション33などから印刷指示を受け付けると、プリンタドライバの名称の一覧をディスプレイ41に表示させる。すなわち、ディスプレイ41には、メモリ23に記憶された「第1事業者A4MFP−A」の名称が表示される。ユーザは、プリンタ名「MFP−A」のプリンタ11に対して、「第1事業者A4」の送り状15に画像を印刷させる場合、「第1事業者A4MFP−A」の名称でディスプレイ41に表示されたスペシャルプリンタドライバ29を選択する。
スペシャルプリンタドライバ29は、画像データから印刷データを生成するプログラムであり、印刷データを生成するための描画プログラムを有する。描画プログラムは、例えば、Canvasである。
スペシャルプリンタドライバ29は、画像データから印刷データを生成する際に、印刷される画像の配置位置を補正するため、図3(A)に示される補正テーブルを有する。詳しく説明すると、後述のアプリケーション33やWEBアプリケーション56など、アプリケーションの種別によって、また、WEBアプリケーション56が画像データを生成する際に用いられたブラウザの種類によって、画像データが示す画像の送り状15に対する配置位置が変わることがある。すなわち、アプリケーションの種別やブラウザの種別によって、文字やバーコード等の個別画像65の配置位置が、適正な配置である印刷領域64(図2)から外れることがある。文字やバーコード等の個別画像65の配置位置が印刷領域64から外れると、プリンタ11が印刷する文字やバーコードなどの個別画像65が、送り状15に予め印刷されていた文字61や罫線62や枠線63に重なり、或いは、ミシン目66に重なるおそれが生じる。そうすると、プリンタ11が印刷する文字を判読できなくなるおそれや、バーコードやQRコードを読取装置が読み取れなくなるおそれが生じる。補正テーブルは、文字やバーコードなどの画像の配置位置を、印刷領域64内の適切な配置位置に移動させる補正に用いられる。
具体的には、補正テーブルは、送り状名、アプリケーション種別、及びブラウザ種別と、補正量及び変更補正量と、を対応付けるテーブルである。送り状名と、アプリケーション種別と、ブラウザ種別と、補正量とは、補正テーブルに予め登録されている。変更補正量は、スペシャルプリンタドライバ29がOS27に登録された後、ユーザI/F42を用いてユーザが情報処理装置10に入力した入力値に応じて、補正テーブルに登録される。なお、補正テーブルは、上述のセットアッププログラムがスペシャルプリンタドライバ29をOS27に登録する際に、当該セットアッププログラムによって、OS27に登録されてもよい。
項目「送り状名」は、送り状15の種別を示す。図示例では、項目「送り状名」は、「第1運送事業者A4」、「第1運送事業者A5」、「第2運送事業者A4」、「第2運送事業者A5」である。例えば、「第1運送事業者A4」は、第1運送事業者が提供する送り状15であって、かつ、A4サイズの送り状15を示す。「第1運送事業者A5」、「第2運送事業者A4」、「第2運送事業者A5」についても同様である。補正テーブルにおいて項目「送り状名」が設けられるのは、スペシャルプリンタドライバ29が、上述したように、複数種別の送り状名に対してセットアップ可能であるからである。スペシャルプリンタドライバ29が、特定の一の種別の送り状名に対してのみセットアップされる仕様である場合、項目「送り状名」は、補正テーブルに設けられなくてもよい。
アプリケーション種別は、アプリケーションの種別を示す情報であり、後述するステップS33において、送り状15に印刷される画像を示す画像データを生成したアプリケーションの種別と比較される。図示例では、項目「アプリケーション種別」は、「デスクトップ版」と「WEB版」との2種類である。「デスクトップ版」は、情報処理装置10が実装するアプリケーション33を示す。「WEB版」は、サーバ12が実装するWEBアプリケーション56を示す。「デスクトップ版」は、第2種別の一例である。「WEB版」は、第1種別の一例である。
ブラウザ種別は、ブラウザの種別を示す情報であり、後述するステップS35において、送り状15に印刷される画像を示す画像データを生成したアプリケーションが利用したブラウザの種別と比較される。図示例では、項目「ブラウザ種別」は、「第1ブラウザ」と「第2ブラウザ」との2種類である。「第1ブラウザ」は、第1ブラウザ31を示す。「第2ブラウザ」は、第2ブラウザ32を示す。
補正量は、送り状15に印刷される画像の位置の補正に用いられる値である。補正量は、x方向の補正量であるx補正量と、y方向の補正量であるy補正量とを含む。x方向は、送り状15の幅方向であって、図2における左右方向を意味する。y方向は、送り状15の縦方向であって、図2における上下方向を意味する。
変更補正量は、送り状15に印刷される画像の位置の補正の用いられる値である。変更補正量は、補正テーブルに予め登録された補正量では画像が適正な位置に印刷されない場合に、ユーザによって情報処理装置10に入力される。変更補正量は、x方向の変更補正量であるx変更補正量と、y方向の変更補正量であるy変更補正量とを含む。
アプリケーション種別が「WEB版」であり、かつ、ブラウザ種別が「第1ブラウザ」である場合の補正量は、第1補正量である。アプリケーション種別が「WEB版」であり、かつ、ブラウザ種別が「第2ブラウザ」である場合の補正量は、第2補正量である。アプリケーション種別が「デスクトップ版」である場合の補正量は、第3補正量である。第1補正量、第2補正量、及び第3補正量は、例えば、画像データが示す画像を送り状15に実際に印刷し、印刷結果に基づいて、スペシャルプリンタドライバ29の開発者によって決定される。
スペシャルプリンタドライバ29の開発者は、アプリケーション種別が「デスクトップ版」である場合の画像の配置位置を基準として第1補正量、第2補正量、及び第3補正量を決めている。すなわち、アプリケーション種別が「デスクトップ版」である場合の補正量である第3補正量は、(0,0)である。
スペシャルプリンタドライバ29は、補正テーブルにおいて、「送り状名」、「アプリケーション種別」、及び「ブラウザ種別」と対応する補正量或いは変更補正量を選択する。詳しくは後述する。
第1ブラウザ31と、第2ブラウザ32とは、互いに異なる種別のブラウザである。第1ブラウザ31及び第2ブラウザ32は、例えば、Internet Explorer(登録商標)や、Microsoft Edge(登録商標)やGoogle Chrome(登録商標)やSafari(登録商標)やFirefox(登録商標)やOpera(登録商標)などである。
第1ブラウザ31及び第2ブラウザ32は、HTTPなどの通信プロトコルに準拠したHTTPリクエストを通信I/F43を通じてサーバ12に送信し、サーバ12が返信したHTTPレスポンスを通信I/F43を通じて受信する機能を有する。
また、第1ブラウザ31及び第2ブラウザ32は、ディスプレイ41に表示させる画像を示す画像データを生成する機能を有する。後述するWEBアプリケーション56のプラグインプログラムは、第1ブラウザ31や第2ブラウザ32の表示用の画像データを生成する機能を用いて、スペシャルプリンタドライバ29に入力する画像データを生成する。WEBアプリケーション56のプラグインプログラムが生成する画像データは、利用するブラウザの種別によって、画像データが示す画像の配置位置が異なることがある。スペシャルプリンタドライバ29は、ブラウザの種別に応じて、送り状15に印刷される画像の配置位置を補正する。詳しくは後述する。なお、以下では、第1ブラウザ31及び第2ブラウザ32を区別しない場合は、単に「ブラウザ」と記載して説明する。
アプリケーション33は、送り状15に印刷する「宛先住所」や「宛名」や「依頼主名」などを示す文字や、バーコードや、QRコードなどの画像を示す画像データを生成するプログラムである。アプリケーション33は、例えば、送り状15を提供する運送事業者によってユーザに提供される。
アプリケーション33は、例えば、送り状15に印刷する文字等(以下、入力文字等とも記載する)の入力を受け付ける入力画面をディスプレイ41に表示させる。アプリケーション33は、入力された入力文字等を用いて、送り状15に印刷される画像を示す画像データを生成する。アプリケーション33は、生成した画像データが示す画像の印刷をOS27に対して指示する。当該指示を受けたOS27は、登録されたプリンタドライバの名称の一覧をディスプレイ41に表示させ、プリンタドライバの名称の選択を受け付ける。OS27は、ユーザがスペシャルプリンタドライバ29の名称を選択したことに応じて、スペシャルプリンタドライバ29を起動させる。起動されたスペシャルプリンタドライバ29は、アプリケーション33から画像データを取得し、取得した画像データに基づいて、印刷データを生成する。
サーバ12は、いわゆるWEBサーバであって、情報処理装置10にWEBページを提供するサーバである。具体的には、サーバ12は、情報処理装置10が送信したHTTPリクエストを受信したことに応じて、HTMLやXHTMLなどで記述されたWEBページを含むHTTPレスポンスを情報処理装置10に返信する。
サーバ12は、CPU51、メモリ52、通信I/F53、及びバス54を備える。CPU51、メモリ52、通信I/F53、及びバス54の構成は、情報処理装置10のCPU22、メモリ23、通信I/F43、及びバス24の構成と同じである。
メモリ52は、オペレーティングシステムであるOS55と、WEBアプリケーション56と、を記憶する。WEBアプリケーション56は、アプリケーション33と同様に、送り状15に印刷する「宛先住所」や「宛名」や「依頼主名」などを示す文字や、バーコードや、QRコードなどの画像を示す画像データを生成するプログラムである。WEBアプリケーション56は、第1アプリケーションの一例である。
WEBアプリケーション56について詳しく説明する。ブラウザは、ユーザI/F42を通じて、WEBアプリケーション56を示すURLの入力を受け付けると、受け付けたURLが示す宛先へのHTTPリクエストをインターネット14に対して送信する。送信されたHTTPリクエストは、通信I/F53を通じて、サーバ12のOS55によって受信される。サーバ12のOS55は、受信したHTTPリクエストをWEBアプリケーション56に受け渡す。WEBアプリケーション56は、受け渡されたHTTPリクエストに対する返信データをサーバ12のOS55に受け渡す。サーバ12のOS55は、WEBアプリケーション56から受け渡された返信データを含むHTTPレスポンスを、通信I/F53及びインターネット14を通じて情報処理装置10に返信する。
返信データは、WEBページを示すWEBページデータを含む。返信データを受信した情報処理装置10のブラウザは、返信データに含まれるWEBページデータが示すWEBページをディスプレイ41に表示させる。ユーザは、ディスプレイ41に表示されたウェブページに表示された文字などにしたがって、入力文字等を、ユーザI/F42を用いて入力する。そして、ブラウザは、ユーザの指示にしたがって、入力文字等を含むHTTPリクエストを、通信I/F43及びインターネット14を通じてサーバ12に送信する。WEBアプリケーション56は、上述と同様にして、OS55を通じてHTTPリクエストを取得し、取得したHTTPリクエストに含まれる入力文字等を取得し、取得した入力文字等を用いて、送り状15に印刷される画像を示す画像データ、或いは、当該画像データをブラウザが生成するための元データを生成する。生成する画像データ或いは元データは、HTMLやXHTMLやJPGやPNGやその他のデータ形式で記述される。
WEBアプリケーション56は、生成した画像データ或いは元データを含むHTTPレスポンスを情報処理装置10に返信することをOS55に指示する。当該指示を受け付けたOS55は、WEBアプリケーション56から受け渡されたHTTPレスポンスを、通信I/F53及びインターネット14を通じて情報処理装置10に送信する。情報処理装置10のブラウザは、HTTPレスポンスに含まれる画像データ或いは元データを取得する。そして、ブラウザは、ユーザI/F42を用いて入力されたユーザの指示にしたがって、取得した画像データの印刷、或いは、元データから生成した画像データの印刷をOS27に対して指示する。当該指示を受けたOS27は、登録されたプリンタドライバの名称の一覧をディスプレイ41に表示させ、プリンタドライバの名称の選択を受け付ける。OS27は、ユーザがスペシャルプリンタドライバ29の名称を選択したことに応じて、スペシャルプリンタドライバ29を起動させる。起動されたスペシャルプリンタドライバ29は、ブラウザから画像データを取得し、取得した画像データに基づいて、印刷データを生成する。
或いは、サーバ12が情報処理装置10に対して返信する上述の返信データは、ブラウザ上で動作するプラグインプログラムを含む。情報処理装置10は、返信データに含まれるプラグインプログラムをメモリ23に記憶させる。メモリ23に記憶されたプラグインプログラムは、入力文字等を入力する入力画面をディスプレイ41に表示させることをブラウザに指示する。そして、プラグインプログラムは、ユーザがユーザI/F42を用いて入力した入力文字等を取得する。プラグインプログラムは、取得した入力文字等を用いて、送り状に印刷される画像を示す画像データを生成することをブラウザに指示する。そして、プラグインプログラムは、生成した画像データの印刷を、ブラウザを通じてOS27に対して指示する。当該指示を受けたOS27は、登録されたプリンタドライバの名称の一覧をディスプレイ41に表示させ、プリンタドライバの名称の選択を受け付ける。OS27は、ユーザがスペシャルプリンタドライバ29の名称を選択したことに応じて、スペシャルプリンタドライバ29を起動させる。起動されたスペシャルプリンタドライバ29は、ブラウザから画像データを取得し、取得した画像データに基づいて、印刷データを生成する。
なお、WEBアプリケーション56は、HTTPリクエストを生成したブラウザの種別に応じたHTTPレスポンスを生成してもよいし、ブラウザの種別に拘わらずHTTPレスポンスを生成してもよい。例えば、WEBアプリケーション56は、HTTPリクエストを生成したブラウザが第1ブラウザ31であることに応じて、画像データ或いは元データを含むHTTPレスポンスを生成し、HTTPリクエストを生成したブラウザが第2ブラウザ32であることに応じて、プラグインプログラムを含むHTTPレスポンスを生成する。或いは、WEBアプリケーション56は、HTTPリクエストを生成したブラウザの種別に応じた仕様で画像データや元データを生成し、生成した画像データや元データを含むHTTPレスポンスを生成してもよい。さらに或いは、WEBアプリケーション56は、HTTPリクエストを生成したブラウザの種別に応じた仕様のプラグインプログラムを含むHTTPレスポンスを生成してもよい。
上述のように、送り状15に印刷される画像を示す画像データは、情報処理装置10が実装するアプリケーション33によって生成され、或いは、WEBアプリケーション56によって生成され、或いは、第1ブラウザ31を通じてWEBアプリケーション56によって生成され、さらに或いは、第2ブラウザ32を通じてWEBアプリケーション56によって生成される。画像データが示す画像の配置位置は、画像データがアプリケーション33によって生成されたか、或いは、画像データがWEBアプリケーション56によって生成されたかによって変化する。また、画像データがWEBアプリケーション56によって生成された場合であっても、画像データが示す画像の配置位置は、画像データが第1ブラウザ31を通じて生成されたか、或いは第2ブラウザ32を通じて生成されたかによって変化する。
スペシャルプリンタドライバ29は、取得した画像データがどのようにして生成されたかを判断し、判断に応じた補正量で画像データが示す画像の送り状15における配置位置を補正し、補正した配置位置で印刷データを生成する。以下、詳しく説明する。なお、以下では、WEBアプリケーション56がプラグインプログラムを用いて画像データを生成する場合について説明する。
本明細書では、基本的に、プログラムに記述された命令に従ったCPU22の処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPU22の処理を表している。CPU22による処理は、OS27を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU22が要求することなくデータを受信するという処理も、「CPU22がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
また、プログラムに記述された命令に従ったCPU22の処理を、省略した文言で記載することがある。例えば、「CPU22が行う」「コントローラ21が行う」「プログラムが行う」のように記載することがある。
また、CPU22による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU22による、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
図5に示されるように、スペシャルプリンタドライバ29は、WEBアプリケーション56或いはアプリケーション33から、画像データを含む印刷ジョブを取得する(S14、S17)。
まず、スペシャルプリンタドライバ29が、WEBアプリケーション56から印刷ジョブを取得する場合について説明する。WEBアプリケーション56は、プラグインプログラムを含むHTTPレスポンスを通信I/F53を通じて情報処理装置10に返信することをOS55に指示することにより、情報処理装置10にプラグインプログラムを提供する(S11)。プラグインプログラムは、ブラウザ及びユーザI/F42を通じて、上述の入力文字等を受け付ける(S12)。プラグインプログラムは、受け付けた入力文字等を用いて、かつ、ブラウザの機能を用いて、画像データを生成する(S13)。なお、プラグインプログラムが用いたブラウザは、第1ブラウザ31或いは第2ブラウザである。
フローチャートには示されていないが、プラグインプログラムは、ユーザI/F42を通じてユーザの印刷指示を受け付けたことに応じて、生成した画像データを印刷することをOS27に指示する。当該指示を受け付けたOS27は、登録されたプリンタドライバの名称の一覧をディスプレイ41に表示させ、プリンタドライバの名称の選択を、ユーザI/F42を通じて受け付ける。OS27は、ユーザがスペシャルプリンタドライバ29の名称を選択したことに応じて、スペシャルプリンタドライバ29を起動させる。
起動されたスペシャルプリンタドライバ29は、プラグインプログラムが生成した画像データを含む印刷ジョブを、ブラウザ及びOS27を介して取得する(S14)。ステップS14で取得した印刷ジョブは、ジョブネームを有する。ジョブネームは、アプリケーションの種別及びブラウザの種別を示す文字列を含んでいる。すなわち、ジョブネームは、印刷ジョブに含まれる画像データがWEBアプリケーション56によって生成されたことを示す第1情報、印刷ジョブに含まれる画像データが第1ブラウザ31によって生成されたことを示す第3情報、或いは、印刷ジョブに含まれる画像データが第2ブラウザ32によって生成されたことを示す第4情報を含む。ステップS14の処理は、取得処理の一例である。
次に、スペシャルプリンタドライバ29が、アプリケーション33から印刷ジョブを取得する場合について説明する。
アプリケーション33は、ユーザI/F42を通じて、上述の入力文字等を受け付ける(S15)。アプリケーション33は、受け付けた入力文字等を用いて画像データを生成する(S16)。
フローチャートには示されていないが、アプリケーション33は、ユーザI/F42を通じてユーザの印刷指示を受け付けたことに応じて、生成した画像データを印刷することをOS27に指示する。当該指示を受け付けたOS27は、登録されたプリンタドライバの名称の一覧をディスプレイ41に表示させ、プリンタドライバの名称の選択を、ユーザI/F42を通じて受け付ける。OS27は、ユーザがスペシャルプリンタドライバ29の名称を選択したことに応じて、スペシャルプリンタドライバ29を起動させる。
起動されたスペシャルプリンタドライバ29は、アプリケーション33が生成した画像データを含む印刷ジョブを、OS27を介して取得する(S17)。ステップS17で取得した印刷ジョブは、ジョブネームを有する。ジョブネームは、印刷ジョブに含まれる画像データがアプリケーション33によって生成されたことを示す文字列を含む。すなわち、ジョブネームは、印刷ジョブに含まれる画像データがアプリケーション33によって生成されたことを示す第2情報を含む。ステップS17の処理は、取得処理の一例である。
印刷ジョブを取得したスペシャルプリンタドライバ29は、補正種別を受け付ける(S18)。具体的には、スペシャルプリンタドライバ29は、補正種別の選択を受け付ける補正種別選択画面をディスプレイ41に表示させる。補正種別選択画面は、図4(C)に示すように、「自動調整を行いますか」の文字と、「はい」アイコン及び「いいえ」アイコンと、を有する。スペシャルプリンタドライバ29は、ユーザが「はい」アイコンを選択したことに応じて(S18:自動補正)、ステップS19、S20の処理をスキップしてステップS21の印刷データ生成処理を実行する。なお、ステップS19、S20の処理については、後述する。
ステップS21の印刷データ生成処理は、印刷ジョブに含まれる画像データ、及び補正テーブルに登録された補正量に基づいて印刷データを生成する処理である。図6を参照して詳しく説明する。なお、図6において破線で示されたステップS32、S44、S45、S46の処理については、第3実施形態において説明する。
スペシャルプリンタドライバ29は、送り状名、アプリケーション種別、及びブラウザ種別を特定する(S31)。具体的には、スペシャルプリンタドライバ29は、自己の名称「第1事業者A4MFP−A」に含まれる送り状名「第1事業者A4」を送り状名として特定する。また、スペシャルプリンタドライバ29は、取得した印刷ジョブに含まれるジョブネームからアプリケーション種別及びブラウザ種別を特定する。
スペシャルプリンタドライバ29は、特定したアプリケーション種別に基づいて、画像データの種別が、第1画像データであるか、第2画像データであるかを判断する(S33)。第1画像データは、WEBアプリケーション56が生成した画像データを意味する。第2画像データは、アプリケーション33が生成した画像データを意味する。ステップS33の処理は、判断処理の一例である。
スペシャルプリンタドライバ29は、ステップS33において、画像データの種別が第2画像データであると判断すると(S33:第2画像データ)、補正量を第3補正量(0,0)に決定する(S34)。具体的には、スペシャルプリンタドライバ29は、取得した送り状名及びアプリケーション種別(デスクトップ版)と対応する補正量である第3補正量(0,0)を補正テーブル(図3(A))から選択する。
一方、スペシャルプリンタドライバ29は、ステップS33において、画像データの種別が第1画像データであると判断すると(S33:第1画像データ)、画像データの生成に用いられたブラウザが第1ブラウザ31であるか第2ブラウザ32であるかを判断する(S35)。具体的には、スペシャルプリンタドライバ29は、ステップS31で特定したブラウザ種別に基づいて、画像データの生成に用いられたブラウザが第1ブラウザ31であるか第2ブラウザ32であるかを判断する。ステップS35の処理は、ブラウザ判断処理の一例である。
スペシャルプリンタドライバ29は、画像データの生成に用いられたブラウザが第1ブラウザ31であると判断すると(S35:第1ブラウザ)、対応する変更補正量が補正テーブルに登録されているか否かを判断する(S36)。対応する変更補正量とは、ステップS31で取得した送り状名、アプリケーション種別(WEB版)、及びブラウザ種別(第1ブラウザ)と対応付けられた変更補正量を意味する。
スペシャルプリンタドライバ29は、対応する変更補正量がないと判断すると(S36:No)、補正量を第1補正量に決定する(S37)。具体的には、取得した送り状名が第1事業者A4である場合、スペシャルプリンタドライバ29は、アプリケーション種別(WEB版)及びブラウザ種別(第1ブラウザ)と対応する補正量である第1補正量(a1,b1)を補正テーブル(図3(A))から選択する。
スペシャルプリンタドライバ29は、ステップS36において、対応する変更補正量があると判断すると(S36:Yes)、補正量を変更第1補正量に決定する(S38)。具体的には、取得した送り状名が第1事業者A5である場合、スペシャルプリンタドライバ29は、アプリケーション種別(WEB版)及びブラウザ種別(第1ブラウザ)と対応する変更補正量である変更第1補正量を補正テーブル(図3(A))から選択する。
スペシャルプリンタドライバ29は、ステップS35において、画像データの生成に用いられたブラウザが第2ブラウザ32であると判断すると(S35:第2ブラウザ)、上述と同様にして、対応する変更補正量が補正テーブルに登録されているか否かを判断する(S39)。ステップS36、S39の処理は、変更量判断処理の一例である。
スペシャルプリンタドライバ29は、対応する変更補正量がないと判断すると(S39:No)、補正量を第2補正量に決定する(S40)。具体的には、取得した送り状名が第1事業者A4である場合、スペシャルプリンタドライバ29は、アプリケーション種別(WEB版)及びブラウザ種別(第2ブラウザ)と対応する補正量である第2補正量(a2,b2)を補正テーブル(図3(A))から選択して決定する。
スペシャルプリンタドライバ29は、ステップS39において、対応する変更補正量があると判断すると(S39:Yes)、補正量を変更第2補正量に決定する(S41)。具体的には、取得した送り状名が第1事業者A4である場合、スペシャルプリンタドライバ29は、アプリケーション種別(WEB版)及びブラウザ種別(第2ブラウザ)と対応する変更補正量である変更第2補正量(a2a,b2a)を補正テーブル(図3(A))から選択する。
スペシャルプリンタドライバ29は、ステップS34、S37、S38、S40、S41で決定した補正量を反映した印刷データを生成する(S42、S43)。印刷データへの補正量の反映は、以下に説明する種々の方法によって行うことができる。
まず、スペシャルプリンタドライバ29が取得した画像データがベクタ形式である場合を説明する。ベクタ形式の画像データは、ベクタコマンドを有する。スペシャルプリンタドライバ29は、決定した補正量を反映したコマンドとなるよう、ベクタコマンドを修正する(S42)。例えば、決定した補正量を反映した座標を指定するよう、ベクタコマンドを修正する。そして、スペシャルプリンタドライバ29は、修正したベクタコマンドを有する画像データをラスタ形式に変換する。スペシャルプリンタドライバ29は、変換によって得られたラスタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、ベクタ形式の画像データをラスタ形式に変換する際に、決定した補正量を反映してラスタ形式に変換する(S42)。スペシャルプリンタドライバ29は、変換によって得られたラスタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、ベクタ形式の画像データをラスタ形式に変換し、変換によって得られたラスタ形式の画像データを、決定した補正量を反映して修正する(S42)。そして、スペシャルプリンタドライバ29は、修正したラスタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、ベクタ形式の画像データをラスタ形式に変換する。そして、スペシャルプリンタドライバ29は、プリンタ11に入力するコマンドであって、シートに対する印刷位置などを指定するコマンドを、決定した補正量を反映して生成する(S42)。スペシャルプリンタドライバ29は、変換によって得られたラスタ形式の画像データに、補正量を反映して生成したコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、決定した補正量を反映したコマンドとなるよう、ベクタコマンドを修正する(S42)。そして、スペシャルプリンタドライバ29は、修正したベクタコマンドを有するベクタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、決定した補正量を反映したコマンドとなるよう、ベクタコマンドを修正する(S42)。そして、スペシャルプリンタドライバ29は、修正したベクタコマンドを有するベクタ形式の画像データを、他のベクタ形式の画像データに変換する。スペシャルプリンタドライバ29は、変換したベクタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、プリンタ11に入力するコマンドであって、シートに対する印刷位置などを指定するコマンドを、決定した補正量を反映して生成する(S42)。スペシャルプリンタドライバ29は、ベクタ形式の画像データに、補正量を反映して生成したコマンドを組み込んで、印刷データを生成する(S43)。
或いは、上述した種々の方法を組み合わせて、補正量を反映した印刷データを生成してもよい。例えば、スペシャルプリンタドライバ29は、決定した補正量の一部を反映させてベクタコマンドを修正し、修正したベクタコマンドを有するベクタ形式の画像データをラスタ形式の画像データに変換し、変換によって得られたラスタ形式の画像データを、決定した補正量の残りを反映させて修正する。
次に、スペシャルプリンタドライバ29が取得した画像データがラスタ形式である場合を説明する。スペシャルプリンタドライバ29は、ラスタ形式の画像データを、決定した補正量を反映して修正する(S42)。そして、スペシャルプリンタドライバ29は、修正したラスタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、プリンタ11に入力するコマンドであって、シートに対する印刷位置などを指定するコマンドを、決定した補正量を反映して生成する(S42)。スペシャルプリンタドライバ29は、ラスタ形式の画像データに、補正量を反映して生成したコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、ラスタ形式の画像データを、決定した補正量を反映して修正する(S42)。そして、スペシャルプリンタドライバ29は、修正したラスタ形式の画像データを、他のラスタ形式に変換する。スペシャルプリンタドライバ29は、変換して得られたラスタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、ラスタ形式の画像データを、他のラスタ形式の画像データに変換する。そして、スペシャルプリンタドライバ29は、変換した他のラスタ形式の画像データを、決定した補正量を反映して修正する(S42)。スペシャルプリンタドライバ29は、修正したラスタ形式の画像データに、プリンタ11に印刷の実行等を指示するコマンドを組み込んで、印刷データを生成する(S43)。
或いは、スペシャルプリンタドライバ29は、プリンタ11に入力するコマンドであって、シートに対する印刷位置などを指定するコマンドを、決定した補正量を反映して生成する(S42)。スペシャルプリンタドライバ29は、ラスタ形式の画像データに、補正量を反映して生成したコマンドを組み込んで、印刷データを生成する(S43)。
或いは、上述した種々の方法を組み合わせて、補正量を反映した印刷データを生成してもよい。例えば、スペシャルプリンタドライバ29は、決定した補正量の一部を反映させてラスタ形式の画像データを修正し、修正したラスタ形式の画像データを他のラスタ形式の画像データに変換し、変換によって得られたラスタ形式の画像データを、決定した補正量の残りを反映させて修正する。
ステップS43の処理は、生成処理の一例である。第3補正量を反映して印刷データを生成するステップS43の処理は、第2生成処理の一例である。第1補正量或いは第2補正量を反映して印刷データを生成するステップS43の処理は、第1生成処理の一例である。
スペシャルプリンタドライバ29は、図5に示されるように、ステップS21の印刷データ生成処理の実行後、図4(B)に示される印刷画面をディスプレイ41に表示させる(S22)。印刷画面は、「プリンタモデル名:MFP−A」の文字と、「送り状名:第1運送事業者A4」の文字と、「印刷」アイコンと、「キャンセル」アイコンと、を有する。
スペシャルプリンタドライバ29は、印刷画面において、「印刷」アイコンが選択されたことに応じて、図5に示されるように、生成した印刷データをプリンタ11に送信する指示を、OS27に対して行う。当該指示を受け付けたOS27は、スペシャルプリンタドライバ29が生成した印刷データを、通信I/F43を通じてプリンタ11に送信する(S23)。
プリンタ11は、通信回線13を通じて印刷データを受信する。プリンタ11は、受信した印刷データが示す画像を、トレイに載置された送り状15に印刷する。
ユーザは、送り状15に印刷された画像の配置位置を手動で調整したい場合、ステップS18においてスペシャルプリンタドライバ29がディスプレイ41に表示させた補正種別選択画面(図3(C))において、「いいえ」アイコンを選択する。スペシャルプリンタドライバ29は、補正種別選択画面において、「いいえ」アイコンが選択されたことに応じて、変更補正量の入力を受け付ける変更補正量入力画面をディスプレイ41に表示させる。そして、スペシャルプリンタドライバ29は、変更補正量の入力を受け付ける(S19)。スペシャルプリンタドライバ29は、受け付けた変更補正量を補正テーブル(図3(A))に登録する(S20)。そして、スペシャルプリンタドライバ29は、変更補正量を反映して、上述と同様にして印刷データを生成する。ステップS20の処理は、補正量変更処理及び記憶処理の一例である。
[第1実施形態の作用効果]
スペシャルプリンタドライバ29は、アプリケーション33が生成した画像データを取得したことに応じて、第3補正量(0,0)を補正量に決定し、WEBアプリケーション56が生成した画像データを取得したことに応じて、第1補正量或いは第2補正量を補正量に決定する。第1補正量及び第2補正量は、第3補正量(0,0)を基準にした補正量である。すなわち、第1補正量及び第2補正量は、第3補正量に対して所定の量だけ相違する。そして、第1補正量、第2補正量、及び第3補正量のうちから補正量が決定され、決定された補正量を反映して、画像データが示す画像の配置位置が補正される。したがって、画像データを生成したアプリケーションが、アプリケーション33であっても、WEBアプリケーション56であっても、文字やバーコードなどの個別画像65が、印刷領域64内の適切な配置位置に移動されて印刷される。その結果、スペシャルプリンタドライバ29は、プリンタ11が印刷する文字をユーザに確実に判読させることができ、また、プリンタ11が印刷するバーコードやQRコードを読取装置に確実に読み取らせることができる。
また、本実施形態では、補正量は、アプリケーションの種別が「デスクトップ版」である場合の画像の配置位置を基準として決められており、第3補正量は、(0,0)である。したがって、アプリケーションの種別がアプリケーション33である場合、画像データが示す画像を移動させる処理が不要となる。その結果、アプリケーションの種別がアプリケーション33である場合において、スペシャルプリンタドライバ29は、印刷データの生成に要する時間を短くすることができる。
また、本実施形態では、スペシャルプリンタドライバ29は、第1ブラウザ31を通じて第1画像データを取得したことに応じて、第1画像データが示す画像の配置位置を、第1補正量を反映して補正し、第2ブラウザ32を通じて第1画像データを取得したことに応じて、第1画像データが示す画像の配置位置を、第2補正量を反映して補正する。したがって、WEBアプリケーション56が画像データを生成する際に使用したブラウザの種類に拘わらず、文字やバーコードなどの画像を適切な配置位置で印刷することができる。
また、本実施形態では、スペシャルプリンタドライバ29は、補正テーブルに登録された補正量を反映して、画像の配置位置を補正することもできるし、ユーザが入力した補正量である変更補正量を反映して、画像の配置位置を補正することもできる。したがって、スペシャルプリンタドライバ29は、ユーザの選択の幅を広げることができる。
また、本実施形態では、スペシャルプリンタドライバ29は、ユーザが入力した変更補正量を補正テーブルに登録し、変更補正量が補正テーブルに登録されていることに応じて、変更補正量を反映して画像の配置位置を補正する。したがって、スペシャルプリンタドライバ29は、印刷のたびに変更補正量を入力するユーザの手間を省くことができる。
[第2実施形態]
本実施形態では、スペシャルプリンタドライバ29が、図3(A)に示される補正テーブルに代えて、図7(A)に示される適正配置テーブルを有する例を説明する。適正配置テーブルは、画像データが示す画像の送り状15における適正な配置位置を示すテーブルである。スペシャルプリンタドライバ29は、取得した画像データが示す画像の配置位置を特定し、特定した配置位置を、適正配置テーブルに示された適正配置位置に移動させる補正を行って、印刷データを生成する。以下、詳しく説明する。
以下で説明する情報処理装置10、プリンタ11、及びサーバ12の構成は、第1実施形態と同じである。また、アプリケーション33やWEBアプリケーション56の構成も、第1実施形態と同じである。そして、スペシャルプリンタドライバ29の構成は、補正テーブルに代えて適正配置テーブルを有すること以外は、第1実施形態で説明したスペシャルプリンタドライバ29の構成と同じである。
適正配置テーブルは、送り状名、アプリケーション種別、及びブラウザ種別と、適正配置位置及び変更適正配置位置との対応を示すテーブルである。なお、適正配置テーブルに示された項目「適正サイズ」については、変形例5において説明する。
送り状名、アプリケーション種別、及びブラウザ種別は、第1実施形態の送り状名、アプリケーション種別、及びブラウザ種別と同じである。
適正配置位置は、画像データが示す画像の適正な配置位置を示す。適正配置位置は、例えば、x方向の座標位置と、y方向の座標位置とで表される。座標位置の原点(0,0)は、例えば、図8(A)に示されるように、送り状15の左上の位置である。
「デスクトップ版」のアプリケーション種別に対して、「第3適正配置位置」が対応付けられている。また、「WEB版」のアプリケーション種別、かつ「第1ブラウザ」のブラウザ種別に対して、「第1適正配置位置」が対応付けられている。そして、「WEB版」のアプリケーション種別、かつ「第2ブラウザ」のブラウザ種別に対して、「第2適正配置位置」が対応付けられている。アプリケーション種別やブラウザ種別ごとに異なる適正配置位置が設けられるのは、アプリケーション種別やブラウザ種別が相違すると、画像の配置位置だけでなく、フォントや文字サイズなども相違することがあるからである。フォントや文字サイズが変わると、送り状15に対する適正な配置位置も変える必要が生じる。なお、第1適正配置位置と、第2適正配置位置と、第3適正配置位置とのうち、いずれか2つの適正配置位置、或いは全ての適正配置位置が同一の配置位置とされてもよい。
スペシャルプリンタドライバ29は、第1実施形態と同様に、図5に示す処理を実行する。但し、スペシャルプリンタドライバ29は、ステップS21の印刷データ生成処理において、図9に示される印刷データ生成処理を実行する。図9に示される印刷データ生成処理において、図6に示される印刷データ生成処理と同じ処理については、同一の符号を付して説明を省略する。
まず、スペシャルプリンタドライバ29は、第1実施形態と同様にステップS31の処理を実行し、送り状名、アプリケーション種別、及びブラウザ種別を特定する。そして、スペシャルプリンタドライバ29は、ステップS14或いはステップS17で取得した画像データが、WEBアプリケーション56が生成した第1画像データであるか、アプリケーション33が生成した第2画像であるかを判断する(S33)。
スペシャルプリンタドライバ29は、取得した画像データが第2画像データであると判断すると(S33:第2画像データ)、適正配置テーブルに、変更第3適正配置位置が登録されているか否かを判断する(S51)。スペシャルプリンタドライバ29は、変更第3適正配置位置が登録されていると判断すると(S51:Yes)、補正処理に用いる適正配置位置を、適正配置テーブルに登録された変更第3適正配置位置に決定する(S52)。スペシャルプリンタドライバ29は、変更第3適正配置位置が登録されていないと判断すると(S51:No)、補正処理に用いる適正配置位置を、適正配置テーブルに登録された第3適正配置位置に決定する(S53)。
スペシャルプリンタドライバ29は、ステップS33において、取得した画像データが第1画像データであると判断すると(S33:第1画像データ)、ブラウザの種類を判断する(S35)。そして、 スペシャルプリンタドライバ29は、ブラウザの種類が第1ブラウザであると判断すると(S35:第1ブラウザ)、適正配置テーブルに、変更第1適正配置位置が登録されているか否かを判断する(S54)。スペシャルプリンタドライバ29は、変更第1適正配置位置が登録されていると判断すると(S54:Yes)、補正処理に用いる適正配置位置を、適正配置テーブルに登録された変更第1適正配置位置に決定する(S55)。スペシャルプリンタドライバ29は、変更第1適正配置位置が登録されていないと判断すると(S54:No)、補正処理に用いる適正配置位置を、適正配置テーブルに登録された第1適正配置位置に決定する(S56)。ステップS33、S35の処理は、取得判断処理の一例である。
スペシャルプリンタドライバ29は、ステップS35において、ブラウザの種類が第2ブラウザであると判断すると(S35:第2ブラウザ)、適正配置テーブルに、変更第2適正配置位置が登録されているか否かを判断する(S57)。スペシャルプリンタドライバ29は、変更第2適正配置位置が登録されていると判断すると(S57:Yes)、補正処理に用いる適正配置位置を、適正配置テーブルに登録された変更第2適正配置位置に決定する(S58)。スペシャルプリンタドライバ29は、変更第2適正配置位置が登録されていないと判断すると(S57:No)、補正処理に用いる適正配置位置を、適正配置テーブルに登録された第2適正配置位置に決定する(S59)。ステップS51、S54、S57の処理は、変更位置判断処理の一例である。
スペシャルプリンタドライバ29は、ステップS52、S53、S55、S56、S58、S59の処理の実行後、取得した画像データが示す画像を、上述の描画プログラムを用いて描画する。そして、スペシャルプリンタドライバ29は、描画した画像の外接矩形を決定する(S60)。図8(A)を参照して外接矩形について説明する。
外接矩形は、描画プログラムによって描画された画像に外接する矩形である。スペシャルプリンタドライバ29は、描画された画像全体のうち、最も外側に位置する個別画像65に外接する矩形を外接矩形として決定する。図示例では、描画された画像全体のうち、最も外側に位置する個別画像65は、左上の文字「ABC」と、右下の文字「DEF」である。外接矩形は、文字「ABC」及び「DEF」に外接する矩形として決定される。外接矩形で囲まれた領域は、描画領域の一例である。
次に、スペシャルプリンタドライバ29は、外接矩形の配置基準位置を決定する(S61)。配置基準位置は、例えば、決定した外接矩形の左上の座標位置である。外接矩形の配置基準位置は、描画の基準位置の一例である。ステップS61の処理は、決定処理の一例である。
スペシャルプリンタドライバ29は、ステップS61で決定した外接矩形の配置基準位置が、ステップS52、S53、S55、S56、S58、S59の処理において決定した適正配置位置或いは変更適正配置位置に一致するように、補正処理及び生成処理を実行する(S62、S63)。具体的には、第1実施形態と同様にして、適正配置位置や変更適正配置位置を反映してベクタコマンドを修正し、或いはラスタ形式の画像データを修正し、或いはプリンタ11に入力するコマンドを生成したりして、印刷データを生成する。
スペシャルプリンタドライバ29は、図5のステップS18の処理において、補正の種別が「ユーザ指定」であると判断すると(S18:ユーザ指定)、変更補正量の入力を受け付ける(S19)。そして、スペシャルプリンタドライバ29は、ステップS20の処理に代えて、変更適正補配置位置を適正配置テーブルに登録する処理を実行する。具体的には、スペシャルプリンタドライバ29は、入力された変更補正量に基づいて、変更第1適正配置位置、或いは変更第2適正配置位置、或いは変更第3適正配置位置を算出して決定し、決定した変更適正配置位置を適正配置テーブルに登録する。変更適正補配置位置を適正配置テーブルに登録する処理は、変更処理及び記憶処理の一例である。
[第2実施形態の作用効果]
スペシャルプリンタドライバ29は、取得した画像データが示す画像の外接矩形の基準配置位置を決定し、決定した基準配置位置が適正配置位置或いは変更適正配置位置に一致するように画像を移動させる。したがって、アプリケーションの種別やブラウザの種別によって生じる画像の適正位置からのずれを低減することができる。
また、本実施形態では、スペシャルプリンタドライバ29は、適正配置テーブルに登録された適正配置位置を反映して画像の配置位置を補正することもできるし、ユーザが入力した補正量である変更補正量から決定した適正配置位を反映して画像の配置位置を補正することもできる。したがって、スペシャルプリンタドライバ29は、ユーザの選択の幅を広げることができる。
また、本実施形態では、スペシャルプリンタドライバ29は、ユーザが入力した変更補正量から決定した変更適正配置位を適正配置テーブルに登録し、変更適正配置位置が適正配置テーブルに登録されていることに応じて、変更適正配置位置を反映して画像の配置位置を補正する。したがって、スペシャルプリンタドライバ29は、印刷のたびに変更補正量を入力するユーザの手間を省くことができる。
[第3実施形態]
本実施形態では、スペシャルプリンタドライバ29は、取得した印刷ジョブに基づいて、画像データを生成したアプリケーションの種別及びブラウザの種別を判断可能な場合に、補正テーブル(図3(A))を用いて画像の配置位置を補正し、画像データを生成したアプリケーションの種別及びブラウザの種別を判断できない場合に、適正配置テーブル(図7(B))を用いて画像の配置位置を補正する。以下、詳しく説明する。
以下で説明する情報処理装置10、プリンタ11、及びサーバ12の構成は、第1実施形態と同じである。また、アプリケーション33やWEBアプリケーション56の構成も、第1実施形態と同じである。そして、スペシャルプリンタドライバ29の構成は、第1実施形態で説明した補正テーブルと、図7(B)に示される適正配置テーブルとの両方のテーブルを備える以外は、第1実施形態で説明したスペシャルプリンタドライバ29の構成と同じである。
適正配置テーブルは、送り状名と、適正配置位置及び変更適正配置位置とを対応付けたテーブルである。適正配置テーブルにおいて、第1運送事業者A4と、第4適正配置位置とが対応付けられており、第1運送事業者A5と、第5適正配置位置及び変更適正配置位置とが対応付けられており、第2運送事業者A4と、第6適正配置位置とが対応付けられており、第2運送事業者A5と、第7適正配置位置とが対応付けられている。
スペシャルプリンタドライバ29は、図5に示された処理を実行する。そして、スペシャルプリンタドライバ29は、ステップS21の処理において、図6に示される印刷データ生成処理を実行する。
スペシャルプリンタドライバ29は、図6に示される印刷データ生成処理において、ステップS31の処理の実行後、アプリケーションの種別及びブラウザの種別を特定できたか否かを判断する(S32)。具体的には、スペシャルプリンタドライバ29は、ステップS14、S17(図5)で取得した印刷ジョブにジョブネームが含まれていないことに応じて、アプリケーションの種別及びブラウザの種別を特定できないと判断する。また、スペシャルプリンタドライバ29は、取得した印刷ジョブに含まれるジョブネームが、アプリケーションの種別及びブラウザの種別を特定するための上述の第1情報や第2情報や第3情報や第4情報を有していないことに応じて、アプリケーションの種別及びブラウザの種別を特定できないと判断する。そして、スペシャルプリンタドライバ29は、取得した印刷ジョブに含まれるジョブネームが第1情報や第2情報や第3情報や第4情報を有していることに応じて、アプリケーションの種別及びブラウザの種別を特定できたと判断する。
スペシャルプリンタドライバ29は、アプリケーションの種別及びブラウザの種別を特定できたと判断すると(S32:Yes)、第1実施形態と同様にして、ステップS33以降の処理を実行する。スペシャルプリンタドライバ29は、アプリケーションの種別及びブラウザの種別を特定できなかったと判断すると(S32:No)、ステップS31で取得した送り状名と対応付けられた変更適正配置位置が適正配置テーブルに登録されているか否かを判断する(S44)。
スペシャルプリンタドライバ29は、取得した送り状名と対応付けられた変更適正配置位置が適正配置テーブルに登録されていると判断すると(S44:Yes)、当該変更適正配置位置を補正処理(S42)で用いることに決定する(S45)。スペシャルプリンタドライバ29は、取得した送り状名と対応付けられた変更適正配置位置が適正配置テーブルに登録されていないと判断すると(S44:No)、送り状名と対応する適正配置位置を補正処理(S42)で用いることに決定する(S46)。
そして、スペシャルプリンタドライバ29は、ステップS34、S37、S38、S49、S40、S41、S45、S46で決定した補正量、或いは変更補正量、或いは適正配置位置、或いは変更適正配置位置を用いて、第1実施形態や第2実施形態と同様にして、補正処理及び印刷処理を実行する(S42、S43)。適正配置位置を反映して印刷データを生成するステップS43の処理は、第3生成処理の一例である。
[第3実施形態の作用効果]
本実施形態では、スペシャルプリンタドライバ29は、アプリケーションの種別及びブラウザの種別を特定できたと判断すると、補正テーブルを用いて画像の配置位置を補正する。したがって、アプリケーションの種別及びブラウザの種別を特定できる場合、外接矩形を決定する処理(S60)や配置基準位置を決定する処理(S61)が省かれる。したがって、本実施形態では、第2実施形態に比べ、アプリケーションの種別及びブラウザの種別を特定できる場合における印刷データの生成時間を短くすることができる。また、本実施形態では、スペシャルプリンタドライバ29は、アプリケーションの種別及びブラウザの種別を特定できなかったと判断すると、適正配置テーブル(図7(B))を用いて適正配置位置を決定する。したがって、アプリケーションの種別及びブラウザの種別を特定できない場合であっても、画像データが示す文字やバーコードなどが、送り状15に既に印刷されている文字61や罫線62や枠線63やミシン目66と重なることを抑制することができる。その結果、画像データが示す文字をユーザが判読できなくなることや、読取装置がバーコードやQRコードを読み取れなくなることが防止される。
[変形例1]
上述の第1実施形態では、画像データが示す画像全体が移動される例を説明した。本変形例では、画像データが示す個別画像65が個々に移動される例を説明する。
以下で説明する情報処理装置10、プリンタ11、及びサーバ12の構成は、第1実施形態と同じである。また、アプリケーション33やWEBアプリケーション56の構成も、第1実施形態と同じである。そして、スペシャルプリンタドライバ29の構成は、第1実施形態で説明した補正テーブル(図3(A))に代えて、図3(B)に示される補正テーブルを備える以外は、第1実施形態で説明したスペシャルプリンタドライバ29の構成と同じである。
図3(B)に示される補正テーブルは、アプリケーション種別、ブラウザ種別、及び印刷領域種別と、補正量及び変更補正量との対応を示すテーブルである。アプリケーション種別、ブラウザ種別、補正量、及び変更補正量については、第1実施形態で説明したアプリケーション種別、ブラウザ種別、補正量、及び変更補正量と同じである。
印刷領域種別は、図2に示す送り状15の各印刷領域64を示す。例えば、項目「印刷領域種別」の第1印刷領域は、宛先住所を示す個別画像65が印刷される印刷領域64を示す。第2印刷領域は、バーコードを示す個別画像65が印刷される印刷領域64を示す。第3印刷領域は、QRコードを示す個別画像65が印刷される印刷領域64を示す。第4印刷領域は、依頼主名を示す個別画像65が印刷される印刷領域64を示す。すなわち、補正テーブルでは、送り状15が有する複数の印刷領域64の個々に対して、補正量がそれぞれ対応付けられている。具体的には、送り状名が「第1運送事業者A4」であって、アプリケーション種別が「WEB版」であって、かつブラウザ種別が「第1ブラウザ」である場合の各印刷領域64と、第1補正量とが対応付けられている。また、送り状名が「第1運送事業者A4」であって、アプリケーション種別が「WEB版」であって、かつブラウザ種別が「第2ブラウザ」である場合の各印刷領域64と、第2補正量とが対応付けられている。
なお、送り状15が有する全ての印刷領域64に対して、それぞれ補正量が設定されている。
また、第1補正量及び第2補正量は、第3補正量を基準として設定されている。すなわち、WEBアプリケーション56の補正量は、デスクトップ版のアプリケーションであるアプリケーション33を基準として設定されている。
スペシャルプリンタドライバ29は、図6の印刷データ生成処理において、補正処理及び生成処理(S42、S43)で用いる補正量を第1補正量、第2補正量、第1変更補正量、或いは第2変更補正量に決定した場合、各個別画像65がそれぞれ移動されるように、第1実施形態と同様にして、決定した補正量を反映して印刷データを生成する。すなわち、各個別画像65が、それぞれ異なる補正量で移動される。なお、各印刷領域64にそれぞれ対応付けて設定された各補正量が同一の値にされていてもよい。
本変形例では、送り状15の各印刷領域64にそれぞれ印刷される個別画像65の配置位置を個々に補正することができる。
[変形例2]
上述の変形例1では、送り状15が有する全ての印刷領域64に対して、それぞれ補正量が設定される例を説明した。本変形例では、送り状15が有する特定の印刷領域64に対してのみ補正量が設定される例を説明する。
補正量が設定される印刷領域64は、例えば、バーコードやQRコードなど、読取装置に読み取られる個別画像65が印刷される印刷領域64である。或いは、罫線62や枠線63やミシン目66の近傍に位置する印刷領域64である。すなわち、印刷される文字が罫線62や枠線63やミシン目66と重なると判読できなくなるおそれがあるので、罫線62や枠線63やミシン目66の近傍に印刷される個別画像65については、配置位置が補正される。また、印刷されるバーコードやQRコードが罫線62や枠線63やミシン目66と重なると、読取装置で読み取れなくなるおそれがあるので、罫線62や枠線63やミシン目66の近傍に印刷されるバーコード等の個別画像65については、配置位置が補正される。
第1補正量及び第2補正量は、例えば、個別画像が、罫線62や枠線63やミシン目66に重ならないように設定される。
スペシャルプリンタドライバ29は、図6の印刷データ生成処理において、補正処理及び生成処理(S42、S43)で用いる補正量を第1補正量、第2補正量、第1変更補正量、或いは第2変更補正量に決定した場合、第1実施形態と同様にして、決定した補正量を反映して印刷データを生成する。
本変形例では、判読できなくなるおそれのある文字の個別画像65や、読取装置で読み取れないと支障が生じるバーコードやQRコードなどの個別画像65の配置位置が補正される。したがって、全ての個別画像65の配置位置を個々に補正する場合(変形例1)よりも、印刷データの生成に要する時間を短くすることができる。
[変形例3]
上述の第2実施形態では、画像データが示す画像全体が移動される例を説明した。本変形例では、画像データが示す個別画像65が個々に移動される例を説明する。
以下で説明する情報処理装置10、プリンタ11、及びサーバ12の構成は、第1実施形態と同じである。また、アプリケーション33やWEBアプリケーション56の構成も、第1実施形態と同じである。そして、スペシャルプリンタドライバ29の構成は、第2実施形態で説明した適正配置テーブル(図7(A))に代えて、図10に示される適正配置テーブルを備える以外は、第2実施形態で説明したスペシャルプリンタドライバ29の構成と同じである。
図10に示される適正配置テーブルは、アプリケーション種別、ブラウザ種別、及び印刷領域種別と、適正配置位置及び変更適正配置位置との対応を示すテーブルである。アプリケーション種別、ブラウザ種別、補正量、及び変更補正量については、第2実施形態で説明したアプリケーション種別、ブラウザ種別、補正量、及び変更補正量と同じである。
印刷領域種別は、変形例1で説明した印刷領域種別と同じである。すなわち、適正配置テーブルでは、送り状15が有する複数の印刷領域64の個々に対して、適正配置位置がそれぞれ対応付けられている。具体的には、送り状名が「第1運送事業者A4」であって、アプリケーション種別が「WEB版」であって、かつブラウザ種別が「第1ブラウザ」である場合の各印刷領域64と、第1適正配置位置とが対応付けられている。また、送り状名が「第1運送事業者A4」であって、アプリケーション種別が「WEB版」であって、かつブラウザ種別が「第2ブラウザ」である場合の各印刷領域64と、第2適正配置位置とが対応付けられている。また、アプリケーション種別が「デスクトップ版」である場合の各印刷領域64と、第3適正配置位置とが対応付けられている。
なお、送り状15が有する全ての印刷領域64に対して、それぞれ適正配置位置が設定される。
スペシャルプリンタドライバ29は、図9の印刷データ生成処理のステップS60において、個別画像65の外接矩形を決定する。図8(B)、(C)を参照して説明する。図8(B)は、文字「GHI」の個別画像65を示す。図8(C)は、バーコードの個別画像65を示す。スペシャルプリンタドライバ29は、描画プログラムを用いて、画像データが示す画像を描画する。そして、スペシャルプリンタドライバ29は、描画した各個別画像について、外接矩形及び外接矩形の配置基準位置をそれぞれ決定する。
スペシャルプリンタドライバ29は、図9のステップS62、S63の補正処理及び生成処理において、決定した外接矩形の配置基準位置が、適正配置テーブルから選択した適正配置位置或いは変更適正配置位置に一致するように、第1実施形態と同様にして補正処理及び生成処理を実行して印刷データを生成する。
本変形例では、送り状15の各印刷領域64にそれぞれ印刷される個別画像65の配置位置を個々に補正することができる。
[変形例4]
上述の変形例3では、送り状15が有する全ての印刷領域64に対して、それぞれ適正配置位置が設定される例を説明した。本変形例では、送り状15が有する特定の印刷領域64に対してのみ適正配置位置が設定される例を説明する。適正配置位置が設定される特定の印刷領域64は、特定印刷領域の一例である。
適正配置位置が設定される印刷領域64は、例えば、バーコードやQRコードなど、読取装置に読み取られる個別画像65が印刷される印刷領域64である。或いは、罫線62や枠線63やミシン目66の近傍に位置する印刷領域64である。すなわち、印刷される文字が罫線62や枠線63やミシン目66と重なると判読できなくなるおそれがあるので、罫線62や枠線63やミシン目66の近傍に印刷される個別画像65については、配置位置が補正される。また、印刷されるバーコードやQRコードが罫線62や枠線63やミシン目66と重なると、読取装置で読み取れなくなるおそれがあるので、罫線62や枠線63やミシン目66の近傍に印刷されるバーコードなどの個別画像65については、配置位置が補正される。
第1適正配置位置及び第2適正配置位置は、例えば、個別画像が、罫線62や枠線63やミシン目66に重ならないように設定される。
スペシャルプリンタドライバ29は、図9の印刷データ生成処理において、補正処理(S62)で用いる適正配置位置を第1適正配置位置、第2適正配置位置、第1変更適正配置位置、或いは第2変更適正配置位置に決定した場合、決定した適正配置位置で、適正配置位置が設定されている印刷領域64に印刷される個別画像65のみを移動させる。
本変形例では、判読できなくなるおそれのある文字の個別画像65や、読取装置で読み取れなくなると支障が生じるバーコードやQRコードなどの個別画像65の配置位置が補正される。したがって、全ての個別画像65の配置位置を個々に補正する場合(変形例1)よりも、印刷データの生成に要する時間を短くすることができる。
なお、補正される印刷領域64は、宛先住所が印刷される印刷領域64のみであってもよい。
[変形例5]
第2実施形態では、画像データが示す画像の配置位置が適正配置位置に補正される例を説明した。本変形例では、画像データが示す画像の配置位置だけでなく、サイズも補正される例を説明する。
図7(A)に示される適正配置テーブルは、項目「適正サイズ」を有する。項目「適正サイズ」は、第1運送事業者A4及びデスクトップ版と対応付けられた第3適正サイズと、第1運送事業者A4、WEB版、及び第1ブラウザと対応付けられた第1適正サイズと、第1運送事業者A4、WEB版、及び第2ブラウザと対応付けられた第2適正サイズと、を有する。なお、アプリケーション種別やブラウザ種別に応じて異なる適正サイズが設定されるのは、アプリケーション種別やブラウザ種別に応じて文字のフォントや文字のサイズなどが変わることがあるからである。
スペシャルプリンタドライバ29は、図9の印刷データ生成処理において、適正配置位置或いは変更適正配置位置とともに、適正配置テーブルから適正サイズを選択する。そして、スペシャルプリンタドライバ29は、ステップS60の実行後であって、ステップS62の補正処理の実行前に、ステップS60で決定した外接矩形のサイズである実サイズを特定する。スペシャルプリンタドライバ29は、特定した実サイズが、適正配置テーブルから選択した適正サイズに一致するように、画像データが示す画像を拡大或いは縮小する。具体的には、第1実施形態と同様にして、選択した適正サイズを用いて、画像のサイズを示すベクタコマンドを修正し、或いはラスタ形式の画像データを修正し、或いはプリンタ11に入力するコマンドを生成したりして、印刷データを生成する。その後、スペシャルプリンタドライバ29は、ステップS62以降の処理を実行する。
本変形例のスペシャルプリンタドライバ29は、画像データが示す画像の配置位置だけでなく、画像のサイズも適正サイズに補正することができる。
[変形例6]
上述の変形例5では、画像データが示す画像全体のサイズが適正サイズに補正される例を説明した。本変形例では、個別画像65のサイズが適正サイズに補正される例を説明する。
本変形例では、変形例4で説明した図10に示される適正位置テーブルにおいて、項目「適正サイズ」が追加される。項目「適正サイズ」は、項目「印刷領域種別」の各印刷領域にそれぞれ対応付けられた複数の適正サイズを有する。
スペシャルプリンタドライバ29は、適正配置位置或いは変更適正配置位置とともに、適正サイズを適正配置テーブルから選択する。そして、スペシャルプリンタドライバ29は、図9のステップS60において、個別画像65の外接矩形を決定するとともに、個別画像の外接矩形のサイズである実サイズを特定する。スペシャルプリンタドライバ29は、特定した実サイズが、適正配置テーブルから選択した適正サイズに一致するように、第1実施形態と同様にして印刷データを生成する(S62、S63)。
本変形例のスペシャルプリンタドライバ29は、画像データが示す画像の配置位置だけでなく、個別画像65のサイズもそれぞれ補正することができる。
なお、スペシャルプリンタドライバ29は、罫線62や枠線63やミシン目66などに重なるおそれのある印刷領域64の近傍に位置する特定の印刷領域64に印刷される個別画像65のみ、実サイズを適正サイズに縮小する補正を行ってもよい。
[その他の変形例]
上述の実施形態第や変形例では、描画プログラムを用いて画像データが示す画像を描画し、描画した画像の外接矩形及び外接矩形の配置基準位置を決定して画像の配置位置を適正配置位置に補正する例を説明した。しかしながら、画像の配置位置を補正可能であれば、他の手法が用いられてもよい。
上述の実施形態では、特定シートの一例として送り状15を説明した。しかしながら、特定シートは、葉書やカードなどであってもよい。
上述の実施形態では、情報処理装置10に標準プリンタドライバ28及びスペシャルプリンタドライバ29の両方のプリンタドライバが実装される例を説明した。しかしながら、情報処理装置10には、スペシャルプリンタドライバ29のみが実装されていてもよい。
上述の実施形態では、WEBアプリケーション56がプラグインプログラムを用いて画像データを生成する例を説明した。しかしながら、WEBアプリケーション56が情報処理装置10から入力文字等をインターネット14を通じて取得して画像データを生成する場合についても、実施形態と同様にして画像の配置位置が補正されてもよい。その場合、WEBアプリケーション56が画像データをブラウザを用いずに生成する場合の補正量や適正配置位置が補正テーブルや適正配置テーブルに設けられる。
上述の実施形態では、補正テーブルや適正配置テーブルにおいて、ブラウザの種類が第1ブラウザ31及び第2ブラウザ32の2種類である例を説明した。しかしながら、補正テーブルや適正配置テーブルにおいて、3種類以上のブラウザに対応つけて補正量や適正配置位置が登録されていてもよい。
上述の実施形態では、第1補正量、第2補正量、及び第3補正量が、アプリケーション種別「デスクトップ版」の場合の画像の配置位置を基準として決められた例が説明された。すなわち、第3補正量が(0,0)となって、画像データを生成したアプリケーションの種別が「デスクトップ版」である場合に、画像データが示す画像を移動させる処理が不要となる例が説明された。しかしながら、第3補正量が(0,0)以外であってもよい。その場合、アプリケーションの種別が「デスクトップ版」である場合にも、画像データが示す画像を移動させる処理を行ってよい。この場合でも、第1補正量、第2補正量はいずれも、第3補正量に対して異なる値であると言える。
また、第1補正量、第2補正量、及び第3補正量は、アプリケーション種別「WEB版」かつブラウザ種別「第1ブラウザ」の場合の画像の配置位置を基準として決められていてもよい。その場合、第1補正量が(0,0)となる。或いは、第1補正量、第2補正量、及び第3補正量は、アプリケーション種別「WEB版」かつブラウザ種別「第2ブラウザ」の場合の画像の配置位置を基準として決められていてもよい。その場合、第2補正量が(0,0)となる。さらに或いは、第1補正量、第2補正量、及び第3補正量は、仮想的な配置位置を基準として決められていてもよい。その場合、第1補正量、第2補正量、及び第3補正量は、いずれも(0,0)以外の値となる。
上述の実施形態では、印刷ジョブのジョブネームを用いて、画像データを生成したアプリケーションの種別及びブラウザの種別をスペシャルプリンタドライバ29が判断する例を説明した。しかしながら、画像データを生成したアプリケーションの種別及びブラウザの種別を判断可能であれば、スペシャルプリンタドライバ29は、どのようにしてアプリケーションの種別及びブラウザの種別を判断してもよい。例えば、スペシャルプリンタドライバ29は、外接矩形の基準配置位置の座標位置によって、画像データを生成したアプリケーションの種別及びブラウザの種別を判断してもよい。その場合、スペシャルプリンタドライバ29は、判断基準となる座標位置を予め有している。判断基準となる座標位置は、例えば、種々の種別のアプリケーション及びブラウザを用いて画像データが示す画像をプリンタ11に実際に印刷させることにより、決定される。或いは、スペシャルプリンタドライバ29は、画像データに含まれる描画命令などの所定の命令の種別によって、画像データを生成したアプリケーションの種別及びブラウザの種別を判断してもよい。さらに或いは、スペシャルプリンタドライバ29は、アプリケーションの種別及びブラウザの種別をユーザに入力させる入力画面をディスプレイ41に表示させ、ユーザの入力に基づいて、アプリケーションの種別及びブラウザの種別を判断してもよい。