(57)【要約】【課題】ＣＵＰＳをベースとするプリントアーキテクチャを有する情報処理装置において、登録可能な特殊ページの件数の上限を無くすことで、利便性を高める。【解決手段】印刷設定部１０４は、特殊ページ設定情報以外の印刷設定情報に識別子を追加し、スケジューラ部１０３を介してコマンドライン入力形式で印刷ジョブ生成部１０６に渡す。印刷設定部１０４は、特殊ページ設定情報及び識別子を含むデータファイルを生成し、スケジューラ部１０３を介して情報通信処理部１０５に渡す。情報通信処理部１０５は、データファイル中の識別子をファイル名とした特殊ページ設定情報をローカルストレージ１０９に保存する。印刷ジョブ生成部１０６は、渡された印刷設定情報中の識別子を用いて、ローカルストレージ１０９から特殊ページ設定情報を取得する。印刷ジョブ生成部１０６は、渡された印刷設定情報と、取得した特殊ページ設定情報から、印刷ジョブを生成する。【選択図】図１
2015001802.tif 000002
【特許請求の範囲】
【請求項１】
ＣＵＰＳをベースとするプリントアーキテクチャを有する情報処理装置であって、
印刷設定入力に基づいて、その印刷設定を示す印刷設定情報を生成する印刷設定情報生成手段と、
前記印刷設定情報に基づいて印刷ジョブを生成する印刷ジョブ生成手段と、
識別情報を生成する識別情報発行手段と、
前記印刷設定入力に前記印刷ジョブ生成手段が受取可能な最大データサイズを超える印刷設定情報が必要な所定の印刷設定が有るか否かを検知する印刷設定検知手段と、
前記識別情報発行手段で生成された識別情報、及び前記所定の印刷設定を示す所定の印刷設定情報を含むデータファイルを生成するデータファイル生成手段と、
前記データファイル中の所定の印刷設定情報を前記データファイル中の識別情報に対応付けて記憶媒体に保存するファイル保存手段と、
前記識別情報を前記印刷ジョブ生成手段に渡す識別情報伝達手段と、
を有し、
前記印刷ジョブ生成手段は、渡された識別情報を用いて前記記憶媒体上の所定の印刷設定情報を取得する、情報処理装置。
【請求項２】
請求項１に記載された情報処理装置において、
前記ファイル保存手段は、ＵＮＩＸ（登録商標）系ＯＳのセキュリティ要件を満たすキャッシュディレクトリに前記所定の印刷設定情報を保存する、情報処理装置。
【請求項３】
請求項１又は２に記載された情報処理装置において、
前記識別情報発行手段はＵＵＩＤを生成する、情報処理装置。
【請求項４】
請求項１〜３のいずれかに記載された情報処理装置において、
前記印刷ジョブ生成手段が前記所定の印刷設定情報を取得したとき、その印刷設定情報を前記記憶媒体から削除する手段を有する、情報処理装置。
【請求項５】
請求項１〜４のいずれかに記載された情報処理装置において、
前記所定の印刷設定は特殊ページの設定である、情報処理装置。
【請求項６】
ＣＵＰＳをベースとするプリントアーキテクチャを有する情報処理装置により実行される印刷処理方法であって、
印刷設定情報生成手段が、印刷設定入力に基づいて、その印刷設定を示す印刷設定情報を生成するステップと、
識別情報発行手段が、識別情報を生成するステップと、
印刷設定検知手段が、前記印刷設定入力に印刷ジョブ生成手段が受取可能な最大データサイズを超える印刷設定情報が必要な所定の印刷設定が有るか否かを検知するステップと、
データファイル生成手段が、前記識別情報、及び前記所定の印刷設定を示す所定の印刷設定情報を含むデータファイルを生成するステップと、
ファイル保存手段が、前記データファイル中の所定の印刷設定情報を前記データファイル中の識別情報に対応付けて記憶媒体に保存するステップと、
識別情報伝達手段が、前記識別情報を前記印刷ジョブ生成手段に渡すステップと、
前記印刷ジョブ生成手段が、渡された識別情報を用いて、前記記憶媒体上の所定の印刷設定情報を取得するステップと、
を有する印刷処理方法。
【請求項７】
コンピュータを請求項１〜５に記載された情報処理装置の各手段として機能させるための印刷処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷処理方法及び印刷処理プログラムに関する。
【背景技術】
【０００２】
一般に、ホストコンピュータに搭載されるオペレーティングシステム（以下、ＯＳ）には、印刷要求を行うホストコンピュータにプリンタが接続された環境での印刷をサポートするための印刷システムプログラムが備えられている。
【０００３】
このような印刷システムプログラムの一つとして、ＵＮＩＸ（登録商標）系ＯＳに組み込まれたＣＵＰＳ（Common ＵＮＩＸ（登録商標） Printing System：共通ＵＮＩＸ（登録商標）印刷システム）が知られている（特許文献１）。
【０００４】
図７は、ＣＵＰＳをベースとするプリントアーキテクチャについて説明するための図である。ＰＣ（パーソナルコンピュータ）２０１はＵＮＩＸ（登録商標）系ＯＳで動作する情報処理装置である。ＰＣ２０１は、ソフトウェアモジュールとして、アプリケーション２０２、ＣＵＰＳ２０３、及びプリンタドライバ２０４を備えている。
【０００５】
ＣＵＰＳ２０３は、スケジューラ部２０５、情報通信処理部(CUPS Command File Filter)２０６、印刷ジョブ生成部(CUPS Vendor Filter)２０７、印刷ジョブ送信部(Backend Filter)２０８、ＰＰＤ（Postscript Printer Description）ファイル２１０から構成される。
【０００６】
プリンタドライバ２０４は、アプリケーション２０２の印刷設定入力を管理する印刷設定部(ＰＤＥ：Print Dialog Extension)２０９、ＰＰＤファイル２１０、情報通信処理部２０６、及び印刷ジョブ生成部２０７の４つのモジュールから構成される。
【０００７】
ここで、印刷設定部２０９はＯＳのＵＩ（ユーザインタフェース）モジュールに組み込まれて動作し、ＰＰＤファイル２１０、情報通信処理部２０６、及び印刷ジョブ生成部２０７は、ＣＵＰＳ２０３に組み込まれて動作する。
【０００８】
図８は、図７に示すプリントアーキテクチャにおける印刷設定情報の通知経路について説明するための図である。
まず印刷設定部２０９はユーザからの印刷設定を受け付ける（工程１）。即ち、印刷設定部２０９はＰＰＤファイル２１０を参照してＧＵＩ（Graphical User Interface）としての印刷設定画面を生成し、その画面からの印刷設定の入力を受け付ける。
【０００９】
印刷設定部２０９は、ユーザによる印刷設定の入力が確定すると、印刷設定情報を生成し、アプリケーション２０２に渡す。アプリケーション２０２は、印刷設定情報を受け取り、保存する（工程２）。
【００１０】
アプリケーション２０２はユーザからの印刷開始要求を検知すると、印刷指示及び工程２で保存した印刷設定情報をスケジューラ部２０５へ送信する（工程３）。ここで、印刷開始要求の検知は、印刷設定画面上の印刷開始ボタンの押下に基づいて行う。
【００１１】
スケジューラ部２０５は、受け取った印刷設定情報を印刷ジョブ生成部２０７に転送する（工程４）。印刷ジョブ生成部２０７は受け取った印刷設定情報を基に印刷ジョブを生成し、生成した印刷ジョブを印刷ジョブ送信部２０８に渡す（工程５）。印刷ジョブ送信部２０８は受け取った印刷ジョブを図示されていないプリンタへ送る。
【００１２】
ここで、印刷ジョブ生成部２０７は、図９に示すようなＵＮＩＸ（登録商標）コマンドライン入力形式で印刷設定情報を受け取る。印刷ジョブ生成部２０７はargv[1]〜argv[6]で、下記の表１に示す印刷設定情報を受け取ることができる。ただし、ＵＮＩＸ（登録商標）コマンドライン入力形式には最大256KB分の文字列しか受け取れないという制約が存在するため、印刷ジョブ生成部２０７がargv[1]〜argv[6]で取得できる印刷設定情報のデータサイズ上限は約256KBとなっている。
【００１３】
【表１】
2015001802.tif 000003
【００１４】
商業印刷業界では印刷出力そのものが製品となる場合が多い。このため商業印刷向けのプリンタでは、従来のオフィス印刷のような簡易な印刷物ではなく、ページ毎にメディア種類や印刷設定が異なるような高付加価値の印刷物を出力することが望まれている。また、上記のようなページ毎の印刷設定を実現する技術として、特殊ページ(又は例外ページ)と呼ばれる機能が考えられ、既に知られている（特許文献２）。
【００１５】
特殊ページ機能で設定可能な特殊ページの種類には表紙／合紙、挿入ページ／タブ印刷、例外ページがあり、それらを個別に設定することができる。特殊ページ機能で使用する印刷設定情報のデータサイズを下記の表２に示す。
【００１６】
【表２】
2015001802.tif 000004
【００１７】
この表より、これらの特殊ページ機能のうち、１ページ分の印刷設定で使用する最大データサイズは、挿入ページ／タブ印刷の約２KBである。このため、印刷ジョブ生成部２０７が受け取ることのできる特殊ページの件数は、下記の式〔１〕から最大でも約128件までとなる。
【００１８】
（argv[1]〜[5]で受け取れる印刷設定データサイズ）÷（特殊ページ１件の最大データサイズ）＝256KB÷2KB＝128  ・・・式〔１〕
【００１９】
このため、市販されているＣＵＰＳ用のプリンタドライバ（印刷処理プログラム）で登録可能な特殊ページ件数は、下記の表３に示すように、最大でも200件となっている。
【００２０】
【表３】
2015001802.tif 000005
【００２１】
このように、コマンドライン入力形式の制約のために、既存のＣＵＰＳ用のプリンタドライバでは、印刷ジョブ生成部の受け取ることのできる件数以上の特殊ページを設定できないため、ユーザにとって不便であるという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【００２２】
本発明は、このような問題を解決するためになされたものであり、その目的は、ＣＵＰＳをベースとするプリントアーキテクチャを有する情報処理装置において、登録可能な特殊ページの件数の上限を無くすことで、利便性を高めることである。
【課題を解決するための手段】
【００２３】
本発明は、ＣＵＰＳをベースとするプリントアーキテクチャを有する情報処理装置であって、印刷設定入力に基づいて、その印刷設定を示す印刷設定情報を生成する印刷設定情報生成手段と、前記印刷設定情報に基づいて印刷ジョブを生成する印刷ジョブ生成手段と、識別情報を生成する識別情報発行手段と、前記印刷設定入力に前記印刷ジョブ生成手段が受取可能な最大データサイズを超える印刷設定情報が必要な所定の印刷設定が有るか否かを検知する印刷設定検知手段と、前記識別情報発行手段で生成された識別情報、及び前記所定の印刷設定を示す所定の印刷設定情報を含むデータファイルを生成するデータファイル生成手段と、前記データファイル中の所定の印刷設定情報を前記データファイル中の識別情報に対応付けて記憶媒体に保存するファイル保存手段と、前記識別情報を前記印刷ジョブ生成手段に渡す識別情報伝達手段と、を有し、前記印刷ジョブ生成手段は、渡された識別情報を用いて前記記憶媒体上の所定の印刷設定情報を取得する、情報処理装置である。
【発明の効果】
【００２４】
本発明によれば、ＣＵＰＳをベースとするプリントアーキテクチャを有する情報処理装置において、登録可能な特殊ページの件数の上限を無くすことで、利便性を高めることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係る情報処理装置の機能ブロックについて説明するための図である。
【図２】図１におけるプリンタドライバの印刷設定処理を示すフローチャートである。
【図３】図１におけるプリンタドライバの印刷設定処理時の内部処理を示すフローチャートである。
【図４】図３に示す処理で生成される識別子の具体例を示す図である。
【図５】図３に示す処理で生成されるデータファイルの形式について説明するための図である。
【図６】図３に示す処理で生成される一時ファイルの形式について説明するための図である。
【図７】ＣＵＰＳをベースとするプリントアーキテクチャについて説明するための図である。
【図８】図７に示すプリントアーキテクチャにおける印刷設定情報の通知経路について説明するための図である。
【図９】図７に示す印刷ジョブ生成部における印刷設定情報の受け取り形式について説明するための図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について図面を参照して説明する。
〈プリンタドライバをインストールした情報処理装置の構成〉
図１は、本発明の実施形態に係る情報処理装置の機能ブロックについて説明するための図である。
【００２７】
情報処理装置としてのＰＣ（パーソナルコンピュータ）１０１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ（ハードディスク装置）などを備えており、ＵＮＩＸ（登録商標）系ＯＳで動作する。この図に示す機能ブロックの各構成要素は、ＰＣ１０１がインストールされたプログラム（ＯＳ、プリンタドライバ、アプリケーション）を実行することで実現される。
【００２８】
ＰＣ１０１は、ＣＵＰＳをベースとするプリントアーキテクチャを有し、アプリケーション１０２、スケジューラ部１０３、印刷設定部１０４、情報通信処理部１０５、印刷ジョブ生成部１０６、印刷ジョブ送信部１０７、ＰＰＤファイル１０８、及びローカルストレージ１０９を備えている。
【００２９】
ここで、印刷設定部１０４、情報通信処理部１０５、印刷ジョブ生成部１０６、及びＰＰＤファイル１０８が、印刷処理プログラムとしてのプリンタドライバを構成している。また、スケジューラ部１０３、情報通信処理部１０５、印刷ジョブ生成部１０６、及び印刷ジョブ送信部１０７がＣＵＰＳを構成している。印刷設定部１０４はＯＳのＵＩモジュールに組み込まれて動作し、ＰＰＤファイル１０８、情報通信処理部１０５、及び印刷ジョブ生成部１０６はＣＵＰＳに組み込まれて動作する。
【００３０】
印刷設定部１０４は、印刷設定検知部１１０、識別子発行部１１１、及び特殊ページ設定情報通知部１１２の３要素を備えている。印刷設定検知部１１０は、印刷ジョブ生成部１０６が受取可能な最大データサイズを超える印刷設定情報が必要な所定の印刷設定としての特殊ページの設定の有無を検知する印刷設定検知手段として機能する。識別子発行部１１１は、一意に特定可能な識別情報としての識別子を生成する識別情報発行手段として機能する。特殊ページ設定情報通知部１１２は、情報通信処理部１０５に特殊ページ設定情報を通知する手段である。
【００３１】
情報通信処理部１０５は、特殊ページ設定情報受取部１１３、及び特殊ページ設定情報ファイル保存部１１４を備えている。特殊ページ設定情報受取部１１３は、印刷設定部１０４から通知された特殊ページ設定情報を取得する手段である。特殊ページ設定情報ファイル保存部１１４は、特殊ページ設定情報のファイルをローカルストレージ１０９に保存するファイル保存手段として機能する。
【００３２】
印刷ジョブ生成部１０６は特殊ページ設定情報ファイル読込部１１５を備えており、印刷ジョブ生成手段として機能する。特殊ページ設定情報ファイル読込部１１５は、ローカルストレージ１０９に保存された特殊ページ設定情報のファイルの探索及び読込を行う特殊ページ設定情報取得手段として機能する。印刷ジョブ送信部１０７は、印刷ジョブ生成部１０６で生成された印刷ジョブを受け取り、図示されていないプリンタへ送る。
【００３３】
〈プリンタドライバの印刷設定処理〉
図２は、図１におけるプリンタドライバの印刷設定処理を示すフローチャートであり、図３は、図１におけるプリンタドライバの印刷設定処理時の内部処理を示すフローチャートである。以下、これらの図を用いて、プリンタドライバの印刷設定処理について説明する。
【００３４】
まず印刷設定部１０４が生成したＧＵＩとしての印刷設定画面から、印刷設定がユーザにより入力され（図２のステップＳ１０１）、次に印刷設定画面上の印刷開始ボタンが押下される（ステップＳ１０２）。ＧＵＩでのユーザによる指示は以上で終了し、図３に示す内部処理へ移行する。ステップＳ１０１では、印刷設定入力の確定に基づいて、その印刷設定を示すコマンドライン入力形式の印刷設定情報が生成される。即ち、印刷設定部１０４は印刷設定情報生成手段として機能する。
【００３５】
内部処理では、ステップＳ１０２の印刷指示を受けて、印刷設定部１０４は、特殊ページ設定の有無を印刷設定検知部１１０でチェックし（ステップＳ２０１）、その有無を判断する（ステップＳ２０２）。
【００３６】
特殊ページが設定されていない場合は（ステップＳ２０２：NO）は、印刷設定部１０４は、通常の通知経路、即ちアプリケーション１０２及びスケジューラ部１０３を通る経路で、印刷設定情報を印刷ジョブ生成部１０６に渡す（ステップＳ２０３）。印刷ジョブ生成部１０６は、受け取った印刷設定情報に基づいて印刷ジョブを生成し（ステップＳ２１５）、内部処理を終了する。
【００３７】
特殊ページが設定されている場合（ステップＳ２０２：YES）は、印刷設定部１０４は、識別子発行部１１１で、特殊ページ設定情報保存用の一時ファイルの識別子としてＵＵＩＤ（Universally Unique Identifier）を生成する（ステップＳ２０４）。
【００３８】
ＵＵＩＤは分散コンピューティング環境において機器／オブジェクトを一意に特定できる識別子で、ＲＦＣ４１２２で公開されている技術である。
【００３９】
図４にＵＵＩＤの具体例を示す。ＵＵＩＤは32桁の16進数で表現される。ＵＵＩＤを特殊ページ設定保存用の一時ファイルの名称に利用することで、複数アプリで特殊ページ印刷が行われた場合に、一時ファイルにおける上書きの発生を防止することができる。
【００４０】
図３の説明に戻る。印刷設定部１０４は、ステップＳ２０４で生成した識別子を特殊ページ設定情報以外の印刷設定情報に追加して、前述した通常の通知経路で印刷ジョブ生成部１０６に渡す（ステップＳ２０５）。つまり、印刷設定部１０４は識別情報伝達手段として機能する。
【００４１】
次に印刷設定部１０４は、特殊ページ設定情報と識別子を含むデータファイルを生成する（ステップＳ２０６）。つまり、印刷設定部１０４はデータファイル生成手段として機能する。
【００４２】
図５は、データファイルの形式について説明するための図である。図示のように、１行目と２行目には、スケジューラ部１０３が上記データファイルを情報通信処理部１０５へ送信するために必要となるＣＵＰＳコマンド（ここでは、情報通信処理部１０５でファイル保存処理を実行させるためのコマンド）が記入される。３行目には、ステップＳ２０４で生成された識別子が記入される。４行目以降には、ユーザが設定した特殊ページ設定情報が記入される。
【００４３】
図３の説明に戻る。印刷設定部１０４は、特殊ページ設定情報通知部１１２で前記データファイルをスケジューラ部１０３へ送信する（ステップＳ２０７）。スケジューラ部１０３は、前記データファイルを情報通信処理部１０５に転送し（ステップＳ２０８）、情報通信処理部１０５は、特殊ページ設定情報受取部１１３で前記データファイルを取得する（ステップＳ２０９）。
【００４４】
情報通信処理部１０５は、特殊ページ設定情報ファイル保存部１１４で、前記データファイルに含まれる特殊ページ設定情報と識別子を抽出する（ステップＳ２１０）。次に情報通信処理部１０５は、特殊ページ設定情報ファイル保存部１１４で、この識別子をファイル名とする一時ファイルを記憶媒体としてのローカルストレージ１０９内に生成し、特殊ページ設定情報を一時ファイルに保存する（ステップＳ２１１）。これにより、前記データファイル中の特殊ページ設定情報が前記データファイル中の識別子に対応付けられて保存される。
【００４５】
図６は、一時ファイルの形式について説明するための図である。ＵＮＩＸ（登録商標）系ＯＳによってはセキュリティ要件が規定されており、一時ファイルの保存先が決められていることがある。そこで、ＵＮＩＸ（登録商標）系ＯＳのセキュリティ要件を満たすために、保存先ディレクトリは/Library/Cashes/以下とする。また、一時ファイル名には、ステップＳ２０６で生成されたデータファイルに含まれる識別子（ＵＵＩＤ）を使用する。また、一時ファイル内には、ステップＳ２０６で生成されたデータファイルに含まれる特殊ページ設定情報を保存する。
【００４６】
図３の説明に戻る。印刷ジョブ生成部１０６は、通常の通知経路で受け取った印刷設定情報の中から識別子を取得する（ステップＳ２１２）。次に印刷ジョブ生成部１０６は、取得した識別子を基にローカルストレージ１０９内の一時ファイルを探し、特殊ページ設定情報ファイル読込部１１５でファイル読込みを行い（ステップＳ２１３）、一時ファイルから特殊ページ設定情報を取得する（ステップＳ２１４）。特殊ページ設定情報を取得した後、その一時ファイルを削除することで、不要な一時ファイルの残留を防ぐことが好適である。
【００４７】
印刷ジョブ生成部１０６は、取得した特殊ページ設定情報と、通常の通知経路で受け取った印刷設定情報とに基づいて印刷ジョブを生成し（ステップＳ２１５）、内部処理を終了する。
【００４８】
以上詳細に説明したように、本発明の実施形態に係る情報処理装置は下記（１）〜（５）の特徴を備えている。
（１）特殊ページ設定情報を一時ファイルに保存し、印刷ジョブ生成部１０６で一時ファイルの読込を行うことで、ＵＮＩＸ（登録商標）コマンドライン入力形式の上限データサイズ制約(256KB)を回避できる。また、一時ファイルには容量の制限が無いため、どのようなデータサイズの特殊ページ設定情報でも印刷ジョブ生成部１０６で取得できるようになる。
つまり、プリンタドライバのＵＩモジュールである印刷設定部１０４から印刷ジョブ生成モジュールである印刷ジョブ生成部１０６への特殊ページ設定情報の受渡し方法（経路)を変更することで、印刷ジョブ生成部１０６で処理可能な印刷設定データ量の上限を無くすことができる。これにより、ＣＵＰＳ用のプリンタドライバの特殊ページ登録件数の上限を無くすことができる。
（２）ＵＵＩＤを特殊ページ設定情報保存用の一時ファイルの名称に利用することで、複数アプリで特殊ページ印刷が行われた場合に、一時ファイルにおける上書きの発生を防止することができる。
（３）ＵＮＩＸ（登録商標）系ＯＳのセキュリティ要件を満たすキャッシュディレクトリ(/Library/Caches/)に一時ファイルを生成することにより、ＭａｃＯＳＸなどのＵＮＩＸ（登録商標）系ＯＳのセキュリティ要件に違反することなく印刷処理を実現できる。
（４）最大データサイズ(256KB)を超える可能性のある印刷機能が設定されたか否かを印刷設定検知部１１０で検知し、印刷設定情報の一時ファイルへの保存可否を決定するアルゴリズムを備えているので、最大データサイズ(256KB)を超える可能性のない印刷設定の場合に、無駄な一時ファイルを生成せずに済む。
（５）印刷ジョブ生成部１０６は、一時ファイルの読込後に同ファイルを削除する機能を備えているので、ローカルストレージ１０９に不要な一時ファイルが残留することを防ぐことができる。
【符号の説明】
【００４９】
１０１…ＰＣ、１０４…印刷設定部、１０５…情報通信処理部、１０６…印刷ジョブ生成部、１０９…ローカルストレージ、１１０…印刷設定検知部、１１１…識別子発行部、１１２…特殊ページ設定情報通知部、１１３…特殊ページ設定情報受取部、１１４…特殊ページ設定情報ファイル保存部、１１５…特殊ページ設定情報ファイル読込部。
【先行技術文献】
【特許文献】
【００５０】
【特許文献１】特開２０１１−１５６８０１号公報（図２）
【特許文献２】特開２０１２−５８９０６号公報
【図１】
2015001802.tif 000006
【図２】
2015001802.tif 000007
【図３】
2015001802.tif 000008
【図４】
2015001802.tif 000009
【図５】
2015001802.tif 000010
【図６】
2015001802.tif 000011
【図７】
2015001802.tif 000012
【図８】
2015001802.tif 000013
【図９】
2015001802.tif 000014