(57)【要約】      （修正有）【課題】画像データが表示されるまでの時間を短縮できる情報処理装置を提供する情報処理装置を提供する。【解決手段】画像を描画するための描画情報を用いて画像データを生成する印刷管理サーバ１０は、描画情報を含む印刷データをクライアント３０から取得する印刷データ取得手段１２と、印刷データの任意のページの画像データの表示要求を受け付けるサーバ管理部１６と、印刷データに含まれる描画情報のうち描画情報が記述されているページよりも後のページの画像データに反映され得る特定描画情報を記憶する描画情報記憶部１００１から、要求受付手段が受け付けた任意のページの前ページまでの特定描画情報を読み出すプレビュー管理部１８と、読出手段が読み出した特定描画情報を反映させて任意のページの画像データを生成するプレビュー画像生成部１７と、を有する。【選択図】図５
2017111651.tif 000002
【特許請求の範囲】
【請求項１】
画像を描画するための描画情報を用いて画像データを生成する情報処理装置であって、
前記描画情報を含む印刷データを外部から取得する印刷データ取得手段と、
前記印刷データの任意のページの画像データの表示要求を受け付ける要求受付手段と、
前記印刷データに含まれる前記描画情報のうち該描画情報が記述されているページよりも後のページの前記画像データに反映され得る特定描画情報を記憶する描画情報記憶部から、前記要求受付手段が受け付けた前記任意のページの前ページまでの前記特定描画情報を読み出す読出手段と、
前記読出手段が読み出した前記特定描画情報を反映させて前記任意のページの前記画像データを生成する生成手段と、
を有する情報処理装置。
【請求項２】
前記読出手段は、ページ順に各ページに含まれる前記特定描画情報を前記描画情報記憶部から読み出し、
読み出したページよりも前に種別が同じ前記特定描画情報がある場合、読み出したページよりも前の前記特定描画情報を削除して読み出したページの前記特定描画情報を有効にする処理を、前記任意のページの前ページまでの各ページに対し行う請求項１に記載の情報処理装置。
【請求項３】
前記描画情報記憶部には、前記描画情報の種別に対応付けて前記特定描画情報でない前記描画情報も記憶されており、
前記読出手段は予め定められた前記種別の前記描画情報のみを前記特定描画情報として前記描画情報記憶部から読み出す請求項１又は２に記載の情報処理装置。
【請求項４】
前記描画情報記憶部には、前記特定描画情報を読み出す必要があるか否かを判断するための判断情報が前記特定描画情報ごとに記憶されており、
前記読出手段は、前記判断情報に基づき前記特定描画情報を読み出すと判断した前記特定描画情報のみを前記描画情報記憶部から読み出す請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記読出手段は、前記印刷データが記憶されている印刷データ記憶部における前記印刷データの各ページの位置情報と各ページのデータサイズが記憶された位置情報記憶手段を参照し、
前記任意のページの前記印刷データを前記印刷データ記憶部から読み出す請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記印刷データ取得手段が取得した前記印刷データから、ページの開始又はページの終了の少なくともどちらかを意味する前記描画情報を特定し、
ページの開始から終了までの各ページのデータサイズ、及び、前ページまでの前記データサイズを合計して得られる各ページの位置情報を生成し前記位置情報記憶手段に記憶させる構造解析手段を有する請求項５に記載の情報処理装置。
【請求項７】
前記印刷データ取得手段が取得した前記印刷データから、
ページの開始又はページの終了の少なくともどちらかを意味する前記描画情報、及び、前記特定描画情報として予め定められている前記描画情報を抽出し、前記特定描画情報として前記描画情報記憶部に記憶させる描画情報保存手段を有する請求項６に記載の情報処理装置。
【請求項８】
前記要求受付手段は、前記描画情報保存手段が前記描画情報記憶部へ前記特定描画情報を記憶させる処理を終わらせたページ数を、全てのページの前記処理が終わる前に、ネットワークを介して接続された端末に送信する請求項７に記載の情報処理装置。
【請求項９】
画像を描画するための描画情報を用いて画像データを生成する情報処理装置を、
前記描画情報を含む印刷データを外部から取得する印刷データ取得手段と、
前記印刷データの任意のページの画像データの表示要求を受け付ける要求受付手段と、
前記印刷データに含まれる描画情報のうち該描画情報が記述されているページよりも後のページの前記画像データに反映され得る特定描画情報を記憶する描画情報記憶部から、前記要求受付手段が受け付けた前記任意のページの前ページまでの前記特定描画情報を読み出す読出手段と、
前記読出手段が読み出した前記特定描画情報を反映させて前記任意のページの前記画像データを生成する生成手段、として機能させるためのプログラム。
【請求項１０】
画像を描画するための描画情報を用いて画像データを生成する画像処理システムであって、
前記描画情報を含む印刷データを外部から取得する印刷データ取得手段と、
前記印刷データの任意のページの画像データの表示要求を受け付ける要求受付手段と、
前記印刷データに含まれる描画情報のうち該描画情報が記述されているページよりも後のページの前記画像データに反映され得る特定描画情報を記憶する描画情報記憶部から、前記要求受付手段が受け付けた前記任意のページの前ページまでの前記特定描画情報を読み出す読出手段と、
前記読出手段が読み出した前記特定描画情報を反映させて前記任意のページの前記画像データを生成する生成手段と、
前記画像データを表示装置に表示する表示手段と、を有する画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び画像処理システムに関する。
【背景技術】
【０００２】
ユーザがプリンタで印刷物を出力する前に、意図する印刷結果が得られるか否かを確認したい場合がある。このため、印刷データのプレビューイメージを表示装置に表示する機能を備えるプリンタがある。
【０００３】
一般に、プリンタが実行する印刷ジョブは、プリンタが印刷を行うために最適化された印刷データを有しており、この印刷データはユーザが望む任意のページに対してプレビューイメージを短時間で生成するデータとして使用されることには向いていない。なお、印刷データとはPostScriptなどのＰＤＬ（page description language）で記述されたデータをいう。
【０００４】
具体的には印刷データを用いてプリンタが任意のページのプレビューイメージを印刷データに忠実に生成するためには、任意のページの前ページまでの印刷データを解析し、任意のページのプレビューイメージの生成に必要な情報を全て抽出する必要がある。これは、任意のページに対する例えばフォントの指定等がそれよりも前のページに記述されている場合が少なくないからである。
【０００５】
このため、プリンタが表示したあるページのプレビューイメージを別のページのプレビューイメージに切り替える度に、プリンタは任意のページの前ページまでの印刷データの解析とプレビューイメージの生成処理を必要とし、プレビューイメージを表示するまでの時間が長くなる場合がある。
【０００６】
このような不都合に対し、プレビューイメージの表示を高速化する技術が考案されている（例えば、特許文献１参照。）。特許文献１には、簡易化したプレビューイメージの生成を行った後に、印刷データに忠実な最終的なプレビューイメージを生成する画像入力装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されたプレビューイメージの表示方法では、最終的なプレビューイメージを生成するまでの時間を短縮することが困難であるという問題がある。すなわち、簡易化したプレビューイメージではユーザが確認したい印刷結果が正しく表示されているとは限らないため、印刷物を出力してよいかどうかをユーザが判断できない又は判断を誤る場合が生じ得る。
【０００８】
本発明は、上記課題に鑑み、要求されたページの画像データが表示されるまでの時間を短縮できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題に鑑み、本発明は、画像を描画するための描画情報を用いて画像データを生成する情報処理装置であって、前記描画情報を含む印刷データを外部から取得する印刷データ取得手段と、前記印刷データの任意のページの画像データの表示要求を受け付ける要求受付手段と、前記印刷データに含まれる前記描画情報のうち該描画情報が記述されているページよりも後のページの前記画像データに反映され得る特定描画情報を記憶する描画情報記憶部から、前記要求受付手段が受け付けた前記任意のページの前ページまでの前記特定描画情報を読み出す読出手段と、前記読出手段が読み出した前記特定描画情報を反映させて前記任意のページの前記画像データを生成する生成手段と、を有する。
【発明の効果】
【００１０】
要求されたページの画像データが表示されるまでの時間を短縮できる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】印刷管理サーバによるプレビューイメージの表示手順の比較例を模式的に説明する図の一例である。
【図２】印刷管理サーバによるプレビューイメージの表示手順を模式的に説明する図の一例である。
【図３】印刷システムの概略構成図の一例である。
【図４】本実施形態にかかる印刷管理サーバの一例のハードウェア構成図である。
【図５】印刷システムに含まれる印刷管理サーバとクライアントの機能ブロック図の一例である。
【図６】印刷データの取得からプレビューイメージの表示までの手順を示すシーケンス図の一例である。
【図７】印刷データの解析中にプレビューイメージを表示する手順を示すシーケンス図の一例である。
【図８】印刷管理サーバが解析データと特定描画情報を印刷データから取得する手順を示すフローチャート図の一例である。
【図９】印刷管理サーバがプレビューイメージを生成する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【００１３】
＜比較例＞
まず、本実施形態の印刷管理サーバ１０の概略を説明するに当たり、比較例を説明する。図１は、印刷管理サーバ１０によるプレビューイメージの表示手順の比較例を模式的に説明する図の一例である。印刷管理サーバ１０は、業務ホスト５０から印刷データを受け付け、クライアント３０からプレビューイメージの表示要求を受け付ける。
【００１４】
S1：印刷管理サーバ１０は、業務ホスト５０からネットワーク経由で投入された印刷データを受け取る。この印刷データから印刷ジョブが生成される。
【００１５】
S2：印刷管理サーバ１０は印刷データを印刷ジョブＤＢ（Data Base）１００３に蓄積する。
【００１６】
S3：ユーザが操作するクライアント３０は印刷ジョブＤＢ１００３に記憶されている印刷データの一覧（リスト）を取得できる。ユーザはこの一覧から特定の印刷データを選択し、また任意のページを指定して、印刷管理サーバ１０に対してプレビューイメージの表示要求を送信する。
【００１７】
S4：印刷管理サーバ１０は以下のS4-1〜S4-3の処理を行うことでプレビューイメージを生成する。
【００１８】
S4-1：印刷管理サーバ１０は、印刷データの最初からプレビューイメージの表示が要求されたページ（以下、プレビュー要求ページという。）の前ページまでの全てのＰＤＬ（page description language）コマンドを解析する。これにより、プレビュー要求ページのプレビューイメージの生成のために使用される特定描画情報を取得することができる。特定描画情報は、プレビュー要求ページのプレビューイメージの生成に影響するＰＤＬコマンドであるが詳細は後述される。
【００１９】
S4-2：印刷管理サーバ１０は、印刷データからプレビュー要求ページのページデータを取得する。プレビュー要求ページのページデータとは、印刷データのうちプレビュー要求ページの印刷データをいう。
【００２０】
S4-3： S4-2で取得したプレビュー要求ページの印刷データを解析してプレビュー要求ページのプレビューイメージを生成するが、この際、S4-1で取得した特定描画情報を参照する。
【００２１】
S5：印刷管理サーバ１０は生成したプレビューイメージをクライアント３０に送信する。
【００２２】
S6：クライアント３０は印刷管理サーバ１０から受信したプレビューイメージを表示装置に表示させる。
【００２３】
このように、S4-1でプレビュー要求ページよりも前のページを全て解析し特定描画情報を取得する必要があるため、印刷管理サーバ１０がプレビューイメージを生成するために時間がかかる場合があった。
【００２４】
＜本実施形態の印刷システムの概略＞
図２は、本実施形態の印刷管理サーバ１０によるプレビューイメージの表示手順を模式的に説明する図の一例である。
【００２５】
S1：印刷管理サーバ１０は業務ホスト５０からネットワーク経由で投入された印刷データを受け付ける。
【００２６】
S2：印刷管理サーバ１０は、印刷データから以下の３つのデータを生成し、それぞれをＤＢに保存する。
【００２７】
S2-1：ＰＤＬコマンドが記述されているページよりも後のページの描画に影響する特定描画情報を印刷データから取り出し特定描画情報ＤＢ１００１に記憶させる。
【００２８】
S2-2：印刷データを解析して各ページのオフセット値（印刷データの先頭から何バイト目にページのデータがあるか）とデータサイズをジョブ解析データＤＢ１００２に記憶させる。
【００２９】
S2-3：業務ホスト５０から受け付けた印刷データを印刷ジョブＤＢ１００３に記憶させる。
【００３０】
S3：ユーザが操作するクライアント３０は印刷ジョブＤＢ１００３に記憶されている印刷データの一覧（リスト）を取得できる。ユーザはこの一覧から特定の印刷データを選択し、また任意のページを指定して、印刷管理サーバ１０に対してプレビューイメージの表示要求を送信する。
【００３１】
S4：印刷管理サーバ１０は以下のS4-1〜S4-3の処理を行い、プレビューイメージを生成する。
【００３２】
S4-1：特定描画情報が蓄積された特定描画情報ＤＢ１００１からプレビュー要求ページの前ページまで特定描画情報を取得する。
【００３３】
S4-2：解析データが蓄積されたジョブ解析データＤＢ１００２からプレビュー要求ページのオフセット値とデータサイズを取得する。
【００３４】
S4-3：S4-2で取得したオフセット値とデータサイズを元に印刷ジョブＤＢ１００３からプレビュー要求ページの印刷データを取得する。
【００３５】
S4-4：S4-1で取得した特定描画情報を反映させてS4-3で取得したプレビュー要求ページの印刷データを解析し、プレビュー要求ページのプレビューイメージを生成する。
【００３６】
S5：印刷管理サーバ１０は生成したプレビューイメージをクライアント３０に送信する。
【００３７】
S6：クライアント３０は印刷管理サーバ１０から受信したプレビューイメージを表示装置に表示させる。
【００３８】
図２の処理手順によれば、印刷データの取得時に各ページの特定描画情報を特定描画情報ＤＢ１００１に記憶しているので、プレビューイメージの生成時に、印刷データの最初からプレビュー要求ページの前ページまで解析する処理を省くことができる。また、プレビュー要求ページのページデータがどこにあるか（オフセット値とデータサイズ）も印刷データの取得時にジョブ解析データＤＢ１００２に記憶しているので、印刷データからプレビュー要求ページの印刷データを高速に取得することができる。
【００３９】
＜用語について＞
特許請求の範囲の描画情報は画像又は画像データを描画するため情報であり、ページ記述言語で記述された情報ということができる。ページ記述言語は一般にＰＤＬと称される。具体的には、ＰＤＬには、ＰＣＬ、ＰＣＬの派生語、PostScript（登録商標）などの言語があるが、本実施形態の言語の種別は限定されない。
【００４０】
描画情報の最小単位をＰＤＬコマンドと称する。ＰＤＬコマンドは印刷データに含まれる描画に関する１つの命令である。また、１つのページの画像を描画するために記述されている１つ以上のＰＤＬコマンドをページデータと称することにする。本実施形態では特許請求の範囲の描画情報をＰＤＬコマンドという用語を用いて説明する。
【００４１】
また、特許請求の範囲の特定描画情報はプレビュー要求ページを描画する（プレビューイメージを生成する）ために必要なＰＤＬコマンドである。あるいは、プレビュー要求ページの描画に影響を与え得る（反映され得る）ＰＤＬコマンドということができる。具体的には、フォント、罫線又は塗りつぶしとその色などを指定するＰＤＬコマンドであるがこれらに限られるものではない。詳細は表２で説明される。
【００４２】
印刷データとは画像を形成、生成又は描画するためのデータであり、印刷ジョブはプリンタ等が印刷データを用いた画像形成を行う際の実行単位である。また、印刷データは１つ以上のＰＤＬコマンドを含む。印刷ジョブには印刷データが含まれると共に、印刷ジョブを管理するための情報が含まれる。なお、印刷データと印刷ジョブを厳密に区別しなくてもよい。また、画像の形成、生成又は描画とは、ＰＤＬコマンドを画像（画像データ）に変換することをいう。
【００４３】
＜システム構成例＞
図３は、印刷システム１の概略構成図の一例を示す。印刷システム１は、業務ホスト５０、印刷管理システム１００、及び、プリンタ６０を有している。印刷管理システム１００はクライアント３０と印刷管理サーバ１０を有し、クライアント３０と印刷管理サーバ１０はネットワークＮ１を介して接続されている。印刷管理サーバ１０と業務ホスト５０はネットワークＮ２を介して接続されている。印刷管理サーバ１０とプリンタ６０はネットワークＮ３を介して接続されている。ネットワークＮ１は主にＬＡＮであるがＷＡＮやインターネットなどでもよい。また、ネットワークＮ２は、業務ホスト５０が社外の機器であればインターネットやＷＡＮであり、業務ホスト５０が社内の機器であれば主にＬＡＮである。ネットワークＮ３はＬＡＮ、ＷＡＮ又はインターネットであるが、ＵＳＢケーブルなどで１対１に接続されていてもよい。なお、ネットワークＮ１〜Ｎ３の説明は限定する趣旨ではなくあくまで一例に過ぎず、専用線であってもよいし、プロバイダのネットワークや電話会社の通信回線を含んでいてもよい。また、無線ＬＡＮ、Bluetooth（登録商標）、又は、３Ｇ，４Ｇなどの無線通信網を含んでいてもよい。
【００４４】
業務ホスト５０は、業務用印刷のアプリケーションソフトウェア（以下、単にアプリケーションと呼ぶ）が動作する情報処理装置である。例えば、業務ホスト５０のオペレータが帳票を設計したり修正したりするために使用される。専用の装置として用意されてもよいし、業務用印刷のアプリケーションを実行可能な任意の情報処理装置でもよい。業務ホスト５０は、プリンタ６０が用紙に印刷する画像を印刷管理サーバ１０が形成するための印刷データを印刷管理サーバ１０に送信する。ただし、本実施形態の印刷システム１は特殊な業務にのみ使用されるわけではなく、オフィスなどで使用されるＰＣ（Personal Computer）が印刷管理サーバ１０に送信した印刷データのプレビューイメージをクライアント３０が表示する際にも使用されてよい。
【００４５】
クライアント３０は、クライアントアプリ又はブラウザソフトウェアなどが動作する情報処理装置である。クライアント３０は、プレビューイメージを表示したり、ユーザから操作入力を受け付けたりする。具体的には、ＰＣ、タブレット端末、ＰＤＡ（Personal Digital Assistant）、ウェアラブルＰＣ、ゲーム機、携帯電話、スマートフォンなどの情報処理装置である。しかし、これらに限られるものではない。クライアントアプリは、印刷管理サーバ１０による印刷ジョブの管理状態をユーザが把握するためのソフトウェアである。クライアントアプリは、印刷管理サーバ１０と定期的に通信しており、印刷管理サーバ１０に登録されている印刷ジョブの一覧、状態（未実行、実行中、実行済みなど）、エラーが発生した場合のエラー内容などを表示する。
【００４６】
印刷管理サーバ１０は、サーバアプリが動作する情報処理装置である。単体の情報処理装置の他、クラウドコンピューティングが適用されたネットワークの情報処理装置としての機能でもよい。印刷管理サーバ１０は、図では複数の業務ホスト５０及び複数のプリンタ６０と接続されているが、業務ホスト５０及び複数のプリンタ６０はそれぞれ１台以上あればよい。印刷管理サーバ１０は、業務ホスト５０から受け付けた印刷データから印刷ジョブを生成しプリンタ６０に印刷させる。具体的には、印刷データの受け付け、画像データへの変換、プリンタ６０への出力、及び、プリンタ６０による印刷ジョブの実行状態の提供などを行う。また、本実施形態では、印刷管理サーバ１０がプレビューイメージを提供する機能を有するものとして説明される。
【００４７】
プリンタ６０はいわゆる画像形成装置の一例である。印刷管理サーバ１０が送信した印刷ジョブを実行し、印刷データに基づいて用紙などの記録媒体に画像を印刷する。プリンタ６０には、帯電させた記録媒体にレーザで潜像を形成しトナーで現像する画像形成プロセスを有するものと、インクを吐出して画像を形成する画像形成プロセスを有するもの等がある。本実施形態の画像形成プロセスはどのようなものでもよい。また、画像形成の機能を有するコピー機、ＦＡＸ装置、スキャナ装置、及び、ＭＦＰ（Multi-Functional Printer）等はプリンタ６０に含まれる。また、プリンタ６０は記録媒体の搬送機構を有していなくてもよい。
【００４８】
＜ハードウェア構成について＞
図４は、本実施形態にかかる印刷管理サーバ１０の一例のハードウェア構成図である。印刷管理サーバ１０はＣＰＵ５０１、ＲＡＭ５０２、入力装置５０３、外部Ｉ／Ｆ５０４、ＨＤＤ５０５、ＲＯＭ５０６、表示装置５０７及び通信Ｉ／Ｆ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０３及び表示装置５０７は必要なときに接続して利用する形態であってもよい。
【００４９】
ＣＰＵ５０１は、ＲＯＭ５０６やＨＤＤ５０５などの記憶装置からプログラムやデータをＲＡＭ５０２上に読み出し、処理を実行することで、印刷管理サーバ１０全体の制御や機能を実現する演算装置である。
【００５０】
入力装置５０３はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。
【００５１】
外部Ｉ／Ｆ５０４は、外部装置とのインタフェースである。外部装置には、記録媒体５０４ａなどがある。これにより、印刷管理サーバ１０は外部Ｉ／Ｆ５０４を介して記録媒体５０４ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０４ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００５２】
また、ＨＤＤ５０５は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、印刷管理サーバ１０の全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションなどがある。なお、ＨＤＤ５０５に替え、記録媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００５３】
ＲＯＭ５０６は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０６には印刷管理サーバ１０の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０２はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００５４】
通信Ｉ／Ｆ５０８は印刷管理サーバ１０を各種ネットワークに接続するインタフェースである。これにより、印刷管理サーバ１０は通信Ｉ／Ｆ５０８を介してデータ通信を行うことができる。表示装置５０７はディスプレイ等を含み、印刷管理サーバ１０による処理結果を表示する。
【００５５】
なお、図示する印刷管理サーバ１０のハードウェア構成は、１つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、印刷管理サーバ１０が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例の印刷管理サーバ１０の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
【００５６】
クライアント３０と業務ホスト５０のハードウェア構成は図４と同様であるか、相違があっても本実施形態の説明上支障がないものとする。また、プリンタ６０については公知のハードウェア構成を有するものとする。
【００５７】
＜機能について＞
図５は、本実施形態の印刷システム１に含まれる印刷管理サーバ１０とクライアント３０の機能ブロック図の一例である。
【００５８】
<<印刷管理サーバ１０の機能構成>>
印刷管理サーバ１０は、送受信部１１、印刷データ取得部１２、構造解析部１３、特定描画情報抽出部１４、印刷ジョブ蓄積部１５、サーバ管理部１６、プレビュー画像生成部１７、プレビュー管理部１８、及び、記憶読出部１９を有している。これら各部は、図４に示されている各構成要素のいずれかが、ＨＤＤ５０５からＲＡＭ５０２に展開されたサーバアプリ１０１０に従ったＣＰＵ５０１からの命令によって動作することで実現される機能、又は提供される手段である。
【００５９】
また、印刷管理サーバ１０は、図４に示されているＲＡＭ５０２、ＲＯＭ５０６及びＨＤＤ５０５のいずれかによって構築される記憶部１０００を有している。記憶部１０００には、特定描画情報ＤＢ１００１、ジョブ解析データＤＢ１００２、及び、印刷ジョブＤＢ１００３が記憶されている。記憶部１０００には、サーバアプリ１０１０が記憶されている。サーバアプリ１０１０は、記録媒体５０４ａに記憶された状態で配布されたり、プログラムを配信するサーバからダウンロードされたりすることで配信される。これらのＤＢについて説明する。
【００６０】
【表１】
2017111651.tif 000003
表１は、印刷管理サーバ１０の記憶部１０００に構築されるジョブ解析データＤＢ１００２が有する情報をテーブル状に示す。このテーブルを解析データテーブルという。解析データテーブルには、ジョブＩＤに対応付けられたジョブ名、各ページ毎のデータ開始オフセットとデータサイズ、及び、印刷データに含まれるページ数等が登録されている。
【００６１】
ジョブ解析データＤＢ１００２には、構造解析部１３が業務ホスト５０から取得した印刷データを解析して得られる解析データが格納されている。より具体的には、印刷データにおいて各ページがどの場所に格納されているかという位置情報（より具体的にはアドレス情報）とデータサイズを含む。
【００６２】
ジョブＩＤは、印刷管理サーバ１０が印刷ジョブを一意に識別するための識別情報であり、印刷管理サーバ１０が重複しないように印刷ジョブに付与する。具体的には連続番号、登録日時、業務ホスト５０の識別番号と連番の組み合わせなどであるがこれらに限られない。また、識別情報とは、複数の対象からある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらの組み合わせをいう。以下の各種の識別情報においても同様である。
【００６３】
データ開始オフセットとは、各ページデータが印刷データのどこにあるかを示す位置情報であり、具体的には印刷データの先頭から何バイト目に格納されているかというオフセット値である。印刷データの１つのページデータは開始を示すＰＤＬコマンドで始まり終了を示すＰＤＬコマンドで終了する。したがって、１つのページデータの開始と終了は明記されている。
【００６４】
データサイズは、各ページデータの大きさ又は容量などをバイト単位で示す。１つのページデータの開始を示すＰＤＬコマンドから終了を示すＰＤＬコマンドまでが１つのページデータの大きさである。
【００６５】
また、ページ数は印刷データが含むページの総数である。総数はＰＤＬコマンドで印刷データに明記されていてもよいし、開始と終了を示すＰＤＬコマンドに基づいてカウントされたものでもよい。
【００６６】
【表２】
2017111651.tif 000004
表２は、印刷管理サーバ１０の記憶部１０００に構築される特定描画情報ＤＢ１００１が有する情報をテーブル状に示す。このテーブルを特定描画情報テーブルという。特定描画情報ＤＢ１００１には上記の特定描画情報が登録される。特定描画情報テーブルには、業務ホスト５０から送信された印刷データから特定描画情報抽出部１４が抽出した後続ページの描画に必要と判断されたＰＤＬコマンドに関する情報が登録されている。例えば、一実施形態としては表２のような形で任意のページのプレビューイメージの生成に必要なＰＤＬコマンドに関する情報が登録される。
【００６７】
特定描画情報となるＰＤＬコマンドは、印字領域（用紙の端部を基準に何mmから画像を形成するか）を指示するもの、回転情報（０，９０、１８０、２７０度などの回転角度）により画像データの向きを指示するもの、フォントを定義するもの、フォントを制御するもの、フォーム（表組みのフォーマット、罫線など）を定義するもの、フォームを制御するもの、ブラシ（塗りつぶし、網掛け、テクスチャなど）を定義するもの、ブラシを制御するものなどであるが、これらには限られない。なお、フォント、フォーム及びブラシを制御するＰＤＬコマンドには、フォント、フォーム及びブラシを指定したり指定を解除したりするものがある。
【００６８】
特定描画情報ＤＢ１００１に抽出されたこれらのＰＤＬコマンドは、一度指定されると次に指定されるか又は解除されるまでは有効として扱われる（有効とは、イメージの生成に使用されることをいう）。したがって、プレビュー要求ページよりも前のページのＰＤＬコマンドでもプレビュー要求ページの描画に影響する可能性がある。任意のページに対応するため、全てのページのＰＤＬコマンドに関する情報が登録される。
【００６９】
なお、特定描画情報ＤＢ１００１には、ページの区切りを検出するために使用される、１つのページデータの開始を示すＰＤＬコマンド及び終了を示すＰＤＬコマンドも抽出して登録される。
【００７０】
特定描画情報テーブルは印刷ジョブ数を有する。そして、印刷ジョブごとに、サイズ、コマンド数及び印刷データで使用されている各コマンドのコマンド情報が登録されている。
【００７１】
印刷ジョブ数は特定描画情報ＤＢ１００１に登録されている印刷ジョブの数である。サイズは１つの印刷ジョブについて特定描画情報ＤＢ１００１に登録されている特定描画情報のサイズである。印刷管理サーバ１０が所望の特定描画情報を読み出すために使用される。コマンド数は１つの印刷ジョブで抽出されたＰＤＬコマンドの数である。コマンド情報は、更に種別、ｋ個の付帯情報（ｋは１つ以上）、サイズ、及び、データを有する。種別は、ＰＤＬコマンドの種類を示すＩＤである。例えば、１つのページデータの開始を示すＰＤＬコマンド、終了を示すＰＤＬコマンドはプレビューイメージの生成には使用されないので、印刷管理サーバ１０は種別を見て特定描画情報ＤＢ１００１からＰＤＬコマンドを読み出すかどうかを判断できる。なお、この２つのＰＤＬコマンドはページの区切りを検出するために使用される（特定描画情報でない描画情報の一例である）。
【００７２】
付帯情報は、プレビューイメージの生成に当該ＰＤＬコマンドを使用するか又は使用しないかを印刷管理サーバ１０が判断するための情報である。付帯情報について補足する。例えばフォントを定義するＰＤＬコマンドはフォントＩＤ１＝Ａフォント、フォントＩＤ２＝Ｂフォント、フォントＩＤ３＝Ｃフォントのようにフォントを定義する。また、フォントを定義する場合でもプリンタ６０の内部のフォントが定義される場合とビットマップで作成されているＰＤＬコマンド内のフォントが定義される場合がある。このような場合、付帯情報には、フォントのＩＤと共に、プリンタ６０のフォントとＰＤＬコマンド内のどちらのフォントが定義されたのかの区別が登録される。この区別がプリンタ６０の内蔵のフォントを使用することを示す場合、印刷管理サーバ１０はフォントのＩＤが分かればフォントを使用できるのでＰＤＬコマンドを読み出す必要がないと判断できる。ＰＤＬコマンド内のフォントを使用することを示す場合、フォントの内容がＰＤＬコマンド内にあるのでＰＤＬコマンドを読み出す必要があると判断できる。
【００７３】
また、フォントを制御するＰＤＬコマンドは、フォントを使用するものとフォントの使用を解除するものがある。フォントを使用するＰＤＬコマンドではフォントのＩＤと使用する旨が付帯情報となる。この場合、ＰＤＬコマンド内にフォントに関する記述（例えば、フォントに関する新たな定義や使用方法など）がある場合があるので、印刷管理サーバ１０はＰＤＬコマンドを読み出す必要があると判断する。フォントの使用を解除するＰＤＬコマンドではフォントのＩＤと使用しない旨が付帯情報となる。この場合、印刷管理サーバ１０はＰＤＬコマンドを読み出す必要がないと判断する。
【００７４】
このように、印刷管理サーバ１０は、付帯情報によってプレビュー要求ページの前ページまでのＰＤＬコマンドを読み出す必要があるか否かを判断できる。
【００７５】
サイズはＰＤＬコマンドのサイズを意味する。サイズはどこからどこまでが１つのＰＤＬコマンドかを示す。上記のようにプレビューイメージの生成の際、印刷管理サーバ１０がＰＤＬコマンドを読み出す場合があるが、このサイズにより１つのＰＤＬコマンドを特定して読み出すことができる。換言すると、プレビュー要求ページのプレビューイメージを印刷管理サーバ１０が生成する際に、特定描画情報ＤＢ１００１において１つのＰＤＬコマンドがどこからどこまでかをＰＤＬコマンドを解析することなく特定できる。
【００７６】
データはＰＤＬコマンドが複製（コピー）されたものである。ＰＤＬコマンドが複製（コピー）されるのは、付帯情報で説明したようにＰＤＬコマンドの全体がプレビュー要求ページのプレビューイメージの生成に必要な場合があるためである。
【００７７】
なお、特定描画情報には、ジョブ情報（印刷向き/用紙サイズ/指定トレイ等）などが含まれるが、表２では省略されている。これらもページごとに指定されることが可能であり、プレビュー要求ページのプレビューイメージの生成に使用される。
【００７８】
【表３】
2017111651.tif 000005
表３は、印刷管理サーバ１０の記憶部１０００に構築される印刷ジョブＤＢ１００３が有する情報をテーブル状に示す。このテーブルを印刷ジョブテーブルという。印刷ジョブＤＢ１００３にはジョブごとにジョブデータサイズと印刷ジョブデータが登録される。印刷管理サーバ１０は任意の印刷ジョブを印刷ジョブＤＢ１００３から読み出すことができる。
【００７９】
（印刷管理サーバ１０の機能について）
印刷管理サーバ１０の送受信部１１は、図４に示したＣＰＵ５０１や通信Ｉ／Ｆ５０８等により実現され、クライアント３０や業務ホスト５０などと各種のデータの送受信を行う。なお、以下では印刷管理サーバ１０がデータを送受信する場合でも「送受信部１１を介して」という記載を省略する場合がある。
【００８０】
印刷管理サーバ１０の印刷データ取得部１２は、図４に示したＣＰＵ５０１等により実現され、業務ホスト５０から送信されたデータが印刷データであることをヘッダー部分などから検出して印刷データを取得する。印刷データ取得部１２は、ジョブＩＤを採番したり印刷データを１つのファイルに保管したりする。
【００８１】
構造解析部１３、特定描画情報抽出部１４及び印刷ジョブ蓄積部１５を区別しない場合、これらをまとめて印刷データ解析部２０と称する。まず、印刷管理サーバ１０の構造解析部１３は、図４に示したＣＰＵ５０１等により実現され、印刷データを解析して表１に示した解析データテーブルを生成し、ジョブ解析データＤＢ１００２に記憶させる。
【００８２】
印刷管理サーバ１０の特定描画情報抽出部１４は、図４に示したＣＰＵ５０１等により実現され、印刷データを解析して表２に示した特定描画情報テーブルを生成し、特定描画情報ＤＢ１００１に記憶させる。
【００８３】
印刷管理サーバ１０の印刷ジョブ蓄積部１５は図４に示したＣＰＵ５０１等により実現され、印刷データから解析の終わったＰＤＬコマンドを随時、印刷ジョブＤＢ１００３に記憶させる。印刷ジョブ蓄積部１５は印刷データを印刷ジョブとして印刷ジョブＤＢ１００３に記憶させる。なお、業務ホスト５０から印刷データを取得した際に印刷ジョブＤＢ１００３に記憶してもよい。
【００８４】
印刷管理サーバ１０のサーバ管理部１６は、図４に示したＣＰＵ５０１等により実現され、印刷管理サーバ１０がサーバとして動作する際の全体的な制御を行う。例えば、クライアント３０と通信していることを利用して、印刷ジョブの一覧、状態（未実行、実行中、実行済みなど）、エラーが発生した場合のエラー内容などをクライアントに送信する。また、クライアント３０からプレビューイメージの表示要求を取得し、プレビューイメージを送信する。あるいは、Ｗｅｂサーバ又はＷｅｂアプリとして動作し、ＨＴＭＬ、JavaScript（登録商標）データ、及び、ＣＳＳなど画面情報をクライアント３０に送信する。
【００８５】
印刷管理サーバ１０のプレビュー管理部１８は、図４に示したＣＰＵ５０１等により実現され、プレビューイメージを生成するための制御を行う。例えば、ジョブ解析データＤＢ１００２と特定描画情報ＤＢ１００１にアクセスしてプレビューイメージの生成に必要な情報（主に特定描画情報）を取得する。
【００８６】
印刷管理サーバ１０のプレビュー画像生成部１７は、図４に示したＣＰＵ５０１等により実現され、プレビュー管理部１８が取得したプレビューイメージの生成に必要な情報を用いてプレビューイメージを生成する。すなわち、ＰＤＬコマンドを解釈してレンダリングと呼ばれる処理を行い画像データを生成する。なお、画像データのフォーマットはＪＰＥＧ、ビットマップ、又は、ＧＩＦなどであるがこれらには限られない。
【００８７】
記憶読出部１９は、図４に示されるＣＰＵ５０１等により実現され、記憶部１０００に記憶されている各種データの読み出し、及び、記憶部１０００への各種データの書き込みを行う。なお、以下の説明では、記憶読出部１９が記憶部１０００に読み書きする場合でも「記憶読出部１９を介して」という説明を省略する場合がある。
【００８８】
<クライアント３０の機能構成>>
クライアント３０は、送受信部３１、操作受付部３２、表示制御部３３、及び、記憶読出部３９を有している。これら各部は、図４に示されている各構成要素のいずれかが、ＨＤＤ５０５からＲＡＭ５０２に展開されたプログラムに従ったＣＰＵ５０１からの命令によって動作することで実現される機能、又は提供される手段である。
【００８９】
また、クライアント３０は、図４に示されているＲＡＭ５０２、ＲＯＭ５０６及びＨＤＤ５０５のいずれかによって構築される記憶部３０００を有している。記憶部３０００には、クライアントアプリ３０１０が記憶されている。クライアントアプリ３０１０は、記録媒体５０４ａに記憶された状態で配布されたり、プログラムを配信するサーバからダウンロードされたりすることで配信される。
【００９０】
クライアント３０の操作受付部３２は、図４に示したＣＰＵ５０１及び入力装置５０３等により実現され、クライアント３０に対するユーザの各種の操作を受け付ける。
【００９１】
クライアント３０の表示制御部３３は、図４に示したＣＰＵ５０１及び表示装置５０７等により実現され、表示装置５０７に各種の情報を表示する。本実施形態ではプレビューイメージを表示装置５０７に表示する。
【００９２】
記憶読出部３９は、図４に示されるＣＰＵ５０１等により実現され、記憶部３０００に記憶されている各種データの読み出し、及び、記憶部３０００への各種データの書き込みを行う。なお、以下の説明では、記憶読出部３９が記憶部３０００に読み書きする場合でも「記憶読出部３９を介して」という説明を省略する場合がある。
【００９３】
＜動作手順＞
図６は、印刷データの取得からプレビューイメージの表示までの手順を示すシーケンス図の一例である。
【００９４】
S1:業務ホスト５０は作成した印刷データを印刷管理サーバ１０に送信する。印刷管理サーバ１０の印刷データ取得部１２は印刷データを取得する。印刷データ取得部１２はジョブＩＤを採番し印刷データを１つのファイルに保管する。
【００９５】
S2：印刷データ取得部１２は印刷データを印刷データ解析部２０に送出する。
【００９６】
S3:印刷管理サーバ１０の構造解析部１３は、印刷データ取得部１２から通知を受けて、印刷データを解析し解析データをジョブ解析データＤＢ１００２に記憶させる。詳細は図８にて説明される。
【００９７】
S4: 印刷管理サーバ１０の特定描画情報抽出部１４は、印刷データ取得部１２から通知を受けて、印刷データを解析し特定描画情報を抽出して特定描画情報ＤＢ１００１に記憶させる。詳細は図８にて説明される。
【００９８】
S5:印刷管理サーバ１０の印刷ジョブ蓄積部１５は、印刷データから印刷ジョブを作成する。具体的には、印刷データに必要な情報が付与されているかを確認したり、ファイル名を付与したりする。そして、印刷ジョブＤＢ１００３に印刷ジョブを記憶させる。
【００９９】
次に、ユーザは任意のタイミングでクライアント３０を操作して、プレビューイメージの表示を要求する。
【０１００】
S6:ユーザはクライアント３０を操作して印刷管理サーバ１０にログインして、サーバ管理部１６から印刷ジョブのリストを取得する。ユーザが使用する権限がある印刷ジョブのみが提供されてもよい。ユーザはクライアント３０が表示装置５０７に表示するＧＵＩ画面からプレビューイメージを表示したい任意の印刷ジョブとそのページを選択する。クライアント３０の操作受付部３２は印刷ジョブとページ（プレビュー要求ページ）の選択を受け付ける。
【０１０１】
S7：クライアント３０はプレビューイメージの表示要求と共に、ユーザが選択した印刷ジョブのジョブＩＤとプレビュー要求ページを印刷管理サーバ１０に送信する。
【０１０２】
S8：印刷管理サーバ１０のサーバ管理部１６は、プレビューイメージを生成させるためプレビュー管理部１８に対し、ユーザが選択した印刷ジョブのジョブＩＤとページ（プレビュー要求ページ）を送出する。
【０１０３】
S9：印刷管理サーバ１０のプレビュー管理部１８は、特定描画情報ＤＢ１００１からプレビュー要求ページの前ページまでの特定描画情報を読み出す。
【０１０４】
S10：プレビュー管理部１８は、ジョブ解析データＤＢ１００２からプレビュー要求ページのデータ開始オフセット（オフセット値）とデータサイズを取得する。
【０１０５】
S11：プレビュー管理部１８は、このオフセット値とデータサイズを元に印刷ジョブＤＢ１００３からプレビュー要求ページの印刷データを取得する。
【０１０６】
S12：プレビュー管理部１８は、ステップＳ９で取得したプレビュー要求ページの前ページまでの特定描画情報とステップＳ１１で取得したプレビュー要求ページの印刷データをプレビュー画像生成部１７に送出して、プレビューイメージの生成を要求する。
【０１０７】
S13：プレビュー画像生成部１７は、プレビュー管理部１８から渡されたプレビュー要求ページの前ページまでの特定描画情報とプレビュー要求ページの印刷データを元にプレビューイメージを生成する。詳細は図９にて説明される。
【０１０８】
S14：プレビュー画像生成部１７は、生成したプレビューイメージをプレビュー管理部１８に送出する。
【０１０９】
S15：プレビュー管理部１８はプレビュー画像生成部１７から取得したプレビューイメージをサーバ管理部１６に送出する。
【０１１０】
S16：サーバ管理部１６は、プレビュー管理部１８から取得したプレビューイメージをクライアント３０に送信する。
【０１１１】
S17：クライアント３０はサーバ管理部１６からプレビューイメージを受信して、表示制御部３３がプレビューイメージを表示装置５０７に表示する。
【０１１２】
このような手順によれば、印刷データの取得時にプレビューイメージを生成するための特定描画情報を各ページごとに特定描画情報ＤＢ１００１に記憶し、各ページのオフセット値をジョブ解析データＤＢ１００２に記憶しているので、プレビューイメージを生成するまでの時間を短縮できる。
【０１１３】
＜印刷データの解析中のプレビューイメージの表示＞
図７は、印刷データの解析中にプレビューイメージを表示する手順を示すシーケンス図の一例である。なお、図７では主に図６との相違を説明する。ステップＳ１〜Ｓ５の処理は図６と同様である。
【０１１４】
S6:印刷管理サーバ１０の印刷データ解析部２０は、サーバ管理部１６に解析済みのページ数を通知する。これにより、サーバ管理部１６はクライアント３０からのプレビューイメージの表示要求に対し、プレビュー要求ページが解析済みかどうかを判断できる。
【０１１５】
S7: 印刷管理サーバ１０のサーバ管理部１６は、解析中の印刷データの何ページ目までがプレビュー可能であるか又は何ページまで解析済みか（以下、プレビュー可能ページ数という）を印刷ジョブのジョブ名やジョブＩＤなどと共にクライアント３０に通知する。なお、クライアント３０のクライアントアプリは印刷管理サーバ１０にログインしており、印刷管理サーバ１０と定期的に通信している。したがって、ファイアウォールなどでクライアント３０と印刷管理サーバ１０が隔たれていても任意のタイミングで印刷管理サーバ１０がプレビュー可能ページ数を通知できる。サーバ管理部１６は原理的に１ページの解析が終わるごとにプレビュー可能ページ数をクライアント３０に通知できる。ただし、通信負荷などを考慮して５ページ単位や１０ページ単位などでクライアント３０に通知してもよい。また、図７では、印刷管理サーバ１０がクライアント３０にプレビュー可能ページ数を通知しているが、クライアント３０から問い合わせがあった場合にだけプレビュー可能ページ数を通知してもよい。
【０１１６】
S8:クライアント３０の送受信部３１はジョブ名やジョブＩＤ及びプレビュー可能ページ数を受信し、表示制御部３３がプレビュー可能ページ数を表示装置５０７に表示する。
【０１１７】
S9：ユーザはクライアント３０がプレビュー可能ページ数と共に表示したジョブ名により印刷ジョブを選択し、任意のページ（プレビュー要求ページ）のプレビューイメージを表示させる操作を行う。クライアント３０の操作受付部３２は印刷ジョブの選択とプレビュー要求ページの選択を受け付ける。
【０１１８】
S10:クライアント３０の送受信部３１は、プレビューイメージの表示要求と共に、印刷ジョブのジョブＩＤとページ（プレビュー要求ページ）を印刷管理サーバ１０に送信する。
【０１１９】
以下のステップＳ１１〜Ｓ２０の処理は図６のＳ８〜Ｓ１７と同様である。
【０１２０】
このような処理によれば、印刷データの解析中に解析が完了しているページのプレビューイメージをクライアント３０が表示することができる。
【０１２１】
＜解析データと特定描画情報の取得＞
図８は、印刷管理サーバ１０が解析データと特定描画情報を印刷データから取得する手順を示すフローチャート図の一例である。図８の処理は、例えば印刷管理サーバ１０が印刷データを取得するとスタートする。図８の処理は、各ページデータのＰＤＬコマンドごとに繰り返し実行される。
【０１２２】
印刷管理サーバ１０の構造解析部１３は、印刷データ取得部１２が取得した印刷データのＰＤＬコマンドをページの先頭から順番に１つ取り出す（Ｓ１０）。
【０１２３】
構造解析部１３は、ＰＤＬコマンドが解析データテーブルの生成に必要なものかどうかを判断する（Ｓ２０）。解析データテーブルの生成に必要なＰＤＬコマンドは、１つのページデータの開始を示すＰＤＬコマンド又は終了を示すＰＤＬコマンドの少なくとも一方である。開始を示すＰＤＬコマンドが分かればその直前のＰＤＬコマンドが終了を示すＰＤＬコマンドであり、終了を示すＰＤＬコマンドが分かればその直後のＰＤＬコマンドが開始を示すＰＤＬコマンドである。ただし、ＰＤＬコマンド及び終了を示すＰＤＬコマンドの両方に着目することで、ページの区切りを正確に決定できる。
【０１２４】
ステップＳ２０の判断がＹｅｓの場合、構造解析部１３はページデータの開始オフセットとデータサイズを解析データテーブルに登録する（Ｓ３０）。すなわち、ページデータの開始を示すＰＤＬコマンドから終了を示すＰＤＬコマンドの直前までを１つのページデータとしてデータサイズを決定する。このデータサイズをページ順に合計していくことで次ページのデータ開始オフセットが得られる。
【０１２５】
次に、特定描画情報抽出部１４は、ステップＳ１０で取得したＰＤＬコマンドが特定描画情報を抽出すべきＰＤＬコマンドかどうかを判断する（Ｓ４０）。すなわち、プレビュー要求ページの描画に必要なＰＤＬコマンド又はＰＤＬコマンドが記述されているページよりも後のページの描画に影響するＰＤＬコマンドかどうかを判断する。このＰＤＬコマンドは具体的には表２で説明したＰＤＬコマンドであり、既知のＰＤＬコマンドとして特定描画情報抽出部１４に予め登録されている。
【０１２６】
ステップＳ４０の判断がＹｅｓの場合、特定描画情報抽出部１４は、特定描画情報を特定描画情報ＤＢ１００１に記憶させる（Ｓ５０）。具体的には、コマンド数（蓄積コマンド数）を１つ大きくすると共にコマンド情報を特定描画情報ＤＢ１００１に記憶させる。また、コマンド情報のサイズに登録した値を情報データサイズに合計する。これにより、蓄積コマンド数と情報データサイズは１つのＰＤＬコマンドの解析のたびに増大させられることができる。なお、特定描画情報抽出部１４は予め保持するＰＤＬコマンドと種別の対応にしたがって、コマンド情報の種別を設定する。付帯情報には、ＰＤＬコマンドに応じて表２で説明した情報を設定する。サイズは、ＰＤＬの文法などに基づいて解析して得られた１つのＰＤＬコマンドの最初から終わりまでのＰＤＬコマンドのサイズであり、データはＰＤＬコマンドそのものでよい。
【０１２７】
次に、印刷ジョブ蓄積部１５は、ステップＳ１０で取得したＰＤＬコマンドを印刷ジョブＤＢ１００３に格納する（Ｓ６０）。表３のジョブデータサイズは１つのＰＤＬコマンドの解析が終わるごとに該ＰＤＬコマンドのサイズが合計されて大きくなり、印刷ジョブデータには１つのＰＤＬコマンドが順番に蓄積される。
【０１２８】
以上で１つのＰＤＬコマンドの解析が終わったので、同様に印刷データ解析部２０はページ内にある全てのＰＤＬコマンドの解析を行う。そして、１つのページの全てのＰＤＬコマンドの解析が終わると次のページの最初のＰＤＬコマンドから解析を開始する。以上を繰り返すことで、全てのページの全てのＰＤＬコマンドを解析できる。
【０１２９】
＜プレビューイメージの生成＞
図９は、印刷管理サーバ１０がプレビューイメージを生成する手順を示すフローチャート図の一例である。図９の処理は、例えばクライアント３０からプレビューイメージの表示要求を受信するとスタートする。まず、プレビュー管理部１８は、１ページ目からプレビュー要求ページの前ページまでのページの順番に１ページ分の特定描画情報を特定描画情報ＤＢ１００１から取得する処理を行う。
【０１３０】
プレビュー管理部１８は、特定描画情報ＤＢ１００１から１ページ分の特定描画情報を取得する（Ｓ１１０）。この際、プレビュー管理部１８は特定描画情報ＤＢ１００１からプレビューイメージの生成に使用されるＰＤＬコマンドのみを取得する。まず、特定描画情報ＤＢ１００１のコマンド情報の種別（ＰＤＬコマンドの種類）のうちページの開始を示すＰＤＬコマンドとページの終了を示すＰＤＬコマンドを取得しないと判断する。また、表２で説明したように各ＰＤＬコマンドの付帯情報を参照して取得する必要があるＰＤＬコマンドのみを取得する。これにより、ＲＡＭ５０２等のリソースを圧迫しにくくなり、また、プレビューイメージの表示処理を高速化できる。
【０１３１】
プレビュー管理部１８は、特定描画情報ＤＢ１００１から取得した特定描画情報と、前ページまで特定描画情報からすでに取得済みの特定描画情報で重複するＰＤＬコマンドがあるか否かを判断する（Ｓ１２０）。すなわち、着目しているページの特定描画情報と前ページまでの特定描画情報に同じ種別のＰＤＬコマンドがあるか否かを判断する。特定描画情報はプレビュー要求ページのプレビューイメージに影響するＰＤＬコマンドであるが、最後に設定された特定描画情報が優先されるためである。したがって、印字領域を指示するもの、回転情報により画像データの向きを指示するもの、フォントを定義するもの、フォントを制御するもの、フォームを定義するもの、フォームを制御するもの、ブラシを定義するもの、及び、ブラシを制御するもの、のそれぞれについて重複するＰＤＬコマンドがあるか否かを判断する。
【０１３２】
ステップＳ１２０の判断がＹｅｓの場合、プレビュー管理部１８は取得済みのＰＤＬコマンドを削除する（Ｓ１３０）。この取得済みのＰＤＬコマンドはステップＳ１４０で蓄積されるＰＤＬコマンドである。
【０１３３】
プレビュー管理部１８は、ステップＳ１１０で取得した特定描画情報を記憶部１０００に記憶しておく（Ｓ１４０）。これにより、現在のページと前ページまでで重複していたＰＤＬコマンドについて、プレビュー要求ページに最も近いＰＤＬコマンドを有効にすることができる。また、現在のページで新たに読み出されたＰＤＬコマンドも記憶することができる（有効にすることができる）。
【０１３４】
以上のステップＳ１１０〜Ｓ１４０の処理を、プレビュー要求ページの前ページまで行う。
【０１３５】
次に、プレビュー管理部１８は、ジョブ解析データＤＢ１００２からプレビュー要求ページのオフセット値とデータサイズを取得する（Ｓ１５０）。
【０１３６】
プレビュー管理部１８は、プレビュー要求ページのオフセット値とデータサイズにしたがって印刷ジョブＤＢ１００３からプレビュー要求ページの印刷データを取得する（Ｓ１６０）。
【０１３７】
次に、プレビュー画像生成部１７は、ステップＳ１４０で最終的に記憶部１０００に記憶されている特定描画情報を反映させたプレビュー要求ページのプレビューイメージを生成する（Ｓ１７０）。具体的には、ステップＳ１４０で最終的に記憶部１０００に記憶されているＰＤＬコマンドのうち、プレビュー要求ページの印刷データと同じ種別のＰＤＬコマンドがあれば、プレビュー要求ページの印刷データに含まれるＰＤＬコマンドを優先してプレビューイメージを生成する。また、記憶部１０００に記憶されているＰＤＬコマンドのうち、プレビュー要求ページの印刷データに含まれないＰＤＬコマンドをプレビュー要求ページに反映させてプレビューイメージを生成する。これにより、プレビュー要求ページより前に設定されている特定描画情報をプレビュー要求ページに反映させてプレビューイメージを生成できる。
【０１３８】
このような手順により、プレビュー要求ページよりも前のページデータに含まれプレビュー要求ページのプレビューイメージに影響する特定描画情報をプレビュー要求ページに反映させることができる。プレビュー要求ページのプレビューイメージに影響する特定描画情報は印刷データの取得時に保存されているので、プレビューイメージを高速に描画できる。コマンド情報の種別と付帯情報により、特定描画情報ＤＢ１００１から読み出すＰＤＬコマンドも最小限に抑制できるため、プレビューイメージの生成に要する時間を短縮できる。また、プレビュー要求ページのオフセット値とデータサイズが印刷データの取得時に保存されているので、プレビュー要求ページのページデータにも高速にアクセスできる。したがって、印刷データの先頭からＰＤＬコマンドを全て解析してプレビューイメージを生成する方法よりも短時間にプレビューイメージを生成できる。ページ数が多いほどこのような効果を得られ易くなる。
【０１３９】
＜変形例１＞
表１にジョブ解析データテーブルを、表２に特定描画情報テーブルを、表３に印刷ジョブテーブルの一例をそれぞれ示した。しかしながら、ジョブ解析データテーブル、特定描画情報テーブル、及び、印刷ジョブテーブルを１つのテーブルで表すこともできる。
【０１４０】
【表４】
2017111651.tif 000006
表４は、ジョブ解析データテーブル、特定描画情報テーブル、及び、印刷ジョブテーブルが合成された合成テーブルを示す。ジョブ解析データテーブル、特定描画情報テーブル、及び、印刷ジョブテーブルの内容は表１〜３と同じであるため相違する点を説明する。表４の合成テーブルでは、特定描画情報テーブル、ジョブ解析データテーブル、及び、印刷ジョブテーブルのそれぞれの開始位置を有する。これにより、印刷管理サーバ１０は各テーブルの開始位置を特定できるので表４のように合成テーブルが記憶部１０００に記憶されていても各テーブルにアクセスできる。
【０１４１】
＜変形例２＞
図３等では、プレビューイメージを生成する印刷管理サーバ１０とプレビューイメージを生成するクライアントが別々の装置であったが、自身が有する表示装置５０７に印刷管理サーバ１０がプレビューイメージを表示することもできる。この場合、印刷管理サーバ１０は印刷ジョブとプレビュー要求ページを直接、受け付け、プレビューイメージを生成し表示装置５０７に表示すればよい。
【０１４２】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１４３】
例えば、図３等では業務ホスト５０とクライアント３０が別々の装置として示されているが、両者が一体でもよい。すなわち、印刷データを送信した装置がプレビューイメージの表示を要求してもよい。また、印刷管理サーバ１０はプリンタ６０と一体でもよい。この場合、プリンタ６０がプレビューイメージをクライアント３０に送信したり、表示したりする。
【０１４４】
また、上記の実施形態では１ページずつプレビューイメージが要求されたが、クライアントは複数ページをまとめて要求できる。
【０１４５】
また、図５等の構成例は、印刷管理サーバ１０による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本発明が制限されることはない。印刷管理サーバ１０の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０１４６】
また、例えば、記憶部１０００に記憶されている特定描画情報ＤＢ１００１、ジョブ解析データＤＢ１００２、及び、印刷ジョブＤＢ１００３は印刷管理サーバ１０が有する他、ネットワーク上に存在してもよい。
【０１４７】
なお、印刷管理サーバ１０は情報処理装置の一例であり、印刷データ取得部１２は印刷データ取得手段の一例であり、サーバ管理部１６は要求受付手段の一例であり、特定描画情報ＤＢ１００１は描画情報記憶部の一例であり、プレビュー管理部１８は読出手段の一例であり、プレビュー画像生成部は生成手段の一例である。発明を実施するための形態の特定描画情報はプレビュー用描画情報の一例であり、任意のＰＤＬコマンドは特許請求の範囲の描画情報の一例であり、付帯情報は判断情報の一例であり、印刷ジョブＤＢ１００３は印刷データ記憶部の一例であり、ジョブ解析データＤＢ１００２は位置情報記憶手段の一例である。構造解析部１３は構造解析手段の一例であり、特定描画情報抽出部１４は描画情報保存手段の一例であり、クライアント３０は端末の一例であり、印刷管理システム１００は画像処理システムの一例であり、表示制御部３３は表示手段の一例である。
【符号の説明】
【０１４８】
１          印刷システム
１０        印刷管理サーバ
１３        構造解析部
１４        描画用情報抽出部
１５        印刷ジョブ蓄積部
１６        サーバ管理部
１７        プレビュー画像生成部
１８        プレビュー管理部
２０        印刷データ解析部
３０        クライアント
５０        業務ホスト
６０        プリンタ
１００      印刷管理システム
１００１    特定描画情報ＤＢ
１００２    ジョブ解析データＤＢ
１００３    印刷ジョブＤＢ
【先行技術文献】
【特許文献】
【０１４９】
【特許文献１】特開2010-238086号公報
【図１】
2017111651.tif 000007
【図２】
2017111651.tif 000008
【図３】
2017111651.tif 000009
【図４】
2017111651.tif 000010
【図５】
2017111651.tif 000011
【図６】
2017111651.tif 000012
【図７】
2017111651.tif 000013
【図８】
2017111651.tif 000014
【図９】
2017111651.tif 000015