JP2015204056A - 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ - Google Patents

印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ Download PDF

Info

Publication number
JP2015204056A
JP2015204056A JP2014084376A JP2014084376A JP2015204056A JP 2015204056 A JP2015204056 A JP 2015204056A JP 2014084376 A JP2014084376 A JP 2014084376A JP 2014084376 A JP2014084376 A JP 2014084376A JP 2015204056 A JP2015204056 A JP 2015204056A
Authority
JP
Japan
Prior art keywords
print
attribute
print attribute
printing
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014084376A
Other languages
English (en)
Inventor
高島 敬一
Keiichi Takashima
敬一 高島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014084376A priority Critical patent/JP2015204056A/ja
Publication of JP2015204056A publication Critical patent/JP2015204056A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 プリンタドライバ内の印刷属性を設定するための設定ファイルを変更することなく、ユーザが作成した印刷属性を用いて加工した設定ファイルを利用して印刷情報を処理する。
【解決手段】
アプリケーションからの印刷情報を処理するプリンタドライバを備える印刷制御装置であって、印刷を実行する際に、第1の印刷属性と前記第2の印刷属性の内容が一致しないと判断した場合、第1の印刷属性を前記第2の印刷属性に基づいて加工することにより第3の印刷属性を生成する加工し、該加工した第3の印刷属性を格納しておく。そして、印刷情報に基づいて印刷装置に出力すべき印刷データを生成する際に、参照すべき印刷属性の格納先を前記第3の印刷属性を格納する格納先に変更することを特徴とする。
【選択図】 図7

Description

本発明は、印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバに関するものである。
パーソナルコンピュータ(PC)でプリンタを利用する場合、通常PC上で動作するプリンタドライバと呼ばれるソフトウェアによって制御される。プリンタドライバの役割は大きく2つある。1つはユーザに対して印刷設定の変更を可能にする役割で、一般的にユーザインタフェース(UI)を有している。もう1つはアプリケーションソフトウェア(以下、アプリ)からの描画命令をプリンタの解釈できる印刷データ、例えばページ記述言語(PDL)に変換してプリンタにデータを送信する役割である。
マイクロソフト社のWindows(登録商標)OSにおいては、プリンタメーカーが汎用プリンタ定義言語(GPD)ベースにプリンタドライバを作ることができる。GPDベースのプリンタドライバでは、プリンタメーカーの作成したテキスト形式のGPDファイルを元に、OSに標準で用意されているコンフィグレーションモジュールがプリンタドライバのUIを生成する。なお、GPDとは、Generic Printer Descriptionの略である。
また、OSに標準で用意されている汎用レンダーモジュール、例えばGDIベースのUnidriverやv4プリンタドライバベースのXPS−PCLフィルター等、はGPDファイルを参照して、その記述に適合したPDLデータを生成する。
GPDファイルにはプリンタの能力や設定可能な印刷属性が記述されるが、UIで変更できない属性がある。このため、UIで変更できない属性を変更して汎用レンダーモジュールの出力するPDLに変更を反映させるには、汎用レンダーモジュールの出力したPDLを別のモジュールで変更する手段が考えられる。
しかし、汎用レンダーモジュールのレンダリング後では元の情報がなくなっていて、実現が困難である。他の手段としては、ユーザの設定に従ってGPDファイルを変更する手段が考えられる。
ポイント アンド プリントによってサーバからドライバが配信されてインストールした場合は、サーバ側の汎用レンダーモジュールがレンダリング処理を行い、GPDファイルもサーバ側のファイルが参照される。
一方、ユーザ毎に異なる設定はクライアントで保持しているので、クライアントで保持している設定に従うためには、印刷時に動的にサーバ側のGPDファイルを変更する必要がある。もしくは、印刷時に動的にサーバ側にGPDファイルを生成して、汎用レンダーモジュールがそのファイルを参照するようにする必要がある。
下記特許文献1では、アプリケーションが、印刷装置に問い合わせを行い、現在の印刷装置の機能と、複数の印刷装置に共通する一群の基本機能一式との双方に基づいてGPDファイルを動的に生成している。そして、生成したGPDファイルを含むプリンタドライバを生成することを可能にしている。
特開2009−181573号公報
しかしながら、特許文献1の技術では、既にOSにインストールされているプリンタドライバのGPDファイルを変更したり、別のGPDファイルに置き換えたりすることになる。その結果、GPDファイルがアクセス権で制限されており変更できなかったり、例え変更出来たとしても署名ファイル(catファイル)が不正になったりしてしまう。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、プリンタドライバ内の印刷属性を設定するための設定ファイルを変更することなく、ユーザが作成した印刷属性を用いて加工した設定ファイルを利用して印刷情報を処理できる仕組みを提供することである。
上記目的を達成する本発明の印刷制御装置は以下に示す構成を備える。
アプリケーションからの印刷情報を処理するプリンタドライバを備える印刷制御装置であって、前記印刷情報の印刷属性を前記プリンタドライバで特定される第1の印刷属性に設定する設定手段と、前記印刷情報の印刷属性をユーザが指定する第2の印刷属性に置換する置換情報を作成する作成手段と、印刷を実行する際に、前記第1の印刷属性と前記第2の印刷属性の内容が一致するかどうかを判断する判断手段と、前記第1の印刷属性と前記第2の印刷属性との内容が一致しないと判断した場合、前記第1の印刷属性を前記第2の印刷属性に基づいて加工することにより第3の印刷属性を生成する加工手段と、前記加工手段が加工した第3の印刷属性を格納する格納手段と、前記印刷情報に基づいて印刷装置に出力すべき印刷データを生成する生成手段と、前記生成手段が参照すべき印刷属性の格納先を前記第3の印刷属性を格納する前記格納手段を特定する格納先に変更する変更手段と、を備えることを特徴とする。
本発明によれば、プリンタドライバ内の印刷属性を設定するための設定ファイルを変更することなく、ユーザが作成した印刷属性を用いて加工した設定ファイルを利用して印刷情報を処理できる。
印刷制御装置の構成を示すブロック図である。 印刷制御装置のモジュール構成の一例を示すブロック図である。 図2に示したGPDファイルの一例を示す図である。 PB203の構成を説明する図である。 フォント置き換え設定画面の一例を示す図である。 管理アプリ、プリンタドライバのデータの流れを表す図である。 印刷制御装置のデータ処理方法を説明するフローチャートである。 印刷制御装置のモジュール構成の一例を示すブロック図である。 印刷制御装置のデータ処理方法を説明するフローチャートである。 印刷制御装置のデータ処理方法を説明するフローチャートである。 管理アプリ、プリンタドライバのデータの流れを表す図である。 印刷制御装置のデータ処理方法を説明するフローチャートである。 印刷制御装置のデータ処理方法を説明するフローチャートである。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の実施形態を適用可能な印刷制御装置の構成を示すブロック図である。本実施形態は、マイクロソフト社のWindows(登録商標)のV4プリンティングシステムを例とする。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
図1の(A)において、CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はアプリ1051や管理アプリ1052、プリンタドライバ1053、オペレーティングシステム(OS)1054等を記憶する。ここで、プリンタドライバ1053は、アプリケーションからの印刷情報をプリンタ111で印刷可能な印刷データに変換する処理を行う。なお、アプリケーションからの印刷情報には、印刷属性として、アプリケーションが使用するフォント属性が指定されている。本実施形態では、アプリケーションが使用するフォント属性をプリンタ111で使用するフォント属性に置換する処理を例として以下詳述する。
アプリ1051や管理アプリ1052、プリンタドライバ1053は、不図示のCD−ROMやUSBメモリ、あるいはネットワーク112を経由して補助記憶装置105に追加することが可能である。キーボード108やマウス・タッチパネルなどに代表されるポインティングデバイス109などの入力機器は、入力I/F103を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインタフェースであり、モニタ110やプリンタ111などの出力機器に対してデータを出力する。
プリンタ111とは直接接続されるローカルI/Oのみならず、通信I/F106を通じて接続されるネットワーク112を通して接続されていてもよい。また、107は共通データシステムバスで、モジュール間でそれぞれのデータのやりとりを行う。
図1の(B)に示すプリンタ111において、CPU120は、ROM122あるいは補助記憶装置129に記憶された制御プログラム等に基づいてシステムバス123に接続される印刷部I/F125を介して印刷部127に出力情報としての画像信号を出力する。また、このROM122のプログラムROMにはCPU120の制御プログラム等を記憶する。
ROM122のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶する。さらに、ROM122のデータ用ROMには、ハードディスク等の補助記憶装置129を備えていないプリンタの場合には、ホストコンピューター上で利用される情報等を記憶する。
CPU120は、入力I/F124を介してホストコンピューターとの通信処理が双方向に可能となっており、プリンタ111内の情報等をホストコンピューターに通知可能に構成されている。ここで、情報には、プリンタエンジンのステータスや、ネットワーク設定情報や、デバイス名、リソース名等が含まれる。RAM121は、CPU120の主メモリー、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリー容量を拡張することができるように構成されている。
なお、RAM121は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の補助記憶装置129は、外部メモリーI/F126によりアクセスが制御される。補助記憶装置129は、オプションとして接続され、フォントデータ、エミュレーションプログラム等を記憶する。
なお、補助記憶装置129は1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリーを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作部128からのプリンタモード設定情報を記憶するようにしてもよい。操作部128は、操作のためのスイッチおよびLED表示器等が配されている。
図2は、図1に示した印刷制御装置のモジュール構成の一例を示すブロック図である。
図2において、アプリ1051は、補助記憶装置105からRAM1022にロードされて実行される。アプリ1051が印刷を行う際には、印刷システム201を利用して、出力先プリンタ選択画面(不図示)を表示して印刷先のプリンタ111を選択し、印刷属性の設定および出力(描画)を行う。
印刷システム201は、オペレーティングシステム1054のサブシステムである。印刷システム201は、プリンタ111ごとに用意されたプリンタドライバ1053を補助記憶装置105からRAM1022にロードし、アプリ1051の出力先をプリンタドライバ1053に設定する。
印刷システム201は、アプリ1051からPrintTicket(以下、PT)を受け取りプリンタドライバ1053へ印刷属性データとして出力する。PTは印刷属性をXML形式のデータとして表現したものである。また、印刷システム201は、アプリ1051から印刷能力取得リクエストを受け取り、プリンタドライバ1053から取得したPrintCapabilities(以下、PC)をアプリ1051に返却する。
PCはプリンタ111の能力をXML形式で表現したもので、プリンタ111において指定可能な印刷属性の項目や属性値が全て列挙されている。PTは、PCで列挙される設定項目や属性値のうち印刷に必要な現在の設定値のみを記載したもので、PCがあればPTを生成できる。アプリ1051はPCを取得し解釈することによって、プリンタ111で指定可能な印刷属性を知ることができる。また、印刷システム201は、アプリ1051からXPSデータを受け取りプリンタドライバ1053へ印刷データとして出力する。XPSデータは文書データとしての利用も可能なXMLベースの文書フォーマットで、XML Paper Specificationの略である。
Microsoft社が開発し、ECMA−388で標準化された文書フォーマットである。文書構造は、各々ジョブ/ドキュメント/ページを表す"Fixed Document Sequence(以下、FDS)"、"Fixed Document(以下、FD)"、"Fixed Page(以下、FP)"の3階層のツリー構造をとる。FPは更に、複数の描画オブジェクトから構成される。また、XPSデータは印刷属性であるPTを内部にもつことができ、ジョブ/ドキュメント/ページの単位で一部の印刷属性のみの指定が可能である。
プリンタドライバ1053は、UIコンポーネント209とグラフィックコンポーネント202から構成される。更にUIコンポーネント209は、コンフィグレーションモジュール204とGPDファイル205から構成される。コンフィグレーションモジュール204は、OSに標準で用意されているモジュールである。コンフィグレーションモジュール204は、印刷システム201から呼び出されて、プリンタ111の機種毎にメーカーが作成したGPDファイル205に従って機種に適したUI画面を表示し、設定内容をPTとして返却する。
またコンフィグレーションモジュール204は、印刷システム201からリクエストを受けると、GPDファイル205に従ってPCを返却する。グラフィックコンポーネント202は、予め処理の順番が定められている複数のフィルターから構成される。
本実施形態では、GPDフィルター206と汎用レンダーフィルター207から構成される。GPDフィルター206は、印刷システム201からXPSデータを受け取り、GPDファイルに関する処理(後述)を行い、受け取ったXPSデータをそのまま汎用レンダーフィルター207に渡す。汎用レンダーフィルター207は、OSに標準で用意されているモジュールで、GPDフィルター206からXPSデータを受け取り、GPDファイル205に従ってXPSデータから機種に適したPDLデータに変換する。
図3は、図2に示したGPDファイル205の一例を示す図である。
図3において、汎用レンダーフィルター207がPDL生成のために参照する部分のみ記載しており、コンフィグレーションモジュール204がUI画面を表示するために参照する部分は本実施形態とは関係ないので、記載を省いている。
*DeviceFontsエントリーは、使用可能なプリンタフォントの一覧である。*TTFSEnabled?エントリーは、TTフォントの置き換え機能を有効にするかどうかで、値がTRUEであれば*TTFSエントリーが有効となる。*TTFSエントリーは、TTフォントを置き換えるプリンタフォントの設定である。
図3の例の場合、TTフォント"Courier New"をプリンタフォント"Courier"に置き換えることを表す。*DeviceFontsエントリーと*TTFSEnabled?エントリーはUIによって値を切り替えるように記述可能だが、*TTFSエントリーはGPDファイル205のルートレベルに記述する必要がありUIで変更できない。汎用レンダーフィルター207は、*TTFSEnabled?エントリーがTRUEであれば、*TTFSエントリーを参照して、その記述に従ってTTフォントをプリンタフォントに置き換えてPDLを生成する。
しかし、*TTFSエントリーはUIで変更できないため、フォント置き換えをする場合にはGPDファイル205に記載された固定的なフォント置き換えしかできない。ユーザが予めTTフォントに対して置き換えるプリンタフォントを自由に設定し、その設定に従って印刷したい場合には本実施形態に示す構成が必要となる。
プロパティバッグ(PB)203は、属性の名前と値の組み合わせでデータを追加・削除・参照できる仕組みである。プリンタメーカーは、PB203の独自の属性を定義して、メーカー作成のフィルターで使用することができる。この仕組みを使うことによって、グラフィックコンポーネント202の各フィルターは印刷時にデータの受け渡しができる。
印刷システム201は、プリンタドライバ1053がインストールされるとPB203を生成し、プリンタドライバ1053がアンインストールされると破棄する。また、印刷の前に管理者が管理アプリ1052を使用してPB203に情報をセットしておくことができる。
そうすると、XPSデータ内のPTには存在しない情報をグラフィックコンポーネント202が取得できる。例えば、両面オプションユニットがインストールされているかどうかの情報を印刷前に管理者がPB203にセットしておくと、印刷時にグラフィックコンポーネント202がその値を参照し、情報に従ったPDLデータが生成できる。
図4は、本実施形態におけるPB203の構成を説明する図である。MergedDataFilePath属性はGPDファイル205のパスを示し、印刷システム201がプリンタドライバ1053のマニフェストファイルの情報から生成する。
グラフィックコンポーネント202の各フィルターは、この属性値を用いてGPDファイルの記述を参照することができる。TTFSTable属性はフォント置き換え情報で、置き換え対象のTTフォント名称と、置き換え後のプリンタフォント名称の複数の組を含むヌル終了文字列で表す。図4の例の場合、"Courier New"、"MS 明朝"、"MS ゴシック"の3つのTTフォントのフォント置き換え情報である。TTFSTableTime属性は、TTFSTable属性の更新日時情報で、"年/月/日 時/分/秒"の書式の文字列で表す。
管理アプリ1052は、TTフォントをどのプリンタフォントに置き換えるか、または置き換えないでプリンタにダウンロードするかをユーザが設定できるアプリケーションで、実行には管理者権限が必要である。設定した内容は、フォント置き換えテーブル208に保存するとともに、PB203のTTFSTable属性に保存する。
図5は、図1に示した管理アプリ1052が表示するフォント置き換え設定画面500の一例を示す図である。
図5において、フォント置き換え設定画面500には、フォント置き換えリスト501、TTフォント名テキスト502、置き換えフォント名リスト503、OKボタン504、キャンセルボタン505が含まれる。
フォント置き換えリスト501は、使用可能なTTフォント501(a)に対する置き換えプリンタフォント501(b)のリストである。管理アプリ1052は起動すると、フォント置き換えテーブル208から設定内容を読み込み、フォント置き換えリスト501に反映する。特定のTTフォント501(a)に対する置き換えプリンタフォント501(b)の設定値がフォント置き換えテーブル208に含まれていなければ、デフォルト値である「ダウンロード」を置き換えプリンタフォント501(b)の設定値とする。
フォント置き換えリスト501から1項目が選択されると、選択された項目のTTフォント501(a)と置き換えプリンタフォント501(b)の値が、それぞれTTフォント名テキスト502と置き換えフォント名リスト503に反映される。TTフォント名テキスト502は編集不可である。置き換えフォント名リスト503は、プリンタ111で使用可能な全てのプリンタフォントのフォント名と「ダウンロード」から成るリストである。
「ダウンロード」が設定されると、設定されたTTフォントを使った文書を印刷した場合に、TTフォントをプリンタにダウンロードして印字に使用することを意味する。置き換えフォント名リスト503が変更されると、フォント置き換えリスト501の選択中の項目の置き換えプリンタフォント501(b)を変更する。
OKボタン504が押されると、フォント置き換え設定画面500を閉じて、フォント置き換えリスト501の設定内容を、フォント置き換えテーブル208に保存する。同時に、置き換えプリンタフォント501(b)の値が「ダウンロード」以外に設定されている項目を対象として、フォント置き換えリスト501の設定内容をPB203のTTFSTable属性に保存する。更に、処理した日時をPB203のTTFSTableTime属性に保存する。
キャンセルボタン505が押されると、何もせずにフォント置き換え設定画面500を閉じる。
図6は、図1に示した管理アプリ1052、プリンタドライバ1053のデータの流れを表す図である。以下、印刷属性、特にフォント属性を置換する印刷処理手順に従って説明する。
まず、プリンタドライバ1053をインストールすると、印刷システム201はPB203を作成する(PB203(a))。作成したPB203にはMergedDataFilePath属性が含まれ、その属性値はプリンタドライバ1053のオリジナルのGPDファイル205(a)のパスである。この時点では、TTFSTable属性は含まれない。
次に、ユーザが管理アプリ1052を用いてフォント置き換え設定をすると、管理アプリ1052は設定に従ってPB203にTTFSTable属性とTTFSTableTime属性を保存する(PB203(b))。ここで、TTFSTable属性とTTFSTableTime属性を含めて置換情報と呼ぶ。
ユーザがアプリ1051で印刷を実行すると、印刷システム201はXPSデータをGPDフィルター206に渡し、GPDフィルター206の処理が始まる。
図7は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、図2に示したGPDフィルター206の処理例である。なお、各ステップは、図1に示したCPU101がプリンタドライバ1053を実行することで、より具体的には、CPU101がGPDフィルター206を実行することで実現される。
まず、GPDフィルター206は、PB203からTTFSTable属性を取得し(S701)、取得できたか判定する(S702)。図6に示す例の場合、PB203(c)のTTFSTable属性は、TTフォント"Courier New"をプリンタフォント"Times"に置き換えることを示している。
一方、S702でPB203からTTFSTable属性を取得できないとGPDフィルター206が判断した場合、S710へ進む。また、S702でPB203からTTFSTable属性を取得できたとGPDフィルター206が判断した場合、GPDフィルター206は、PB203にOriginalMergedDataFilePath属性(後述)が存在するか判定する(S703)。
ここで、S703でPB203にOriginalMergedDataFilePath属性(後述)が存在しないとGPDフィルター206が判定した場合、GPDファイル205(a)から*TTFSエントリーを取得する(S704)。
図6に示す例の場合、GPDファイル205(a)の*TTFSエントリーは、TTフォント"Courier New"に対してプリンタフォント"Courier"に置き換えことを示している。
次に、GPDフィルター206は、S701で取得したTTFSTable属性とS704で取得した*TTFSエントリーが同等の内容か判定する(S705)。
PB203のTTFSTable属性とGPDファイル205の*TTFSエントリーが同等の内容とは、置き換え対象のTTフォントが同一で、それぞれの置き換え後のプリンタフォントが一致することである。
S705で同等の内容であるとGPDフィルター206が判定した場合、S710に進む。一方、S705で異なる内容とGPDフィルター206が判定した場合は、GPDファイル205(a)を元にしてGPDファイル205(b)を生成する(S706)。
ここで、GPDファイル205(b)を作成する場所(格納先)は、GPDフィルター206および汎用レンダーフィルター207が読み書き可能であればどこでも可能であるが、ローカルのシステムテンポラリフォルダーが望ましい。
そして、GPDフィルター206は、PB203にOriginalMergedDataFilePath属性を追加し、MergedDataFilePath属性の値を設定する(S707)。
なお、OriginalMergedDataFilePath属性が存在しなければ、MergedDataFilePath属性値はGPDファイル205(a)のパスであることを示す。OriginalMergedDataFilePath属性が存在すれば、MergedDataFilePath属性値はGPDファイル205(b)のパスであることを示す。
また、GPDフィルター206はPB203のMergedDataFilePath属性の値を、S706で生成したGPDファイル205(b)のパスに変更する(S708)。
更に、S701で取得したTTFSTable属性の内容に従って、S706で生成したGPDファイル205(b)の*TTFSエントリーを変更する(S709)。
図6に示す例の場合、PB203(b)のTTFSTable属性ではCourier Newフォントの置き換えフォントがTimesフォントであるのに従って、GPDファイル205(b)のCourier Newフォントの*TTFSエントリーを変更する。
最後に、GPDフィルター206は受け取ったXPSデータをそのまま次のフィルターに渡して(S710)、処理を抜ける。
一旦GPDファイル205(b)を生成した以降に印刷がされた場合は、S703で、OriginalMergedDataFilePath属性が存在すると判定され、GPDフィルター206はPB203からTTFSTableTime属性を取得する(S711)。
図6に示す例の場合、PB203(c)のTTFSTableTime属性は、2013年12月18日12時23分46秒にTTFSTable属性を保存したことを示している。
また、GPDフィルター206はGPDファイル205(b)の更新時間(格納時刻)を取得し(S712)、TTFSTableTime属性の日時の方が、GPDファイル205(b)の更新時間(作成時刻)よりも新しいかを比較して判定する(S713)。ここで、TTFSTableTime属性の日時の方がGPDファイル205(b)の更新時間よりも新しいとGPDフィルター206が判定した場合、GPDフィルター206はGPDファイル205(b)生成後に管理アプリ1052でフォント置き換え設定を再設定したことを意味する。
従って、S713でTTFSTableTime属性の日時の方が新しいとGPDフィルター206が判定すれば、S709へ進み、S701で取得したTTFSTable属性の内容に従って、既存のGPDファイル205(b)の*TTFSエントリーを変更する。
また、S713で、GPDフィルター206がTTFSTableTime属性の日時の方が古いと判定した場合、S710へ進む。
GPDフィルター206からXPSデータを受け取った汎用レンダーフィルター207は、PB203のMergedDataFilePath属性値が示すパスにあるGPDファイル205(a)またはGPDファイル205(b)を参照する。そして、汎用レンダーフィルター207は、参照したGPDファイル205の*TTFSエントリーに従ってXPSデータからPDLデータに変換し、システムスプーラー210に送出する。
以上の処理によって、管理アプリ1052は、ユーザのフォント置き換え設定に従ってPB203にフォント置き換え情報を保存する。そして、GPDフィルター206が、PB203のフォント置き換え情報を反映した別のGPDファイル205を必要に応じて生成し、更にPB203のGPDファイルパス情報を、生成したGPDファイル205のパスに変更する。
すると、汎用レンダーフィルター207は、PB203のGPDファイルパス情報が示すGPDファイル205を参照してPDLデータを出力する。その結果、プリンタドライバ1053のGPDファイル205を変更することなく、管理アプリ1052のフォント置き換え設定に従って加工したGPDファイル205の記述を汎用レンダーフィルター207が参照し、PDLデータを出力することができる。
〔第2実施形態〕
第1実施形態では、GPDフィルター206が生成したGPDファイル205(b)は、印刷が終了しても削除せずに次の印刷の際に再利用する例であった。第2実施形態では、印刷のたびにGPDファイル205(b)を削除する例を説明する。
図8は、本実施形態を示す印刷制御装置のモジュール構成の一例を示すブロック図である。
図8において、ポストプロセスフィルター801は、GPDフィルター206が生成したGPDファイル205(b)を削除する。削除は、ジョブごとに印刷終了もしくは印刷キャンセルのタイミングで行う。
図9は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、図2に示したGPDフィルター206の処理例である。なお、各ステップは、図1に示したCPU101がプリンタドライバ1053を実行することで、より具体的には、CPU101がGPDフィルター206を実行することで実現される。
なお、本実施形態におけるGPDフィルター206の処理は、図7のフローチャートからGPDファイル205(b)の更新に関する処理(S703、S711〜713)を除いたものである。このため、図7と同じ処理に対応するステップ番号のものは第1実施形態と同じものを表し、説明は省略する。
図10は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、図8に示したプリンタドライバ1053のポストプロセスフィルター801が実行する処理に対応する。なお、各ステップは、図1に示したCPU101がプリンタドライバ1053を実行することで、より具体的には、CPU101がポストプロセスフィルター801を実行することで実現される。以下、モジュールを主体として制御手順を説明する。
ポストプロセスフィルター801は、汎用レンダーフィルター207からXPSデータを受け取ると本処理を開始する。
まず、ポストプロセスフィルター801は印刷終了もしくは印刷キャンセルであるか判定する(S1001)。ここで、印刷終了は、汎用レンダーフィルター207から受け取ったXPSデータが全て揃ったことによって判定する。また、印刷キャンセルは、印刷システム201から印刷キャンセル通知を受け取ったことによって判定する。
S1001において、印刷終了もしくは印刷キャンセルではないとポストプロセスフィルター801が判定した場合、S1005へ進み、本処理を抜ける。 一方、S1001で印刷終了もしくは印刷キャンセルであるとポストプロセスフィルター801が判定した場合、ポストプロセスフィルター801はGPDフィルター206が生成したGPDファイル205(b)を削除する(S1002)。
なお、GPDファイル205(b)は、MergedDataFilePath属性値が示すパスが示すファイルである。
次に、ポストプロセスフィルター801は、MergedDataFilePath属性値をGPDファイル205(a)のパスに変更する(S1003)。ここで、GPDファイル205(a)のパスはOriginalMergedDataFilePath属性値である。そして、OriginalMergedDataFilePath属性を削除する(S1004)。最後に、受け取ったXPSデータをシステムスプーラー210に送出する(S1005)。
以上の処理によって、GPDフィルター206が生成したGPDファイル205(b)を印刷が終了する際にポストプロセスフィルター801が削除する。その結果、印刷後に余計なファイルを残さないで、管理アプリ1052のフォント置き換え設定に従って汎用レンダーフィルター207がPDLデータを出力することができる。
〔第3実施形態〕
第1実施形態では、GPDフィルター206が生成したGPDファイル205(b)は、印刷が終了しても削除せずに次の印刷の際に再利用する例であった。そのため、管理アプリ1052でフォント置き換え設定を変更しない限り、2度目の印刷からはGPDファイル205(b)が生成、変更されないが、最初の印刷ではGPDファイル205(b)が生成、変更されパフォーマンスが劣る。
そこで、本実施形態では、管理アプリ1052でフォント置き換え設定を変更する際に空の印刷ジョブを出力する。空の印刷ジョブは、例えば、印刷開始命令と印刷終了命令のみ発行して、印刷物が出力されないような印刷ジョブである。すると、空の印刷ジョブを受けたGPDフィルター206がGPDファイル205(b)を生成、変更し、その後のユーザの印刷は最初からパフォーマンスが落ちずに済む。
〔第4実施形態〕
第1実施形態では、汎用レンダーフィルター207がMergedDataFilePath属性値の示すGPDファイル205を直接参照する例であった。本実施形態では、汎用レンダーフィルター207がIPrintCoreHelperインターフェースを使ってGPDファイル205の内容を取得している例を説明する。IPrintCoreHelperインターフェースを使うと、GPDファイル205を直接読まなくても記述されている要素を列挙、取得などできる。
図11は、本実施形態を示す印刷制御装置における管理アプリ1052、プリンタドライバ1053のデータの流れを表す図である。なお、第1実施形態に示した図6の構成とは異なり、印刷システム201はIPrintCoreHelperインターフェース A1101、GPDフィルター206はIPrintCoreHelperインターフェースをラップしたインターフェース B1102を内部に持っている。
また、汎用レンダーフィルター207は、PB203に保存されているIPrintCoreHelper属性値が指すI/Fを使用して、GPDファイル205に記述されている要素を列挙、取得している。以下、印刷処理手順に従って、主に実施形態1との差異を説明する。
まず、プリンタドライバ1053をインストールすると、印刷システム201はPB203を作成する。作成したPB203にはIPrintCoreHelper属性が含まれ、その属性値は印刷システム201の内部にI/F A1101を指す。
次に、管理アプリ1052がPB203にTTFSTable属性とTTFSTableTime属性を保存する(PB203(b))。その後、ユーザがアプリ1051で印刷を実行すると、印刷システム201はXPSデータをGPDフィルター206に渡し、GPDフィルター206の処理が始まる。
図12は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、GPDフィルター206の処理に対応する。なお、各ステップは、図1に示したCPU101がプリンタドライバ1053を実行することで、より具体的には、CPU101がGPDフィルター206を実行することで実現される。
まず、GPDフィルター206は、PB203にIOriginalPrintCoreHelper属性を追加し、IPrintCoreHelper属性の値を設定する(S1201)。
ここで、IOriginalPrintCoreHelper属性は、後述のI/F B1102がI/F A1101をコールする際に用いる。次に、GPDフィルター206は、PB203のIPrintCoreHelper属性の値をI/F B1102に変更する(S1202)。
最後に、GPDフィルター206は、受け取ったXPSデータをそのまま次のフィルターに渡して(S1203)、処理を抜ける。
GPDフィルター206からXPSデータを受け取った汎用レンダーフィルター207は、PB203のIPrintCoreHelper属性値が示すI/F B1102を用いてGPDファイル205の情報を取得する。そして、取得したフォント置き換え情報に従ってXPSデータからPDLデータに変換し、システムスプーラー210に送出する。
図13は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、GPDフィルタ206のI/F B1102の処理例に対応する。なお、各ステップは、図1に示したCPU101がプリンタドライバ1053を実行することで、より具体的には、CPU101がGPDフィルタ206のI/F B1102を実行することで実現される。
I/F B1102は、呼び出されるとI/F A1101をコールし(S1301)、I/F B1102の呼び出しがフォント情報の取得であるか判定する(S1302)。S1302で、フォント情報の取得でないとI/F B1102が判定した場合、I/F B1102は、I/F A1101の返り値をそのまま返却する(S1306)。
S1302でフォント情報の取得であるとI/F B1102が判定した場合、I/F B1102は、PB203からTTFSTable属性を取得し(S1303)、取得できたか判定する(S1304)。
一方、S1304で取得できないとI/F B1102が判定した場合、I/F B1102は、I/F A1101の返り値をそのまま返却する(S1306)。
一方、S1304で取得できたとI/F B1102が判定した場合、I/F B1102は、PB203のTTFSTable属性値に従って、I/F A1101の返り値を加工する(S1305)。
図11に示す例の場合、TTフォント"Courier New"をプリンタフォント"Times"に置き換える。
最後に、I/F B1102は、加工後の値を返り値として返却して(S1306)、本処理を抜ける。
以上の処理によって、汎用レンダーフィルター207は、GPDフィルター206のI/F B1102を用いてGPDファイル205に記述されている情報を参照してPDLデータを出力する。その結果、プリンタドライバ1053のGPDファイル205を変更することなく、管理アプリ1052のフォント置き換え設定に従って加工したGPDファイル205の記述を汎用レンダーフィルター207が参照し、PDLデータを出力することができる。
〔第5実施形態〕
第1実施形態〜第4実施形態では、GPDファイル205の*TTFSエントリー(フォント置き換え)に対する適用例であったが、GPDファイル205の他の記述に適用することも可能である。
例えば、モード5(またはメソッド5)圧縮を使うかどうかを指定する*UseMode5Compression?エントリーに対して適用することもできる。ここでのモード(メソッド)とは、PCL(商標)5における圧縮モード(メソッド)であり、モード5はアダプティブ圧縮を意味する(詳細は、PCL5e Technical Reference Manual Part 1 p15-25を参照)。汎用レンダーフィルター207は、*UseMode5Compression?エントリーがTRUEであれば、ラスターデータの圧縮にアダプティブ圧縮を使用してPDLを生成する。しかし、*UseMode5Compression?エントリーはUIで変更できない。
そこで、*UseMode5Compression?エントリーに対して以下の処理を実行する。具体的には、管理アプリ1052は、ユーザのアダプティブ圧縮使用設定に従ってPB203にアダプティブ圧縮使用情報を保存する。そして、GPDフィルター206が、PB203のアダプティブ圧縮使用情報を反映した別のGPDファイル205を生成したり、GPDファイル205に記述されている情報を加工するI/Fを用意したりする。
汎用レンダーフィルター207は、生成したGPDファイル205を参照したりGPDファイル205を参照するI/F B1102を用いたりして、GPDファイル205に記述されている情報を参照してPDLデータを出力する。その結果、プリンタドライバ1053のGPDファイル205を変更することなく、管理アプリ1052の設定に従って加工したGPDファイル205の記述を汎用レンダーフィルター207が参照し、PDLデータを出力することができる。
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をパソコン(コンピュータ)等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
201 印刷システム
1051 プリンタドライバ

Claims (9)

  1. アプリケーションからの印刷情報を処理するプリンタドライバを備える印刷制御装置であって、
    前記印刷情報の印刷属性を前記プリンタドライバで特定される第1の印刷属性に設定する設定手段と、
    前記印刷情報の印刷属性をユーザが指定する第2の印刷属性に置換する置換情報を作成する作成手段と、
    印刷を実行する際に、前記第1の印刷属性と前記第2の印刷属性の内容が一致するかどうかを判断する判断手段と、
    前記第1の印刷属性と前記第2の印刷属性との内容が一致しないと判断した場合、前記第1の印刷属性を前記第2の印刷属性に基づいて加工することにより第3の印刷属性を生成する加工手段と、
    前記加工手段が加工した第3の印刷属性を格納する格納手段と、
    前記印刷情報に基づいて印刷装置に出力すべき印刷データを生成する生成手段と、
    前記生成手段が参照すべき印刷属性の格納先を前記第3の印刷属性を格納する前記格納手段を特定する格納先に変更する変更手段と、
    を備えることを特徴とする印刷制御装置。
  2. 前記印刷情報に対する印刷処理が終了した場合、前記格納手段に格納された前記第3の印刷属性を削除する削除手段を備えることを特徴とする請求項1記載の印刷制御装置。
  3. 前記印刷情報に対する印刷処理が取り消された場合、前記格納手段に格納された前記第3の印刷属性を削除する削除手段を備えることを特徴とする請求項1記載の印刷制御装置。
  4. 前記生成手段は、前記格納手段に前記第3の印刷属性が格納された格納時刻と前記作成手段が作成した第2の印刷属性の作成時刻とを比較して、前記第3の印刷属性の生成することを特徴とする請求項1記載の印刷制御装置。
  5. 前記第1の印刷属性は、前記アプリケーションが指定するフォント属性であることを特徴とする請求項1乃至4のいずれか1項に記載の印刷制御装置。
  6. 前記第2の印刷属性は前記印刷装置が使用するフォント属性であることを特徴とする請求項1乃至4のいずれか1項に記載の印刷制御装置。
  7. アプリケーションからの印刷情報をプリンタドライバが処理する印刷制御装置のデータ処理方法であって、
    前記印刷情報の印刷属性を前記プリンタドライバで特定される第1の印刷属性に設定する設定工程と、
    前記印刷情報の印刷属性をユーザが指定する第2の印刷属性に置換する置換情報を作成する作成工程と、
    印刷を実行する際に、前記第1の印刷属性と前記第2の印刷属性の内容が一致するかどうかを判断する判断工程と、
    前記第1の印刷属性と前記第2の印刷属性との内容が一致しないと判断した場合、前記第1の印刷属性を前記第2の印刷属性に基づいて加工することにより第3の印刷属性を生成する加工工程と、
    前記加工工程が加工した第3の印刷属性を格納手段に格納する格納工程と、
    前記印刷情報に基づいて印刷装置に出力すべき印刷データを生成する生成工程と、
    前記生成工程が参照すべき印刷属性の格納先を前記第3の印刷属性を格納する前記格納手段を特定する格納先に変更する変更工程と、
    を備えることを特徴とする印刷制御装置のデータ処理方法。
  8. 請求項7に記載の印刷制御装置のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
  9. アプリケーションからの印刷情報を印刷装置で印刷可能な印刷データに変換するプリンタドライバであって、
    前記印刷情報の印刷属性を前記プリンタドライバで特定される第1の印刷属性に設定する設定手段と、
    前記印刷情報の印刷属性をユーザが指定する第2の印刷属性に置換する置換情報を作成する作成手段と、
    印刷を実行する際に、前記第1の印刷属性と前記第2の印刷属性の内容が一致するかどうかを判断する判断手段と、
    前記第1の印刷属性と前記第2の印刷属性との内容が一致しないと判断した場合、前記第1の印刷属性を前記第2の印刷属性に基づいて加工することにより第3の印刷属性を生成する加工手段と、
    前記加工手段が加工した第3の印刷属性を格納する格納手段と、
    前記印刷情報に基づいて印刷装置に出力すべき印刷データを生成する生成手段と、
    前記生成手段が参照すべき印刷属性の格納先を前記第3の印刷属性を格納する前記格納手段を特定する格納先に変更する変更手段と、
    を備えることを特徴とするプリンタドライバ。
JP2014084376A 2014-04-16 2014-04-16 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ Pending JP2015204056A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014084376A JP2015204056A (ja) 2014-04-16 2014-04-16 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014084376A JP2015204056A (ja) 2014-04-16 2014-04-16 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ

Publications (1)

Publication Number Publication Date
JP2015204056A true JP2015204056A (ja) 2015-11-16

Family

ID=54597467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014084376A Pending JP2015204056A (ja) 2014-04-16 2014-04-16 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ

Country Status (1)

Country Link
JP (1) JP2015204056A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582258A (zh) * 2019-01-07 2019-04-05 厦门攸信信息技术有限公司 一种打印控制方法、装置及打印机
JP2019128637A (ja) * 2018-01-22 2019-08-01 日本電気株式会社 情報処理装置、印字処理方法およびコンピュータプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019128637A (ja) * 2018-01-22 2019-08-01 日本電気株式会社 情報処理装置、印字処理方法およびコンピュータプログラム
CN109582258A (zh) * 2019-01-07 2019-04-05 厦门攸信信息技术有限公司 一种打印控制方法、装置及打印机
CN109582258B (zh) * 2019-01-07 2022-09-06 厦门攸信信息技术有限公司 一种打印控制方法、装置及打印机

Similar Documents

Publication Publication Date Title
US11789676B2 (en) Information apparatus, controlling method for information apparatus, and storage medium
JP5641765B2 (ja) 情報処理装置、認証方法、及びコンピュータプログラム
JP4343604B2 (ja) 印刷システム、情報処理装置、インストール方法およびプログラム
US8274670B2 (en) Information processing apparatus print control method, and storage medium
US8908211B2 (en) Printing system, printing control apparatus, and non-transitory computer readable recording medium stored with printing control program
JP5621336B2 (ja) 情報処理装置、および印刷制御プログラム
JP2007109021A (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP5581793B2 (ja) 情報処理装置、プログラムおよび記憶媒体
US20160253128A1 (en) Output system, terminal device and output method
US9507544B2 (en) Information processing apparatus, recording medium, and control method to process print data using filters
JP5522952B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
US20070146759A1 (en) Information processing apparatus, information processing method, and information processing program
US8432556B2 (en) Information processing apparatus, print setting method, and computer-readable medium
JP2017049848A (ja) 情報処理装置及びその制御方法
JP2020009055A (ja) 情報処理装置及びプログラム
JP2017033052A (ja) 画像形成装置における制御装置およびプログラム
JP5879807B2 (ja) 印刷制御装置、制御プログラム及び記録媒体
JP2015204056A (ja) 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム、プリンタドライバ
US10310788B2 (en) Control method for generating data used for printing and information processing apparatus
JP6833419B2 (ja) 情報処理装置、方法およびプログラム
JP2009110080A (ja) プログラム、印刷データ処理装置及び印刷システム
JP5235446B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP2008257468A (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP2006146364A (ja) 印刷制御装置及び印刷制御方法、印刷制御システム、プログラム、並びに記憶媒体
JP6500466B2 (ja) プリンタドライバ、情報処理装置及び文書管理システム