図面 (/)

技術 印刷制御装置、印刷制御プログラムおよび印刷制御方法

出願人 セイコーエプソン株式会社
発明者 大橋一輝
出願日 2015年7月7日 (4年0ヶ月経過) 出願番号 2015-135876
公開日 2017年1月26日 (2年5ヶ月経過) 公開番号 2017-021395
状態 特許登録済
技術分野 タイプライター等へのデジタル出力 FAX原画の編集
主要キーワード フィルターパイプ 記述範囲 機能フィルタ レンダリングフィルタ 開示範囲 スタンプマーク 印刷直前 ビットマップデータ化
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年1月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題

複数のフィルターによる処理を施したときにより適切な出力結果が得られるようにする。

解決手段

印刷制御装置は、第1のフィルターの処理内容を示す第1の記述を、画像を表現するために所定の形式で記述された記述データへ挿入する第1フィルター処理と、当該第1フィルター処理の後に、当該記述データへ第2のフィルターの処理内容を示す第2の記述を挿入する第2フィルター処理と、を行うフィルター処理部と、前記第2フィルター処理の後の前記記述データを解釈して印刷装置が処理可能な印刷データへ変換する印刷データ生成部と、を備え、前記フィルター処理部は、前記第1フィルター処理では、前記第1のフィルターに対応付け識別情報とともに前記第1の記述を前記記述データへ挿入し、前記第2フィルター処理では、前記第2の記述を挿入する前記記述データ内の位置を前記識別情報に基づいて決定し、当該決定した位置へ前記第2の記述を挿入する。

概要

背景

プリンタードライバーが、XPS(XML Paper Specification)仕様記述されたXPSファイルを対象として、各印刷設定に対応した複数のフィルターを用いて処理することにより、各印刷設定を適用した印刷データを生成する構成が知られている(例えば、特許文献1参照)。ここで言うフィルターとは、特定の機能に特化したプログラムであり、一つのフィルターは、例えば、画像の回転機能、画像の拡大縮小機能、画像へのスタンプマーク重畳機能、Nup機能(一枚の媒体の一面にNページ分の画像を割り付ける機能)等といった様々な機能のうちの一つを実現させる。

概要

複数のフィルターによる処理を施したときにより適切な出力結果が得られるようにする。印刷制御装置は、第1のフィルターの処理内容を示す第1の記述を、画像を表現するために所定の形式で記述された記述データへ挿入する第1フィルター処理と、当該第1フィルター処理の後に、当該記述データへ第2のフィルターの処理内容を示す第2の記述を挿入する第2フィルター処理と、を行うフィルター処理部と、前記第2フィルター処理の後の前記記述データを解釈して印刷装置が処理可能な印刷データへ変換する印刷データ生成部と、を備え、前記フィルター処理部は、前記第1フィルター処理では、前記第1のフィルターに対応付け識別情報とともに前記第1の記述を前記記述データへ挿入し、前記第2フィルター処理では、前記第2の記述を挿入する前記記述データ内の位置を前記識別情報に基づいて決定し、当該決定した位置へ前記第2の記述を挿入する。

目的

ここで、オペレーティングシステム(以下、OS)としての、Microsoft社(登録商標)が提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

第1のフィルター処理内容を示す第1の記述を、画像を表現するために所定の形式で記述された記述データへ挿入する第1フィルター処理と、当該第1フィルター処理の後に、当該記述データへ第2のフィルターの処理内容を示す第2の記述を挿入する第2フィルター処理と、を行うフィルター処理部と、前記第2フィルター処理の後の前記記述データを解釈して印刷装置が処理可能な印刷データへ変換する印刷データ生成部と、を備え、前記フィルター処理部は、前記第1フィルター処理では、前記第1のフィルターに対応付け識別情報とともに前記第1の記述を前記記述データへ挿入し、前記第2フィルター処理では、前記第2の記述を挿入する前記記述データ内の位置を前記識別情報に基づいて決定し、当該決定した位置へ前記第2の記述を挿入する、ことを特徴とする印刷制御装置

請求項2

前記フィルター処理部は、前記第1フィルター処理を複数回繰り返すことにより、機能が互いに異なる複数の前記第1のフィルターのそれぞれについて、当該第1のフィルターに対応する前記第1の記述と前記識別情報とを前記記述データへ挿入することを特徴とする請求項1に記載の印刷制御装置。

請求項3

前記フィルター処理部は、前記第2フィルター処理では、前記第2のフィルターの機能に応じて、前記第2の記述を挿入すべき位置を示す前記識別情報を探索し、当該探索した識別情報に基づいて決定した位置へ前記第2の記述を挿入することを特徴とする請求項1または請求項2に記載の印刷制御装置。

請求項4

前記フィルター処理部は、前記第2のフィルターの機能が論理ページ処理単位とする機能であるか物理ページを処理単位とする機能であるかに応じて、探索対象とする前記識別情報を決定することを特徴とする請求項3に記載の印刷制御装置。

請求項5

前記識別情報は、前記第1のフィルターの機能を及ぼす描画を定義するキャンバス要素に付す名前であることを特徴とする請求項1〜請求項4のいずれかに記載の印刷制御装置。

請求項6

前記第2フィルター処理の後の前記記述データに基づく画像をプレビュー表示させるプレビュー表示制御部を更に備え、前記フィルター処理部は、前記プレビュー表示に応じて外部から入力される前記第2フィルター処理の再試行の指示に従って、実行済みの前記第2フィルター処理を取り消すとともに当該実行済みの第2フィルター処理で挿入した前記記述データ内の位置とは異なる位置へ前記第2の記述を挿入する、ことを特徴とする請求項1〜請求項5のいずれかに記載の印刷制御装置。

請求項7

印刷制御プログラムであって、第1のフィルターの処理内容を示す第1の記述を、画像を表現するために所定の形式で記述された記述データへ挿入する第1フィルター処理と、前記第1フィルター処理の後に、当該記述データへ第2のフィルターの処理内容を示す第2の記述を挿入する第2フィルター処理と、前記第2フィルター処理の後の前記記述データを解釈して印刷装置が処理可能な印刷データへ変換する印刷データ生成処理と、をコンピューターに実行させ、前記第1フィルター処理では、前記第1のフィルターに対応付けた識別情報とともに前記第1の記述を前記記述データへ挿入し、前記第2フィルター処理では、前記第2の記述を挿入する前記記述データ内の位置を前記識別情報に基づいて決定し、当該決定した位置へ前記第2の記述を挿入する、ことを特徴とする印刷制御プログラム。

請求項8

第1のフィルターの処理内容を示す第1の記述を、画像を表現するために所定の形式で記述された記述データへ挿入する第1フィルター処理と、当該第1フィルター処理の後に、当該記述データへ第2のフィルターの処理内容を示す第2の記述を挿入する第2フィルター処理と、を行うフィルター処理工程と、前記第2フィルター処理の後の前記記述データを解釈して印刷装置が処理可能な印刷データへ変換する印刷データ生成工程と、を備え、前記第1フィルター処理では、前記第1のフィルターに対応付けた識別情報とともに前記第1の記述を前記記述データへ挿入し、前記第2フィルター処理では、前記第2の記述を挿入する前記記述データ内の位置を前記識別情報に基づいて決定し、当該決定した位置へ前記第2の記述を挿入する、ことを特徴とする印刷制御方法

技術分野

0001

本発明は、印刷制御装置印刷制御プログラムおよび印刷制御方法に関する。

背景技術

0002

プリンタードライバーが、XPS(XML Paper Specification)仕様記述されたXPSファイルを対象として、各印刷設定に対応した複数のフィルターを用いて処理することにより、各印刷設定を適用した印刷データを生成する構成が知られている(例えば、特許文献1参照)。ここで言うフィルターとは、特定の機能に特化したプログラムであり、一つのフィルターは、例えば、画像の回転機能、画像の拡大縮小機能、画像へのスタンプマーク重畳機能、Nup機能(一枚の媒体の一面にNページ分の画像を割り付ける機能)等といった様々な機能のうちの一つを実現させる。

先行技術

0003

特開2010‐79792号公報

発明が解決しようとする課題

0004

XPSファイルを対象として複数のフィルターによる処理を実行するプリンタードライバーは、複数のフィルターによるパイプラインフィルターパイプライン)を構成し、フィルターパイプラインによりXPSファイルを処理することで、各印刷設定を効率的に適用する。ここで、オペレーティングシステム(以下、OS)としての、Microsoft社(登録商標)が提供するWindows(登録商標)、において動作するVersion4プリンタードライバー(以下、V4プリンタードライバー)が知られている。ベンダーは、V4プリンタードライバーの構築に関してMicrosoft社が定めたアーキテクチャーに基づいて、V4プリンタードライバーを作成し、市場流通させる。このアーキテクチャーによると、フィルターパイプラインでは、XPSファイルを処理するフィルターの順序が予め固定的に決められている。このようにフィルターの処理順制約があると、処理順が後であるフィルターによる処理へ、それよりも処理順が前であるフィルターによる処理の効果が及ばないことがある。そのため、各印刷設定を適用した印刷データに基づく出力結果が、ユーザーが期待する出力結果と異なることがあった。

0005

本発明は上述の課題に鑑みてなされたものであり、複数のフィルターによる処理を施したときにより適切な出力結果を得ることが可能な印刷制御装置、印刷制御プログラムおよび印刷制御方法を提供する。

課題を解決するための手段

0006

本発明の態様の一つは、印刷制御装置は、第1のフィルターの処理内容を示す第1の記述を、画像を表現するために所定の形式で記述された記述データへ挿入する第1フィルター処理と、当該第1フィルター処理の後に、当該記述データへ第2のフィルターの処理内容を示す第2の記述を挿入する第2フィルター処理と、を行うフィルター処理部と、前記第2フィルター処理の後の前記記述データを解釈して印刷装置が処理可能な印刷データへ変換する印刷データ生成部と、を備え、前記フィルター処理部は、前記第1フィルター処理では、前記第1のフィルターに対応付け識別情報とともに前記第1の記述を前記記述データへ挿入し、前記第2フィルター処理では、前記第2の記述を挿入する前記記述データ内の位置を前記識別情報に基づいて決定し、当該決定した位置へ前記第2の記述を挿入する。

0007

当該構成によれば、第2のフィルターの処理内容を示す第2の記述は、記述データへの挿入位置が、第1のフィルターの処理内容を示す第1の記述とともに挿入されている前記識別情報に基づいて決定される。これにより、第1のフィルターよりも処理順が後の第2のフィルターの処理へ、第1のフィルターによる処理の効果を及ぼすことができ、出力結果に対するユーザーの満足度が向上する。例えば、前記識別情報は、前記第1のフィルターの機能を及ぼす描画を定義するキャンバス要素に付す名前である。

0008

本発明の態様の一つは、前記フィルター処理部は、前記第1フィルター処理を複数回繰り返すことにより、機能が互いに異なる複数の前記第1のフィルターのそれぞれについて、当該第1のフィルターに対応する前記第1の記述と前記識別情報とを前記記述データへ挿入するとしてもよい。
当該構成によれば、第2の記述を挿入可能な位置が第1のフィルターの数に応じて複数存在するため、最適な挿入位置を決定することができる。

0009

本発明の態様の一つは、前記フィルター処理部は、前記第2フィルター処理では、前記第2のフィルターの機能に応じて、前記第2の記述を挿入すべき位置を示す前記識別情報を探索し、当該探索した識別情報に基づいて決定した位置へ前記第2の記述を挿入するとしてもよい。
当該構成によれば、第2のフィルターの機能に応じて、最適な挿入位置を容易に探索し、決定することができる。なお、前記フィルター処理部は、前記第2のフィルターの機能が論理ページ処理単位とする機能であるか物理ページを処理単位とする機能であるかに応じて、探索対象とする前記識別情報を決定するとしてもよい。

0010

本発明の態様の一つは、前記第2フィルター処理の後の前記記述データに基づく画像をプレビュー表示させるプレビュー表示制御部を更に備え、前記フィルター処理部は、前記プレビュー表示に応じて外部から入力される前記第2フィルター処理の再試行の指示に従って、実行済みの前記第2フィルター処理を取り消すとともに当該実行済みの第2フィルター処理で挿入した前記記述データ内の位置とは異なる位置へ前記第2の記述を挿入する、としてもよい。
当該構成によれば、ユーザーにプレビュー表示を確認させ、場合によっては第2フィルター処理を再試行することで、最終的にユーザーが所望する出力結果を確実に得ることができる。

0011

本発明の技術的思想は、印刷制御装置という物以外によっても実現される。例えば、本発明は、上述したような印刷制御装置の各部が実行する工程を含んだ方法(印刷制御方法)や、当該工程をハードウェアコンピューター)に実行させるプログラム(印刷制御プログラム)や、当該プログラムを記憶したコンピューター読み取り可能な記憶媒体、といった各種カテゴリーにて実現されてもよい。

図面の簡単な説明

0012

印刷制御装置の構成を例示するブロック図。
印刷制御処理を示すフローチャート
テップS140の詳細を示すフローチャート。
第1フィルター処理が複数回実行されたXPSファイルの一部を例示する図。
第2フィルター処理が実行されたXPSファイルの一部を例示する図。
本実施形態による効果の一例を説明するための図。
第2フィルター処理が実行されたXPSファイルの一部の他の例を示す図。
変形例にかかる印刷制御処理を示すフローチャート。

実施例

0013

以下、図面を参照しながら本発明の実施形態を説明する。
1.印刷制御装置の概略:
図1は、本実施形態にかかる印刷制御装置10の構成を例示するブロック図である。印刷制御装置10は、例えば、RAM、ROM、CPU等を備えるICやその他の記憶媒体等による制御部20を備える。制御部20は、ROMやその他の記憶媒体に記録されたプログラム(例えば、アプリケーション13やプリンタードライバー12等)に従った処理をOS11の下で実行することができる。OS11が管理する環境下に、V4プリンタードライバーの一種であるプリンタードライバー(以下、ドライバー)12がインストールされている。ドライバー12は、本発明にかかる印刷制御プログラムの一例に該当する。OS11は、V4プリンタードライバーが動作可能なOSを指しており、一例として、Windows8が挙げられる。

0014

印刷制御装置10は、図示しないインターフェースを備えており、印刷制御装置10には当該インターフェースを介して入力部50と表示部51とプリンター52とが接続される。入力部50はユーザーの入力操作受け付けるための入力装置であり、マウスキーボードタッチパネル、各種入力キー等が該当し得る。表示部51は、制御部20が出力する信号に応じて任意の画像を表示するディスプレイである。プリンター52は制御部20が出力する印刷データに基づいて印刷データが示す画像を印刷する印刷装置であり、本実施形態においては制御部20が出力するレンダリング後の印刷データに基づいて印刷を実行する。

0015

印刷制御装置10は、例えば、PC(パーソナルコンピューター)、タブレット型端末スマートフォン等といった、プリンター52に対する制御装置となり得る様々な装置によって実現される。また、印刷制御装置10に含まれる構成の一部(少なくとも制御部20を含む構成)を指して、本発明にかかる印刷制御装置と把握してもよい。印刷制御装置10、入力部50、表示部51およびプリンター52は、それぞれが独立した製品であってもよいし、一体的に構成された一製品であってもよい。例えば、印刷制御装置10、入力部50および表示部51はいずれも、プリンター52の一部であるとしてもよい。この場合、プリンター52を、印刷制御装置と称することができる。

0016

アプリケーション13は、入力部50による操作内容を受け付けて文章CG写真等を要素として含み得る画像ファイル(例えば、XPSファイル)を生成する機能を制御部20に実現させるモジュールである。ドライバー12は、入力部50による各印刷設定を受け付ける機能や、印刷設定適用処理を行う機能を制御部20に実現させるモジュールである。すなわち、アプリケーション13の処理に基づいてユーザーが印刷実行指示を行うと、制御部20は当該印刷実行指示にかかる印刷対象を示すXPSファイルを処理対象として、ドライバー12による処理を開始する。このようなXPSファイルは、画像を表現するために所定の形式で記述された記述データ、の一例に該当する。

0017

ドライバー12は、各印刷設定に対応した複数のフィルターFを備える。XPSファイルを対象とした処理において、複数のフィルターFのうちいずれのフィルターFを使用するかは、ユーザーによる印刷設定の指示に依存する。ただし、いずれのフィルターFを使用する場合であっても、使用するフィルターF間における処理順序は予めドライバー12が規定している。つまり、ドライバー12は、ユーザーによる印刷設定の指示に応じて、そのとき使用すべき(有効化すべき)複数のフィルターFによるフィルターパイプラインを、XPSファイルを対象とした処理に用いる。この意味で、ドライバー12の機能の一部を指して、フィルターパイプラインマネージャー等と称することができる。

0018

2.印刷制御処理の説明:
図2は、制御部20がドライバー12を実行することにより実現する、つまり制御部20とドライバー12とが協働して実現する印刷制御処理(印刷制御方法)をフローチャートにより示している。当該フローチャートは、アプリケーション13により印刷対象を示すXPSファイルが生成され、ユーザーが入力部50を操作することにより当該印刷対象についての印刷実行指示を入力したタイミングで開始される。

0019

ドライバー12は、印刷対象を示すXPSファイルをアプリケーション13から入力し(ステップS100)、かつ、印刷設定の内容を取得する(ステップS110)。ステップS100で入力したXPSファイルが表現する画像をオリジナル画像とも呼ぶ。ステップS110で取得する印刷設定の内容とは、ユーザーが印刷実行指示を入力する前に入力部50を操作することにより入力した印刷設定である。例えば、ドライバー12は、印刷実行指示の入力を受け付けるまでの過程で、印刷設定の入力を受け付けるための所定のユーザーインターフェース(UI)画面を表示部51に表示させることにより、ユーザーに印刷設定の入力を促す。これにより、UI画面に対するユーザーの操作を通じて、印刷設定の内容を取得することができる。

0020

次に、ドライバー12は、複数のフィルターFのうち、予め規定している処理順が現時点で最も先のフィルターFを選択し(ステップS120)、当該選択したフィルターFをフィルターパイプラインの中で有効化すべきか否かを、ステップS110で取得した印刷設定の内容に基づいて判定する(ステップS130)。ここでは、便宜上、フィルターFを、フィルターFmとも表記する(図1参照)。数値mは、1〜Mの自然数(ただし、1<M)のいずれか一つであり、数値mが小さいフィルターFmほど、処理順序が先のフィルターFであることを意味する。ステップS110の後に最初に実行するステップS120では、必ずフィルターF1を選択する。それ以降のステップS120では、その時点で未選択のフィルターFmのうちmが最小のものを選択する。ステップS130では、ドライバー12は、選択した(直近のステップS120で選択した)フィルターFmが、ステップS110で取得した印刷設定のいずれかを実現するための機能を有するフィルターであれば、当該選択したフィルターFmを有効化すると判定し(ステップS130において“Yes”)、ステップS140へ進む。

0021

一つの具体例として、ステップS110において、ドライバー12は、画像の回転、画像の拡大/縮小、画像の左右反転、および、特定のスタンプマークの重畳、という印刷設定の内容を取得したと仮定する。複数のフィルターFmの中には、画像を90°回転させる回転機能フィルター、画像を拡大/縮小する拡大縮小機能フィルター、画像を左右反転させる反転機能フィルター、特定のスタンプマークを縦向きで画像へ重畳するスタンプマーク重畳機能フィルター、等といった様々なフィルターFmが含まれている。特定のスタンプマークとは、例えば、“丸秘”、“社外秘”、“コピー禁止”等をユーザーへ伝えるためのマーク文字である。このような具体例に従えば、ステップS130では、ドライバー12は、選択したフィルターFmが、回転機能フィルター、拡大縮小機能フィルター、反転機能フィルター、スタンプマーク重畳機能フィルター、のいずれかに該当する場合に、当該選択したフィルターFmを有効化すると判定する。逆に、選択したフィルターFmが、回転機能フィルター、拡大縮小機能フィルター、反転機能フィルター、スタンプマーク重畳機能フィルター、のいずれにも該当しない場合には、当該選択したフィルターFmを無効化すると判定する(ステップS130において“No”)。ステップS130において、フィルターFmの無効化と判定した場合は、ドライバー12は、ステップS140へ進まずに、ステップS150へ進む。

0022

ステップS140では、ドライバー12は、前記入力したXPSファイルへ、ステップS130で有効化すると判定したフィルターFmによる処理を行う。つまり、ステップS130で有効化すると判定したフィルターFmの処理内容を示す記述を、前記入力したXPSファイル(記述データ)へ挿入するフィルター処理を行う。

0023

ステップS150では、ドライバー12は、処理順序が最後のフィルターFm、つまりフィルターFMをステップS120で選択済みであるか否か判定し、未選択であれば(ステップS150において“No”)、ステップS120に戻り、上述したステップS120以降の処理を繰り返す。一方、処理順序が最後のフィルターFMをステップS120で選択済みであれば(ステップS150において“Yes”)、ドライバー12は、ステップS160へ進む。

0024

前記具体例に従えば、ステップS150において“Yes”と判定した時点で、前記入力したXPSファイルへ、回転機能フィルター、拡大縮小機能フィルター、反転機能フィルター、スタンプマーク重畳機能フィルター、という4つのフィルターFmそれぞれによるフィルター処理が行われたことになる。ここでは、回転機能フィルター、拡大縮小機能フィルター、反転機能フィルター、スタンプマーク重畳機能フィルター、という順序で前記入力したXPSファイルへのフィルター処理(フィルターFmの処理内容を示す記述の挿入)が行われたとする。

0025

本実施形態では、前記具体例における回転機能フィルター、拡大縮小機能フィルター、反転機能フィルター、スタンプマーク重畳機能フィルターのうち、回転機能フィルター、拡大縮小機能フィルターおよび反転機能フィルターを、それぞれ第1のフィルターとも呼び、スタンプマーク重畳機能フィルターを、第2のフィルターとも呼ぶ。第2のフィルターは、基本的には、前記入力したXPSファイルが表現するオリジナル画像へ、他の画像や文字等を追加、重畳する機能を有するフィルターである。第2のフィルターには、スタンプマーク重畳機能フィルターの他にも、ページの上端下端ヘッダーフッターを追加するヘッダーフッター追加機能フィルターや、画像へ特定の透かし画像を重畳する透かし重畳機能フィルター、等が含まれる。一方、第1のフィルターは、第2のフィルターに該当しないフィルターであり、回転機能フィルター、拡大縮小機能フィルター、反転機能フィルターの他、Nup機能を実現させるNup機能フィルター等が該当する。

0026

ドライバー12が規定するフィルターFm間の処理順序によれば、第2のフィルターの処理順は、第1のフィルターよりも後である。また、ステップS140において、第1のフィルターの処理内容を示す記述(第1の記述)を前記入力したXPSファイルへ挿入するフィルター処理を、第1フィルター処理と呼び、第2のフィルターの処理内容を示す記述(第2の記述)を前記入力したXPSファイルへ挿入するフィルター処理を、第2フィルター処理と呼ぶ。つまり、第1フィルター処理の後に、第2フィルター処理が行われる。このようなステップS140を実現する点で、制御部20は、フィルター処理部として機能すると言える。

0027

ステップS140における第1フィルター処理、第2フィルター処理それぞれについて、図3〜5を用いて更に詳しい説明を行う。
図3は、ステップS140の詳細を示すフローチャートである。図3〜5の説明に際しても前記具体例を用いる。ドライバー12は、ステップS141(第1フィルター処理)では、第1のフィルターに対応付けた識別情報とともに、当該第1のフィルターの処理内容を示す第1の記述を、前記入力したXPSファイルへ挿入する。ここで言う第1のフィルターの具体例は、上述の回転機能フィルター、拡大縮小機能フィルター、反転機能フィルターであり、ドライバー12は、これら3つのフィルター毎の第1フィルター処理を上述したフィルター間の順序に従って繰り返す(有効化した第1のフィルターの数だけステップS141を繰り返す)。つまり、前記具体例を前提とした場合、第1フィルター処理を複数回繰り返すことにより、機能が互いに異なる複数の第1のフィルターのそれぞれについて、当該第1のフィルターに対応する第1の記述と前記識別情報とを、前記入力したXPSファイルへ挿入する。

0028

次に、ドライバー12は、ステップS142(第2フィルター処理)では、第2のフィルターの処理内容を示す第2の記述を挿入する前記入力したXPSファイル内の位置を、前記識別情報に基づいて決定し、当該決定した位置へ第2の記述を挿入する。ここで言う第2のフィルターの具体例は、上述のスタンプマーク重畳機能フィルターである。

0029

図4は、前記複数回のステップS141(第1フィルター処理)が実行された時点でのXPSファイル30の一部を例示している。図4において、XPSファイル30に含まれる記述のうち、符号d0で示した箇所(記述範囲d0)は、前記入力したXPSファイルが有する記述(の一部)であり、前記入力したXPSファイルが表現する1ページ分のオリジナル画像に相当する記述である。

0030

記述範囲d0を上下から挟む位置に挿入された記述d1u,d1bは、前記具体例において処理順序が最も先の第1のフィルターである回転機能フィルターの処理内容を示す第1の記述の例である。記述d1u,d1bは、フィルターの機能を及ぼす描画を定義するキャンバス要素(Canvas, /Canvas)を有している。キャンバス要素とは、XPSの仕様で定義されている、描画を一まとめにするための要素である。このようなキャンバス要素を用いた記述d1u,d1bを記述範囲d0の上下に挿入することにより、記述範囲d0が表現する描画全体に回転機能フィルターによる回転の効果が及ぶ。また、記述d1uは、Name="EP LandscapeFilter"という記述を含んでいる。当該Name="EP LandscapeFilter"は、回転機能フィルターの機能を及ぼす描画を定義するキャンバス要素に付した名前(キャンバス要素のネーム属性)である。このような名前は、第1のフィルター(回転機能フィルター)に対応付けた識別情報の一例である。

0031

同様に、記述d1u〜d1bの範囲を上下から挟む位置に挿入された記述d2u,d2bは、前記具体例において処理順序が回転機能フィルターの次である拡大縮小機能フィルターの処理内容を示す第1の記述の例である。記述d2u,d2bも同様にキャンバス要素(Canvas, /Canvas)を有している。キャンバス要素を用いた記述d2u,d2bを記述d1u〜d1bの範囲の上下に挿入することにより、回転機能フィルターによる回転の効果が及ぶ範囲全体に、拡大縮小機能フィルターによる拡大/縮小の効果が及ぶ。また、記述d2uは、Name="EP ScalingFilter"という記述を含んでいる。当該Name="EP ScalingFilter"は、拡大縮小機能フィルターの機能を及ぼす描画を定義するキャンバス要素に付した名前(キャンバス要素のネーム属性)である。このような名前は、第1のフィルター(拡大縮小機能フィルター)に対応付けた識別情報の一例である。

0032

同様に、記述d2u〜d2bの範囲を上下から挟む位置に挿入された記述d3u,d3bは、前記具体例において処理順序が拡大縮小機能フィルターの次である反転機能フィルターの処理内容を示す第1の記述の例である。記述d3u,d3bも同様にキャンバス要素(Canvas, /Canvas)を有している。キャンバス要素を用いた記述d3u,d3bを記述d2u〜d2bの範囲の上下に挿入することにより、拡大縮小機能フィルターによる拡大/縮小の効果が及ぶ範囲全体に、反転機能フィルターによる左右反転の効果が及ぶ。また、記述d3uは、Name="EP MirrorFilter"という記述を含んでいる。当該Name="EP MirrorFilter"は、反転機能フィルターの機能を及ぼす描画を定義するキャンバス要素に付した名前(キャンバス要素のネーム属性)である。このような名前は、第1のフィルター(反転機能フィルター)に対応付けた識別情報の一例である。

0033

図5は、ステップS142(第2フィルター処理)が実行された時点でのXPSファイル30の一部を例示している。図5図4と比較すれば判るように、ステップS142により、符号d4で示した箇所(記述範囲d4)が更に挿入された。
具体的には、ドライバー12は、ステップS142において、XPSファイル30の記述全体をDOM(Document Object Model)ツリー化し、当該DOMツリーにおいて、所望の識別情報(前記ネーム属性)を、SelectSingleNode関数とXPathとを使用して探索する。SelectSingleNode関数とは、DOMツリーのノードを探索するための関数であり、XPathとは、当該探索の条件を示す文字列である。

0034

本実施形態では、ドライバー12は、第2のフィルターの機能に応じて探索すべきネーム属性というものを、予め規定したポリシーに基づいて決定する。前記具体例のように、第2のフィルターがスタンプマーク重畳機能フィルターである場合、ドライバー12は、処理順序が最も先の第1のフィルターである回転機能フィルターに対応付けたネーム属性を、探索すべきネーム属性と決定する。そして、ドライバー12は、回転機能フィルターに対応付けたネーム属性、すなわち"EP LandscapeFilter"を探索する(ネーム属性"EP LandscapeFilter"を有するCanvasノードを探索する)。このような探索の結果、ドライバー12は、スタンプマーク重畳機能フィルターの処理内容を示す第2の記述(記述範囲d4)を挿入すべき位置を、当該探索したネーム属性"EP LandscapeFilter"を有するCanvasノードの直後の位置(記述d1uと記述範囲d0との間)に決定し、当該決定した位置へ記述範囲d4を挿入する。このような位置へ記述範囲d4を挿入することにより、記述範囲d0が表現する描画に特定のスタンプマークを縦向きに重畳した結果全体に、回転機能フィルターによる回転の効果を及ぼし、さらに拡大縮小機能フィルターによる拡大/縮小の効果を及ぼし、さらに反転機能フィルターによる左右反転の効果を及ぼすことができる。

0035

図2の説明に戻る。ステップS160では、ドライバー12は、第1フィルター処理および第2フィルター処理を終えたXPSファイル(XPSファイル30)へ所定のレンダリングフィルターを適用することによりレンダリングを実行する。レンダリングにより、XMLフォーマットベースとしている現在のデータを解釈して、ビットマップデータ化色変換処理ハーフトーン処理、並べ替え処理等を実行し、プリンター52が印刷を実行可能な印刷データを生成する。このようなステップS160を実現する点で、制御部20は、印刷データ生成部として機能すると言える。そして、ドライバー12は、レンダリングにより生成した印刷データを、プリンター52へ出力する(ステップS170)。これにより、プリンター52は、当該印刷データに基づく印刷を実行する。

0036

3.本実施形態の効果および補足説明
図6は、本実施形態による効果の一例を説明するための図である。上段図6Aは、ユーザーが任意に指定したXPSファイルに本実施形態を適用しなかった場合の従来例であり、下段図6Bは、当該XPSファイルに本実施形態を適用した場合の例である。当該XPSファイルは、何らかのオリジナル画像(図6の例では“A”という文字を略中央に有する画像)を表現している。図6では、説明を単純にするため、ユーザーが任意に印刷設定を入力した結果、第1のフィルターとしての回転機能フィルターおよび第2のフィルターとしてのスタンプマーク重畳機能フィルターが有効化されて当該XPSファイルへのフィルター処理が実行されたとする。このような前提において、本実施形態を適用しない従来例では、XPSファイルへ、回転機能フィルターによる処理内容を示す第1の記述がなされ、その後、スタンプマーク重畳機能フィルターによる処理内容を示す第2の記述がなされるだけである。そのため、従来例によれば、レンダリング後に、元の向きから90°回転したオリジナル画像(天地方向が横向きとなった画像)上に特定のスタンプマーク(図6の例では、いわゆる“丸秘”マーク)が縦向きに重畳された状態の印刷結果が得られる(図6A)。つまり、XPSファイルが表現する画像の天地方向とスタンプマークの天地方向とが異なった印刷結果が得られてしまう。このような結果は、ユーザーが期待するものとは言えない。

0037

一方、本実施形態を適用した場合は、XPSファイルへの処理順が第1のフィルター(例えば、回転機能フィルター)よりも後である第2のフィルター(例えば、スタンプマーク重畳機能フィルター)によるフィルター処理の際に、その処理内容を示す第2の記述を挿入する位置を、先に処理内容を記述した第1のフィルターに対応付けて挿入した識別情報に基づいて決定する。そのため、第1のフィルターよりもフィルター処理の順序が後の第2のフィルターの処理へ第1のフィルターによる処理の効果を及ぼすことができるXPSファイル内の位置へ、第2のフィルターによる処理内容を示す第2の記述を挿入することができる。これにより、フィルターFm間の処理順序は変えられないという制約がある中で、例えば図6Bのように、レンダリング後、元の向きから90°回転したオリジナル画像(天地方向が横向きとなった画像)上に当該回転の効果を同様に受けて天地方向が横向きとなった特定のスタンプマークが重畳された状態の印刷結果が得られ、印刷結果へのユーザーの期待に応えることができる。

0038

上述したように、複数の有効化された第1のフィルター毎の第1フィルター処理の度に、第1のフィルターに対応付けた異なる識別情報(ネーム属性)をXPSファイルへ挿入することにより(図3のステップS141および図4参照)、第2のフィルターによる処理内容を示す第2の記述を挿入可能な位置が複数存在することになる。ドライバー12は、ステップS142(第2フィルター処理)では、第2のフィルターの機能に応じて、第2の記述を挿入すべき位置を示す識別情報(ネーム属性)を探索し、探索した識別情報に基づいて決定した位置へ第2の記述を挿入する。既に述べたように、ドライバー12は、予め規定したポリシーに基づいて、第2のフィルターの機能に応じて探索すべきネーム属性を決定する。前記具体例のように、第2のフィルターがスタンプマーク重畳機能フィルターであれば、ドライバー12は、スタンプマークの向きや大きさに回転、拡大/縮小、反転といった各第1のフィルターによる効果を及ぼすべきとのポリシーに基づき、処理順序が最も先の第1のフィルター(回転機能フィルター)に対応付けたネーム属性"EP LandscapeFilter"を、探索すべきネーム属性と決定する。

0039

なおドライバー12は、仮に、拡大縮小機能フィルターに対応付けたネーム属性"EP ScalingFilter"に基づいてスタンプマーク重畳機能フィルターの処理内容を示す第2の記述(記述範囲d4)を挿入すべき位置を決定した場合には、この記述範囲d4を、当該ネーム属性"EP ScalingFilter"を有するCanvasノードの直後の位置(記述d2uと記述d1uとの間)に挿入する。これにより、記述範囲d0が表現する描画を90°回転させた画像へ縦向きに特定のスタンプマークを重畳した結果全体に、拡大縮小機能フィルターによる拡大/縮小、および反転機能フィルターによる左右反転の効果を及ぼすことができる。また仮に、反転機能フィルターに対応付けたネーム属性"EP MirrorFilter"に基づいてスタンプマーク重畳機能フィルターの処理内容を示す第2の記述(記述範囲d4)を挿入すべき位置を決定した場合には、この記述範囲d4を、当該ネーム属性"EP MirrorFilter"を有するCanvasノードの直後の位置(記述d3uと記述d2uとの間)に挿入する。これにより、記述範囲d0が表現する描画を90°回転させ且つ拡大/縮小した画像へ縦向きに特定のスタンプマークを重畳した結果全体に、反転機能フィルターによる左右反転の効果を及ぼすことができる。

0040

さらに、例えば第2のフィルターが透かし重畳機能フィルターである場合、ドライバー12は、透かし画像に回転および拡大/縮小の効果は及ぼさないというポリシーに基づき、反転機能フィルターに対応付けたネーム属性を、探索すべきネーム属性と決定するとしてもよい。これにより、記述範囲d0が表現する描画を90°回転させ且つ拡大/縮小した画像へ透かし画像を重畳した結果全体に、反転機能フィルターによる左右反転の効果を及ぼすことができる。

0041

また、ドライバー12は、ステップS142(第2フィルター処理)では、第2のフィルターの機能が論理ページを処理単位とする機能であるか物理ページを処理単位とする機能であるかに応じて、探索対象とする識別情報(ネーム属性)を決定するとしてもよい。論理ページを処理単位とする機能とは、XPSファイルが定義する論理ページ毎に適用することが好ましい機能であり、スタンプマーク重畳機能は、その代表的な一例である。一方、物理ページを処理単位とする機能とは、物理上の1ページ(一枚の用紙)毎に適用することが望ましい機能であり、ヘッダーフッター追加機能は、その代表的な一例である。そして、ドライバー12は、第2のフィルターの機能が論理ページを処理単位とする機能であれば、探索対象とする識別情報(ネーム属性)を第1のフィルター毎の複数の識別情報のいずれかから決定し、第2のフィルターの機能が物理ページを処理単位とする機能であれば、第1のフィルター毎の複数の識別情報のいずれも探索しない、というポリシー(論理/物理ページに関するポリシー)を有し得る。

0042

図7は、ステップS142(第2フィルター処理)が実行された時点でのXPSファイル30の一部であって、図5とは異なる例を示している。図7図4と比較すれば判るように、ステップS142により、符号d5で示した箇所(記述範囲d5)が更に挿入された。また、図7図5を比較すると、図7には、記述範囲d5が挿入されている一方で記述範囲d4は存在せず、図5には、記述範囲d4が挿入されている一方で記述範囲d5は存在しない。このような図7は、ドライバー12が、第2のフィルターとしてヘッダーフッター追加機能フィルターを有効化し、前記論理/物理ページに関するポリシーに基づいてステップS142を実行した結果を示している。前記論理/物理ページに関するポリシーに基づいたとき、ドライバー12は、第2のフィルターがヘッダーフッター追加機能フィルターであれば、第1のフィルター毎の複数の識別情報(ネーム属性)のいずれも探索せず、通常の記載位置へ、ヘッダーフッター追加機能フィルターの処理内容を示す第2の記述(記述範囲d5)を挿入する。ここで言う通常の記載位置とは、図7に示すように、直前のフィルター処理で挿入された記述(反転機能フィルターの処理内容を示す第1の記述である、記述d3u)の直上の位置である。このような位置へ記述範囲d5を挿入することにより、記述範囲d0が表現する描画に対する回転機能フィルターによる回転の効果、拡大縮小機能フィルターによる拡大/縮小の効果、および反転機能フィルターによる左右反転の効果、とは無関係に、ページ(物理ページ)の上端/下端にヘッダー/フッターを追加した印刷結果が得られる。

0043

有効化された第1のフィルターにNup機能フィルターが含まれる場合にも、前記論理/物理ページに関するポリシーを採用することによる好適な結果が生じ易い。ドライバー12は、例えば、Nup機能フィルターによるフィルター処理を含む第1フィルター処理の後に、第2のフィルターとしてのスタンプマーク重畳機能フィルターによる第2フィルター処理を実行する場合に、当該ポリシーに基づき、上述の如く処理順序が最も先の第1のフィルターに対応する識別情報(ネーム属性)を探索し、XPSファイルにおける当該探索結果に従った位置へ第2の記述を挿入する。これにより、一枚の用紙(物理ページ)に割り付けられるNページ(例えば2ページ)の論理ページそれぞれに特定のスタンプマークを重畳させた好適な印刷結果を得ることができる。一方、ドライバー12は、例えば、Nup機能フィルターによるフィルター処理を含む第1フィルター処理の後に、第2のフィルターとしてのヘッダーフッター追加機能フィルターによる第2フィルター処理を実行する場合に、当該ポリシーに基づき、第1のフィルター毎の複数の識別情報のいずれも探索せず、XPSファイルにおける前記通常の記載位置へ第2の記述を挿入する。これにより、Nページ(例えば2ページ)の論理ページが割り付けられた一枚の用紙(物理ページ)の上端/下端にヘッダー/フッターを追加した好適な印刷結果を得ることができる。

0044

4.変形例:
本発明は上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば後述するような変形例を採用可能である。上述の実施形態に変形例を適宜組み合わせた構成も本発明の開示範囲に入る。

0045

図8は、制御部20がドライバー12を実行することにより実現する、つまり制御部20とドライバー12とが協働して実現する印刷制御処理(印刷制御方法)であって、図2とは異なる例をフローチャートにより示している。図8のフローチャートは、図2と比較したとき、ステップS152,S154,S156を有する点で異なる。

0046

ステップS152では、ドライバー12は、第1フィルター処理および第2フィルター処理を終えたXPSファイル(XPSファイル30)に基づく画像を表示部51にプレビュー表示させる。つまり、ドライバー12は、ステップS150で“Yes”と判定した時点で得られているXPSファイル30を解釈して表示部51に表示させるための所定フォーマットの画像データを生成し、当該画像データに基づく表示を表示部51に実行させる。このようなプレビュー表示により、ユーザーは、オリジナル画像に対して第1フィルター処理および第2フィルター処理が施された状態の画像、つまり印刷直前の画像を確認することができる。このようなステップS152を実現する点で、制御部20は、プレビュー表示制御部として機能すると言える。

0047

ユーザーは、プレビュー表示を視認しながら、当該プレビューの結果を容認するか否かを、入力部50を操作することにより制御部20へ通知することができる。ドライバー12は、プレビューの結果を容認する旨の通知があったことを入力部50を介して認識したときに、再試行指示無しと判定し(ステップS154において“No”)、ステップS160へ進む。一方、プレビューの結果を容認しない旨の通知(ただし、印刷中止の通知を除く。)があったことを入力部50を介して認識したときに、ドライバー12は、再試行指示有りと判定し(ステップS154において“Yes”)ステップS156へ進む。

0048

前記再試行指示有りの場合、ドライバー12は、第2フィルター処理を再試行する(ステップS156)。第2フィルター処理の再試行とは、ステップS142(図3参照)で実行済みの第2フィルター処理を取り消すとともに、当該実行済みの第2フィルター処理で挿入したXPSファイル30内の位置とは異なる位置へ前記第2の記述を挿入する処理である。ステップS142で実行済みの第2フィルター処理を取り消すとは、ステップS142でXPSファイル30へ挿入した第2の記述(例えば、図5に示す記述範囲d4)を削除することを指す。その上で、ドライバー12は、当該削除した第2の記述を、別の位置へ挿入する。例えば、ステップS142の第2フィルター処理で第2の記述を挿入した位置が、回転機能フィルターに対応付けたネーム属性"EP LandscapeFilter"を探索した結果決定した位置(ネーム属性"EP LandscapeFilter"を有するCanvasノードの直後の位置)であるとする。その場合、前記別の位置には、拡大縮小機能フィルターに対応付けたネーム属性"EP ScalingFilter"を探索した結果決定される位置(ネーム属性"EP ScalingFilter"を有するCanvasノードの直後の位置)や、反転機能フィルターに対応付けたネーム属性"EP MirrorFilter"を探索した結果決定される位置(ネーム属性"EP MirrorFilter"を有するCanvasノードの直後の位置)や、前記通常の記載位置、が該当する。

0049

ドライバー12は、このような前記別の位置に関する複数の選択肢のいずれを採用して第2の記述を挿入するかを、ユーザーの指示に従って決定してもよいし、ユーザーの指示を仰ぐことなく自動的に(所定の判断基準に基づいて、あるいはランダムに)決定してもよい。このような第2フィルター処理の再試行の結果、前記別の位置に第2の記述を挿入したXPSファイル30が生成される。その後、ドライバー12は、ステップS152へ戻り、最新の再試行を反映したXPSファイル30に基づくプレビュー表示を表示部51に実行させる。このような変形例によれば、ユーザーは、プレビュー表示を確認しつつ第2フィルター処理を再試行させることができるので、真に得たい印刷結果を容易に得ることができる。なお当該変形例は、プレビュー表示(ステップS152)の後に、印刷設定をユーザーに再度させることにより、ステップS110からの処理を再度実行することを否定しない。

0050

10…印刷制御装置、11…OS、12…プリンタードライバー、13…アプリケーション、20…制御部、30…XPSファイル、50…入力部、51…表示部、52…プリンター、F,Fm…フィルター

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ