(57)【特許請求の範囲】
【請求項１】
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御手段と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御手段と、を有し、
前記外部制御手段は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とする情報処理装置。
【請求項２】
前記編集画面は、前記アプリケーションが処理する前記ファイルのプレビューを行う機能か、又は前記アプリケーションが処理する前記ファイルに複数の印刷設定項目を個別に設定する機能か、又は前記アプリケーションが処理する前記ファイルにアノテーションを付与する機能か、又は前記アプリケーションが処理する複数のファイルを結合する機能か、又は前記アプリケーションが処理する前記ファイルのオブジェクトを編集する機能か、又は前記アプリケーションが処理する前記ファイルに基づいてＰＤＦを出力する機能のうち少なくとも一つの機能を提供することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行うためのボタンを含むメッセージを表示して、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行うためのボタンを含まないメッセージを表示することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、複数の印刷設定項目を同時に設定する印刷テンプレートの選択を前記表示処理でユーザーから受け付けて、ユーザーが選択する前記印刷テンプレートを前記外部処理の印刷テンプレートの選択肢として表示して、
前記外部処理では印刷テンプレートの選択肢を一つ以上表示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
アプリケーション起動時の引数が第１の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第１の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御手段と、前記アプリケーション起動時の引数が第２の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第２の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御手段と、を有することを特徴とする情報処理装置。
【請求項６】
コンピュータに、
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御工程と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御工程と、を実行させ、
前記外部制御工程は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とするプログラム。
【請求項７】
前記編集画面は、前記アプリケーションが処理する前記ファイルのプレビューを行う機能か、又は前記アプリケーションが処理する前記ファイルに複数の印刷設定項目を個別に設定する機能か、又は前記アプリケーションが処理する前記ファイルにアノテーションを付与する機能か、又は前記アプリケーションが処理する複数のファイルを結合する機能か、又は前記アプリケーションが処理する前記ファイルのオブジェクトを編集する機能か、又は前記アプリケーションが処理する前記ファイルに基づいてＰＤＦを出力する機能のうち少なくとも一つの機能を提供することを特徴とする請求項６に記載のプログラム。
【請求項８】
前記表示制御工程は、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行うためのボタンを含むメッセージを表示して、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行うためのボタンを含まないメッセージを表示することを特徴とする請求項６又は請求項７に記載のプログラム。
【請求項９】
前記表示制御工程は、複数の印刷設定項目を同時に設定する印刷テンプレートの選択を前記表示処理でユーザーから受け付けて、ユーザーが選択する前記印刷テンプレートを前記外部処理の印刷テンプレートの選択肢として表示して、
前記外部処理では印刷テンプレートの選択肢を一つ以上表示することを特徴とする請求項６乃至８のいずれか１項に記載のプログラム。
【請求項１０】
コンピュータに、
アプリケーション起動時の引数が第１の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第１の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御工程と、前記アプリケーション起動時の引数が第２の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第２の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御工程と、を実行させることを特徴とするプログラム。
【請求項１１】
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御工程と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御工程と、を有し、
前記外部制御工程は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とする制御方法。
【請求項１２】
アプリケーション起動時の引数が第１の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第１の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御工程と、前記アプリケーション起動時の引数が第２の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第２の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御工程と、を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷処理を行うプログラムにおけるライセンス管理の技術に関する。
【背景技術】
【０００２】
従来の印刷方法としてはアプリケーションの編集画面を表示した後にユーザーから編集画面で表示している対象を印刷する指示を受け付ける方法と、外部ファイルを受け付けて編集画面を表示せずに印刷する方法の２通りの方法がある。本明細書では前者の編集画面を表示する処理を編集画面表示処理とし、後者の方法による印刷の処理を外部ファイル印刷処理とする。
【０００３】
また、アプリケーション実行時にライセンスを確認する技術がある。これによりライセンス期限切れ、あるいは未認証の場合にアプリケーションの実行を回避して、アプリケーションの不正利用を防ぐことが可能である。
【０００４】
また特許文献１では、アプリケーションの機能実行中にライセンス期限切れが発生した場合に、実行中の機能においては、処理終了まで実行可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１６４７８９号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アプリケーションの編集画面表示処理を行うためにはライセンス認証が必要だが、外部ファイル印刷処理に関してはライセンス認証せずに（ライセンスフリーで）実行させたいケースが存在する。
【０００７】
たとえば外部ファイル印刷処理のみを指示可能なユーティリティアプリケーションがある。ユーティリティアプリケーションは編集画面を表示しないため、ライセンスフリーで実行可能にして、外部ファイルの印刷処理をユーザーに提供したいケースが考えられる。しかしながら、アプリケーション起動時にライセンス確認をするように構成しているとユーティリティアプリケーションが外部ファイル印刷処理を受け付けた場合でもライセンス確認を行なってしまう。このように構成するとライセンスを有していないユーティリティアプリケーションは外部ファイル印刷処理を実行できない。
【０００８】
本発明はこのような問題点に鑑みてなされたもので、外部ファイル印刷処理をライセンスフリーで利用者に提供し、利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明に係る情報処理装置は、
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御手段と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御手段と、を有し、
前記外部制御手段は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とする。
【００１０】
上記の目的を達成するための本発明に係る他の情報処理装置は、
アプリケーション起動時の引数が第１の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第１の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御手段と、
前記アプリケーション起動時の引数が第２の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第２の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、外部ファイル印刷処理の場合はライセンスフリーで提供することが可能となり、ユーザーの利便性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】システム構成の一例を示す図である。
【図２】ハードウェア構成の一例を示す図である。
【図３】情報処理装置のソフトウェアの構成の一例を示す図である。
【図４】仮想プリンターアプリが起動するウィジェットへのファイルドロップ動作及びウィジェットの一例を示す図である。
【図５】クライアントアプリのメインＵＩの一例を示す図である。
【図６】クライアントアプリの編集画面表示処理・外部ファイル印刷処理の一例を示す図である。
【図７】クライアントアプリの実行パラメータの一例を示す図である。
【図８】ライセンス確認の警告メッセージの一例を示す図である。
【図９】情報処理装置のソフトウェアの構成の一例を示す図である。
【図１０】仮想プリンターアプリのウィジェットの一例を示す図である。
【図１１】クライアントアプリの編集画面表示処理・外部ファイル印刷処理の一例を示す図である。
【図１２】クライアントアプリの実行パラメータの一例を示す図である。
【図１３】クライアントアプリの（編集画面表示可能）警告メッセージの一例を示す図である。
【図１４】クライアントアプリの（編集画面表示不可）警告メッセージの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１４】
＜第１の実施形態＞
［システム構成］
図１は、本発明の一実施形態におけるシステムの構成の一例を示す図である。１０１は情報処理装置であって、画像形成装置１０２に対して印刷やＦＡＸ送信を指示するユーザーの使用するＰＣである。１０２は画像形成装置であって、プリンター機能、ＦＡＸ機能、コピー機能、スキャナ機能、ファイル送信機能等を備える。１０３は上記装置が接続されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、ＬＡＮ１０３を介して上記装置は情報の相互通信を行っている。
【００１５】
［ハードウェア構成］
図２は、ハードウェア構成の一例を示す図である。情報処理装置１０１は、各種のユニット（２０２〜２０７）を含んで構成される。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２は、各種のプログラムを実行し、プログラムに従って様々な機能を実現するユニットである。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４は、各種のプログラムやデータ等を記憶するユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３は、各種の情報を記憶するユニットである。また、ＲＡＭ２０３は、ＣＰＵ２０２の一時的な作業記憶領域としても利用されるユニットである。例えば、ＣＰＵ２０２は、ＲＯＭ２０４に記憶されているプログラムやデータをＲＡＭ２０３にロードしてプログラムを実行する。
【００１６】
Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０５は、情報処理装置１０１に接続されているディスプレイ（２０８）にデータを送信する他、ポインティングデバイス（２０９）からデータを受信するユニットである。
【００１７】
ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０６は、情報処理装置１０１をネットワークに接続するためのユニットである。上述したユニットは、バス２０７を介してデータの送受信を行うことが可能に構成されている。情報処理装置１０１はＮＩＣ２０６を介して前述のＬＡＮ１０３に接続されている。
【００１８】
［ソフトウェア構成（全般）］
情報処理装置１０１には、所定のオペレーティングシステム（ＯＳ）がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーションもインストールされている。ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理等が含まれ、各アプリケーションはそれぞれ独自のデータ構造（ファイル構造）を備える。さらに、ＯＳは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示を行える構成となっている。
【００１９】
次に、情報処理装置１０１のソフトウェアの構成について図３を用いて説明する。図３は、情報処理装置１０１のソフトウェアの構成の一例を示す図である。
【００２０】
図３に示される各ソフトウェアにおける機能（モジュール）を実現するプログラムは、情報処理装置１０１のＲＯＭ２０４等に記憶されている。ここで各ソフトウェア（アプリケーション）とはＯＳ３０１、仮想プリンターアプリ３０２、クライアントアプリ３０３、プリンタードライバー３０４を示す。即ち、ＣＰＵ２０２がＲＡＭ２０３にプログラムをロードして実行することで、装置の機能及び後述するフローチャートに係る処理が実現される。なお、装置の機能及び後述するフローチャートに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。
【００２１】
［ソフトウェア構成（ＯＳ）］
次に、ＯＳ３０１について説明する。ＯＳ３０１は公知の一般的なＯＳの機能（メモリ管理、リソース管理、アプリケーション管理等）を提供する。ＯＳ３０１は、ユーザーからのアプリケーション実行要求を受けうると、各アプリケーションに対して実行要求を出すことで各アプリケーションが処理を開始する。
【００２２】
［ソフトウェア構成及びＵＩ（クライアントアプリ）］
次に、クライアントアプリ３０３におけるソフトウェアの構成について説明する。クライアントアプリ３０３は各種のモジュール（３０３１〜３０３６）を含んで構成される。
【００２３】
メイン制御部３０３２は、クライアントアプリ３０３を制御し、後述する各モジュール部に対する指示、管理を行う。ＵＩ部３０３１は、メイン制御部３０３２からの表示指示に従い、クライアントアプリ３０３のＵＩをユーザーに提供する。メイン制御部３０３２は、編集画面表示処理を受け付けるとＵＩ部３０３１に後述する編集画面であるメインＵＩ５０１の表示指示を行う。
【００２４】
操作情報取得部（３０３５）は、ＵＩ部３０３１により表示されたクライアントアプリ３０３のＵＩがユーザー操作されたことを示す情報を取得し、取得した情報をメイン制御部３０３２に通知する。メイン制御部３０３２は記憶部（３０３６）に通知された情報を記憶する。
【００２５】
印刷制御部３０３３は、後述するようにプリンタードライバー３０４に対応するプリンターオブジェクト３０５から印刷設定情報を取得し、取得した情報をメイン制御部３０３２へ通知する。また印刷制御部３０３３はメイン制御部３０３２から指示を受ける。その後、印刷制御部３０３３は後述する方法により文書ファイルを、ＰＤＦを介してＧＤＩに変換することでプリンタードライバー３０４へ出力する。メイン制御部３０３２は、外部ファイル印刷処理を受け付けるとＵＩ部３０３１に表示指示は行わず、印刷制御部３０３３に印刷指示を行う。
【００２６】
なお、本明細書における文書ファイルとはワードプロセッサ等により作成されるデータであっても構わないし、画像ファイルであっても構わない。
【００２７】
ライセンス制御部３０３４は、ＯＳ３０１から実行要求を受けたメイン制御部３０３２からの指示を受けて、クライアントアプリ３０３を実行するためのライセンス情報が存在するか否かを確認する。
【００２８】
図５はクライアントアプリ３０３のメインＵＩ５０１の一例を示す図である。５０２は出力先選択コントロールを示す。出力先選択コントロールは、ＲＯＭ２０４にインストールされたプリンターオブジェクトの一覧を選択肢として表示し、ユーザーからの指示に応じて出力先を決定する。５０４は出力部数コントロールを示す。
【００２９】
５０５は印刷ボタンを示す。印刷ボタンはユーザーからクライアントアプリ３０３が開くファイルに基づく印刷指示を受け付ける。具体的には印刷ボタンが押下された場合はユーザーからの指示に応じて文書ファイルを変換して、変換したデータを出力先のプリンタードライバーで処理させる。
【００３０】
５０６は文書ファイルのページリストを示す。５０７は文書ファイルに対応する印刷プレビューを示す。
【００３１】
５０８は印刷テンプレートコントロールを示す。印刷テンプレートは各種印刷設定の設定値を保持している。また、印刷テンプレートはファイルで保存されており、ＲＯＭ２０４に記憶されている。前記印刷テンプレートボタンを押下することで保持してある複数項目の印刷設定の設定値を一度で同時に設定することが可能である。前述した印刷プレビューは、印刷設定コントロールで指定した設定値に従い、出力結果の状態をサムネイル表示する。印刷プレビューにより、ユーザーは印刷実行前に出力状態を確認することが可能になる。
【００３２】
５０９は印刷設定コントロールを示す。印刷設定コントロールは「用紙サイズ」「片面、両面」「ホチキス」という複数の印刷設定項目の設定を個別にユーザーから受け付ける表示要素（コントロール）である。
【００３３】
さらにメインＵＩ５０１では次の機能を提供してもよい。一つ目の機能はクライアントアプリ３０３が開く文書ファイルにアノテーションを付与する機能である。二つ目の機能はクライアントアプリ３０３が開く文書ファイルを結合する機能である。三つ目の機能は複数の文書ファイルのオブジェクトを編集する機能である。四つ目の機能はクライアントアプリ３０３が開く文書ファイルに基づいてＰＤＦを出力する機能である。
【００３４】
メインＵＩは上述の機能（コントロール及び四つの機能）のうち少なくとも一つの機能を有する。
【００３５】
また、クライアントアプリ３０３のＵＩの形態（位置、大きさ、範囲、配置、表示内容など）は、図に示す形態に限定されるものではなく、情報処理装置１０１の機能を実現することができる適宜の構成を採用することができる。
【００３６】
［ソフトウェア構成及びＵＩ（仮想プリンターアプリ）］
次に、仮想プリンターアプリ３０２におけるソフトウェアの構成について説明する。仮想プリンターアプリ３０２は、各種のモジュール（３０２１と３０２２と３０２３と３０２４）を含んで構成される。メイン制御部３０２２は、仮想プリンターアプリ３０２を制御し、ＵＩ部３０２１への指示、クライアントアプリ３０３への印刷指示を行う。
【００３７】
メイン制御部３０２２は、仮想プリンターアプリ３０２の編集画面表示処理を受け付けると後述するウィジェット４０１の表示指示をＵＩ部３０２１に行う。ＵＩ部３０２１は、メイン制御部３０２２からの表示指示に従い、仮想プリンターアプリ３０２のＵＩであるウィジェット４０１をユーザーに提供する。
なお、ウィジェット４０１の表示はＵＩ部３０２１とは異なるＯＳ３０１のモジュールが表示をおこなっても構わない。
【００３８】
図４は、仮想プリンターアプリ３０２が起動するウィジェット４０１へのファイルドロップ動作及びウィジェット４０１の一例を示す図である。ウィジェット４０１はＯＳ３０１のデスクトップ上に表示される。仮想プリンターアプリ３０２はＯＳ３０１にインストールされたプリンターオブジェクトとウィジェット４０１の関連付けを行い、関連付けをしたプリンターオブジェクトごとにウィジェット４０１を表示する。メイン制御部３０２２は、ポインティングデバイス等により操作するマウスポインター４０３を用いてＯＳ３０１が管理する文書ファイル４０２がウィジェット４０１上にドラッグ＆ドロップされると、文書ファイルのファイルパスを記憶部（３０２３）に記憶する。
【００３９】
なお、ウィジェットをプリンターのプリンターオブジェクト及びＦＡＸのプリンターオブジェクトと関連付けておき、文書ファイル４０２がウィジェット４０１上にドラッグした際にプリンターに出力するかＦＡＸに出力するかをユーザーに選ばせてもよい。
【００４０】
そして、メイン制御部３０２２は、記憶したファイルパスと関連付けを行ったプリンターオブジェクトを指定して、クライアントアプリ３０３に外部ファイル印刷処理を指示する。外部ファイル印刷処理を指示した後、メイン制御部３０２２はＵＩ部３０２１にサブＵＩ４０４の表示を指示する。
【００４１】
このようにウィジェット４０１を用いた外部ファイル印刷処理ではメインＵＩ５０１は表示されずに処理が行われる。
【００４２】
操作情報取得部（３０２４）は、ＵＩ部３０２１により表示された仮想プリンターアプリ３０２のウィジェット４０１及びサブＵＩ４０４がユーザー操作された情報を取得し、取得した情報をメイン制御部３０２２に通知する。
【００４３】
［ソフトウェア構成（プリンタードライバー）］
プリンタードライバー３０４は公知の一般的なプリンタードライバーの機能（印刷設定、印刷データ受信、印刷ジョブ生成等）を提供する。プリンタードライバー３０４は、クライアントアプリ３０３から印刷処理を受けると、受信したデータを画像形成装置１０２が受信可能なページ記述言語に変換して画像形成装置１０２へ送信する。
【００４４】
［編集画面表示処理・外部ファイル印刷処理フロー］
情報処理装置１０１のクライアントアプリ３０３における編集画面表示処理・外部ファイル印刷処理について図６を用いて説明する。図６は、クライアントアプリ３０３の起動から編集画面表示処理・外部ファイル印刷処理に係るフローチャートの一例を示す図である。
【００４５】
ＯＳからのクライアントアプリ３０３実行要求により、クライアントアプリ３０３のメイン制御部３０３２は、アプリケーションの編集画面表示処理・外部ファイル印刷処理を開始する。
【００４６】
Ｓ６０１では、クライアントアプリ３０３のメイン制御部３０３２は、ＯＳからの実行要求が編集画面表示処理か外部ファイル印刷処理なのかを確認する。確認はＯＳからの実行パラメータにより行う。
【００４７】
図７はクライアントアプリ３０３のアプリケーション起動時の実行パラメータの一例を示している。７０１はクライアントアプリ３０３の実行ファイルのファイルパスを示す。７０２はオプションコマンドを示しており、“／ｐｒｉｎｔ”はクライアントアプリ３０３の外部ファイル印刷処理の実行を指示するオプションコマンドである。７０３はクライアントアプリ３０３の実行対象の文書ファイルのファイルパスを示す。７０４はクライアントアプリ３０３の出力先プリンターを指示するプリンターオブジェクト名である。７０２乃至７０４が実行時の引数７０５である。仮想プリンターアプリ３０２のメイン制御部３０２２は、クライアントアプリ３０３への外部ファイル印刷処理の指示を行う際に、図７で示す実行パラメータを生成して、ＯＳへの実行要求を行う。
【００４８】
なお、編集画面表示処理を行うためのクライアントアプリ３０３の実行パラメータは任意である。編集画面表示処理を行うための実行パラメータにオプションコマンドが含まれていても構わない。また、クライアントアプリ３０３の実行パラメータがない場合に編集画面表示処理を行うように構成しても良い。
【００４９】
メイン制御部３０３２は、受信した実行パラメータを解析し、７０２の“／ｐｒｉｎｔ”オプションコマンドが存在すれば外部ファイル印刷処理と判断しＳ６０６へ、存在しなければ編集画面表示処理と判断しＳ６０２へ処理を進める。Ｓ６０２では、メイン制御部３０３２はクライアントアプリのライセンスの確認をする。メイン制御部３０３２は、ライセンス制御部３０３４にライセンスの確認を指示し、ライセンス制御部３０３４は、クライアントアプリ３０３のメインＵＩ５０１を表示するためのライセンスが有るか否かを確認する。メイン制御部３０３２は、ライセンス制御部３０３４からライセンスの確認結果を受信し、ライセンス有りと判断した場合はＳ６０４へ、ライセンスが無いと判断した場合はＳ６０３へ処理を進める。
【００５０】
ライセンス有無の判断例としては、ライセンス認証（例：シリアル番号とＰＣ構成によるハッシュ値を用いた認証）が完了しているか否かの確認、完了していない場合はアプリケーションが定める試用期間（例：６０日）以内か否かを確認する方法が考えられる。
【００５１】
Ｓ６０３では、メイン制御部３０３２はライセンス認証がされていない旨のメッセージを表示し、クライアントアプリ３０３の編集画面表示処理を終了する。
【００５２】
図８はＳ６０３で表示するライセンス認証無しの場合の警告メッセージの一例を示している。
【００５３】
Ｓ６０４では、メイン制御部３０３２はクライアントアプリ３０３のメインＵＩ５０１のクラス生成処理を実行する。Ｓ６０５でメイン制御部３０３２はＵＩ部３０３１へＳ６０４でクラスを生成したメインＵＩ５０１の表示を指示する。Ｓ６０６では、メイン制御部３０３２は７０３で指定された文書ファイルの有無を確認する。７０３で指定された文書ファイルが存在する場合はＳ６０８へ、文書ファイルが存在しない場合はＳ６０７へ処理を進める。Ｓ６０７では、メイン制御部３０３２は７０３で指定された文書ファイルが存在しないと判断した場合に、印刷対象の文書ファイルが存在しない旨のエラーメッセージを表示し、クライアントアプリ３０３の外部ファイル印刷処理を終了する。Ｓ６０８では、メイン制御部３０３２は印刷制御部３０３３に７０３で指定された文書ファイルと７０４で指定された出力先プリンター（プリンターオブジェクト名）を渡し、外部ファイル印刷処理を開始する。
【００５４】
なお、Ｓ６０８における印刷設定はクライアントアプリ３０３もしくはプリンタードライバー３０４の初期設定を用いる。
【００５５】
以上のように、クライアントアプリ３０３の実行時に、編集画面表示処理を実行しない外部ファイル印刷処理と判断した場合はライセンス確認を実行せずに処理可能となる。
以下に、外部ファイル印刷処理のデータ変換の流れに関して補足する（特開２０１１−１９１９７号公報で開示の方法と同様）。具体的には、７０３で指定された文書ファイルに対応するアプリケーションに、文書ファイルを渡し、ＧＤＩ関数（描画情報）に変換し、ＰＤＦ生成ドライバーを通してＰＤＦを生成する。本実施例ではクライアントアプリ３０３の文書フォーマットをＰＤＦとして説明するが、他の文書フォーマットであってもかまわない。次にクライアントアプリ３０３は、ＤＥＶＭＯＤＥ構造体を介して印刷設定をプリンタードライバーに設定し、前述のＰＤＦをＧＤＩ関数に変換してプリンタードライバーへ出力する。次にプリンタードライバーは、受信したＧＤＩ関数を出力先の画像形成装置が受信可能なページ記述言語（ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））に変換して、画像形成装置へ出力を行う。
【００５６】
＜第２の実施形態＞
以降の説明では、第１の実施形態と同じ物については同一の符号を用い、その説明を適宜省略する。
【００５７】
［ソフトウェア構成（仮想プリンターアプリ）］
情報処理装置１０１のソフトウェアの構成について図９を用いて説明する。図９は本実施例の情報処理装置１０１のソフトウェアの構成の一例を示す図である。
【００５８】
９００１は仮想プリンターアプリ３０２の印刷テンプレート情報取得部を示す。印刷テンプレート情報取得部９００１は、ＲＯＭ２０４が保持する印刷テンプレートファイルを読み込み、印刷テンプレートファイルのファイルパス、印刷テンプレート名称を取得する。
【００５９】
図１０は、仮想プリンターアプリの印刷テンプレート指定ＵＩの一例を示している。１００１は印刷テンプレート指定ＵＩの外観を示す。
【００６０】
メイン制御部３０２２は、マウスポインター４０３を用いてＯＳ３０１が管理する文書ファイル４０２がウィジェット４０１上にドラッグ＆ドロップされると、文書ファイルのファイルパスを記憶部（３０２３）に記憶する。そして、前述の印刷テンプレート指定ＵＩの表示をＵＩ部３０２１に指示する。また、メイン制御部３０２２は印刷テンプレート情報取得部９００１を介して印刷テンプレート情報を取得して、印刷テンプレート指定ＵＩ１００１に１００２を含む複数の印刷テンプレートボタンを表示する。
【００６１】
なお、印刷テンプレート指定ＵＩ１００１に表示される印刷テンプレートは、ユーザーが表示することを予め選択したテンプレートであってもよい。具体的にはメインＵＩ５０１の印刷テンプレートコントロール５０８を用いて、どの印刷テンプレートを印刷テンプレート指定ＵＩ１００１に表示させるか個別に設定する。
【００６２】
これは例えば印刷テンプレートコントロール５０８の各印刷テンプレートに各印刷テンプレートを印刷テンプレート指定ＵＩ１００１に表示させるかどうかを設定可能なチェックボックスを設けることにより実現できる。メイン制御部３０３２はチェックボックスのチェックに基づいて印刷テンプレート指定ＵＩ１００１に表示させる印刷テンプレートのリストを仮想プリンターアプリ３０２の記憶部３０２３に保存する。メイン制御部３０２２は記憶部３０２３からこの印刷テンプレートのリストを読み出すことにより、チェックボックスに基づいて印刷テンプレートを表示することができる。
【００６３】
さらにどの印刷テンプレートを印刷テンプレート指定ＵＩ１００１に表示させるか個別に設定する際に、必ず一つ以上の印刷テンプレートは表示するように構成しても構わない。具体的には例えば印刷テンプレートコントロール５０８の印刷テンプレートのチェックボックスのチェックをした場合にチェックされた印刷テンプレートを印刷テンプレート指定ＵＩ１００１に表示するように構成したとする。この場合は一つの印刷テンプレートを除く他の印刷テンプレートのチェックボックスがチェックされていない場合はその一つの印刷テンプレートのチェックを外せないように構成する。これにより前述の必ず一つ以上の印刷テンプレートは表示する構成を得ることができる。
【００６４】
メイン制御部３０２２は、ユーザーからマウスポインター４０３により所望の印刷テンプレートボタンの押下を受け付けると、押下された印刷テンプレートボタンに対応する印刷テンプレートファイル名を記憶部３０２３に記憶する。メイン制御部３０２２は、記憶したファイルパスと関連付けを行ったプリンターオブジェクトを指定して、クライアントアプリ３０３に外部ファイル印刷処理を指示する。
【００６５】
［ダイアログ制御を伴う編集画面表示処理・外部ファイル印刷処理フロー］
図１１は、クライアントアプリ３０３の起動から編集画面表示処理・外部ファイル印刷処理に係るフローチャートの一例を示す図である。
【００６６】
Ｓ６０６で指定ファイル存在ありと判断した場合にＳ１１０１に進む。Ｓ１１０１では、メイン制御部３０３２は印刷テンプレートの指定有無を確認する。確認方法は、ＯＳからの実行パラメータで行う。
【００６７】
図１２は、クライアントアプリ３０３の実行パラメータの一例を示している。１２０１は印刷テンプレート名を示している。本実施例では７０２乃至７０４及び１２０１が実行時の引数７０５である。仮想プリンターアプリ３０２のメイン制御部３０２２は、クライアントアプリ３０３への印刷指示を行う際に、図１２で示す実行パラメータを生成する。
【００６８】
メイン制御部３０３２は、受信した実行パラメータを解析し、１２０１の印刷テンプレート名が存在すれば印刷テンプレート指定有りと判断しＳ１１０３へ、存在しなければ指定が無いと判断しＳ１１０２へ処理を進める。Ｓ１１０２では、印刷制御部３０３３はクライアントアプリ３０３のデフォルト印刷設定を取得する。
【００６９】
ここでデフォルト印刷設定とは、規定値としてクライアントアプリ３０３が保持しており、出力プリンターの種類によらず設定を行うことが可能な印刷設定である。例えば、用紙サイズ「原稿サイズと同じ」、印刷方法「片面」、レイアウト「１ｕｐ」という設定となる。
【００７０】
印刷制御部３０３３は、取得したデフォルト印刷設定を記憶部に記憶し、Ｓ６０８へ処理を進める。一方Ｓ１１０３では、印刷制御部３０３３は実行パラメータで指定された印刷テンプレート名（１２０１）が示す印刷テンプレートファイルに設定されている印刷設定情報を取得し、記憶部３０３６に記憶する。
【００７１】
次にＳ１１０４では印刷制御部３０３３は、Ｓ１１０３で取得した印刷設定情報に画像形成装置で適用できない印刷設定が存在するか否かを確認する。
【００７２】
具体的には印刷制御部３０３３は、プリンターオブジェクト３０５から画像形成装置１０２の機種能力を取得して、Ｓ１１０３で取得した印刷テンプレートファイルの印刷設定情報の設定値全てが適用できるか確認する。例えば、用紙サイズＡ３が使用できない機種に対して、Ａ３の設定値が指定されている場合や、白黒印刷機に対してカラー印刷の設定値が指定されている場合などが考えられる。
【００７３】
Ｓ１１０４の判断の結果、Ｓ１１０３で取得した印刷設定情報の設定値全てが適用できる場合はＳ６０８へ、適用できない設定値が１つでもある場合はＳ１１０５へ処理を進める。Ｓ１１０５では、メイン制御部３０３２はクライアントアプリ３０３のライセンスの確認をする。Ｓ１１０５の具体的な処理についてはＳ６０２と同一のため省略する。メイン制御部３０３２は、ライセンス制御部３０３４からライセンスの確認結果を受信し、ライセンス有りと判断した場合はＳ１１０６へ、ライセンスが無いと判断した場合はＳ１１０８へ処理を進める。
【００７４】
Ｓ１１０６では、メイン制御部３０３２はＵＩ部３０３１に、クライアントアプリ３０３の編集画面表示処理に遷移可能な警告メッセージの表示を指示する。図１３はＳ１１０６で表示する警告メッセージの一例を示している。次にＳ１１０７では、メイン制御部３０３２はＳ１１０６で表示を指示した警告メッセージにおいてどの選択肢がユーザーに選ばれたのかを判断する。ＵＩ部３０３１はポインティングデバイス等の操作によるマウスポインターの警告メッセージ上のボタン押下を受信して、印刷続行もしくは印刷プレビューもしくは印刷中止のいずれかが選択されたことをメイン制御部３０３２に伝える。メイン制御部３０３２は、印刷続行が指示された場合はＳ１１１０へ、印刷プレビューが指示された場合はＳ６０４へ進み、印刷中止が指示された場合は外部ファイル印刷処理をキャンセルしてクライアントアプリ３０３の終了をする。Ｓ１１１０では、印刷制御部３０３３は、Ｓ１１０３で取得した印刷設定情報の適用できない印刷設定を適用可能な設定へ変換する。印刷制御部３０３３は、適用できない印刷設定の設定値をＳ１１０２の処理で前述したデフォルト設定の設定値へ変換を行い、適用できない印刷設定が無い状態にする。例えば、用紙サイズＡ３が使用できない設定の場合、デフォルト印刷設定の用紙サイズの設定値「原稿サイズと同じ」に変換する。
【００７５】
一方、Ｓ１１０８では、メイン制御部３０３２はＵＩ部３０３１に、クライアントアプリ３０３の編集画面表示処理に遷移不可能な警告メッセージの表示を指示する。
【００７６】
図１４はＳ１１０８で表示を指示する警告メッセージの一例を示している。図１４の警告メッセージは図１３の警告メッセージと異なり印刷プレビューボタンは表示されない。
【００７７】
次にＳ１１０９では、メイン制御部３０３２はＳ１１０８で表示を指示した警告メッセージにおいてどの選択肢がユーザーに選ばれたのかを判断する。ＵＩ部３０３１はポインティングデバイス等の操作によるマウスポインターの警告メッセージ上のボタン押下を受信して、印刷続行もしく印刷中止のいずれかが選択されたことをメイン制御部３０３２に伝える。メイン制御部３０３２は、印刷続行が指示された場合はＳ１１１０へ進み、印刷中止が指示された場合は印刷処理をキャンセルしてクライアントアプリ３０３の終了をする。
【００７８】
以上のように、クライアントアプリ３０３の印刷処理と判断してライセンス確認をスキップした場合において、印刷設定の適用不可でアプリの編集画面表示処理に遷移する場合は、再度ライセンス確認を行う。ライセンス確認時にライセンスがない場合はメインＵＩ５０１の表示を行うためのボタンを非表示にする。これによりライセンスがないにも関わらずユーザーがメインＵＩ５０１を表示することを妨げることができる。
【００７９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８０】
上述した実施形態の構成によれば、情報処理装置をより容易に利用可能にすることができる。
【００８１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0006039216.tif 000002
【図２】
0006039216.tif 000003
【図３】
0006039216.tif 000004
【図４】
0006039216.tif 000005
【図５】
0006039216.tif 000006
【図６】
0006039216.tif 000007
【図７】
0006039216.tif 000008
【図８】
0006039216.tif 000009
【図９】
0006039216.tif 000010
【図１０】
0006039216.tif 000011
【図１１】
0006039216.tif 000012
【図１２】
0006039216.tif 000013
【図１３】
0006039216.tif 000014
【図１４】
0006039216.tif 000015