JP4963663B2 - 情報処理装置、情報処理方法、記憶媒体、プログラム - Google Patents

情報処理装置、情報処理方法、記憶媒体、プログラム Download PDF

Info

Publication number
JP4963663B2
JP4963663B2 JP2007277906A JP2007277906A JP4963663B2 JP 4963663 B2 JP4963663 B2 JP 4963663B2 JP 2007277906 A JP2007277906 A JP 2007277906A JP 2007277906 A JP2007277906 A JP 2007277906A JP 4963663 B2 JP4963663 B2 JP 4963663B2
Authority
JP
Japan
Prior art keywords
character string
function
display
application
printer driver
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.)
Expired - Fee Related
Application number
JP2007277906A
Other languages
English (en)
Other versions
JP2009104541A5 (ja
JP2009104541A (ja
Inventor
央 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007277906A priority Critical patent/JP4963663B2/ja
Priority to US12/255,489 priority patent/US20090109473A1/en
Publication of JP2009104541A publication Critical patent/JP2009104541A/ja
Publication of JP2009104541A5 publication Critical patent/JP2009104541A5/ja
Application granted granted Critical
Publication of JP4963663B2 publication Critical patent/JP4963663B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission

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)
  • Record Information Processing For Printing (AREA)

Description

本発明は、印刷設定を行うためのユーザインタフェースを制御する情報処理装置の情報処理に関するものである。
Microsoft社のオペレーティングシステム(OS)であるMicrosoft Windows(登録商標)Vistaにおいて印刷システムが大きく変更された。
従来のGDI(Graphic Device Interface)ベースの印刷システムと置換可能な、XPS(XML Paper Specification)ベースの新しい印刷システムが導入された(下記非特許文献1)。
XPSとは、電子文書フォーマットの一つであり、その中身は、文書構造、描画情報、印刷設定などの情報を保持するXMLとビットマップやフォントなどのバイナリリソースといった様々なパーツから構成される。
XPSを構成する特に重要なパーツを図28に示す。
図28は、情報処理装置で処理可能な電子文書フォーマットの構造を説明する図である。
図28において、1つの電子文書は、ジョブに対応すべくFixedDocumentSequenceパーツを必ず存在し、ドキュメントに対応すべくFixedDocument1〜DocumentNパーツを含み、さらに、各ドキュメントに対応すべくFixedDocument1〜DocumentNパーツは、FixedPage1〜FixedPageNパーツを含む構成となっている例である。
さらに、これら任意のFixedDocumentSequenceパーツ、FixedDocumentパーツ、FixedPageパーツには、図29に示すように、各々印刷設定を関連付けることができる。
図29は、図28に示す電子文書の各パーツに関連づけ可能な印刷設定の一例を示す図である。
図29に示すように、電子文書の各パーツに関連づけ可能な印刷設定をプリントチケットと呼ぶ。
ここで、FixedDocumentSequenceパーツに関連付けた印刷設定をジョブレベルのプリントチケットと呼ぶ。また、FixedDocumentパーツに関連付けた印刷設定をドキュメントレベルのプリントチケットと呼ぶ。さらに、FixedPageパーツに関連付けた印刷設定をページレベルのプリントチケットと呼ぶ。
なお、ジョブレベルのプリントチケットはジョブの印刷設定を行う。ドキュメントレベルのプリントチケットはドキュメントの印刷設定を行う。ページレベルのプリントチケットはページの印刷設定を行う。
次に、従来の印刷設定形式とプリンタドライバのインタフェースについて説明する。
従来のMicrosoft Windows(登録商標)の印刷システムにおいて、Win32アプリケーションが使用するDEVMODEと呼ばれるメモリブロックが印刷設定データとして重要な役割を担ってきた。
図30は、従来の印刷システムにおけるメモリブロックを説明する図である。本例は、Win32アプリケーションが使用するDEVMODE全体像を簡略化して示したものである。
DEVMODE構造体の特徴は、仕様が公開されているパブリック部301と仕様が公開されないプリンタドライバのみアクセス可能なプライベート部302の2つの領域から構成されることにある。
一般に、DEVMODE構造体のパブリック部301は、用紙、用紙の向き、解像度などのごく基本の部分を記述するのみで、大部分を占める残りの全てをプライベート部302に記述する。
図31は、図30に示したDEVMODEパブリック部301の一例を示す図である。
図31に示すように、DEVMODE構造体はMicrosoft社によってC言語のヘッダファイルとして厳密に規定されている。
DEVMODEパブリック部301には、スコープの概念が無いことわかる。一方、プリンタドライバを開発する各社が独自に定義するプライベート部302は、この構造体の直後に続き、その拡張サイズはdmDriverExtraで指定される。
Microsoft Windows(登録商標)Vista から導入されたプリントチケットは、このようなレガシーな印刷設定フォーマットに替わる新しいフォーマットである。
以上をまとめると、従来形式であるDEVMODEは、(1)〜(8)に示す特徴を備える。
(1)構造体で記述される。大部分を占めるプライベート部の仕様は非オープン。
(2)バイナリなので可読性なし。
(3)プリンタドライバのみアクセス可能。
(4)各印刷設定にスコープの概念が無い。
という次第であるのに対し、新形式であるプリントチケットは、XMLで記述される。
(5)仕様はオープン。
(6)テキストなので可読性あり。
(7)プリンタドライバ以外にアプリケーションなども自由にアクセス可能。
(8)各印刷設定にスコープを指定する。
このようにプリントチケットはDEVMODEに比べ大きく機能拡張されている。
従来印刷システムでは、アプリケーションがデバイスの能力情報を取得するために、DeviceCapabilities APIが用意されていた。
アプリケーションは、DeviceCapabilities APIを用いて、デバイスのサポート用紙サイズ情報や両面印刷の能力情報などを取得し、アプリケーションの印刷画面を構築していた。
DeviceCapabilities API では、Windows(登録商標)システムで定義された特定の機能の情報は取得できるが、それ以外の能力情報が取得できないという課題があった。
これに対して、Windows(登録商標)Vistaでは、DeviceCapabilitiesに代わる仕組みとして、PrintCapabilitiesと呼ばれるXML形式のデバイス能力情報を導入している。
図32は、情報処理装置にインストールされるプリンタドライバがアプリケーションに返すPrintCapabilitiesの一例を示す図である。
図32において、1つのPrintCapabilitiesタグ1301内に、機能を示すFeatureタグ1302が複数存在する。さらにFeatureタグ1302内の複数のOptionタグ1303が機能の設定項目候補となる。
PrintCapablitiesはデバイスでサポートしている機能とそれらの設定項目のすべてを列挙する。アプリケーションは、このPrintCapabilitiesを元に各機能の設定を選択し、印刷設定としてプリントチケットを作成する。
また、PrintCapabilitiesでは、機能の一覧とその選択肢に加え、DisplayNameプロパティを記述する仕様がある。DisplayNameプロパティには、それぞれの機能と設定項目に対する表示用の文字列を格納する。アプリケーションでは、プリンタドライバから取得したPrintCapabilities内のDisplayNameプロパティを参照し、印刷設定画面のUI文字列として表示することができる。
DeviceCapabilities APIに比べ、PrintCapabilitiesでは、システムの規定の印刷機能以外の能力およびUI表示用の文字列が取得できるので、より高度な印刷設定画面を構成することができる。
図33は、情報処理装置における印刷制御モジュールの構造を説明するブロック図である。本例は、印刷設定の処理において、アプリケーション層からOS層、そしてドライバ層に至る各階層でDEVMODEやプリントチケットがどのようにやり取りされるかを示した図である。
まず、左上にあるWin32アプリケーション504がWin32API503を介して、プリンタドライバ501とDEVMODEをやり取りする。また、デバイスの能力情報をWin32API503 APIを通じてDeviceCapabilitiesを取得している。
一方、右上にあるフローは、プリントチケット対応アプリケーション506がプリンタドライバ501とプリントチケット、PrintCapabilitiesをやり取りする処理例である。
プリントチケット対応アプリケーション506は、プリントチケットAPI505を通じて能力情報をPrintCapabilitiesで取得し、印刷設定をプリントチケットにより指定する。
実際にプリントチケット対応アプリケーション506からプリンタデバイスに印刷する場合は、プリントチケット対応アプリケーション506とプリンタドライバのそれぞれの印刷設定画面を操作して、ユーザは最終的な印刷設定を確定させる。
このとき、プリントチケット対応アプリケーション506の印刷設定UIでは、プリンタドライバのUIの内容と同じ機能を選択させる場合がある。
このようなアプリケーションとプリンタドライバの重複する機能をユーザに通知する技術として、下記特許文献1に記載のような技術がある。
特許文献1では、支援ソフトを使ってプリンタドライバとアプリケーションUIを同時に表示させることでユーザに重複した機能を通知している。
特開平11−143664号公報 http://www.microsoft.com/japan/whdc/device/print/default.mspx
情報処理装置にインストールされているアプリケーションからプリンタドライバのUIを情報処理装置に接続される表示装置に表示すると、たとえ同じ機能を示すものであっても異なる文字列で機能名が表示されることがある。このため、ユーザにとって操作ミスを誘発する要因となっている。
例えば、複数部数印刷する場合に、1部毎に出力する機能を示す用語が、「部単位印刷」と「ソート」となっている場合である。これは一例であって、その他にも1枚の物理用紙に複数の論理ページを割り付けて印刷する機能を示す用語が、「割り付け印刷」と「1枚あたりのページ数」となっている場合などがある。
その他の問題としては、アプリケーションの表示言語と、プリンタドライバの表示言語が異なる場合にも、対応付けがわかりづらいという課題がある。
上記特許文献1の技術では、同時に表示させて重複した機能がわかるようになってはいるが、特別な支援ソフトを必要があり、ユーザにとって煩わしい作業が発生していた。
先に述べたとおり、オペレーティングシステム、例えばWindows(登録商標)Vistaでは、PrintCapabilitiesを使ってプリンタの能力情報をアプリケーションに通知する際に、各機能のUI表示文字列を提供する仕組みがある。
本機能を使用すると、プリンタドライバの用語でアプリケーションの用語は統一される。
しかしながら、この仕組みをアプリケーションのUIで使用すると、印刷対象となるプリンタのドライバ毎に表示するUI文字列が異なることが考えられる。特に、出力デバイスが複数のプリンタベンダーのものである場合などである。
このようにアプリケーションで出力デバイスを切り替えると、同じ機能でも異なる文言で表示され、一つのアプリケーション内で一貫性がなくなるため、ユーザにとってわかりづらいという課題があった。このように、アプリケーションとプリンタドライバとの関係において、ユーザインタフェースを介してアプリケーションから印刷機能を設定する場合と、プリンタドライバから印刷機能を設定する場合とで、UI上に表示される文字列が異なる場合が生じる。このため、ユーザが印刷設定項目を明確に認識できないという課題があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、プリンタドライバの機能で表示される文字をアプリケーションの機能で表示する文字に合わせて表示できる仕組みを提供することである。
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
プリンタドライバよりプリンタの能力情報を取得する第1の取得手段と、前記第1の取得手段より取得したプリンタの能力情報に基づき機能に対応した文字列情報を取得する第2の取得手段と、プリンタドライバの画面に表示される機能の文字を前記第2の取得手段により取得された文字列情報の文字で表示させるための指示を行う指示手段と、
を有することを特徴とする。
本発明によれば、プリンタドライバの機能で表示される文字をアプリケーションの機能で表示する文字に合わせて表示できる。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の第1実施形態を示す情報処理装置、印刷装置を含むプリンタ制御システムの一例を示すブロック図である。
なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
図1において、300はホストコンピュータで、双方向インタフェース21Aを介してプリンタ150と通信可能に接続されている。
ホストコンピュータ300において、1はCPUで、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行する。なお、CPU1は、システムバス4に接続される各デバイスを総括的に制御する。また、外部メモリ11は、フレキシブルディスクやハードディスク等が含まれる。
また、ROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されている。さらに、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等が記憶されている。
また、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データが記憶されている。
2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。また、RAM2は、オプションRAMを装着することで、メモリ容量を増量することができるように構成されている。
5はキーボードI/Fで、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はディスプレイI/Fで、ディスプレイ10の表示を制御する。
7は外部メモリI/Fで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶するハードディスク(HD)、フレキシブルディスク(FD)等の外部メモリ11とのアクセスを制御する。
8はプリンタI/Fで、所定の双方向インタフェース21Aを介してプリンタ150に接続されて、プリンタ150との通信制御処理を実行する。
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、ディスプレイ10上でのWYSIWYGを可能としている。
また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
ユーザは、印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行う。
プリンタ150において、12はプリンタCPU(CPU)で、システムバス15に接続されるデバイスを総括的に制御する。
また、CPU12は、ROM14のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ21に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部17に出力情報としての画像信号を出力する。
また、このROM14のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM14のフォント用ROMには出力情報を生成する際に使用するフォントデータ等を記憶し、ROM14のデータ用ROMにはハードディスク等の外部メモリ21がないプリンタの場合には、ホストコンピュータ300上で利用される情報等を記憶している。
CPU12は、入力部16を介してホストコンピュータ300との通信処理が可能となっており、プリンタ150内の情報等をホストコンピュータ300に通知可能に構成されている。
13はRAMで、CPU12の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
なお、RAM13は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ21は、外部メモリI/F18によりアクセスが制御される。
外部メモリ21は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。17は印刷部インタフェースで、印刷部19へ画像データを出力するとともに、印刷部19の各種センサから検出される情報をCPU12に通知する。
また、20は操作部で、操作のためのスイッチおよびLED表示器等が配されている。また、前述した外部メモリ21は1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。
さらに、図示しないNVRAMを有し、操作パネル20からのプリンタモード設定情報を記憶するようにしてもよい。なお、操作パネル20は、タッチパネル型の液晶ディスプレイを備え、ユーザに機能設定画面を表示可能に構成されている。
図2は、図1に示したホストコンピュータ300のモジュール構成を説明するブロック図である。本例は、ホストコンピュータ300における典型的な印刷データ生成処理を行うモジュールに対応する。
図2において、アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在する。これらのファイルは、OSやそのモジュールを利用するモジュールによってRAM2にロードされCPU1により実行されるプログラムモジュールである。
また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ11に追加することが可能となっている。
なお、外部メモリ11は、例えばハードディスク(HD)等で構成される。
外部メモリ11に保存されているアプリケーション201は、RAM2にロードされてCPU1により実行される。
一方、アプリケーション201からプリンタ150に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
グラフィックエンジン202は、プリンタ毎に用意されたプリンタドライバ203を、外部メモリ11からRAM2にロードし、プリンタドライバ203は、アプリケーション210の出力をプリンタの制御コマンドに変換する。
このようにして、プリンタドライバ203により変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経て双方向インタフェース21A経由でプリンタ150へ出力される仕組みとなっている。
図3は、図1に示したホストコンピュータ300にインストールされるアプリケーションと、各プリンタ用のプリンタドライバとの関係を説明する模式図である。
図3において、アプリケーション311は、オペレーティングシステム(OS)312が提供する各種関数(API)をコールして処理を行う。OS312は印刷に関わる処理を選択されているプリンタのプリンタドライバ313、314が提供する関数(DDI)をコールして処理を行い、アプリケーション311から選択されたプリンタへの印刷が可能となっている。なお、図中では、プリンタドライバ313とプリンタドライバ314の違いを、プリンタドライバA、プリンタドライバBと表記する。
このときプリンタドライバ313,314とOS312、及び、アプリケーション間で、図4に示すようにプリンタの印刷設定データがやり取りされる。
図4は、図1に示したホストコンピュータ300にインストールされるアプリケーションと、各プリンタ用のプリンタドライバとの関係を詳細に説明する模式図である。
図4において、Win32アプリケーション504やプリントチケット対応アプリケーション506から印刷設定する場合については図33にて説明済みなので、ここでは説明を省略する。
プリンタドライバ501にプリントチケットの入出力を直接管理するプリントチケット入出力部901を設ける。そして、図5に示すようなOSの関与しない独自のインタフェースを設ける。
この新インタフェース対応アプリケーション902(以下、アプリケーション902と呼ぶ)は、プリントチケットAPI505を呼び出すことなく、図5に示すプリンタドライバが公開する独自のインタフェースを呼び出す。これにより、アプリケーション902から直接プリントチケットをプリントチケット入出力部901へ渡すことができる。
図5、図6は、本実施形態を示す情報処理装置にインストールされるプリンタドライバが公開するインタフェース関数の一例を示す図である。また、本例は、プリンタドライバが公開する独自のインタフェースの一部である。
図5は、プリンタドライバが公開する独自のインタフェース関数をC言語の関数として定義している例である。OSが定義するプリンタドライバインタフェース関数DrvDocumentPropertySheetsとは名前が異なるだけで関数仕様はほぼ同等なので、ここでは説明を省略する。
なお、DrvDocumentPropertySheets関数の詳細については、例えばhttp://msdn2.microsoft.com/en-us/library/ms801131.aspxにて確認することができる。
図6は、図5に示した関数で使用される構造体の一部を説明する図である。
本例は、OSが定義するDOCUMENTPROPERTYHEADER構造体を模した仕様になっている例である。なお、DOCUMENTPROPERTYHEADER構造体の詳細については、例えばhttp://msdn2.microsoft.com/en-us/library/aa506306.aspxにて確認することができる。
以下、DOCUMENTPROPERTYHEADER構造体とCN_DOCUMENTPROPERTYHEADER構造体の違いのみを説明する。
DOCUMENTPROPERTYHEADER構造体には、入出力するDEVMODE構造体をメンバとして保持し、さらに出力用DEVMODEのサイズもメンバとして保持しているが、これらはCN_DOCUMENTPROPERTYHEADER構造体には一切存在しない。
その代わりに、入出力するプリントチケットをメンバ(IStream *pPrintTicket(引数))として保持する。
以下では、アプリケーションの印刷設定画面の表示フローと、図5、図6に示すインタフェース関数を用いて、プリンタドライバの印刷設定画面の表示フローについて説明する。
図7Aは、本実施形態を示す情報処理装置におけるユーザインタフェースの表示制御を説明する図である。本例は、アプリケーションのユーザインタフェースで表示される印刷設定機能を示す文字列に合わせて、プリンタドライバが提供するユーザインタフェースで表示される印刷設定機能文字列を置き換える表示制御に対応する。なお、図4と同一のものには同一の符号を付してある。
図7Aにおいて、7000AはUI文字テーブルで、機能名とそれに対応したUIの文字列テーブル情報1501を保持する。
AP−UIはアプリケーションによる印刷設定画面で、アプリケーション902が文字列テーブル情報1501を参照してディスプレイ10に表示する。
7000BはUI文字テーブルで、ドライバ側の機能名とそれに対応したUIの文字列テーブル情報1601を保持する。
7000Cは文字列テーブルで、UI文字テーブル7000Bの文字列IDに対応する文字列データをID別に保持する。
DR−UIはドライバによる印刷設定画面で、通常は、印刷設定画面AP−UIで表示される機能の文字列と異なるが、後述する置き換え処理実行後のため、印刷設定画面DR−UIと印刷設定画面AP−UIとが同じ表示としている状態に対応する。
以下、アプリケーション902側の処理について説明する。なお、図7Aにおいて、(1)〜(7)はそれぞれ処理を示す。
まず、処理(1)では、プリンタドライバ501から図32に示すデータ構造を備えるプリンタの能力情報(以下、PrintCapabilitiesと呼ぶ)を取得する。
次に、処理(2)で、アプリケーション902は、プリンタドライバ501から取得したPrintCapabilities 内でアプリケーション902のUIで表示している機能を判別する。
次に、処理(3)で、アプリケーション902は、UI文字テーブル7000A内に保持される文字列テーブル情報1501を参照して、処理(2)で判別された機能に対応する文字列情報を取得する。
これにより、アプリケーション902は、図7Aに示すように、例えばプリンタドライバ501から取得したPrintCapabilities 内の機能が「Collate」であれば、「部単位印刷」という文字列を文字列テーブル情報1501から取得する。
次に、処理(4)で、後述する図10に示す処理に基づき、ドライバUIオープン時に指定する図11に示すPrintTicket内に、文字列置き換え対象となる機能の記述部分に処理(3)で取得した文字列をReplaceDisplayStringとして指定する。
以下、指定するPrintTicket の記述例を示す。
<feature name="Collate">
<property name="ReplaceDisplayString">
<value>部単位印刷</value>
</property>
<option name="ON"/>
</feature>
次に、プリンタドライバ501側の処理について説明する。
まず、処理(5)で、プリンタドライバ501内の文字列テーブル7000Cを参照して、印刷設定画面DR−UIの機能を表示するための文字列を取得する。この状態では、プリンタドライバ501で設定される機能に対する文字列がUI画面に表示されるため、印刷設定画面DR−UIと印刷設定画面AP−UIとで機能に関わる文字列が異なる場合がある。
次に、プリンタドライバ501は、UI文字テーブル7000Bに保持されるドライバ側の機能名とそれに対応したUIの文字列テーブル情報1601を参照する。
次に、プリンタドライバ501は、アプリケーション902から生成されるPrintTicketで指示されるReplaceDisplayStringが指示された機能のUI文字列を、指定された文字列で置き換える。
そして、処理(7)で、ドライバUIオープン時に、処理(6)で置き換えた文字列を印刷設定画面DR−UIとして表示することで、印刷設定画面DR−UIと印刷設定画面AP−UIとが同じ表示とする。
なお、プリンタドライバ501から取得されるPrintCapabilitiesに含まれていない機能に対応する文字列については、後述するようにグレイ表示される。
このように本実施形態では、アプリケーション902がプリンタドライバ501に提供するUIを表示する際に、アプリケーション902は、プリンタドライバ501に指示するPrintTicket内で、自身のUIに表示している機能名称を指定する。
そして、プリンタドライバ501は、アプリケーション902から取得するPrintTicketで指定されたアプリケーションの機能名称に置き換えてドライバUIを構成する。
これにより、アプリケーションのUI表示に対する表示言語と、プリンタドライバのUI表示に対する表示言語が異なる場合にも、アプリケーション902に対応する機能文字列でドライバ側の機能文字列を統一することができる。
したがって、ユーザはプリンタドライバが提供するUI画面の機能を示す文字列が、アプリケーション902が提供するUI画面の機能を示す文字列とに違和感がなくなり、操作性が向上する。
図7Bは、本実施形態を示す情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したアプリケーション902が自身で管理している印刷設定画面を表示する処理例である。なお、S1901〜S1908は各ステップを示す。また、各ステップは、CPU1がRAM2にアプリケーション902をロードして実行することで実現される。
アプリケーション902のプログラムは、ホストコンピュータ300の外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
まず、S1901で、アプリケーション902は、プリンタデバイスの能力情報を取得する。プリンタデバイスのPrintCapabilitiesは、プリントチケットAPI505を通じて取得する。ここで、図32に示すようなXML形式のPrintCapabilities をアプリケーション902に返す。なお、アプリケーション902がプリンタデバイス501のPrintCapabilitiesを取得する処理が第1の取得処理であり、アプリケーション902が後述するS2004で機能に対応した文字列を取得する処理が第2の取得処理に対応する。
図32の例に示すPrintCapabilitiesには、Collate、Duplex、MediaSize、OutputBinの4つのFeatureが含まれる。また、それぞれのFeatureには、DisplayNameプロパティが指定されている。
その後、S1902で、アプリケーション902は、図8に示すような、機能名とそれに対応したアプリケーション側のUIの文字列テーブル情報1501を取得する。
図8に示すように、文字列テーブル情報1501には、機能名(Feature名)1502に応じたUI文字列1503、UIのコントロールID1504が格納されている。
次に、S1903で、アプリケーション902は、S1902にて取得した文字列テーブル情報1501を参照し、最初の機能の情報を取得する。
次に、S1904で、アプリケーション902は、S1903にて文字列テーブル情報1501より取得した機能がS1901にてプリンタドライバ501より取得したPrintCapabilities内に含まれる機能か否かを判別する。ここで、アプリケーション902がPrintCapabilities内に存在すると判別された場合には、S1905へ進む。
そして、S1905で、アプリケーション902は、文字列テーブル情報1501内に格納されたFeature名(機能名)1502に応じた文字列を用いて、アプリケーションUIを、ホストコンピュータ300のディスプレイ10に表示する。ここで、アプリケーションUIとは、図7Aに示した印刷設定画面AP−UIに対応する。
次に、S1906で、アプリケーション902は、現在取得している機能情報が文字列テーブル情報1501の最後の項目であるか否かを判別し、最後であると判断されたら、本処理を終了する。
一方、S1906で、アプリケーション902が最後の項目でないと判断された場合は、S1908に進み、文字列テーブル情報1501内の次の項目を取得した後、S1904〜S1906までの処理を繰り返す。
一方、S1904にて、アプリケーション902がプリンタドライバ501より取得したPrintCapabilities内に機能が存在しないと判別された場合には、S1907へ進む。そして、S1907で、機能に対応したUIコントロールをグレイ表示し、使用不可の機能として通知して、S1904へ戻る。
図9は、図1に示したディスプレイ10に表示されるアプリケーションの印刷設定画面1201の一例を示す図である。本画面は、アプリケーション902による表示画面例である。
図9に示す画面では、用紙設定コントロール1202、両面設定コントロール1203、部単位印刷設定コントロール1205がそれぞれ文字列テーブル情報1501内のUI文字列で表示されている例である。
また、PrintCapabilitiesに含まれていない機能に対応するステイプル設定コントロール1206がグレイ表示(図9では網掛けで示す)されている。
アプリケーションの印刷設定画面1201には、さらにプリンタを選択するプリンタ選択コントロール1204、プリンタドライバ501の印刷設定画面を表示するためのプロパティボタン1207を備える。さらに、アプリケーションの印刷設定画面1201には、印刷設定画面を確定させるOKボタン1208、キャンセルボタン1209を含んで構成されている。
次に、アプリケーションの印刷設定画面1201のプロパティボタン1207が押下され、アプリケーション902からプリンタドライバ501の印刷設定画面を表示する処理について説明する。
図10は、本実施形態を示す情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は、アプリケーション902が表示した図9に示す画面において、ユーザの操作により、プロパティボタン1207が押下された際に実行される、アプリケーションからプリンタドライバの印刷設定画面を表示させる指示例である。
なお、S2001〜S2007は各ステップを示す。また、各ステップは、CPU1がRAM2にアプリケーション902をロードして実行することで実現される。
S2001で、アプリケーション902は、印刷設定画面1201内の印刷設定に関わるコントロールの選択状態を取得する。次に、S2002で、アプリケーション902は、S1901でプリンタドライバ501より取得したPrintCapabilities内のFeature一覧のうち、S2001で状態を取得したコントロールに対応したFeatureを参照する。
次に、S2003で、アプリケーション902は、参照したFeatureのOptionの一覧の中で、選択状態の設定項目に対応した項目以外のOptionを削除する。その結果、アプリケーション902は、図11に示すように、Featureに特定の設定項目のOptionのみが記述された状態のPrintTicket1401を生成する。
図11は、本実施形態を示す情報処理装置で生成されるPrintTicketの一例を示す図である。本例は、アプリケーション902によりFeature1402に特定の設定項目のOption1404のみが記述された状態のPrintTicketを生成した例である。
図11の例では、"Collate"Featureでは、"On"Optionが、"Duplex"Featureでは、"OFF"Optionがそれぞれ選択されている状態に対応する。
次に、S2004で、アプリケーション902は、文字列テーブル情報1501を取得する。そして、S2005で、アプリケーション902は、文字列テーブル情報1501を参照して、現在のコントロールに関連する機能の文字列情報を取得し、ReplaceDisplayStringプロパティとして図11に示すPrintTicket1401に指定する。
図11の例では、"Collate"FeatureのReplaceDisplayStringプロパティ1403として、アプリケーションの文字列テーブル情報1501内のCollateに対応した文字列、"部単位印刷"が記述されている。
次に、S2006で、アプリケーション902は、S2001で参照した印刷設定のコントロールが最後の設定項目か否かを判別する。ここで、アプリケーション902が、最後であると判定した場合、次のS2007へ進む。そして、S2007で、アプリケーション902は、プリンタドライバの印刷設定画面を表示する指示に従い、生成した図6に示すPrintTicketを指定してプリンタドライバ501の印刷設定画面表示を指示して、本処理を終了する。
一方、S2006で、最後の設定項目でないとアプリケーション902が判定した場合には、S2001に戻り、次の印刷設定のコントロールの状態を取得して、全ての印刷設定コントロールが終了するまで、処理を繰り返す。
最終的には、図6に示すAPIの引数pPrintTicketには、アプリケーションの印刷設定画面の状態が反映される。さらに、UI文字列がReplaceDisplayStringプロパティに記述された、図11に示すようなPrintTicketが指定される。
図12は、本実施形態を示す情報処理装置における第3のデータ処理手順の一例を示すフローチャートである。
本例は、アプリケーション902が表示した図9に示す画面において、ユーザの操作により、プロパティボタン1207が押下される後のプリンタドライバ側の印刷設定画面を表示する処理例である。
より具体的にいえば、本処理は、図5に示したCN_DrvDocumentPropertySheets関数の呼び出しにおいて、プリンタドライバ501に対しユーザインタフェースの表示が指示された場合の処理フローの一部に対応する。なお、ユーザインタフェースの表示の指示は、図6に示したCN_DOCUMENTPROPERTYHEADER構造体のfModeメンバにDM_IN_PROMPTが設定された場合に相当する。
また、S2101〜S2111は各ステップを示す。また、各ステップは、CPU1がRAM2にサブモジュール502をロードして実行することで実現される。なお、プリンタドライバ501のプログラムはコンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
S2101で、サブモジュール502は、図10に示したアプリケーション902によるS2007における印刷設定画面の表示指示に応じた、プリンタドライバ側のコマンドを受信する。
次に、S2102で、サブモジュール502は、図6に示したAPIのpPrintTicketに指定されているPrintTicketを取得する。
次に、S2103で、サブモジュール502は、図13に示すようなサブモジュール502内で保持している文字列テーブル情報1601を取得し、メモリ中に展開する。
図13は、図4に示したサブモジュール502内で保持される文字列テーブル情報1601の一例を示す図である。
図13において、文字列テーブル情報1601には、機能名1602とその機能に対応したUIのコントロールID1603、UI文字列1604が関連付けられて格納されている。
S2104では、サブモジュール502がS2102でアプリケーション902より取得したPrintTicket内の最初のFeatureを参照し、S2105で、サブモジュール502は、参照したFeature内にReplaceDisplayStringプロパティが存在するか否かを判別する。
ここで、サブモジュール502がS2105でReplaceDisplayStringがあると判断した場合には、S2106で、サブモジュール502がS2103で取得した文字列テーブル情報1601内で現在参照しているFeatureと一致する機能名を検索する。
次に、S2107では、サブモジュール502がS2106で一致する機能名が存在する否かを判断する。ここでサブモジュール502がS2106で一致する機能名が存在すると判断した場合、S2108に進む。そして、S2108で、サブモジュール502は、一致する機能名のUI文字列1603を、指定されたPrintTicket内のReplaceDisplayString文字列で置き換える。これにより、図13に示すUI文字列「ソート」は、アプリケーション902が生成したPrintTicketで指定される文字列「部単位印刷」に置き換えられる。
一方、S2107で、サブモジュール502が一致した機能名が検索できないと判断した場合は、何もせずにS2109に進む。そして、S2109では、サブモジュール502が現在参照しているFeatureがPrintTicket内の最後のFeatureであるか否かを判別する。ここで、サブモジュール502が最後のFeatureであると判定された場合には、S2111で、UI文字列が置き換えられた、図14に示すような文字列テーブル情報2201のUI文字列2204に従って、プリンタドライバのUI画面をディスプレイ10上に表示する。
図14は、図4に示したサブモジュール502が保持する文字列テーブル情報2201の一例を示す図である。
この際、文字列テーブル情報2201内の各機能の機能名2202に関連付けられたコントロールID2203の文字列は、アプリケーション902から取得するPrintTicketで指定されたUI文字列2204に置き換えられて保持する。
図14に示す文字列テーブル情報2201では、CollateのUI文字列(ソート)が、"部単位印刷"に、MediaSizeのUI文字列(用紙名称)が"用紙"に、それぞれアプリケーションが指定した文字列に置き換えられている状態を示す。
この結果、図15に示すようなアプリケーションの文字列に置き換えられたプリンタドライバの印刷設定画面1800がディスプレイ10に表示される。
図15、図16は、本実施形態を示す情報処理装置で表示可能なユーザインタフェースの一例を示す図である。なお、図15は、サブモジュール502による文字列の置き換えが実行された印刷設定画面に対応し、図16は、サブモジュール502による文字列の置き換えが実行さていない通常の印刷設定画面に対応する。
図16では、通常のプリンタドライバの印刷設定画面を示しているが、用紙名称1701と、ソート1702のUI文字列が、図15に示す設定画面では、それぞれ"用紙"、"部単位印刷"とアプリケーションの文字列に置き換えられていることを示している。
以上の手順により、アプリケーションのUI文字列で、プリンタドライバのUI文字列の置換えが実現可能となる。
〔第2実施形態〕
以下では、アプリケーションの印刷設定画面の表示フローと、図5、図6に示したインタフェース関数を用いて、プリンタドライバの印刷設定画面を表示する処理について図7Bに示すフローチャートを参照して説明する。
本実施形態では、アプリケーションのUI文字列で、プリンタドライバのUI文字列の置換えた際に、文字列表示がUI表示可能な文字数を超えて表示すべき文字列の一部が切る状態となる場合でも、正しく置き換えた機能を示す文字列を表示可能とする例である。
図7Bは、図4に示したアプリケーション902が自身で管理している印刷設定画面を表示する処理フローである。
アプリケーション902のプログラムは、コンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
アプリケーション902は、S1901で、プリンタデバイスの能力情報を取得するために、プリントチケットAPI505を通じて、プリンタドライバ501よりPrintCapabilitiesを取得する。
ここで、アプリケーション902は、図13に示すようなXML形式のPrintCapabilities をプリンタドライバ501より取得する。図13の例に示すPrintCapabilitiesの例では、Collate、Duplex、MediaSize、OutputBinの4つのFeatureが含まれる場合である。また、それぞれのFeatureには、DisplayNameプロパティが指定されている。
その後、S1902にて、アプリケーション902は、図8に示すような、機能名とそれに対応したUIの文字列テーブル情報1501を取得する。
ここで、文字列テーブル情報1501には、機能名1502に応じたUI文字列1503、UIのコントロールID1504が格納されている。
S1903では、アプリケーション902は、S1902にて取得した文字列テーブル情報1501を参照し、最初の機能の情報を取得する。次に、S1904で、アプリケーション902は、S1903で取得した機能がS1901でプリンタドライバ501より取得したPrintCapabilities内に含まれる機能か否かを判別する。
ここで、アプリケーション902がS1901で取得した機能がPrintCapabilities内に存在すると判別した場合には、S1905へ進む。そして、S1905で、アプリケーション902は、文字列テーブル情報1501内に格納されたFeature名に応じた文字列を用いて、アプリケーションUIをディスプレイ10に表示する。
次に、S1906で、アプリケーション902は、現在取得している機能情報が文字列テーブル情報1501の最後の項目であるか否かを判別し、最後であると判断したら、本処理を終了する。
一方、S1905で、アプリケーション902が現在取得している機能情報が最後の項目でないと判断された場合は、S1908に進む。そして、S1908で、アプリケーション902は、文字列テーブル情報1501内の次の項目を取得した後、S1904〜S1906までの処理を繰り返す。
一方、S1904にて、アプリケーション902がS1902で取得した機能がS1901でプリンタドライバ501よりPrintCapabilities内に存在しないと判別された場合には、その機能に対応したUIコントロールをグレイ表示し、使用不可の機能として通知する。
図9は、図7に示したのフローにより構成されたアプリケーションの印刷設定画面1201の一例を示す。
図9において、用紙設定コントロール1202、両面設定コントロール1203、部単位印刷設定コントロール1205がそれぞれ文字列テーブル情報1501内のUI文字列で表示されている。
また、プリンタドライバ501より取得するPrintCapabilitiesに含まれていない機能、例えばステイプル機能に対応するステイプル設定コントロール1206はグレイ表示されている。ここでは、ステイプル機能がグレイ表示(図中では、網掛けで示す)されている例を示す。
アプリケーションの印刷設定画面1201には、さらにプリンタを選択するプリンタ選択コントロール1204、プリンタドライバの印刷設定画面を表示するためのプロパティボタン1207を備える。さらに、アプリケーションの印刷設定画面1201には、印刷設定画面を確定させるOKボタン1208、キャンセルボタン1209を備える。
次に、アプリケーションの印刷設定画面1201のプロパティボタン1207が押下され、アプリケーション902からプリンタドライバ501に対して印刷設定画面を表示させる指示について説明する。
図10は、図9に示したアプリケーションのプロパティボタン1207が押下された際に、アプリケーション902からプリンタドライバ501の印刷設定画面を表示させる指示を行う処理フローである。
なお、本フローに係わるアプリケーション902のプログラムはコンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
S2001で、アプリケーション902は、図9に示す印刷設定画面1201内の印刷設定に関わるコントロールの選択状態を取得する。次に、S2002で、アプリケーション902は、図7に示したS1901でプリンタドライバ501より取得したPrintCapabilities内のFeature一覧のうち、S2001で印刷設定画面1201の状態から取得したコントロールに対応したFeatureを参照する。
そして、S2003では、アプリケーション902は、参照したFeatureのOptionの一覧の中で、選択状態の設定項目に対応した項目以外のOptionを削除する。
その結果、図11に示すように、Featureに特定の設定項目のOptionのみが記述された状態のPrintTicket1401が生成される。図11の例では、"Collate"Featureでは、"On"Optionが、"Duplex"Featureでは、"OFF"Optionがそれぞれ選択されている状態を示す。
次に、S2004で、アプリケーション902は、文字列テーブル情報1501を取得する。そして、S2005で、アプリケーション902は、文字列テーブル情報1501内を参照して、現在のコントロールに関連する機能の文字列情報を取得し、ReplaceDisplayStringプロパティとしてPrintTicket1401に指定する。
図11に示す例では、"Collate"FeatureのReplaceDisplayStringプロパティとして、アプリケーションの文字列テーブル情報1501内のCollateに対応した文字列、"部単位印刷"が記述されている。
次に、S2006で、アプリケーション902は、S2001で参照した印刷設定のコントロールが最後の設定項目か否かを判別する。S2006で、アプリケーション902が最後であると判定された場合、S2007へ進む。そして、S2007で、アプリケーション902は、プリンタドライバ501の印刷設定画面を表示させる指示のためのAPI505に、作成したPrintTicketを指定してプリンタドライバ505の印刷設定画面の表示を指示する。
一方、S2007で、アプリケーション902が最後の設定項目でないと判定された場合には、S2001に戻り、次の印刷設定のコントロールの状態を取得して、全ての印刷設定コントロールが終了するまで、処理を繰り返す。
そして、最終的には図6に示すAPIの引数pPrintTicketには、アプリケーションの印刷設定画面の状態が反映され、UI文字列がReplaceDisplayStringプロパティに記述された、図11に示すようなPrintTicketが指定される。
次に、図12を用いて、ユーザの操作に従いプロパティボタン1207が押下された後のプリンタドライバ501側の印刷設定画面を表示する処理について説明する。
本フローに係わるプリンタドライバを構成する新ドライバサブモジュール(以下、サブモジュールと呼ぶ)502のプログラムはコンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
図5に示したCN_DrvDocumentPropertySheets関数の呼び出しにおいて、プリンタドライバ501に対しユーザインタフェースの表示が指示された場合の処理フローの一部である。
ユーザインタフェースの表示の指示は、図6に示したCN_DOCUMENTPROPERTYHEADER構造体のfModeメンバにDM_IN_PROMPTが設定された場合に相当する。
S2101で、サブモジュール502は、図10に示したアプリケーション902によるS2007の印刷設定画面の表示指示に応じたコマンドを受信する。次に、S2102では、サブモジュール502は、図6に示すAPIのpPrintTicketに指定されているPrintTicket取得する。
次に、S2103で、サブモジュール502は、図17に示すように、プリンタドライバ501内で保持している文字列テーブル情報2501を取得し、メモリ中に展開する。
図17は、図5に示したプリンタドライバ501が保持する文字列テーブル情報の一例を示す図である。
図17に示すように、文字列テーブル情報には、機能名2502とその機能に対応したUIのコントロールID2503、UI文字列2504、最大UI表示文字数2505が関連付けられて格納されている。
S2104では、サブモジュール502は、S2102で取得したPrintTicket内の最初のFeatureを参照し、S2105で参照したFeature内にReplaceDisplayStringプロパティが存在するか否かを判別する。
ここで、サブモジュール502がS2105で、ReplaceDisplayStringがあると判断された場合には、S2106へ進む。そして、S2106で、サブモジュール502は、S2103で取得した文字列テーブル情報1601内で現在参照しているFeatureと一致する機能名を検索する。
次に、S2107で、サブモジュール502がS2106で一致する機能名が存在するかどうかを判断する。ここで、サブモジュール502が一致する機能名が存在すると判断した場合、S2108に進む。
そして、S2108で、サブモジュール502が一致する機能名のUI文字列2503を、指定されたPrintTicket内のReplaceDisplayString文字列で置き換える。
一方、S2107で、サブモジュール502が一致した機能名が検索できないと判断した場合は、何もせずにS2109に進む。
そして、S2109では、サブモジュール502は現在参照しているFeatureがPrintTicket内の最後のFeatureであるか否かを判別する。ここで、サブモジュール502が最後のFeatureであると判別した場合には、S2111へ進む。そして、S2111で、UI文字列が置き換えられた、例えば図14に示すような文字列テーブル情報2201のUI文字列2204に従って、プリンタドライバのUI画面をディスプレイ10に表示する。
この際、サブモジュール502は、図17に示す文字列テーブル情報2501を、図18に示す文字列テーブル情報2601内の各機能に関連付けられたコントロールIDの文字列をアプリケーション902から取得したPrintTicketに従って置き換えて保持する。
図18は、図5に示したプリンタドライバ501が保持する文字列テーブル情報の一例を示す図である。
図18に示す文字列テーブル情報2601では、機能名2602がCollateのUI文字列(ソート)2604が、"部単位印刷"に、MediaSizeのUI文字列(用紙名称)が"用紙"に、それぞれアプリケーションが指定した文字列に置き換えられている。なお、2603はコントロールIDを示す。
この結果、図18に示す文字列テーブル情報2601に従って図19に示すようなアプリケーション902の文字列に置き換えられたプリンタドライバ501の印刷設定画面がディスプレイ10に表示される。
ここでは、プリンタドライバ501の印刷設定画面で設定された最大表示文字数2605を超える文字は表示されない。つまり、部単位印刷は、5文字から構成されるため、最大表示文字数「4」に従い、4文字分となる「部単位印」のみが表示された状態となる。したがって、ユーザは、一見してその項目名を正確に認識できない場合がある。
そこで、以下、プリンタドライバ501が図20に示す表示処理を行うことで、置き換えられた文字列すべてを、図21に示すように表示された項目名の近傍に表示する。これにより、置き換えられた全ての文字列と、表示されなかった文字列とを対向して表示することが可能となる。
図20は、本実施形態を示す情報処理装置における第4のデータ処理手順の一例を示すフローチャートである。本例は、プリンタドライバの印刷設定画面上のコントロールにマウスオーバーした際の表示処理例である。なお、S2401〜S2406は各ステップを示す。また、各ステップは、CPU1がRAM2にプリンタドライバ501をロードして実行することで実現される。
まず、S2401で、プリンタドライバ501がマウスオーバイベントが発生したことを検出したら、S2402で、プリンタドライバ501は、イベントが発生したUIのコントロール情報を取得する。
次に、S2403では、プリンタドライバ501は、S2402で取得したコントロール情報のコントロールIDが図18に示す文字列テーブル情報2601内に存在するか否かを判別する。
ここで、プリンタドライバ501が文字列テーブル情報にコントロールIDが存在すると判別した場合は、プリンタドライバ501は、S2404で文字列テーブル情報2601の最大表示文字数2605(内容「4」)を取得する。
一方、S2403で、プリンタドライバ501が文字列テーブル情報にコントロールIDが存在しないと判別した場合は、何もせずに処理を終了する。
そして、S2405では、プリンタドライバ501は、該コントロールに対応した最大表示文字数2605とUI文字列2604のUI表示文字数を比較する。
そして、プリンタドライバ501は、最大表示文字数2605よりUI文字列2604のUI表示文字数の方が大きいかどうかを判断する。ここで、プリンタドライバ501が最大表示文字数2605よりUI文字列2604のUI表示文字数の方が大きいと判断された場合には、S2406へ進む。
具体的には、プリンタドライバ501は、UI文字列である「部単位印刷」の場合、5文字から構成されるため、最大文字数「4」を超えると判断する。
そして、S2604で、プリンタドライバ501は、ツールチップを用いてすべてのUI文字列2604の文字列すべてを、置き換えられた文字列「部単位印」の近傍に、総文字数が5文字の「部単位印刷」をディスプレイ10にポップアップするように表示制御して、本処理を終了する。なお、本例は、言語が日本語の場合を示すが、仕向け地に応じて、表示する文字列の言語やその文字数や表示態様は本実施形態に限定されることはない。
図21は、図1に示したディスプレイ10に表示されるユーザインタフェースの一例を示す図である。
本例は、ツールチップにより、プリンタドライバ501で置き換えられたUI文字列が表示された印刷設定画面例である。
図21に示すように、本実施形態では、4文字目で切れている「部単位印刷」の表示がツールチップで全体が表示される。
一方、S2405にて、プリンタドライバ501が最大表示文字数2605よりUI文字列2604が小さいと判断した場合には、何もせずに本処理を終了する。
以上の手順により、アプリケーションのUI文字列で、プリンタドライバのUI文字列の置換えた際に、上述した文字列表示が切れる状態となる場合においても、置き換えた文字列を全て表示することができる。これにより、ユーザは、文字列を指示する操作を行うと、その機能文字列の内容を確認できる。
〔第3実施形態〕
以下では、アプリケーションの印刷設定画面の表示フローと、図5、図6に示したインタフェース関数を用いて、プリンタドライバの印刷設定画面の表示フローについて説明する。
本実施形態は、アプリケーション902のUI文字列で、プリンタドライバ501のUI文字列の置換えた際に、プリンタドライバの元のUI文字列と置き換えた文字列とを同時に表示させる例である。
図7に、アプリケーション902が自身で管理している印刷設定画面を表示する際のフローを示す。
なお、アプリケーション902のプログラムはコンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
アプリケーション902は、S1901で、プリンタデバイスの能力情報を取得するために、プリントチケットAPI505を通じて、PrintCapabilitiesを取得する。
具体的には、アプリケーション902は、図32に示すようなXML形式のPrintCapabilities をプリンタドライバ501より取得する。図32の例に示すPrintCapabilitiesには、Collate、Duplex、MediaSize、OutputBinの4つのFeatureが含まれる。また、それぞれのFeatureには、DisplayNameプロパティが指定されている例である。
その後、アプリケーション902は、図7に示したS1902にて、図8に示すような、機能名とそれに対応したUIの文字列テーブル情報1501を取得する。
図8に示すように、文字列テーブル情報1501には、機能名1502に応じたUI文字列1503、UIのコントロールID1504が格納されている。
そして、S1903で、アプリケーション902は、S1902にて取得した文字列テーブル情報1501を参照し、最初の機能の情報を取得する。
次に、S1904で、アプリケーション902は、S1903で文字列テーブル情報1501から取得した機能がS1901でプリンタドライバ501より取得したPrintCapabilities内に含まれる機能か否かを判別する。
ここで、アプリケーション902がS1903で取得した機能がプリンタドライバ501より取得したPrintCapabilities内に存在すると判別された場合には、S1905へ進む。そして、S1905で、アプリケーション902は、文字列テーブル情報1501内に格納されたFeature名に応じた文字列を用いて、アプリケーションUIをディスプレイ10に表示する。
次に、S1906で、アプリケーション902は、現在取得している機能情報が文字列テーブル情報1501の最後の項目であるか否かを判別し、最後であると判断されたら、本処理を終了する。
一方、S1905で、アプリケーション902が最後の項目でないと判別した場合は、S1908に進み、文字列テーブル情報1501内の次の項目を取得した後、S1904〜S1906までの処理を繰り返す。
一方、S1904にて、アプリケーション902がS1903で取得した機能がS1901でプリンタドライバ501より取得したPrintCapabilities内に存在しないと判別された場合には、S1907へ進む。そして、S1907で、アプリケーション902は、機能に対応したUIコントロールをUI画面上でグレイ表示(図中では、網掛けで示す)し、使用不可の機能として、ユーザに認知させる。
図9は、図7に示した表示制御処理により構成されたアプリケーションの印刷設定画面1201である。
図9において、用紙設定コントロール1202、両面設定コントロール1203、部単位印刷設定コントロール1205がそれぞれ文字列テーブル情報1501内のUI文字列で表示されている状態に対応する。また、プリンタドライバ501より取得したPrintCapabilitiesに含まれていないステイプル設定コントロール1206がグレイ表示されている状態に対応する。
アプリケーションの印刷設定画面1201には、さらにプリンタを選択するプリンタ選択コントロール1204、プリンタドライバの印刷設定画面を表示するためのプロパティボタン1207を含んで構成されている。さらに、アプリケーションの印刷設定画面1201には、印刷設定画面を確定させるOKボタン1208、キャンセルボタン1209を含んで構成されている。
次に、アプリケーションの印刷設定画面1201のプロパティボタン1207が押下され、アプリケーション902からプリンタドライバの印刷設定画面の表示を指示する処理について説明する。
図10は、アプリケーション902のプロパティボタン1207が押下された際に、アプリケーション902からプリンタドライバ501の印刷設定画面を表示させる指示を行う処理フローである。
なお、本フローに係わるアプリケーション902のプログラムは、コンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
S2001で、アプリケーション902は、印刷設定画面1201内の印刷設定に関わるコントロールの選択状態を取得する。次に、S2002で、アプリケーション902は、図7に示したS1901において、プリンタドライバ501より取得したPrintCapabilities内のFeature一覧のうち、S2001で状態を取得したコントロールに対応したFeatureを参照する。
次に、S2003では、アプリケーション902は、参照したFeatureのOptionの一覧の中で、選択状態の設定項目に対応した項目以外のOptionを削除する。
その結果、アプリケーション902は、図11に示すように、Featureに特定の設定項目のOptionのみが記述された状態のPrintTicket1401を生成する。
図11に示す例では、"Collate"Featureでは、"On"Optionが、"Duplex"Featureでは、"OFF"Optionがそれぞれ選択されている例である。
次に、S2004で、アプリケーション902は、文字列テーブル情報1501を取得する。そして、S2005で、アプリケーション902は、文字列テーブル情報1501内を参照して、現在のコントロールに関連する機能の文字列情報を取得し、ReplaceDisplayStringプロパティとしてPrintTicket1401に指定する。
図11の例では、"Collate"FeatureのReplaceDisplayStringプロパティとして、アプリケーションの文字列テーブル情報1501内のCollateに対応した文字列、"部単位印刷"が記述されている。
次に、S2006で、アプリケーション902は、S2001で参照した印刷設定のコントロールが最後の設定項目か否かを判別する。ここで、アプリケーション902がS2006で最後であると判定した場合、S2007へ進む。そして、S2007で、アプリケーション902は、図6に示すプリンタドライバの印刷設定画面を表示させる指示のためのAPIに、生成したPrintTicketを指定してプリンタドライバ501に印刷設定画面を表示させる指示を行う。
一方、S2007で、アプリケーション902が最後の設定項目でないと判定した場合には、S2001に戻り、次の印刷設定のコントロールの状態を取得して、全ての印刷設定コントロールが終了するまで、処理を繰り返す。
最終的には図6に示すAPIの引数pPrintTicketには、アプリケーションの印刷設定画面の状態が反映され、UI文字列がReplaceDisplayStringプロパティに記述された、図11に示すようなPrintTicketが指定される。
図22は、本実施形態を示す情報処理装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、図9に示したプロパティボタン1207が押下された後のプリンタドライバ501側の印刷設定画面を表示する処理例である。
より具体的には、図5に示すCN_DrvDocumentPropertySheets関数の呼び出しにおいて、プリンタドライバに対しユーザインタフェースの表示が指示された場合の処理フローの一部である。
また、ユーザインタフェースの表示の指示は、図6に示したCN_DOCUMENTPROPERTYHEADER構造体のfModeメンバにDM_IN_PROMPTが設定された場合に相当する。
なお、S3201〜S3212は各ステップを示す。また、各ステップに係わるサブモジュール502のプログラムはコンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
S3201で、サブモジュール502は、S2007の印刷設定画面を表示する指示に応じた、プリンタドライバ側のコマンドを受信する。S3202では、サブモジュール502は、図6に示すAPIのpPrintTicketに指定されているPrintTicketをアプリケーション902より取得する。
次に、S3203で、サブモジュール502は、図23に示すようなプリンタドライバ内で保持している文字列テーブル情報2901を取得し、RAM2上中に展開する。
図23,図24は、本実施形態を示す情報処理装置のプリンタドライバが保持する文字列テーブル情報の一例を示す図である。
図23に示す文字列テーブル情報2901には、機能名2902とその機能に対応したUIのコントロールID2903、UI文字列2904、置換えフラグ2905、オリジナル文字列2906が関連付けられて格納されている。
次に、S3204では、サブモジュール502は、S3202でアプリケーション902より取得したPrintTicket内の最初のFeatureを参照する。そして、S3205で、サブモジュール502は、参照したFeature内にReplaceDisplayStringプロパティが存在するか否かを判別する。
ここで、サブモジュール502が」ReplaceDisplayStringがあると判断した場合には、S3206へ進む。そして、S3206で、サブモジュール502は、S3203で取得した文字列テーブル情報1601内で現在参照しているFeatureと一致する機能名を検索する。
そして、S3207で、サブモジュール502は、S3206による検索で、一致する機能名が存在するかどうかを判断する。ここで、サブモジュール502が一致する機能名が存在すると判断した場合、S3208に進む。そして、S3208で、サブモジュール502は、一致する機能名のUI文字列2903を、指定されたPrintTicket内のReplaceDisplayString文字列で置き換える。
一方、S3207で、サブモジュール502が一致した機能名が検索できないと判断した場合は、何もせずにS3210に進む。
次に、S3209で、サブモジュール502は、UI文字列を置き換えたことを示す図23に示す置換えフラグ2905をTRUEに設定する。次に、S3210では、サブモジュール502は、現在参照しているFeatureがPrintTicket内の最後のFeatureであるか否かを判別する。ここで、サブモジュール502が最後のFeatureであると判定された場合には、S3212へ進む。そして、S3212で、サブモジュール502は、UI文字列が置き換えられた、図24に示すような文字列テーブル情報3001のUI文字列3004に従って、UI画面をディスプレイ10に表示する。
この際、サブモジュール502は、文字列テーブル情報3001内の各機能に関連付けられたコントロールIDの文字列を置き換える。
図24に示す文字列テーブル情報3001では、機能名3002がCollateのUI文字列(ソート)3004が、"部単位印刷"に、MediaSizeのUI文字列(用紙名称)が"用紙"に、それぞれアプリケーションが指定した文字列に置き換えられる例を示している。なお、図24において、3003はコントロールIDを示し、3005は置換えフラグを示し、3006はオリジナル文字列を示す。
この結果、サブモジュール502は、図19のユーザインタフェースに示すようなアプリケーションの文字列に置き換えられた印刷設定画面をディスプレイ10に表示する。
図25は、本実施形態を示す情報処理装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、サブモジュール502の印刷設定画面上のコントロールにマウスオーバーした際の処理例である。なお、S2801〜S2806は各ステップに係わるサブモジュール502のプログラムはコンピュータの外部メモリ11に記憶されており、RAM2に読み出されCPU1によって実行される。
まず、S2801で、サブモジュール502が、ユーザがポインティングデバイスを操作することに従い、図26に示すように、マウスが移動するマウスオーバイベントが発生したことを検出すると、S2802へ進む。
そして、S2802で、サブモジュール502は、マウスオーバイベントが発生したUIのコントロール情報を取得する。ここでは、図26に示すように機能を示す、例えば「用紙」の付近に移動したことを検出した場合であるので、「collate」が取得される。
次に、S2803では、サブモジュール502は、S2802で取得したコントロール情報のコントロールIDが文字列テーブル情報3001内に存在するか否かを判別する。ここで、サブモジュール502がS2803で文字列テーブル情報にコントロールIDが存在すると判別した場合は、S2804で文字列テーブル情報3001の置換えフラグ2905を取得する。
一方、サブモジュール502がS2803で文字列テーブル情報3001にコントロールIDが存在しないと判定した場合は、何もせずに処理を終了する。
次に、S2805では、サブモジュール502は、置換え文字列がTRUEであるか否かを文字列テーブル情報3001の置換えフラグ3005を参照して判断する。ここで、サブモジュール502が、置換えフラグ3005がTRUEであると判断した場合には、S2806にて、該コントロールのオリジナル文字列3005をツールチップによりディスプレイ10に表示する。
図26は、図1に示したディスプレイ10に表示されるユーザインタフェースの一例を示す図である。本例は、プリンタドライバの印刷設定画面例である。
図26に示すように、本実施形態では、ツールチップにより、アプリケーション902で置き換えられたUI文字列(部単位印刷)と共に元々のプリンタドライバ501の文字列(ソート)が、同一のUI画面上に表示される。しかも、部単位印刷とソートとが近接した位置関係を維持した状態で表示される。これにより、簡単な操作を行うだけでユーザはドライバUI画面上で、文字列を置き換える前と置き換えた後の状態を容易に視認できる。
一方、S2805にて、置換えフラグ3005がFALSEであるとサブモジュール502が判断した場合には、何もせずに、本処理を終了する。
以上の手順により、アプリケーションのUI文字列で、プリンタドライバのUI文字列の置換えた際に、プリンタドライバの元のUI文字列を同時に表示させることが可能となる。
なお、第2実施形態と第3実施形態による表示制御を有効とするモードを備えて、初期設定される当該モードに応じて、文字列の表示制御を切り換えるように構成してもよい。
また、コマンドキー等の操作を行うことで、機能文字列の表示制御を第2実施形態に示す表示制御から第3実施形態に示す表示制御に切り換え可能に構成してもよい。この際、いずれの表示を優先させるかは、初期設定で決定される表示制御から他の表示制御に切り換えるものとする。
〔第4実施形態〕
以下、図27に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
図27は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図7B、図10、図12、図20、図22、図25に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
本発明の第1実施形態を示す情報処理装置、印刷装置を含むプリンタ制御システムの一例を示すブロック図である。 図1に示したホストコンピュータのモジュール構成を説明するブロック図である。 図1に示したホストコンピュータにインストールされるアプリケーションと、各プリンタ用のプリンタドライバとの関係を説明する模式図である。 図1に示したホストコンピュータにインストールされるアプリケーションと、各プリンタ用のプリンタドライバとの関係を詳細に説明する模式図である。 情報処理装置にインストールされるプリンタドライバが公開するインタフェース関数の一例を示す図である。 情報処理装置にインストールされるプリンタドライバが公開するインタフェース関数の一例を示す図である。 本実施形態を示す情報処理装置におけるユーザインタフェースの表示制御を説明する図である。 本実施形態を示す情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。 本実施形態を示す情報処理装置で管理される文字列テーブル情報の一例を示す図である。 図1に示したディスプレイに表示されるアプリケーション印刷設定画面の一例を示す図である。 本実施形態を示す情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。 本実施形態を示す情報処理装置で生成されるPrintTicketの一例を示す図である。 本実施形態を示す情報処理装置における第3のデータ処理手順の一例を示すフローチャートである。 図4に示したサブモジュール内で保持される文字列テーブル情報の一例を示す図である。 図4に示したサブモジュールが保持する文字列テーブル情報の一例を示す図である。 本実施形態を示す情報処理装置で表示可能なユーザインタフェースの一例を示す図である。 本実施形態を示す情報処理装置で表示可能なユーザインタフェースの一例を示す図である。 図5に示したドライバ本体が保持する文字列テーブル情報の一例を示す図である。 図5に示したドライバ本体が保持する文字列テーブル情報の一例を示す図である。 本実施形態を示す情報処理装置で表示可能なユーザインタフェースの一例を示す図である。 本実施形態を示す情報処理装置における第4のデータ処理手順の一例を示すフローチャートである。 図1に示したディスプレイ10に表示されるユーザインタフェースの一例を示す 本実施形態を示す情報処理装置における第5のデータ処理手順の一例を示すフローチャートである。 本実施形態を示す情報処理装置のプリンタドライバが保持する文字列テーブル情報の一例を示す図である。 本実施形態を示す情報処理装置のプリンタドライバが保持する文字列テーブル情報の一例を示す図である。 本実施形態を示す情報処理装置における第6のデータ処理手順の一例を示すフローチャートである。 図1に示したディスプレイに表示されるユーザインタフェースの一例を示す図である。 本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。 情報処理装置で処理可能な電子文書フォーマットの構造を説明する図である。 図28に示す電子文書の各パーツに関連づけ可能な印刷設定の一例を示す図である。 従来の印刷システムにおけるメモリブロックを説明する図である。 図30に示したDEVMODEパブリック部の一例を示す図である。 情報処理装置にインストールされるプリンタドライバがアプリケーションに返すPrintCapabilitiesの一例を示す図である。 情報処理装置における印刷制御モジュールの構造を説明するブロック図である。
符号の説明
501 プリンタドライバ
502 サブモジュール
505 プリントチケットAPI
901 プリントチケット入出力部
902 新インタフェース対応アプリケーション

Claims (14)

  1. プリンタドライバよりプリンタの能力情報を取得する第1の取得手段と、
    前記第1の取得手段より取得したプリンタの能力情報に基づき機能に対応した文字列情報を取得する第2の取得手段と、
    プリンタドライバの画面に表示される機能の文字を前記第2の取得手段により取得された文字列情報の文字で表示させるための指示を行う指示手段と、
    を有することを特徴とする情報処理装置。
  2. プリンタの能力情報をアプリケーションに出力する出力手段と、
    前記出力手段によりアプリケーションに出力されたプリンタの能力情報に基づき取得された機能に対応した文字列情報でプリンタドライバの画面に表示される機能の文字を表示させるためのアプリケーションからの指示を受信する受信手段と、
    前記受信手段により受信された指示に基づき画面に表示される機能の文字を表示させる表示手段と、
    を有することを特徴とする情報処理装置。
  3. 前記表示手段は、あらかじめ設定される機能を表示する文字列の最大表示文字数を超える文字列を表示しないことを特徴とする請求項2記載の情報処理装置。
  4. 前記表示手段で表示される機能を示す文字列がユーザの操作で指示されることに応じて、指示されている文字列の文字数が最大表示文字数を超えているかどうかを判断する判断手段を備え、
    前記表示手段は、前記判断手段が最大表示文字数を超えていると判断した場合、表示されていない文字列を含む全ての文字列を表示することを特徴とする請求項3記載の情報処理装置。
  5. 前記表示手段は、前記最大表示文字数を超えて表示されない文字列と、前記全ての文字列との双方を表示することを特徴とする請求項4記載の情報処理装置。
  6. 前記表示手段で表示される機能を示す文字列がユーザの操作で指示されることに応じて、プリンタドライバの画面に表示される機能の文字が置き換えられているかどうかを判別する判別手段と、
    前記判別手段がプリンタドライバの画面に表示される機能の文字が置き換えられていると判断した場合、
    前記表示手段は、前記受信手段により受信された指示に基づき画面に表示される機能の文字と、プリンタドライバの画面に表示される機能の文字との双方を表示することを特徴とする請求項2記載の情報処理装置。
  7. プリンタドライバよりプリンタの能力情報を取得する第1の取得工程と、
    前記第1の取得工程より取得したプリンタの能力情報に基づき機能に対応した文字列情報を取得する第2の取得工程と、
    プリンタドライバの画面に表示される機能の文字を前記第2の取得工程により取得された文字列情報の文字で表示させるための指示を行う指示工程と、
    を有することを特徴とする情報処理方法。
  8. プリンタの能力情報をアプリケーションに出力する出力工程と、
    前記出力工程によりアプリケーションに出力されたプリンタの能力情報に基づき取得された機能に対応した文字列情報でプリンタドライバの画面に表示される機能の文字を表示させるためのアプリケーションからの指示を受信する受信工程と、
    前記受信工程により受信された指示に基づき画面に表示される機能の文字を表示させる表示工程と、
    を有することを特徴とする情報処理方法。
  9. 前記表示工程は、あらかじめ設定される機能を表示する文字列の最大表示文字数を超える文字列を表示しないことを特徴とする請求項8記載の情報処理方法。
  10. 前記表示工程で表示される機能を示す文字列がユーザの操作で指示されることに応じて、指示されている文字列の文字数が最大表示文字数を超えているかどうかを判断する判断工程を備え、
    前記表示工程は、前記判断工程が最大表示文字数を超えていると判断した場合、表示されていない文字列を含む全ての文字列を表示することを特徴とする請求項9記載の情報処理方法。
  11. 前記表示工程は、前記最大表示文字数を超えて表示されない文字列と、前記全ての文字列との双方を表示することを特徴とする請求項10記載の情報処理方法。
  12. 前記表示工程で表示される機能を示す文字列がユーザの操作で指示されることに応じて、プリンタドライバの画面に表示される機能の文字が置き換えられているかどうかを判別する判別工程と、
    前記判別工程がプリンタドライバの画面に表示される機能の文字が置き換えられていると判断した場合、
    前記表示工程は、前記受信工程により受信された指示に基づき画面に表示される機能の文字と、プリンタドライバの画面に表示される機能の文字との双方を表示することを特徴とする請求項8記載の情報処理方法。
  13. 請求項7乃至12のいずれか1項に記載の情報処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
  14. 請求項7乃至12のいずれか1項に記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。
JP2007277906A 2007-10-25 2007-10-25 情報処理装置、情報処理方法、記憶媒体、プログラム Expired - Fee Related JP4963663B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007277906A JP4963663B2 (ja) 2007-10-25 2007-10-25 情報処理装置、情報処理方法、記憶媒体、プログラム
US12/255,489 US20090109473A1 (en) 2007-10-25 2008-10-21 Information processing device, information processing method, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007277906A JP4963663B2 (ja) 2007-10-25 2007-10-25 情報処理装置、情報処理方法、記憶媒体、プログラム

Publications (3)

Publication Number Publication Date
JP2009104541A JP2009104541A (ja) 2009-05-14
JP2009104541A5 JP2009104541A5 (ja) 2010-12-02
JP4963663B2 true JP4963663B2 (ja) 2012-06-27

Family

ID=40582422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007277906A Expired - Fee Related JP4963663B2 (ja) 2007-10-25 2007-10-25 情報処理装置、情報処理方法、記憶媒体、プログラム

Country Status (2)

Country Link
US (1) US20090109473A1 (ja)
JP (1) JP4963663B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4973449B2 (ja) * 2007-10-30 2012-07-11 セイコーエプソン株式会社 処理実行方法、そのプログラム及び処理実行装置
KR101442638B1 (ko) * 2008-09-03 2014-09-24 삼성전자주식회사 화상형성장치 및 화상형성방법
US8773687B2 (en) * 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
JP5481962B2 (ja) * 2009-06-24 2014-04-23 富士ゼロックス株式会社 画像処理装置、プログラム及び制御装置
JP5473458B2 (ja) * 2009-07-29 2014-04-16 キヤノン株式会社 データ処理装置、データ処理方法、プログラム
US8310706B2 (en) * 2009-07-31 2012-11-13 Ricoh Company, Ltd. Dynamic and real-time print schema documents
JP5659555B2 (ja) * 2010-05-17 2015-01-28 株式会社リコー 画像処理装置、画像処理システム、画像処理方法、およびプログラム
JP5787606B2 (ja) * 2011-05-02 2015-09-30 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6296765B2 (ja) * 2013-11-20 2018-03-20 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP6249753B2 (ja) * 2013-12-12 2017-12-20 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP6351405B2 (ja) * 2013-12-16 2018-07-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2016045789A (ja) 2014-08-25 2016-04-04 コニカミノルタ株式会社 プリンタードライバー、設定提示方法及び設定提示装置
US10761795B2 (en) * 2018-06-29 2020-09-01 PrinterLogic, Inc. Printer driver profiles
JP2020013478A (ja) * 2018-07-20 2020-01-23 オムロンヘルスケア株式会社 電子機器、情報端末装置、システム、方法及びプログラム
JP2020013481A (ja) * 2018-07-20 2020-01-23 オムロンヘルスケア株式会社 電子機器、情報端末装置、システム、方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226094B1 (en) * 1996-01-05 2001-05-01 King Jim Co., Ltd. Apparatus and method for processing character information
US6587217B1 (en) * 1997-09-15 2003-07-01 International Business Machines Corporation Method for organizing files in a library in a network printing system
JP3408124B2 (ja) * 1997-11-06 2003-05-19 シャープ株式会社 コンピュータシステムを利用した印刷処理装置
JP2001001596A (ja) * 1999-06-18 2001-01-09 Minolta Co Ltd 編集機能設定装置およびその方法並びにプリンタドライバおよびプリンタ
US6996774B2 (en) * 2002-02-12 2006-02-07 Accenture Global Services Gmbh Display of data element indicia based on data types
US7466432B2 (en) * 2004-01-05 2008-12-16 Kabushiki Kaisha Toshiba Printer driver and method with automatic setting feature
JP2006026972A (ja) * 2004-07-13 2006-02-02 Konica Minolta Business Technologies Inc 画像形成装置および言語切替方法
US7747967B2 (en) * 2004-10-21 2010-06-29 Kyocera Mita Corporation Differential tree and dialog device settings menu
JP2007272870A (ja) * 2006-03-10 2007-10-18 Ricoh Co Ltd 印刷制御装置、gui表示方法、プリンタドライバ及び記録媒体
JP2007272857A (ja) * 2006-05-26 2007-10-18 Riso Kagaku Corp デバイスドライバシステム

Also Published As

Publication number Publication date
US20090109473A1 (en) 2009-04-30
JP2009104541A (ja) 2009-05-14

Similar Documents

Publication Publication Date Title
JP4963663B2 (ja) 情報処理装置、情報処理方法、記憶媒体、プログラム
US11042336B2 (en) Information processing apparatus and method
JP5178227B2 (ja) 印刷装置、文書管理装置、及びコンピュータプログラム
US8537438B2 (en) Information processing apparatus in which a plurality of types of print drivers and plurality of graphics units run, control method therefor, and program
JP4645246B2 (ja) アイコン制御プログラム、コンピュータ、方法
US8498002B2 (en) Information processing apparatus capable of customizing device driver, information processing method, and control program
US7948643B2 (en) Information processing apparatus, method for enhancing print function, computer-readable program for enhancing print function, printer, print method, and print system
EP2284696A1 (en) File printing by means of drag-and-drop
KR100838871B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 기억 매체
US9223521B2 (en) Information processing apparatus, recording medium, and control method
JP2000187564A (ja) デ―タ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
US8451463B2 (en) Information processing apparatus and information processing method
EP2388685B1 (en) Information processing apparatus and control method thereof, and storage medium
JP2006277345A (ja) デバイスドライバおよびそのカスタマイズ用プログラム、情報処理装置および情報処理方法
JP5070101B2 (ja) 情報処理装置及びその制御方法、プリンタドライバプログラム
JP5522952B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
US8842321B2 (en) Information processing apparatus, printer driver, print setting method and data structure
JP2014048956A (ja) システムおよびその制御方法、情報処理装置の制御方法、並びにプログラム
JP2005173701A (ja) 情報処理装置、情報処理方法及びそのプログラム
US7761433B2 (en) Document processing apparatus, method and program
US8896862B2 (en) Image processing apparatus, control method, and storage medium for print control using metadata
US8688864B2 (en) Information processing apparatus, information processing method, and information processing program
US9588942B2 (en) Information processing apparatus and information processing method
JP4618610B2 (ja) 印刷制御装置、印刷制御方法、印刷制御プログラム
JP2006085253A (ja) 情報処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120208

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: 20120228

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: 20120326

R151 Written notification of patent or utility model registration

Ref document number: 4963663

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees