特許第6039216号(P6039216)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000002
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000003
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000004
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000005
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000006
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000007
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000008
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000009
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000010
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000011
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000012
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000013
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000014
  • 特許6039216-情報処理装置、プログラム及び制御方法 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6039216
(24)【登録日】2016年11月11日
(45)【発行日】2016年12月7日
(54)【発明の名称】情報処理装置、プログラム及び制御方法
(51)【国際特許分類】
   G06F 3/12 20060101AFI20161128BHJP
   H04N 1/00 20060101ALI20161128BHJP
【FI】
   G06F3/12 339
   G06F3/12 322
   G06F3/12 385
   H04N1/00 C
【請求項の数】12
【全頁数】17
(21)【出願番号】特願2012-84971(P2012-84971)
(22)【出願日】2012年4月3日
(65)【公開番号】特開2013-214246(P2013-214246A)
(43)【公開日】2013年10月17日
【審査請求日】2015年4月2日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】小橋 和文
【審査官】 田川 泰宏
(56)【参考文献】
【文献】 特開2002−163108(JP,A)
【文献】 特開2006−092363(JP,A)
【文献】 特開2007−048026(JP,A)
【文献】 特開2008−040840(JP,A)
【文献】 特開2011−019197(JP,A)
【文献】 特開2009−032075(JP,A)
【文献】 特開2006−202025(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御手段と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御手段と、を有し、
前記外部制御手段は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とする情報処理装置。
【請求項2】
前記編集画面は、前記アプリケーションが処理する前記ファイルのプレビューを行う機能か、又は前記アプリケーションが処理する前記ファイルに複数の印刷設定項目を個別に設定する機能か、又は前記アプリケーションが処理する前記ファイルにアノテーションを付与する機能か、又は前記アプリケーションが処理する複数のファイルを結合する機能か、又は前記アプリケーションが処理する前記ファイルのオブジェクトを編集する機能か、又は前記アプリケーションが処理する前記ファイルに基づいてPDFを出力する機能のうち少なくとも一つの機能を提供することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行うためのボタンを含むメッセージを表示して、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行うためのボタンを含まないメッセージを表示することを特徴とする請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記表示制御手段は、複数の印刷設定項目を同時に設定する印刷テンプレートの選択を前記表示処理でユーザーから受け付けて、ユーザーが選択する前記印刷テンプレートを前記外部処理の印刷テンプレートの選択肢として表示して、
前記外部処理では印刷テンプレートの選択肢を一つ以上表示することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項5】
アプリケーション起動時の引数が第1の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第1の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御手段と、前記アプリケーション起動時の引数が第2の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第2の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御手段と、を有することを特徴とする情報処理装置。
【請求項6】
コンピュータに、
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御工程と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御工程と、を実行させ
前記外部制御工程は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とするプログラム。
【請求項7】
前記編集画面は、前記アプリケーションが処理する前記ファイルのプレビューを行う機能か、又は前記アプリケーションが処理する前記ファイルに複数の印刷設定項目を個別に設定する機能か、又は前記アプリケーションが処理する前記ファイルにアノテーションを付与する機能か、又は前記アプリケーションが処理する複数のファイルを結合する機能か、又は前記アプリケーションが処理する前記ファイルのオブジェクトを編集する機能か、又は前記アプリケーションが処理する前記ファイルに基づいてPDFを出力する機能のうち少なくとも一つの機能を提供することを特徴とする請求項に記載のプログラム。
【請求項8】
前記表示制御工程は、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行うためのボタンを含むメッセージを表示して、前記外部処理で画像形成装置が適用できない印刷設定の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行うためのボタンを含まないメッセージを表示することを特徴とする請求項6又は請求項7に記載のプログラム。
【請求項9】
前記表示制御工程は、複数の印刷設定項目を同時に設定する印刷テンプレートの選択を前記表示処理でユーザーから受け付けて、ユーザーが選択する前記印刷テンプレートを前記外部処理の印刷テンプレートの選択肢として表示して、
前記外部処理では印刷テンプレートの選択肢を一つ以上表示することを特徴とする請求項乃至のいずれか1項に記載のプログラム。
【請求項10】
コンピュータに、
アプリケーション起動時の引数が第1の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第1の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御工程と、前記アプリケーション起動時の引数が第2の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第2の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御工程と、を実行させることを特徴とするプログラム。
【請求項11】
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御工程と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御工程と、を有し、
前記外部制御工程は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とする制御方法。
【請求項12】
アプリケーション起動時の引数が第1の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第1の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御工程と、前記アプリケーション起動時の引数が第2の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第2の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御工程と、を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は印刷処理を行うプログラムにおけるライセンス管理の技術に関する。
【背景技術】
【0002】
従来の印刷方法としてはアプリケーションの編集画面を表示した後にユーザーから編集画面で表示している対象を印刷する指示を受け付ける方法と、外部ファイルを受け付けて編集画面を表示せずに印刷する方法の2通りの方法がある。本明細書では前者の編集画面を表示する処理を編集画面表示処理とし、後者の方法による印刷の処理を外部ファイル印刷処理とする。
【0003】
また、アプリケーション実行時にライセンスを確認する技術がある。これによりライセンス期限切れ、あるいは未認証の場合にアプリケーションの実行を回避して、アプリケーションの不正利用を防ぐことが可能である。
【0004】
また特許文献1では、アプリケーションの機能実行中にライセンス期限切れが発生した場合に、実行中の機能においては、処理終了まで実行可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011−164789号
【発明の概要】
【発明が解決しようとする課題】
【0006】
アプリケーションの編集画面表示処理を行うためにはライセンス認証が必要だが、外部ファイル印刷処理に関してはライセンス認証せずに(ライセンスフリーで)実行させたいケースが存在する。
【0007】
たとえば外部ファイル印刷処理のみを指示可能なユーティリティアプリケーションがある。ユーティリティアプリケーションは編集画面を表示しないため、ライセンスフリーで実行可能にして、外部ファイルの印刷処理をユーザーに提供したいケースが考えられる。しかしながら、アプリケーション起動時にライセンス確認をするように構成しているとユーティリティアプリケーションが外部ファイル印刷処理を受け付けた場合でもライセンス確認を行なってしまう。このように構成するとライセンスを有していないユーティリティアプリケーションは外部ファイル印刷処理を実行できない。
【0008】
本発明はこのような問題点に鑑みてなされたもので、外部ファイル印刷処理をライセンスフリーで利用者に提供し、利便性を向上させることを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するための本発明に係る情報処理装置は、
アプリケーションが処理するファイルの印刷指示をユーザーから受け付ける編集画面を表示する処理である表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがある場合に前記表示処理を行って、前記表示処理の指示をユーザーから受け付けてかつ前記アプリケーションのライセンスがない場合に前記表示処理を行わない制御をする表示制御手段と、
オブジェクトにドロップされたファイルに基づく前記アプリケーションによる印刷処理である外部処理の指示をユーザーから受け付けた場合に前記アプリケーションのライセンスの有無に関わらず前記外部処理を行う外部制御手段と、を有し、
前記外部制御手段は前記外部処理の指示をユーザーから受け付けたかどうかを前記アプリケーションの引数に基づいて判断することを特徴とする。
【0010】
上記の目的を達成するための本発明に係る他の情報処理装置は、
アプリケーション起動時の引数が第1の引数であってかつ前記アプリケーションのライセンスがある場合に前記アプリケーションの編集画面を表示して、前記アプリケーション起動時の引数が前記第1の引数であってかつ前記アプリケーションのライセンスがない場合に前記アプリケーションの編集画面を表示しない制御をする表示制御手段と、
前記アプリケーション起動時の引数が第2の引数である場合に前記アプリケーションのライセンスの有無に関わらず前記第2の引数に含まれるファイルを前記アプリケーションによって印刷処理する外部制御手段と、を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、外部ファイル印刷処理の場合はライセンスフリーで提供することが可能となり、ユーザーの利便性を向上させることができる。
【図面の簡単な説明】
【0012】
図1】システム構成の一例を示す図である。
図2】ハードウェア構成の一例を示す図である。
図3】情報処理装置のソフトウェアの構成の一例を示す図である。
図4】仮想プリンターアプリが起動するウィジェットへのファイルドロップ動作及びウィジェットの一例を示す図である。
図5】クライアントアプリのメインUIの一例を示す図である。
図6】クライアントアプリの編集画面表示処理・外部ファイル印刷処理の一例を示す図である。
図7】クライアントアプリの実行パラメータの一例を示す図である。
図8】ライセンス確認の警告メッセージの一例を示す図である。
図9】情報処理装置のソフトウェアの構成の一例を示す図である。
図10】仮想プリンターアプリのウィジェットの一例を示す図である。
図11】クライアントアプリの編集画面表示処理・外部ファイル印刷処理の一例を示す図である。
図12】クライアントアプリの実行パラメータの一例を示す図である。
図13】クライアントアプリの(編集画面表示可能)警告メッセージの一例を示す図である。
図14】クライアントアプリの(編集画面表示不可)警告メッセージの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【0014】
<第1の実施形態>
[システム構成]
図1は、本発明の一実施形態におけるシステムの構成の一例を示す図である。101は情報処理装置であって、画像形成装置102に対して印刷やFAX送信を指示するユーザーの使用するPCである。102は画像形成装置であって、プリンター機能、FAX機能、コピー機能、スキャナ機能、ファイル送信機能等を備える。103は上記装置が接続されているLAN(Local Area Network)であって、LAN103を介して上記装置は情報の相互通信を行っている。
【0015】
[ハードウェア構成]
図2は、ハードウェア構成の一例を示す図である。情報処理装置101は、各種のユニット(202〜207)を含んで構成される。CPU(Central Processing Unit)202は、各種のプログラムを実行し、プログラムに従って様々な機能を実現するユニットである。ROM(Read Only Memory)204は、各種のプログラムやデータ等を記憶するユニットである。RAM(Random Access Memory)203は、各種の情報を記憶するユニットである。また、RAM203は、CPU202の一時的な作業記憶領域としても利用されるユニットである。例えば、CPU202は、ROM204に記憶されているプログラムやデータをRAM203にロードしてプログラムを実行する。
【0016】
Input/Outputインターフェース205は、情報処理装置101に接続されているディスプレイ(208)にデータを送信する他、ポインティングデバイス(209)からデータを受信するユニットである。
【0017】
NIC(Network Interface Card)206は、情報処理装置101をネットワークに接続するためのユニットである。上述したユニットは、バス207を介してデータの送受信を行うことが可能に構成されている。情報処理装置101はNIC206を介して前述のLAN103に接続されている。
【0018】
[ソフトウェア構成(全般)]
情報処理装置101には、所定のオペレーティングシステム(OS)がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーションもインストールされている。ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理等が含まれ、各アプリケーションはそれぞれ独自のデータ構造(ファイル構造)を備える。さらに、OSは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示を行える構成となっている。
【0019】
次に、情報処理装置101のソフトウェアの構成について図3を用いて説明する。図3は、情報処理装置101のソフトウェアの構成の一例を示す図である。
【0020】
図3に示される各ソフトウェアにおける機能(モジュール)を実現するプログラムは、情報処理装置101のROM204等に記憶されている。ここで各ソフトウェア(アプリケーション)とはOS301、仮想プリンターアプリ302、クライアントアプリ303、プリンタードライバー304を示す。即ち、CPU202がRAM203にプログラムをロードして実行することで、装置の機能及び後述するフローチャートに係る処理が実現される。なお、装置の機能及び後述するフローチャートに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。
【0021】
[ソフトウェア構成(OS)]
次に、OS301について説明する。OS301は公知の一般的なOSの機能(メモリ管理、リソース管理、アプリケーション管理等)を提供する。OS301は、ユーザーからのアプリケーション実行要求を受けうると、各アプリケーションに対して実行要求を出すことで各アプリケーションが処理を開始する。
【0022】
[ソフトウェア構成及びUI(クライアントアプリ)]
次に、クライアントアプリ303におけるソフトウェアの構成について説明する。クライアントアプリ303は各種のモジュール(3031〜3036)を含んで構成される。
【0023】
メイン制御部3032は、クライアントアプリ303を制御し、後述する各モジュール部に対する指示、管理を行う。UI部3031は、メイン制御部3032からの表示指示に従い、クライアントアプリ303のUIをユーザーに提供する。メイン制御部3032は、編集画面表示処理を受け付けるとUI部3031に後述する編集画面であるメインUI501の表示指示を行う。
【0024】
操作情報取得部(3035)は、UI部3031により表示されたクライアントアプリ303のUIがユーザー操作されたことを示す情報を取得し、取得した情報をメイン制御部3032に通知する。メイン制御部3032は記憶部(3036)に通知された情報を記憶する。
【0025】
印刷制御部3033は、後述するようにプリンタードライバー304に対応するプリンターオブジェクト305から印刷設定情報を取得し、取得した情報をメイン制御部3032へ通知する。また印刷制御部3033はメイン制御部3032から指示を受ける。その後、印刷制御部3033は後述する方法により文書ファイルを、PDFを介してGDIに変換することでプリンタードライバー304へ出力する。メイン制御部3032は、外部ファイル印刷処理を受け付けるとUI部3031に表示指示は行わず、印刷制御部3033に印刷指示を行う。
【0026】
なお、本明細書における文書ファイルとはワードプロセッサ等により作成されるデータであっても構わないし、画像ファイルであっても構わない。
【0027】
ライセンス制御部3034は、OS301から実行要求を受けたメイン制御部3032からの指示を受けて、クライアントアプリ303を実行するためのライセンス情報が存在するか否かを確認する。
【0028】
図5はクライアントアプリ303のメインUI501の一例を示す図である。502は出力先選択コントロールを示す。出力先選択コントロールは、ROM204にインストールされたプリンターオブジェクトの一覧を選択肢として表示し、ユーザーからの指示に応じて出力先を決定する。504は出力部数コントロールを示す。
【0029】
505は印刷ボタンを示す。印刷ボタンはユーザーからクライアントアプリ303が開くファイルに基づく印刷指示を受け付ける。具体的には印刷ボタンが押下された場合はユーザーからの指示に応じて文書ファイルを変換して、変換したデータを出力先のプリンタードライバーで処理させる。
【0030】
506は文書ファイルのページリストを示す。507は文書ファイルに対応する印刷プレビューを示す。
【0031】
508は印刷テンプレートコントロールを示す。印刷テンプレートは各種印刷設定の設定値を保持している。また、印刷テンプレートはファイルで保存されており、ROM204に記憶されている。前記印刷テンプレートボタンを押下することで保持してある複数項目の印刷設定の設定値を一度で同時に設定することが可能である。前述した印刷プレビューは、印刷設定コントロールで指定した設定値に従い、出力結果の状態をサムネイル表示する。印刷プレビューにより、ユーザーは印刷実行前に出力状態を確認することが可能になる。
【0032】
509は印刷設定コントロールを示す。印刷設定コントロールは「用紙サイズ」「片面、両面」「ホチキス」という複数の印刷設定項目の設定を個別にユーザーから受け付ける表示要素(コントロール)である。
【0033】
さらにメインUI501では次の機能を提供してもよい。一つ目の機能はクライアントアプリ303が開く文書ファイルにアノテーションを付与する機能である。二つ目の機能はクライアントアプリ303が開く文書ファイルを結合する機能である。三つ目の機能は複数の文書ファイルのオブジェクトを編集する機能である。四つ目の機能はクライアントアプリ303が開く文書ファイルに基づいてPDFを出力する機能である。
【0034】
メインUIは上述の機能(コントロール及び四つの機能)のうち少なくとも一つの機能を有する。
【0035】
また、クライアントアプリ303のUIの形態(位置、大きさ、範囲、配置、表示内容など)は、図に示す形態に限定されるものではなく、情報処理装置101の機能を実現することができる適宜の構成を採用することができる。
【0036】
[ソフトウェア構成及びUI(仮想プリンターアプリ)]
次に、仮想プリンターアプリ302におけるソフトウェアの構成について説明する。仮想プリンターアプリ302は、各種のモジュール(3021と3022と3023と3024)を含んで構成される。メイン制御部3022は、仮想プリンターアプリ302を制御し、UI部3021への指示、クライアントアプリ303への印刷指示を行う。
【0037】
メイン制御部3022は、仮想プリンターアプリ302の編集画面表示処理を受け付けると後述するウィジェット401の表示指示をUI部3021に行う。UI部3021は、メイン制御部3022からの表示指示に従い、仮想プリンターアプリ302のUIであるウィジェット401をユーザーに提供する。
なお、ウィジェット401の表示はUI部3021とは異なるOS301のモジュールが表示をおこなっても構わない。
【0038】
図4は、仮想プリンターアプリ302が起動するウィジェット401へのファイルドロップ動作及びウィジェット401の一例を示す図である。ウィジェット401はOS301のデスクトップ上に表示される。仮想プリンターアプリ302はOS301にインストールされたプリンターオブジェクトとウィジェット401の関連付けを行い、関連付けをしたプリンターオブジェクトごとにウィジェット401を表示する。メイン制御部3022は、ポインティングデバイス等により操作するマウスポインター403を用いてOS301が管理する文書ファイル402がウィジェット401上にドラッグ&ドロップされると、文書ファイルのファイルパスを記憶部(3023)に記憶する。
【0039】
なお、ウィジェットをプリンターのプリンターオブジェクト及びFAXのプリンターオブジェクトと関連付けておき、文書ファイル402がウィジェット401上にドラッグした際にプリンターに出力するかFAXに出力するかをユーザーに選ばせてもよい。
【0040】
そして、メイン制御部3022は、記憶したファイルパスと関連付けを行ったプリンターオブジェクトを指定して、クライアントアプリ303に外部ファイル印刷処理を指示する。外部ファイル印刷処理を指示した後、メイン制御部3022はUI部3021にサブUI404の表示を指示する。
【0041】
このようにウィジェット401を用いた外部ファイル印刷処理ではメインUI501は表示されずに処理が行われる。
【0042】
操作情報取得部(3024)は、UI部3021により表示された仮想プリンターアプリ302のウィジェット401及びサブUI404がユーザー操作された情報を取得し、取得した情報をメイン制御部3022に通知する。
【0043】
[ソフトウェア構成(プリンタードライバー)]
プリンタードライバー304は公知の一般的なプリンタードライバーの機能(印刷設定、印刷データ受信、印刷ジョブ生成等)を提供する。プリンタードライバー304は、クライアントアプリ303から印刷処理を受けると、受信したデータを画像形成装置102が受信可能なページ記述言語に変換して画像形成装置102へ送信する。
【0044】
[編集画面表示処理・外部ファイル印刷処理フロー]
情報処理装置101のクライアントアプリ303における編集画面表示処理・外部ファイル印刷処理について図6を用いて説明する。図6は、クライアントアプリ303の起動から編集画面表示処理・外部ファイル印刷処理に係るフローチャートの一例を示す図である。
【0045】
OSからのクライアントアプリ303実行要求により、クライアントアプリ303のメイン制御部3032は、アプリケーションの編集画面表示処理・外部ファイル印刷処理を開始する。
【0046】
S601では、クライアントアプリ303のメイン制御部3032は、OSからの実行要求が編集画面表示処理か外部ファイル印刷処理なのかを確認する。確認はOSからの実行パラメータにより行う。
【0047】
図7はクライアントアプリ303のアプリケーション起動時の実行パラメータの一例を示している。701はクライアントアプリ303の実行ファイルのファイルパスを示す。702はオプションコマンドを示しており、“/print”はクライアントアプリ303の外部ファイル印刷処理の実行を指示するオプションコマンドである。703はクライアントアプリ303の実行対象の文書ファイルのファイルパスを示す。704はクライアントアプリ303の出力先プリンターを指示するプリンターオブジェクト名である。702乃至704が実行時の引数705である。仮想プリンターアプリ302のメイン制御部3022は、クライアントアプリ303への外部ファイル印刷処理の指示を行う際に、図7で示す実行パラメータを生成して、OSへの実行要求を行う。
【0048】
なお、編集画面表示処理を行うためのクライアントアプリ303の実行パラメータは任意である。編集画面表示処理を行うための実行パラメータにオプションコマンドが含まれていても構わない。また、クライアントアプリ303の実行パラメータがない場合に編集画面表示処理を行うように構成しても良い。
【0049】
メイン制御部3032は、受信した実行パラメータを解析し、702の“/print”オプションコマンドが存在すれば外部ファイル印刷処理と判断しS606へ、存在しなければ編集画面表示処理と判断しS602へ処理を進める。S602では、メイン制御部3032はクライアントアプリのライセンスの確認をする。メイン制御部3032は、ライセンス制御部3034にライセンスの確認を指示し、ライセンス制御部3034は、クライアントアプリ303のメインUI501を表示するためのライセンスが有るか否かを確認する。メイン制御部3032は、ライセンス制御部3034からライセンスの確認結果を受信し、ライセンス有りと判断した場合はS604へ、ライセンスが無いと判断した場合はS603へ処理を進める。
【0050】
ライセンス有無の判断例としては、ライセンス認証(例:シリアル番号とPC構成によるハッシュ値を用いた認証)が完了しているか否かの確認、完了していない場合はアプリケーションが定める試用期間(例:60日)以内か否かを確認する方法が考えられる。
【0051】
S603では、メイン制御部3032はライセンス認証がされていない旨のメッセージを表示し、クライアントアプリ303の編集画面表示処理を終了する。
【0052】
図8はS603で表示するライセンス認証無しの場合の警告メッセージの一例を示している。
【0053】
S604では、メイン制御部3032はクライアントアプリ303のメインUI501のクラス生成処理を実行する。S605でメイン制御部3032はUI部3031へS604でクラスを生成したメインUI501の表示を指示する。S606では、メイン制御部3032は703で指定された文書ファイルの有無を確認する。703で指定された文書ファイルが存在する場合はS608へ、文書ファイルが存在しない場合はS607へ処理を進める。S607では、メイン制御部3032は703で指定された文書ファイルが存在しないと判断した場合に、印刷対象の文書ファイルが存在しない旨のエラーメッセージを表示し、クライアントアプリ303の外部ファイル印刷処理を終了する。S608では、メイン制御部3032は印刷制御部3033に703で指定された文書ファイルと704で指定された出力先プリンター(プリンターオブジェクト名)を渡し、外部ファイル印刷処理を開始する。
【0054】
なお、S608における印刷設定はクライアントアプリ303もしくはプリンタードライバー304の初期設定を用いる。
【0055】
以上のように、クライアントアプリ303の実行時に、編集画面表示処理を実行しない外部ファイル印刷処理と判断した場合はライセンス確認を実行せずに処理可能となる。
以下に、外部ファイル印刷処理のデータ変換の流れに関して補足する(特開2011−19197号公報で開示の方法と同様)。具体的には、703で指定された文書ファイルに対応するアプリケーションに、文書ファイルを渡し、GDI関数(描画情報)に変換し、PDF生成ドライバーを通してPDFを生成する。本実施例ではクライアントアプリ303の文書フォーマットをPDFとして説明するが、他の文書フォーマットであってもかまわない。次にクライアントアプリ303は、DEVMODE構造体を介して印刷設定をプリンタードライバーに設定し、前述のPDFをGDI関数に変換してプリンタードライバーへ出力する。次にプリンタードライバーは、受信したGDI関数を出力先の画像形成装置が受信可能なページ記述言語(PDL(Page Description Language))に変換して、画像形成装置へ出力を行う。
【0056】
<第2の実施形態>
以降の説明では、第1の実施形態と同じ物については同一の符号を用い、その説明を適宜省略する。
【0057】
[ソフトウェア構成(仮想プリンターアプリ)]
情報処理装置101のソフトウェアの構成について図9を用いて説明する。図9は本実施例の情報処理装置101のソフトウェアの構成の一例を示す図である。
【0058】
9001は仮想プリンターアプリ302の印刷テンプレート情報取得部を示す。印刷テンプレート情報取得部9001は、ROM204が保持する印刷テンプレートファイルを読み込み、印刷テンプレートファイルのファイルパス、印刷テンプレート名称を取得する。
【0059】
図10は、仮想プリンターアプリの印刷テンプレート指定UIの一例を示している。1001は印刷テンプレート指定UIの外観を示す。
【0060】
メイン制御部3022は、マウスポインター403を用いてOS301が管理する文書ファイル402がウィジェット401上にドラッグ&ドロップされると、文書ファイルのファイルパスを記憶部(3023)に記憶する。そして、前述の印刷テンプレート指定UIの表示をUI部3021に指示する。また、メイン制御部3022は印刷テンプレート情報取得部9001を介して印刷テンプレート情報を取得して、印刷テンプレート指定UI1001に1002を含む複数の印刷テンプレートボタンを表示する。
【0061】
なお、印刷テンプレート指定UI1001に表示される印刷テンプレートは、ユーザーが表示することを予め選択したテンプレートであってもよい。具体的にはメインUI501の印刷テンプレートコントロール508を用いて、どの印刷テンプレートを印刷テンプレート指定UI1001に表示させるか個別に設定する。
【0062】
これは例えば印刷テンプレートコントロール508の各印刷テンプレートに各印刷テンプレートを印刷テンプレート指定UI1001に表示させるかどうかを設定可能なチェックボックスを設けることにより実現できる。メイン制御部3032はチェックボックスのチェックに基づいて印刷テンプレート指定UI1001に表示させる印刷テンプレートのリストを仮想プリンターアプリ302の記憶部3023に保存する。メイン制御部3022は記憶部3023からこの印刷テンプレートのリストを読み出すことにより、チェックボックスに基づいて印刷テンプレートを表示することができる。
【0063】
さらにどの印刷テンプレートを印刷テンプレート指定UI1001に表示させるか個別に設定する際に、必ず一つ以上の印刷テンプレートは表示するように構成しても構わない。具体的には例えば印刷テンプレートコントロール508の印刷テンプレートのチェックボックスのチェックをした場合にチェックされた印刷テンプレートを印刷テンプレート指定UI1001に表示するように構成したとする。この場合は一つの印刷テンプレートを除く他の印刷テンプレートのチェックボックスがチェックされていない場合はその一つの印刷テンプレートのチェックを外せないように構成する。これにより前述の必ず一つ以上の印刷テンプレートは表示する構成を得ることができる。
【0064】
メイン制御部3022は、ユーザーからマウスポインター403により所望の印刷テンプレートボタンの押下を受け付けると、押下された印刷テンプレートボタンに対応する印刷テンプレートファイル名を記憶部3023に記憶する。メイン制御部3022は、記憶したファイルパスと関連付けを行ったプリンターオブジェクトを指定して、クライアントアプリ303に外部ファイル印刷処理を指示する。
【0065】
[ダイアログ制御を伴う編集画面表示処理・外部ファイル印刷処理フロー]
図11は、クライアントアプリ303の起動から編集画面表示処理・外部ファイル印刷処理に係るフローチャートの一例を示す図である。
【0066】
S606で指定ファイル存在ありと判断した場合にS1101に進む。S1101では、メイン制御部3032は印刷テンプレートの指定有無を確認する。確認方法は、OSからの実行パラメータで行う。
【0067】
図12は、クライアントアプリ303の実行パラメータの一例を示している。1201は印刷テンプレート名を示している。本実施例では702乃至704及び1201が実行時の引数705である。仮想プリンターアプリ302のメイン制御部3022は、クライアントアプリ303への印刷指示を行う際に、図12で示す実行パラメータを生成する。
【0068】
メイン制御部3032は、受信した実行パラメータを解析し、1201の印刷テンプレート名が存在すれば印刷テンプレート指定有りと判断しS1103へ、存在しなければ指定が無いと判断しS1102へ処理を進める。S1102では、印刷制御部3033はクライアントアプリ303のデフォルト印刷設定を取得する。
【0069】
ここでデフォルト印刷設定とは、規定値としてクライアントアプリ303が保持しており、出力プリンターの種類によらず設定を行うことが可能な印刷設定である。例えば、用紙サイズ「原稿サイズと同じ」、印刷方法「片面」、レイアウト「1up」という設定となる。
【0070】
印刷制御部3033は、取得したデフォルト印刷設定を記憶部に記憶し、S608へ処理を進める。一方S1103では、印刷制御部3033は実行パラメータで指定された印刷テンプレート名(1201)が示す印刷テンプレートファイルに設定されている印刷設定情報を取得し、記憶部3036に記憶する。
【0071】
次にS1104では印刷制御部3033は、S1103で取得した印刷設定情報に画像形成装置で適用できない印刷設定が存在するか否かを確認する。
【0072】
具体的には印刷制御部3033は、プリンターオブジェクト305から画像形成装置102の機種能力を取得して、S1103で取得した印刷テンプレートファイルの印刷設定情報の設定値全てが適用できるか確認する。例えば、用紙サイズA3が使用できない機種に対して、A3の設定値が指定されている場合や、白黒印刷機に対してカラー印刷の設定値が指定されている場合などが考えられる。
【0073】
S1104の判断の結果、S1103で取得した印刷設定情報の設定値全てが適用できる場合はS608へ、適用できない設定値が1つでもある場合はS1105へ処理を進める。S1105では、メイン制御部3032はクライアントアプリ303のライセンスの確認をする。S1105の具体的な処理についてはS602と同一のため省略する。メイン制御部3032は、ライセンス制御部3034からライセンスの確認結果を受信し、ライセンス有りと判断した場合はS1106へ、ライセンスが無いと判断した場合はS1108へ処理を進める。
【0074】
S1106では、メイン制御部3032はUI部3031に、クライアントアプリ303の編集画面表示処理に遷移可能な警告メッセージの表示を指示する。図13はS1106で表示する警告メッセージの一例を示している。次にS1107では、メイン制御部3032はS1106で表示を指示した警告メッセージにおいてどの選択肢がユーザーに選ばれたのかを判断する。UI部3031はポインティングデバイス等の操作によるマウスポインターの警告メッセージ上のボタン押下を受信して、印刷続行もしくは印刷プレビューもしくは印刷中止のいずれかが選択されたことをメイン制御部3032に伝える。メイン制御部3032は、印刷続行が指示された場合はS1110へ、印刷プレビューが指示された場合はS604へ進み、印刷中止が指示された場合は外部ファイル印刷処理をキャンセルしてクライアントアプリ303の終了をする。S1110では、印刷制御部3033は、S1103で取得した印刷設定情報の適用できない印刷設定を適用可能な設定へ変換する。印刷制御部3033は、適用できない印刷設定の設定値をS1102の処理で前述したデフォルト設定の設定値へ変換を行い、適用できない印刷設定が無い状態にする。例えば、用紙サイズA3が使用できない設定の場合、デフォルト印刷設定の用紙サイズの設定値「原稿サイズと同じ」に変換する。
【0075】
一方、S1108では、メイン制御部3032はUI部3031に、クライアントアプリ303の編集画面表示処理に遷移不可能な警告メッセージの表示を指示する。
【0076】
図14はS1108で表示を指示する警告メッセージの一例を示している。図14の警告メッセージは図13の警告メッセージと異なり印刷プレビューボタンは表示されない。
【0077】
次にS1109では、メイン制御部3032はS1108で表示を指示した警告メッセージにおいてどの選択肢がユーザーに選ばれたのかを判断する。UI部3031はポインティングデバイス等の操作によるマウスポインターの警告メッセージ上のボタン押下を受信して、印刷続行もしく印刷中止のいずれかが選択されたことをメイン制御部3032に伝える。メイン制御部3032は、印刷続行が指示された場合はS1110へ進み、印刷中止が指示された場合は印刷処理をキャンセルしてクライアントアプリ303の終了をする。
【0078】
以上のように、クライアントアプリ303の印刷処理と判断してライセンス確認をスキップした場合において、印刷設定の適用不可でアプリの編集画面表示処理に遷移する場合は、再度ライセンス確認を行う。ライセンス確認時にライセンスがない場合はメインUI501の表示を行うためのボタンを非表示にする。これによりライセンスがないにも関わらずユーザーがメインUI501を表示することを妨げることができる。
【0079】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0080】
上述した実施形態の構成によれば、情報処理装置をより容易に利用可能にすることができる。
【0081】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14