(57)【要約】【課題】印刷対象データの印刷指示を受け付けた後、印刷設定に関する情報を取得し、印刷設定画面を表示させることができるプログラム、情報処理装置、情報処理方法、及び情報処理システムを提供することを課題とする。【解決手段】印刷対象データの印刷設定を行うことができるアプリケーションが搭載された情報処理装置に、前記印刷対象データを印刷するための印刷開始の指示を受け付けると、前記アプリケーションの印刷設定に関する情報を所定の第１の記憶領域から取得し、該取得した印刷設定に関する情報を所定の第２の記憶領域に記憶させる第１記憶手順、前記第１記憶手順で記憶された前記印刷設定に関する情報を前記所定の第２の記憶領域から取得し、該取得した印刷設定に関する情報に基づき印刷設定を行う印刷設定画面を表示させる表示手順、前記印刷設定画面で設定された印刷設定に基づき前記印刷対象データを印刷データに変換する変換手順、を実行させることにより、上記課題を解決する。【選択図】  図４
2015153404.tif 000002
【特許請求の範囲】
【請求項１】
印刷対象データの印刷設定を行うことができるアプリケーションが搭載された情報処理装置に、
前記印刷対象データを印刷するための印刷開始の指示を受け付けると、前記アプリケーションの印刷設定に関する情報を所定の第１の記憶領域から取得し、該取得した印刷設定に関する情報を所定の第２の記憶領域に記憶させる第１記憶手順、
前記第１記憶手順で記憶された前記印刷設定に関する情報を前記所定の第２の記憶領域から取得し、該取得した印刷設定に関する情報に基づき印刷設定を行う印刷設定画面を表示させる表示手順、
前記印刷設定画面で設定された印刷設定に基づき前記印刷対象データを印刷データに変換する変換手順、
を実行させるためのプログラム。
【請求項２】
前記情報処理装置に、
前記印刷設定画面において設定された印刷設定に関する情報を前記所定の第２の記憶領域に記憶させる第２記憶手順、
前記第２記憶手順により記憶させた印刷設定に関する情報を前記第２の記憶領域から取得し、該取得した印刷設定に関する情報を前記所定の第１の記憶領域に記憶させる第３記憶手順、
を実行させるための請求項１記載のプログラム。
【請求項３】
前記所定の第１の記憶領域は、アプリケーション毎の印刷設定に関する情報を有し、
前記印刷設定画面は、
前記印刷設定画面において設定された印刷設定を前記アプリケーションの標準の印刷設定とするか否かをユーザに選択させるための表示部品を有し、
前記第２記憶手順は、
前記印刷設定画面において設定された印刷設定を前記アプリケーションの標準の印刷設定とするとユーザが選択した場合、前記印刷設定画面において設定された印刷設定に関する情報を前記アプリケーションの印刷設定に関する情報として前記所定の第２の記憶領域に記憶させる、請求項２記載のプログラム。
【請求項４】
前記所定の第１の記憶領域は、さらに、ユーザ毎の印刷設定に関する情報と全ユーザ共通の印刷設定に関する情報とを有し、
前記印刷設定画面は、
さらに、前記印刷設定画面において設定された印刷設定を、印刷開始の指示を行ったユーザの標準の印刷設定とするか全ユーザ共通の標準の印刷設定とするかを前記ユーザに選択させるための表示部品を有し、
前記第２記憶手順は、
前記印刷設定画面において設定された印刷設定を、前記ユーザの選択に基づいて、前記印刷設定画面において設定された印刷設定に関する情報を、前記アプリケーションの印刷設定に関する情報、前記ユーザの印刷設定に関する情報、全ユーザ共通の印刷設定に関する情報のいずれかとして前記所定の第２の記憶領域に記憶させる、請求項３記載のプログラム。
【請求項５】
前記印刷設定画面は、
前記印刷設定画面において設定された印刷設定について、印刷設定項目毎に前記アプリケーションの標準の印刷設定とするか、印刷開始の指示を行ったユーザの標準の印刷設定とするか、全ユーザ共通の標準の印刷設定とするかを前記ユーザに選択させるための表示部品を有し、
前記第２記憶手順は、
前記印刷設定画面において設定された印刷設定を、前記ユーザの選択に基づいて、前記印刷設定画面において設定された印刷設定に関する情報を印刷設定項目毎に、前記アプリケーションの印刷設定に関する情報、前記ユーザの印刷設定に関する情報、全ユーザ共通の印刷設定に関する情報として前記所定の第２の記憶領域に記憶させる、請求項４記載のプログラム。
【請求項６】
前記所定の第１の記憶領域は、Devmode構造体の記憶領域又はPrintTicketクラスの記憶領域である、請求項１ないし５のいずれか１項に記載のプログラム。
【請求項７】
前記所定の第２の記憶領域は、前記情報処理装置のファイルの記憶領域又はレジストリの記憶領域である、請求項１ないし６のいずれか１項に記載のプログラム。
【請求項８】
印刷対象データの印刷設定を行うことができるアプリケーションが搭載された情報処理装置であって、
前記印刷対象データを印刷するための印刷開始の指示を受け付けると、前記アプリケーションの印刷設定に関する情報を所定の第１の記憶領域から取得し、該取得した印刷設定に関する情報を所定の第２の記憶領域に記憶させる第１記憶手段と、
前記第１記憶手段で記憶された前記印刷設定に関する情報を前記所定の第２の記憶領域から取得し、該取得した印刷設定に関する情報に基づき印刷設定を行う印刷設定画面を表示させる表示手段と、
前記印刷設定画面で設定された印刷設定に基づき前記印刷対象データを印刷データに変換する変換手段と、
とを有する情報処理装置。
【請求項９】
前記印刷設定画面において設定された印刷設定に関する情報を前記所定の第２の記憶領域に記憶させる第２記憶手段と、
前記第２記憶手段により記憶させた印刷設定に関する情報を前記第２の記憶領域から取得し、該取得した印刷設定に関する情報を前記所定の第１の記憶領域に記憶させる第３記憶手段と、
を有する請求項８記載の情報処理装置。
【請求項１０】
前記所定の第１の記憶領域は、アプリケーション毎の印刷設定に関する情報を有し、
前記印刷設定画面は、
前記印刷設定画面において設定された印刷設定を前記アプリケーションの標準の印刷設定とするか否かをユーザに選択させるための表示部品を有し、
前記第２記憶手段は、
前記印刷設定画面において設定された印刷設定を前記アプリケーションの標準の印刷設定とするとユーザが選択した場合、前記印刷設定画面において設定された印刷設定に関する情報を前記アプリケーションの印刷設定に関する情報として前記所定の第２の記憶領域に記憶させる、請求項９記載の情報処理装置。
【請求項１１】
前記所定の第１の記憶領域は、さらに、ユーザ毎の印刷設定に関する情報と全ユーザ共通の印刷設定に関する情報とを有し、
前記印刷設定画面は、
さらに、前記印刷設定画面において設定された印刷設定を、印刷開始の指示を行ったユーザの標準の印刷設定とするか全ユーザ共通の標準の印刷設定とするかを前記ユーザに選択させるための表示部品を有し、
前記第２記憶手段は、
前記印刷設定画面において設定された印刷設定を、前記ユーザの選択に基づいて、前記印刷設定画面において設定された印刷設定に関する情報を、前記アプリケーションの印刷設定に関する情報、前記ユーザの印刷設定に関する情報、全ユーザ共通の印刷設定に関する情報のいずれかとして前記所定の第２の記憶領域に記憶させる、請求項１０記載の情報処理装置。
【請求項１２】
前記印刷設定画面は、
前記印刷設定画面において設定された印刷設定について、印刷設定項目毎に前記アプリケーションの標準の印刷設定とするか、印刷開始の指示を行ったユーザの標準の印刷設定とするか、全ユーザ共通の標準の印刷設定とするかを前記ユーザに選択させるための表示部品を有し、
前記第２記憶手段は、
前記印刷設定画面において設定された印刷設定を、前記ユーザの選択に基づいて、前記印刷設定画面において設定された印刷設定に関する情報を印刷設定項目毎に、前記アプリケーションの印刷設定に関する情報、前記ユーザの印刷設定に関する情報、全ユーザ共通の印刷設定に関する情報として前記所定の第２の記憶領域に記憶させる、請求項１１記載の情報処理装置。
【請求項１３】
前記所定の第１の記憶領域は、Devmode構造体の記憶領域又はPrintTicketクラスの記憶領域である、請求項８ないし１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記所定の第２の記憶領域は、前記情報処理装置のファイルの記憶領域又はレジストリの記憶領域である、請求項８ないし１３のいずれか１項に記載の情報処理装置。
【請求項１５】
印刷対象データの印刷設定を行うことができるアプリケーションが搭載された情報処理装置に用いられる情報処理方法であって、
前記印刷対象データを印刷するための印刷開始の指示を受け付けると、前記アプリケーションの印刷設定に関する情報を所定の第１の記憶領域から取得し、該取得した印刷設定に関する情報を所定の第２の記憶領域に記憶させる第１記憶手順と、
前記第１記憶手順で記憶された前記印刷設定に関する情報を前記所定の第２の記憶領域から取得し、該取得した印刷設定に関する情報に基づき印刷設定を行う印刷設定画面を表示させる表示手順と、
前記印刷設定画面で設定された印刷設定に基づき前記印刷対象データを印刷データに変換する変換手順と、
を有する情報処理方法。
【請求項１６】
印刷対象データの印刷設定を行うことができるアプリケーションが搭載された情報処理装置を有する情報処理システムであって、
前記印刷対象データを印刷するための印刷開始の指示を受け付けると、前記アプリケーションの印刷設定に関する情報を所定の第１の記憶領域から取得し、該取得した印刷設定に関する情報を所定の第２の記憶領域に記憶させる第１記憶手段と、
前記第１記憶手段で記憶された前記印刷設定に関する情報を前記所定の第２の記憶領域から取得し、該取得した印刷設定に関する情報に基づき印刷設定を行う印刷設定画面を表示させる表示手段と、
前記印刷設定画面で設定された印刷設定に基づき前記印刷対象データを印刷データに変換する変換手段と、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、情報処理方法、及び情報処理システムに関する。
【背景技術】
【０００２】
ユーザがアプリケーションにおいて印刷対象データの印刷実行を行った後、ポップアップ画面を表示させて、印刷設定の変更を行うことができる技術は既に知られている（例えば特許文献１参照）。すなわち、例えばユーザがアプリケーションの印刷実行ボタンを押下した直後に、図１に示すようなポップアップ画面１０００を表示させて、ユーザ認証を行なわせる技術は既に知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の従来技術においては、一部の設定項目しかポップアップ画面に表示させることができなかった。すなわち、印刷実行後のポップアップ画面では例えばユーザＩＤやパスワードなどのファイルやレジストリに保存されている一部の設定項目しか変更することができなかった。したがって、例えば両面／片面、用紙サイズ、割付印刷、カラー／モノクロなどＯＳ（Operating System）が定義するＤｅｖｅｍｏｄｅ構造体などの印刷設定保存領域に保存されている設定項目の変更を行うことはできなかった。
【０００４】
本発明の一実施形態は、上記の点に鑑みてなされたもので、印刷対象データの印刷指示を受け付けた後、印刷設定に関する情報を取得し、印刷設定画面を表示させることができるプログラム、情報処理装置、情報処理方法、及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の一実施形態は、印刷対象データの印刷設定を行うことができるアプリケーションが搭載された情報処理装置に、前記印刷対象データを印刷するための印刷開始の指示を受け付けると、前記アプリケーションの印刷設定に関する情報を所定の第１の記憶領域から取得し、該取得した印刷設定に関する情報を所定の第２の記憶領域に記憶させる第１記憶手順、前記第１記憶手順で記憶された前記印刷設定に関する情報を前記所定の第２の記憶領域から取得し、該取得した印刷設定に関する情報に基づき印刷設定を行う印刷設定画面を表示させる表示手順、前記印刷設定画面で設定された印刷設定に基づき前記印刷対象データを印刷データに変換する変換手順、を実行させることを特徴とする。
【発明の効果】
【０００６】
本発明の一実施形態によれば、印刷対象データの印刷指示を受け付けた後、印刷設定に関する情報を取得し、印刷設定画面を表示させることができる。
【図面の簡単な説明】
【０００７】
【図１】従来のポップアップ画面の一例のイメージ図である。
【図２】第一の実施形態に係る印刷システムの一例の構成図である。
【図３】第一の実施形態に係る情報処理装置の一例のハードウェア構成図である。
【図４】第一の実施形態に係る情報処理装置の一例の機能ブロック図である。
【図５】第一の実施形態に係るポップアップ画面表示処理の概略を説明するための一例のフローチャートである。
【図６】DrvDocumentEvent()関数を説明するための一例の説明図である。
【図７】Devmodeの取得及びポップアップ画面表示のタイミングを説明するための一例の説明図である。
【図８】第一の実施形態に係る印刷設定一時記憶部に保存されるファイルを説明するための一例の説明図である。
【図９】第一の実施形態に係るポップアップ画面表示処理の一例のシーケンス図である。
【図１０】第一の実施形態に係るポップアップ画面の一例のイメージ図である。
【図１１】第一の実施形態に係る印刷設定情報の保存処理の一例のシーケンス図である。
【図１２】アプリケーションの印刷設定画面の一例のイメージ図である。
【図１３】第二の実施形態に係る情報処理装置の一例の機能ブロック図である。
【図１４】第二の実施形態に係るポップアップ画面の一例のイメージ図である。
【図１５】第二の実施形態に係るポップアップ画面表示処理の概略を説明するための一例のフローチャートである。
【図１６】第二の実施形態に係る印刷設定一時記憶部に保存されるファイルを説明するための一例の説明図である。
【図１７】第二の実施形態に係るポップアップ画面表示処理の一例のシーケンス図である。
【図１８】第二の実施形態に係る印刷設定情報の保存処理の一例のシーケンス図である。
【図１９】第三の実施形態に係るポップアップ画面の一例のイメージ図である。
【図２０】第三の実施形態に係る印刷設定一時記憶部に保存されるファイルを説明するための一例の説明図である。
【発明を実施するための形態】
【０００８】
次に、本発明の実施の形態について、詳細に説明する。
［第一の実施形態］
＜システム構成＞
図２は、第一の実施形態に係る印刷システムの一例の構成図である。図２の印刷システム１は、情報処理装置１０と１台以上の印刷装置２０がネットワークＮ１に有線や無線で接続されている。
【０００９】
情報処理装置１０は、印刷対象データに印刷指示を行うことで印刷装置２０に印刷要求を行うことできるアプリケーションがインストールされたＰＣ（パーソナルコンピュータ）である。情報処理装置１０は、タブレット端末、スマートフォンや携帯電話、ＰＤＡなどの携帯情報端末、電子ホワイトボード等の表示装置、プロジェクタ等の投影装置などでもよい。情報処理装置１０は、印刷対象データに印刷指示を行うことができるアプリケーションがインストールされていればよい。
【００１０】
なお、印刷対象データとは、例えばアプリケーションから印刷指示を行うことができる文書データ、画像データなどの電子データである。
【００１１】
印刷装置２０は、情報処理装置１０から印刷要求と印刷データを取得し、印刷を行うプリンタなどの画像形成装置である。印刷装置２０は、プリント機能の他、コピー機能、スキャナ機能、ＦＡＸ機能など複数の機能を有するＭＦＰ（Multifunction Peripheral）などの複合機でもよい。なお、印刷データとは、印刷対象データを印刷装置２０が解釈可能な形式に変換した電子データである。印刷装置２０が解釈可能な形式には、例えばＰＤＬ（Page Description Language）などである。
【００１２】
なお、図２において、情報処理装置１０は２台以上あってもよい。また、図２において、印刷装置２０は１台のみであってもよい。
【００１３】
＜ハードウェア構成＞
情報処理装置１０は、例えば図３に示すようなハードウェア構成により実現される。図３は、第一の実施形態に係る情報処理装置の一例のハードウェア構成図である。図３に示す情報処理装置は、それぞれバスで相互に接続されているＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、外部Ｉ／Ｆ１４、通信装置１５、入力装置１６、表示制御部１７、記憶装置１８を有する。ＣＰＵ１１は、ＯＳ３０、プリンタドライバ４０、アプリケーション５０を記憶装置１８から読み出して、ＲＡＭ１３を作業メモリにして実行する。
【００１４】
アプリケーション５０は、印刷装置２０に印刷要求を行うことができるものであればよく、例えば文書作成ソフト、ブラウザソフト、プレゼン資料作成ソフトなどである。印刷対象データを作成、編集、表示、管理などして、印刷可能なアプリケーションであればどのようなものでもよい。
【００１５】
ＲＡＭ１３は、必要なデータを一時保管する作業メモリ（主記憶メモリ）になり、ＲＯＭ１２にはＢＩＯＳ（Basic Input/Output System）や初期設定されたデータ、スタートプログラムなどが記憶されている。
【００１６】
外部Ｉ／Ｆ１４は、ＵＳＢケーブルなどのケーブルや、可搬型の記憶媒体１４１を装着するインタフェースである。通信装置１５は、ＬＡＮカードやイーサネット（登録商標）カードであり、ＣＰＵ１１からの指示により印刷装置２０に印刷要求や印刷データなどのパケットデータを送信する。
【００１７】
入力装置１６は、キーボード、マウスなど、ユーザの様々な操作指示を受け付けるユーザインタフェースである。タッチパネルや音声入力装置であってもよい。表示制御部１７は、アプリケーション５０が指示する画面情報に基づき所定の解像度や色数などでディスプレイ１７１の描画を制御する。ディスプレイ１７１は、液晶や有機ＥＬなどの表示装置である。
【００１８】
記憶装置１８は、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発メモリであり、ＯＳ３０、プリンタドライバ４０、アプリケーション５０を記憶している。
【００１９】
記憶媒体１４１は、例えばＳＤカードやＵＳＢメモリなどの不揮発メモリである。ＯＳ３０、プリンタドライバ４０、アプリケーション５０は、記憶媒体１４１に記憶された状態又は不図示のサーバからダウンロードされる態様などで配布される。
【００２０】
本実施形態に係る情報処理装置１０は、例えば上記ハードウェア構成でプログラムを実行することにより、後述するような各種処理を実現できる。
【００２１】
＜ソフトウェア構成＞
第一の実施形態に係る情報処理装置１０は例えば図４に示す機能ブロックにより実現される。図４は、第一の実施形態に係る情報処理装置の一例の機能ブロック図である。
【００２２】
情報処理装置１０は、ＯＳ３０、プリンタドライバ４０、アプリケーション５０、印刷設定一時記憶部６０、通信部７０を有する。
【００２３】
ＯＳ３０は、情報処理装置１０全体を制御する基本ソフトウェアである。ＯＳ３０は、Windows（登録商標）、UNIX（登録商標）、MacOS（登録商標）などが存在する。
【００２４】
本実施形態では、一例として情報処理装置１０のＯＳ３０はWindows系ＯＳであるとして説明する。なお、Windows系ＯＳには、WindowsNT、Windows98、Windows2000、Windows2000 Server、Windows2003 Server、Windows2008 Server、WindowsMe、WindowsXP、WindowsVista、Windows7、Windows8、及びこれ以降のバージョンのＯＳなどが含まれる。
【００２５】
アプリケーション５０は、上述した通り、印刷装置２０に印刷要求を行うことができる文書作成ソフト、ブラウザソフト、プレゼン資料作成ソフトなどである。
【００２６】
印刷設定一時記憶部６０は、印刷設定情報を一時的に保存させる記憶部である。印刷設定一時記憶部６０は、例えば記憶装置１８に記憶されたファイルやレジストリなどである。なお、印刷設定情報は、後述するように、印刷設定記憶部４６に記憶される印刷設定に関する情報であり、例えば両面／片面、用紙サイズ、割付印刷、カラー／モノクロなど印刷に関する情報である。
【００２７】
通信部７０は、通信装置１５を用いて実現され、印刷装置２０との通信を行う。情報処理装置１０は、通信部７０により印刷要求や印刷データを印刷装置２０に送信する。
【００２８】
プリンタドライバ４０は、描画部４１、画面表示部４２、ポップアップ画面表示部４３、項目設定部４４、印刷設定管理部４５、印刷設定記憶部４６を有する。
【００２９】
描画部４１は、指定された印刷設定に従って印刷対象データを印刷データに変換する。画面表示部４２は、ユーザからの指示により、プリンタドライバ４０の印刷設定画面を表示する。ポップアップ画面表示部４３は、アプリケーションからの印刷実行指示後に印刷設定を行うためのポップアップ画面を表示する。項目設定部４４は、印刷設定情報を取得し、ポップアップ画面を生成する。
【００３０】
印刷設定管理部４５は、印刷設定一時記憶部６０及び印刷設定記憶部４６から印刷設定情報を取得する。また、印刷設定管理部４５は、印刷設定一時記憶部６０及び印刷設定記憶部４６に印刷設定情報を保存する。
【００３１】
印刷設定記憶部４６は、デフォルト（標準）の印刷設定情報を記憶する。すなわち、アプリケーション５０は、印刷設定記憶部４６に記憶されている印刷設定情報を印刷設定のデフォルト値として使用する。印刷設定情報は、例えば両面／片面、用紙サイズ、割付印刷、カラー／モノクロなど印刷に関する情報である。印刷設定記憶部４６は、例えばＤｅｖｍｏｄｅ構造体（データテーブル）やＰｒｉｎｔＴｉｃｋｅｔなどである。
【００３２】
本実施形態では、一例として印刷設定記憶部４６はＤｅｖｍｏｄｅ構造体（以下、Ｄｅｖｍｏｄｅという）であるとして説明する。なお、ＤｅｖｍｏｄｅはＯＳ３０（Windows系ＯＳ）上で動作するプリンタドライバ４０に対して印刷設定を共通に設定するためのメンバ変数が定義されたデータ構造である。なお、Ｄｅｖｍｏｄｅ（具体的には、Ｄｅｖｍｏｄｅのうち、Ｐｕｂｌｉｃ  Ｄｅｖｍｏｄｅという領域）に保存した印刷設定は、任意のアプリケーションと連携が可能であり、例えば、アプリケーション上でカラーや用紙サイズを設定して印刷した場合、自動的にＤｅｖｍｏｄｅにカラーや用紙サイズの情報が反映され、プリンタドライバの印刷設定画面を開かなくてもアプリケーションで設定した印刷設定通りに印刷される。
【００３３】
なお、Ｄｅｖｍｏｄｅには、Ｐｒｉｖａｔｅ  Ｄｅｖｍｏｄｅという領域も存在し、この領域はプリンタドライバの各メーカが自由に構造を決めることができる。したがって、例えばステープルやパンチなど各ベンダーのオリジナルの機能はＰｒｉｖａｔｅ  Ｄｅｖｍｏｄｅで保存する。
【００３４】
＜処理の詳細＞
まず、第一の実施形態に係る情報処理装置１０におけるポップアップ画面表示処理の概略について説明する。図５は、第一の実施形態に係るポップアップ画面表示処理の概略を説明するための一例のフローチャートである。
【００３５】
ユーザが情報処理装置１０にインストールされているアプリケーション５０から文書データなどの印刷対象データの印刷を実行する（ステップＳ１０１）。そして、所定のタイミングでプリンタドライバ４０は、印刷設定記憶部４６（Ｄｅｖｍｏｄｅ）に保存されている印刷設定情報を取得し、取得した印刷設定情報を印刷設定一時記憶部６０にファイルなどで保存する（ステップＳ１０２）。
【００３６】
次に、プリンタドライバ４０は、ステップＳ１０２で保存した印刷設定情報を印刷設定一時記憶部６０から取得し（ステップＳ１０３）、この取得した印刷設定情報を用いて、所定のタイミングで印刷設定を行うためのポップアップ画面を表示させる（ステップＳ１０４）。なお、このときポップアップ画面の各印刷設定項目には、デフォルト（標準）の印刷設定値が表示されている。
【００３７】
ユーザがポップアップ画面で印刷設定を変更した場合（ステップＳ１０５）、プリンタドライバ４０は変更した印刷設定に関する印刷設定情報を印刷設定一時記憶部６０に保存し（ステップＳ１０６）、変更した印刷設定で印刷データの作成を行う（ステップＳ１０７）。
【００３８】
なお、ステップＳ１０５において、ユーザが印刷設定を変更しなかった場合、ステップＳ１０６の処理は行わないようにしてもよい。または、ステップＳ１０５において、ユーザが印刷設定を変更しなかった場合、変更してない印刷設定情報を印刷設定一時記憶部６０に保存してもよい。
【００３９】
以上により、ユーザがアプリケーション５０から印刷対象データの印刷実行を行った後、印刷設定を行うためのポップアップ画面が表示される。そして、ポップアップ画面で印刷設定の変更を行った場合、変更した印刷設定で印刷対象データの印刷を行うことができる。
【００４０】
ここで、図５のステップＳ１０２においてプリンタドライバ４０が印刷設定記憶部４６（Ｄｅｖｍｏｄｅ）に保存されている印刷設定情報を取得し、取得した印刷設定情報を印刷設定一時記憶部６０にファイルなどで保存するタイミングについて説明する。また、図５のステップＳ１０４においてプリンタドライバ４０が印刷設定を行うためのポップアップ画面を表示させるタイミングについて説明する。
【００４１】
アプリケーション５０による印刷実行後において、印刷設定記憶部４６（Ｄｅｖｍｏｄｅ）に保存されている印刷設定情報の取得及びポップアップ画面の表示は、例えばDrvDocumentEvent()関数を用いて実現することができる。DrvDocumentEvent()関数は、アプリケーション５０による印刷実行後にＯＳ３０（具体的にはＯＳの一部であるＧＤＩ（Graphics Device Interface））から呼び出されるＤＤＩ（Device Driver Interface）であり、印刷対象データの印刷に関連する特定のイベントを処理するＤＬＬ（Dynamic Link Library）である。なお、ＤＤＩは、Ｉ／Ｆのみ定義されており、ＤＤＩ内の実装方法はプリンタドライバの各メーカで自由に行うことができる。
【００４２】
図６は、DrvDocumentEvent()関数を説明するための一例の説明図である。図６において、DrvDocumentEvent()関数の各引数の意味は以下の通りである。
・hPrinterは、プリンタのハンドルである。
・hdcは、デバイスコンテキストのハンドルである。
・iEscは、呼び出し元のモジュールが提供する、処理対象のイベントを識別するためのエスケープコードである。
・cbInは、pvInで送信されるデータのサイズである。
・pvInは、送信されるデータのポインタである。なお、このポインタの値はiEscの値によって異なる。
・cbOutは、iEscがDOCUMENTEVENT_ESCAPEの場合は、ExtEscape()のcbOutputパラメータとして関数が指定した値が格納される。iEscがDOCUMENT_QUERYFILTERの場合、受け取り側が受け取る構造体pvOutのサイズが格納される。
・pvOutは、受け取り側が受け取る構造体pvOutのポインタである。なお、このポインタの値はiEscの値によって異なる。
【００４３】
アプリケーション５０による印刷実行後、DrvDocumentEvent()関数は様々なタイミングでＯＳ３０から呼び出される。図７は、Devmodeの取得及びポップアップ画面表示のタイミングを説明するための一例の説明図である。
【００４４】
図７に示すように、DrvDocumentEvent()関数は、アプリケーション５０による印刷実行後、（ａ）〜（ｈ）のタイミングでＯＳ３０から呼び出される（なお、DrvDocumentEvent()関数は（ａ）〜（ｈ）の順に呼び出される。）。これらのタイミングのうち、ポップアップ画面は（ｃ）または（ｄ）のタイミングでDrvDocumentEvent()関数が呼び出されたときに表示させるようにすればよい。なぜならば、（ｅ）以降のタイミングではすでに描画処理が開始しているからである。また、例えばPoint&Print環境においてサーバサイドレンダリングを行っている場合、描画処理はサーバ側で行うからである。したがって、図５のステップＳ１０４においてプリンタドライバ４０が印刷設定を行うためのポップアップ画面は、図７の（ｃ）または（ｄ）のタイミングで表示させる。なお、上述したポップアップ画面を表示させるタイミングは従来技術と同様である。
【００４５】
次に、（ｃ）または（ｄ）のタイミングで表示させるポップアップ画面に、例えば両面／片面、用紙サイズ、割付印刷、カラー／モノクロなど印刷に関する情報を表示させるために以下の(1)〜(3)のようにする。なお、（ｃ）及び（ｄ）のタイミングにおいては、DrvDocumentEvent()関数はＤｅｖｍｏｄｅを取得することはできない。
(1)  （ａ）のタイミングでDrvDocumentEvent()関数が呼ばれると、pvInにはＤｅｖｍｏｄｅのポインタが設定されているため、このポインタの値をpvOutに設定する。なお、より具体的には、pvInにはDOCEVENT_CREATEDCPRE構造体のポインタが設定されており、この構造体のメンバ変数pdmにＤｅｖｍｏｄｅのポインタが設定されている。
(2)  （ｂ）のタイミングでDrvDocumentEvent()関数が呼ばれると、pvInには(1)のpvOutの値、すなわちＤｅｖｍｏｄｅのポインタの値が設定されているため、このＤｅｖｍｏｄｅの情報（印刷設定情報）を印刷設定一時記憶部６０にファイルなどで保存する。
(3)  （ｃ）または（ｄ）のタイミングにおいて、(2)で保存したＤｅｖｍｏｄｅの情報（印刷設定情報）を印刷設定一時記憶部６０に記憶されているファイルから取得し、取得した印刷設定情報をポップアップ画面に表示させる。
【００４６】
また、図７に示す通り、（ｂ）のタイミングではデバイスコンテキストハンドルが作成されているため、上記(2)において、例えば、Ｄｅｖｍｏｄｅの情報（印刷設定情報）を保存するファイルのファイル名としてこのデバイスコンテキストハンドルの値を用いる。なぜならば、デバイスコンテキストハンドルの値はジョブ毎に異なるため、デバイスコンテキストハンドルの値をキーとして上記(3)において、上記(2)で保存したファイルを探し出すことができるからである。
【００４７】
ここで、上記(2)において印刷設定一時記憶部６０に保存するファイルについて説明する。図８は、第一の実施形態に係る印刷設定一時記憶部に保存されるファイルを説明するための一例の説明図である。図８の例では、用紙サイズ設定として「A5」、両面印刷設定として「長辺綴じ」、割付設定として「2in1」、カラーモード設定として「カラー」などの印刷設定情報が保存されている。また、ファイル名として「Devmode14526341.txt」となっているが、「14526341」の部分はデバイスコンテキストハンドルの値である。
【００４８】
なお、Ｄｅｖｍｏｄｅの情報を保存するファイルは、図８の例のようにテキスト形式の他、バイナリ形式などであってもよい。
【００４９】
次に、ポップアップ画面表示処理の詳細について説明する。図９は、第一の実施形態に係るポップアップ画面表示処理の一例のシーケンス図である。
【００５０】
ユーザが情報処理装置１０にインストールされたアプリケーション５０から印刷対象データの印刷指示を行うと（ステップＳ２０１）、アプリケーション５０は印刷開始要求を印刷設定管理部４５に行う（ステップＳ２０２）。なお、具体的には、ユーザの印刷指示によりアプリケーション５０はＯＳ３０の一部であるＧＤＩに対し印刷要求を行い、ＧＤＩがプリンタドライバ４０のＤＤＩをコール（呼び出す）することで、処理がプリンタドライバ４０の印刷設定管理部４５に遷移する。
【００５１】
印刷設定管理部４５は、印刷設定情報を印刷設定記憶部４６から取得し（ステップＳ２０３）、印刷設定一時記憶部６０に取得した印刷設定情報を保存する（ステップＳ２０４）。これらの処理は、所定のタイミングでDrvDocumentEvent()関数がコールされたときに行う。すなわち、ステップＳ２０３の処理は、図７の（ａ）のタイミングで行い、ステップＳ２０３の処理は図７の（ｂ）のタイミングで行う。
【００５２】
次に、ポップアップ画面表示部４３は、項目設定部４４にポップアップ画面の生成を要求する（ステップＳ２０５）。項目設定部４４は印刷設定一時記憶部６０から印刷設定情報を取得し（ステップＳ２０６）、取得した印刷設定情報をデフォルト（標準）の印刷設定としたポップアップ画面を生成する（ステップＳ２０７）。そして、項目設定部４４は、ポップアップ画面表示部４３にポップアップ画面の表示要求を行い（ステップＳ２０８）、ポップアップ画面表示部４３はポップアップ画面を表示させる（ステップＳ２０９）。
【００５３】
これらのステップＳ２０５〜Ｓ２０９の処理は、所定のタイミングでDrvDocumentEvent()関数がコールされたときに行う。すなわち、Ｓ２０５〜Ｓ２０９の処理は図７の（ｃ）または（ｄ）のタイミングで行う。
【００５４】
ここで、ポップアップ画面について説明する。図１０は、第一の実施形態に係るポップアップ画面の一例のイメージ図である。
【００５５】
ポップアップ画面２０００は、印刷設定を変更するための各種ＧＵＩ部品２００１を有しており、これらのＧＵＩ部品２００１を用いてユーザは印刷設定を変更することができる。ＧＵＩ部品２００１を用いて印刷設定を変更した後、ＯＫボタン２００２を押下した場合、変更した印刷設定で印刷が行われる。なお、キャンセルボタン２００３を押下した場合、デフォルト（標準）の印刷設定で印刷が行われる。
【００５６】
図９の説明に戻る。ポップアップ画面表示部４３は、印刷設定情報を印刷設定一時記憶部６０に保存する（ステップＳ２１０）。このとき、ステップＳ２０９の処理において表示したポップアップ画面においてユーザが印刷設定を変更した場合、変更後の印刷設定情報を印刷設定一時記憶部６０に保存する。なお、ポップアップ画面においてユーザが印刷設定を変更しなかった場合、印刷設定情報を印刷設定一時記憶部６０に保存しなくてもよい。
【００５７】
そして、ポップアップ画面表示部４３は、印刷設定情報を含む描画要求を描画部４１に送信し（ステップＳ２１１）、描画部４１は印刷設定情報に基づき描画処理を行う（ステップＳ２１２）。なお、ここで、描画部４１が行う描画処理は、印刷対象データを例えばＰＤＬなどの印刷データに変換する処理である。
【００５８】
なお、上記処理の後、情報処理装置１０が印刷データを通信部７０を介して印刷装置２０に送信することで、印刷装置２０で印刷処理が行われる。
【００５９】
以上により、第一の実施形態に係る情報処理装置１０は、印刷設定記憶部４６に記憶されている例えば両面／片面、用紙サイズ、割付印刷、カラー／モノクロなど印刷設定情報をポップアップ画面に表示させることができる。また、第一の実施形態に係る情報処理装置１０は、ポップアップ画面に表示された印刷設定がユーザにより変更された場合、変更した印刷設定で印刷を行うことできる。これにより、ユーザは、アプリケーション５０において例えば印刷ボタンを押下した後でも印刷設定を変更し、この変更した印刷設定で印刷を行うことができる。よって、例えばユーザが印刷設定を行うことを忘れて印刷実行ボタンを押下してしまった場合であっても、印刷設定を行うことができる。
【００６０】
次に、印刷設定一時記憶部６０に保存した印刷設定情報を印刷設定記憶部４６に保存する処理について説明する。図１１は、第一の実施形態に係る印刷設定情報の保存処理の一例のシーケンス図である。
【００６１】
ユーザがアプリケーション５０の印刷設定画面を表示するための操作を行う（ステップＳ３０１）。例えば図１２に示すようなアプリケーションの印刷設定画面３０００を開く操作を行う。なお、ユーザはプリンタドライバ４０の印刷設定画面を開いてもよい。
【００６２】
アプリケーション５０はプリンタドライバ４０の画面表示部４２に印刷設定画面表示要求を行う（ステップＳ３０２）。すると、画面表示部４２は、印刷設定管理部４５に印刷設定情報の取得を要求する（ステップＳ３０３）。印刷設定管理部４５は印刷設定情報の取得要求を受け付けると、印刷設定一時記憶部６０から印刷設定情報を取得し（ステップＳ３０４）、この取得した印刷設定情報を画面表示部４２に送信する（ステップＳ３０５）。
【００６３】
画面表示部４２は、印刷設定管理部４５から印刷設定情報を取得すると、この取得した印刷設定情報をデフォルト（標準）の印刷設定として印刷設定画面を表示する（ステップＳ３０６）。そして、ユーザが印刷設定画面から印刷設定情報の変更を行い、操作を終了させると（ステップＳ３０７）、アプリケーション５０は印刷設定情報を画面表示部４２に送信する（ステップＳ３０８）。
【００６４】
画面表示部４２は、印刷設定管理部４５に取得した印刷設定情報を送信し（ステップＳ３０９）、印刷設定管理部４５は画面表示部４２から受け取った印刷設定情報を印刷設定記憶部４６に保存する（ステップＳ３１０）。なお、このステップＳ３１０の処理の後、印刷設定一時記憶部６０に保存されている印刷設定情報を削除してもよい。
【００６５】
以上により、印刷設定一時記憶部６０に保存されている印刷設定情報（または、この印刷設定情報を、ユーザが印刷設定画面でさらに変更した印刷設定情報）を印刷設定記憶部４６に保存することができる。これにより、図９のポップアップ画面表示処理において印刷設定一時記憶部６０に保存した印刷設定情報（または、この印刷設定情報を、ユーザが印刷設定画面でさらに変更した印刷設定情報）を印刷設定記憶部４６に保存することができる。したがって、図９のポップアップ画面表示処理において印刷設定一時記憶部６０に保存した印刷設定情報（または、この印刷設定情報を、ユーザが印刷設定画面でさらに変更した印刷設定情報）をデフォルト（標準）の印刷設定とすることができる。
［第二の実施形態］
次に、第二の実施形態に係る印刷システム１について説明する。第二の実施形態に係る印刷システム１を構成する情報処理装置１０は、アプリケーション毎、ユーザ毎、全ユーザ共通の３つの印刷設定記憶部を有する。
【００６６】
なお、第二の実施形態に係る印刷システム１は、システム構成及びハードウェア構成が第一の実施形態に係る印刷システム１と同様であるため、システム構成及びハードウェア構成についての説明を省略する。
【００６７】
＜ソフトウェア構成＞
第二の実施形態に係る情報処理装置１０は例えば図１３に示す機能ブロックにより実現される。図１３は、第二の実施形態に係る情報処理装置の一例の機能ブロック図である。
【００６８】
情報処理装置１０は、ＯＳ３０、プリンタドライバ４０、アプリケーション５０、印刷設定一時記憶部６０、通信部７０を有する。これら各部は、第一の実施形態と同様であるため説明を省略する。
【００６９】
プリンタドライバ４０は、描画部４１、画面表示部４２、ポップアップ画面表示部４３、項目設定部４４、印刷設定管理部４５、印刷設定記憶部４７を有する。これら各部のうち、描画部４１、画面表示部４２、ポップアップ画面表示部４３、項目設定部４４、印刷設定管理部４５は第一の実施形態と同様であるため説明を省略する。
【００７０】
印刷設定記憶部４７は、アプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３を有する。アプリ印刷設定記憶部４７１は、アプリケーション毎のデフォルト（標準）の印刷設定情報を記憶する。ユーザ印刷設定記憶部４７２は、ユーザ毎のデフォルト（標準）の印刷設定情報を記憶する。全ユーザ印刷設定記憶部４７３は、全ユーザ共通のデフォルト（標準）の印刷設定情報を記憶する。
【００７１】
印刷設定記憶部４６は、例えばＤｅｖｍｏｄｅ構造体（データテーブル）やＰｒｉｎｔＴｉｃｋｅｔなどであり、本実施形態では、第一の実施形態と同様に一例として印刷設定記憶部４６はＤｅｖｍｏｄｅ構造体（以下、Ｄｅｖｍｏｄｅという）であるとして説明する。
【００７２】
ここで、Ｄｅｖｍｏｄｅには、アプリのＤｅｖｍｏｄｅ、ユーザのＤｅｖｍｏｄｅ、Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅが存在する。アプリのＤｅｖｍｏｄｅとは、アプリケーション毎に保持するＤｅｖｍｏｄｅあり、該当のアプリケーション５０のデフォルト（標準）の設定である。ユーザのＤｅｖｍｏｄｅとは、ＯＳ３０（Windows系ＯＳ）にログインしているユーザのデフォルト（標準）の設定が保存されているＤｅｖｍｏｄｅであり、該当のユーザのデフォルト（標準）の設定である。Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅとは、プリンタドライバ４０のデフォルト（標準）の設定が保存されるＤｅｖｍｏｄｅあり、全ユーザ共通のデフォルト（標準）設定である。したがって、本実施形態では、一例として、アプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３をそれぞれアプリのＤｅｖｍｏｄｅ、ユーザのＤｅｖｍｏｄｅ、Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅであるとして説明する。
【００７３】
なお、上記のようにＤｅｖｍｏｄｅはアプリケーション、ユーザ、プリンタドライバ単位で管理され、例えばPoint&Print環境においてサーバで印刷設定の変更を行った場合でも、クライアントに印刷設定を引き継ぐことが可能である。
【００７４】
＜処理の詳細＞
第二の実施形態に係る情報処理装置１０は、ポップアップ画面で変更した印刷設定をアプリケーション毎のデフォルト設定とするか、ユーザ毎のデフォルト設定とするか、全ユーザ共通のデフォルト設定とするかをユーザが選択することができる。
【００７５】
図１４は、第二の実施形態に係るポップアップ画面の一例のイメージ図である。図１４に示すポップアップ画面４０００は、印刷設定を変更するための各種ＧＵＩ部品４００１を有しており、これらのＧＵＩ部品４００１を用いてユーザは印刷設定を変更することができる。また、図１４に示すポップアップ画面４０００は、ＧＵＩ部品４００１を用いて変更した印刷設定を「アプリのデフォルトとして登録する」、「ユーザのデフォルトとして登録する」、「全ユーザのデフォルトとして登録する」をユーザに選択させるためのチェックボックス４００２を有する。
【００７６】
ユーザは、「アプリのデフォルトとして登録する」、「ユーザのデフォルトとして登録する」、「全ユーザのデフォルトとして登録する」を選択してＯＫボタン４００３を押下すると、変更した印刷設定を、選択に応じてアプリケーション毎のデフォルト設定、ユーザ毎のデフォルト設定、全ユーザ共通のデフォルト設定とすることができる。なお、ユーザはチェックボックス４００２で２以上の項目を選択することができる。この場合は、変更した印刷設定を、選択に応じてデフォルト設定とする。例えばユーザが「アプリのデフォルトとして登録する」、「ユーザのデフォルトとして登録する」の２つの項目をチェックボックス４００２で選択してＯＫボタン４００３を押下した場合、変更した印刷設定は、アプリケーション毎のデフォルト設定、かつ、ユーザ毎のデフォルト設定となる。
【００７７】
また、例えばユーザがチェックボックス４００２のいずれも選択せずにＯＫボタン４００３を押下した場合、「アプリのデフォルトとして登録する」が選択されたものとみなして変更した印刷設定をアプリケーション毎のデフォルト設定としてもよい。また、例えばユーザに選択を促すためのエラーメッセージなどを表示させてもよい。
【００７８】
次に、第二の実施形態に係る情報処理装置１０におけるポップアップ画面表示処理の概略について説明する。図１５は、第二の実施形態に係るポップアップ画面表示処理の概略を説明するための一例のフローチャートである。
【００７９】
ユーザが情報処理装置１０にインストールされているアプリケーション５０から文書データなどの印刷対象データの印刷を実行する（ステップＳ４０１）。そして、所定のタイミングでプリンタドライバ４０は、アプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）、ユーザ印刷設定記憶部４７２（ユーザのＤｅｖｍｏｄｅ）、全ユーザ印刷設定記憶部４７３（Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅ）のいずれかから印刷設定情報を取得し、取得した印刷設定情報を印刷設定一時記憶部６０にファイルなどで保存する（ステップＳ４０２）。
【００８０】
次に、プリンタドライバ４０は、ステップＳ４０２で保存した印刷設定情報を印刷設定一時記憶部６０から取得し（ステップＳ４０３）、この取得した印刷設定情報を用いて、所定のタイミングで印刷設定を行うためのポップアップ画面を表示させる（ステップＳ４０４）。なお、ステップＳ４０２及びＳ４０４の処理における所定のタイミングは第一の実施形態と同様である。
【００８１】
ユーザが表示されたポップアップ画面において印刷設定を変更し、アプリケーションのデフォルト設定とするか否か、ユーザのデフォルト設定とするか否か、全ユーザ共通のデフォルト設定とするか否かを選択する（ステップＳ４０５）。そして、プリンタドライバ４０は、ユーザによってアプリケーションのデフォルト設定とすることが選択されている場合、ステップＳ４０７の処理を行い、ユーザによってアプリケーションのデフォルト設定とすることが選択されていない場合、ステップＳ４０８の処理を行う（ステップＳ４０６）。
【００８２】
アプリケーションのデフォルト設定とすることが選択されている場合、プリンタドライバ４０は変更した印刷設定に関する印刷設定情報を印刷設定一時記憶部６０にアプリケーション毎に保存する（ステップＳ４０７）すなわち、例えば印刷設定一時記憶部６０に保存するファイル名として、デバイスコンテキストハンドルの値に加えてアプリケーション名（またはアプリケーションを識別するＩＤなど）を含めればよい。
【００８３】
アプリケーションのデフォルト設定とすることが選択されていない場合、プリンタドライバ４０は変更した印刷設定に関する印刷設定情報を印刷設定一時記憶部６０に保存する（ステップＳ４０８）。すなわち、図５のステップＳ１０６と同様の処理を行う。
【００８４】
そして、変更した印刷設定で印刷データの作成を行う（ステップＳ４０９）。
【００８５】
以上により、ユーザがアプリケーション５０から印刷対象データの印刷実行を行った後、印刷設定を行うためのポップアップ画面が表示される。そして、ポップアップ画面で印刷設定の変更及び変更した設定をデフォルト設定する範囲を選択して、変更した印刷設定で印刷対象データの印刷を行うことができる。
【００８６】
ここで、図１５のステップＳ４０７の処理で印刷設定一時記憶部６０に保存するファイルについて説明する。図１６は、第二の実施形態に係る印刷設定一時記憶部に保存されるファイルを説明するための一例の説明図である。第二の実施形態に係るファイル５０００は、ＳａｖｉｎｇＩｎｆｏｒｍａｔｉｏｎ５００１とＳｅｔｔｉｎｇ５００２を有する。Ｓｅｔｔｉｎｇ５００２の内容は、図８の例と同様のため説明を省略する。
【００８７】
ＳａｖｉｎｇＩｎｆｏｒｍａｔｉｏｎ５００１は、アプリケーションのデフォルト設定とするか否か、ユーザのデフォルト設定とするか否か、全ユーザ共通のデフォルト設定とするか否かの情報と、印刷設定情報をアプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３は反映したか否かを示す情報である。例えば、図１６の例では「SaveAsApplicationDefault?」は「Yes,」であるため、Ｓｅｔｔｉｎｇ５００２で示す印刷設定情報をアプリケーションのデフォルト設定とすることを示している。また、図１６の例では「SaveAsApplicationDefault?」は「notsaved」であるため、Ｓｅｔｔｉｎｇ５００２で示す印刷設定情報をアプリ印刷設定記憶部４７１に未だ保存していないことを示している。同様に、「SaveAsUserDefault?」は、ユーザ毎のデフォルト設定とするか否か、及びユーザ印刷設定記憶部４７２にＳｅｔｔｉｎｇ５００２で示す印刷設定情報を保存したか否かを示している。また、「SaveAsAllUserDefault?」は、全ユーザ共通のデフォルト設定とするか否か、及び全ユーザ印刷設定記憶部４７３にＳｅｔｔｉｎｇ５００２で示す印刷設定情報を保存したか否かを示している。
【００８８】
なお、Ｓｅｔｔｉｎｇ５００２で示す印刷設定情報を例えばアプリ印刷設定記憶部４７１に保存（反映）した場合、「notsaved」を例えば「saved」に書き換える。また、例えばＳａｖｉｎｇＩｎｆｏｒｍａｔｉｏｎ５００１に示す情報がすべて「Yes,saved」又は「No」となった場合、印刷設定一時記憶部６０からこのファイルを削除してもよい。
【００８９】
なお、図１６の例におけるファイル名には、アプリケーションを識別するためのアプリケーション名が付加されている。これにより、Ｓｅｔｔｉｎｇ５００２で示す印刷設定情報をデフォルトの設定とするアプリケーション５０を特定することができる。
【００９０】
次に、ポップアップ画面表示処理の詳細について説明する。図１７は、第二の実施形態に係るポップアップ画面表示処理の一例のシーケンス図である。
【００９１】
ステップＳ５０１及びＳ５０２の処理は、それぞれ図９のステップＳ２０１及びＳ２０２の処理と同様であるため、説明を省略する。
【００９２】
印刷設定管理４５は、印刷設定情報を印刷設定記憶部４６から取得する（ステップＳ５０３）。このとき、印刷設定管理４５は、以下の(1)〜(3)の手順で印刷設定情報を取得する。
(1)  アプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）に印刷設定情報が保存されている場合、アプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）から印刷設定情報を取得する。
(2)  アプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）に印刷設定情報が保存されておらず、ユーザ印刷設定記憶部４７２（ユーザのＤｅｖｍｏｄｅ）に印刷設定情報が保存されている場合、ユーザ印刷設定記憶部４７２（ユーザのＤｅｖｍｏｄｅ）から印刷設定情報を取得する。
(3)  アプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）及びユーザ印刷設定記憶部４７２（ユーザのＤｅｖｍｏｄｅ）に印刷設定情報が保存されていない場合、全ユーザ印刷設定記憶部４７３（Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅ）から印刷設定情報を取得する。全ユーザ印刷設定記憶部４７３（Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅ）は、プリンタドライバの各メーカにより印刷設定情報（デフォルトの印刷設定）が保存されているものとする。
【００９３】
次に、ステップＳ５０４〜Ｓ５０９の処理は、それぞれステップＳ２０４〜Ｓ２０９の処理と同様のため説明を省略する。なお、ステップＳ５０９の処理でポップアップ画面表示部４３が表示するポップアップ画面は、図１４で示したように、変更した印刷設定をデフォルト設定とする範囲をユーザに選択させるためのチェックボックス４００２を有する。
【００９４】
ポップアップ画面表示部４３は、印刷設定情報を印刷設定一時記憶部６０に保存する（ステップＳ５１０）。このとき、例えばユーザがポップアップ画面４０００において、「アプリのデフォルトとして登録する」を選択した場合、印刷設定情報を保存するファイルのファイル名としてデバイスコンテキストハンドルの値に加えてアプリケーション５０を識別する情報を付加する。アプリケーション５０を識別する情報としては、例えば図７の（ｄ）のタイミングにおいてDrvDocumentEvent()関数のpvInに設定されるDOCINFO構造体の情報がある。このDOCINFO構造体のメンバ変数lpszDocNameに印刷対象データのドキュメント名が設定されるため、このドキュメント名をアプリケーション５０を識別する情報として用いればよい。これにより、ポップアップ画面表示部４３は印刷設定情報を印刷設定一時記憶部６０にアプリケーション毎（かつジョブ毎）に保存することができる。
【００９５】
ステップＳ５１１及びＳ５１２の処理は、それぞれ図９のステップＳ２１１及びＳ２１２の処理と同様であるため、説明を省略する。
【００９６】
以上により、第二の実施形態に係る情報処理装置１０は、印刷設定記憶部４６に記憶されている例えば両面／片面、用紙サイズ、割付印刷、カラー／モノクロなど印刷設定情報をポップアップ画面に表示させることができる。また、第二の実施形態に係る情報処理装置１０は、ポップアップ画面で変更した印刷設定をアプリケーションのデフォルト設定とするか否か、ユーザのデフォルト設定とするか否か、全ユーザ共通のデフォルト設定とするか否かを選択することができる。
【００９７】
次に、印刷設定一時記憶部６０に保存した印刷設定情報を、印刷設定記憶部４６のアプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３に保存する処理について説明する。図１８は、第二の実施形態に係る印刷設定情報の保存処理の一例のシーケンス図である。
【００９８】
ステップＳ６０１〜Ｓ６０９の処理は、それぞれ図１１のステップＳ３０１〜Ｓ３０９の処理と同様のため説明を省略する。
【００９９】
印刷設定管理部４５は画面表示部４２から受け取った印刷設定情報を、ユーザが選択したデフォルト設定とする範囲（図１６の例におけるＳａｖｉｎｇＩｎｆｏｒｍａｔｉｏｎ５００１の情報）に応じて、印刷設定記憶部４６に保存する（ステップＳ３１０）。すなわち、例えばポップアップ画面４０００において「アプリのデフォルトとして登録する」が選択されていた場合、印刷設定管理部４５は印刷設定情報をアプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）に保存（反映）する。同様に、例えばポップアップ画面４０００において「ユーザのデフォルトとして登録する」が選択されていた場合、印刷設定管理部４５は印刷設定情報をユーザ印刷設定記憶部４７２（ユーザのＤｅｖｍｏｄｅ）に保存（反映）する。例えばポップアップ画面４０００において「全ユーザのデフォルトとして登録する」が選択されていた場合、印刷設定管理部４５は印刷設定情報を全ユーザ印刷設定記憶部４７３（Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅ）に保存（反映）する。
【０１００】
なお、例えばステップＳ６０１の処理において、アプリケーション５０から印刷設定画面を表示した場合のみ、印刷設定情報をアプリ印刷設定記憶部４７１（アプリのＤｅｖｍｏｄｅ）に保存（反映）するようにしてもよい。また、例えばステップＳ６０１の処理において、プリンタドライバ４０から印刷設定画面を表示した場合のみ、印刷設定情報をユーザ印刷設定記憶部４７２（ユーザのＤｅｖｍｏｄｅ）に保存（反映）するようにしてもよい。また、例えばステップＳ６０１の処理において、ＯＳ３０（Windows系ＯＳ）の標準の設定から印刷設定画面を表示した場合のみ、印刷設定情報を全ユーザ印刷設定記憶部４７３（Ｄｅｆａｕｌｔ  Ｄｅｖｍｏｄｅ）に保存（反映）するようにしてもよい。
【０１０１】
以上により、印刷設定一時記憶部６０に保存されている印刷設定情報を、ユーザが選択したデフォルト設定とする範囲に応じて、印刷設定記憶部４６のアプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３に保存することができる。これにより、印刷設定一時記憶部６０に保存されている印刷設定情報をデフォルト（標準）の印刷設定とする範囲をユーザの選択に応じて決めることができる。
［第三の実施形態］
次に、第三の実施形態に係る印刷システム１ついて説明する。第三の実施形態に係る印刷システム１を構成する情報処理装置１０は、印刷設定情報を印刷設定項目毎に複数の印刷設定記憶部に記憶させることができる。
【０１０２】
なお、第二の実施形態に係る印刷システム１は、システム構成、ハードウェア構成、及びソフトウェア構成が第二の実施形態に係る印刷システム１と同様であるため、システム構成、ハードウェア構成、及びソフトウェア構成についての説明を省略する。
【０１０３】
また、第三の実施形態における処理は、第二の実施形態における処理と同様であるため処理の詳細についても省略し、ポップアップ画面と印刷設定情報一時記憶部６０に保存されるファイルについてのみ説明する。
【０１０４】
まず、本実施形態におけるポップアップ表示画面について説明する。図１９は、第三の実施形態に係るポップアップ画面の一例のイメージ図である。第三の実施形態に係るポップアップ画面６０００は、印刷設定項目毎にアプリのデフォルト設定とするか否か、ユーザのデフォルト設定とするか否か、全ユーザのデフォルト設定とするか否かを選択するためのチェックボックス６００１を有する。これにより、ユーザは各印刷設定項目毎に、印刷設定をデフォルトの設定する範囲を選択することができる。
【０１０５】
次に、本実施形態における印刷設定一時記憶部６０に保存されるファイルについて説明する。図２０は、第三の実施形態に係る印刷設定一時記憶部に保存されるファイルを説明するための一例の説明図である。第三の実施形態に係るファイル７０００は、各印刷設定項目７００１毎に、ＳａｖｉｎｇＩｎｆｏｒｍａｔｉｏｎ７００２が設定されている。これにより、印刷設定項目７００１毎にその項目の印刷設定情報をアプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３に保存（反映）する必要があるのか否か、保存済（反映済）か否かを保持することができる。なお、ファイル７０００に指定されている各項目の意味は図１６の例と同様である。
【０１０６】
以上により、ユーザは、ポップアップ画面で各設定項目毎にデフォルト設定とする範囲を選択することができる。
【０１０７】
＜まとめ＞
以上の第一の実施形態に係る情報処理装置１０では、アプリケーション５０による印刷実行後に印刷設定を変更するためのポップアップ画面を表示させることができる。また、第一の実施形態に係る情報処理装置１０では、ポップアップ画面で変更した印刷設定を印刷設定記憶部４６に保存することにより、保存した印刷設定をデフォルト（標準）の設定とすることができる。
【０１０８】
また、第二の実施形態に係る情報処理装置１０のポップアップ画面では、変更した印刷設定について、ユーザは、アプリケーションのデフォルト設定とするか否か、ユーザのデフォルト設定とするか否か、全ユーザのデフォルト設定とするか否かを選択することができる。そして、第二の実施形態に係る情報処理装置１０では、ポップアップ画面で変更した印刷設定を、ユーザの選択に応じて、アプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３に保存することにより、保存した印刷設定をそれぞれアプリケーションのデフォルト（標準）の設定、ユーザのデフォルト（標準）の設定、全ユーザ共通のデフォルト（標準）の設定とすることができる。
【０１０９】
さらに、第三の実施形態に係る情報処理装置１０のポップアップ画面では、変更した印刷設定の各項目について、ユーザは、アプリケーションのデフォルト設定とするか否か、ユーザのデフォルト設定とするか否か、全ユーザのデフォルト設定とするか否かを選択することができる。そして、第三の実施形態に係る情報処理装置１０では、ポップアップ画面で変更した各印刷設定項目に係る印刷設定を、ユーザの選択に応じて、アプリ印刷設定記憶部４７１、ユーザ印刷設定記憶部４７２、全ユーザ印刷設定記憶部４７３に保存することにより、保存した印刷設定をそれぞれアプリケーションのデフォルト（標準）の設定、ユーザのデフォルト（標準）の設定、全ユーザ共通のデフォルト（標準）の設定とすることができる。
【０１１０】
なお、印刷設定管理部４５は、第１記憶手段及び第２記憶手段の一例である。ポップアップ画面表示部４３及び項目設定部４４は、表示手段の一例である。描画部４１は、変換手段の一例である。印刷設定記憶部４６は、所定の第１の記憶領域の一例である。印刷設定一時記憶部６０は、所定の第２の記憶領域の一例である。
【０１１１】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１２】
１    印刷システム
１０    情報処理装置
２０    印刷装置
３０    ＯＳ
４０    プリンタドライバ
４１    描画部
４２    画面表示部
４３    ポップアップ画面表示部
４４    項目設定部
４５    印刷設定管理部
４６    印刷設定記憶部
５０    アプリケーション
６０    印刷設定一時記憶部
７０    通信部
【先行技術文献】
【特許文献】
【０１１３】
【特許文献１】特開２０１３−０８８８６９号公報
【図１】
2015153404.tif 000003
【図２】
2015153404.tif 000004
【図３】
2015153404.tif 000005
【図４】
2015153404.tif 000006
【図５】
2015153404.tif 000007
【図６】
2015153404.tif 000008
【図７】
2015153404.tif 000009
【図８】
2015153404.tif 000010
【図９】
2015153404.tif 000011
【図１０】
2015153404.tif 000012
【図１１】
2015153404.tif 000013
【図１２】
2015153404.tif 000014
【図１３】
2015153404.tif 000015
【図１４】
2015153404.tif 000016
【図１５】
2015153404.tif 000017
【図１６】
2015153404.tif 000018
【図１７】
2015153404.tif 000019
【図１８】
2015153404.tif 000020
【図１９】
2015153404.tif 000021
【図２０】
2015153404.tif 000022