JP2009230426A - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2009230426A JP2009230426A JP2008074455A JP2008074455A JP2009230426A JP 2009230426 A JP2009230426 A JP 2009230426A JP 2008074455 A JP2008074455 A JP 2008074455A JP 2008074455 A JP2008074455 A JP 2008074455A JP 2009230426 A JP2009230426 A JP 2009230426A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- configuration information
- setting
- information
- setting value
- 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
【解決手段】印刷設定の設定値を格納する構造体の構成情報を管理する構成情報管理手段と、前記印刷設定の設定値を入力させるための画面を表示装置に表示させ、該画面に入力された各設定値を前記構成情報に基づいて前記構造体に登録する登録手段とを有することにより上記課題を解決する。
【選択図】図1
Description
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に印刷設定に関する情報を処理する情報処理装置、情報処理方法、及びプログラムに関する。
アプリケーション等によって編集又は作成された文書データの印刷にはプリンタドライバと呼ばれるソフトウェアプログラムが利用される。プリンタドライバは、印刷条件等を設定させるためのGUI(Graphical User Interface)である印刷設定ダイアログを表示させ、印刷設定ダイアログにおける設定内容に応じた印刷データを生成する。生成された印刷データは印刷ジョブの対象としてプリンタに送信される。
ところで、Windows(登録商標)等のOSでは、印刷設定ダイアログにおける設定値はDEVMODE構造体によって管理される。すなわち、プリンタドライバは、印刷設定ダイアログに対する設定値をDEVMODE構造体に格納する。また、プリンタドライバは、DEVMODE構造体に格納された設定値に基づいて印刷データを生成する。
斯かるDEVMODE構造体には、Public領域とPrivate領域とがある。Public領域は予めOS等において定められた領域であり、当該OS上で動作するプリンタドライバに対して共通のメンバ変数が定義された領域である。一方、Private領域は、そのメンバ変数をプリンタドライバごとに定義可能ないわゆる拡張領域である。したがって、Private領域では、各プリンタドライバに固有の機能に関する情報を管理するためのメンバ変数が定義される。
従来、DEVMODE構造体の定義内容(メンバ変数の定義)は、Public領域又はPrivate領域の別を問わずヘッダファイル内(すなわち、ソースコード内)において行われていた。
特開2007−241877号公報
しかしながら、従来、DEVMODE構造体の定義内容(メンバ変数の定義)は、Public領域又はPrivate領域の別を問わずヘッダファイル内(すなわち、ソースコード内)において行われていた。したがって、プリンタドライバの機能拡張等に応じてPrivate領域の定義(すなわち、ヘッダファイル)が更新された場合、当該機能拡張等に関連するメンバ変数を参照していないソースコード(既存のメンバ変数のみを参照しているソースコード)であっても、再コンパイル等が必要とされるという問題があった。
また、既存のメンバ変数の構造体内における位置を変化させないためには、新たなメンバ変数は構造体の最後に追加しなければならなかった。しかし、この場合、メンバ変数をその意味又はユーザインタフェースに応じた順番で定義することができず、構造体の定義内容が非常に分かりにくいものになってしまうという問題があった。
本発明は、上記の点に鑑みてなされたものであって、印刷設定の設定値を格納する構造体の取り扱いを簡便化することのできる情報処理装置、情報処理方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、印刷設定の設定値を格納する構造体の構成情報を管理する構成情報管理手段と、前記印刷設定の設定値を入力させるための画面を表示装置に表示させ、該画面に入力された各設定値を前記構成情報に基づいて前記構造体に登録する登録手段とを有することを特徴とする。
このような情報処理装置では、印刷設定の設定値を格納する構造体の取り扱いを簡便化することができる。
本発明によれば、印刷設定の設定値を格納する構造体の取り扱いを簡便化することのできる情報処理装置、情報処理方法、及びプログラムを提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、ホストコンピュータ10とプリンタ20とはLAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)によって接続されている。
ホストコンピュータ10は、プリンタ20に対して印刷ジョブの実行を要求するコンピュータであり、OS11、プリンタドライバ12、及び情報配置ファイル13等のソフトウェアを有する。
OS11は、いわゆるOS(Operating System)である。OS11は、DEVMODE構造体111を管理する。DEVMODE構造体111は、印刷設定(印刷条件)に関するパラメータの値を管理するための構造体である。
図2は、本実施の形態におけるDEVMODE構造体の定義例を示す図である。同図では、ヘッダファイル内における記述形式に準じて定義内容が示されている。したがって、プリンタドライバ12のコンパイル時は、同図に示される記述内容がコンパイラによって参照される。
同図に示されるように、DEVMODE構造体は、Public領域とPrivate領域とを有する。Public領域の構成(メンバ変数の構成)はOS11によって定められており、プリンタドライバのベンダは自由に変更することはできない。したがって、Pubic領域は、複数のプリンタドライバに対して共通のものとなる。なお、図中においてPublic領域の定義は空欄になっているが、便宜的なものである。
一方、Private領域の構成は、プリンタドライバのベンダが任意に定義可能である。したがって、プリンタドライバの製品ごとに異なりうる。図中の定義内容は、プリンタドライバ12に対応するものであるとする。同図に示されるように、本実施の形態では、Private領域のメンバ変数は、単なる1000バイトの配列である。当該1000バイト内におけるメンバ変数の構成については、ヘッダファイル内では定義されていない。
図1に戻る。プリンタドライバ12は、いわゆるプリンタドライバであり、UI部121及び描画処理部122等を有する。UI部121は、印刷設定(印刷条件等)の入力を受け付けるためのGUI(Graphical User Interface)である印刷設定ダイアログをホストコンピュータ10の表示装置に表示させる。UI部121は、印刷設定ダイアログに入力された設定値を、DEVMODE構造体111に登録(格納)する。描画処理部122は、DEVMODE構造体111に登録された設定値に基づいて、アプリケーションデータ(文書データ等)をプリンタ20が解釈可能な印刷データ(PDL(Page Description Language)データ)に変換する。すなわち、DEVMODE構造体111を介してUI部121から描画処理部122に対して印刷設定の設定値が伝達される。
情報配置ファイル13は、DEVMODE構造体のPrivate領域の構成情報(以下、「Private領域構成情報」という。)が格納されたファイルであり、ホストコンピュータ10の記憶装置に記録されている。図3は、Private領域構成情報の構成例を示す図である。
同図に示されるように、Private領域構成情報は、メンバ変数ごとに、変数名、オフセット、及びサイズが定義された情報である。変数名は、メンバ変数の名前である。オフセットは、Private領域におけるメンバ変数の相対的な位置であり、同図の例ではバイト単位で示されている。サイズは、メンバ変数のデータサイズである。同図の例では、データ型を記述することによりデータサイズが示されている。
また、図4は、Private領域構成情報の記述例を示す図である。同図は、図3に示される定義内容をXML(eXtensible Markup Language)によって記述した例を示す。但し、Private領域構成情報がXMLによって記述されなければならないことを意図するものではない。
図4の記述例では、一つのitem要素が一つのメンバ変数の定義に対応する。すなわち、item要素のname属性の値は変数名を、offset属性の値はオフセットを、size属性の値はサイズを示す。
以上のように、ホストコンピュータ10では、DEVMODE構造体のPrivate領域の構成は、外部ファイル(プリンタドライバ12のソースコードに対して外部であるという意味である。)である情報配置ファイル13において定義されている。
したがって、Private領域に新たなメンバ変数を追加する場合、次のような作業を行えばよい。図5は、Private領域にメンバ変数を追加する際の作業内容を説明するための図である。
同図に示されるように、作業者は、新たなメンバ変数に対する定義(記述)を情報配置ファイル13に追加すればよい(S101)。ここでは、当該メンバ変数を追加する位置(メンバ変数内の順番)に応じてオフセットの決定(算出)が必要である。また、当該メンバ変数以降のメンバ変数のオフセットについても修正が必要である。
また、Private領域の既存のメンバ変数を削除する場合、次のような作業を行えばよい。図6は、Private領域のメンバ変数を削除する際の作業内容を説明するための図である。
同図に示されるように、作業者は、削除対象とされたメンバ変数に対する定義(記述)を情報配置ファイル13より削除すればよい(S201)。ここでは、当該メンバ変数以降のメンバ変数のオフセットの修正も必要である。
図5又は図6の作業により、情報配置ファイル13及びヘッダファイルの定義は、次のように変更される。図7は、情報配置ファイル及びヘッダファイルの変更例を示す図である。同図において、(A)は情報配置ファイル13の定義内容(すなわち、Private領域構成情報)を示し、図3に対応する。また、(B)はヘッダファイルの定義内容を示し、図2に対応する。
同図では、(A)に示されるように、1番目に4バイト(DWORD)のメンバ変数mbmCheckSumが追加され、メンバ変数mbmRotatedが削除された例が示されている。但し、斯かる変更は、(B)に示されるようにヘッダファイルの定義には影響しない。ヘッダファイル内では、1000バイトのメモリを確保することのみが定義されており、1000バイト内の構成については特定していないからである。したがって、メンバ変数の追加又は削除に応じてプリンタドライバ12のコンパイルは必要ではない。
以下、プリンタドライバ12がホストコンピュータ10に実行させる処理手順について説明する。図8は、プリンタドライバのUI部による処理手順を説明するためのフローチャートである。
ステップS301において、UI部121は、印刷設定ダイアログを表示させ、印刷設定ダイアログを介して印刷設定の設定値の入力をユーザより受け付ける。なお、印刷設定ダイアログの表示は、印刷対象とされる文書データを処理対象としているアプリケーションからの要求に応じて行われる。
印刷設定ダイアログにおいてOKボタンが押下される等により、印刷設定の完了が通知されると、UI部121は、情報配置ファイル13を読み込み(S302)、印刷設定ダイアログにおいて設定された各設定値に対応する各メンバ変数のオフセットを取得する(S303)。続いて、各設定値を、メモリ上のDEVMODE構造体111のPrivate領域において各メンバ変数のオフセットに対応する位置に書き込む(S304)。その後UI部121は、描画処理部122に対して描画処理の実行を要求する。
続いて、図9は、プリンタドライバの描画処理部による処理手順を説明するためのフローチャートである。同図の処理は、図8の処理に続いて行われる。
UI部121からの描画処理の実行要求に応じ、描画処理部122は、情報配置ファイル13を読み込み(S401)、各設定値に対応する各メンバ変数のオフセットを取得する(S402)。続いて、描画処理部122は、メモリ上のDEVMODE構造体111において各設定値が登録(格納)されている位置をオフセットに基づいて判定し、判定された位置より各設定値を取り出す(S403)。続いて、描画処理部122は、取得された設定値に応じた描画処理を実行し、印刷データを生成する(S404)。
上述したように、本実施の形態によれば、プリンタドライバ12は、情報配置ファイル13に格納されたPrivate領域構成情報に基づいてPrivate領域のメンバ変数の位置を判断する。したがって、Private領域の構成を変更した場合でも、当該変更が情報配置ファイル13に反映されることにより、プリンタドライバ12は、当該変更に応じてDEVMODE構造体111を扱うことができる。
したがって、メンバ変数の追加又は削除や、配列長の変更等に応じた作業を簡便化することができる。
また、図10に示されるように、プリンタドライバの製品ごとに情報配置ファイル13を定義することで、DEVMODE構造体のヘッダファイルにおける定義を共通化することができる。同図では、プリンタドライバAに対して情報配置ファイル13aが、プリンタドライバBに対して情報配置ファイル13bが定義された例が示されている。なお、プリンタドライバと情報配置ファイル13との対応づけは、情報配置ファイル13のファイル名や、情報配置ファイル13の保存場所(フォルダ名等)に基づいて行えばよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 ホストコンピュータ
11 OS
12 プリンタドライバ
13 情報配置ファイル
20 プリンタ
121 UI部
122 描画処理部
11 OS
12 プリンタドライバ
13 情報配置ファイル
20 プリンタ
121 UI部
122 描画処理部
Claims (7)
- 印刷設定の設定値を格納する構造体の構成情報を管理する構成情報管理手段と、
前記印刷設定の設定値を入力させるための画面を表示装置に表示させ、該画面に入力された各設定値を前記構成情報に基づいて前記構造体に登録する登録手段とを有する情報処理装置。 - 前記構成情報に基づいて前記構造体より前記各設定値を取得し、取得された各設定値に基づいてプリンタに解釈可能な印刷データを生成する印刷データ生成手段を有する請求項1記載の情報処理装置。
- 前記構成情報は、前記各設定値に対応する各メンバ変数について、前記構造体における位置を示す情報を含む請求項1又は2記載の情報処理装置。
- コンピュータが実行する情報処理方法であって、
前記印刷設定の設定値を入力させるための画面を表示装置に表示させ、該画面に入力された各設定値を、構成情報管理手段によって管理される、印刷設定の設定値を格納する構造体の構成情報に基づいて前記構造体に登録する登録手順を有する情報処理方法。 - 前記構成情報に基づいて前記構造体より前記各設定値を取得し、取得された各設定値に基づいてプリンタに解釈可能な印刷データを生成する印刷データ生成手順を有する請求項4記載の情報処理方法。
- 前記構成情報は、前記各設定値に対応する各メンバ変数について、前記構造体における位置を示す情報を含む請求項4又は5記載の情報処理方法。
- 請求項4乃至6いずれか一項記載の情報処理方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008074455A JP2009230426A (ja) | 2008-03-21 | 2008-03-21 | 情報処理装置、情報処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008074455A JP2009230426A (ja) | 2008-03-21 | 2008-03-21 | 情報処理装置、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009230426A true JP2009230426A (ja) | 2009-10-08 |
Family
ID=41245737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008074455A Pending JP2009230426A (ja) | 2008-03-21 | 2008-03-21 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009230426A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8928933B2 (en) | 2011-09-08 | 2015-01-06 | Ricoh Company, Ltd. | Information processing apparatus for generating printing data by different methods, computer readable recording medium and method of controlling the information processing apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003058332A (ja) * | 2001-08-09 | 2003-02-28 | Ricoh Co Ltd | プリンタ制御方法及び該方法を実行するためのプログラムを格納したコンピュータ読み取り可能な記憶媒体 |
JP2005228202A (ja) * | 2004-02-16 | 2005-08-25 | Seiko Epson Corp | 駆動条件設定装置、駆動条件設定方法、駆動条件設定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム |
US20080068655A1 (en) * | 2006-09-14 | 2008-03-20 | Jun Kimura | Data processing apparatus and recording medium |
-
2008
- 2008-03-21 JP JP2008074455A patent/JP2009230426A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003058332A (ja) * | 2001-08-09 | 2003-02-28 | Ricoh Co Ltd | プリンタ制御方法及び該方法を実行するためのプログラムを格納したコンピュータ読み取り可能な記憶媒体 |
JP2005228202A (ja) * | 2004-02-16 | 2005-08-25 | Seiko Epson Corp | 駆動条件設定装置、駆動条件設定方法、駆動条件設定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム |
US20080068655A1 (en) * | 2006-09-14 | 2008-03-20 | Jun Kimura | Data processing apparatus and recording medium |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8928933B2 (en) | 2011-09-08 | 2015-01-06 | Ricoh Company, Ltd. | Information processing apparatus for generating printing data by different methods, computer readable recording medium and method of controlling the information processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8867077B2 (en) | Information processing apparatus, system | |
US8786869B2 (en) | Updateable printer driver, information processing apparatus, and computer-readable recording medium recording therein printer driver | |
JP5825565B2 (ja) | プリンタドライバ及びプリンタドライバの印刷機能の追加方法 | |
JP5621793B2 (ja) | 印刷システム、印刷制御装置、および印刷制御プログラム | |
JP5924892B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2008009967A (ja) | 情報処理装置、情報処理システム、プログラム及びその記録媒体 | |
US8982383B2 (en) | Method and program for a universal job definition format (JDF) printer driver | |
JP2012245695A (ja) | 画像出力装置、プログラムおよびシステム | |
US9990570B2 (en) | Information processing apparatus that determines spooling completion, and method for information processing apparatus | |
JP2015184915A (ja) | 情報処理装置及びその方法、プログラム | |
JP2006268586A (ja) | 処理態様指定情報変換プログラム及び処理態様指定情報変換方法 | |
JP2018067258A (ja) | 印刷管理装置及びプログラム | |
JP2017033052A (ja) | 画像形成装置における制御装置およびプログラム | |
JP4425808B2 (ja) | 印刷情報処理装置、印刷情報処理プログラム及び記録媒体 | |
JP2007241877A (ja) | 印刷制御装置、印刷制御方法、印刷制御プログラム及び記録媒体 | |
JP2009230426A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4903064B2 (ja) | 印刷制御装置、印刷制御方法、及び印刷制御プログラム | |
JP5020131B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US9354834B2 (en) | Printing with virtual printer | |
JP2007256991A (ja) | データ処理装置、プログラム、コンピュータ読み取り可能な記録媒体 | |
JP6675081B2 (ja) | 画像形成装置のファームウェア更新システム及びドライバプログラム | |
JP4973821B1 (ja) | 印刷制御装置およびプログラム | |
JP2012141732A (ja) | 情報処理装置、制御方法、及びプログラム | |
JP5353997B2 (ja) | 情報処理装置、情報処理システム、プログラム及びその記録媒体 | |
US20210342106A1 (en) | Program, method, and device for generating job data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120522 |