JP2007148514A - 制御データ変換装置 - Google Patents
制御データ変換装置 Download PDFInfo
- Publication number
- JP2007148514A JP2007148514A JP2005338555A JP2005338555A JP2007148514A JP 2007148514 A JP2007148514 A JP 2007148514A JP 2005338555 A JP2005338555 A JP 2005338555A JP 2005338555 A JP2005338555 A JP 2005338555A JP 2007148514 A JP2007148514 A JP 2007148514A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- control data
- data
- conversion
- conversion rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】プリンタ置き換え時のトラブルを簡便な方法で解消できる制御データ変換装置を提供する。
【解決手段】第1のプリンタの制御のために出力された制御データを第2のプリンタの制御データに変換する制御データ変換装置であって、第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶しており、所与のヒント情報に基づいて、複数の変換規則候補のうち、第1のプリンタに係る変換規則を検索し、当該検索された変換規則によってデータ値の変換を行う制御データ変換装置である。
【選択図】図1
【解決手段】第1のプリンタの制御のために出力された制御データを第2のプリンタの制御データに変換する制御データ変換装置であって、第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶しており、所与のヒント情報に基づいて、複数の変換規則候補のうち、第1のプリンタに係る変換規則を検索し、当該検索された変換規則によってデータ値の変換を行う制御データ変換装置である。
【選択図】図1
Description
本発明は、プリンタデバイスドライバの出力値を変換する制御データ変換装置に関する。
近年一般的なアプリケーションプログラムでは、当該アプリケーションプログラムの処理として印刷を実行する場合、予めオペレーティングシステム(OS)が提供するAPI(Application Program Interface)を介して、プリンタメーカーが作成したプリンタドライバプログラムに印刷処理の実行を行なうよう指示する。ここにおいて、オペレーティングシステム側ではプリンタ制御用の一般的なデータを格納するためのデータ構造が予め定義されており、アプリケーションプログラムでは、この定義されたデータ構造に従って、制御用のデータ値を設定して、プリンタドライバへ指示を行なう。例えばWindows(登録商標)オペレーティングシステムでは、このデータ構造体はDEVMODEと呼ばれている。
このようにデバイスドライバ側で印刷処理を実行することで、アプリケーションプログラム内部においては、特定のプリンタに固有の仕様や制御命令などの情報を記述する必要がなくなり、プリンタの機種によらずに一定のプリント結果が得られるようになっている。
ところが、アプリケーションプログラムによって、例えば業務用アプリケーションプログラムなどでは、当該業務用アプリケーションプログラムが、特定のプリンタを含めたシステムの一部として提供されることから、当該特定のプリンタ(専用プリンタ)が利用されることを前提として、一般的な開発規則に従っていない場合がある。
例えば、一般には専らプリンタドライバが作業領域等として利用するプライベートメモリ空間のサイズはプリンタによって異なり、当該サイズの情報は、例えばDEVMODE等のデータ構造体に含まれる制御データ項目の一つとして設定されており、アプリケーションプログラムは、当該サイズの情報に従ってメモリ空間を確保する必要がある。しかしこうした開発規則に従わずに、専用プリンタに固有のサイズのメモリ空間を確保している場合がある。
また、こうしたプライベートメモリ空間内のデータにアクセスして書き換えるなどの処理を行うアプリケーションプログラムも存在するのが現状である。
特開2005‐55937号公報
こうした一般的な開発規則に従わないアプリケーションプログラムがインストールされていると、専用プリンタの故障などによって、専用プリンタとは異なる機種のプリンタ(置き換えプリンタ)が設置されるとき、アプリケーションプログラムが動作しなくなったり、プリンタから意図通りの出力が得られなかったりという不具合が生じる。これは、専用プリンタと置き換えプリンタとのそれぞれのプリンタドライバのデータ構造の一部に相違があったり、プリンタドライバが必要とするメモリ空間のサイズが相違したりしているからである。
なお、特許文献1には、プリンタドライバの設定項目と設定値の入力を受けて、その設定値を変換することで、プリンタドライバのユーザインタフェース(UI)の設計変更を容易にする技術が開示されている。
本発明は上記実情に鑑みてなされたもので、プリンタ置き換え時のトラブルを簡便な方法で解消できる制御データ変換装置を提供することを、その目的の一つとする。
上記従来例の問題点を解決するための本発明は、第1のプリンタの制御のために出力された制御データを、前記第1のプリンタとは異なる第2のプリンタの制御データに変換する制御データ変換装置であって、前記第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶する記憶手段と、所与のヒント情報に基づいて、前記複数の変換規則候補のうち、前記第1のプリンタに係る変換規則を検索する検索手段と、を有し、前記第1のプリンタに係る変換規則を参照し、前記第1のプリンタの制御のために出力された制御データを、第2のプリンタにおける制御データへ変換することを特徴としている。
ここで前記ヒント情報には、制御データの構造に係るバージョン情報と、前記第1のプリンタの機種名と、の少なくとも一方が含まれることとしてもよい。
また、上記従来例の問題点を解決するための本発明は、第1のプリンタの制御のために出力された制御データを、前記第1のプリンタとは異なる第2のプリンタの制御データに変換する制御データ変換方法であって、前記第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶する記憶手段を備えたコンピュータを用い、所与のヒント情報に基づいて、前記複数の変換規則候補のうち、前記第1のプリンタに係る変換規則を検索し、前記第1のプリンタに係る変換規則を参照し、前記第1のプリンタの制御のために出力された制御データを、第2のプリンタにおける制御データへ変換することを特徴としている。
さらに本発明の一態様は、第1のプリンタの制御のために出力された制御データを、前記第1のプリンタとは異なる第2のプリンタの制御データに変換するプログラムであって、前記第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶する記憶手段を備えたコンピュータに、所与のヒント情報に基づいて、前記複数の変換規則候補のうち、前記第1のプリンタに係る変換規則を検索する検索手順と、前記第1のプリンタに係る変換規則を参照し、前記第1のプリンタの制御のために出力された制御データを、第2のプリンタにおける制御データへ変換する手順と、を実行させることを特徴としている。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態の制御データ変換装置は、例えばプリンタドライバの一機能としてソフトウエア的に実現できる。本実施の形態の制御データ変換装置を含むコンピュータシステムは、図1に示すように、本実施の形態の制御データ変換装置としても動作する情報処理装置1と、この情報処理装置に接続されたプリンタ2とを含んで構成される。
ここで情報処理装置1は、ハードウエアの側面では一般的なパーソナルコンピュータとしての構成を備えており、具体例としては、制御部11、記憶部12、操作部13、表示部14、及びインタフェース(I/F)部15を含んで構成される。
制御部11は、CPU等であって、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、アプリケーションプログラム、オペレーティングシステムのプログラム、及びデバイスドライバのプログラムをそれぞれ実行しているものとする。制御部11の動作については後に述べる。
記憶部12は、制御部11によって実行されるプログラムを保持するコンピュータ読み取り可能な記憶媒体であって、RAMやROM等のメモリ素子と、ハードディスク等のディスクデバイスと、の少なくとも一方を含んで構成されている。また、この記憶部12は、制御部11のワークメモリとしても動作する。さらに、本実施の形態では、この記憶部12が、デバイスドライバによって参照される各種の設定ファイルを保持している。
操作部13は、マウスやキーボード等であり、ユーザの指示操作を受けて、当該指示操作の内容を制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って、情報を表示する。I/F部15は、プリンタ2に接続され、制御部11から入力される指示に従ってプリンタ2に対して制御指示や、形成の対象となる画像データを送信する。
本実施の形態の制御部11は、上述のようにアプリケーションプログラムとデバイスドライバのプログラムとをそれぞれ実行することで、機能的には図2に示すように、アプリケーションモジュール21と、ドライバモジュール22とを含んで構成される。
アプリケーションモジュール21は、印刷処理部Pを含み、この印刷処理部Pにおいてメモリ領域確保部31と、制御データ出力部32とを備える。また、ドライバモジュール22は、初期化部41と、データ値取得部42と、データ値変換部43と、データ値更新部44と、設定支援処理部45とを含んで構成される。
アプリケーションモジュール21は、アプリケーションプログラムにおいて指示された業務処理を実行する。そしてこの業務処理において生成されたデータ等を印刷するにあたり、印刷処理部Pの処理を実行する。本実施の形態では、このアプリケーションモジュール21が通常の開発規則に従わずに、特定の専用プリンタ(本発明にいう第1プリンタ)を利用することを前提として開発されているものとする。
すなわちここでは具体的な例として、メモリ領域確保部31は、ドライバモジュール22が要求するサイズのメモリ領域ではなく、上記専用プリンタに固有のサイズのメモリ領域を、記憶部12に確保する。なお、本実施の形態においてドライバモジュールが要するメモリ領域は、図3に示すようにオペレーティングシステム所定のデータ構造を格納する基本領域MBと、デバイスドライバ固有のプライベートデータを保持する拡張領域MEとに分割される。
通常の開発規則に従う場合、メモリ領域確保部31は、まず基本領域MBを確保して、ドライバモジュール22に対して初期化を要求する。そしてドライバモジュール22が初期化を完了した後、基本領域MB内に保持される要求サイズを参照して当該サイズの拡張領域MEを確保することになるが、ここでのメモリ領域確保部31は、この要求サイズを無視して予め定められたサイズの領域を確保するものであり、初期化の要求を行う前に基本領域MBと拡張領域MEとの双方を確保してしまうか、または初期化後に基本領域MB内に保持される要求サイズを無視して予め定められたサイズの拡張領域MEを確保する。
ここに、拡張領域MEには、専らプリンタドライバが利用する制御データが格納される。また基本領域MBに格納されるデータ構造は、例えばWindows(登録商標)におけるDEVMODEデータ構造であれば、
(1)デバイス名(dmDeviceName)、
(2)データのバージョン番号(dmSpecVersion)、
(3)ドライバプログラムのバージョン番号(dmDriverVersion)、
(4)DEVMODE構造体のサイズ(dmSize)、
(5)拡張領域MEのサイズ(dmDriverExtra)、
(6)初期化されているデータ値の指定(dmFields)、
(7)用紙に関する制御データ項目群として、用紙方向(dmOrientation)、用紙サイズ(dmPaperSize)、及び用紙長さ・用紙幅(dmPaperLength、dmPaperWidth)、
(8)画像処理に関する制御データ項目であって、印刷出力する画像の拡大縮小率(dmScale)、
(9)印刷出力部数に関する制御データ項目(dmCopies)、
(10)プリンタの機能に関する制御データ項目群として、解像度(dmPrintQuality)、カラーモノクロの別(dmColor)、両面印刷を行なうか否か(dmDuplex)、プリンタのY軸方向の解像度(dmYResolution)、TrueType(登録商標)フォントの印刷方法(dmTTOption)、複数部数を印刷する際にページ順にそろえるか否か(dmCollate)、及びフォーム名(dmFormName)、
(11)ディスプレイデバイス(表示部14等)に関する制御データ項目群として、色を表すのに用いるビット数(depth)を表す(dmBitsPerPel)、幅方向のピクセル数(dmPelsWidth)、高さ方向のピクセル数(dmPelsHeight)、ディスプレイモード(dmDisplayFlags)、及び周波数(dmDisplayFrequency)
といった制御データ項目のデータ値が含まれる。
(1)デバイス名(dmDeviceName)、
(2)データのバージョン番号(dmSpecVersion)、
(3)ドライバプログラムのバージョン番号(dmDriverVersion)、
(4)DEVMODE構造体のサイズ(dmSize)、
(5)拡張領域MEのサイズ(dmDriverExtra)、
(6)初期化されているデータ値の指定(dmFields)、
(7)用紙に関する制御データ項目群として、用紙方向(dmOrientation)、用紙サイズ(dmPaperSize)、及び用紙長さ・用紙幅(dmPaperLength、dmPaperWidth)、
(8)画像処理に関する制御データ項目であって、印刷出力する画像の拡大縮小率(dmScale)、
(9)印刷出力部数に関する制御データ項目(dmCopies)、
(10)プリンタの機能に関する制御データ項目群として、解像度(dmPrintQuality)、カラーモノクロの別(dmColor)、両面印刷を行なうか否か(dmDuplex)、プリンタのY軸方向の解像度(dmYResolution)、TrueType(登録商標)フォントの印刷方法(dmTTOption)、複数部数を印刷する際にページ順にそろえるか否か(dmCollate)、及びフォーム名(dmFormName)、
(11)ディスプレイデバイス(表示部14等)に関する制御データ項目群として、色を表すのに用いるビット数(depth)を表す(dmBitsPerPel)、幅方向のピクセル数(dmPelsWidth)、高さ方向のピクセル数(dmPelsHeight)、ディスプレイモード(dmDisplayFlags)、及び周波数(dmDisplayFrequency)
といった制御データ項目のデータ値が含まれる。
なお、このデータ構造体中には、データ値が予約されている制御データ項目(dmDefalutSource)や、単に制御データ項目の開始位置のオフセットを所定の位置に合わせるためのパディング(dmUnusedPadding)などが含まれる。
また、用紙のサイズ指定においては、予め定数値が定義されているが、一般にはこの定数値を用いずに、当該用紙のサイズに関するデータ値の解釈はプリンタ2とデバイスドライバプログラムとにおいて自由に定めている。
制御データ出力部32は、アプリケーションプログラムの処理において用紙の指定など、デバイスドライバに伝達するべき制御データのデータ値を、基本領域MB内のデータ構造に従って設定する。例えば、用紙サイズ(dmPaperSize)を、デバイスドライバにおいて「A4」と解釈される値に設定する。なお本実施の形態の制御データ変換装置では、制御データ出力部32が、基本領域MB内のデータ値だけでなく、拡張領域ME内のデータを書き換えている場合にも対処する。
ドライバモジュール22の初期化部41は、アプリケーションモジュール21から初期化の要求を受けて、アプリケーションモジュール21が確保したデバイスドライバ用のメモリ領域内のデータを初期化する。例えば、ドライバモジュール22は、当該ドライバモジュール22が本来必要とする拡張領域MEのサイズの情報を制御データ項目のうち拡張領域MEのサイズを表す項目(dmDriverExtra)に設定する。
データ値取得部42は、制御データが格納されているメモリ領域(基本領域MB及び拡張領域ME)を参照して、アプリケーションモジュール21が格納した制御データ値を取得する。なお、拡張領域ME内のデータ構造は、プリンタドライバによって異なるが、この場合の処理については後に述べる。
データ値変換部43は、予め設定されている変換規則としての変換テーブルを参照して、データ値取得部42が取得した制御データ項目のデータ値の少なくとも一部を変換し、制御データ項目を特定する情報と、変換後のデータ値とを出力する。ここでは記憶部12に予め変換テーブルが設定されているものとする。この変換テーブルには、基本領域MB又は拡張領域MEに含まれる制御データ項目の少なくとも一部について、アプリケーションモジュール21が前提としている専用プリンタ(本発明の第1プリンタ)に対する当該制御データ項目のデータ値と、当該制御データ項目に対応するデータ値であって、プリンタ2(本発明の第2プリンタ)に対するデータ値とを関連づけるものである。
例えば基本領域MBに含まれる制御データ項目のデータ値を変換する場合の例として、変換テーブルのうち、用紙に関する制御データ項目である用紙サイズ(dmPaperSize)に関する例について述べる。この変換テーブルには、図4に示すように変換の対象となるべき制御データ項目について、アプリケーションモジュール21が出力するデータ値(専用プリンタ用のデータ値)と、実際に設定するべき値(プリンタ2用のデータ値)とを関連づけたものである。図4では、変換の対象となる制御データ項目の一例として、用紙サイズのデータ値の例を示している。ここでは具体的な例として、専用プリンタとプリンタ2との双方において用紙サイズのデータ値が給紙トレイの識別子として用いられている場合を示している。図4に例示するようにこのデータ値が異なっている場合、アプリケーションモジュール21が出力したデータ値をそのまま用いてドライバモジュール22が動作すると、プリンタ2が予期せぬ動作をしたり、エラーを発生してしまう可能性がある。図4の例では、専用プリンタにおいてはデータ値「102」で第2番目の給紙トレイを指定することを意味するのに対し、プリンタ2ではこのデータ値「102」に関連づけられた給紙トレイはなく、データ値「2」によって第2番目の給紙トレイが指定されるものとしている。
データ値更新部44は、データ値変換部43の出力に従ってアプリケーションモジュール21が確保したメモリ領域に格納されている制御データ値を更新する。すなわちデータ値更新部44は、データ値変換部43から、制御データ項目を特定する情報と変換後のデータ値との入力を受けて、当該情報で特定される制御データ項目のデータ値を変換後のデータ値で上書きして更新する。ここで制御データ項目を特定する情報は、基本領域MBまたは拡張領域MEの先頭アドレスからのオフセット値であってもよいし、基本領域MBにおけるDEVMODE構造体のメンバー名(「dmPaperSize」など)であってもよい。
本実施の形態では、この変換テーブルの設定が一般に困難であることに鑑みて、プリンタ2ごとに、図5に示すように、専用プリンタ候補に対応する変換規則候補としての変換テーブル候補が、それぞれ変換テーブルを特定する情報としての固有のパターン番号に関連づけて複数格納されている。ここで変換テーブル候補(A)は、図5に示すように、変換の対象となる制御データ項目の各データ値のリストであり、これらのデータ値のリストには、変換後の値であるプリンタ2に対するデータ値が関連づけられている(B)。
また記憶部12にはさらに、図6(a)に示すように、この複数の変換テーブル候補のうちから、実際に利用する変換テーブルを選択する際のヒントとなるヒント情報と、変換テーブル候補を特定する情報(上述のパターン番号等)とを関連づける情報が変換辞書情報として格納されている。
また1種類のヒント情報のみでは変換テーブルが特定されない場合は、図6(b)に示すように、1つのヒント情報について複数の変換テーブル候補を絞り込み候補として関連づけておいてもよい。このように1つのヒント情報に複数の変換テーブル候補を関連づける場合は、実際にアプリケーションモジュール21から出力される、変換対象となる制御データ項目のデータ値によって、変換テーブルを特定するようにしてもよい。
ヒント情報は、例えばDEVMODE構造体(基本領域MBに格納されるデータ)の一部に係る情報であり、具体例を挙げると、デバイス名(dmDeviceName)、データのバージョン番号(dmSpecVersion)等である。また、デバイス名にメーカー名が含まれる場合は、当該メーカー名もヒントとなり得る。さらにこのヒント情報は、操作部13などから利用者によって入力されるものであってもよい。
設定支援処理部45は、この複数の変換テーブル候補のうちから実際に使用する変換テーブルを特定する処理(設定支援処理)を実行する。この設定支援処理のプログラムは、機能的には図7に示すように、ヒント情報取得部51と、変換テーブル選択部52と、変換テーブル設定部53とを含む。
ヒント情報取得部51は、基本領域MBに格納されているデータ(DEVMODE構造体)や、操作部13からの入力などにより、ヒント情報を取得する。このヒント情報取得部51は、アプリケーションモジュール21が基本領域MB内に格納するデータのうち、予め定められた制御データ項目に係るデータ値をヒント情報として取得する。
例えば、ヒント情報はDEVMODE構造体のメンバのうち、専用プリンタの機種名が含まれるデバイス名(dmDeviceName)や、制御データの構造に係るバージョン情報(データのバージョン番号(dmSpecVersion))の制御データ項目のデータ値とする。この場合、基本領域MBに格納されているDEVMODE構造体のメンバのデータ値のうち、これらの制御データ項目に係るデータ値を取得して変換テーブル選択部52に出力する。
なお、ヒント情報取得部51は、例えばデバイス名の制御データ項目にメーカー名が含まれていれば、当該部分をメーカー名として分離し、デバイス名の残りの部分(おそらくはプリンタの機種名)とは別に出力してもよい。
さらにヒント情報取得部51は、利用者から入力される指示により、操作部13からメーカー名や、専用プリンタの機種名などが入力される場合は、これらをヒント情報として取得して変換テーブル選択部52に出力する。この場合にもヒント情報取得部51は基本領域MB内のデータ値を参照してもよい。このとき、基本領域MB内のデータ値として取得されるデータ値と、利用者が入力するデータ値とで同じ種類のヒント情報を表すものがある場合(例えば双方からメーカー名の情報が取得できる場合)は、予め定めた優先順位(例えば利用者の入力が優先、など)に従って、優先すると定められているヒント情報を選択的に出力すればよい。
変換テーブル選択部52は、ヒント情報取得部51から入力されるヒント情報をキーとして、変換辞書情報を参照し、予め記憶部12に格納されている複数の変換テーブル候補から、実際に利用する変換テーブルを選択する。例えば入力されたヒント情報により、変換テーブル候補の一つが特定できる場合は、当該特定される変換テーブル候補を、実際に利用する変換テーブルとして、当該変換テーブルを特定する情報を出力する。
また、入力されたヒント情報に対して、複数の変換テーブル候補(絞り込み候補)が特定される場合は、表示部14に対して複数の絞り込み候補に含まれるデータ値を提示して、そのうちの一つを選択させてもよい。この場合において複数の絞り込み候補間で互いに異なるデータ値を選択的に提示してもよい。こうして選択をさせる場合、変換テーブル選択部52は絞り込み候補から選択された変換テーブルを特定する情報を出力する。
変換テーブル設定部53は、変換テーブル選択部52が出力する情報によって特定される変換テーブル候補の各データ値に対して、プリンタ2におけるデータ値を関連づけて、変換テーブルを生成し、実際に変換の処理に利用する変換テーブルとして記憶部12に格納する。例えば、データ値変換部43が記憶部12内の所定のファイル名のデータを変換テーブルとして参照する場合、この変換テーブル設定部53は、当該所定のファイル名を付して変換テーブルを記憶部12に格納する。
すなわち、本実施の形態の制御データ変換装置によれば、専用プリンタを、プリンタ2で置き換える作業を行ったときに、利用者が設定支援処理のプログラムを実行する。ここでは設定支援処理部45がドライバモジュール22の一部として実装されているので、利用者はアプリケーションプログラムを動作させて印刷の処理を行わせる。ここでドライバモジュール22のデータ値変換部43が変換テーブルの設定がされていないことを検出して、設定支援処理部45を起動することとすればよい。
設定支援処理部45では、例えば基本領域MBに格納されているDEVMODE構造体のデータから、デバイス名や、バージョン番号を取得する。ここで例えばデバイス名が得られず(「デバイス名:不明」)、バージョン番号が「0x2500」であったとすると、設定支援処理部45は、図6(a),(b)に示したような変換辞書情報を参照し、このバージョン番号に対応する変換テーブル候補のパターン番号が「4」であることを検出する。そして変換辞書情報からパターン番号「4」に対応する変換テーブル候補を読み出す。そして、この変換テーブル候補に含まれる各データ値に対して、プリンタ2における対応するデータ値を関連づけた変換テーブルを生成し、実際に変換に使用する変換テーブルとして記憶部12に格納する。
このようにアプリケーションモジュールが出力する情報等をヒント情報として、変換テーブルを予め定められた候補から選択して取得することで、本実施の形態では、変換テーブルの設定が簡便に行なわれ、プリンタ置き換え時のトラブルを簡便な方法で解消できる。
なお、変換の対象となる制御データ項目は、ここまでの説明のように基本領域MBに含まれるものだけではない。例えば、拡張領域MEに含まれる制御データ項目も、変換の対象となり得る。この場合は、基本領域MBにおけるデータとは異なり、一般にそのデータ構造が公開されておらず、またプリンタの機種やドライバのバージョンによってデータ構造が異なるので、こうした点に配慮し、各制御データ項目において専用プリンタのデータ値と、プリンタ2に対するデータ値とを関連づけるだけでなく、変換対象となる制御データ項目の格納されている位置(オフセット)を変換テーブルに含めておく。
データ値取得部42は、オフセットが関連づけられている制御データ項目については、当該オフセットの情報を参照して拡張領域ME内で、当該オフセットによって示される位置からデータ値を取得する。
この場合、データ値更新部44は、データ値変換部43から入力された制御データ項目を特定する情報によって、拡張領域ME内の制御データ項目が特定された場合は、当該制御データ項目の格納場所を表すオフセットを変換テーブルから取得して、変換後のデータ値を当該オフセットによって示される位置に格納する。なお、ここで制御データ項目を特定する情報としてオフセットの値が入力される場合は、当該入力されたオフセットによって示される位置に、変換後のデータ値を格納する。
さらに、拡張領域MEのサイズが、プリンタ2のドライバモジュール22が要求するサイズと異なる場合は、ドライバモジュール22は、拡張領域MEのデータサイズの情報を取得し、取得したデータサイズに基づいて、確保された拡張領域MEを超えるメモリ領域へのアクセスを制限する動作を行なう。
このようにアクセスを制限すると、本来拡張領域ME内に格納するべきデータ値が格納できなくなる場合があるが、このような制御データ項目に対するデータ値は、予め記憶部12に対応するデフォルト値を格納しておき、このデフォルト値を参照してプリンタ2を制御することとすればよい。
また、ヒント情報は、ここまでに述べたものに限られない。例えばアプリケ−ションモジュール21のアプリケーション名や、データ値そのもののパターン(設定されるデータ値の値域が一致する変換テーブル候補を選択することになる)、選択された機能を表す文字列(例えば拡張領域MEにステープルありなどを設定する際に用いられるデータ値のパターン)などであってもよい。
また、利用者からの入力を受ける場合において、専用プリンタのメーカー名や機種名などは予め設定されているリストから選択させるなど、その入力を支援する処理を行ってもよい。また、変換辞書情報は、操作部13からの入力により、またはアップデートファイルなどを図示しない外部記憶媒体リーダから受け入れることで、書き換え可能としてもよい。またここまでの説明では、変換テーブルを生成して予め記憶部12に格納しておくこととしたが、変換テーブル候補を直接参照して、データ値の変換を行ってもよい。
さらに、変換辞書情報を生成する際には、拡張領域ME内のデータ値など、制御データ項目の表す意味が既知でないデータ値については、そのデータ値そのものや、設定されるデータ値の値域などから推定して、制御データ項目の推定処理を実行してもよい。例えば、予めデータ値に含まれる可能性のある文字列と制御データ項目の名称とを関連づけるデータを記憶部12に格納しておく。例えば文字列「STAPLE」について「ステープルの設定」との制御データ項目の名称を関連づけておく。そして拡張領域ME内に実際に設定されたデータ値が「STAPLE:YES」などとなっていれば、ステープルの設定と推定される情報を併せて当該データ値のオフセットを表示する。利用者は、ここで表示される情報を参照して、当該データ値のオフセットと、設定され得るデータ値と、当該データ値のそれぞれについて、プリンタ2のステープルの設定を表す対応するデータ値とを関連づけて、変換辞書情報を生成する。これにより、変換辞書情報の生成が支援される。
1 情報処理装置、2 プリンタ、11 制御部、12 記憶部、13 操作部、14 表示部、15 インタフェース部、21 アプリケーションモジュール、22 ドライバモジュール、31 メモリ領域確保部、32 制御データ出力部、41 初期化部、42 データ値取得部、43 データ値変換部、44 データ値更新部、45 設定支援処理部、51 ヒント情報取得部、52 変換テーブル選択部、53 変換テーブル設定部。
Claims (4)
- 第1のプリンタの制御のために出力された制御データを、前記第1のプリンタとは異なる第2のプリンタの制御データに変換する制御データ変換装置であって、
前記第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶する記憶手段と、
所与のヒント情報に基づいて、前記複数の変換規則候補のうち、前記第1のプリンタに係る変換規則を検索する検索手段と、
を有し、
前記第1のプリンタに係る変換規則を参照し、前記第1のプリンタの制御のために出力された制御データを、第2のプリンタにおける制御データへ変換することを特徴とする制御データ変換装置。 - 請求項1に記載の制御データ変換装置であって、
前記ヒント情報には、制御データの構造に係るバージョン情報と、前記第1のプリンタの機種名と、の少なくとも一方が含まれることを特徴とする制御データ変換装置。 - 第1のプリンタの制御のために出力された制御データを、前記第1のプリンタとは異なる第2のプリンタの制御データに変換する制御データ変換方法であって、
前記第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶する記憶手段を備えたコンピュータを用い、
所与のヒント情報に基づいて、前記複数の変換規則候補のうち、前記第1のプリンタに係る変換規則を検索し、
前記第1のプリンタに係る変換規則を参照し、前記第1のプリンタの制御のために出力された制御データを、第2のプリンタにおける制御データへ変換することを特徴とする制御データ変換方法。 - 第1のプリンタの制御のために出力された制御データを、前記第1のプリンタとは異なる第2のプリンタの制御データに変換するプログラムであって、
前記第2のプリンタの制御データに含まれる各制御データ項目の各データ値に対して、複数の候補プリンタの各々において対応する制御データ項目のデータ値を関連づけた複数の変換規則候補を記憶する記憶手段を備えたコンピュータに、
所与のヒント情報に基づいて、前記複数の変換規則候補のうち、前記第1のプリンタに係る変換規則を検索する検索手順と、
前記第1のプリンタに係る変換規則を参照し、前記第1のプリンタの制御のために出力された制御データを、第2のプリンタにおける制御データへ変換する手順と、
を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005338555A JP2007148514A (ja) | 2005-11-24 | 2005-11-24 | 制御データ変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005338555A JP2007148514A (ja) | 2005-11-24 | 2005-11-24 | 制御データ変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007148514A true JP2007148514A (ja) | 2007-06-14 |
Family
ID=38209899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005338555A Pending JP2007148514A (ja) | 2005-11-24 | 2005-11-24 | 制御データ変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007148514A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018028755A (ja) * | 2016-08-16 | 2018-02-22 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システムおよびプログラム |
-
2005
- 2005-11-24 JP JP2005338555A patent/JP2007148514A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018028755A (ja) * | 2016-08-16 | 2018-02-22 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システムおよびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4630417B2 (ja) | 情報処理装置及びその処理方法 | |
JP4963663B2 (ja) | 情報処理装置、情報処理方法、記憶媒体、プログラム | |
JP2006065839A (ja) | 情報処理装置及び印刷情報処理方法、並びにコンピュータプログラム | |
JP2005228243A (ja) | 情報処理装置及びその制御方法、プログラム | |
JP2006277344A (ja) | 情報処理装置及び情報処理方法、プログラム、記憶媒体 | |
JP2005235173A (ja) | 情報処理装置および方法とデバイスドライバ | |
US20110279862A1 (en) | Information processing apparatus and control method thereof, and storage medium | |
US20230214162A1 (en) | Control method and information processing apparatus | |
JP7040204B2 (ja) | アプリケーションプログラム | |
JP2006139675A (ja) | データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP7119490B2 (ja) | アプリケーションプログラム | |
JP2005267088A (ja) | 周辺機器ドライバ、周辺機器制御装置および周辺機器ドライバの更新方法 | |
JP2009053789A (ja) | 情報処理装置とプログラムとコンピュータ読み取り可能な記録媒体 | |
JP2005258669A (ja) | ダイレクト印刷装置、ダイレクト印刷方法、及びダイレクト印刷プログラム | |
JP2023018114A (ja) | プログラム、情報処理装置、及び情報処理装置の制御方法 | |
JP2005165466A (ja) | 印刷制御装置、印刷制御方法およびコンピュータプログラム | |
JP2007148514A (ja) | 制御データ変換装置 | |
JP2020009055A (ja) | 情報処理装置及びプログラム | |
JP7024547B2 (ja) | アプリケーションプログラム | |
JP5471421B2 (ja) | 印刷制御装置、印刷システム、及びプログラム | |
JP2006099220A (ja) | 印刷システム、印刷制御装置、プリンタドライバおよび印刷装置 | |
JP2006154954A (ja) | 情報処理装置及びその制御方法、プログラム | |
JP6437076B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP6007015B2 (ja) | 画像形成装置及び画像形成プログラム | |
KR100555765B1 (ko) | 프린터 드라이버를 이용한 폰트정보 변경방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071115 |