(57)【要約】【課題】情報処理装置で印刷用画像データの作成時に用いられるプログラムにおいて、開発に要する負荷を少なくする。【解決手段】情報処理装置で印刷用画像データの作成時に用いられるアプリケーションプログラム２６が、ユーザ操作の受け付け，画像データに基づく画像の表示等を行うための編集画面制御モジュール２７と、画像データを作成するための画像データ作成モジュール２８と、プリンタと送受信し、印刷指令等の送信等を行うためのデバイス制御モジュール２９とにより構成されている。このため、例えば、開発済みの機能がある場合には、開発済みの機能を実行するプログラムを流用し、未開発の機能に対応するプログラムのみを開発することができる。これにより、プログラムの開発に要する負荷を少なくすることができる。【選択図】図２
2019053605.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェースと、ネットワークインタフェースと、ディスプレイとを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、
編集画面制御モジュールと、画像データ作成モジュールと、第１デバイス制御モジュールとを備え、
前記編集画面制御モジュールは、
前記コンピュータを、
前記ユーザインタフェースを介して受け付けた操作入力が編集指示入力である場合に、表示用画像データの作成を指示する第１作成指示情報を、前記画像データ作成モジュールに出力する第１指示出力手段として機能させ、前記表示用画像データは、前記編集指示入力に従って編集されたオブジェクトを含む画像を示す画像データであり
前記画像データ作成モジュールは、
前記コンピュータを、
前記第１指示出力手段が出力した前記第１作成指示情報に従って、前記表示用画像データを作成する第１作成手段と、
前記第１作成手段が作成した表示用画像データを、前記編集画面制御モジュールに出力する第１画像データ出力手段と、
して機能させ、
前記編集画面制御モジュールは、
前記コンピュータを、
前記第１指示出力手段が前記第１作成指示情報を出力した後に、前記第１画像データ出力手段が出力した表示用画像データを受け付けた場合に、当該表示用画像データに基づく画像である表示用画像を前記ディスプレイに表示させる第１表示制御手段と、
前記ユーザインタフェースを介して受け付けた操作入力がデバイス使用指示入力である場合に、前記第１作成手段が作成した前記表示用画像データに対応する第１出力用画像データの作成を指示する第２作成指示情報を、前記画像データ作成モジュールに出力する第２指示出力手段として機能させ、前記第１出力用画像データは、前記第１デバイス制御モジュールにおいて、第２出力用画像データを作成するために用いられる画像データであり、
前記画像データ作成モジュールは、
前記コンピュータを、
前記第２指示出力手段が出力した第２作成指示情報に従って、前記第１出力用画像データを作成する第２作成手段と、
前記第２作成手段が作成した第１出力用画像データを、前記編集画面制御モジュールに出力する第２画像データ出力手段と、
して機能させ、
前記編集画面制御モジュールは、
前記コンピュータを、
前記第２指示出力手段が前記第２作成指示情報を出力した後に、前記第２画像データ出力手段が出力した第１出力用画像データを受け付けた場合に、前記第２出力用画像データの出力を指示する第１出力指示情報を、前記第１デバイス制御モジュールに出力する第３指示出力手段と、
して機能させ、
前記第１デバイス制御モジュールは、
前記コンピュータを、
前記第３指示出力手段が出力した第１出力指示情報に従って、選択デバイスに対応する前記第２出力用画像データを作成する第３作成手段として機能させ、前記選択デバイスは、複数の対応デバイスのうち、前記第２出力用画像データの出力先として選択されたデバイスであり、前記複数の対応デバイスはそれぞれ、前記第１デバイス制御モジュールが対応可能なタイプのデバイスであり、
当該第２出力用画像データを、前記ネットワークインタフェースを介して、前記選択デバイスに出力するデバイス通信手段と、
して機能させることを特徴とするプログラム。
【請求項２】
前記編集画面制御モジュールは、
前記コンピュータを、
前記ネットワークインタフェースを介して通信可能なデバイスに関するデバイス情報の出力を指示する第２出力指示情報を、前記第１デバイス制御モジュールに出力する第５指示出力手段と、
して機能させ、
前記第１デバイス制御モジュールは、
前記コンピュータを、
前記第５指示出力手段が出力した第２出力指示情報を受け付けた場合に、前記ネットワークインタフェースを介してデバイスと通信し、前記デバイス情報を取得する第１取得手段と、
前記第１取得手段が取得したデバイス情報を前記編集画面制御モジュールに出力するデバイス情報出力手段と、
して機能させ、
前記編集画面制御モジュールは、
前記コンピュータを、
前記デバイス情報出力手段が出力したデバイス情報を受け付けた場合に、当該デバイス情報を前記ディスプレイに表示させる第２表示制御手段と、
して機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記編集指示入力が、前記第２表示制御手段が表示したデバイス情報のうちの任意のデバイス情報を選択するための操作入力である場合に、
前記第１指示出力手段は、
前記編集指示入力により選択されたデバイス情報と、前記第１作成指示情報とを、前記画像データ作成モジュールに出力し、
前記第１作成手段は、
前記第１指示出力手段が出力したデバイス情報に従って前記表示用画像データを作成することを特徴とする請求項２に記載のプログラム。
【請求項４】
前記編集画面制御モジュールは、
前記コンピュータを、
前記ネットワークインタフェースを介して通信可能なデバイスの識別情報の出力を指示する第３出力指示情報を、前記第１デバイス制御モジュールに出力する第４指示出力手段と、
して機能させ、
前記第１デバイス制御モジュールは、
前記コンピュータを、
前記第４指示出力手段が出力した第３出力指示情報に従って、前記識別情報を、前記編集画面制御モジュールに出力する第１識別情報出力手段と、
して機能させ、
前記編集指示入力が、前記第１識別情報出力手段が出力した前記識別情報により識別されるデバイスから任意のデバイスを前記選択デバイスとして選択するための操作入力である場合に、
前記第１指示出力手段は、
前記編集指示入力により選択された選択デバイスに対応する前記表示用画像データの作成を指示する前記第１作成指示情報を、前記画像データ作成モジュールに出力し、
前記第１作成手段は、
前記第１指示出力手段が出力した第１作成指示情報に従って、前記選択デバイスに対応する前記表示用画像データを作成することを特徴とする請求項１乃至３の何れか１つに記載のプログラム。
【請求項５】
前記情報処理装置のオペレーティングシステムは、第２デバイス制御モジュールを備え、
前記編集画面制御モジュールは、
前記コンピュータを、
前記ネットワークインタフェースを介して通信可能なデバイスの識別情報の出力を指示する第４出力指示情報を、前記第２デバイス制御モジュールに出力する第６指示出力手段と、
して機能させ、
前記第２デバイス制御モジュールは、
前記コンピュータを、
前記第６指示出力手段が出力した第４出力指示情報に従って、前記識別情報を、前記編集画面制御モジュールに出力する第２識別情報出力手段と、
して機能させ、
前記編集指示入力が、前記第２識別情報出力手段が出力した前記識別情報により識別されるデバイスから任意のデバイスを前記選択デバイスとして選択するための操作入力である場合に、
前記第１指示出力手段は、
前記編集指示入力により選択された選択デバイスに対応する前記表示用画像データの作成を指示する前記第１作成指示情報を、前記画像データ作成モジュールに出力し、
前記第１作成手段は、
前記第１指示出力手段が出力した第１作成指示情報に従って、前記選択デバイスに対応する前記表示用画像データを作成することを特徴とする請求項１乃至４の何れか１つに記載のプログラム。
【請求項６】
前記編集指示入力が、前記選択デバイスで印刷可能な用紙サイズを選択するための操作入力である場合に、
前記第１指示出力手段は、
前記編集指示入力により選択された用紙サイズに対応する前記表示用画像データの作成を指示する前記第１作成指示情報を、前記画像データ作成モジュールに出力し、
前記第１作成手段は、
前記第１指示出力手段が出力した第１作成指示情報に従って、前記編集指示入力により選択された用紙サイズに対応する前記表示用画像データを作成することを特徴とする請求項４又は５に記載のプログラム。
【請求項７】
前記編集画面制御モジュールは、
前記コンピュータを、
前記デバイス使用指示入力が、印刷指示を示す操作入力である場合に、前記選択デバイスの能力を示す能力情報の出力を指示する第５出力指示情報を、前記第１デバイス制御モジュールに出力する第７指示出力手段と、
して機能させ、
前記第１デバイス制御モジュールは、
前記コンピュータを、
前記第７指示出力手段が出力した第５出力指示情報に従って、前記能力情報を前記編集画面制御モジュールに出力する能力情報出力手段と、
して機能させ、
前記編集画面制御モジュールは、
前記コンピュータを、
前記能力情報出力手段が出力した能力情報を受け付ける情報受付手段と、
して機能させ、
前記第２指示出力手段は、
前記情報受付手段が受け付けた能力情報に基づく前記第１出力用画像データの作成を指示する前記第２作成指示情報を、前記画像データ作成モジュールに出力し、
前記第２作成手段は、
前記第２指示出力手段が出力した第２作成指示情報に従って、前記能力情報に基づいて前記第１出力用画像データを作成することを特徴とする請求項４乃至６の何れか１つに記載のプログラム。
【請求項８】
前記第１デバイス制御モジュールは、
前記コンピュータを、
前記第７指示出力手段が出力した第５出力指示情報を受け付けた場合に、前記ネットワークインタフェースを介してデバイスと通信し、前記能力情報を取得する第２取得手段と、
して機能させ、
前記能力情報出力手段は、
前記第２取得手段が取得した能力情報を、前記編集画面制御モジュールに出力することを特徴とする請求項７に記載のプログラム。
【請求項９】
ユーザインタフェースと、ディスプレイとを備えた情報処理装置のコンピュータが読み取り可能な編集画面制御モジュールであって、
前記コンピュータは、画像データ作成モジュールと、第１デバイス制御モジュールとを読み取り可能であり、
前記コンピュータを、
前記ユーザインタフェースを介して受け付けた操作入力が編集指示入力である場合に、表示用画像データの作成を指示する第１作成指示情報を、前記画像データ作成モジュールに出力する第１指示出力手段として機能させ、前記表示用画像データは、前記編集指示入力に従って編集されたオブジェクトを含む画像を示す画像データであり
前記コンピュータを、
前記第１指示出力手段が前記第１作成指示情報を出力した後に、前記画像データ作成モジュールが出力した表示用画像データを受け付けた場合に、当該表示用画像データに基づく画像である表示用画像を前記ディスプレイに表示させる第１表示制御手段と、
前記ユーザインタフェースを介して受け付けた操作入力がデバイス使用指示入力である場合に、前記画像データ作成モジュールが作成した前記表示用画像データに対応する第１出力用画像データの作成を指示する第２作成指示情報を、前記画像データ作成モジュールに出力する第２指示出力手段として機能させ、前記第１出力用画像データは、前記第１デバイス制御モジュールにおいて、第２出力用画像データを作成するために用いられる画像データであり、
前記コンピュータを、
前記第２指示出力手段が前記第２作成指示情報を出力した後に、前記画像データ作成モジュールが出力した第１出力用画像データを受け付けた場合に、前記第２出力用画像データの出力を指示する第１出力指示情報を、前記第１デバイス制御モジュールに出力する第３指示出力手段と、
して機能させることを特徴とする編集画面制御モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスと通信を行う情報処理装置のコンピュータが読み取り可能なプログラム等に関する。
【背景技術】
【０００２】
プリンタ等のデバイスによる印刷処理の一例として、下記特許文献に記載されているように、情報処理装置において、印刷用の画像データが作成され、その作成された印刷用の画像データに基づく画像の印刷処理が、プリンタにより実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−７１５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置が印刷用画像データを作成する際に用いられるプログラムには、画像データを作成するための機能だけでなく、画像データに基づく画像をプレビュー画面に表示するための機能，印刷設定のユーザ操作を受け付ける機能，プリンタに印刷処理を実行させるための機能など、多くの機能が求められている。このため、プログラムの構成が複雑になり、開発に多大な負荷が生じる。本願は、プログラムの開発に要する負荷を少なくすることを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示するプログラムは、ユーザインタフェースと、ネットワークインタフェースと、ディスプレイとを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、編集画面制御モジュールと、画像データ作成モジュールと、第１デバイス制御モジュールとを備え、前記編集画面制御モジュールは、前記コンピュータを、前記ユーザインタフェースを介して受け付けた操作入力が編集指示入力である場合に、表示用画像データの作成を指示する第１作成指示情報を、前記画像データ作成モジュールに出力する第１指示出力手段として機能させ、前記表示用画像データは、前記編集指示入力に従って編集されたオブジェクトを含む画像を示す画像データであり、前記画像データ作成モジュールは、前記コンピュータを、前記第１指示出力手段が出力した前記第１作成指示情報に従って、前記表示用画像データを作成する第１作成手段と、前記第１作成手段が作成した表示用画像データを、前記編集画面制御モジュールに出力する第１画像データ出力手段と、して機能させ、前記編集画面制御モジュールは、前記コンピュータを、前記第１指示出力手段が前記第１作成指示情報を出力した後に、前記第１画像データ出力手段が出力した表示用画像データを受け付けた場合に、当該表示用画像データに基づく画像である表示用画像を前記ディスプレイに表示させる第１表示制御手段と、前記ユーザインタフェースを介して受け付けた操作入力がデバイス使用指示入力である場合に、前記第１作成手段が作成した前記表示用画像データに対応する第１出力用画像データの作成を指示する第２作成指示情報を、前記画像データ作成モジュールに出力する第２指示出力手段として機能させ、前記第１出力用画像データは、前記第１デバイス制御モジュールにおいて、第２出力用画像データを作成するために用いられる画像データであり、前記画像データ作成モジュールは、前記コンピュータを、前記第２指示出力手段が出力した第２作成指示情報に従って、前記第１出力用画像データを作成する第２作成手段と、前記第２作成手段が作成した第１出力用画像データを、前記編集画面制御モジュールに出力する第２画像データ出力手段と、して機能させ、前記編集画面制御モジュールは、前記コンピュータを、前記第２指示出力手段が前記第２作成指示情報を出力した後に、前記第２画像データ出力手段が出力した第１出力用画像データを受け付けた場合に、前記第２出力用画像データの出力を指示する第１出力指示情報を、前記第１デバイス制御モジュールに出力する第３指示出力手段と、して機能させ、前記第１デバイス制御モジュールは、前記コンピュータを、前記第３指示出力手段が出力した第１出力指示情報に従って、選択デバイスに対応する前記第２出力用画像データを作成する第３作成手段として機能させ、前記選択デバイスは、複数の対応デバイスのうち、前記第２出力用画像データの出力先として選択されたデバイスであり、前記複数の対応デバイスはそれぞれ、前記第１デバイス制御モジュールが対応可能なタイプのデバイスであり、当該第２出力用画像データを、前記ネットワークインタフェースを介して、前記選択デバイスに出力するデバイス通信手段と、して機能させることを特徴とする。
【発明の効果】
【０００６】
実施例に開示するプログラムは、ユーザ操作の受け付け，画像データに基づく画像の表示等を行うための編集画面制御モジュールと、画像データを作成するための画像データ作成モジュールと、デバイスと送受信し、印刷指令等の送信等を行うための第１デバイス制御モジュールとを有している。このため、例えば、開発済みの機能がある場合には、開発済みの機能を実行するプログラムを流用し、未開発の機能に対応するプログラムのみを開発することができる。これにより、プログラムの開発に要する負荷を少なくすることができる。
【図面の簡単な説明】
【０００７】
【図１】プリンタシステム１のブロック図である。
【図２】アプリケーションプログラム２６とＯＳ３２とデバイスとの関係を概念的に示すブロック図である。
【図３】印刷用の画像データ作成時の作動シーケンスを示す図である。
【図４】印刷用の画像データ作成時の作動シーケンスを示す図である。
【図５】プリンタ検索サブルーチンを示す図である。
【図６】プリンタ情報取得サブルーチンを示す図である。
【図７】プリンタ送信サブルーチンを示す図である。
【図８】編集画面１００を示す図である。
【発明を実施するための形態】
【０００８】
＜プリンタシステムの構成＞
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。
【０００９】
図１は、本実施形態に係るプリンタシステム１のブロック図である。図１に示すプリンタシステム１は、ＰＣ（情報処理装置の一例）１０、プリンタ５０、プリンタ５１を備える。ＰＣ１０は、ＣＰＵ（コンピュータの一例）１２、メモリ１４、ディスプレイＩ／Ｆ（インタフェースの略）（ディスプレイの一例）１５、ＬＣＤ（ユーザインタフェースの一例）１６、入力Ｉ／Ｆ（ユーザインタフェースの一例）１８、ネットワークＩ／Ｆ（ネットワークインタフェースの一例）２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１０】
ＰＣ１０及びプリンタ５０，５１は、ネットワークＩ／Ｆ２０及びネットワーク５６を通じて通信可能となっている。通信の方式としては、例えば、有線ＬＡＮ、ＵＳＢ、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）を採用できる。
【００１１】
プリンタ５０，５１は、例えば、ラベルプリンタであり、ＰＣ１０との間で各種の情報や指示信号を送受信し、ＰＣ１０による制御に基づいて、所望のテキストや画像等を印字したラベルを作成する。プリンタ５０，５１は、例えば、ラミネートフィルム等の長尺状のテープにテキスト等を印刷してラベルを作成する。
【００１２】
ＣＰＵ１２は、メモリ１４内のアプリケーションプログラム２６（プログラムの一例）、ＯＳ３２に従って処理を実行する。アプリケーションプログラム２６は、プリンタ５０，５１によってラベルを作成するためのプログラムである。アプリケーションプログラム２６は、処理モジュールとして、編集画面制御モジュール２７、画像データ作成モジュール２８、デバイス制御モジュール２９を備えている。また、編集画面制御モジュール２７は、マネージャ３０を備えている。尚、アプリケーションプログラム２６を、上記したように複数のプログラムの集合体で構成せず、単一のプログラムで構成しても良い。
【００１３】
ＯＳ３２は、アプリケーションプログラム２６に利用される基本的な機能を提供するプログラムである。ＯＳ３２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標）等のオペレーティングシステムである。なお、以下の説明では、アプリケーションプログラム２６等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム２６が」という記載は、「アプリケーションプログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１４】
図２は、各プログラムやデバイスの関係を概念的に示している。編集画面制御モジュール２７は、例えば、ラベルの作成やラベルの編集を行うための編集画面をＬＣＤ１６に表示するプログラムである。編集画面制御モジュール２７は、例えば、ＯＳ３２が提供するＡＰＩによりＯＳ３２へ表示指示を実行し、ＯＳ３２の表示プログラムを利用して表示処理を実行する。ＯＳ３２は、編集画面制御モジュール２７からの指示に応じてディスプレイＩ／Ｆ１５を制御し、ＬＣＤ１６への表示を行う。
【００１５】
編集画面制御モジュール２７は、編集対象のラベルを示すオブジェクトを編集画面に表示するための画像を示す画像データの作成を画像データ作成モジュール２８に指示し、画像データ作成モジュール２８が作成した画像データを画像データ作成モジュール２８から受け取り、受け取った画像データに基づく画像をＬＣＤ１６へ表示させる。ここでいうオブジェクトとは、ラベルを構成するテキスト、図形（直線や四角形など）、画像などである。編集画面制御モジュール２７は、オブジェクトを編集する入力操作を入力Ｉ／Ｆ１８から受付けたとき、編集されたオブジェクトを編集画面に表示するための画像を示す画像データの作成を画像データ作成モジュール２８に指示する。オブジェクトの追加、削除、サイズ変更、移動、テキストの変更、色の変更などが、オブジェクトの編集の一例である。編集画面制御モジュール２７は、編集画面で編集されたラベルの画像を示す画像データの作成を、ラベルの画像をプリンタから印刷するために、画像データ作成モジュール２８に指示し、画像データ作成モジュール２８が作成した画像データを画像データ作成モジュール２８から受け取り、受け取った画像データと印刷指示とをデバイス制御モジュール２９に受け渡すことで、プリンタ５０またはプリンタ５１からラベルを印刷させる。なお、編集画面制御モジュール２７は、画像データ作成モジュール２８から受け取った画像データと印刷指示とをＯＳ３２が備える汎用印刷モジュール１７に受け渡すことで、プリンタからラベルを印刷させる。ＭａｃＯＳが備えるＡｉｒＰｒｉｎｔ（登録商標）モジュールは、汎用印刷モジュール１７の一例であり、編集画面制御モジュール２７から受け取った画像データの印刷指示を、ネットワークＩ／Ｆ２０を介してプリンタ５０，５１を含む、汎用印刷モジュール１７に対応するプリンタに送信する。
【００１６】
画像データ作成モジュール２８は、ラベルを作成するための画像データの作成や編集を行うためのライブラリを備えており、画像データの作成、編集等を実行するプログラムである。画像データ作成モジュール２８は、編集画面制御モジュール２７からの指示に応じて、ＬＣＤ１６にラベルを示す画像を表示するための画像データや、ラベルを示す画像をプリンタ５０，５１で印刷するための画像データを作成する。
【００１７】
デバイス制御モジュール２９は、ネットワークＩ／Ｆ２０を介してプリンタ５０に印刷を実行させるためのプログラムである。デバイス制御モジュール２９は、例えば、図７に示すように、ラベルをプリンタから印刷するための画像を示す画像データと印刷指示とを編集画面制御モジュール２７から受け取り、受け取った印刷指示に従って、画像データを、印刷に用いられる画像データである印刷データ（「印刷用画像データ」とも記載する）に変換し、変換した印刷データを、プリンタ５０または５１に送信することで、ラベルを示す画像をプリンタ５０または５１に印刷させる。なお、デバイス制御モジュール２９は、ＯＳ３２に指示することで、ネットワークＩ／Ｆ２０を介して印刷データを送信する。
【００１８】
また、メモリ１４は、データ記憶領域３４を備える。データ記憶領域３４は、アプリケーションプログラム２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＰＣ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１９】
また、メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２０】
ＬＣＤ１６は、ＰＣ１０の各種情報を表示する。ＬＣＤ１６は、ディスプレイＩ／Ｆ１５を介してバス２２に接続されている。ＬＣＤ１６は、ディスプレイＩ／Ｆ１５を介して表示データを取得する。尚、本願のディスプレイは、液晶ディスプレイに限らず、有機ＥＬディスプレイ等の他の表示方式のディスプレイでも良い。
【００２１】
入力Ｉ／Ｆ１８は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。尚、入力Ｉ／Ｆ１８は、キーボード等に限らず、ＬＣＤ１６の表示画面に重畳された膜状のタッチセンサでも良い。
【００２２】
＜ラベルの作成の作動シーケンス＞
アプリケーションプログラム２６のベンダーは、非常に多くの種類のデバイスに対応することが必要になっている。一方で、デバイスの種類によって、想定される用途・ユーザ像、印刷性能（用紙種類、サイズ、解像度、印刷色）、通信性能、制御方式（制御コマンドの系統、対応する制御コマンドの数）が異なっている。なお、本明細書では、印刷媒体を示す語として、便宜上「用紙」を用いる。すなわち「用紙」は、厳密に紙のみを示す語ではなく、樹脂、布、金属、ガラス、木材、繊維などであってもよい。
【００２３】
例えば、対応が必要なデバイスの例としては、プリンタ５０，５１、不図示のプリンタＡ，Ｂ，Ｃ，Ｄなどがある。アプリケーションプログラム２６は、画像を編集し、編集した画像を各デバイスに形成させるための画像形成データを、各デバイスに提供するプログラムである。
【００２４】
プリンタ５０は、家庭用ラベルプリンタであり、６ｍｍ〜３６ｍｍ幅のラベル状の用紙が収められたカートリッジを装着することができ、装着されたカートリッジに収められた用紙に印刷を行うことができる。また、プリンタ５０の印刷解像度は１８０ｄｐｉであり、プリンタ５０は、単色印刷を実行する。また、プリンタ５０では、家具や文具などありふれた場所に貼り付ける、注意書きや物の名前を示すラベルの作成が想定されている。このため、プリンタ５０では、文字と簡単な記号、イラスト程度が印刷できればよい。なお、プリンタ５０は、Ｗｉ−Ｆｉで通信するデバイスである。
【００２５】
プリンタ５１は、プロ向けラベルプリンタであり、１５ｍｍ〜１０２ｍｍ幅のラベル状の用紙が収められたカートリッジを装着することができ、装着されたカートリッジに収められた用紙に印刷を行うことができる。また、プリンタ５１の印刷解像度は３００ｄｐｉであり、プリンタ５１は、単色印刷を実行する。また、プリンタ５１では、食品容器の表面に貼り付ける、食品ラベルの作成が想定されている。このため、プリンタ５１では、文字、囲い線、表形式のレイアウト、大量の同じラベルの連続印刷が求められる。なお、プリンタ５０は、Ｗｉ−Ｆｉ、有線ＬＡＮ、ＵＳＢで通信するデバイスである。
【００２６】
プリンタＡは、ページプリンタであり、Ｂ５〜Ａ４サイズのカット紙に印刷を行うことができる。また、プリンタＡの印刷解像度は１２００ｄｐｉであり、プリンタＡは、カラー印刷を実行する。また、プリンタＡでは、一般的な、事務印刷が想定されている。なお、プリンタＡは、Ｗｉ−Ｆｉ、ＵＳＢで通信するデバイスである。
【００２７】
プリンタＢは、飾りつけラベル用プリンタであり、３．５ｍｍ〜１２ｍｍ程度のラベルに印刷を行うことができる。ただし、装飾用に種々の色のラベルを発売するため、対応するラベルの種類がプリンタ５０，５１に比べてかなり多い。また、プリンタＢの印刷解像度は１８０ｄｐｉであり、プリンタＢは、単色印刷を実行する。また、プリンタＢでは、マスキングテープのような装飾用ラベルの作成が想定されており、連続したリボンのような絵柄の印刷が想定されている。なお、プリンタＢは、Ｗｉ−Ｆｉで通信するデバイスである。
【００２８】
プリンタＣは、金属加工・木材加工プリンタであり、セットされた印刷媒体（例えば、金属・木材・ガラス）の表面に画像を形成する。画像形成の方式は、レーザ光を用いた方式であってもよい。なお、プリンタＣは、ＵＳＢで通信するデバイスである。
【００２９】
プリンタＤは、開発予定のプロ向けラベルプリンタであり、２３ｍｍ〜６２ｍｍ幅のラベルに印刷を行うことができる。また、プリンタＤの印刷解像度は６００ｄｐｉであり、プリンタ５１は、３色印刷を実行する。また、プリンタＤは、商品容器の表面に貼り付ける、ラベルの作成が想定されている。なお、プリンタＤは、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈで通信するデバイスである。また、アプリケーションプログラム２６のベンダーは、これらデバイスの他に、画像形成データが示す画像を立体で再現するデバイス（例えば、３Ｄプリンタ・工作機器）に対応する必要があってもよい。
【００３０】
このように、新しく発売する機種向けのアプリケーションを設計しようとするとき、その機種の用途・ユーザ像、印刷性能、通信性能、制御方式、すべてを考慮する必要があり、とても設計が大変となる。そこで、できる限り多くの用途・ユーザ像に適したユーザＩ／Ｆを実現するモジュール（編集画面制御モジュール２７）と、できる限り多くの印刷性能に対応した画像データの作成を実現するモジュール（画像データ作成モジュール２８）と、できる限り多くの通信性能、制御方式に対応した通信処理、制御を実現するモジュール（デバイス制御モジュール２９）とを、それぞれ設計し、組み合わせて１つのアプリケーションとすることができるよう設計する。
【００３１】
これにより、１つ１つのモジュールの設計に、それぞれ別の人的リソースを割り当てて、並行で設計できる。また、例えば、用途・ユーザ像は新しいが、印刷性能、通信性能が従来の機種とほぼ同じである新機種向けのアプリケーション設計において、編集画面制御モジュール２７をアップデート設計するリソースだけかけて、アップデート設計した新たな編集画面制御モジュールと、従来の画像データ作成モジュール２８と、従来のデバイス制御モジュール２９を小修正したものとを組み合わせるという設計方針１でアプリケーションを設計できる。また、新たな用途・ユーザ像のための設計リソースだけかけた新たな編集画面制御モジュールと、従来のモジュール画像データ作成モジュール２８と、従来のデバイス制御モジュール２９とを小修正したものとを組み合わせるという設計方針２でアプリケーションを設計できる。また、上記設計方針１、２のいずれをとることもできる、という設計上の柔軟性をもたらすことができる。
【００３２】
また、例えばＷｉｎｄｏｗｓ用のアプリケーションと同等の仕様の、ＭａｃＯＳ用のアプリケーションを設計するときも、編集画面制御モジュール２７はユーザＩ／Ｆ関係の箇所だけ、モジュール画像データ作成モジュール２８は描画関係の箇所だけ、デバイス制御モジュール２９は通信関係の箇所だけ、ＭａｃＯＳ向けの設計変更をすればすむようになる。
【００３３】
また、例えば、用途・ユーザ像、印刷性能は従来の機種とほぼ同じであり、従来の機種と同等の通信性能を持ち、さらに、従来の機種とは異なる、新たな通信方式でも通信できる性能を持つ新機種を発売するとき、従来の編集画面制御モジュール２７，モジュール画像データ作成モジュール２８，デバイス制御モジュール２９を小修正して組み合わせたアプリケーションをまずリリースしておくことで、新機種をユーザが使えるようにしておいてから、新たな通信方式で新機種と通信できるモジュール画像データ作成モジュールの開発にリソースをかけて設計し、新設計したデバイス制御モジュール２９に、従来の編集画面制御モジュール２７と、従来のモジュール画像データ作成モジュール２８とを小修正して組み合わせたアプリケーションを改めてリリースする、ということも可能になる。
【００３４】
以下に、上述したようなアプリケーションプログラム２６の作動シーケンスについて説明する。図３乃至図７は、ラベル作成の作動シーケンスの一例を示している。なお、本実施例では、便宜上、プリンタ５０，５１を対象にしたアプリケーションプログラム２６を説明するが、他のプリンタに対応するアプリケーションプログラム２６も、基本的な処理は、プリンタ５０，５１を対象にしたアプリケーションプログラム２６と同様である。ただし、他のプリンタに対応するアプリケーションプログラム２６は、他のプリンタの用途、ユーザ像に適したユーザＩ／Ｆを実現するモジュール（編集画面制御モジュール２７）と、他のプリンタの印刷性能に対応した画像データの作成を実現するモジュール（画像データ作成モジュール２８）と、他のプリンタの通信性能、制御方式に対応した通信処理、制御を実現するモジュール（デバイス制御モジュール２９）とを、備えている。
【００３５】
本明細書のシーケンスチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ１２の処理を示す。すなわち、以下の説明における「判断」「取得」、「受付」、「制御」「設定」等の処理は、ＣＰＵ１２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３２を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００３６】
アプリケーションプログラム２６が起動すると、編集画面制御モジュール２７が、ＰＣ１０と通信可能なプリンタの検索指示をマネージャ３０に出力する（Ｓ１００：図３参照）。マネージャ３０は、検索指示を受け付けると、プリンタの検索指示をデバイス制御モジュール２９に出力する（Ｓ１０２）。また、マネージャ３０は、検索指示を、デバイス制御モジュール２９だけでなく、ＯＳ３２の汎用印刷モジュール１７にも出力する（Ｓ１０３）。以下の説明では、まず、マネージャ３０がプリンタの検索指示をデバイス制御モジュール２９に出力した以降の処理について説明し、その後に、マネージャ３０がプリンタの検索指示を汎用印刷モジュール１７に出力した以降の処理について説明する。
【００３７】
デバイス制御モジュール２９は、マネージャ３０からプリンタの検索指示を受け付けると、プリンタ検索サブルーチンを実行する（Ｓ１０４）。プリンタ検索サブルーチンでは、デバイス制御モジュール２９は、図５に示すように、ＰＣ１０と通信可能なプリンタを検索し、リストアップする（Ｓ３００）。この際、デバイス制御モジュール２９は、プリンタ５０とプリンタ５１との２台のプリンタを示すプリンタ基本情報をリストアップする。プリンタ基本情報には、プリンタを識別するプリンタ識別情報と、プリンタのモデルを示すモデル情報が含まれる。プリンタ識別情報は、ＩＰアドレスやＭＡＣアドレスなど、プリンタを一意に識別する情報であればよい。プリンタを一意に識別できれば、プリンタのニックネームを、プリンタ識別情報として用いてもよい。次に、デバイス制御モジュール２９は、自身で対応可能なプリンタを示すプリンタ基本情報を抽出する（Ｓ３０２）。具体的には、デバイス制御モジュール２９には、デバイス制御モジュール２９自身が対応可能なプリンタのモデルを示す対応モデル情報を取得し、リストアップされたプリンタ基本情報のうち、対応モデル情報を含むプリンタ基本情報を抽出する。デバイス制御モジュール２９は、デバイス制御モジュール２９がＰＣ１０にインストールされたときにメモリ１４記憶された対応モデル情報を、メモリ１４から読み出すことで取得してもよい。デバイス制御モジュール２９のコード内に対応モデル情報が含まれていても良い。デバイス制御モジュール２９は、コード内の対応モデル情報を、バッファにロードすることで取得してもよい。デバイス制御モジュール２９は、新しいバージョンであるほど対応できる機種が多いことが通常である。例えば、バージョン１のデバイス制御モジュール２９は１０の機種を示す対応機種情報を取得でき、バージョン２のデバイス制御モジュール２９は１２の機種を示す対応機種情報を取得できる。本実施例では、デバイス制御モジュール２９は、プリンタ５０に対応しているが、プリンタ５１に対応していないものとする。このため、デバイス制御モジュール２９は、プリンタ５０とプリンタ５１との２台のプリンタのうちプリンタ５０のプリンタ基本情報を抽出する。以降、プリンタ基本情報を抽出すること、またはプリンタ情報を抽出することを、単に「プリンタを抽出する」とも記載する。
【００３８】
デバイス制御モジュール２９は、Ｓ３０２で抽出したプリンタ基本情報のリストをマネージャ３０に出力する（Ｓ１０６：図３参照）。以降、プリンタ基本情報のリストを、単に「プリンタのリスト」とも記載する。そして、マネージャ３０は、プリンタのリストを編集画面制御モジュール２７に出力する（Ｓ１０８）。編集画面制御モジュール２７は、受け付けたプリンタのリストに基づいて、プリンタを選択するためのプリンタ選択画面（図示省略）をＬＣＤ１６に表示する（Ｓ１１０）。なお、詳しくは後述するが、編集画面制御モジュール２７は、マネージャ３０を介して、汎用印刷モジュール１７からもプリンタ基本情報のリストを取得している。そして、編集画面制御モジュール２７は、汎用印刷モジュール１７から取得したリストと、デバイス制御モジュール２９から取得したリストをマージし、マージしたリストに基づいてプリンタ選択画面を表示させる。すなわち、プリンタ選択画面は、汎用印刷モジュール１７から取得したリストに含まれるプリンタ基本情報が示すプリンタと、デバイス制御モジュール２９から取得したリストに含まれるプリンタ基本情報が示すプリンタと、のどちらも選択可能な画面である。
【００３９】
次に、プリンタ選択画面において、ユーザ操作により任意のプリンタが選択されると（Ｓ１１２）、編集画面制御モジュール２７は、選択されたプリンタ（以下、「選択プリンタ」と記載する）（選択デバイスの一例）を示すプリンタ情報（デバイス情報の一例）の編集画面制御モジュール２７への出力指示を、マネージャ３０に出力する（Ｓ１１４）。出力指示には、選択プリンタを示すプリンタ基本情報が含まれている。
【００４０】
マネージャ３０は、プリンタ情報の出力指示を編集画面制御モジュール２７から受け付け、かつ、デバイス制御モジュール２９が出力したプリンタ基本情報が出力指示に含まれている場合に、そのプリンタ情報の出力指示をデバイス制御モジュール２９に出力する（Ｓ１１６）。そして、デバイス制御モジュール２９は、プリンタ情報の出力指示を受け付けると、プリンタ情報取得サブルーチンを実行する（Ｓ１１８）。
【００４１】
プリンタ情報取得サブルーチンでは、デバイス制御モジュール２９は、図６に示すように、選択プリンタのデバイス基本情報に含まれるプリンタ識別情報を用いて選択プリンタとネットワークＩ／Ｆ２０を介して通信を行って、選択プリンタから動的プリンタ情報を取得する（Ｓ３１０）。また、デバイス制御モジュール２９は、選択プリンタのデバイス基本情報に含まれるモデル情報に対応する、静的プリンタ情報を取得する（Ｓ３１２）。なお、デバイス制御モジュール２９がインストールされたときに、デバイス制御モジュール２９が対応するモデルを示すモデル情報と、それぞれのモデルの静的な情報を示す静的プリンタ情報は、対応付けられた形式で、データ記憶領域３４に記憶されてもよい。デバイス制御モジュール２９は、データ記憶領域３４から読み出すことで、選択プリンタのモデル情報に対応する静的プリンタ情報を取得してもよい。静的プリンタ情報は、デバイス制御モジュール２９のコード内に含まれていても良い。デバイス制御モジュール２９は、コード内の、選択プリンタのモデル情報に対応する静的プリンタ情報を、バッファにロードすることで取得してもよい。静的プリンタ情報は、例えば、選択プリンタで印刷可能な用紙サイズなどの静的な情報であり、プリンタの状態が動的に変化しても変更されない。一方、選択プリンタから取得した動的プリンタ情報は、例えば、選択プリンタにセットされている用紙サイズ動的な情報であり、プリンタの状態が動的に変化した場合に対応した値となる。
【００４２】
そして、デバイス制御モジュール２９は、選択プリンタの基本プリンタ情報と、取得した静的プリンタ情報と、動的プリンタ情報とを統合し（Ｓ３１４）、選択デバイスのプリンタ情報を作成する（Ｓ３１６）。プリンタ情報には、選択プリンタの基本プリンタ情報と、静的プリンタ情報と、動的プリンタ情報とが含まれる。
【００４３】
デバイス制御モジュール２９は、Ｓ３１６で作成したプリンタ情報をマネージャ３０に出力する（Ｓ１２０：図３参照）。そして、マネージャ３０は、プリンタ情報を編集画面制御モジュール２７に出力する（Ｓ１２２）。編集画面制御モジュール２７は、受け付けたプリンタ情報に基づいて、図８に示す編集画面１００をＬＣＤ１６に表示する（Ｓ１２４）。編集画面１００には、選択プリンタの特徴を示す画像を表示するプリンタ領域１０２及び、選択プリンタで設定可能な印刷条件を設定するための設定領域１０４が表示される。なお、編集画面制御モジュール２７は主に、Ｓ１２２で受け付けたプリンタ情報に含まれる基本プリンタ情報、静的プリンタ情報に基づいて、プリンタ領域１０２を表示する。プリンタ領域１０２には、選択プリンタの外観図、モデル情報（例えば、“Ｐｒｉｎｔｅｒ８００”）などが含まれる。また、編集画面制御モジュール２７は、Ｓ１２２で受け付けたプリンタ情報に基づいて、設定領域１０４を表示する。設定領域１０４には、印刷対象の用紙サイズ等を設定するための設定欄，印刷時の解像度を設定するための設定欄，印刷時の余白サイズを設定するための設定欄等が含まれる。編集画面制御モジュール２７は、ＯＳ３２を介して、設定欄への操作入力を受付ける。編集画面制御モジュール２７は、設定欄への操作入力を受付けると（Ｓ１２６）、設定欄への操作入力に応じた設定情報、例えば、印刷時の解像度、印刷時の余白サイズ、用紙サイズに関するパラメータなどを、メモリ１４に記憶させる。また、編集画面制御モジュール２７は、設定情報を画像データ作成モジュール２８に出力する（Ｓ１２８）。また、詳細な図示は省略するが、Ｓ１２８において、編集画面制御モジュール２７は、設定情報が示すサイズ、背景色であるラベルを示すオブジェクトを含む画像をプレビュー領域１０６に表示させる。具体的には、ラベルオブジェクトを含む画像データの作成指示を受け付けた画像データ作成モジュール２８は指示に従って画像データを作成し、作成した画像データを編集画面制御モジュール２７に出力する。編集画面制御モジュール２７は、画像データ作成モジュール２８が出力した画像データを取得し、ラベルオブジェクトを含む画像を、プレビュー領域１０６に表示させる。なお、図示しないが、編集画面制御モジュール２７は、表示されている設定欄への操作入力をいつでも受付けることが可能であり、受付ける都度、Ｓ１２６〜Ｓ１２８の処理を実行する。すなわち、ユーザは、任意のタイミングで設定欄への操作入力を行うことで、設定情報の変更を行うことができる。
【００４４】
編集画面１００には、選択プリンタで印刷されるオブジェクトを追加するための複数のオブジェクト追加ボタンを含む、追加ボタン欄１０８も表示される。オブジェクト追加ボタンには、オブジェクトとしてテキストを追加するテキスト追加ボタン１１０，オブジェクトとしてイメージを追加するイメージ追加ボタン１１２などが含まれる。
【００４５】
そして、テキスト追加ボタン１１０が操作され、続く操作によってテキストが入力されると（Ｓ１３０）、編集画面制御モジュール２７は、テキストオブジェクトを含む画像を示す画像データの作成指示を画像データ作成モジュール２８に出力する（Ｓ１３２）。画像データの作成指示には、入力されたテキストを指定する情報，入力されたテキストの座標に関する情報等が含まれる。画像データ作成モジュール２８は、画像データの作成指示を受け付けると、その画像データの作成指示に含まれる情報と、Ｓ１２８で受け付けている設定情報とに基づいて、表示用の画像データ（表示用画像データの一例）を作成する（Ｓ１３４）。つまり、画像データ作成モジュール２８は、テキスト追加ボタン１１０への操作により、編集された画像の画像データを作成する。なお、編集された画像とは、何らかのオブジェクトが追加された画像，オブジェクトのサイズの変更された画像，オブジェクトの位置が変更された画像などを含む。この際、画像データ作成モジュール２８は、設定情報に応じたサイズの用紙に、作成指示に含まれる情報により指定されるテキストを、作成指示に含まれる座標に描画するための画像データを、ベクター形式で作成する。
【００４６】
次に、画像データ作成モジュール２８は、作成したベクター形式の画像データを、ラスター形式の画像データに変換する（Ｓ１３６）。続いて、画像データ作成モジュール２８は、ラスター形式の画像データを編集画面制御モジュール２７に出力する（Ｓ１３８）。そして、編集画面制御モジュール２７は、画像データを受け付けると、その画像データに基づく画像を、プレビュー領域１０６に表示する（Ｓ１４０）。
【００４７】
また、編集画面１００において、イメージ追加ボタン１１２が操作され、続く操作によってイメージが選択される（例  イメージデータを含むイメージファイルが選択される）と（Ｓ１４２：図４参照）、編集画面制御モジュール２７は、イメージを示す画像データの作成指示を作成モジュール２８に出力する（Ｓ１４４）。画像データの作成指示には、選択されたイメージを指定する情報，イメージの挿入位置の座標に関する情報等が含まれる。画像データ作成モジュール２８は、画像データの作成指示を受け付けると、その画像データの作成指示に含まれる情報と、Ｓ１２８で受け付けている設定情報とに基づいて、表示用の画像データ（表示用画像データの一例）を作成する（Ｓ１４６）。つまり、画像データ作成モジュール２８は、イメージ追加ボタン１１２への操作により、編集された画像の画像データを作成する。この際、画像データ作成モジュール２８は、設定情報に応じたサイズの用紙に、挿入指示に含まれる情報により指定されるイメージ画像を、作成指示に含まれる座標に描画するための画像データを、ベクター形式で作成する。
【００４８】
次に、画像データ作成モジュール２８は、作成したベクター形式の画像データを、ラスター形式の画像データに変換する（Ｓ１４８）。続いて、画像データ作成モジュール２８は、ラスター形式の画像データを編集画面制御モジュール２７に出力する（Ｓ１５０）。そして、編集画面制御モジュール２７は、画像データを受け付けると、その画像データに基づく画像を、プレビュー画面１０６に表示する（Ｓ１５２）。
【００４９】
また、編集画面１００には、プリントボタン（図８参照）１２０も表示されており、そのプリントボタン１２０が操作されると（Ｓ１５４）、編集画面制御モジュール２７は、選択プリンタの能力情報の編集画面制御モジュール２７への出力指示をマネージャ３０に出力する（Ｓ１５６）。能力情報は、プリンタでの印刷処理時における能力を示す情報であり、具体的には、プリンタでの印刷処理時に必要な余白サイズに関する情報および、解像度に関する情報である。また、編集画面制御モジュール２７は、能力情報の出力指示と関連付けて、印刷設定に関する設定情報も、マネージャ３０に出力する。関連付けるという概念は、情報Ａに情報Ｂを含めることを含む概念でもよい。また、関連付けるという概念は、情報Ａと共に情報Ｂを出力することを含む概念でもよい。この際、出力される印刷設定に関する情報には、印刷時の解像度，余白サイズなどに関する情報であり、Ｓ１２６において編集画面制御モジュール２７がメモリ１４に記憶させた情報である。編集画面制御モジュール２７は、メモリ１４に記憶されている設定情報を読み出して、マネージャ３０に出力する。
【００５０】
マネージャ３０は、能力情報の出力指示を編集画面制御モジュール２７から受け付けると、その能力情報の出力指示をデバイス制御モジュール２９に出力する（Ｓ１５８）。そして、デバイス制御モジュール２９は、能力情報の出力指示を受け付けると、選択プリンタとネットワークＩ／Ｆ２０を介して通信を行って、選択プリンタから選択プリンタが対応する複数の解像度と、複数の余白サイズを示す情報を取得する（Ｓ１６０）。そして、デバイス制御モジュール２９は、選択プリンタから取得した情報が示す、選択プリンタが対応する解像度と、余白サイズのうちから、出力指示と関連して出力された設定情報が示す解像度と余白サイズとに対応する解像度と余白サイズを、印刷時の解像度と余白サイズとして算出する（Ｓ１６０）。
【００５１】
次に、デバイス制御モジュール２９は、算出した解像度と余白サイズとに関する情報を、能力情報としてマネージャ３０に出力する（Ｓ１６２）。そして、マネージャ３０は、デバイス制御モジュール２９から受け付けた能力情報を編集画面制御モジュール２７に出力する（Ｓ１６４）。続いて、編集画面制御モジュール２７は、能力情報に含まれる余白サイズと解像度とを指定した画像データの作成指示を画像データ作成モジュール２８に出力する（Ｓ１６６）。画像データの作成指示には、余白サイズと解像度とを示す情報が含まれていてもよい。
【００５２】
画像データ作成モジュール２８は、算出された解像度と余白サイズを指定した画像データの作成指示を受け付けると、指定された解像度と余白サイズとを反映した画像データ（第１出力用画像データの一例）を、ベクター形式で作成する（Ｓ１６７）。次に、画像データ作成モジュール２８は、作成したベクター形式の画像データを、ラスター形式の画像データに変換する（Ｓ１６８）。なお、画像データ作成モジュール２８は、Ｓ１２８で編集画面制御モジュール２７が出力した設定情報を取得しておき、取得した設定情報を、画像データの作成や、変換に用いてもよい。また、Ｓ１３２またはＳ１４４で編集画面制御モジュール２７が出力した情報を取得しておき、画像データの作成や、変換に用いてもよい。続いて、画像データ作成モジュール２８は、ラスター形式の画像データを編集画面制御モジュール２７に出力する（Ｓ１７０）。そして、編集画面制御モジュール２７は、画像データを受け付けると、その画像データをマネージャ３０に出力する（Ｓ１７２）。なお、編集画面制御モジュール２７は、画像データと関連付けて、メモリ１４に記憶されている設定情報も、マネージャ３０に出力する。
【００５３】
次に、マネージャ３０は、選択プリンタのステータスの確認指示をデバイス制御モジュール２９に出力する（Ｓ１７４）。デバイス制御モジュール２９は、確認指示を受け付けると、選択プリンタとネットワークＩ／Ｆ２０を介して通信を行って、選択プリンタのステータスを確認する（Ｓ１７６）。具体的には、デバイス制御モジュール２９は選択プリンタからステータスを示す情報を受信する。さらに、デバイス制御モジュール２９は、選択プリンタのステータスをマネージャ３０に伝えるためのステータス情報を作成する。例えば、選択プリンタが印刷可能な状態であれば、そのこと示すステータス情報を、デバイス制御モジュール２９は作成し、選択プリンタが印刷不能な状態であれば、そのこと示すステータス情報を、デバイス制御モジュール２９は作成する。そして、デバイス制御モジュール２９は、作成したステータス情報をマネージャ３０に出力する（Ｓ１７８）。
【００５４】
次に、マネージャ３０は、受け付けたステータス情報に基づいて、選択プリンタのステータスを確認する（Ｓ１８０）。そして、選択プリンタが印刷可能な状態であることをステータス情報が示している場合に、マネージャ３０は、画像データ及び設定情報をデバイス制御モジュール２９に出力する（Ｓ１８２）。デバイス制御モジュール２９は、画像データを受け付けると、プリンタ送信サブルーチンを実行する（Ｓ１８４）。
【００５５】
プリンタ送信サブルーチンでは、デバイス制御モジュール２９は、図７に示すように、設定情報に従って、受け付けた画像データに対応する印刷用の画像データ（第２出力用画像データの一例）を作成する（Ｓ３２０）。この際、デバイス制御モジュール２９は、プリンタ５０で印刷可能な形式で印刷用の画像データを作成する。次に、デバイス制御モジュール２９は、作成した印刷用の画像データを、送信用の画像データに変換する（Ｓ３２２）。具体的には、例えば、デバイス制御モジュール２９は、プリンタ５０で印刷される１ライン毎に印刷用の画像データを分割し、分割された画像データ毎に、設定情報に応じて印刷を実行するためのコマンドを付加する。そして、デバイス制御モジュール２９は、１ライン毎に分割され、コマンドの付加された画像データを、選択プリンタに送信する（Ｓ３２４）。これにより、プリンタ送信サブルーチンは終了する。なお、画像データを受信した選択プリンタは、画像データに付加されたコマンドに従って、１ライン毎の印刷処理を実行する。
【００５６】
また、先に説明したように、マネージャ３０は、ＰＣ１０と通信可能なプリンタの検索指示を編集画面制御モジュール２７から受け付けると（Ｓ１００：図３参照）、検索指示を、デバイス制御モジュール２９だけでなく、ＯＳ３２の汎用印刷モジュール１７にも出力する（Ｓ１０３）。検索指示を受付けた汎用印刷モジュール１７は、編集画面制御モジュール２７であればＳ１０２〜Ｓ１０６に相当する処理を実行する。例えば、汎用印刷モジュール１７は、ＯＳ３２によってデータ記憶領域３４に記憶されたプリンタ基本情報を取得し、マネージャ３０に、プリンタ基本情報のリストを出力する。ＯＳ３２は、ネットワークＩ／Ｆ２０を介して接続しているプリンタのうちの、選択候補であるプリンタのうちから、汎用印刷モジュール１７からの印刷に用いるプリンタを選択する。ＯＳ３２は、データ記憶領域３４に、選択候補であるプリンタのプリンタ基本情報を記憶させている。
【００５７】
先に説明したように、マネージャ３０は、デバイス制御モジュール２９が出力したプリンタ基本情報のリストと、汎用印刷モジュール１７が出力したプリンタ基本情報のリストと、を編集画面制御モジュール２７に出力する（Ｓ１０８）編集画面制御モジュール２７は、双方のプリンタ基本情報のリストに基づいて、プリンタ選択画面をＬＣＤ１６に表示する（Ｓ１１０）。
【００５８】
ユーザ操作により、汎用印刷モジュール１７から出力されたプリンタ基本情報が示すプリンタが選択プリンタとして選択された場合は（Ｓ１１２）、Ｓ１１４〜Ｓ１２２の処理を実行することなく、編集画面制御モジュール２７は、プリンタ基本情報に基づいて、図８に示す編集画面１００をＬＣＤ１６に表示する（Ｓ１２４）点が、デバイス制御モジュール２９から出力されたプリンタ基本情報が示すプリンタが選択プリンタとして選択された場合と異なる。汎用印刷モジュール１７は、デバイス制御モジュール２９ほど高性能な、プリンタ情報を取得する機能が備えられていない。特定ベンダーの製品であるプリンタ５０、５１などに最適に設計されたデバイス制御モジュール２９とは異なり、汎用印刷モジュール１７はＯＳ標準の汎用的なモジュールであるためである。そのため、編集画面制御モジュール２７は、汎用印刷モジュール１７から、基本プリンタ情報以上のプリンタ情報を取得しない。なお、編集画面制御モジュール２７がＳ１１４を実行するものの、マネージャ３０が情報取得できないことを示す返信を行い、編集画面制御モジュール２７がＳ１２４を実行する、という構成でもよい。
【００５９】
なお、Ｓ１２６〜Ｓ１５４までの処理は、デバイス制御モジュール２９から出力されたプリンタ基本情報が示すプリンタが選択プリンタとして選択されている場合の処理と基本的な違いはないので、説明を省略する。
【００６０】
汎用印刷モジュール１７から出力されたプリンタ基本情報が示すプリンタが選択プリンタとして選択されている場合に、編集画面１００において、プリントボタン１２０が操作されると（Ｓ１５４）、編集画面制御モジュール２７は、Ｓ１５８〜Ｓ１６４の処理を実行することなく、画像データの作成指示を画像データ作成モジュール２８に出力する（Ｓ１６６）。すなわち、画像データの作成指示は、デバイス制御モジュール２９が算出した解像度と余白サイズとを指定していない。画像データ作成モジュール２８は、画像データの作成指示を受け付けると、Ｓ１２８で編集画面制御モジュール２７が出力した設定情報が示す解像度と余白サイズを反映した画像データを、ベクター形式で作成する（Ｓ２４７）。また、画像データ作成モジュール２８は、画像データの作成指示がデバイス制御モジュール２９が算出した解像度と余白サイズとを指定していない場合に、汎用印刷モジュール１７による処理に適した解像度と余白サイズを反映した画像データを作成してもよい。また、汎用印刷モジュール１７から出力されたプリンタ基本情報が示すプリンタが選択プリンタとして選択されている場合に、編集画面制御モジュール２７は、汎用印刷モジュール１７による処理に適した解像度と余白サイズを指定した画像データの作成指示を画像データ作成モジュール２８に出力しても良い。
【００６１】
以降の処理は、の処理は、デバイス制御モジュール２９から出力されたプリンタ基本情報が示すプリンタが選択プリンタとして選択されている場合の処理と基本的な違いはないので、説明を省略する。
【００６２】
このように、プリンタシステム１では、プリンタ５０により印刷処理を行う際に、デバイス制御モジュール２９がプリンタ５０と通信を行って、プリンタ５０からプリンタ情報を取得し、そのプリンタ情報に基づいて編集画面１００が作成される。これにより、動的に変化するプリンタ５０の状態を、編集画面１００に反映することが可能となり、現状のプリンタ５０に応じた編集画面１００を作成することが可能となる。また、デバイス制御モジュール２９は、プリンタ５０と通信を行って、プリンタ５０から能力情報を取得し、その能力情報に基づいて、画像データ作成モジュール２８が画像データを作成する。これにより、プリンタ５０の能力を充分に活かした画像データを作成することが可能となる。
【００６３】
また、デバイス制御モジュール２９を利用して印刷処理を行うことができないプリンタ５１であっても、汎用印刷モジュール１７を利用することで、プリンタ５１による印刷処理を実行することが可能となる。
【００６４】
また、プリンタ５０の印刷処理を実行するためのアプリケーションプログラム２６が、編集画面制御モジュール２７と画像データ作成モジュール２８とデバイス制御モジュール２９とにより構成されている。編集画面制御モジュール２７は、画像データ作成時に画像の作成等に用いられる編集画面１００等の画面をＬＣＤ１６に表示するプログラムである。また、画像データ作成モジュール２８は、編集画面制御モジュール２７からの指示に従って画像データを作成するプログラムである。また、デバイス制御モジュール２９は、ネットワークＩ／Ｆ２０を介してプリンタ５０と通信し、プリンタ５０からの各種情報の取得，プリンタ５０への印刷指示の送信等を実行するプログラムである。このため、編集画面制御モジュール２７と画像データ作成モジュール２８とデバイス制御モジュール２９とを並行して開発することで、画像作成処理の開発と、表示画像の開発と、プリンタ５０との通信の開発とを、並行して行うことが可能である。また、編集画面制御モジュール２７と画像データ作成モジュール２８とデバイス制御モジュール２９とを個別に開発することで、画像作成処理の開発と、表示画像の開発と、プリンタ５０との通信の開発とを、個別に行うことが可能である。つまり、開発済みの処理がある場合には、開発済みの処理を実行するプログラムを流用し、未開発の処理に対応するプログラムのみを開発することが可能である。これにより、アプリケーションプログラム２６の開発を効率的に行うことが可能となる。
【００６５】
なお、Ｓ１３２，Ｓ１４４を実行するＣＰＵ１２は、第１指示出力手段の一例である。Ｓ１３６，Ｓ１４８を実行するＣＰＵ１２は、第１作成手段の一例である。Ｓ１３８，Ｓ１５０を実行するＣＰＵ１２は、第１画像データ出力手段の一例である。Ｓ１４０，Ｓ１５２を実行するＣＰＵ１２は、第１表示制御手段の一例である。Ｓ１６６を実行するＣＰＵ１２は、第２指示出力手段の一例である。Ｓ１６８を実行するＣＰＵ１２は、第２作成手段の一例である。Ｓ１７０を実行するＣＰＵ１２は、第２画像データ出力手段の一例である。Ｓ１８２を実行するＣＰＵ１２は、第３指示出力手段の一例である。Ｓ３２０を実行するＣＰＵ１２は、第３作成手段の一例である。Ｓ３２４を実行するＣＰＵ１２は、デバイス通信手段の一例である。Ｓ１１６を実行するＣＰＵ１２は、第５指示出力手段の一例である。Ｓ１１８を実行するＣＰＵ１２は、第１取得手段の一例である。Ｓ１２０を実行するＣＰＵ１２は、デバイス情報出力手段の一例である。Ｓ１２４を実行するＣＰＵ１２は、第２表示制御手段の一例である。Ｓ１０２を実行するＣＰＵ１２は、第４指示出力手段の一例である。Ｓ１０６を実行するＣＰＵ１２は、第１識別情報出力手段の一例である。Ｓ２０２を実行するＣＰＵ１２は、第６指示出力手段の一例である。Ｓ２０６を実行するＣＰＵ１２は、第２識別情報出力手段の一例である。Ｓ１５８を実行するＣＰＵ１２は、第７指示出力手段の一例である。Ｓ１６２を実行するＣＰＵ１２は、能力情報出力手段及び、情報受付手段の一例である。Ｓ１６０を実行するＣＰＵ１２は、第２取得手段の一例である。
【００６６】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
【００６７】
編集画面制御モジュール２７は、ネットワークＩ／Ｆ２０を介して通信可能なプリンタ５０に関するプリンタ情報の出力を指示する出力指示情報を、デバイス制御モジュール２９に出力する。デバイス制御モジュール２９は、その出力指示情報を受け付けた場合に、ネットワークＩ／Ｆ２０を介してプリンタ５０と通信し、プリンタ情報を取得するとともに、プリンタ情報を編集画面制御モジュール２７に出力する。編集画面制御モジュール２７は、そのプリンタ情報を受け付けた場合に、当該プリンタ情報をＬＣＤ１６に表示する。これにより、選択プリンタの動的に変化するプリンタ情報を、ユーザが閲覧することが可能となる。
【００６８】
ＬＣＤ１６に表示されたプリンタ情報のうちの任意のプリンタ情報が選択された場合に、編集画面制御モジュール２７は、選択されたプリンタ情報と、表示用画像データの作成指示とを、画像データ作成モジュール２８に出力する。画像データ作成モジュール２８は、受け付けたプリンタ情報に従って表示用画像データを作成する。これにより、選択デバイスの動的に変化するプリンタ情報に応じた印刷処理を実行できる。
【００６９】
編集画面制御モジュール２７は、ネットワークＩ／Ｆ２０を介して通信可能なプリンタの識別情報の出力を指示する出力指示情報を、デバイス制御モジュール２９に出力する。デバイス制御モジュール２９は、出力指示情報に従って、プリンタの識別情報を編集画面制御モジュール２７に出力する。そして、その識別情報により識別されるプリンタから任意のプリンタを選択プリンタとして選択された場合に、編集画面制御モジュール２７は、選択デバイスに対応する表示用画像データの作成を指示する作成指示情報を、画像データ作成モジュール２８に出力する。画像データ作成モジュール２８は、作成指示情報に従って、選択デバイスに対応する表示用画像データを作成する。これにより、選択プリンタに応じた画像データを作成することができる。
【００７０】
編集画面制御モジュール２７は、ネットワークＩ／Ｆ２０を介して通信可能なプリンタの識別情報の出力を指示する出力指示情報を、汎用印刷モジュール１７に出力する。汎用印刷モジュール１７は、出力指示情報に従って、プリンタの識別情報を編集画面制御モジュール２７に出力する。そして、その識別情報により識別されるプリンタから任意のプリンタを選択プリンタとして選択された場合に、編集画面制御モジュール２７は、選択デバイスに対応する表示用画像データの作成を指示する作成指示情報を、画像データ作成モジュール２８に出力する。画像データ作成モジュール２８は、作成指示情報に従って、選択デバイスに対応する表示用画像データを作成する。これにより、デバイス制御モジュール２９が対応不能なデバイス、つまり、プリンタ５１による印刷処理を、汎用印刷モジュール１７を用いて行うことができる。
【００７１】
選択プリンタで印刷可能な用紙サイズが選択された場合に、編集画面制御モジュール２７は、選択された用紙サイズに対応する表示用画像データの作成を指示する第１作成指示情報を、画像データ作成モジュール２８に出力する。画像データ作成モジュール２８は、作成指示情報に従って、選択された用紙サイズに対応する表示用画像データを作成する。これにより、用紙サイズに応じた画像データを作成することができる。
【００７２】
編集画面制御モジュール２７は、印刷指示を示す操作が入力された場合に、選択プリンタの能力を示す能力情報の出力を指示する出力指示情報を、デバイス制御モジュール２９に出力する。デバイス制御モジュール２９は、出力指示情報に従って、能力情報を編集画面制御モジュール２７に出力する。編集画面制御モジュール２７は、能力情報を受け付けると、受け付けた能力情報に基づく画像データの作成を指示する作成指示情報を、画像データ作成モジュール２８に出力する。画像データ作成モジュール２８は、作成指示情報に従って、能力情報に基づいて画像データを作成する。これにより、選択プリンタの能力に応じた画像データを作成することができる。
【００７３】
デバイス制御モジュール２９は、ネットワークＩ／Ｆ２０を介してプリンタ５０と通信し、プリンタ５０から能力情報を取得し、取得した能力情報を、編集画面制御モジュール２７に出力する。これにより、選択プリンタの動的に変化する能力情報を反映した画像データを作成することができる。
【００７４】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、編集画面制御モジュール２７がマネージャ３０を有しており、マネージャ３０を介して、デバイス制御モジュール２９及び汎用印刷モジュール１７とデータの入出力を行っているが、マネージャ３０を介さずに、デバイス制御モジュール２９及び汎用印刷モジュール１７とデータの入出力を行ってもよい。
【００７５】
また、上記実施形態では、画像データ作成モジュール２８が、ベクター形式の画像データを作成し、ベクター形式の画像データをラスター形式の画像データに変換しているが、画像データ作成モジュール２８以外のモジュールが、ベクター形式の画像データをラスター形式の画像データに変換してもよい。例えば、画像データ作成モジュール２８が、ベクター形式の画像データを作成し、デバイス制御モジュール２９が、画像データ作成モジュール２８から出力された画像データに対応する印刷用の画像データを、ラスター形式で作成してもよい。
【００７６】
また、上記実施形態では、ＣＰＵ１２によって図２乃至図７に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００７７】
１０：ＰＣ、１２：ＣＰＵ、１６：ＬＣＤ、１７：汎用印刷モジュール、１８：入力Ｉ／Ｆ、２０：ネットワークＩ／Ｆ、２６：アプリケーションプログラム、２７：編集画面制御モジュール、２８：画像データ作成モジュール、２９：デバイス制御モジュール、３２：ＯＳ
【図１】
2019053605.tif 000003
【図２】
2019053605.tif 000004
【図３】
2019053605.tif 000005
【図４】
2019053605.tif 000006
【図５】
2019053605.tif 000007
【図６】
2019053605.tif 000008
【図７】
2019053605.tif 000009
【図８】
2019053605.tif 000010