(57)【要約】【課題】複数のフィルタでFixed Pageを編集する場合であっても、パフォーマンスの低下を抑えることができるプログラム、情報処理装置及び記録媒体を提供することを課題とする。【解決手段】構造化文書形式のデータを処理する処理プログラム１２３を少なくとも１つ有し、処理プログラム１２３は、構造化文書形式のデータに含まれる一つ以上のページデータを処理するページデータ処理手段と、描画データを含むページ共通描画用のデータを生成し、ページ処理手段によって処理されたページデータにページ共通描画用のデータを関連付けるページ共通描画用データ生成手段と、構造化文書形式のデータと関連付けられているページ共通描画用データに含まれる描画データを編集するページ共通描画用データ編集手段との少なくとも一方を有することを特徴とするプログラムにより、上記課題を解決する。【選択図】図１０
2013196554.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書形式のデータを画像形成装置が処理できる形式のプリントデータに変換するプログラムであって、
前記構造化文書形式のデータを処理する処理プログラムを少なくとも１つ有し、
前記処理プログラムは、
前記構造化文書形式のデータに含まれる一つ以上のページデータを処理するページデータ処理手段と、
所定の描画データを含むページ共通描画用のデータを生成し、前記ページ処理手段によって処理された前記ページデータに前記ページ共通描画用のデータを関連付けるページ共通描画用データ生成手段と、前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データに含まれる描画データを編集するページ共通描画用データ編集手段との少なくとも一方を有する
ことを特徴とするプログラム。
【請求項２】
前記ページデータ処理手段と前記ページ共通描画用データ生成手段とを有する第１の処理プログラムは、前記ページデータ処理手段と前記ページ共通描画用データ編集手段とを有する第２のプログラムが前記構造化文書形式のデータに含まれる一つ以上のページデータを処理するとき、前記ページ共通描画用のデータを前記ページ共通描画用データ生成手段に生成させること
を特徴とする請求項１記載のプログラム。
【請求項３】
前記第１の処理プログラムは、前記ページ共通描画用のデータに一意の識別子を付し、
前記第２の処理プログラムは、前記一意の識別子により前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データを特定すること
を特徴とする請求項１又は２記載のプログラム。
【請求項４】
前記第２の処理プログラムは、前記第１の処理プログラムによって処理された前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データが無いとき、前記構造化文書形式のデータを処理するページデータ編集手段を更に有すること
を特徴とする請求項１乃至３何れか一項記載のプログラム。
【請求項５】
前記第１の処理プログラムは、前記構造化文書形式のデータを処理し、
前記第２の処理プログラムは、前記第１の処理プログラムによって処理された前記構造化文書形式のデータの前記各ページデータで共通の描画データを、前記ページ共通描画用のデータに追記すること
を特徴とする請求項１乃至４何れか一項記載のプログラム。
【請求項６】
構造化文書形式のデータを画像形成装置が処理できる形式のプリントデータに変換する情報処理装置であって、
前記構造化文書形式のデータを処理する処理手段を少なくとも１つ有し、
前記処理手段は、
前記構造化文書形式のデータに含まれる一つ以上のページデータを処理するページデータ処理手段と、
所定の描画データを含むページ共通描画用のデータを生成し、前記ページ処理手段によって処理された前記ページデータに前記ページ共通描画用のデータを関連付けるページ共通描画用データ生成手段と、前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データに含まれる描画データを編集するページ共通描画用データ編集手段との少なくとも一方を有する
ことを特徴とする情報処理装置。
【請求項７】
前記ページデータ処理手段と前記ページ共通描画用データ生成手段とを有する第１の処理手段は、前記ページデータ処理手段と前記ページ共通描画用データ編集手段とを有する第２の処理手段が前記構造化文書形式のデータに含まれる一つ以上のページデータを処理するとき、前記ページ共通描画用のデータを前記ページ共通描画用データ生成手段に生成させること
を特徴とする請求項６記載の情報処理装置。
【請求項８】
前記第１の処理手段は、前記ページ共通描画用のデータに一意の識別子を付し、
前記第２の処理手段は、前記一意の識別子により前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データを特定すること
を特徴とする請求項６又は７記載の情報処理装置。
【請求項９】
前記第２の処理手段は、前記第１の処理手段によって処理された前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データが無いとき、前記構造化文書形式のデータを処理するページデータ編集手段を更に有すること
を特徴とする請求項６乃至８何れか一項記載の情報処理装置。
【請求項１０】
前記第１の処理手段は、前記構造化文書形式のデータを処理し、
前記第２の処理手段は、前記第１の処理手段によって処理された前記構造化文書形式のデータの前記各ページデータで共通の描画データを、前記ページ共通描画用のデータに追記すること
を特徴とする請求項６乃至９何れか一項記載の情報処理装置。
【請求項１１】
請求項１乃至５何れか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び記録媒体に関する。
【背景技術】
【０００２】
フィルタパイプライン形式のＸＰＳ（XML Paper Specification）プリンタドライバは従来から知られている。ＸＰＳは電子文書を記述するためのＸＭＬベースの文書ファイルフォーマットである。ＸＰＳプリンタドライバでは、ＸＰＳ形式のドキュメント（ＸＰＳドキュメント）内のページを表す概念である「Fixed Page」を編集するときにFixed Pageを再作成していた。
【０００３】
なお、構造化文書形式のデータを受信しながら解析し、パーツデータを取得する際、当該データを繰り返し先頭から検索することなく、必要なパーツデータの取得時間を削減して、印刷処理時間を向上させることができる印刷制御装置は、従来から知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のフィルタパイプライン形式のＸＰＳプリンタドライバでは複数のフィルタでFixed Pageを編集する場合に、各フィルタでFixed Pageを再作成するためにパフォーマンスが低下してしまうという問題があった。
【０００５】
例えば従来のフィルタパイプライン形式のＸＰＳプリンタドライバでは、１つ目のフィルタでFixed Pageを編集し、２つ目のフィルタでウォータマーク（Watermark）や地紋のように全ページ共通の処理を行う場合、１つ目のフィルタで再作成したFixed Pageを２つ目のフィルタでも再作成しなければならない。したがって、従来のフィルタパイプライン形式のＸＰＳプリンタドライバでは、２つ目のフィルタで全てのFixed Pageに対して同じ描画情報を挿入するという単純な処理であるにも関わらず、全てのFixed Pageを再作成しなければならないため、パフォーマンスが低下してしまう。
【０００６】
本発明は、上記の点に鑑みなされたもので、複数のフィルタでFixed Pageを編集する場合であっても、パフォーマンスの低下を抑えることができるプログラム、情報処理装置及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本願請求項１は、構造化文書形式のデータを画像形成装置が処理できる形式のプリントデータに変換するプログラムであって、前記構造化文書形式のデータを処理する処理プログラムを少なくとも１つ有し、前記処理プログラムは、前記構造化文書形式のデータに含まれる一つ以上のページデータを処理するページデータ処理手段と、所定の描画データを含むページ共通描画用のデータを生成し、前記ページ処理手段によって処理された前記ページデータに前記ページ共通描画用のデータを関連付けるページ共通描画用データ生成手段と、前記構造化文書形式のデータと関連付けられている前記ページ共通描画用データに含まれる描画データを編集するページ共通描画用データ編集手段との少なくとも一方を有することを特徴とするプログラムであることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のフィルタでFixed Pageを編集する場合であっても、パフォーマンスの低下を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る印刷システムの一例の構成図である。
【図２】本実施形態に係る端末装置の一例のハードウェア構成図である。
【図３】フィルタパイプライン形式のＸＰＳプリンタドライバの一例について説明する説明図である。
【図４】フィルタパイプライン形式のＸＰＳプリンタドライバの印刷時のデータの流れについて説明する一例の説明図である。
【図５】ＸＰＳデータの一例の構成図である。
【図６】ＦＰのＸＭＬ記述と表示される画面イメージとを示した説明図である。
【図７】ＲＲＤを追加するフィルタモジュールの一例の構成図である。
【図８】ＲＲＤを編集するフィルタモジュールの一例の構成図である。
【図９】集約フィルタモジュール及びウォータマークフィルタモジュールの入力、出力結果の一般的なイメージ図である。
【図１０】集約フィルタモジュール及びウォータマークフィルタモジュールの入力、出力結果の一例のイメージ図である。
【図１１】集約フィルタモジュールの通常処理の一般的なフローチャートである。
【図１２】ウォータマークフィルタモジュールの通常処理の一般的なフローチャートである。
【図１３】集約フィルタモジュールの処理の一例のフローチャートである。
【図１４】ウォータマークフィルタモジュールの処理の一例のフローチャートである。
【図１５】ページ共通描画用ＲＲＤの一例の説明図である。
【図１６】ページ共通描画用ＲＲＤを使ったＦＰの一例の説明図である。
【図１７】図１６のＸＭＬ記述が表現しているＦＰの出力イメージ図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、詳細に説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る印刷システムの一例の構成図である。印刷システム１は端末装置１０と画像形成装置２０とが、インターネットやＬＡＮなどのネットワークにより有線又は無線を問わず接続された構成を一例として示している。なお、端末装置１０と画像形成装置２０とは、ＵＳＢ（Universal Serial Bus）ケーブル等の通信経路によりローカル接続しても構わない。
【００１１】
端末装置１０は、ＰＣ（パーソナルコンピュータ）等のコンピュータにより構成することができる。画像形成装置２０は、プリンタやＭＦＰ（複合機）等、端末装置１０から受信したプリントデータに基づき、用紙に画像を形成した印刷物を出力する装置により構成することができる。
【００１２】
印刷システム１は、端末装置１０から画像形成装置２０にプリントデータを送信して印刷を要求することにより、画像形成装置２０にプリントデータに従った画像の印刷を行わせることができる。なお、印刷システム１は端末装置１０、画像形成装置２０の数が任意であり、複数台であっても構わない。
【００１３】
図１は更に、端末装置１０からの要求により画像形成装置２０に印刷を行わせる動作に関連する機能の構成を示す。端末装置１０は、アプリケーション１１、プリンタドライバ１２、ポートモニタ１３を備える。
【００１４】
アプリケーション１１は、ワードプロセッサや表計算、ドローイングを始めとする種々の機能を実現するためのプログラムである。ユーザは、アプリケーション１１で取り扱う文書や図等を印刷するために、アプリケーション１１に対して印刷の要求を行う。
【００１５】
プリンタドライバ１２は、アプリケーション１１が出力する、印刷すべき画像の内容を示す文書データを、画像形成装置２０が処理できる形式のプリンタ言語で記載されたプリントデータに変換する。
【００１６】
例えばアプリケーション１１は、ユーザが印刷を要求した場合、指定された画像形成装置２０と対応するプリンタドライバ１２に文書データを渡す。そして、プリンタドライバ１２は文書データを、指定された画像形成装置２０が処理できる形式のプリントデータに変換して例えばスプールディレクトリ（図示せず）にスプールする。
【００１７】
ポートモニタ１３は、端末装置１０と画像形成装置２０との間のデータの転送を行う機能を有する。ポートモニタ１３はスプールディレクトリにスプールされたデータを、画像形成装置２０に送信する。
【００１８】
一方、画像形成装置２０は、通信Ｉ／Ｆ部２１、主制御部２２、プリントエンジン２３を備える。通信Ｉ／Ｆ部２１は、端末装置１０から送信されるプリントデータを受信して主制御部２２に渡す機能を有する。主制御部２２は、通信Ｉ／Ｆ部２１から渡されたプリントデータに基づいてプリントエンジン２３を駆動し、プリントデータが示す内容の画像を印刷させる機能を有する。この印刷に係る機能は、例えばプリントデータに基づいて画像メモリに描画を行い、ビットマップ形式の画像データを生成し、その画像データに基づいてプリントエンジン２３を駆動することにより、用紙上に、受信したプリントデータに基づく画像を形成した印刷物を出力させるものである。
【００１９】
＜ハードウェア構成＞
端末装置１０は例えば図２に示すハードウェア構成により実現される。図２は本実施形態に係る端末装置の一例のハードウェア構成図である。
【００２０】
図２に示した端末装置１０は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ１０４、ＲＯＭ１０５、ＣＰＵ１０６、通信Ｉ／Ｆ１０７及びＨＤＤ１０８などを備え、それぞれがバスＢで相互に接続されている。
【００２１】
入力装置１０１はキーボードやマウスなどを含み、端末装置１０に各操作信号を入力するのに用いられる。表示装置１０２はディスプレイなどを含み、端末装置１０による処理結果を表示する。
【００２２】
通信Ｉ／Ｆ１０７は端末装置１０をネットワークに接続するインタフェースである。これにより、端末装置１０は通信Ｉ／Ｆ１０７を介して、画像形成装置２０とデータ通信を行うことができる。
【００２３】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、端末装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、及びＯＳ上において各種機能を提供するアプリケーション１１などがある。また、ＨＤＤ１０８は格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００２４】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、端末装置１０は外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ等がある。
【００２５】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、端末装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２６】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８などの記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、端末装置１０全体の制御や機能を実現する演算装置である。そして、本実施形態に係る端末装置１０は上記ハードウェア構成により、各種機能を実現できる。
【００２７】
なお、画像形成装置２０のハードウェア構成については図示を省略する。画像形成装置２０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等によって構成される制御部と、通信Ｉ／Ｆと、電子写真方式やインクジェット方式等、任意の方式で用紙に画像を形成するプリントエンジン２３とを備えている。
【００２８】
＜ソフトウェア構成＞
図３はフィルタパイプライン形式のＸＰＳプリンタドライバの一例について説明する説明図である。フィルタパイプライン形式のＸＰＳプリンタドライバは図１に示したプリンタドライバ１２の一例である。
【００２９】
例えばＷｉｎｄｏｗｓ（登録商標）で採用されているＸＰＳプリンタドライバはフィルタパイプライン形式になっている。画像形成装置２０のメーカが提供するＸＰＳプリンタドライバパッケージ１２ＡはＵＩモジュール１２１、フィルタ設定ファイル１２２、１つ以上のフィルタモジュール１２３、ＩＮＦファイル１２４を備える。
【００３０】
ＵＩモジュール１２１は印刷設定を処理する。フィルタ設定ファイル１２２はフィルタモジュール１２３の構成を定義する。フィルタモジュール１２３は集約、ウォータマークや地紋の付加などの機能を提供する。ＩＮＦファイル１２４はインストール設定情報が記載されている。
【００３１】
図４はフィルタパイプライン形式のＸＰＳプリンタドライバの印刷時のデータの流れについて説明する一例の説明図である。フィルタパイプライン形式のＸＰＳプリンタドライバはフィルタパイプラインマネージャ（Filter Pipeline Manager）１２５というＯＳの仕組みを利用する。
【００３２】
フィルタモジュール１２３はフィルタパイプラインマネージャ１２５を介してＯＳからＸＰＳ形式のデータ（ＸＰＳデータ）を受信し、ＸＰＳデータを処理し、フィルタパイプラインマネージャ１２５を介してＯＳにＸＰＳデータを渡す。フィルタモジュール１２３の間ではインタフィルタコミュニケータ（Inter-filter communicator）１２６を介してＸＰＳデータをやり取りできる。なお、フィルタモジュール１２３の一部ではＸＰＳデータ以外の形式のデータで出力し、そのデータを次のフィルタモジュール１２３で受け取ることも可能であるが、フィルタモジュール１２３の汎用性が低くなる。
【００３３】
図５はＸＰＳデータの一例の構成図である。図５は一般的なＸＰＳドキュメントの構成例を示している。ＸＰＳデータに包含されるファイルは各々パーツと呼ばれる。一つのＸＰＳデータには複数のパーツが包含されている。なお、図５ではＸＰＳドキュメントに含まれるパーツや関連情報などのうち、説明に不要なパーツを省略している。
【００３４】
ＸＰＳドキュメントに包含された各パーツは他のパーツへの参照を有する。この参照により、ＸＰＳドキュメントに包含される各パーツは関連性を持つ一つの文書情報を形成している。ＸＰＳドキュメントにはイメージ（Ｉｍａｇｅ）ファイル１５５やフォント（Ｆｏｎｔ）ファイル１５６、１５７の他、以下のような複数種類のパーツが包含され、各々が以下のような参照を有する。
【００３５】
ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ（以下、ＦＤＳと呼ぶ）１５１は一つの文書データの構成情報が記述されたパーツである。ＦＤＳ１５１はＦｉｘｅｄＤｏｃｕｍｅｎｔ（以下、ＦＤと呼ぶ）１５２への参照を有する。ＦＤＳ１５１は複数のＦＤ１５２への参照を有する場合がある。
【００３６】
ＦＤ１５２は一つのドキュメントに存在する複数のページをページ順に並べ、束ねるためのパーツである。ＦＤ１５２は一つのドキュメントの構成情報が記述されたパーツであり、ＦｉｘｅｄＰａｇｅ（以下、ＦＰと呼ぶ）１５３への参照を有する。なお、一つのドキュメントは複数ページを有する場合がある。ＦＤ１５２は複数のＦＰ１５３への参照を有する場合がある。
【００３７】
ＦＰ１５３は１ページの描画内容が記述されたパーツである。ＦＰ１５３は必要に応じてイメージ（Ｉｍａｇｅ）ファイル１５５やフォント（Ｆｏｎｔ）ファイル１５６、１５７への参照を有する。例えばＦＰ１５３はページにイメージやフォントの描画が存在する場合、イメージファイル１５５やフォントファイル１５６、１５７への参照を有することになる。このように、ＦＰ１５３には使用するイメージファイル１５５やフォントファイル１５６、１５７が関連付けられている。なお、フォントファイル１５７は複数のＦＰ１５３から参照される例を表している。
【００３８】
図５に示すように、ＸＰＳドキュメントはＦＤＳ１５１、ＦＤ１５２、ＦＰ１５３の順に階層化されている。また、ＰｒｉｎｔＴｉｃｋｅｔ（以下、ＰＴと呼ぶ）１５４は印刷設定が記載されている。ＰＴ１５４はＦＤＳ１５１、ＦＤ１５２、ＦＰ１５３それぞれに設定できる。
【００３９】
図６はＦＰのＸＭＬ記述と表示される画面イメージとを示した説明図である。ＦＰは図６（Ａ）に示すように「ＦｉｘｅｄＰａｇｅ」タグで囲まれた部分に描画したい記述を記載する。図６（Ａ）のＦＰでは＜Ｇｌｙｐｈｓ＞エレメントで文字列「Ｔｅｓｔ  Ｐｒｉｎｔ  Ｐａｇｅ  １」を描画する。図６（Ｂ）は図６（Ａ）のＦＰのＸＭＬ記述により表示される画面イメージである。
【００４０】
図７はＲｅｍｏｔｅＲｅｓｏｕｒｓｅＤｉｃｔｉｏｎａｒｙ（以下、ＲＲＤと呼ぶ）を追加するフィルタモジュールの一例の構成図である。図７のＲＲＤを追加するフィルタモジュール１２３は、ＸＰＳデータ受信部２０１、ＸＰＳデータ制御部２０２、ＰＴ解析部２０３、描画制御部２０４、ＲＲＤ生成部２０５、ＦＰ編集部２０６、ＸＰＳデータ送信部２０７を有する。
【００４１】
ＸＰＳデータ受信部２０１は、ＸＰＳデータまたはパーツを受信する。ＸＰＳデータ制御部２０２はＸＰＳデータからパーツの種類を判断し、描画制御部２０４へ通知する。リソースの関連付けが必要な場合はＸＰＳデータ制御部２０２が行う。また、ＸＰＳデータ制御部２０２はＸＰＳデータ送信部２０７にＸＰＳデータ又はパーツの送信を依頼する。
【００４２】
描画制御部２０４は、ＲＲＤ生成部２０５及びＦＰ編集部２０６に指示を出す。描画制御部２０４はＰＴ解析部２０３へＰＴを渡す。ＰＴを渡されたＰＴ解析部２０３はＰＴを解析し、ＰＴから印刷設定を取得する。ＰＴ解析部２０３は取得した印刷設定を描画制御部２０４に戻す。このように、描画制御部２０４はＰＴ解析部２０３から印刷設定を取得する。ＦＰ編集が必要な場合、描画制御部２０４は以下の処理を実施する。
【００４３】
描画制御部２０４は描画範囲を識別可能なＫｅｙを作成する。描画制御部２０４は作成したＫｅｙ及びＲＲＤのＵＲＩ（Uniform Resource Identifier）を生成する。描画制御部２０４は生成したＫｅｙ及びＲＲＤのＵＲＩをＲＲＤ生成部２０５に通知し、ＲＲＤを生成するように指示する。描画制御部２０４はＦＰ編集部２０６にＫｅｙ及びＲＲＤのＵＲＩを渡し、ＦＰ編集部２０６にＦＰの編集を指示する。そして、描画制御部２０４は作成したパーツをＸＰＳデータ送信部２０７に渡す。ＲＲＤのＵＲＩを利用することで、ＦＰは関連付けられているＲＲＤが複数あっても、一意にＲＲＤを特定できる。
【００４４】
ＲＲＤ生成部２０５はＲＲＤ（パーツ）を生成する。ＲＲＤ生成部２０５は描画制御部２０４から通知されたＫｅｙと空の描画データとを関連付けてＲＲＤに記載する。ＦＰ編集部２０６はＦＰに必要な描画処理を実施する。ＦＰ編集部２０６は再作成したＦＰにＲＲＤの読み込みとＫｅｙとを使用した描画情報を追記する。ＸＰＳデータ送信部２０７はＸＰＳデータまたはパーツを送信する。
【００４５】
なお、描画制御部２０４は後続のフィルタモジュール１２３においてＦＰが編集されると判断したときに、ＲＲＤ生成部２０５にＲＲＤを生成させるようにしてもよい。後続のフィルタモジュール１２３においてＦＰが編集されると判断したときに、ＲＲＤ生成部２０５にＲＲＤを生成させることで、描画制御部２０４は不要なＲＲＤの生成を削減することができる。
【００４６】
図８はＲＲＤを編集するフィルタモジュールの一例の構成図である。図８の構成図は図７のＲＲＤ生成部２０５がＲＲＤ編集部２０８と置き換わっている点が異なる。ここでは図７と同様な部分についての説明を省略する。
【００４７】
ＦＰ編集が必要な場合、描画制御部２０４は以下の処理を実施する。描画制御部２０４はＦＰに関連付けられているページ共通描画用ＲＲＤをＸＰＳデータ制御部２０２から取得する。描画制御部２０４はページ共通描画用ＲＲＤの編集をＲＲＤ編集部２０８に依頼する。描画制御部２０４はＲＲＤ編集部２０８で編集されたＲＲＤの出力をＸＰＳデータ制御部２０２に依頼する。ＲＲＤ編集部２０８はページ共通描画用ＲＲＤを編集する。
【００４８】
なお、ＲＲＤを使用しない場合、描画制御部２０４はＦＰの編集をＦＰ編集部２０６に依頼する。そして、描画制御部２０４はＦＰ編集部２０６で編集されたＦＰの出力をＸＰＳデータ制御部２０２に依頼する。ＦＰ編集部２０６はＦＰを編集する。
【００４９】
＜処理の詳細＞
以下では、本実施形態に係る印刷システム１の処理の詳細について説明する。
【００５０】
《処理イメージ》
図９は集約フィルタモジュール及びウォータマークフィルタモジュールの入力、出力結果の一般的なイメージ図である。図９はＲＲＤを使用しない例を表している。図９はＸＰＳデータを２ｉｎ１に集約し、ウォータマークを付加する場合の一般的な入力、出力結果を表している。
【００５１】
集約フィルタモジュール１２３Ａは４ページのＦＰで構成されるＸＰＳデータを２ｉｎ１に集約する。つまり、集約フィルタモジュール１２３Ａは２ページ（２つのＦＰ）分の描画内容を１つのＦＰに面付けする。ウォータマークフィルタモジュール１２３Ｂは各ＦＰにウォータマーク用の描画情報（例えば図９の星印）を追記する。
【００５２】
図９では集約フィルタモジュール１２３Ａで再作成したＦＰを、ウォータマークフィルタモジュール１２３Ｂでも全て再作成しなければならない。したがって、図９の例では全てのＦＰに対して同じウォータマーク用の描画情報を挿入するという単純な処理であるにも関わらず、全てのＦＰをウォータマークフィルタモジュール１２３Ｂでも再作成しなければならないため、パフォーマンスが低下してしまう。
【００５３】
図１０は集約フィルタモジュール及びウォータマークフィルタモジュールの入力、出力結果の一例のイメージ図である。図１０はＲＲＤを使用する例を表している。図１０はＸＰＳデータを２ｉｎ１に集約し、ウォータマークを付加する場合の一般的な入力、出力結果を表している。
【００５４】
集約フィルタモジュール１２３Ａは４ページのＦＰで構成されるＸＰＳデータを２ｉｎ１に集約する。つまり、集約フィルタモジュール１２３Ａは２ページ（２つのＦＰ）分の描画内容を１つのＦＰに面付けする。また、集約フィルタモジュール１２３ＡはＲＲＤを生成し、集約したＦＰに関連付けておく。また、集約フィルタモジュール１２３ＡはＲＲＤに空の描画データと関連付けられたＫｅｙを記載しておき、集約したＦＰにＫｅｙを使用した描画情報を記載しておく。
【００５５】
ウォータマークフィルタモジュール１２３ＢはＦＰから参照される（ＦＰに関連付けられている）ページ共通描画用ＲＲＤを取得し、ＲＲＤに記載されているＫｅｙから描画範囲を識別し、ウォータマーク用の描画情報を追記する。ＲＲＤへ追記された描画情報は全ＦＰに反映される。したがって、ＲＲＤを編集することで、全ＦＰにはウォータマークが付加されることになる。
【００５６】
図１０では集約フィルタモジュール１２３Ａで再作成したＦＰをウォータマークフィルタモジュール１２３Ｂで編集する場合に、ＲＲＤにウォータマーク用の描画情報を追記すればよく、ウォータマークフィルタモジュール１２３ＢでＦＰを再作成しなくてもよいため、パフォーマンスの低下を抑えることができる。なお、図１０では１つ目のフィルタモジュール１２３の一例として集約フィルタモジュール１２３Ａを示し、２つ目以降のフィルタモジュール１２３の一例としてウォータマークフィルタモジュール１２３Ｂを示しているが、２つ目以降のフィルタモジュール１２３が複数あってもよい。
【００５７】
《ＲＲＤを使用しない場合の処理》
ＲＲＤを使用しない場合、集約フィルタモジュール１２３Ａ及びウォータマークフィルタモジュール１２３Ｂは図１１及び図１２に示すように通常処理を行う。
【００５８】
図１１は集約フィルタモジュールの通常処理の一般的なフローチャートである。ステップＳ１において、集約フィルタモジュール１２３Ａは次のＦＰの取得を試みる。ＦＰを取得できれば（Ｓ２においてＹｅｓ）、集約フィルタモジュール１２３ＡはステップＳ３の処理を行う。
【００５９】
ステップＳ３において、集約フィルタモジュール１２３Ａは２ｉｎ１用のＦＰが作成されているか否かを判定する。２ｉｎ１用のＦＰが作成されていなければ、集約フィルタモジュール１２３ＡはステップＳ４において、２ｉｎ１用のＦＰ（描画情報は空）を作成したあと、ステップＳ５の処理を行う。２ｉｎ１用のＦＰが作成されていなければ、集約フィルタモジュール１２３ＡはステップＳ４の処理を行わず、ステップＳ５の処理を行う。
【００６０】
ステップＳ５において、集約フィルタモジュール１２３ＡはＦＰの描画データをアフィン変換した結果を２ｉｎ１用のＦＰに書き込む（面付けする）。集約フィルタモジュール１２３ＡはステップＳ６において、２ｉｎ１用のＦＰに２ページ分の描画内容が書き込まれたか否かを判定する。
【００６１】
２ｉｎ１用のＦＰに２ページ分の描画内容が書き込まれていなければ、集約フィルタモジュール１２３ＡはステップＳ１に戻り処理を続ける。２ｉｎ１用のＦＰに２ページ分の描画内容が書き込まれていれば、集約フィルタモジュール１２３ＡはステップＳ７において、２ｉｎ１用のＦＰを出力したあと、ステップＳ１に戻り処理を続ける。
【００６２】
一方、ステップＳ２において、ＦＰを取得できなければ、集約フィルタモジュール１２３ＡはステップＳ８において、２ｉｎ１用のＦＰが作成されているか否かを判定する。２ｉｎ１用のＦＰが作成されていれば、ステップＳ９において、集約フィルタモジュール１２３Ａは２ｉｎ１用のＦＰを出力したあと図１１のフローチャートの処理を終了する。２ｉｎ１用のＦＰが作成されていなければ、集約フィルタモジュール１２３ＡはステップＳ９の処理を行わず、図１１のフローチャートの処理を終了する。
【００６３】
図１２はウォータマークフィルタモジュールの通常処理の一般的なフローチャートである。ステップＳ１１において、ウォータマークフィルタモジュール１２３Ｂは次のＦＰの取得を試みる。ＦＰを取得できれば（Ｓ１２においてＹｅｓ）、ウォータマークフィルタモジュール１２３ＢはステップＳ１３の処理を行う。
【００６４】
ステップＳ１３において、ウォータマークフィルタモジュール１２３Ｂはウォータマーク用のＦＰ（描画情報は空）を作成する。ステップＳ１４において、ウォータマークフィルタモジュール１２３ＢはＦＰの画像データをウォータマーク用のＦＰに書き込む。ステップＳ１５において、ウォータマークフィルタモジュール１２３Ｂはウォータマーク用のＦＰにウォータマーク用の描画情報を書き込む。
【００６５】
ステップＳ１６において、ウォータマークフィルタモジュール１２３Ｂはウォータマーク用のＦＰを出力する。一方、ステップＳ１２において、ＦＰを取得できなければ、ウォータマークフィルタモジュール１２３Ｂは図１２のフローチャートの処理を終了する。
【００６６】
《ＲＲＤを使用する場合の処理》
ＲＲＤを使用する場合、集約フィルタモジュール１２３Ａ及びウォータマークフィルタモジュール１２３Ｂは図１３及び図１４に示すように処理を行う。
【００６７】
図１３は集約フィルタモジュールの処理の一例のフローチャートである。ステップＳ２１において、集約フィルタモジュール１２３ＡはＫｅｙと空の描画データとが関連付けられて記載されたページ共通描画用ＲＲＤを生成する。ステップＳ２２において、集約フィルタモジュール１２３Ａは生成したページ共通描画用ＲＲＤを出力する。ステップＳ２３において、集約フィルタモジュール１２３Ａは次のＦＰの取得を試みる。ＦＰを取得できれば（Ｓ２４においてＹｅｓ）、集約フィルタモジュール１２３ＡはステップＳ２５の処理を行う。
【００６８】
ステップＳ２５において、集約フィルタモジュール１２３Ａは２ｉｎ１用のＦＰが作成されているか否かを判定する。２ｉｎ１用のＦＰが作成されていなければ、集約フィルタモジュール１２３ＡはステップＳ２６において、２ｉｎ１用のＦＰ（描画情報は空）を作成したあと、ステップＳ２７の処理を行う。２ｉｎ１用のＦＰが作成されていなければ、集約フィルタモジュール１２３ＡはステップＳ２６の処理を行わず、ステップＳ２７の処理を行う。
【００６９】
ステップＳ２７において、集約フィルタモジュール１２３ＡはＦＰの描画データをアフィン変換した結果を２ｉｎ１用のＦＰに書き込む。集約フィルタモジュール１２３ＡはステップＳ２８において、２ｉｎ１用のＦＰに２ページ分の描画内容が書き込まれたか否かを判定する。
【００７０】
２ｉｎ１用のＦＰに２ページ分の描画内容が書き込まれていなければ、集約フィルタモジュール１２３ＡはステップＳ２３に戻り処理を続ける。２ｉｎ１用のＦＰに２ページ分の描画内容が書き込まれていれば、集約フィルタモジュール１２３ＡはステップＳ２９において、２ｉｎ１用のＦＰにページ共通描画用ＲＲＤとＫｅｙとを使用した描画情報を追記する。
【００７１】
ステップＳ３０において、集約フィルタモジュール１２３Ａは例えばページ共通描画用ＲＲＤのＵＲＩを利用して２ｉｎ１用のＦＰとページ共通描画用ＲＲＤとを関連付ける。ステップＳ３１において、集約フィルタモジュール１２３Ａは２ｉｎ１用のＦＰを出力したあと、ステップＳ２３に戻り処理を続ける。
【００７２】
ステップＳ２４において、ＦＰを取得できなければ、集約フィルタモジュール１２３ＡはステップＳ３２において、２ｉｎ１用のＦＰが作成されているか否かを判定する。２ｉｎ１用のＦＰが作成されていれば、ステップＳ３３において、集約フィルタモジュール１２３Ａは２ｉｎ１用のＦＰを出力する。
【００７３】
ステップＳ３４において、集約フィルタモジュール１２３ＡはステップＳ２９の処理と同様、２ｉｎ１用のＦＰにページ共通描画用ＲＲＤとＫｅｙとを使用した描画情報を追記する。ステップＳ３５において、集約フィルタモジュール１２３Ａは例えばページ共通描画用ＲＲＤのＵＲＩを利用して２ｉｎ１用のＦＰとページ共通描画用ＲＲＤとを関連付けたあと、図１３のフローチャートの処理を終了する。２ｉｎ１用のＦＰが作成されていなければ、集約フィルタモジュール１２３ＡはステップＳ３３〜Ｓ３５の処理を行わず、図１３のフローチャートの処理を終了する。
【００７４】
なお、ページ共通描画用ＲＲＤの生成、出力のタイミングは図１３の例に限らず、例えばＦＰの生成、出力の前後でもよい。
【００７５】
図１４はウォータマークフィルタモジュールの処理の一例のフローチャートである。ステップＳ４１において、ウォータマークフィルタモジュール１２３Ｂはページ共通描画用ＲＲＤを取得する。ステップＳ４２において、ウォータマークフィルタモジュール１２３ＢはステップＳ４１で取得したページ共通描画用ＲＲＤ（Ｏｒｇ）と同じＵＲＩのページ共通描画用ＲＲＤ（Ｎｅｗ）を生成する。
【００７６】
ステップＳ４３において、ウォータマークフィルタモジュール１２３Ｂはページ共通描画用ＲＲＤ（Ｎｅｗ）に元のページ共通描画用ＲＲＤ（Ｏｒｇ）を追記する。ステップＳ４４において、ウォータマークフィルタモジュール１２３Ｂはページ共通描画用ＲＲＤ（Ｎｅｗ）にウォータマーク用の描画情報を書き込む。ステップＳ４５において、ウォータマークフィルタモジュール１２３Ｂはページ共通描画用ＲＲＤ（Ｏｒｇ）を削除し、ＸＰＳデータ内のページ共通描画用ＲＲＤ（Ｎｅｗ）を出力する。
【００７７】
ステップＳ４６において、ウォータマークフィルタモジュール１２３Ｂは次のＦＰの取得を試みる。ＦＰを取得できれば（Ｓ４７においてＹｅｓ）、ウォータマークフィルタモジュール１２３ＢはステップＳ４８の処理を行う。ステップＳ４８において、ウォータマークフィルタモジュール１２３Ｂはウォータマーク用のＦＰを出力する。一方、ステップＳ４７において、ＦＰを取得できなければ、ウォータマークフィルタモジュール１２３Ｂは図１４のフローチャートの処理を終了する。
【００７８】
図１４のフローチャートは図１２のステップＳ１３〜Ｓ１５のＦＰへのウォータマーク用の描画情報の追記が不要となっている。なお、ページ共通描画用ＲＲＤの編集、出力のタイミングは図１４の例に限らず、例えばＦＰの処理の前後でもよい。
【００７９】
図１５はページ共通描画用ＲＲＤの一例の説明図である。図１５（Ａ）はページ共通描画用ＲＲＤのＸＭＬ記述例である。図１５（Ｂ）は図１５（Ａ）の枠３００で囲まれた部分が表現しているグラフィックを表している。
【００８０】
記述「PageCommonGraphic_PhysicalPage_793760x1122560_0degree」３０１はＲＲＤのＫｅｙ名である。なお、「PageCommonGraphic」はページ共通描画用のＫｅｙであることを示している。「PhysicalPage」は物理ページサイズの描画であることを示している。「793760x1122560」は描画サイズを示している。「0degree」は描画方向を示している。例えば９０ｄｅｇｒｅｅの場合に、描画情報を追記したい場合は、９０度回転させた描画情報を追記する必要がある。
【００８１】
例えば図１５（Ａ）に示すＸＭＬ記述例では枠３００で囲まれた部分がウォータマークフィルタモジュール１２３Ｂによって記載され、枠３００で囲まれた部分以外が集約フィルタモジュール１２３Ａによって記載される。
【００８２】
図１６はページ共通描画用ＲＲＤを使ったＦＰの一例の説明図である。図１６はＦＰにページ共通描画用ＲＲＤを使って描画した場合のＸＭＬ記述例である。例えば図１６に示すＸＭＬ記述では枠４００で囲まれた部分が集約フィルタモジュール１２３Ａによって記載される。図１６の例では、ＦＰと同じサイズの領域「resouce.xaml」に「PageCommonGraphic_PhysicalPage_793760x1122560_0degree」というＫｅｙ名で登録されている描画を施している。ＲＲＤを使った描画方法は一例であるので、上記以外の方法でもかまわない。図１７は図１６のＸＭＬ記述が表現しているＦＰの出力イメージ図である。
【００８３】
＜まとめ＞
第１の実施形態に係る印刷システム１によれば、複数のフィルタモジュール１２３でＦＰを編集する場合で、且つ、後方のフィルタモジュール１２３でページ共通の描画情報を付加する場合に、パフォーマンスの低下を抑えることができる。
【００８４】
これは、複数のフィルタモジュール１２３でＦＰを編集する場合に、１つ目のフィルタモジュール１２３で空の描画データを含んだＲＲＤを生成しておき、且つ、編集したＦＰにＫｅｙを使用した描画情報を記載しておき、２つ目以降のフィルタモジュール１２３でＦＰを編集せず、ＦＰに関連付けられているＲＲＤを編集することによる効果である。
【００８５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した構造化文書形式のデータはＸＰＳデータに相当する。処理プログラムは集約フィルタモジュール１２３Ａ、ウォータマークフィルタモジュール１２３Ｂに相当する。
【００８６】
ページ共通描画用のデータはＲＲＤに相当する。ページ共通描画用データ生成手段はＲＲＤ生成部２０５に相当する。ページ共通描画用データ編集手段はＲＲＤ編集部２０８に相当する。各ページデータで共通の描画データはウォータマークに相当する。
【符号の説明】
【００８７】
１    印刷システム
１０    端末装置
１１    アプリケーション
１２    プリンタドライバ
１２Ａ    ＸＰＳプリンタドライバパッケージ
１３    ポートモニタ
２０    画像形成装置
２１    通信Ｉ／Ｆ部
２２    主制御部
２３    プリントエンジン
１０１    入力装置
１０２    表示装置
１０３    外部Ｉ／Ｆ
１０３ａ    記録媒体
１０４    ＲＡＭ
１０５    ＲＯＭ
１０６    ＣＰＵ
１０７    通信Ｉ／Ｆ
１０８    ＨＤＤ
１２１    ＵＩモジュール
１２２    フィルタ設定ファイル
１２３    フィルタモジュール
１２３Ａ    集約フィルタモジュール
１２３Ｂ    ウォータマークフィルタモジュール
１２４    ＩＮＦファイル
１２５    フィルタパイプラインマネージャ
１２６    インタフィルタコミュニケータ
１５１    ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ（ＦＤＳ）
１５２    ＦｉｘｅｄＤｏｃｕｍｅｎｔ（ＦＤ）
１５３    ＦｉｘｅｄＰａｇｅ（ＦＰ）
１５４    ＰｒｉｎｔＴｉｃｋｅｔ（ＰＴ）
１５５    イメージ（Ｉｍａｇｅ）ファイル
１５６、１５７    フォント（Ｆｏｎｔ）ファイル
２０１    ＸＰＳデータ受信部
２０２    ＸＰＳデータ制御部
２０３    ＰＴ解析部
２０４    描画制御部
２０５    ＲＲＤ生成部
２０６    ＦＰ編集部
２０７    ＸＰＳデータ送信部
２０８    ＲＲＤ編集部
【先行技術文献】
【特許文献】
【００８８】
【特許文献１】特開２００９−１６３７２７号公報
【図１】
2013196554.tif 000003
【図２】
2013196554.tif 000004
【図３】
2013196554.tif 000005
【図４】
2013196554.tif 000006
【図５】
2013196554.tif 000007
【図６】
2013196554.tif 000008
【図７】
2013196554.tif 000009
【図８】
2013196554.tif 000010
【図９】
2013196554.tif 000011
【図１０】
2013196554.tif 000012
【図１１】
2013196554.tif 000013
【図１２】
2013196554.tif 000014
【図１３】
2013196554.tif 000015
【図１４】
2013196554.tif 000016
【図１５】
2013196554.tif 000017
【図１６】
2013196554.tif 000018
【図１７】
2013196554.tif 000019