(57)【特許請求の範囲】
【請求項１】
入力されたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式のデータを印刷データに変換するＸＰＳ対応レンダリング処理部と、
プリンタードライバーが共通するプリンター機種を分類するクラスを示すクラス情報に基づいて、前記印刷データを補正する情報を生成するラッパー部と、
前記印刷データを補正する情報に基づいて、印刷するためのコマンドを生成するコマンド生成部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ラッパー部は、前記クラス情報に応じて、プリンターが印字する印字幅を示す印字幅情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ラッパー部は、前記クラス情報に応じて、プリンターが印字する印字方向を示す印字方向情報を生成することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記ラッパー部は、前記クラス情報に応じて、前記印刷データの色表現を変換する変換情報を生成することを特徴とする請求項１から請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理装置であるコンピューターに、
入力されたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式のデータを印刷データに変換するステップと、
プリンタードライバーが共通するプリンター機種を分類するクラスを示すクラス情報に基づいて、前記印刷データを補正する情報を生成するステップと、
前記印刷データを補正する情報に基づいて、印刷するためのコマンドを生成するステップと、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、ＸＰＳと称する）形式に対応したプリンタードライバーを構築する際には、機種毎にプリンタードライバーが作成されていた。そのプリンタードライバーでは、既存のプリンター機種の専用のドライバーをベースにＸＰＳ形式に対応したレンダリング処理が実装されていた。
【０００３】
図４は、従来のコンピューターの機能ブロック図の１例である。コンピューター２１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１と、ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１２と、入力部２１３と、出力部２１４と、インターフェース２１５と、記憶部２２０とを備える。記憶部２２０には、オペレーティングシステム（ＯＳ）２２１と、アプリケーションプログラム２２２と、専用ドライバー２２３とが記憶されている。
【０００４】
図５は、ＣＰＵにより従来の専用ドライバーが実行された場合の専用ドライバー実行部の仮想的な機能ブロック図の１例である。この例では、プリンターの機種の数がｎ個あることを想定している。専用ドライバー２２３がＣＰＵに実行されることにより、専用ドライバー実行部３００の構成が構築される。専用ドライバー実行部３００は、第１のＸＰＳドライバー実行部３００１から第ｎのＸＰＳドライバー実行部３００ｎまでのｎ個（ｎは正の整数）のＸＰＳドライバー実行部を有する。第ｉのＸＰＳドライバー部３１０ｉ（ｉは１からｎまでの整数）は、専用ＵＩ部３１０ｉと、ＸＰＳ対応レンダリング処理部３２０ｉと、コマンド生成部３４０ｉとを有する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１６０６１６号公報
【特許文献２】特開２０１０−１６０６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の専用ドライバーでは、プリンターの機種の数の分だけ、ＸＰＳドライバー実行部が構築されるように、プリンターの機種の数だけ、ドライバーを作成する必要があった。また、今後新たにプリンターの機種が１つ増える毎に、そのプリンターに対応したドライバーを１つ作成する必要があるという問題があった。
特許文献１および特許文献２には、複数のプリンター機種に対応付けられたクラスドライバーが開示されているが、このクラスドライバーは、ＸＰＳ形式のデータを印刷できないという問題があった。
【０００７】
そこで本発明は、上記問題に鑑みてなされたものであり、単体で、ＸＰＳ形式のデータを複数のプリンター機種に印刷可能とする情報処理装置および情報処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
［１］上記の課題を解決するため、本発明の一態様である情報処理装置は、入力されたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式のデータを印刷データに変換するＸＰＳ対応レンダリング処理部と、プリンター機種が分類されるクラスを示すクラス情報に基づいて、前記印刷データを補正する情報を生成するラッパー部と、前記印刷データを補正する情報に基づいて、印刷するためのコマンドを生成するコマンド生成部と、を備えることを特徴とする。
本発明の第１の発明によれば、ＸＰＳ形式のデータを印刷データに変換することができ、プリンター機種が分類されるクラスを示すクラス情報に基づいて、印刷データを補正する情報を生成することができるので、プリンターのクラスに応じて印刷するためのコマンドを生成することができる。これにより、単体の情報処理装置が、ＸＰＳ形式のデータを複数のプリンター機種に印刷することができる。
【０００９】
［２］上記［１］記載の情報処理装置において、前記ラッパー部は、前記クラス情報に応じて、プリンターが印字する印字幅を示す印字幅情報を生成することを特徴とする。
本発明の第２の発明によれば、プリンターのクラスに応じた印字幅で印字することができる。
【００１０】
［３］上記［１］または［２］に記載の情報処理装置において、前記ラッパー部は、前記クラス情報に応じて、プリンターが印字する印字方向を示す印字方向情報を生成することを特徴とする。
本発明の第３の発明によれば、プリンターのクラスに応じて、プリンターが印字する印字方向を変更することができる。
【００１１】
［４］上記［１］から［３］のいずれかに記載の情報処理装置において、前記ラッパー部は、前記クラス情報に応じて、前記印刷データの色表現を変換する変換情報を生成することを特徴とする。
本発明の第４の発明によれば、プリンターのクラスに応じて、印刷データの色表現を変更することができる。
【００１２】
［５］上記の課題を解決するため、本発明の一態様である情報処理プログラムは、情報処理装置であるコンピューターに、入力されたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式のデータを印刷データに変換するステップと、プリンター機種が分類されるクラスを示すクラス情報に基づいて、前記印刷データを補正する情報を生成するステップと、前記印刷データを補正する情報に基づいて、印刷するためのコマンドを生成するステップと、を実行させるための情報処理プログラムである。
本発明の第５の発明によれば、ＸＰＳ形式のデータを印刷データに変換することができ、プリンター機種が分類されるクラスを示すクラス情報に基づいて、印刷データを補正する情報を生成することができるので、プリンターのクラスに応じて印刷するためのコマンドを生成することができる。これにより、単体の情報処理プログラムを実行することにより、ＸＰＳ形式のデータを複数のプリンター機種に印刷することができる。
また、本発明の他の態様は、入力されたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式のデータを印刷データに変換するＸＰＳ対応レンダリング処理部と、プリンタードライバーが共通するプリンター機種を分類するクラスを示すクラス情報に基づいて、前記印刷データを補正する情報を生成するラッパー部と、前記印刷データを補正する情報に基づいて、印刷するためのコマンドを生成するコマンド生成部と、を備えることを特徴とする情報処理装置である。
また、本発明の他の態様は、情報処理装置であるコンピューターに、入力されたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式のデータを印刷データに変換するステップと、プリンタードライバーが共通するプリンター機種を分類するクラスを示すクラス情報に基づいて、前記印刷データを補正する情報を生成するステップと、前記印刷データを補正する情報に基づいて、印刷するためのコマンドを生成するステップと、を実行させるための情報処理プログラムである。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態におけるコンピューターの機能ブロック図である。
【図２】本発明の実施形態におけるＣＰＵによりクラスドライバー（情報処理プログラム）が実行された場合のクラスドライバー実行部の機能ブロック図である。
【図３】本発明の実施形態におけるクラスドライバー実行部の処理の流れを示したフローチャートである。
【図４】従来のコンピューターの機能ブロック図の１例である。
【図５】ＣＰＵにより従来の専用ドライバーが実行された場合の専用ドライバー実行部の仮想的な機能ブロック図の１例である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。図１は、本発明の実施形態におけるコンピューターの機能ブロック図である。コンピューター１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１と、入力部１３と、出力部１４と、インターフェース１５と、記憶部２０とを備える。
【００１５】
入力部１３は、ユーザーからの指示等をコンピューター１０に入力するための装置である。入力部１３は、例えば、キーボードスイッチやポインティングデバイスあるいはマイクロフォン等から構成される。出力部１４は、表示部を備える。出力部１４は、例えば、ディスプレイ装置を備える。出力部１４は、スピーカーを備えることもできる。
インターフェース１５は、プリンターと接続するためのインターフェースである。
【００１６】
記憶部２０には、オペレーティングシステム（以下、ＯＳと称する）２１と、アプリケーションプログラム２２と、クラスドライバー（情報処理プログラム）（情報処理プログラム）２３とが記憶されている。アプリケーションプログラム２２は、例えば、文書作成ソフトウェア、表計算ソフトウェア、作図ソフトウェア、写真加工ソフトウェア等のようなソフトウェアである。
【００１７】
また、記憶部２０には、プリンターの機種の情報と、そのプリンターの機種が分類されるクラスの識別情報とが１対１に関連付けられている。ここで、クラスとは、プリンタードライバーが共通するプリンターを１まとめに分類したときの分類であり、クラスの識別情報とは、そのクラスを識別するために付された番号である。
【００１８】
コンピューター１０が起動すると、ＯＳ２１等の各種プログラムやデータが記憶部２０から読み出されてＲＡＭ１２に記憶される。ＣＰＵ１１がＲＡＭ１２に記憶されたプログラムを読み込んで実行することにより、後述の各処理が実現される。
【００１９】
図２は、本発明の実施形態におけるＣＰＵによりクラスドライバー（情報処理プログラム）が実行された場合の仮想的な機能ブロック図である。ＣＰＵ１１によりクラスドライバー（情報処理プログラム）２３が実行されることにより、クラスドライバー実行部１００の構成が構築される。クラスドライバー実行部１００は、汎用ＵＩ部１１０と、ＸＰＳ対応レンダリング処理部１２０と、ラッパー部１３０と、コマンド生成部１４０とを有する。
【００２０】
ＣＰＵ１１は、記憶部２０に記憶されているアプリケーションプログラム２２を実行することにより、不図示のアプリケーション実行部９０が構築される。アプリケーション実行部９０は、入力部１３から入力された印刷を指示する印刷指示情報を取得する。例えば、ユーザーにより出力部１４により表示されたアプリケーションの印刷ボタンが押されると、アプリケーション実行部９０は、印刷を指示する印刷指示情報を取得する。
【００２１】
アプリケーション実行部９０は、取得した印刷を指示する印刷指示情報に基づいて、ＸＰＳ形式のデータとクラスの識別情報とを汎用ＵＩ（ユーザーインターフェース）部１１０へ出力する。
プリンターに印刷するために、ＸＰＳ形式のデータを不図示のプリンターが印刷できる印刷データに変換しなければならない。
【００２２】
汎用ＵＩ部１１０は、汎用のユーザーインターフェースであり、不図示のアプリケーション実行部９０から入力されるＸＰＳ形式のデータと、不図示のアプリケーション実行部９０から入力されるクラスの識別情報とを受け取ると、ＸＰＳ形式のデータとクラスの情報とをＸＰＳ対応レンダリング処理部１２０へ出力する。
【００２３】
ＸＰＳ対応レンダリング処理部１２０は、汎用ＵＩ部１１０から入力されたＸＰＳ形式のデータを印刷データに変換し、変換後の印刷データをＲＡＭ１２に記憶させる。印刷データに変換後、ＸＰＳ対応レンダリング処理部１２０は、汎用ＵＩ部１１０から入力されたクラスの情報をラッパー部１３０に出力する。
なお、ＸＰＳ対応レンダリング処理部１２０は、ＸＰＳ形式以外の形式のデータも印刷データに変換することができる。
【００２４】
ラッパー部１３０は、印字幅指定部１３１と、印字方向指定部１３２と、ラスターデータ変換指定部１３３とを備える。ラッパー部１３０は、入力された印刷データを補正する処理部である。
プリンターのクラスに応じて印字できる幅が異なるので、クラス毎に印字幅を調整するために、印字幅指定部１３１は、ＸＰＳ対応レンダリング処理部１２０から入力されたクラスの情報に基づき、印字幅を補正すべきか否か判定する。印字幅指定部１３１は、印字幅を補正すべきと判定した場合、クラス情報に応じて印字幅を指定する。例えば、印字幅指定部１３１は、通常、印刷時の印字幅が１０００［ピクセル］のところ、印字の横幅を９９８［ピクセル］に指定する。印字幅指定部１３１は、指定した印字幅を示す情報をコマンド生成部１４０へ出力する。
【００２５】
プリンターのクラスに応じて印字方向が異なるので、クラス毎に印字方向を調整するために、印字方向指定部１３２は、ＸＰＳ対応レンダリング処理部１２０から入力されたクラスの情報に基づき、印字方向を補正すべきか否か判定する。印字幅方向指定部１３０は、印字幅を補正すべきと判定した場合、クラスの情報に応じて印字方向を指定し、指定した印字方向を示す情報をＸＰＳ対応レンダリング処理部１２０へ出力する。ＸＰＳ対応レンダリング処理部１２０は入力された印字方向を示す情報から、その印字方向となるようＸＰＳ形式のデータを印刷データに変換し、変換後の印刷データをＲＡＭ１２に記憶させる。
【００２６】
具体的には、例えば、プリンターがある画像を２７０度回転させて印刷する場合、印字方向指定部１３２は、ＸＰＳ対応レンダリング処理部１２０へ、２７０度を示す情報を出力する。ＸＰＳ対応レンダリング処理部１２０は入力された２７０度を示す情報から、その印字方向が２７０度回転するようにＸＰＳ形式のデータを印刷データに変換し、変換後の印刷データをＲＡＭ１２に記憶させる。
【００２７】
なお、プリンターがある画像を２７０度回転させて印刷する場合、印字方向指定部１３２は、その画像の縦と横の印刷データを入れ替えて、入れ替えた印刷データをインターフェース１５を介して不図示のプリンターに出力してもよい。これにより、印刷される画像の座標を２７０度回転させることができる。
【００２８】
プリンターのクラスに応じて色表現が異なるので、クラス毎に色表現を調整するために、ラスターデータ変換指定部１３３は、ＸＰＳ対応レンダリング処理部１２０から入力されたクラスの情報に基づき、ラスターデータの変換を指定する。ここで、ラスターデータ変換とは、例えば、印刷する対象である画像の色がＲＧＢＸ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ、ＸはＲＧＢ以外の任意の色）から構成されている場合に、Ｘに相当するデータを取り除く変換を指定することである。また、印刷する対象である画像の色がＲＧＢで表されている場合、ラスターデータ変換は、ＲＧＢからＣＭＹＫ（Ｃｙａｎ、Ｍａｇｅｎｔａ、Ｙｅｌｌｏｗ、Ｂｌａｃｋ）への変換の指定をすることである。また、印刷する対象である画像がカラーで表されている場合、ラスターデータ変換は、カラーからモノクロへの変換を指定することである。ラスターデータ変換指定部１３３は、指定した変換を示す情報をコマンド生成部１４０に出力する。
【００２９】
コマンド生成部１４０は、入力された印字幅を示す情報と、変換を示す情報とに基づいて、その指定された印字幅で、かつその指定された変換後の印刷データを印刷するためのコマンドを生成する。ここで、コマンドとは、パソコンからプリンターに送られる、印刷を指示するための命令である。
【００３０】
例えば、シリアルプリンターの場合、コマンドは、プリンターへ文字コードを送り、プリンターが内蔵する文字コードのフォントを呼び出して順次プリントする指示を含んで構成される。また、コマンドは、印刷時の文字間隔や行間隔を設定したり、改ページをさせたりなどの処理の指示を含んで構成される。
【００３１】
コマンド生成部１４０は、プリンタインターフェーズ１５を介して、生成したコマンドを示す情報を不図示のプリンターへ出力する。これにより、プリンターは生成したコマンドに応じて印刷データを印刷することができる。
【００３２】
図３は、本発明の実施形態におけるクラスドライバー実行部の処理の流れを示したフローチャートである。
まず、汎用ＵＩ部１１０は、ＸＰＳ形式の印刷データを受け取る（ステップＳ１０１）。次に、ＸＰＳ対応レンダリング処理部１２０は、ＸＰＳ形式の印刷データを印刷データに変換し、変換後の印刷データをＲＡＭ１２に記憶させる。
【００３３】
次に、印刷幅指定部１３１は、印字幅を補正するか否かを判定する（ステップＳ１０３）。印字幅を補正する場合、印刷幅指定部１３１は、印字幅を指定し、指定した印字幅を示す情報をコマンド生成部１４０に出力する（ステップＳ１０４）。印字幅を補正しない場合（ステップＳ１０３  ＮＯ）、ステップＳ１０５の処理に進む。
【００３４】
次に、印刷方向指定部１３２は、印字方向を補正するか否かを判定する（ステップＳ１０５）。印字方向を補正する場合、印刷方向指定部１３２は印字方向を指定し、指定した印字方向を示す情報をＸＰＳ対応レンダリング処理部１２０に出力する（ステップＳ１０６）。ＸＰＳ対応レンダリング処理部１２０は、印字方向を示す情報から、その印字方向となるように、ＸＰＳ形式のデータを印刷データに変換する（ステップＳ１０７）。印字方向を補正しない場合（ステップＳ１０５  ＮＯ）、ステップＳ１０８の処理に進む。
【００３５】
次に、ラスターデータ変換部１３３は、ラスターデータの変換を指定し、指定した変換を示す情報をコマンド生成部１４０に出力する（ステップＳ１０８）。次に、コマンド生成部１４０は、指定された変換をした後に、指定された印字幅で、印刷データを印字するよう指示するコマンドを生成し、そのコマンドを示す情報をプリンターに出力する（ステップＳ１０９）。以上で、本フローチャートの処理を終了する。
【００３６】
以上により、クラスドライバー実行部１００は、プリンターのクラスに応じて、印刷幅、印刷方法および色表現を変更することができる。これにより、クラスドライバー実行部１００は、１つのクラスドライバーで複数のクラスのプリンターに対応したプリンターコマンドを生成することができる。また、１つのクラスには、複数のプリンターが分類されているので、クラスドライバー実行部１００は、１つのクラスドライバーで複数のプリンター機種に対応したプリンターコマンドを生成することができる。
【００３７】
また、印刷対象となる元のデータがＸＰＳ形式のデータであっても、ＸＰＳレンダリング処理部がＸＰＳ形式のデータを印刷データに変換できるので、クラスドライバー実行部１００は、ＸＰＳ形式のデータを印刷することができる。
【００３８】
さらに、新たにプリンターの機種が増えても、そのプリンターが分類されるクラスを指定することにより、クラスドライバー実行部１００が新たなプリンターに対応したプリンターコマンドを生成することができる。これにより、新たなプリンターに対応したプリンタードライバーを作成する必要が無いので、プリンターの機種開発を効率化することができる。
【００３９】
また、ＸＰＳ形式に対応して、プリンターの機種に応じた印字幅で印字することができる。また、ＸＰＳ形式に対応して、プリンターの機種に応じて、プリンターが印字する印字方向を変更することができる。さらに、入力された印刷条件に応じて、印刷データを所定の印刷データに変換できるので、プリンターの機種に応じた印刷条件で印字することができる。
【００４０】
なお、本実施形態であるコンピューター１０のＣＰＵ１１によりクラスドライバー（情報処理プログラム）２３が実行されることにより構築されるクラスドライバー実行部１００の構成を、ハードウェアとしての情報処理装置として実現してもよい。
【００４１】
また、クラスドライバー実行部１００の機能を実現するためのプログラムをコンピューター読み取り可能な他の記録媒体に記録して、この記録媒体に記録された情報処理プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定期間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【００４２】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００４３】
１０、２１０  コンピューター
１１、２１１  ＣＰＵ
１２、２１２  ＲＡＭ
１３、２１３  入力部
１４、２１４  出力部
１５、２１５  インターフェース
２０、２２０  記憶部
２１、２２１  オペレーティングシステム（ＯＳ）
２２、２２２  アプリケーションプログラム
２３  クラスドライバー（情報処理プログラム）
１００  クラスドライバー実行部
１１０  汎用ＵＩ部
１２０  ＸＰＳ対応レンダリング処理部
１３０  ラッパー部
１３１  印字幅指定部
１３２  印字方向指定部
１３３  ラスターデータ変換指定部
１４０  コマンド生成部
２２３  専用ドライバー
３００  専用ドライバー実行部
３００１〜３１０ｎ  ＸＰＳドライバー実行部
３１０１〜３１０ｎ  専用ＵＩ部
３２０１〜３２０ｎ  ＸＰＳ対応レンダリング処理部
３４０１〜３４０ｎ  コマンド生成部
【図１】
0005678559.tif 000002
【図２】
0005678559.tif 000003
【図３】
0005678559.tif 000004
【図４】
0005678559.tif 000005
【図５】
0005678559.tif 000006