以下、添付図面を参照して、本発明を実施するための最良の形態について詳細に説明する。なお、以下は例示を目的とした説明に過ぎず、本発明を限定することを目的としたものではない。また、本発明は以下の実施形態に限定されず、様々な態様で実施することが可能である。
<ハードウエア構成>
図1は、本発明の実施形態に係る情報処理装置113のシステム構成図の一例を示す図である。図1に示すように、本実施形態の情報処理装置113は、CPU101、ROM102、RAM103、システムバス104、周辺機器インタフェース105、メモリコントローラ109及び通信インタフェース(I/F)コントローラ111で構成され、情報処理装置113と外部接続するキーボード(KB)106、マウス107、CRTディスプレイ(CRT)108及び外部メモリ110を有してパーソナルコンピュータ100が構成されている。
CPU101は、情報処理装置113における動作を統括的に制御するものであり、システムバス104を介して、情報処理装置113の各構成部(102、103、105、109及び111)を制御する。
ROM102には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(OS)等の各種プログラムが記憶されている。なお、本実施形態においては、CPU101が後述する図5〜図13の処理を実行するために必要なプログラムが外部メモリ110に記憶されている形態としているが、例えば、当該プログラムをROM102に記憶させる形態であってもよい。
RAM103は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して、ROM102又は外部メモリ110から必要なプログラム等をRAM103にロードし、当該プログラム等を実行することで各種の動作を実現する。
システムバス104は、CPU101、ROM102、RAM103、周辺機器インタフェース105、メモリコントローラ109及び通信インタフェース(I/F)コントローラ111を相互に通信可能に接続するためのものである。
周辺機器インタフェース105は、キーボード(KB)106やマウス107や表示手段であるCRTディスプレイ(CRT)108、印刷手段であるプリンタ112との接続を可能とし、これらの入出力の制御を行う。プリンタに対して外部メモリ110などに記憶されているアプリケーションプログラムのデータをCPU101が出力することができる。なお、図1では、CRT108と記載しているが、例えば、液晶ディスプレイ等の他の表示手段であってもよい。またプリンタ112は、通信I/Fコントローラを通じて接続されている形式でもよい。
メモリコントローラ109は、例えば、ハードディスク(HD)やフレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリなどで構成される外部メモリ110への情報の書き込み(記憶)や、外部メモリ110からの情報の読み出しを制御する。
外部メモリ110は、ブートプログラムやCPU101が後述する図5〜図13の処理を実行するために必要なプログラム等の各種のプログラムや、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種のデータ等を記憶する。また外部メモリ110には、本実施形態に必要なデータであるお気に入り印刷設定やユーザ依存設定、作成印刷設定等のデータを記憶する。
通信インタフェース(I/F)コントローラ111は、ネットワークを介して外部装置と接続し通信制御を行うものである。例えば、TCP/IPを用いた通信等を行うことが可能である。また例えば、外部装置としてプリンタとネットワークを介して通信を行うことも可能である。なお、この場合、周辺機器インタフェース105にプリンタが直接接続されている形態であってもよい。
また、CPU101は、例えば、RAM103内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT108上での表示を可能としている。また、CPU101は、CRT108上におけるマウス107のカーソル等でのユーザ指示を可能としている。
本発明で説明する各種の手段は、上述したように、CPU101が、ROM102やRAM103に記憶されたり読み出されたりした各種のプログラムを実行することによって実現されることになる。
<概要>
ここで、本実施形態の概要を説明する。本実施形態は、ある使用中のアプリケーションでアプリケーションデータ(例えばドキュメント)を作成している際にドキュメントを監視してアプリケーション画面上の印刷ツールバーに印刷設定ボタンを付与するような仕組みである。ここでは、印刷対象プリンタがカラー印刷、両面印刷が可能であることを仮定する。
ドキュメントの監視は一定間隔で行い、監視時期毎に印刷設定情報の生成処理を行う仕組みとなっている。この処理は印刷設定をドキュメントの構成(アプリケーションデータのデータ設定情報)、プリンタの状態(プリンタ構成情報)、ユーザが登録しているユーザ依存設定値を基に作成する処理となっている。ユーザ依存設定値とは、ユーザが所望する印刷設定のことであり、印刷設定の中でユーザの好みによって決定される印刷設定値群のことである。例としてステイプル印刷時に、印刷物のどこにステイプルを打つかという設定項目が挙げられる。
実際の処理イメージを図17、図18を用いて説明する。図17のドキュメントの状態は、1ページ/モノクロ(「/」は「且つ」の意味で用いている)の状態であるので、この状態で印刷設定作成処理を行うと、ユーザに提示する印刷設定として片面印刷/モノクロ/1in1(1枚の用紙に1ページ印刷する)が作成される。その後、ユーザがこの設定で印刷することが認識容易なアイコンボタンと関連付けて図17のアプリケーション内の印刷ツールバーにアイコンボタン1701を表示させる。
その後、同じドキュメントを編集した結果、例えば図18のように2ページ、カラーを使用しているドキュメントの状態になったとする。この状態で印刷設定情報の生成処理が行われると、複数のユーザに提示する印刷設定が作成され、片面印刷で1in1、両面印刷で1in1、および片面印刷で2in1の設定が、モノクロとカラーそれぞれで作成される。その後、前述と同様にユーザがこれらの設定で印刷することが認識容易なアイコンボタンとそれぞれ関連付けて図18のアプリケーション内の印刷ツールバーにアイコンボタン1801・1802を表示させる。アイコンボタン1801・1802(第1のアイコン)は、ユーザが上記の印刷設定を視認し易いように、生成された印刷設定情報が示す設定に対応するアイコンとなっており、各印刷設定の内容を示唆するアイコンとなっている。また、アイコンボタン1801・1802は、生成された印刷設定情報に応じてアプリケーションデータの印刷を実行させるための印刷指示をユーザが入力可能となっている。また、アイコンボタン1801はモノクロの印刷設定を示すことが識別できるようにモノクロ表現されたアイコンとなっており、アイコンボタン1802は、カラーの印刷設定を示すことが識別できるようにカラー表現されたアイコンとなっている。なお、本実施形態では、アイコンボタンを例に挙げて説明するが、必ずしもアイコンでなくてもよく、ユーザが視認し易いGUIであればいずれも含まれる。また、このGUIは、アプリケーションプログラム上に表示されるものである。この「アプリケーションプログラム上」とは、例えばアプリケーションプログラムを実行している際にディスプレイ表示可能であればよく、必ずしもアプリケーションプログラムが起動しているウィンドウ上に表示されていなくてもよい。
そして、ユーザが印刷ツールバーのいずれかの印刷設定ボタンを押下することによって、印刷設定ボタンに関連付けられている印刷設定によって、アプリケーションプログラムで作成しているデータ(ドキュメント)が印刷対象プリンタから印刷されるような仕組みになっている。
<機能ブロック>
次に、このような処理の具体的な詳細についての一例を説明する。図2は、本実施形態を実施するための機能群のブロック図であり、先に説明したように、CPU101によってそれぞれの機能が実行され動作する。まずはこれらの機能について説明する。
本実施形態は、ドキュメントを作成するアプリケーションに付随して動作するものである。従って、Microsoft(登録商標) Word等のドキュメント作成アプリケーション9の中に、本実施形態を実現するための機能群が構成されるような仕組みになっており、必要に応じてWordマクロ機能のようなアプリケーション上のデータを取得するような処理を行う。
プリンタ状況確認部1は、自動で印刷設定を作成するにあたり必要な表1の情報を印刷対象プリンタ10から取得し、印刷設定作成部6及び印刷設定適性判断部2に取得データを渡す処理を行う部分である。印刷対象プリンタ10から取得するデータとして、表2のものがある。なお、図2においてこのプリンタデバイスのステータスが2つの系統に分かれて伝達される理由は、片方は後述するドキュメントのステータス等を加味した印刷設定情報を生成するために利用され、他方は後述する「お気に入り」設定の際に利用されるためである。なお、プリンタ状況確認部1の機能は図6フローチャートのS202〜S204、図7フローチャートのS301に該当する。なお、これらのフローチャートに関しては後述する(以下、本機能ブロックの説明に関連して記載するフローチャートの記載に関しても同様に後に詳細に説明を行う)。
印刷設定適正判断部2は、お気に入り設定処理部3から得た「お気に入り」として登録してある印刷設定と、プリンタ状況確認部1から得た印刷対象プリンタの情報とに基づいて、お気に入りの印刷設定内容が印刷対象プリンタに対して不適切な項目があるか調査する処理を行う。具体的には、お気に入りの印刷設定が、印刷対象プリンタで実行できない処理があるかのチェックを行う。そして不適切な項目が見つかった場合は、印刷設定を修正するか否かをユーザに通知する。例えば図15のダイアログをCRT108に表示させて確認する処理を行い、修正する場合はデフォルトの印刷設定に置き換える処理を行い、完了した事を図16のダイアログをCRT108に表示させ、印刷設定データをツールバー作成部7にデータを渡す処理を行う。なお、「デフォルトの印刷設定」とは、印刷対象のプリンタの「標準設定」のことを意味する。この機能は図6フローチャートのS205〜S209に該当する。このブロックは、例えば「お気に入り」の機能を活用しているユーザに対しても、その「お気に入り」の設定が適切であることを保証するため、有用である。なお、「お気に入り」の機能を用いないユーザに対しては、本機能は必ずしも必要な機能ではないため、本機能ブロックは、本実施形態を行う際の付随的な構成となることに留意されたい。
お気に入り設定処理部3は、ツールバー作成部7からユーザが図4のようなダイアログをCRT108に表示させ、ユーザから入力された印刷設定データを取得し、外部メモリ110に保存する処理を行う。また、お気に入り設定処理部3からお気に入りの印刷設定を読み込み、印刷設定適性判断部2にデータを渡す処理を行う。この機能は図5フローチャートのS115の保存処理、図6フローチャートのS201に該当する。なお、以下で詳細に説明する本実施形態の「お気に入り」は、従来技術で説明したお気に入り機能とは部分的に異なる概念である。すなわち、本実施形態の「お気に入り」は、ドキュメントの状態やユーザ依存設定やプリンタの状態等を考慮して最適化された印刷設定を「お気に入り」として登録する点で、従来の「お気に入り」とは異なる概念である。
ドキュメント監視部4は、ツールバー作成部7からユーザが図14のようなダイアログをCRT108に表示させ、ユーザから入力された監視設定を取得し、外部メモリ110に保存処理を行う。また、一定時間毎またはドキュメントを保存したタイミングで作成しているドキュメントの調査を行い、自動で印刷設定を作成するにあたり必要な情報を取得する。具体例としては、ドキュメントのページ数の増減、モノクロ・カラーの種別の変更、またはドキュメントへの画像データの挿入の有無などである。一定の監視時期において、ドキュメントの状態・構成をチェックする。そして、印刷設定作成部6にデータを渡す処理を行う。また監視方法の切り替えは、ユーザに対して図14のダイアログをCRT108に表示させてユーザに選択させる仕組みとなっている。この機能は図5フローチャートのS102〜S106、S109、S111、S119、S123、図7フローチャートのS302に該当する。なお、一定時間毎またはドキュメントを保存したタイミングの2つのタイミングをユーザに選択可能としている理由は次のとおりである。つまり、以下でも詳細に説明するように、本実施形態では、この監視時期にドキュメントのチェックを行い、印刷設定に影響を与える変更があった場合には、印刷アイコンがその都度、変化することになる。したがって、例えばユーザによっては、10秒毎、1分毎、10分毎などにアイコンが自動的に変化することを好む者もあれば、好まない者もいる。そこで、このような自動的な変化を好まないユーザに対しては、ドキュメントを保存したタイミングで監視時期を設定することで、画面変化を抑えた状態でユーザにアイコンを提示することができる。なお、本例では、監視時期は2者択一であるとして説明を行ったが、これら両方を監視時期とする設定を行っても良いし、さらには別の設定、例えば大量のデータのコピー&ペーストがなされた場合に、ページ数の増加が見込まれるので、ドキュメントのチェックを行うような設定にしてもよい。
ユーザ依存印刷設定処理部5は、ツールバー作成部7からユーザが図3のようなユーザインタフェースと図3の製本設定ボタンを押下して図21・図22のようなユーザインタフェースをCRT108に表示させ、表3のようなユーザから入力されたユーザ依存印刷設定データを取得し、外部メモリ110に保存する処理を行う(ユーザ印刷設定)。また、このユーザ依存印刷設定処理部5からからユーザ依存印刷設定を読み込み、印刷設定作成部6にデータを渡す処理を行う。また、ユーザ依存印刷設定として、ユーザに決定させる印刷設定は表3の通りである。この機能は図5フローチャートS113の保存処理の部分と図7フローチャートS303に該当する。なお、本実施形態では、「お気に入り設定」と「ユーザ依存印刷設定」の2通りのユーザ設定の例を示している。両者の違いは、「お気に入り設定」が、従来のプリンタが備えている機能のように、最適化された印刷設定をいわばブックマークしておくためのものであるのに対して、「ユーザ依存印刷設定(ユーザ印刷設定)」が、本実施形態にあたり簡易的にユーザが入力し易いように新たに設けたものである、ということである。つまり、ユーザはまず、最初に「ユーザ依存印刷設定」の設定を行って、その結果、各種のプリンタステータス等を加味したユーザにとっての好適な設定を見つけ出す場合が多い。すると、その設定を「お気に入り」として設定しておくことで、次回以降の印刷設定を簡略化できる。一方で、例えば使用対象のプリンタが変わってしまった場合には、この「お気に入り」の設定では対応できない場合がある。そこで、以下で説明するように、「お気に入り」の設定を自動的に修正したり、あるいは、「ユーザ依存印刷設定」による設定を再度行うことになる。
印刷設定作成部6は、プリンタ状況確認部1から得たデータ、ドキュメント監視部4から得たデータ、ユーザ依存印刷設定処理部5から得たデータを取得し、これらを用いてユーザに提案する表2の項目に対する印刷設定データを複数作成する処理を実施し、このデータをツールバー作成部7に渡す処理を行う。この機能は図7フローチャートのS301〜S303以外の部分と図8〜図13のフローチャートに該当する。
ツールバー作成部7は、図19のように印刷設定作成部6から得た自動で作成された印刷設定データに対しては124(第1のアイコン)のように印刷設定ボタンを割り当て、印刷設定適性判断部2から得た印刷設定データに対しては125(第2のアイコン)のように印刷設定ボタンを割り当て、アプリケーションに付随するツールバー120に付与させてCRT108に表示する処理を行う。また、122のボタンが押下されたときに表示する図3のようなダイアログと、このダイアログの製本設定ボタンを押下されたときに表示される図21のダイアログ、同様に図3のダイアログのステイプル位置指定ボタンを押下されたときに表示される図22のダイアログをCRT108に表示させ、ユーザから入力されたユーザ依存印刷設定を取得し、ユーザ依存印刷設定処理部に渡す処理と、123のボタンが押下されたときに表示する図4のようなダイアログをCRT108に表示し、ユーザから得られたお気に入りの印刷設定データを取得し、お気に入り設定処理部3に渡す処理と、126のボタンが押下された時に表示する図14のようなダイアログをCRT108に表示し、監視設定データを取得し、ドキュメント監視部4に渡す処理を行う。なお124のボタンは、図19の1801と1802と同様に、印刷設定がモノクロかカラーかを識別可能なようにボタンが作成され配置されている。この機能は図5フローチャートのS110、S112〜S116、S118、S121と図6フローチャートのS210に該当する。なお、124(第1のアイコン)と125(第2のアイコン)はアプリケーションプログラム上で識別可能に表示されるアイコンとなっている。
印刷処理部8は、図19のように表示しているツールバー120に付与している印刷設定ボタン124、125を押下されたとき、ツールバー作成部7から、押下された印刷設定ボタンに関連付けられている印刷設定情報と印刷対象ドキュメントの印刷データとを取得して印刷対象プリンタドライバ10に対して印刷データを送り印刷処理を行う。この機能は図5フローチャートのS117に該当する。
なお、図2の例では、印刷設定作成部6には、プリンタデバイスのステータス、ドキュメントステータス、およびユーザ依存印刷設定が入力されて、印刷設定を作成する例について説明をした。しかしながら、印刷設定を作成する際には、これら3つの情報が入力されなければならないわけではない。例えば、ドキュメントステータスとユーザ依存印刷設定の2つの情報に基づいて印刷設定を作成してもよい。A3の用紙サイズのドキュメントを、A4のサイズで印刷してしまうというミスマッチを防ぐためには、最低この2つの情報を有していればよいからである。なお、これら2つの情報にさらにプリンタデバイスのステータスの情報が追加されることで、印刷対象のプリンタの状態をも加味した印刷設定が生成されることになる。これにより、例えばそのプリンタに備わっていない印刷設定をユーザに対して提示しないで済むようになる。
<処理の流れ>
以上説明した機能を用いて本実施形態は実現可能である。次に、図5〜図13のフローチャートを用いて、どのような流れでこれらの機能を使用して実現しているか説明する。
最初に図5のフローチャートについて説明する。図5のフローチャートは本実施形態のメインとなる処理をあらわしたものである。先に説明したように、本実施形態で具現化されるプログラムは単独のプログラムではなく、ドキュメントを編集するアプリケーションなどに付随して動作するプログラムであるため、何かのアプリケーションが起動したタイミングで本実施形態が開始される。したがって、まず、S101の処理が最初に行われ、図19のようなツールバーを付与できるアプリケーションを起動するという処理を最初に行う。対象となるアプリケーションを起動すると、本フローチャートを処理するプログラムが呼び出される。
アプリケーションの起動後、ドキュメントの監視を開始するために、監視方法を決定して監視を開始する処理を行わなければならない。この処理は、S102〜S106で行われる。
S102は監視方法を外部メモリ110から読み込み、S103でこの監視方法が一定時間ごとにドキュメントをチェックするのかもしくはドキュメントを保存したタイミングでドキュメントをチェックするのか判断する(監視判定)。もし、一定時間ごとにドキュメントをチェックするのであればS104に処理を進め、外部メモリ110から監視間隔時間を読み取り、タイマーをセットする。そしてS105でタイマー起動処理を行う。尚、この監視方法の設定は、ツールバー120にある監視方法ボタン126を押下し、図14のダイアログを表示させて設定する。
S103の処理で、ドキュメントを保存したタイミングでドキュメントをチェックすると判断された場合、S106に処理を進め、保存イベント監視設定処理を行う。
それぞれの処理が終了した段階でS107に処理を進め、お気に入り印刷設定に関する自動印刷設定作成ツールバーの設定処理を実施する。この処理は、図6のフローチャートを用いて説明する。
まず図6のフローチャートではS201〜S204の処理を行い、お気に入りとして登録してある印刷設定が、選択しているプリンタに対して適切なのか否か確認するための処理を実施する。その為のデータとして、S201で情報処理装置113にインストールされているプリンタのプリンタドライバリストを取得し、S202では印刷対象プリンタのドライバを取得する。なお、アプリケーション起動直後にこの処理を行う場合、OSが登録している通常使用するプリンタを印刷対象プリンタとする。一方、後述のS110にてツールバー120の印刷対象プリンタ選択コンボボックス121が変更された場合には、121に表示しているプリンタを印刷対象プリンタとする。印刷対象プリンタを取得後、S203で表1のようなデバイス情報(印刷設定)の取得する処理を行い、S204で印刷対象プリンタのお気に入りとして登録してある印刷設定を取得する(お気に入り設定取得)。これらのデータは、RAM103に一時保存する。また、図19の121のコンボボックスによって印刷対象プリンタが変更された場合、ユーザが選択した情報を取得して、これを印刷対象プリンタとして改めて登録する処理を行う。
必要な情報を取得した後S205を実行し、お気に入りとして登録してある印刷設定が印刷対象プリンタに対して設定できる内容なのか、すなわち、お気に入りとして登録してある印刷設定を、印刷対象プリンタが実現できるのか否かについて、すべての印刷設定項目を確認し、S206の処理で不適切な印刷設定がないと判断された場合はS210へ処理を進める。それに対し、S206で一つでも不適切な印刷設定が存在したと判断された場合はS207へ処理を進める(お気に入り設定決定)。不適切な印刷設定と判断する基準としては、お気に入りとして登録している印刷設定が、印刷対象プリンタに対して設定可能かという点で判断を行う。例として、お気に入りとして登録している印刷用紙サイズがA3であったが、プリンタにセットされている用紙にA3が存在していなかった場合がある。なお、この場合はプリンタのトレイの設定自体にA3の用紙が存在していなくてもよいし、あるいはA3のトレイの設定自体はあるものの、その用紙が切れていた場合であってもよい。
S207では、CRT108に図15のようなダイアログを表示し、ユーザにお気に入りとして登録してある印刷設定の項目に不適切な印刷設定があったことを伝え、自動修正するか否かの判断を求める。ここで、「はい」が選択された場合はS208の処理を行い、不適切な印刷設定項目のみを印刷対象プリンタのデフォルトの印刷設定に置き換える処理を行い、処理が完了したら図16のダイアログを表示する。ここでのデフォルトの印刷設定とは、印刷対象プリンタドライバをインストールした直後の印刷設定内容の事である。図15のフローチャート「いいえ」が選択された場合はS209に処理を進め、図19のツールバーの125のお気に入り印刷設定ボタン(第2のアイコン)表示領域には表示させないようするために、RAM103に保存しているお気に入りのデータ群の不適切な印刷設定項目が存在したお気に入りの印刷設定内容を削除して、不適切な印刷設定を使用不可できない状態にする(お気に入り設定決定)。そして、それぞれの処理が終わるとS210に処理を進める。
S210では、RAM103に保存している印刷対象プリンタに対して使用できるお気に入り設定群を図20の様にユニークな番号(例えばシリアルNo)を割り振り、お気に入りとして登録されているアイコンボタンを関連付ける(表示情報生成)。そして、印刷設定をRAM104に保存する。そして、RAM104に保存されているアイコンボタン(第2のアイコン)をツールバーに表示し、お気に入りの設定をアプリケーション上で使用できるようにする処理を行い、自動印刷設定作成ツールバーの設定処理を終了する。終了後、S109に処理を進める。なお、お気に入りとして登録されている印刷設定が複数ある場合には、それぞれの設定に対応するアイコンボタンを表示する処理を行う。
S109ではドキュメントの監視処理を開始する処理を実施する。監視処理はS110〜S122の処理を監視タイミングに到達した段階で処理を行うようなイメージである。S109の処理が完了するとS110の処理を実施する。
S110では、CRT108に表示している図19ツールバー120左側のコンボボックス121の印刷対象プリンタが変更されたかどうかチェックする処理であり、変更されていた場合はS111に処理を進め、監視処理を終了させてS107の処理を実施してお気に入りの印刷設定のチェックを行う。変更されていない場合、S112へ処理を進める。
S112では、CRT108に表示している図19ツールバー120にある「ユーザ依存印刷設定」ボタン122が押下されたかどうかチェックする処理であり、押下していない場合はS114に処理を進め、押下されていた場合はS113に処理を進める。S113では、CRT108に図3のダイアログや、ここから派生する図21・図22・図23のダイアログを表示させ、ユーザ依存印刷設定値の入力を促す。そして、ダイアログで「OK」ボタンが押下された場合、外部メモリ110に表3のデータを保存し、処理をS114に進める。「キャンセル」ボタンが押下された場合は、保存処理は行わずにS114へ処理を進める。
S114では、CRT108に表示している図19ツールバーにある「お気に入り」ボタン123が押下されたかどうかチェックする処理であり、押下されていない場合はS116に処理を進め、押下されていた場合はS115に処理を進める。S115では、CRT108に図4のダイアログを表示させ、ユーザからお気に入り印刷設定の編集を促す。そして、ダイアログで「OK」ボタンが押下された場合、外部メモリ110にデータを保存し、処理をS116に進める。「キャンセル」ボタンが押下された場合は、保存処理は行わずにS116へ処理を進める。
このお気に入りのダイアログ(図4)について説明する。後述するS120で自動作成された印刷設定でお気に入りとして登録したいものを選択し、「登録」ボタンを押下することでお気に入りの印刷設定として登録することが可能になる。また、登録しているお気に入りの設定で修正したい印刷設定項目がある場合、修正したいお気に入りの印刷設定を選択し、ダイアログの下にある印刷設定内容の部分で修正したい項目を選択し修正処理を行う。その後「修正」ボタンを押下することで、お気に入りの印刷設定の内容を修正することが可能になる。
お気に入りにとして登録している印刷設定の削除も可能で、削除したいお気に入りの印刷設定を選択し「削除」ボタンを押下することで削除することが可能となる。ここで設定されたお気に入りは、「お気に入り」ボタン123として表示される。
S116では、CRT108に表示している図19ツールバーに表示している自動作成された印刷設定ボタン124及びお気に入りの印刷設定ボタン125のいずれかが押下されたかどうかチェックする処理であり、押下されていない場合はS118に処理を進め、押下されていた場合はS117に処理を進める。S117では、ツールバーに表示されている印刷対象プリンタに対して押下された印刷設定ボタンに関連付けられた印刷設定で、ドキュメントの印刷処理を行う。より詳細には、S121でツールバー上に表示したアイコンボタンを押下すると、押下したアイコンボタンに紐付く印刷設定で、プリンタドライバの印刷設定が変更され、アプリケーションデータがこの変更された印刷設定でPDL(ページ記述言語)に変換され、指定されたプリンタ121に対して出力される。印刷処理が終了したのち、S118へ処理を進める。
S117の処理を詳しく説明する。図19のツールバーに表示している印刷設定ボタン124、125にはシリアルNoを割り振っており、この情報はRAM103に保存されている。また、シリアルNoと同時に作成された印刷設定を保存されており、保存例は図20のようになっている。まず、印刷ボタンが押下された場合、割り当てられているシリアルNoを取得する。その後、割り振られているシリアルNoを元にRAM103に保存してある印刷設定を探索し、シリアルNoから印刷設定内容を割り出してRAM103から取得する。この処理から割り出した印刷設定データをOSが印刷時にRAM103の印刷設定を参照する領域にコピーする。具体的には、SetPrinter()APIを使用してコピーする。その後、ドキュメントデータを印刷対象プリンタドライバに送る処理をOSに依頼し、OSがRAM103の印刷設定領域を読み込み、印刷データを作成することによって、自動で作成した印刷設定を適用した印刷が可能となる。
S118では、開いているアプリケーションがMDI形式(一つのアプリケーションの内部で複数のウィンドウを立ち上げ、それを切り替えながら操作できるようにする方式)のアプリケーションで、且つ、ユーザがアクティブなウィンドウを変更したか確認する処理で、ウィンドウが変更された(切り替えられた)場合はアクティブウィンドウのドキュメントの構成が変化するため、監視のチェックタイミングを待たずにS120へ処理を進め印刷設定の作成処理を行う(印刷設定情報生成)。変更されていない場合はS119へ処理を進める。この処理は、アクティブなウィンドウが変更された場合、変更前後でドキュメントの内容が異なる。従って、適切な印刷設定が異なってしまう為、変更された場合は無条件で印刷設定の作成処理を行う事が必要になる。また、Excelのような1つのウィンドウ内のタブで表示するドキュメントが変更される場合でも、この処理を適用する。
S119では、監視処理にてチェックするドキュメントをチェックするタイミング(例えば、予めプログラムに設定されている時間(所定時間)になったタイミング(10秒間隔など))であるか否か確認する処理であり、チェックするタイミングになっていればS120へ処理を進め、なっていなければS122へ処理を進める。S122ではドキュメントを編集するアプリケーションが終了したか否か確認し、終了していなければ処理をS110まで戻す。終了していた場合はS123へ処理を進め、監視終了処理を行う。そして、S125のアプリケーション終了処理を行い、RAM103に保存している本処理に必要なデータをすべて廃棄し、本実施形態を終了させる。尚、監視処理タイミングは図14のダイアログで設定することが可能である。また、例えば「ユーザ依存印刷設定」や「お気に入り」の設定に関しては、廃棄せずに外部メモリ110などに保存しておいてもよい。
S118、S119でS120に処理を進めた場合、表2の印刷項目に対してアプリケーションデータに適用可能な印刷設定情報の生成処理を行う。この具体的な処理は、図7の印刷設定作成処理フローチャートを用いて説明する。なお、「アプリケーションデータに適用可能な印刷設定情報」とは、その印刷設定情報に基づく印刷設定を用いてそのアプリケーションデータの印刷を実行可能であることを意味する。
まず印刷設定作成に必要なデータを収集するためS301で印刷対象プリンタ112から表1の項目を取得、S302で作成しているドキュメントのチェックを行いドキュメント状態(表4)の取得(データ設定情報取得)、S303で外部メモリ110からユーザ依存印刷設定を取得する(ユーザ印刷設定)。
必要なデータの取得が終わると、S304出力用紙サイズを決定する処理を行う。具体的な処理は図8出力用紙サイズ決定処理フローチャートとなる。
まずS402では、S302で取得した作成ドキュメントの用紙サイズとS301で取得した印刷対象プリンタの用紙トレイに格納されている用紙サイズから、一致する用紙サイズがあるか確認する。ここで作成ドキュメントの用紙サイズを取得する方法として、WordマクロのPageSetup.PageWidthで横方向の用紙サイズ、PageSetup.PageHeightで縦方向の用紙サイズを取得できる。これらの必要な情報を収集して確認した結果、一致するサイズが存在するのであればS403に処理を進め、ドキュメントの用紙サイズを出力用紙サイズとして印刷設定に登録する。
一致しなければS404に処理を進め、印刷対象プリンタの用紙トレイに格納されている用紙サイズの中で、一番ドキュメントの用紙サイズと近いものを出力用紙サイズとして印刷設定に登録する。これは、印刷データが用紙から途切れる事や、無駄な余白が発生しないような印刷設定にするためである。
出力用紙サイズが決定した後、次にS305印刷の向き(例えば、「縦」や「横」)を決定する処理を行う。これは、作成しているドキュメントに依存する印刷設定であり、ドキュメントの内容をチェックして決定する印刷設定である。ここで作成ドキュメントから印刷の向きの設定を取得する方法として、WordマクロのPageSetup.Orientationがある。この取得した値を、印刷の向きの印刷設定値とする。
次にS306に処理を進め、ページレイアウト(例えば、「2ページ/枚」)の決定処理を行う。具体的な処理は図9ページレイアウトの決定フローチャートとなる。
まずS501では、S303で取得したユーザ依存印刷設定から製本印刷を実施するか否かのデータを取得し、製本印刷を実施すると設定されていた場合は、製本印刷特有の設定になるため、ページレイアウトの設定値は無効になるので、そのままこの処理を終える。
S501で製本印刷を実施しないと判断した場合は、S502に処理を進める。ここでは、S303で取得したユーザ依存印刷設定として登録している最大ページレイアウト数と、S302で取得した作成しているドキュメントのページ数を比較する。ここで、作成ドキュメントのページ数を取得する方法として、WordマクロのBuiltinDocumentProperties(「Number of Pages」).Valueがある。これらの必要な情報を収集して比較した結果、作成ドキュメントのページ数が最大ページレイアウト数以上であった場合はS503に処理を進め、最大ページレイアウト数の値以下のページレイアウト値をユーザに提示する印刷設定値とする。作成ドキュメントが最大ページレイアウト数未満の値であった場合はS504に処理を進め、作成ドキュメントのページ数以下で最も近似するページレイアウト値をユーザに提示する印刷設定値とする。これは、ユーザの意思を反映したユーザレイアウトで且つ、無駄な空白が発生しないような印刷設定とするためである。例えば、最大ページレイアウト数が10で、作成ドキュメントのページ数が4の場合には、最大ページレイアウト数を10にしてユーザに提示してしまうと、無駄な空白が発生し得る。よって、これを避けるために上記処理を行う。
次にS307に処理を進め、印刷方法(例えば、両面印刷、製本印刷等)の決定処理を行う。具体的な処理は図10印刷方法の決定フローチャートとなる。
まずS601では、S303で取得したユーザ依存印刷設定が「製本印刷」であるか確認し、製本印刷であればS602に処理を進め、印刷対象プリンタが製本可能なプリンタであるか確認する。その結果、製本可能であるプリンタであればS604に処理を進め、印刷方法を「製本印刷」とする。
その後処理をS608に処理を進め、ユーザ依存印刷設定の製本印刷設定での中とじ設定がONになっているか否かチェックをする。チェックした結果、ONになっていた場合はS609に処理を進め、S301で取得したデバイス状況が、中とじ可能なプリンタであるか否かチェックする。その結果、中とじ可能な(製本可能な)プリンタと判断された場合はS610に処理を進め、中とじ設定を「ON」として本処理を終了する。S608で中とじをしない設定であった場合、S609で中とじが不可能なプリンタであった場合は、S611に処理を進め、中とじ設定を「OFF」として本処理を終了する。
S601で製本印刷ではなかった場合はS603に処理を進め、ユーザ依存印刷設定が「両面印刷」であるか確認し、両面印刷と設定されていた場合、およびS602で製本印刷が不可能なプリンタと判断された場合はS605に処理を進め両面印刷であれば印刷方法として「両面印刷」と「片面印刷」を設定候補値として、S606に処理を進める。ここで、S602で製本不可と判断された場合に、S605に処理を進め両面印刷を設定候補値にする理由としては、両面印刷を行いユーザ自身でステイプルを止めると、製本印刷とほぼ同等の出力結果が得られるからである。したがって、目的の印刷物にできる限り近い状態で印刷処理を進めようという考えから、両面印刷としている。
S606では、S301で取得した印刷対象プリンタが両面印刷可能なプリンタであるか確認してその結果、両面印刷が可能なプリンタであれば、S605の内容を保持したまま、本処理を終了する。
また、S606で両面印刷不可のプリンタであった場合、およびS603でユーザ依存印刷設定が両面印刷ではなかった場合はS607に処理を進め、S605で保持している印刷設定を破棄し、印刷方法を「片面印刷」として本処理を終了する。
次にS308に処理を進め、カラーモードの決定処理を行う。具体的な処理は図11カラーモードの決定フローチャートとなる。
まずS701にてS301で取得した印刷対象プリンタでカラー印刷が可能か確認する。その結果、可能であればS702に処理を進め、S302で取得した作成しているドキュメントがカラーを使用しているか確認する。ここでは、作成ドキュメントでカラーを使用しているか確認する方法として、例えば文字オブジェクトの場合、WordマクロのWord.Font.Colorがある。必要な情報を収集した結果、使用していると判断された場合はS703に処理を進め、カラーモードとして「カラー」と「モノクロ」を設定候補値とする。反対に、カラー印刷が可能ではないプリンタと判断された場合、またはS702で作成ドキュメントがカラーを使用していないと判断された場合はS704に処理を進め、カラーモードを「モノクロ」として本処理を終了する。
次にS309に処理を進め、印刷目的(例えば、「一般」や「グラフィックス」等)の決定処理を行う。具体的な処理は図12の印刷目的の決定処理フローチャートとなる。
印刷目的は、作成しているドキュメントに対して使用している文字オブジェクト、グラフィックスオブジェクト、写真オブジェクトの使用比率によって決定する。したがって、まずS801において、S302で取得した作成しているドキュメントの構成を解析する処理を実施する。その後、S802の処理を実施し作成ドキュメントに画像が挿入されているかチェックする。この確認する方法として、Wordマクロで画像または図形オブジェクトに対してShapeRangeプロパティを取得し、その中にあるTypeプロパティの値を確認して判断することが可能である。その結果、画像が挿入されているのであればS803に処理を進める。S803では、作成ドキュメント内のいずれかのページで画像オブジェクトが半分以上占めているページが存在するか確認する。これも前述のShapeRangeプロパティのWidth,Heightプロパティから値を取得することが出来る。また、ページのサイズはドキュメント用紙サイズを取得した際の値を使えば良い。確認した結果、画像オブジェクトが半分以上占めているページが存在した場合はS804に処理を進め、印刷目的を画像に適した設定である「画像」と仮決定する処理を行う。
S802で画像オブジェクトが挿入されていない場合、およびS803で作成ドキュメント内のいずれかのページで画像オブジェクトを半分以上占めているページがないと判断された場合はS805に処理を進め、作成ドキュメントにグラフィックスオブジェクトが挿入されているかチェックする。この確認方法として、S802と同様にShapeRangeプロパティのTypeプロパティを使用して確認する。その結果、オブジェクトが挿入されている場合は処理をS806に進め、作成ドキュメント内のいずれかのページで、グラフィックスオブジェクトが半分以上占めているページが存在するか確認する。その結果、存在した場合はS807に処理を進める。
S807では、グラフィックスオブジェクトが半分以上占めているページの中で、1pt以下の線を使用しているグラフィックスオブジェクトが半分以上占めているかチェックする。これもShapeRangeプロパティのLine.Weightプロパティを使用してデータを取得する。その結果、存在するのであれば印刷目的を細線に適した設定である「CAD」と仮決定し、存在しなければグラフィックスに適した設定である「グラフィックス」と仮決定する。
S805でグラフィックスオブジェクトが挿入されていない場合、及びS806で作成ドキュメント内のいずれかのページでグラフィックスオブジェクトを半分以上占めているページがないと判断された場合はS810に処理を進め、作成ドキュメントに8pt以下の文字サイズで半分以上占めているページが存在するかチェックする。この確認方法として、WordマクロのFont.Sizeプロパティがある。その結果、存在するのであれば、印刷目的を細かい文字に適した設定である「高精細文字」と仮決定し、存在しなければ印刷目的をデフォルト設定である「一般」と仮決定する。
印刷目的を仮決定したのち、処理をS813に処理を進め、仮決定した印刷目的が設定可能かチェックする。その結果、可能であれば仮決定した印刷目的を本決定し処理を終了し、不可能であれば処理をS814に進めて仮決定した印刷目的の設定を破棄し、印刷目的を「一般」として処理を終了する。
次にS310に処理を進め、とじ方向(例えば、長辺とじ、短辺とじ等)の決定処理を行う。これは、S303で取得したユーザ依存印刷設定の内容を確認して決定される印刷設定である。
次にS311に処理を進め、排紙方式(例えば、ソートやグループ等)の決定処理を行う。具体的な処理は図13の排紙方式の決定フローチャートとなる。
まずS901ではS303で取得したユーザ依存印刷設定の排紙方式が「製本」と登録されているかチェックする。その結果、製本と登録されていた場合はS902に処理を進め、S301で取得した印刷対象プリンタが製本可能なプリンタであるかチェックする。その結果、製本可能であれば排紙方式が無効になるので、本処理を終了する。
S901でユーザ依存印刷設定が「製本」ではない場合やS902で製本不可のプリンタと判断された場合は、S904に処理を進めユーザ依存印刷設定で登録されている排紙方式でステイプル印刷を行うか否かチェックし、ステイプル印刷を行うのであれば、処理をS905にすすめ、ステイプル印刷が可能か否かのチェックを行う。その結果、ステイプル印刷が可能であれば、S906に処理を進めて排紙方式をステイプルと決定して本処理を終える。
S904でステイプル印刷を行わないと登録されていたまたはS905でステイプル印刷不可のプリンタであった場合は処理をS907に進め、排紙方式をデフォルトの印刷設定である「ソート」と決定して本処理を終える。
次にS312に処理を進め、印刷用紙の決定処理を行う。これはユーザ依存印刷設定の内容を確認して決定される印刷設定である。
次にS313に処理を進め、印刷設定情報の生成処理を行う。これは、S304〜S312まで表1〜表3の項目を加味して、少なくとも1つ以上の印刷設定値を決定した。これらの設定値を組み合わせて複数の印刷設定を作成する処理をS313で実施して、印刷設定作成処理が終了する。今回の印刷設定作成処理では、ページレイアウト、印刷方法、カラーモードにおいて、印刷設定候補値が作成されている。従って、複数個作成される理由としては、その候補値を組み合わせて印刷設定作成処理を行うことによって、複数個の印刷設定が作成されるためである。
そしてS121の処理を実施し、作成した印刷設定にボタンを割り当てツールバーに表示させる処理を行う。ボタンに表示させるイメージはあらかじめ外部メモリ110用意しておき、印刷設定の組み合わせとボタンイメージを関連付けておく。例えば、1in1両面印刷用のイメージ、2in1カラー印刷用のイメージという形であらかじめ関連付けさせておく。そして、この関連データと、作成した印刷設定と一致する内容を探し、ボタンと印刷設定を結びつけ、そのデータにユニークなシリアル番号を割り振った後、RAM103に図20のような形式で保存する。
このように処理を行うことによって本実施形態は実現でき、常に適切な印刷設定をユーザに提案することが可能で、少ない操作で提案した印刷設定を適用した印刷が実現でき、かつ、印刷ミスもなくすことができる。また、自動で作成された印刷設定で、自分が好む内容をお気に入りとして登録することができ、一からお気に入りの印刷設定を作成することなくお気に入りの印刷設定の登録が可能となる。