JP2007140644A - プリンタ制御装置、プリンタ制御方法及びプログラム - Google Patents

プリンタ制御装置、プリンタ制御方法及びプログラム Download PDF

Info

Publication number
JP2007140644A
JP2007140644A JP2005330124A JP2005330124A JP2007140644A JP 2007140644 A JP2007140644 A JP 2007140644A JP 2005330124 A JP2005330124 A JP 2005330124A JP 2005330124 A JP2005330124 A JP 2005330124A JP 2007140644 A JP2007140644 A JP 2007140644A
Authority
JP
Japan
Prior art keywords
printer
control
control parameter
item
conversion
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.)
Granted
Application number
JP2005330124A
Other languages
English (en)
Other versions
JP4645419B2 (ja
Inventor
Hidemoto Fujimoto
英基 藤本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005330124A priority Critical patent/JP4645419B2/ja
Priority to US11/389,141 priority patent/US20070109576A1/en
Priority to CNB2006100721284A priority patent/CN100414490C/zh
Publication of JP2007140644A publication Critical patent/JP2007140644A/ja
Application granted granted Critical
Publication of JP4645419B2 publication Critical patent/JP4645419B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】専用プリンタを前提としているアプリケーションプログラムがインストールされたシステムにおいて、当該専用プリンタに代替して異なる機種のプリンタを設置する際に発生する不具合を防止する。
【解決手段】プリンタ15の動作を制御するドライバモジュール20とアプリケーションモジュール30とを含み、ドライバモジュール20は、所定のプリンタ制御項目について、プリンタ15に応じた制御パラメタとプリンタ15とは異なる変換対象プリンタに応じた制御パラメタとを対応づける変換テーブルを参照し、アプリケーションモジュール30が出力する前記プリンタ制御項目に対する変換対象プリンタに応じた制御パラメタを取得し、前記変換テーブルに基づいて前記取得した制御パラメタをプリンタ15に応じた制御パラメタに変換して出力するプリンタ制御装置である。
【選択図】図2

Description

本発明は、業務アプリケーションなどのアプリケーションモジュールからの指示に基づいて、制御の対象となる制御対象プリンタの動作を制御するプリンタ制御装置、プリンタ制御方法及びプログラムに関する。
一般に、アプリケーションプログラムを開発する際、当該アプリケーションプログラムにおいて印刷を行うためのルーチンは、アプリケーションプログラムとは別個にインストールされているプリンタドライバプログラムを呼び出している。これによりアプリケーションプログラム内部においては、特定のプリンタに固有の仕様や制御命令などの情報を記述する必要がなくなり、プリンタの機種によらずに一定のプリント結果が得られるようになっている。
ところが、業務用アプリケーションプログラムの開発においては、当該業務用アプリケーションプログラムが、特定のプリンタを含めたシステムの一部として提供されることから、当該特定のプリンタ(専用プリンタ)が利用されることを前提として、一般的な開発規則に従わずに、当該専用プリンタ用のプリンタドライバ固有のサイズのメモリ空間を確保していたり、当該専用プリンタのプリンタドライバ固有のデータ構造にアクセスしたりしている場合がある。
特開2005‐55937号公報
こうした一般的な開発規則に従わないアプリケーションプログラムがインストールされていると、専用プリンタの故障などによって、専用プリンタとは異なる機種のプリンタ(置き換えプリンタ)が設置されると、アプリケーションプログラムが動作しなかったり、プリンタから意図通りの出力が得られなかったりという不具合が生じる。これは、専用プリンタと置き換えプリンタとのそれぞれのプリンタドライバのデータ構造の一部に相違があったり、プリンタドライバが必要とするメモリ空間のサイズが相違したりしているからである。
なお、特許文献1には、プリンタドライバの設定項目と設定値の入力を受けて、その設定値を変換することで、プリンタドライバのユーザインタフェース(UI)の設計変更を容易にする技術が開示されている。
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、専用プリンタを前提としているアプリケーションプログラムがインストールされたシステムにおいて、当該専用プリンタに代替して異なる機種のプリンタを設置する際に発生する不具合を防止できるプリンタ制御装置、プリンタ制御方法及びプログラムを提供することにある。
上記課題を解決するための本発明に係るプリンタ制御装置は、制御の対象となる制御対象プリンタの動作を制御するドライバモジュールと、アプリケーションモジュールと、を含むプリンタ制御装置であって、前記ドライバモジュールは、所定のプリンタ制御項目について、前記制御対象プリンタに応じた制御パラメタと、前記制御対象プリンタとは異なる変換対象プリンタに応じた制御パラメタと、を対応づける変換テーブルを参照する変換テーブル参照手段と、前記アプリケーションモジュールが出力する、前記プリンタ制御項目に対する前記変換対象プリンタに応じた制御パラメタを取得する制御パラメタ取得手段と、前記変換テーブルに基づいて、前記取得した制御パラメタを前記制御対象プリンタに応じた制御パラメタに変換して出力する制御パラメタ変換手段と、を含むことを特徴とする。
上記構成によれば、ドライバモジュールが変換対象プリンタに応じた制御パラメタを制御対象プリンタに応じた制御パラメタに変換して出力することで、変換対象プリンタを前提としているアプリケーションモジュールを実行する場合に、変換対象プリンタを制御対象プリンタに置き換える際に発生する不具合を防止できる。
また、上記プリンタ制御装置において、前記変換テーブルは、前記アプリケーションモジュールが出力するプリンタ制御情報における、前記プリンタ制御項目に対する制御パラメタの含まれる位置を表すアドレス情報を、前記プリンタ制御項目に対応づけており、前記制御パラメタ取得手段は、前記アドレス情報に基づいて、前記プリンタ制御命令に含まれる前記プリンタ制御項目に対する制御パラメタを取得することとしてもよい。これにより、アプリケーションモジュールがあるプリンタ制御項目について、変換対象プリンタに応じた制御パラメタをドライバモジュール標準の仕様とは異なるメモリ領域上の位置に記憶させた場合であっても、ドライバモジュールは正しく当該プリンタ制御項目に対する制御パラメタを取得することができる。
また、本発明に係る他のプリンタ制御装置は、制御の対象となる制御対象プリンタの動作を制御するドライバモジュールと、アプリケーションモジュールと、を含むプリンタ制御装置であって、前記ドライバモジュールは、前記制御対象プリンタとは異なる変換対象プリンタに応じて、前記アプリケーションモジュールが確保する制御情報用メモリ領域のデータサイズを取得するメモリ領域サイズ取得手段と、前記取得したデータサイズに基づいて前記制御情報用メモリ領域を識別し、当該識別した制御情報用メモリ領域に対してアクセスして、前記制御対象プリンタの動作を制御するためのプリンタ制御情報を読み書きするメモリ領域アクセス手段と、を含むことを特徴とする。
上記構成によれば、ドライバモジュールは、変換対象プリンタに応じてアプリケーションモジュールが確保した制御情報用メモリ領域のデータサイズに基づいて当該メモリ領域を識別してアクセスすることで、バッファオーバランなどの問題を起こすことなく、アプリケーションモジュールが出力したプリンタ制御情報を読み書きできる。
また、上記プリンタ制御装置において、前記ドライバモジュールは、所定のプリンタ制御項目と、当該プリンタ制御項目に対する前記制御対象プリンタに応じた制御パラメタと、を対応づける追加項目テーブルを参照する追加項目テーブル参照手段と、前記追加項目テーブルに基づいて、前記制御情報用メモリ領域の所定位置に記憶された前記プリンタ制御情報に対して、前記プリンタ制御項目に対する制御パラメタの情報を上書きする制御項目上書き手段と、をさらに含むこととしてもよい。上記構成によれば、例えば変換対象プリンタに応じてアプリケーションモジュールが確保した制御情報用メモリ領域より大きなデータサイズのメモリ領域を制御対象プリンタ用のドライバモジュールが予定していた場合であっても、変換対象プリンタ用の制御情報用メモリ領域内に入りきらない制御情報の少なくとも一部を実際に確保された制御情報用メモリ領域に上書きすることができる。これにより、制御対象プリンタに応じた制御情報用メモリ領域のデータサイズと変換対象プリンタに応じた制御情報用メモリ領域のデータサイズとが異なる場合であっても、必要な制御情報をメモリ領域に記憶させて、利用できる。
また、本発明に係るプリンタ制御方法は、アプリケーションモジュールを実行するコンピュータにおいて、制御の対象となる制御対象プリンタの動作を制御するプリンタ制御方法であって、所定のプリンタ制御項目について、前記制御対象プリンタに応じた制御パラメタと、前記制御対象プリンタとは異なる変換対象プリンタに応じた制御パラメタと、を対応づける変換テーブルを参照するステップと、前記アプリケーションモジュールが出力する、前記プリンタ制御項目に対する前記変換対象プリンタに応じた制御パラメタを取得するステップと、前記変換テーブルに基づいて、前記取得した制御パラメタを前記制御対象プリンタに応じた制御パラメタに変換して出力するステップと、を含むことを特徴とする。
また、本発明に係るプログラムは、アプリケーションモジュールを実行するコンピュータにおいて、制御の対象となる制御対象プリンタの動作を制御するプログラムであって、所定のプリンタ制御項目について、前記制御対象プリンタに応じた制御パラメタと、前記制御対象プリンタとは異なる変換対象プリンタに応じた制御パラメタと、を対応づける変換テーブルを参照する変換テーブル参照手段、前記アプリケーションモジュールが出力する、前記プリンタ制御項目に対する前記変換対象プリンタに応じた制御パラメタを取得する制御パラメタ取得手段、及び前記変換テーブルに基づいて、前記取得した制御パラメタを前記制御対象プリンタに応じた制御パラメタに変換して出力する制御パラメタ変換手段、としてコンピュータを機能させることを特徴とする。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の一実施形態に係るプリンタ制御装置を含むコンピュータシステムの一例を表す構成図である。当該コンピュータシステムは、図1に示すように、プリンタ制御装置10と、プリンタ制御装置10による制御の対象となる制御対象プリンタであるプリンタ15と、を含んで構成されている。
プリンタ制御装置10は、例えば一般的なパーソナルコンピュータ等であって、制御部11、記憶部12及びインタフェース部13を含んで構成されている。
ここで、制御部11は、CPU等であって、記憶部12に格納されたプログラムに従って動作する。特に本実施の形態においては、この制御部11は、後述するアプリケーションモジュール及びドライバモジュールの機能を実現している。
記憶部12は、制御部11によって実行されるプログラムを保持するコンピュータで読み取り可能な記憶媒体であって、RAMやROM等のメモリ素子とディスクデバイス等との少なくとも一方を含んで構成されている。また、記憶部12は、制御部11のワークメモリとしても動作する。さらに、記憶部12は、ドライバモジュールが参照する各種の設定ファイルを保持している。
インタフェース部13は、プリンタ15との間でデータ送受信を行う。特に、後述するドライバモジュールからの制御命令をプリンタ15に対し送信することで、プリンタ15の動作の制御を行う。
プリンタ制御装置10は、機能的に、図2に示すように、アプリケーションモジュール20及びドライバモジュール30を含んで構成されている。さらに、アプリケーションモジュール20は、機能的に、メモリ領域確保部21及び制御情報出力部22を含んで構成されている。また、ドライバモジュール30は、機能的に、制御パラメタ取得部31、制御パラメタ変換部32及び制御情報更新部33を含んで構成されている。これらの機能は、例えば記憶部12に記憶されたプログラムを制御部11が実行することで実現できる。
アプリケーションモジュール20は、所定の業務を行うモジュールである。ここでは、アプリケーションモジュール20が行う業務は、例えば帳票の印刷など、プリンタを使用するものを含んでいるものとする。さらに、アプリケーションモジュール20は、使用するプリンタとして、プリンタ15とは異なる専用プリンタ(変換対象プリンタ)を想定して開発されたものであるとする。
メモリ領域確保部21は、プリンタの動作を制御するためのプリンタ制御情報を記憶する制御情報用メモリ領域Mを、記憶部12内に確保する。メモリ領域確保部21は、例えばアプリケーションモジュール20の実行開始時などに制御情報用メモリ領域Mの確保を行う。確保された制御情報用メモリ領域Mは、アプリケーションモジュール20及びドライバモジュール30によるプリンタ制御情報の読み書きのためのアクセスの対象となる。
ここでは、制御情報用メモリ領域Mは、図2に示すように、基本領域MBと拡張領域MEとを含んでいるものとする。基本領域MBは、どのプリンタにも共通の制御項目として予め定められたプリンタ制御項目に対する制御パラメタを格納するためのメモリ領域であって、例えば給紙トレイ情報などのプリンタ制御項目に対する制御パラメタを格納できる。
また、拡張領域MEは、プリンタごとに独自のプリンタ制御項目に対する制御パラメタを格納可能なメモリ領域である。通常、アプリケーションモジュールが拡張領域MEを確保する場合、ドライバモジュールから当該ドライバモジュールが必要とするメモリ領域のデータサイズの情報を取得し、取得したデータサイズに応じて拡張領域MEを確保する。しかしながら、本実施形態におけるアプリケーションモジュール20は変換対象プリンタ専用に開発されたものであるため、実際に使用するプリンタに関わらず、変換対象プリンタ用のドライバモジュールが必要とするメモリ領域のデータサイズに応じて、拡張領域MEを確保するものとする。具体的にここでは、メモリ領域確保部21は、拡張領域MEとして1024バイトのメモリ領域を確保する例について説明する。
制御情報出力部22は、プリンタの動作を制御するために必要なプリンタ制御情報を、メモリ領域確保部21が確保した制御情報用メモリ領域Mに対して出力する。制御情報出力部22が出力するプリンタ制御情報には、例えば給紙トレイ情報などのプリンタ制御項目に対する、変換対象プリンタに応じた制御パラメタが含まれる。具体的に制御情報出力部22が出力するプリンタ制御情報の例については、後に詳しく説明する。
ドライバモジュール30は、アプリケーションモジュール20からの指示に基づいて、プリンタ15の動作を制御するモジュールである。具体的に、ドライバモジュール30は、メモリ領域確保部21が確保した制御情報用メモリ領域Mに格納されたプリンタ制御情報を利用して、プリンタ15の動作を制御する。
制御パラメタ取得部31は、制御情報用メモリ領域Mを参照して、アプリケーションモジュール20の出力するプリンタ制御情報に含まれる制御パラメタを取得する。制御パラメタ取得部31が制御パラメタを取得する場合、基本領域MBに格納された所定のプリンタ制御項目に対する制御パラメタについては、所定の格納場所を参照することで取得できる。一方、拡張領域MEに格納された制御パラメタについては、後述するように、変換テーブルを参照して当該制御パラメタの格納場所の情報を取得し、取得した格納場所を参照することで取得する。
制御パラメタ変換部32は、制御パラメタ取得部31が取得した制御パラメタを、必要に応じて変換して出力する。具体的に、制御パラメタ変換部32は、アプリケーションモジュール20が出力する変換対象プリンタに応じた制御パラメタを、変換テーブルを参照して、プリンタ15に応じた制御パラメタに変換する。制御パラメタ変換部32によって得られた変換後の制御パラメタは、プリンタ15の動作制御のために用いられる。
制御情報更新部33は、必要に応じて制御情報用メモリ領域Mに格納されたプリンタ制御情報を更新する。例えば、制御情報更新部33は、プリンタ15の動作制御に用いられるプリンタ制御項目のうち、アプリケーションモジュール20が拡張領域ME内に格納場所を確保しない項目について、当該プリンタ制御項目に対する制御パラメタを拡張領域ME内に上書きする。上書きしたプリンタ制御情報は、アプリケーションモジュール20が出力した情報と同様に、制御パラメタ取得部31による取得対象とすることができる。
次に、具体的に制御情報出力部22又は制御情報更新部33が出力するプリンタ制御情報と、出力されたプリンタ制御情報をドライバモジュール30が取得し、変換する処理の具体例について、説明する。
まず第1の例として、基本領域MBに含まれるプリンタ制御項目に対する制御パラメタの変換を行う場合について、給紙トレイ情報を例として説明する。制御情報出力部22は、基本領域MB内の、給紙トレイ情報の制御項目に対応する所定の格納場所に、給紙トレイIDの値を制御パラメタとして書き込む。この給紙トレイIDの値は、ドライバモジュールの標準仕様として定義されている場合もあるが、その場合でも数や種類に限りがあるため、プリンタ独自の値を用いる場合がある。ここでは、制御情報出力部22は、変換対象プリンタについて独自の値を給紙トレイIDの値として出力するものとする。したがって、プリンタ15に対応するドライバモジュール30が、この給紙トレイIDの値をそのまま用いてプリンタ15の動作制御を行おうとすると、プリンタ15に予期せぬ動作をさせたり、エラーを発生させたりすることとなる。
そこで、制御パラメタ変換部32は、制御パラメタ取得部31が基本領域MBから取得した給紙トレイIDの値を、プリンタ15に応じた値に変換する。具体的に、制御パラメタ変換部32は、変換テーブルを参照して給紙トレイIDの値を変換する。変換テーブルは、変換対象となるプリンタ制御項目について、変換対象プリンタに応じた制御パラメタと、プリンタ15に応じた制御パラメタと、を対応づけるテーブルである。変換テーブルは、例えば図3(a)に示すようなテキストファイル形式の設定ファイルとして、記憶部12に保持されている。図3(a)の設定ファイルの例においては、図3(b)に示す表にあるような制御パラメタの対応関係が規定されている。例えば制御情報出力部22が給紙トレイIDの値として102を出力した場合、制御パラメタ変換部32はこの値をプリンタ15の給紙トレイ2を表す制御パラメタに変換する。これにより、例えばアプリケーションモジュール20が給紙トレイIDとして102を指定して印刷ジョブを実行する場合、ドライバモジュール30は給紙トレイ2を用いてプリンタ15に印刷を実行させることができる。
次に、第2の例として、拡張領域MEに含まれるプリンタ制御項目に対する制御パラメタの変換を行う場合について、排紙トレイ情報を例として説明する。ここで、排紙トレイ情報については、基本領域MB内に格納場所が予め用意されていないものとする。この場合、プリンタに対して排紙トレイを指定する制御を行うために、制御情報出力部22は、拡張領域ME内に排紙トレイ情報のプリンタ制御項目に対応する制御パラメタとして、排紙トレイIDの値を格納する。ところが、この拡張領域ME内の制御パラメタの格納場所は、ドライバモジュールによって異なるため、第1の例と同様の処理を行おうとしても、そもそも制御パラメタ取得部31は拡張領域MEから目的とする制御パラメタを取得することができない。
そこで、制御パラメタ取得部31は、所定の変換テーブルを参照して、目的とする制御パラメタの格納場所を取得したうえで、取得した格納場所を参照して制御パラメタを取得する。この場合の変換テーブルは、例えば図4に示すような設定ファイルとして、記憶部12に保持されている。図4の例の設定ファイルの場合、その2行目及び3行目において、目的とする制御パラメタが拡張領域MEの先頭からのオフセット値64バイトの位置に記憶されており、そのデータサイズが2バイトであることが示されている。すなわち、排紙トレイIDの値は、拡張領域MEの先頭から数えて、64バイト目の位置から66バイト目の位置までの領域に格納されていることとなる。制御パラメタ取得部31は、拡張領域ME内の64バイト目から66バイト目までの位置を参照することで、制御情報出力部22が出力した排紙トレイIDの値を取得できる。
続いて、制御パラメタ変換部32は、制御パラメタ取得部31が取得した制御パラメタに対して、第1の例と同様の変換を行う。具体的に、図4の例の設定ファイルの場合、4行目以降が図3(a)と同様の制御パラメタの対応関係を表しており、制御パラメタ変換部32はこのような変換テーブルを参照して変換を行う。これにより、アプリケーションモジュール20が排紙トレイ情報のような基本領域MB内に格納場所が用意されていないプリンタ設定項目を独自に拡張領域MEに格納する場合であっても、ドライバモジュール30は正しく当該プリンタ設定項目に対する制御パラメタを取得し、プリンタ15に応じた制御パラメタに変換して出力することができる。
次に、第3の例として、アプリケーションモジュール20が指定しないプリンタ制御項目に関する例について、説明する。前述したように、メモリ領域確保部21は、変換対象プリンタに応じた1024バイトの拡張領域MEを記憶部12内に確保する。しかしながら、ドライバモジュールが利用する拡張領域のデータサイズは、対応するプリンタごとに異なる。そのため、ドライバモジュール30が本来1024バイトを超える拡張領域を利用することを予定している場合、そのままではドライバモジュール30は拡張領域MEの先頭から1024バイト目以降のメモリ領域にデータを読み書きする可能性があり、バッファオーバランなどの不具合が生じるおそれがある。
そこで、制御情報用メモリ領域Mにアクセスする制御パラメタ取得部31及び制御情報更新部33は、メモリ領域確保部21が確保する拡張領域MEのデータサイズの情報を取得し、取得したデータサイズに基づいて、確保された拡張領域MEを超えるメモリ領域へのアクセスを制限する。具体的に、ドライバモジュール30は、メモリ領域確保部21が確保する拡張領域MEのデータサイズの情報を、予め記憶部12に保持された設定ファイルなどにより取得する。図5は、このようなデータサイズの情報を含む設定ファイルの例であり、データサイズの情報が2行目に記載されている。以上の方法によれば、変換対象プリンタとプリンタ15との間でドライバモジュールが利用する拡張領域のデータサイズに違いがある場合であっても、ドライバモジュールが制御情報用メモリ領域以外のメモリ領域にアクセスしてしまう不具合を防ぐことができる。
しかしながら、この方法によれば、ドライバモジュール30は、本来拡張領域の1024バイト目以降の領域に格納すべきプリンタ制御項目に対する制御パラメタについては、取得することができない。そこで、制御パラメタ取得部31は、このようなプリンタ制御項目に対する制御パラメタを、予め記憶部12に保持された設定ファイルなどから取得することとしてもよい。具体的に、例えば図5に示す設定ファイルの例において、3行目以降はこのようなプリンタ制御項目及びこれに対応する制御パラメタの一例である。図5の例においては、ステープラ情報、パンチ情報及び排出トレイ情報のプリンタ制御項目に対する制御パラメタとして、現在の設定を維持することを表す「KEEP」という値が対応づけられている。制御パラメタ取得部31は、この値を取得することにより、アプリケーションモジュール20が当該プリンタ制御項目に対する制御パラメタを指定していない場合であっても、設定ファイルに記載された制御パラメタによりプリンタ15の動作を制御することが可能となる。
また、制御情報更新部33が、本来拡張領域の1024バイト目以降の領域に格納すべきプリンタ制御項目に対する制御パラメタを、1024バイトまでの拡張領域ME内の所定の位置に上書きすることとしてもよい。この場合、制御情報更新部33は、図5の例に示す設定ファイルに代えて、当該プリンタ制御項目と、これに対する制御パラメタと、制御パラメタを書き込む拡張領域ME内の所定位置を表す情報と、を対応づける設定ファイルを参照する。そして、当該設定ファイルを参照して得られた拡張領域ME内の所定位置に、制御パラメタの情報を書き込む。制御パラメタ取得部31は、拡張領域ME内の所定位置に格納されたデータを読み出すことで、当該プリンタ制御項目に対する制御パラメタを取得できる。なお、ここで、制御情報更新部33が制御パラメタの情報を書き込む位置をドライバモジュール30が使用しないプリンタ制御情報が格納されている位置にすることで、不要なデータとして設定されているプリンタ制御情報を上書きして必要な制御パラメタを拡張領域MEに記憶させることができる。
以上説明した本実施の形態に係るコンピュータシステムにおいて、プリンタの置き換えを行う場合、ユーザは以下のような作業を行う。すなわち、まず置き換え後の制御対象プリンタに対応し、上述したドライバモジュールの機能を実現するデバイスドライバのプログラムをインストールする。そして、アプリケーションモジュール20が変換対象プリンタに応じて出力する制御パラメタや、確保する拡張領域MEのデータサイズの情報と、置き換え後の制御対象プリンタに応じた制御パラメタや、必要な拡張領域のデータサイズの情報とに基づいて、変換テーブルやデータサイズの情報を含んだ設定ファイルを作成する。さらに、作成した設定ファイルを、ドライバモジュールが参照できるように記憶部12に保持させる。これにより、ユーザがアプリケーションモジュール20を修正する必要なく、プリンタ制御装置10は置き換え後の制御対象プリンタに対して不具合なく動作制御を行うことができる。
以上説明した本実施の形態によれば、ドライバモジュール30が変換対象プリンタに応じた制御パラメタを制御対象プリンタに応じた制御パラメタに変換して出力することで、変換対象プリンタに応じた制御パラメタの情報を使用するアプリケーションモジュール20を実行する場合であっても、プリンタ15の動作制御を行うことができる。これにより、変換対象プリンタをプリンタ15に置き換えることによる不具合を防止できる。また、ドライバモジュール30は、変換対象プリンタに応じてアプリケーションモジュール20が確保した拡張領域MEのデータサイズに基づいて当該メモリ領域にアクセスすることで、バッファオーバランなどの不具合の発生を防ぐことができる。
なお、以上の説明においては、1つの変換対象プリンタに応じて用意されたアプリケーションモジュール20の出力に対して、ドライバモジュール30がプリンタ15に応じた制御パラメタの変換等を行う例について説明したが、ドライバモジュール30が変換の対象とする変換対象プリンタは、複数あってもよい。この場合、ドライバモジュール30は、それぞれの変換対象プリンタに応じて用意された、複数の変換テーブルや拡張領域のデータサイズの情報を含む複数の設定ファイルの中から、プリンタ制御情報を出力するアプリケーションモジュールに応じて設定ファイルを選択する。そして、選択した設定ファイルを参照してプリンタの制御を行う。これにより、ドライバモジュール30は、それぞれ別の変換対象プリンタを使用する前提で開発された複数のアプリケーションモジュールに応じて、望ましいプリンタ15の制御を行うことができる。
さらに、複数の設定ファイルの中から参照する設定ファイルを選択する場合、ドライバモジュール30は、プリンタ制御情報に含まれるプリンタ名やメーカー名などのプリンタの機種に関する情報を取得し、取得した情報に基づいて参照する設定ファイルを選択することとしてもよい。これにより、ドライバモジュール30はアプリケーションモジュールと変換対象プリンタとの対応関係に関する情報を予め取得できない場合であっても、制御情報用メモリ領域の確保を行ったアプリケーションモジュールが使用を想定している変換対象プリンタに応じて、制御パラメタの変換や制御情報用メモリ領域へのアクセスを行うことができる。
また、以上の説明においては、ドライバモジュール30が参照する変換テーブルや拡張領域MEのデータサイズの情報は、テキストファイル形式の設定ファイルにより記憶部12に保持されることとしている。これにより、本実施形態に係るプリンタ制御装置が専用の設定情報編集手段などを用意していない場合であっても、ユーザは、テキストファイルを編集することで変換対象となる制御パラメタの値や制御情報用メモリ領域のデータサイズの情報を指定することができる。しかし、本発明の実施形態はこのような方法に限られず、例えば専用のユーザインタフェースを備えた設定情報編集手段が、ユーザの入力する変換テーブルやデータサイズの情報を取得し、取得した情報を記憶部12に保持させることとしてもよい。
また、以上の説明においては、アプリケーションモジュール20が確保する制御情報用メモリ領域は、基本領域と拡張領域に分かれており、拡張領域が各ドライバモジュールに応じたデータサイズが可変のメモリ領域であるとしたが、本実施形態に係るプリンタ制御装置はこのような場合でなくとも適用可能である。すなわち、例えば制御情報用メモリ領域が全体としてドライバモジュールごとに異なるデータサイズのメモリ領域である場合にも、当該メモリ領域のデータサイズや、当該メモリ領域内に格納されるプリンタ制御項目に応じた制御パラメタの格納位置の情報を、設定ファイル等を参照して取得することにより、アプリケーションモジュールの想定する変換対象プリンタに応じた制御対象プリンタの動作制御が可能となる。
本発明の実施の形態に係るプリンタ制御装置の概略の構成を表すブロック図である。 本発明の実施の形態に係るプリンタ制御装置の機能を表す機能ブロック図である。 本発明の実施の形態に係るプリンタ制御装置により参照される、変換テーブルを含む設定ファイルの一例である。 本発明の実施の形態に係るプリンタ制御装置により参照される、変換テーブルを含む設定ファイルの別の一例である。 本発明の実施の形態に係るプリンタ制御装置により参照される、制御情報用メモリ領域のデータサイズの情報を含む設定ファイルの一例である。
符号の説明
10 プリンタ制御装置、11 制御部、12 記憶部、13 インタフェース部、15 プリンタ、20 アプリケーションモジュール、21 メモリ領域確保部、22 制御情報出力部、30 ドライバモジュール、31 制御パラメタ取得部、32 制御パラメタ変換部、33 制御情報更新部。

Claims (6)

  1. 制御の対象となる制御対象プリンタの動作を制御するドライバモジュールと、アプリケーションモジュールと、を含むプリンタ制御装置であって、
    前記ドライバモジュールは、
    所定のプリンタ制御項目について、前記制御対象プリンタに応じた制御パラメタと、前記制御対象プリンタとは異なる変換対象プリンタに応じた制御パラメタと、を対応づける変換テーブルを参照する変換テーブル参照手段と、
    前記アプリケーションモジュールが出力する、前記プリンタ制御項目に対する前記変換対象プリンタに応じた制御パラメタを取得する制御パラメタ取得手段と、
    前記変換テーブルに基づいて、前記取得した制御パラメタを前記制御対象プリンタに応じた制御パラメタに変換して出力する制御パラメタ変換手段と、
    を含むことを特徴とするプリンタ制御装置。
  2. 請求項1に記載のプリンタ制御装置において、
    前記変換テーブルは、前記アプリケーションモジュールが出力するプリンタ制御情報における、前記プリンタ制御項目に対する制御パラメタの含まれる位置を表すアドレス情報を、前記プリンタ制御項目に対応づけており、
    前記制御パラメタ取得手段は、前記アドレス情報に基づいて、前記プリンタ制御命令に含まれる前記プリンタ制御項目に対する制御パラメタを取得する
    ことを特徴とするプリンタ制御装置。
  3. 制御の対象となる制御対象プリンタの動作を制御するドライバモジュールと、アプリケーションモジュールと、を含むプリンタ制御装置であって、
    前記ドライバモジュールは、
    前記制御対象プリンタとは異なる変換対象プリンタに応じて、前記アプリケーションモジュールが確保する制御情報用メモリ領域のデータサイズを取得するメモリ領域サイズ取得手段と、
    前記取得したデータサイズに基づいて前記制御情報用メモリ領域を識別し、当該識別した制御情報用メモリ領域に対してアクセスして、前記制御対象プリンタの動作を制御するためのプリンタ制御情報を読み書きするメモリ領域アクセス手段と、
    を含むことを特徴とするプリンタ制御装置。
  4. 請求項3に記載のプリンタ制御装置において、
    前記ドライバモジュールは、
    所定のプリンタ制御項目と、当該プリンタ制御項目に対する前記制御対象プリンタに応じた制御パラメタと、を対応づける追加項目テーブルを参照する追加項目テーブル参照手段と、
    前記追加項目テーブルに基づいて、前記制御情報用メモリ領域の所定位置に記憶された前記プリンタ制御情報に対して、前記プリンタ制御項目に対する制御パラメタの情報を上書きする制御項目上書き手段と、
    をさらに含むことを特徴とするプリンタ制御装置。
  5. アプリケーションモジュールを備えたコンピュータにおいて、制御の対象となる制御対象プリンタの動作を制御するプリンタ制御方法であって、
    所定のプリンタ制御項目について、前記制御対象プリンタに応じた制御パラメタと、前記制御対象プリンタとは異なる変換対象プリンタに応じた制御パラメタと、を対応づける変換テーブルを参照するステップと、
    前記アプリケーションモジュールが出力する、前記プリンタ制御項目に対する前記変換対象プリンタに応じた制御パラメタを取得するステップと、
    前記変換テーブルに基づいて、前記取得した制御パラメタを前記制御対象プリンタに応じた制御パラメタに変換して出力するステップと、
    を含むことを特徴とするプリンタ制御方法。
  6. アプリケーションモジュールを備えたコンピュータにおいて、制御の対象となる制御対象プリンタの動作を制御するプログラムであって、
    所定のプリンタ制御項目について、前記制御対象プリンタに応じた制御パラメタと、前記制御対象プリンタとは異なる変換対象プリンタに応じた制御パラメタと、を対応づける変換テーブルを参照する変換テーブル参照手段、
    前記アプリケーションモジュールが出力する、前記プリンタ制御項目に対する前記変換対象プリンタに応じた制御パラメタを取得する制御パラメタ取得手段、及び
    前記変換テーブルに基づいて、前記取得した制御パラメタを前記制御対象プリンタに応じた制御パラメタに変換して出力する制御パラメタ変換手段、
    としてコンピュータを機能させることを特徴とするプログラム。
JP2005330124A 2005-11-15 2005-11-15 プリンタ制御装置、プリンタ制御方法及びプログラム Expired - Fee Related JP4645419B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005330124A JP4645419B2 (ja) 2005-11-15 2005-11-15 プリンタ制御装置、プリンタ制御方法及びプログラム
US11/389,141 US20070109576A1 (en) 2005-11-15 2006-03-27 Printer controller, printer control method and storage medium
CNB2006100721284A CN100414490C (zh) 2005-11-15 2006-04-12 打印机控制器和打印机控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005330124A JP4645419B2 (ja) 2005-11-15 2005-11-15 プリンタ制御装置、プリンタ制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2007140644A true JP2007140644A (ja) 2007-06-07
JP4645419B2 JP4645419B2 (ja) 2011-03-09

Family

ID=38040468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005330124A Expired - Fee Related JP4645419B2 (ja) 2005-11-15 2005-11-15 プリンタ制御装置、プリンタ制御方法及びプログラム

Country Status (3)

Country Link
US (1) US20070109576A1 (ja)
JP (1) JP4645419B2 (ja)
CN (1) CN100414490C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010074500A (ja) * 2008-09-18 2010-04-02 Fuji Xerox Co Ltd 複数の機能を有する装置および制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294417A (ja) * 1991-03-25 1992-10-19 Canon Inc 情報処理装置及びその制御方法
JP2003015839A (ja) * 2001-06-29 2003-01-17 Minolta Co Ltd データ受信装置、印刷システム、データ受信方法及びデータ受信プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965771A (en) * 1986-08-18 1990-10-23 Minolta Camera Kabushiki Kaisha Printer controller for connecting a printer to an information processor having a different protocol from that of a printer
US5495561A (en) * 1993-06-21 1996-02-27 Taligent, Inc. Operating system with object-oriented printing interface
US6267463B1 (en) * 1998-05-11 2001-07-31 Hewlett-Packard Company Method and apparatus for transferring data between a printer and a replaceable printing component
US6847466B1 (en) * 2000-04-27 2005-01-25 Hewlett-Packard Development Company, L.P. Printing method
JP2002091725A (ja) * 2000-09-11 2002-03-29 Canon Inc 情報処理装置及びシステム及びその制御方法と周辺装置とプリンタドライバ
US7050181B2 (en) * 2001-04-25 2006-05-23 Printronix, Inc. Printer application adapter system
JP2003067167A (ja) * 2001-08-28 2003-03-07 Dainippon Screen Mfg Co Ltd 印刷システム、印刷装置、サーバ装置および印刷装置制御方法
JP3787544B2 (ja) * 2002-08-21 2006-06-21 キヤノン株式会社 情報処理装置、制御方法、実行プログラム
US20040184070A1 (en) * 2003-03-18 2004-09-23 Microsoft Corporation Network printer connection update scheme for printer clients
US20040190042A1 (en) * 2003-03-27 2004-09-30 Ferlitsch Andrew Rodney Providing enhanced utilization of printing devices in a cluster printing environment
JP2005267088A (ja) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd 周辺機器ドライバ、周辺機器制御装置および周辺機器ドライバの更新方法
US8437020B2 (en) * 2004-05-13 2013-05-07 Sharp Laboratories Of America, Inc. System and method for printer emulation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294417A (ja) * 1991-03-25 1992-10-19 Canon Inc 情報処理装置及びその制御方法
JP2003015839A (ja) * 2001-06-29 2003-01-17 Minolta Co Ltd データ受信装置、印刷システム、データ受信方法及びデータ受信プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010074500A (ja) * 2008-09-18 2010-04-02 Fuji Xerox Co Ltd 複数の機能を有する装置および制御装置

Also Published As

Publication number Publication date
CN100414490C (zh) 2008-08-27
JP4645419B2 (ja) 2011-03-09
US20070109576A1 (en) 2007-05-17
CN1967462A (zh) 2007-05-23

Similar Documents

Publication Publication Date Title
JP3873427B2 (ja) プリンタ制御システムにおける中間ファイルの加工装置及びその制御プログラムが記録された記録媒体
US20040210680A1 (en) Information processing apparatus, information processing method, and computer-readable memory medium storing program for realizing the method
US20070115492A1 (en) Information processing apparatus, method, and computer program
JP4926807B2 (ja) 情報処理装置及び情報処理方法
JP2006285476A (ja) 情報処理装置、方法、制御プログラム、媒体
US8566715B2 (en) Device, method and computer readable medium for processing commands in data described using a page description language
JP4513849B2 (ja) プリンター
JP7171272B2 (ja) 情報処理装置及びプログラム
JP4645419B2 (ja) プリンタ制御装置、プリンタ制御方法及びプログラム
US8145857B2 (en) Control of access to an external storage device
JP4793384B2 (ja) レーベル印刷装置
JP2003246123A (ja) 印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラム
JP2008225888A (ja) 電子機器
US9870184B2 (en) Information processing apparatus combining multiple filters, recording medium, and control method
JP2005094301A (ja) 画像形成装置
JP2007207003A (ja) 情報処理装置、ドライバ設定方法、記憶媒体、プログラム
JP3817499B2 (ja) 情報処理装置、制御方法、制御プログラム
JP3817500B2 (ja) 情報処理装置、制御方法、制御プログラム
JP6163853B2 (ja) プログラム及びデータ変換方法
US11449291B2 (en) Information processing apparatus generating parameters concerning sheet corresponding to type of printer using an interface module and application programming interface
JP2007076043A (ja) 印刷装置
JP2007102649A (ja) アプリケーションのファイル保存方法
JP2001058438A (ja) プリンタ制御装置及び方法
JP5088399B2 (ja) 印刷システム
JP2004021460A (ja) 情報処理装置および印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4645419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees