(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170598
(43)【公開日】2024-12-10
(54)【発明の名称】印刷処理システム、および制御方法
(51)【国際特許分類】
G06F 3/12 20060101AFI20241203BHJP
H04N 1/00 20060101ALI20241203BHJP
B41J 29/38 20060101ALI20241203BHJP
【FI】
G06F3/12 357
G06F3/12 303
G06F3/12 328
G06F3/12 332
G06F3/12 344
G06F3/12 353
H04N1/00 127B
B41J29/38 202
【審査請求】有
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2024155382
(22)【出願日】2024-09-09
(62)【分割の表示】P 2024063311の分割
【原出願日】2018-03-29
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】加藤 央
(57)【要約】
【課題】 デスクトップアプリのインストールが制限され、クラスドライバーのみが同梱されている印刷処理システムにおいて、各種印刷装置が提供する拡張機能を利用できるようにする。
【解決手段】 画像処理装置が有する印刷設定を特定する情報である印刷設定情報を、クラスドライバーを介して画像処理装置から取得する取得手段と、印刷設定情報に基づいて、印刷設定画面を表示する表示手段と、印刷設定画面においてユーザーが選択した印刷設定の印刷設定情報を、クラスドライバーを介して画像処理装置に送信する送信手段と、印刷設定情報に基づいて、印刷処理を実行する実行手段と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
印刷処理を実行する画像処理装置と、
前記印刷処理の対象であるデータを印刷データに変換し、標準機能を用いて前記印刷処理を実行させるための印刷コマンドを前記印刷データとともに前記画像処理装置に送信するクラスドライバーと、
を含むクライアント装置と、
を有する印刷処理システムであって、
前記クライアント装置は、
前記画像処理装置が有する印刷設定を特定する情報である印刷設定情報を、前記クラスドライバーを介して前記画像処理装置から取得する取得手段と、
前記取得手段によって取得した前記印刷設定情報に基づいて、印刷設定画面を表示する表示手段と、
前記表示手段によって表示された印刷設定画面においてユーザーが選択した印刷設定の前記印刷設定情報を、前記クラスドライバーを介して前記画像処理装置に送信する送信手段と、
前記画像処理装置は、
前記送信手段によって送信された印刷設定情報に基づいて、前記印刷処理を実行する実行手段と、を有する印刷処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置の印刷設定をクライアント装置に表示させる印刷処理システム、および制御方法に関する。
【背景技術】
【0002】
Windows(登録商標)が提供するV4プリンタードライバーはセキュリティを重視するため、レジストリへのアクセスが制限される。レジストリは、プリンタードライバーの設定情報等を管理するOS上の不揮発性データ領域である。そのレジストリへのアクセスが制限されることで、レジストリ等のリソースにアクセスが可能なデスクトップアプリのインストールが制限される。デスクトップアプリとは、各アプリケーションベンダーが提供するインストーラを用いてインストールされるアプリケーションであり、各種印刷装置固有のドライバーも含まれる。
【0003】
それに対し、レジストリへのアクセスが予め制限されているストアアプリのみが、V4プリンタードライバーを有するクライアントコンピュータにインストールできる場合がある。ストアアプリ(Windows Storeアプリケーション)は、WindowsStoreと呼ばれる専用サイトのみからインストールされるアプリケーションである。
【0004】
V4プリンタードライバーは、複数の印刷装置を1つのプリンタードライバーでサポートするクラスドライバーを提供することもできる。クラスドライバーは、異なる機種の印刷装置で採用されている標準的な印刷コマンドを用いることで、ベンダーが提供する印刷装置への出力を実現している。つまり、クラスドライバーが実現する印刷機能は、印刷装置の標準機能に限られ、印刷装置が有する印刷機能すべてではない。そのクラスドライバーをOSにあらかじめ同梱しておくことで、各種印刷装置固有のプリンタードライバーのインストールが制限されたV4プリンタードライバーであっても、標準的な印刷機能であれば印刷装置への印刷要求が可能となる。
【0005】
特許文献1では、クラスドライバーが利用できる画像処理装置であるかを判断する情報処理利用管理システムが開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
Windows10等といったセキュリティを重要視したOSの場合、OSに予めクラスドライバーがインストールされていても、印刷装置の標準機能しか使うことができない。つまり、Windows10等のOSを搭載したクライアントコンピュータでは、各種印刷装置が有する拡張機能が利用できその際、拡張機能の印刷設定情報を印刷アプリケーションで管理し、所望の拡張機能をユーザーに提供する形態が考えられる。しかし、各種印刷装置の拡張機能を漏れなく印刷アプリケーションに設定し、管理させる事前の操作は煩わしい。
【0008】
本発明は上記問題を鑑み、各種印刷装置固有のドライバー等を含むデスクトップアプリのインストールが制限され、クラスドライバーのみが同梱されている印刷処理システムにおいて、各種印刷装置が提供する拡張機能を利用できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
印刷処理を実行する画像処理装置と、前記印刷処理の対象であるデータを印刷データに変換し、標準機能を用いて前記印刷処理を実行させるための印刷コマンドを前記印刷データとともに前記画像処理装置に送信するクラスドライバーと、を含むクライアント装置と、を有する印刷処理システムであって、前記クライアント装置は、前記画像処理装置が有する印刷設定を特定する情報である印刷設定情報を、前記クラスドライバーを介して前記画像処理装置から取得する取得手段と、前記取得手段によって取得した前記印刷設定情報に基づいて、印刷設定画面を表示する表示手段と、前記表示手段によって表示された印刷設定画面においてユーザーが選択した印刷設定の前記印刷設定情報を、前記クラスドライバーを介して前記画像処理装置に送信する送信手段と、前記画像処理装置は、前記送信手段によって送信された印刷設定情報に基づいて、前記印刷処理を実行する実行手段と、を有する。
【発明の効果】
【0010】
上記手段により、デスクトップアプリのインストールが制限され、クラスドライバーのみが同梱されている印刷処理システムにおいて、各種印刷装置が提供する拡張機能を利用できるようにすることができる。
【図面の簡単な説明】
【0011】
【
図2】クライアントコンピュータ100における印刷処理システムのソフトウェア構成図
【
図5】実施例1におけるモダンプリントダイアログ表示処理のフローチャート
【
図6(A)】PrintCapabilities取得処理のフローチャート
【
図7】実施例2におけるUWPアプリ用印刷設定UI表示処理のフローチャート
【
図8】実施例3におけるデスクトップアプリ用印刷設定UI表示処理のフローチャート
【
図9】実施例4における印刷時起動アプリのUI表示処理のフローチャート
【
図10】実施例5における印刷時起動アプリのUI表示処理のフローチャート
【
図11】UWPアプリおよびモダンプリントダイアログの印刷設定画面例
【
図12】OS提供およびベンダー提供のUWPアプリ用の印刷設定画面例
【
図16】本実施例におけるPrintCapabilitiesおよびプリントチケットの例
【発明を実施するための形態】
【0012】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0013】
[実施例1]
図1に、本発明に係る印刷処理システムのネットワーク構成図である。印刷処理システムは、クライアントコンピュータ100と、ページ記述言語(以下、PDL)形式の印刷データを受信し印刷を実行するプリンター200とを含む。プリンター200は、OSの標準印刷機能が対応している印刷データの形式と、データ送信のプロトコルに対応しているものとする。
【0014】
印刷処理システムの構成する各種装置は、LAN等に代表されるネットワーク300を介して接続され通信可能な状態である。なおプリンター200は印刷機能のみを備えるシングルファンクションプリンタ(SFP)でも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタ(MFP)でもよく、プリンター200が有する機能については特に問わない。
【0015】
図1(A)は、本発明の実施形態におけるクライアントコンピュータ100のハードウェア構成を示すブロック図である。CPU101は、ROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従ってクライアントコンピュータ100全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はアプリケーション(以下、アプリ)1051や、デバイスアプリ1052、OS1053等を記憶する。アプリ1051やデバイスアプリ1052は、不図示のCD-ROMやUSBメモリあるいはネットワーク300を経由して補助記憶装置105に追加することが可能である。デバイスアプリとは、V4プリンタードライバーの機能を補助するための専用のアプリケーションのことであり、具体的にはWSDA(Windows Store Device App)等が挙げられる。WSDAは、V4プリンタードライバーがインストールされると、ストアアプリに対応付けられたWSDAが自動でインストールされる。
【0016】
キーボード108やマウス・タッチパネルなどに代表されるポインティングデバイス109などの入力機器は、入力I/F103を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニター110などの出力機器に対してデータを出力する。プリンター200とは、通信I/F106を通じて接続されるネットワーク300を介して接続されている。またシステムバス107は共通データシステムバスで、クライアントコンピュータ100を構成するハードウェアモジュール間でそれぞれのデータのやりとりに使われる。
【0017】
図2はプリンター200のソフトウェア構成を示すブロック図である。プリンター200のOSは機能として、OS標準印刷機能10531、プリントマネージャ218、標準印刷通信部219、OS標準UI管理部10532、印刷時起動アプリランチャー10533を有する。OS標準印刷機能10531は、XPS(XML Paper Specification)形式のスプールデータで、印刷処理が実行されるまでの印刷データを一時的に保持し、印刷を行う機能である。
【0018】
GDItoXPS変換モジュール207は、GDIで描画されたデータをOS標準印刷機能10531で保持されるXPS形式のスプールデータへ変換する機能である。GDIとはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントである。
【0019】
OS標準印刷機能10531は、アプリケーションからの印刷指示により作成されたXPS形式のスプールデータをPDLデータに変換し、プリンター200に出力する機能である。今回は、標準のページ記述言語としてPDLを例に挙げたが、モバイル印刷の標準規格であるMopriaで採用されているPDF(Portable DocumentFormat)やPWG―Raster等でもよく、形態は問わない。
【0020】
標準印刷通信部219は、プリンター200にアクセスするプリントマネージャ218とOS標準印刷機能10531に対する通信を制御することができ、OS標準印刷機能10531は標準印刷通信部219を経由して印刷処理を行う。また、プリントマネージャ218は標準印刷通信部219を通して、プリンター200と通信し、対応機能の情報や設置値情報の取得を行う。標準印刷通信部219は、IPP(Internet Printing Protocol)等の標準的な通信プロトコルを用いてプリンター200と通信を行う。標準的な通信プロトコルを用いることで異なる複数のプリンターと通信を可能にしている。
【0021】
デスクトップアプリ201とUWPアプリ202は、補助記憶装置105にアプリ1051として格納されているアプリケーションである。UWPアプリ202とは、Windows10で導入されたUWP(Universal Windows Platform)上で操作するアプリケーションであり、ストアアプリに対して動作環境が拡充する。以降の実施例は、UWPアプリ202を例に説明するがUWPアプリ202をストアアプリに置き換えることで実現することも可能である。
【0022】
ユーザーはキーボード108やタッチパネル/マウスなどに代表されるポインティングデバイス109などといった入力装置を使用して、出力装置のモニター110に映し出されたデスクトップアプリ201、またはUWPアプリ202からの印刷処理を実行する。
【0023】
<印刷処理>
ここで印刷処理について
図2を用いて説明する。印刷処理は主に、プリンターの選択、印刷設定の作成、描画データの変換の3つの処理を順番に行うことで実行される。
【0024】
まず、印刷したいプリンター200の選択を行う。ここでの選択処理により、プリンター200に対応するOS標準印刷機能10531が選択されることになる。プリンター200(OS標準印刷機能10531)を選択するためにはプリントキューが用いられる。ユーザーは印刷を実行する前にプリンターの機器情報や既定の印刷設定を管理する単位であるプリントキューを生成する。生成したプリンターキューをユーザーが選択することで、そのプリンターキューに紐づいたOS標準印刷機能10531が選択される。
【0025】
アプリ1051はデスクトップアプリ201とUWPアプリを含み、印刷設定データ用のメモリ領域をRAM1022上に確保する。アプリ1051は標準印刷設定管理部208からPrintCapabilities250を取得し、取得したPrintCapabilities250に基づいて印刷設定データを作成する。作成された印刷設定データはRAM1022に格納される。PrintCapabilities250とは、OS標準印刷機能10531で設定可能な印刷機能と選択項目の一覧を、OSが定義する書式に基づきXML形式で記載されたデータであり、標準印刷設定管理部208で生成される。
【0026】
OS標準UI管理部10532とデバイスアプリ1052は、PrintCapabilities250に基づき、印刷設定UIを提供する。デスクトップアプリ201は印刷設定データとしてバイナリのDEVMODE203を用い、UWPアプリ202はマークアップ言語のXML形式で記載されたプリントチケット204を用いる。DEVMODE203とはOSが提供する構造体であり、デスクトップアプリ201が印刷に使用可能な形式で印刷設定データ等のファイルを格納する。印刷設定データにはOS標準印刷機能10531が対応する機能が含まれており、標準印刷設定管理部208は、対応する機能を定義した標準印刷機能定義ファイル209を利用して、印刷設定データを作成する。
【0027】
これらの印刷設定データは、標準印刷設定管理部208やデバイスアプリ1052が提供するUWPアプリ用の印刷設定UIである拡張印刷設定部10522で設定される。OS標準印刷機能10531は、拡張印刷設定部10522での設定内容に従い、DEVMODE203もしくはプリントチケット204に対応した設定を変更する。プリントチケット204の場合、印刷設定がXML形式で記述されているので、UWPアプリ202がすべての設定値を直接書き換えることは可能だが、デバイスアプリ1052のUIである拡張印刷設定部10522を使って書き換える形態でもよい。
【0028】
印刷設定が確定したら、ユーザーはアプリケーションから印刷処理を実行する。デスクトップアプリ201から印刷処理を実行する場合は、GDItoXPS変換モジュール207に描画データが送信され、XPSスプールファイル206が作成される。このときGDItoXPS変換モジュール207は標準印刷設定管理部208から取得した印刷設定を、DEVMODE203からプリントチケット204に変換する。
【0029】
一方、UWPアプリ202から印刷処理を実行する場合は、XPSファイルをUWPアプリ自身が生成する、もしくは、OS1053(
図1(B))がUWPアプリからの描画命令に応じてXPSファイルを生成する。どちらの場合であっても、印刷処理の途中でXPSスプールファイル206は生成される。
【0030】
デスクトップアプリ201又はUWPアプリ202からの印刷の指示によりXPSスプールファイル206が生成された後、標準印刷処理部212はXPSスプールファイル206をレンダリングしてPDLデータに変換する。PDLデータは印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンター200が印刷できる状態になったら、キューに登録された順に標準印刷通信部219を通して印刷ジョブをプリンター200に送信する。
【0031】
標準印刷処理部212は、XPSスプールファイル206に含まれるプリントチケット204で指定された設定内容を、標準印刷通信部219に送信する。受信した設定内容を標準印刷通信部219が標準の通信プロトコルを通してプリンター200に伝達することで、標準印刷設定管理部208やデバイスアプリ1052が有する印刷設定情報が印刷処理に反映される。ここでの印刷設定情報は、印刷設定UIでユーザー操作により選択された印刷設定情報である。
【0032】
デバイスアプリ1052は、拡張印刷設定部10522、印刷時起動アプリ部10521、タイルアプリ部10523、デバイスアプリ通信部10524を含み、プリンター200の機能を拡張するためのアプリケーションである。印刷時起動アプリ部10521は、印刷時に印刷時起動アプリランチャー10533から呼び出された際に、印刷プレビューなどをUIに表示する機能や、XPSスプールファイル206の編集する機能などを有し、プリンター200の印刷処理機能の拡張を実現することができる。
【0033】
タイルアプリ部10523は、印刷処理とは別にOSのスタートメニューなどのアプリケーション一覧から起動されるアプリケーションの機能であり、プリンター200の管理画面やプリンター200のサポート情報のWebサイトへ誘導する機能などでもある。
【0034】
デバイスアプリ通信部10524は、デバイスアプリ1052の各モジュールがプリンター200と通信するための機能である。以上が印刷処理を実行した際の各モジュールの動作である。
【0035】
<プリンター200のハードウェア構成>
図3は、プリンター200のハードウェア構成を示した図である。CPU1101は、ROM1103あるいは外部メモリ1110に記憶された制御プログラム等に基づいてシステムバス1104に接続される印刷部I/F1106を介して印刷部(プリンタエンジン)1108に出力情報としての画像信号を出力する。
【0036】
ネットワークI/F1105は、Wifi、Ethernet(登録商標)などのネットワーク通信を行う。CPU1101はネットワークI/F1105を介してクライアントコンピュータ100との通信処理が可能となっており、プリンター200の情報等をクライアントコンピュータ100に通知可能に構成されている。RAM1102はCPU1101の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。操作部1109は操作パネルで操作のためのスイッチおよびLED表示器等が配されている。外部メモリ1110は、操作部1109等で設定されたプリンター200が管理する各種設定値情報等を記憶する。
【0037】
<プリンター200のソフトウェア構成>
図4は、プリンター200が有する機能を示したブロック図である。データ通信部2001はクライアントコンピュータ100から印刷ジョブや各種リクエストを受信し、所定の処理を実行した上でクライアントコンピュータ100に対して応答する。印刷ジョブ管理部2002は、データ通信部2001が受信した印刷ジョブを外部メモリ1110に一時的に保持して、順次印刷部2003を介して印刷処理の実行を指示する。印刷部2003は、印刷ジョブ管理部2002から指示に従い、印刷ジョブの設定内容に応じて、印刷処理を実行する。プリセット管理部2004は、プリセットDB2005に保存されたプリセットと呼ばれる複数の印刷設定情報の組み合わせであるプリセット一覧情報を管理する。
【0038】
プリセット一覧情報1700の一例を
図17に示す。プリセット一覧情報は、プリセット名称17001、プリセットID1702、印刷設定情報1703、印刷設定情報1703、印刷時起動アプリ起動設定1705を含む。印刷時起動アプリ起動設定1705は、印刷時に印刷時起動アプリ部10521を起動するか否かのフラグである。
【0039】
プリセットID1702はプリセットを一意に識別する識別情報である。印刷設定情報1703は、OS標準印刷機能10531が対応していないプリンター200の拡張機能である印刷設定情報を含む。
図17に示したプリセット一覧情報1700は、両面印刷、カラーモード、ステイプル、ボックス印刷、製本印刷、中綴じ、トナー節約である。
【0040】
例えば、プリセット1704は、プリセット名称「ボックス印刷・10番」、プリセットID「4CF97CE2-8F47-49FE-BFE5-A021EAD1AF8D」が割り当てられている。また、プリセット1704の印刷設定には、両面印刷「ON」、ボックス印刷「ON」が指定されている。プリセット1704が指定されると、データ通信部2001で受信された印刷ジョブは、直ちに実行されず、ボックスと呼ばれる外部メモリ1110の領域に保存される。ボックスは番号別に保存領域が管理されており、プリセット1704の場合はボックス番号10番が指定されている。ボックスに保存された印刷ジョブは、プリンター200の操作部1109を介して、
図18に示すような画面1800上に表示される。画面1800はボックス番号領域1801と、ボックス番号領域1801で選択されたボックスに格納された文書一覧1802、印刷ボタン1804を含む。ユーザーは画面1800上で印刷時に指定したボックス番号である「10」をボックス番号領域1801で選択する。ボックス番号が選択されると、選択されたボックス番号に保存された文書一覧1802が表示される。さらにユーザーは文書1803を選択した状態で印刷ボタン1804を押下すると、文書1803が印刷部1108を介して印刷される。
【0041】
図4の説明に戻る。拡張機能許可設定2007は、管理者がプリンター200の拡張機能の利用を許可するか否かの設定を保持する。UI部2006は、拡張機能許可設定2007の設定やプリセットDBの設定を変更するためのUIを提供する。以上が、プリンター200が有する機能である。
【0042】
<プリセットの登録処理>
プリンター200のプリセットDB2005で管理されるプリセットの登録処理について説明する。本実施例においては、デバイスアプリ1052に含まれるタイルアプリ部10523が提供するUIを介して登録する例を説明する。登録する形態はこれに限られるものではなく、予めプリンター200にプリセットが登録されれば、どのような形態でもよい。例えば、プリンター200のUI部2006が提供するUIを介してプリセットを登録する形態でもよい。
【0043】
図15(A)は、クライアントコンピュータ100のタイルアプリ部10523が起動した際に表示される画面1501の例である。画面1501にはデバイスアプリ1052に紐づいたプリンターの一覧が表示されるプリンター一覧1502が表示される。プリンター200に紐づいたアイコン1503が選択されると、
図15(B)に示す画面1505に遷移する。
図15(B)は、プリンター200に関連する様々な機能へのリンクが表示された画面である。画面1505には、サポート情報ボタン1506、リモートUIボタン1507、プリセット登録ボタン1508が表示される。サポート情報ボタン1506が押下されると、プリンター200のサポート情報のWebサイト画面に遷移する。リモートUIボタン1507が押下されるとプリンター200がWebブラウザを介して提供する管理画面に遷移する。プリセット登録ボタン1508が押下されると、
図15(C)に示す画面1520に遷移する。
【0044】
画面1520は、登録済みプリセット一覧1521、プリセット登録ボタン1522、登録プリセット名称1523、プリセット印刷設定情報領域1524、閉じるボタン1525を含む。
【0045】
登録プリセット名称1523では、登録するプリセットの名称を指定できる。登録済みプリセット一覧1521には、プリンター200のプリセットDB2005に保存されているプリセットの名称の一覧が表示される。印刷設定情報領域1524には、OS標準印刷機能10531で対応していないプリンター200の拡張機能の設定を含む印刷設定項目が表示される。ユーザーは印刷設定情報領域1524で所望の印刷設定を指定した後、プリセット登録ボタン1522を押下する。プリセット登録ボタン1522が押下されると、タイルアプリ部10523がデバイスアプリ通信部10524を介して、プリンター200にプリセット登録要求を送信する。その際、登録プリセット名称1523とプリセット印刷設定情報領域1524で指定された設定値情報がプリンター200に送信される。プリンター200のデータ通信部2001はプリセット登録要求を受信すると、プリセット管理部2004を介して、指定されたプリセット名称と印刷設定情報を新たに生成したユニークなプリセットIDとともにプリセットDB2005に登録する。プリセットDB2005に登録されたプリセットの一覧は、
図17に示した通りである。
【0046】
以上の処理により、ユーザーはクライアントコンピュータ100を介して、あらかじめ好みの設定を反映したプリセットをプリンター200に登録することができる。
【0047】
<モダンプリントダイアログを表示する形態>
クラスドライバーを使用する環境下で、プリンター200の拡張機能を使用する形態について説明する。本実施例では、OS1053のOS標準UI管理部10532が提供する設定画面(モダンプリントダイアログ)において、プリセットの一覧を表示される提示する形態を例に説明する。
【0048】
図11(A)は描画アプリケーションであるUWPアプリ202の印刷設定画面例である。
図11(A)には文書と図面を含むドキュメントが表示されており、印刷処理の対象である。
図5のフローチャートを用いて、UWPアプリ202が提供する画面1130上で印刷指示が実行された場合の処理を説明する。本実施例で説明される処理は、ユーザー操作をうけて補助記憶装置105に記録されたプログラムをRAM1022にロードし、CPU101で実行することによって実現される。
【0049】
画面1130上でモダンプリントダイアログの表示が指示される(S501)と、UWPアプリ202がOS1053に対して、モダンプリントダイアログの表示指示を送信する(S502)。OS1053が表示指示を受信すると、OS標準UI管理部10532がOS標準印刷機能10531に、PrintCapabilitiesの取得を要求する(S503)。その結果、OS標準印刷機能10531においてPrintCapabilitiesの取得処理が実行される(S504)。PrintCapabilitiesの取得処理については後述する。
【0050】
OS標準UI管理部10532は、OS標準印刷機能10531からPrintCapabilitiesを取得する(S505)。PrintCapabilitiesを受信したOS標準UI管理部10532は、モダンプリントダイアログを表示する(S506)。モダンプリントダイアログ1150の一例を
図11(B)に示す。モダンプリントダイアログ1150は、OS1053で利用可能なプリンターが選択可能なプリンター選択コントロール1151を持ち、
図11(B)ではプリンター200が選択された状態である。その他に、印刷結果を画面上で確認できる印刷プレビュー領域1152とOS標準印刷機能10531で対応する印刷設定をユーザーが選択可能な印刷設定領域1153を有する。
【0051】
モダンプリントダイアログ1150の表示後、S504で取得したPrintCapabilitiesにpsk:JobPreset(プリセット)が含まれるかどうかをOS標準印刷機能10531が判定する(S507)。
図16にPrintCapabilitiesの一例を示す。各定義の冒頭に記載された“psk:”は名前空間を表し、他の名前空間の定義と区別を付けるためのものである。
図16より、“psk:JobPreset”が含まれていることがわかるので、S508の処理に進む。
【0052】
psk:JobPresetが含まれると判断された場合、
図11(C)に示すように、OS標準UI管理部10532がプリセット設定コントロール1155をモダンプリントダイアログ1150上に表示する(S508)。プリセット設定コントロール1155には、PrintCapabilities1600(
図16)のpsk:JobPresetに含まれる各Optionのpsk:PresetNameのプロパティの文字列が列挙される。そのため、ユーザーはモダンプリントダイアログ上でプリンター200に登録したプリセット名称の一覧を確認して選択することが可能となる。一方、S505にてpsk:JobPresetが含まれないと判断された場合は、プリセット設定コントロール1155を表示することなくS509に進む。
【0053】
モダンプリントダイアログ1150上でプリセットを含む印刷設定が確定された後、ユーザーからの印刷ボタン1154の押下指示をOS標準UI管理部10532が受け付ける(S509)。印刷ボタン1154が押下された後、OS標準UI管理部10532がモダンプリントダイアログ1150で設定された印刷設定に基づいて、プリントチケットを生成する(S510)。
図16(B)のプリントチケット1610は、S508で生成されたプリントチケットの例である。モダンプリントダイアログ1150で選択された印刷の向き「縦」が反映されて、プリントチケット1610のFeature1611には、印刷の向きがポートレート(縦向き)であることを示す設定値「psk:Portrait」が設定されている。また、モダンプリントダイアログ1150で選択されたプリセットの設定内容が反映されて、プリントチケット1610のFeature1612には「ns0000:Preset01」が指定されている。プリントチケット1610には
図16(B)で例示した設定値情報以外にも、OS標準印刷機能10531で対応している機能の設定値情報を含めることは可能である。
【0054】
OS標準UI管理部10532は、プリントチケットを印刷要求とともにUWPアプリ202に返却する(S511)。UWPアプリ202はOS標準UI管理部10532から印刷要求とプリントチケットを取得し(S512)、印刷データを生成する(S513)。この印刷データはXPS形式であり、印刷設定情報を含むプリントチケットと、描画アプリケーションにより生成された描画データとを含む。
【0055】
印刷データが生成されると、UWPアプリ202がOS標準印刷機能10531に印刷実行を指示する(S514)。S514の印刷実行処理については後述する。以上が、モダンプリントダイアログの表示処理である。
【0056】
<PrintCapabilitiesの取得処理>
図6(A)を用いて、OS標準印刷機能10531がプリンター200からPrintCapabilitiesを取得する取得処理について説明する。本実施例で説明されるプリンター200に係る処理は、外部メモリ1110に記録されたプログラムをRAM1102にロードし、CPU1101で実行することによって実現される。
【0057】
まず、OS標準印刷機能10531の標準印刷設定管理部208はPrintCapabilities取得要求を受信し(S520)、標準印刷通信部219を介してプリンター200にプリセット一覧の要求指示を送信する(S521)。
【0058】
プリンター200のデータ通信部2001はプリセット取得要求を受信する(S522)。プリセット取得要求を受信すると、プリセット管理部2004は拡張機能許可設定2007(
図17)を取得する(S523)。プリセット管理部2004は拡張機能許可設定2007の設定値に基づいて、拡張機能の使用が許可されているかどうかを判定する(S524)。許可されていると判定された場合、プリセット管理部2004は、プリセットDB2005に格納されているプリセット一覧情報1700を取得する(S525)。プリセット管理部2004はデータ通信部2001を介して、取得したプリセット一覧情報1700をOS標準印刷機能10531に返却する(S526)。一方、S524にて、拡張機能が許可されていないと判定された場合には、プリセット管理部2004がプリセット一覧情報を空の状態でOS標準印刷機能10531に返却する(S527)。
【0059】
OS標準印刷機能10531の標準印刷設定管理部208がプリセット一覧情報を取得する(S528)。標準印刷設定管理部208は、OS標準印刷機能10531で対応している機能に、S528で取得したプリセット一覧情報を付加して、PrintCapabilitiesを生成する(S529)。
図16(A)はS529で生成されたPrintCapabilitiesの例である。PrintCapabilities1600には、OS標準印刷機能10531で対応する機能と各機能の設定可能な項目の一覧がXML形式で定義される。Feature1601には、OS標準印刷機能10531で対応する印刷の向き設定の定義が記載されており、設定項目としてpsk:Portratitとpsk:Landscape(横長)が定義されている。PrintCapabilities1600には
図16(A)で例示した設定値情報以外にも、OS標準印刷機能10531で対応している機能の設定値情報を含めることは可能である。
【0060】
また、PrintCapabilities1600には、プリンター200のプリセットDB2005に登録されたプリセット一覧の定義であるFeature1602(psk:JobPeset)が含まれる。さらにFeature1602には、プリセットの設定を使用しない場合の設定値「psk:None」(Option1603)と、設定されたプリセット「ns0001:Preset01」(Option1604)が含まれる。Option1604は
図17のプリセット1704に対応し、プリセット名称(psk:PresetName)には、プリセット1704のプリセット名称「ボックス印刷・10番」が格納されている。さらに、プリセットID(psk:PresetID)には、プリセット1704のプリセットID「4CF97CE2-8F47-49FE-BFE5-A021EAD1AF8D」が格納されている。
【0061】
S527でプリンター200がプリセット一覧を空で返却された場合は、PrintCapabilities1600に「psk:JobPeset」を含めないようする。その結果、ユーザーはプリセットを使用することができない。
【0062】
S529でPrintCapabilitiesが生成されると、標準印刷設定管理部208は要求元であるクライアントコンピュータ100にPrintCapabilitiesを返却する(S530)。以上が、プリンター200からPrintCapabilitiesを取得する取得処理である。
【0063】
<OS標準印刷機能の印刷実行処理>
図6(B)のフローチャートを用いて、プリンター200における印刷実行処理について説明する。本フローは、
図6(A)によりOS標準印刷機能10531が取得したPrintCapabilitiesに基づいて印刷設定UIが表示され、印刷設定UIに対するユーザー操作によりOS標準印刷機能10531が印刷要求を受信したことをきっかけに実行される。
【0064】
OS標準印刷機能10531の標準印刷処理部212はUWPアプリ202からの印刷要求を印刷データとともに受信する(S551)。標準印刷処理部212は受信した印刷データに含まれるXPSの描画データをPDLデータに変換する(S552)。標準印刷処理部212は印刷データに含まれるプリントチケットの印刷設定情報とS552で生成されたPDLデータを元に、印刷ジョブを生成する(S553)。
【0065】
標準印刷処理部212は、プリントチケットにpsk:JobPresetが含まれるかを判定する(S554)。psk:JobPresetが含まれると判断された場合、標準印刷処理部212はpsk:JobPresetにpsk:Noneが指定されているかを判定する(S555)。psk:Noneが指定されていないと判断された場合は、標準印刷処理部212は印刷ジョブに対して、プリントチケットに指定されたプリセットIDを設定する(S556)。本実施例においては、
図16(B)のプリントチケットのFeature1612に含まれるプリセットID「4CF97CE2-8F47-49FE-BFE5-A021EAD1AF8D」が指定されるものとする。
【0066】
標準印刷処理部212は印刷ジョブを、標準印刷通信部219を介してプリンター200に送信する(S557)。
【0067】
プリントチケットにpsk:JobPresetが含まれないと判断された場合(S554-NO)、またはpsk:JobPresetにpsk:Noneが指定されていると判断された場合(S555-YES)、印刷ジョブにプリセットIDを設定することなくS557の処理に進む。
【0068】
プリンター200のデータ通信部2001は印刷ジョブを受信する(S558)。印刷ジョブ管理部2002が印刷ジョブにプリセットIDが含まれるかを判定する(S559)。プリセットIDが含まれると判断された場合、印刷ジョブ管理部2002はプリセット管理部2004を介してプリセットDB2005に登録されたプリセット一覧情報1700を取得する(S560)。印刷ジョブ管理部2002は、取得したプリセットIDがプリセット一覧情報1700に登録済みかを判定する(S561)。登録済みであると判断された場合は、印刷ジョブ管理部2002はプリセット一覧情報1700を用いて、取得したプリセットIDに紐づいた印刷設定情報1703を取得する(S562)。印刷ジョブ管理部2002は、印刷設定情報に基づいて印刷部2003に対し印刷実行を指示する(S563)。
【0069】
印刷ジョブにプリセットIDが含まれないと判断された場合(S559-NO)、または取得したプリセットIDがプリセット一覧情報に登録済みでないと判断された場合(S561-NO)、プリセットの設定内容を反映することなく、印刷ジョブ管理部2002は印刷部2003に対して印刷実行を指示する(S564)。以上が印刷実行処理である。
【0070】
以上のような処理により、ユーザーはモダンプリントダイアログに表示されたプリセットを指定することで、OS標準印刷機能10531で対応していない拡張機能を用いてプリンター200に印刷処理を実行させることができる。
【0071】
[実施例2]
本実施例では、UWPアプリの印刷設定UIを用いた、プリセット一覧を表示する別の形態を例に説明する。
【0072】
図12(A)は描画アプリケーションであるUWPアプリ202が表示するモダンプリントダイアログ1200の印刷設定画面例である。ここまでは、実施例1で示した
図11(B)と同じである。モダンプリントダイアログ1200はUWPアプリ用の印刷設定UIを表示するためのその他の設定ボタン1201を有する。その他の設定ボタン1201が押下されることで、OS標準UI管理部10532が提供するUI(
図12(B))、または拡張印刷設定部10522のUI(
図12(C))が表示される。
図12(B)または(C)に示される画面にプリセット一覧(1211、1221)を表示する形態が本実施例である。
【0073】
図7を用いて、モダンプリントダイアログ1200上でその他の設定ボタン1201が押下された場合の処理を説明する。本実施例で説明される処理は、ユーザーの指示をうけて補助記憶装置105に記録されたプログラムをRAM1022にロードし、CPU101で実行することによって実現される。なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【0074】
UWPアプリ202がその他の設定ボタン1201の押下を受け付ける(S701)と、UWPアプリ202はUWPアプリ用印刷設定UIの表示をOS標準UI管理部10532に要求する(S702)。
【0075】
OS標準UI管理部10532はUWPアプリ用印刷設定UIの表示要求を受信する(S703)と、クライアントコンピュータ100にベンダー提供のデバイスアプリ1052がインストールされているかを判定する(S704)。デバイスアプリ1052がインストールされていると判定された場合、OS標準UI管理部10532は、デバイスアプリ1052の拡張印刷設定部10522にUWPアプリ用印刷設定UIの表示を要求する(S705)。
【0076】
拡張印刷設定部10522はUWPアプリ用印刷設定UIの表示要求を受信する(S706)と、デバイスアプリ1052がOS標準印刷機能10531に関連づいているかを判定する(S707)。S707の処理は具体的に、デバイスアプリ1052がベンダーの提供するプリンタードライバー(不図示)に関連付けられている場合に、デバイスアプリ1052はOS標準印刷機能10531に関連づいていないと判断される。S707でOS標準印刷機能10531に関連づいていると判断された場合、拡張印刷設定部10522がOS標準印刷機能10531に、PrintCapabilitiesの取得処理を要求する(S708)。S708では、上記で説明済みの
図6(A)の処理が実行される。
【0077】
拡張印刷設定部10522がOS標準印刷機能10531からPrintCapabilitiesを取得する(S709)と、拡張印刷設定部10522はPrintCapabilitiesにpsk:JobPresetが含まれるかどうかを判定する(S710)。S710にて、psk:JobPresetが含まれると判定された場合、拡張印刷設定部10522が
図12(C)に示すようなUWPアプリ用印刷設定UI1220を表示する(S711)。S711では、拡張印刷設定部10522が
図12(C)に示すプリセット設定コントロール1221を付加して表示する。プリセット設定コントロール1221には、PrintCapabilities1600内のpsk:JobPresetに含まれる各Optionのpsk:PresetNameのプロパティの文字列が列挙される。
【0078】
一方、S710にてpsk:JobPresetが含まれないと判断された場合には、プリセット設定コントロール1221を非表示状態にして、拡張印刷設定部10522がUWPアプリ用印刷設定UI1220を表示する(S712)。
【0079】
S707でOS標準印刷機能10531に関連づいていないと判断された場合、つまり、デバイスアプリ1052がベンダーの提供するプリンタードライバーに関連付いていると判断された場合、拡張印刷設定部10522はベンダーが提供するプリンタードライバー向けのUWPアプリ用印刷設定UIが表示される(S713)。
【0080】
S711~713で表示された各印刷設定UIにおいて、ユーザーからのOKボタン1222の押下指示を拡張印刷設定部10522が受信する(S714)。OKボタン1222が押下された後、拡張印刷設定部10522がUWPアプリ用印刷設定UI1220上に設定された内容を反映したプリントチケットを生成する(S715)。拡張印刷設定部10522は、生成したプリントチケットをUWPアプリ202に送信する(S716)。
【0081】
ベンダー提供のデバイスアプリ1052がインストールされていないと判断された場合(S704-NO)、OS標準UI管理部10532はOS標準印刷機能10531に対して、PrintCapabilitiesの取得を要求する(S717)。S717では、上記で説明済みのPrintCapabilities取得処理(
図6(A))が実行される。
【0082】
OS標準UI管理部10532がPrintCapabilitiesを取得する(S718)と、PrintCapabilitiesにpsk:JobPresetが含まれるかどうかをOS標準UI管理部10532が判定する(S719)。psk:JobPresetが含まれると判定された場合、OS標準UI管理部10532が
図12(B)に示すようなOS提供のUWPアプリ用印刷設定UI1210を表示する(S720)。S720では、OS標準UI管理部10532が
図12(B)に示すプリセット設定コントロール1211を付加して表示する。プリセット設定コントロール1211には、PrintCapabilities1600内のpsk:JobPresetに含まれる各Optionのpsk:PresetNameのプロパティの文字列が列挙される。
【0083】
S719において、PrintCapabilitiesにpsk:JobPresetが含まれないと判断された場合、OS標準UI管理部10532は、プリセット設定コントロール1211を非表示状態でUWPアプリ用印刷設定UI1210を表示する(S721)。
【0084】
UWPアプリ用印刷設定UI1210上でプリセットを含む印刷設定が、OKボタン1212の押下操作によって確定する(S722)と、OS標準UI管理部10532はUWPアプリ用印刷設定UI1210上に設定された内容を反映したプリントチケットを生成する(S723)。その際、プリントチケットに記載されたpsk:JobPresetには、プリセット設定コントロール1211の設定値が反映される。OS標準UI管理部10532は、生成したプリントチケットをUWPアプリ202に返却する(S724)。
【0085】
UWPアプリ用印刷設定UI1210、またはUWPアプリ用印刷設定UI1220における設定内容が反映されたプリントチケットを、UWPアプリ202が取得する(S725)。モダンプリントダイアログ1200上でユーザーからの印刷ボタン1202の押下指示をUWPアプリ202が受信する(S726)と、UWPアプリ202は印刷データを生成する(S727)。S727で生成された印刷データには、S725で取得したプリントチケットを含む。印刷データが生成されると、UWPアプリ202は上記で説明済みの印刷実行処理(
図6(B))を行う(S513)。
【0086】
以上が、モダンプリントダイアログ1200上でその他の設定ボタン1201が押下された場合の処理である。本実施例により、その他の設定ボタン1201が押下されたことで表示されるUI(1210、または1220)上でユーザーがプリセットを指定することで、OS標準印刷機能10531で対応していない拡張機能を用いてプリンター200に印刷処理を実行させることができる。
【0087】
[実施例3]
本実施例では、OS標準印刷機能10531が提供する印刷設定UI上でプリセットの一覧を表示する形態を説明する。
【0088】
図13(A)は描画アプリケーションであるデスクトップアプリ201に表示される印刷設定UIの一例である。プリセットのタブ(1301)が選択されると、プリセット一覧が表示された画面が表示される。
図13(B)にプリセット一覧を表示する形態が本実施例である。
【0089】
図8を用いて、デスクトップアプリ201が提供する画面1135上でデスクトップアプリ用印刷設定UIの表示が指示された場合の処理を説明する。本処理は、ユーザーの指示をうけて補助記憶装置105に記録されたプログラムをRAM1022にロードし、CPU101で実行することによって実現される。なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【0090】
まず、デスクトップアプリ201が提供する画面1135上で詳細設定表示の指示をデスクトップアプリ201が受信する(S801)。デスクトップアプリ201は、標準印刷設定管理部208に、印刷設定UIの表示を要求する(S802)。
【0091】
標準印刷設定管理部208が印刷設定UIの表示要求を受信する(S803)と、S521~S528によりプリセット一覧を取得した後、標準印刷設定管理部208は
図13(A)に示すようなデスクトップアプリ用印刷設定UI1300を表示する(S804)。デスクトップアプリ用印刷設定UI1300には、OS標準印刷機能10531で対応する設定項目が表示される。また、
図13(A)にはプリセットタブ1301が表示されているが、S524の判定によって拡張機能の使用が許可されなかった場合に、プリセットタブを表示しない形態も考えられる。
【0092】
標準印刷設定管理部208がS528で取得したプリセット一覧情報を判定し、プリンター200にプリセットが登録されているか否かを判断する(S805)。プリセットが登録されていると判断された場合、標準印刷設定管理部208は取得したプリセット一覧情報をプリセットタブ1301(
図13(B))に表示する(S806)。プリセット設定コントロール1305には、プリセット一覧情報の各プリセットの名称が列挙される。S805の判定によって、取得したプリセット一覧が空である、または登録されていないプリセットであると判定された場合は、プリセットタブ1301にプリセット設定コントロール1305が表示されることなくS807の処理に進む。
【0093】
デスクトップアプリ用印刷設定UI1300において、OKボタン1302が押下されたことにより印刷設定が確定すると(S807)、標準印刷設定管理部208は印刷設定内容を反映したプリントチケットを生成する(S808)。生成されるプリントチケットの一例を
図16(B)に示す。プリントチケットのpsk:JobPresetには、プリセット設定コントロール1305の設定値が反映される。標準印刷設定管理部208はプリントチケットをDEVMODEに変換した後、デスクトップアプリ201に返却する(S809)。
【0094】
デスクトップアプリ201はデスクトップアプリ用印刷設定UI1300上に設定された内容が反映されたDEVMODEを取得する(S810)。続いて、画面11350上で印刷実行の指示をユーザーからデスクトップアプリ201が受信する(S811)。デスクトップアプリ201は、S810で取得した印刷設定情報であるDEVMODEを指定して、OS1053のモジュールであるGDIを介し、印刷を実行する(S812)。
【0095】
デスクトップアプリ201が印刷を実行すると、GDItoXPS変換モジュール207がデスクトップアプリ201から受信したGDIの描画データをXPSデータに変換する(S813)。その際、S812で指定されたDEVMODEはプリントチケットに変換され、標準印刷処理部212で処理可能な印刷データとなる。印刷データに変換されると、OS標準印刷機能10531が標準印刷処理部212に印刷実行を指示する(S814)。S814の印刷実行処理については、
図6(B)で説明済みである。以上が、OS標準印刷機能10531が提供する印刷設定UI上でプリセットの一覧を表示してから印刷実行処理が行われるまでの流れである。
【0096】
本実施例により、デスクトップアプリ201が表示する詳細設定表示を介してプリセットを指定することで、OS標準印刷機能10531で対応していない拡張機能を用いてプリンター200に印刷処理を実行させることができる。
【0097】
[実施例4]
本実施例は、デバイスアプリ1052に含まれる印刷時起動アプリ部が提供するUI上でプリセット一覧を提示する処理を例示する。本実施例においては、UWPアプリを介して印刷指示を受け付ける形態を例に説明するが、デスクトップアプリ201を介して印刷指示を受け付ける形態にも適用可能である。
【0098】
図9を用いて、UWPアプリ202から印刷が実行された場合の処理を説明する。本実施例で説明される処理は、ユーザーの指示をきっかけに補助記憶装置105に記録されたプログラムをRAM1022にロードし、CPU101で実行することによって実現される。なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【0099】
ユーザーからUWPアプリ202の画面上で印刷の実行指示をUWPアプリ202が受信する(S901)。UWPアプリ202からOS1053に対して、印刷実行を要求する(S902)。
【0100】
OS1053はUWPアプリ202からの印刷実行要求を受信する(S903)。印刷時起動アプリランチャー10533はOS1053からの指示より、印刷時起動アプリがクライアントコンピュータ100に存在するかを判定する(S904)。ここでの処理は具体的に、デバイスアプリ1052に印刷時起動アプリ部10521が存在するかで判定される。
【0101】
印刷時起動アプリが存在すると判断された場合は、印刷時起動アプリランチャー10533が印刷時起動アプリ部10521に起動を要求する(S905)。起動要求の際、印刷時起動アプリランチャー10533から印刷時起動アプリ部10521に対し、UWPアプリ202が生成したXPSデータとプリントチケットの印刷データが送信される。印刷時起動アプリ部10521が起動すると、印刷時起動アプリ部10521がOS標準印刷機能10531に、PrintCapabilitiesの取得を要求する(S906)。PrintCapabilitiesを取得する処理については、
図6(A)で説明した通りである。
【0102】
印刷時起動アプリ部10521がOS標準印刷機能10531からPrintCapabilitiesを取得する(S907)。印刷時起動アプリ部10521が
図14に示すような、印刷時起動アプリ設定UI1400を表示する(S908)。印刷時起動アプリ設定UI1400には、印刷時起動アプリ部10521が対応するページ集約機能やスタンプ印刷機能等の機能を設定する設定領域1401が含まれる。
【0103】
印刷時起動アプリ部10521がS907にて取得したPrintCapabilitiesにpsk:JobPresetが含まれるか否かを判定する(S909)。psk:JobPresetが含まれると判断された場合、
図14に示すようなプリセット設定コントロール1402が印刷時起動アプリ設定UI1400に表示される。プリセット設定コントロール1402には、psk:JobPresetに含まれる各Optionのpsk:PresetNameのプロパティの文字列が列挙される。PrintCapabilitiesにpsk:JobPresetが含まれないと判断された場合(S909-NO)、プリセット設定コントロール1402は印刷時起動アプリ設定UI1400上に表示されない。
【0104】
ユーザー操作により印刷時起動アプリ設定UI1400上で設定が確定すると、ユーザーから印刷ボタン1403もしくはキャンセルボタン1404の押下指示を印刷時起動アプリ部10521が受信する(S911)。印刷時起動アプリ部10521がS911にて押下されたボタンが印刷ボタン1403かを判定する(S912)。印刷ボタンが押下されたと判断された場合、印刷時起動アプリ部10521が印刷時起動アプリ設定UI1400上に設定された内容を反映したプリントチケットを生成し、印刷データを更新する(S913)。その際、プリントチケット内のpsk:JobPresetには、プリセット設定コントロール1402の設定値が反映される。印刷時起動アプリ部10521がS913にて更新された印刷データをOS1053に返却して、印刷実行を要求する(S914)。印刷時起動アプリランチャー10533は、印刷時起動アプリ部10521から印刷データとともに印刷実行要求を受信し(S915)、OS標準印刷機能10531に対して印刷実行を指示する(S916)。S916の印刷実行処理は、
図6(B)で説明した通りである。
【0105】
印刷ボタンが押下されなかった場合(S912-NO)、つまり、キャンセルボタン1404が押下されたと判断された場合は、印刷時起動アプリ部10521は印刷ジョブのキャンセルを実行する(S917)。その後、処理は印刷時起動アプリランチャー10533に戻るが、印刷実行処理は行われることなく、処理を終了する。
【0106】
以上が、印刷時起動アプリ部が提供するUI上でプリセット一覧を表示する形態である。
【0107】
[実施例5]
デバイスアプリ1052の印刷時起動アプリ部10521は、印刷時にOS1053から提供されるXPSスプールファイルを加工することで、複数のページを一つの用紙面に印刷する割り付け印刷や製本印刷などレイアウトを変更する機能やスタンプなどの画像データを追加する機能などを提供することが可能である。しかし、プリセットDB2005で管理されている設定値と、デバイスアプリ1052で管理される機能では管理主体が異なるため、例えばプリンター200の機能をモダンプリントダイアログ上でプリセットとして利用可能であっても、印刷時起動アプリ10521で実現する機能は別途デバイスアプリ(WSDA)の設定画面で設定する必要があり、操作が煩わしい。
【0108】
このような課題を鑑みて本実施例においては、印刷時起動アプリ10521で実現する機能をプリンセットDB2005で管理する方法および、印刷時起動アプリ10521でプリセットを登録する方法について説明する。ここでは、プリセット一覧情報1700に指定可能な機能のうち、印刷時起動アプリ10521は製本印刷の機能を有することを想定する。
【0109】
図10のフローチャートを用いて、UWPアプリ202から印刷が実行された場合の処理を説明する。本実施例で説明される処理は、ユーザー操作をきっかけに補助記憶装置105に記録されたプログラムをRAM1022にロードし、CPU101で実行することによって実現される。なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【0110】
S901~S905の処理により印刷時起動アプリ部10521が起動する。印刷時起動アプリ部10521は、S905で受信した印刷データからプリントチケットを取得する(S1001)。印刷時起動アプリ部10521はプリンター200からプリセット一覧情報1700を取得する(S1002)。取得したプリセット一覧情報1700の各プリセット情報は印刷時起動アプリ起動設定1705を含む。
【0111】
印刷時起動アプリ部10521がS1001にて取得したプリントチケットにpsk:JobPresetが含まれるか否かを判定する(S1003)。S1003にて、psk:JobPresetが含まれると判断された場合、印刷時起動アプリ部10521はS1002で取得したプリセット一覧情報から、プリントチケットに指定されたpsk:JobPresetのpsk:PresetIDに紐づいた設定内容を取得する(S1004)。印刷時起動アプリ部10521はS1004で取得した印刷時起動アプリ起動設定1705の値がONか否かを判断する(S1005)。S1005にてONであると判断された場合は、S908、S911~S917の処理を実行後、処理を終了する。
【0112】
一方、S1005にてONでないと判断された場合、印刷時起動アプリ部10521は、S1004で取得した設定のうち、印刷時起動アプリ部10521に関連する機能が有効であるか否かを判定する(S1006)。本実施例において、印刷時起動アプリ部10521に関連する機能は製本印刷であるとすると、印刷設定情報1703の製本印刷設定がONである場合、S1006にて印刷時起動アプリ部10521に関連する機能が有効であると判断される。S1006にて有効であると判断された場合は、印刷時起動アプリ部10521が有効になっている機能を適用して、印刷データを更新する(S1007)。本実施例では、印刷時起動アプリ部10521が印刷時起動アプリランチャー10533から渡される印刷データに製本印刷のレイアウト処理を施した後、S914~S916の処理を実行後、処理を終了する。
【0113】
一方、S1003にて、psk:JobPresetが含まれないと判断された場合は、印刷時起動アプリ部10521がS1002にて取得したプリセット一覧情報1700が、予め登録されたプリセットが存在するか否か判断する(S1008)。S1008にて、登録されたプリセットが存在すると判断された場合は、S914~S916の処理を実行後、処理を終了する。ここで、登録されたプリセットとは、後述の
図15の画面を介して登録されたプリセットのことである。
【0114】
S1008にて、登録されたプリセットが存在しないと判断された場合は、印刷時起動アプリ部10521が
図15(D)に示すようなプリセット登録画面1530を表示する(S1009)。プリセット登録画面1530は、登録済みプリセット一覧1521、プリセット登録ボタン1522、登録プリセット名称1523、プリセット印刷設定情報領域1524に加え、次回非表示チェックボックス1531、印刷ボタン1532、キャンセルボタン1533からなる。次回非表示チェックボックス1531のチェックが有効な上で、印刷ボタン1532を押下して印刷を実行した場合は、プリセットが未登録状態であっても、次回の印刷時に本プリセット登録画面1530は表示されない。ユーザーはプリセットを登録する場合、登録プリセット名称1523に登録するプリセット名称を指定し、プリセット印刷設定情報領域1524で所望の印刷設定を指定した後、プリセット登録ボタン1522を押下する。
【0115】
ユーザーから、プリセット登録ボタン1522、印刷ボタン1532、キャンセルボタン1533のいずれかのボタンの押下指示を印刷時起動アプリ部10521が受信する(S1010)。次に、印刷時起動アプリ部10521がS1009にて押下されたボタンが、プリセット登録ボタン1522であるか否かを判定する(S1011)。S1011にて、プリセット登録ボタン1522であると判断された場合は、印刷時起動アプリ部10521がデバイスアプリ通信部10524を介して、プリンター200にプリセット登録要求を送信する(S1012)。この際、登録プリセット名称1523およびプリセット印刷設定情報領域1524に指定された情報がプリンター200に送信される。プリンター200のデータ通信部2001がプリセット登録要求を受信すると、プリセット管理部2004を介して、指定されたプリセット名称と印刷設定情報を新たに生成したユニークなプリセットIDとともにプリセットDB2005に登録する。S1012の処理の後、S1010に戻り処理を続行する。
【0116】
一方、S1011にて、プリセット登録ボタン1522でないと判断された場合は、S911~S917の処理を実行後、処理を終了する。
【0117】
本実施例の処理により、デバイスアプリ1052が有する機能と、プリンター200においてプリセットとして管理されている機能とを用いて印刷データの生成、印刷実行処理を行うことができる。
【0118】
[その他の実施例]
本発明の目的は以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0119】
100 クライアントコンピュータ
200 プリンター
1051 アプリ
10531 OS標準印刷機能
1052 デバイスアプリ
【手続補正書】
【提出日】2024-10-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
印刷データを生成することができる印刷ソフトウェアであって、前記印刷データをIPPに従って送信することができる前記印刷ソフトウェアであり、情報処理装置のオペレーティングシステムが有する前記印刷ソフトウェアをサポートするアプリケーションプログラムであって、
前記情報処理装置に、
前記印刷ソフトウェアが対応していない少なくとも1つの設定値の指定を受け付ける工程と、
受け付けた前記設定値を含む複数の設定値の組の名前の入力をユーザから受け付ける工程と、
前記組を登録する指示を受け付ける工程と、
前記名前を選択可能に表示する工程と、
を含む処理を実行させるアプリケーションプログラム。
【請求項2】
前記名前の入力を受け付ける入力欄を表示させる、請求項1に記載のアプリケーションプログラム。
【請求項3】
前記処理は、
前記名前の選択を受け付けさせる工程と、
前記名前の選択が反映されたプリントチケットが生成される工程と、
をさらに含む請求項1または2に記載のアプリケーションプログラム。
【請求項4】
前記印刷データは、PDF形式のデータである請求項1から3のいずれか一項に記載のアプリケーションプログラム。
【請求項5】
前記印刷データは、XPS形式のデータをPDF形式に変換して生成される請求項1から4のいずれか一項に記載のアプリケーションプログラム。
【請求項6】
前記印刷ソフトウェアが対応していない少なくとも1つの設定値は、出力用紙サイズに関する設定値を含む、請求項1から5のいずれか一項に記載のアプリケーションプログラム。
【請求項7】
前記印刷ソフトウェアが対応していない少なくとも1つの設定値は、プリンターが受信した前記印刷データの印刷を直ちに実行されず、プリンターの操作部を介して前記印刷データの印刷を指示されたことに応じて前記印刷データの印刷を行わせる設定を含む、請求項1から5のいずれか一項に記載のアプリケーションプログラム。
【請求項8】
前記組及び前記名前の情報を出力させる請求項1から7のいずれか一項に記載のアプリケーションプログラム。
【請求項9】
前記組及び前記名前の情報はネットワークを介してプリンターに登録される請求項8に記載のアプリケーションプログラム。
【請求項10】
前記組は複数登録可能である、請求項1から9のいずれか一項に記載のアプリケーションプログラム。
【請求項11】
印刷データを生成することができる印刷ソフトウェアであって、前記印刷データをIPPに従って送信することができる前記印刷ソフトウェアであり、情報処理装置のオペレーティングシステムが有する前記印刷ソフトウェアをサポートするアプリケーションを実行することで実現される前記情報処理装置の制御方法であって、
前記情報処理装置に、
前記印刷ソフトウェアが対応していない少なくとも1つの設定値の指定を受け付ける工程と、
受け付けた前記設定値を含む複数の設定値の組の名前の入力をユーザから受け付ける工程と、
前記組を登録する指示を受け付ける工程と、
前記名前を選択可能に表示する工程と、
を含む処理を実行させることを特徴とする制御方法。
【請求項12】
前記名前の入力を受け付ける入力欄を表示させる、請求項11に記載の制御方法。
【請求項13】
前記名前の選択を受け付けさせる工程と、
前記名前の選択が反映されたプリントチケットが生成される工程と、
をさらに含む請求項11または12に記載の制御方法。
【請求項14】
前記印刷データは、PDF形式のデータである請求項11から13のいずれか一項に記載の制御方法。
【請求項15】
前記印刷データは、XPS形式のデータをPDF形式に変換して生成される請求項11から14のいずれか一項に記載の制御方法。
【請求項16】
前記印刷ソフトウェアが対応していない少なくとも1つの設定値は、出力用紙サイズに関する設定値を含む、請求項11から15のいずれか一項に記載の制御方法。
【請求項17】
前記印刷ソフトウェアが対応していない少なくとも1つの設定値は、プリンターが受信した前記印刷データの印刷を直ちに実行されず、プリンターの操作部を介して前記印刷データの印刷を指示されたことに応じて前記印刷データの印刷を行わせる設定を含む、請求項11から15のいずれか一項に記載の制御方法。
【請求項18】
前記組及び前記名前の情報を出力させる請求項11から17のいずれか一項に記載の制御方法。
【請求項19】
前記組及び前記名前の情報はネットワークを介してプリンターに登録される請求項18に記載の制御方法。
【請求項20】
前記組は複数登録可能である、請求項11から19のいずれか一項に記載の制御方法。
【請求項21】
情報処理装置であって、
印刷データを生成することができ、前記印刷データをIPPに従って送信することができ、情報処理装置のオペレーティングシステムが有する印刷ソフトウェアと、
前記印刷ソフトウェアをサポートするアプリケーションと、を有し、
前記アプリケーションを実行することで、
前記印刷ソフトウェアが対応していない少なくとも1つの設定値の指定を受け付ける工程と、
受け付けた前記設定値を含む複数の設定値の組の名前の入力をユーザから受け付ける工程と、
前記組を登録する指示を受け付ける工程と、
前記名前を選択可能に表示する工程と、
を含む処理を実行することを特徴とする情報処理装置。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
本発明は上記問題を鑑み、各種印刷装置が提供する拡張機能を利用できるようにするアプリケーションを提供することを目的とする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
印刷データを生成することができる印刷ソフトウェアであって、前記印刷データをIPPに従って送信することができる前記印刷ソフトウェアであり、情報処理装置のオペレーティングシステムが有する前記印刷ソフトウェアをサポートするアプリケーションプログラムであって、前記情報処理装置に、前記印刷ソフトウェアが対応していない少なくとも1つの設定値の指定を受け付ける工程と、受け付けた前記設定値を含む複数の設定値の組の名前の入力をユーザから受け付ける工程と、前記組を登録する指示を受け付ける工程と、前記名前を選択可能に表示する工程と、を含む処理を実行させる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
上記手段により、各種印刷装置が提供する拡張機能を利用できるようにするアプリケーションを提供することができる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正の内容】
【0017】
図2は
クライアントコンピュータ100のソフトウェア構成を示すブロック図である。
クライアントコンピュータ100のOSは機能として、OS標準印刷機能10531、プリントマネージャ218、標準印刷通信部219、OS標準UI管理部10532、印刷時起動アプリランチャー10533を有する。OS標準印刷機能10531は、XPS(XML Paper Specification)形式のスプールデータで、印刷処理が実行されるまでの印刷データを一時的に保持し、印刷を行う機能である。