(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025001977
(43)【公開日】2025-01-09
(54)【発明の名称】制御プログラム、情報処理装置の制御方法および情報処理装置
(51)【国際特許分類】
G06F 3/12 20060101AFI20241226BHJP
H04N 1/00 20060101ALI20241226BHJP
【FI】
G06F3/12 344
G06F3/12 310
G06F3/12 347
G06F3/12 328
H04N1/00 127B
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023101811
(22)【出願日】2023-06-21
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【弁理士】
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】田川 麗央
【テーマコード(参考)】
5C062
【Fターム(参考)】
5C062AA05
5C062AA13
5C062AA35
5C062AB22
5C062AB38
5C062AC34
(57)【要約】 (修正有)
【課題】印刷データの大小に関わらず、印刷装置での印刷エラーの発生等を抑制することができる制御プログラム、情報処理装置の制御方法および情報処理装置を提供する。
【解決手段】拡張アプリケーションは、印刷装置に通信可能に接続され、印刷装置との間での情報を処理可能なホストコンピュータを制御する制御プログラムであって、印刷装置での印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得工程と、取得工程で取得した画素数が用紙サイズ閾値T
sを超える場合に、印刷データを1次データとし、1次データの解像度を低下させて、1次データの容量よりも小さい2次データを生成する生成工程と、を有し、各工程をホストコンピュータに実行させる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置を制御する制御プログラムであって、
前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得工程と、
前記取得工程で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成工程と、を有し、
前記各工程を前記情報処理装置に実行させることを特徴とする制御プログラム。
【請求項2】
前記制御プログラムは、該制御プログラムとは別の制御プログラムとの間で情報交換が可能であり、
前記別の制御プログラムは、前記2次データを前記印刷装置で前記印刷が可能なデータに変換する変換処理を行う変換工程を有しており、
前記制御プログラムは、前記2次データに対する前記変換工程での前記変換処理を省略する省略工程を有することを特徴とする請求項1に記載の制御プログラム。
【請求項3】
前記変換処理が省略された前記2次データを、前記印刷装置で前記印刷が可能なデータに変換する変換処理を行う変換工程を有することを特徴とする請求項2に記載の制御プログラム。
【請求項4】
前記2次データが前記変換工程での前記変換処理によって前記印刷が可能な変換されたデータを前記印刷装置に送信する送信工程を有することを特徴とする請求項3に記載の制御プログラム。
【請求項5】
前記別の制御プログラムは、IPP(Internet Printing Protocol)に基づいて作動するプログラムであり、
前記制御プログラムは、前記別の制御プログラムの機能を拡張するプログラムであることを特徴とする請求項2に記載の制御プログラム。
【請求項6】
前記生成工程では、前記2次データを生成する際、該2次データの画素数を前記画素数閾値未満にすることを特徴とする請求項1に記載の制御プログラム。
【請求項7】
前記画素数閾値は、前記印刷装置で前記印刷が可能な最大の印刷媒体の大きさに相当することを特徴とする請求項1に記載の制御プログラム。
【請求項8】
前記画素数閾値は、複数用意されており、
前記生成工程では、前記複数の画素数閾値の中から1つの画素数閾値が選択されることを特徴とする請求項1に記載の制御プログラム。
【請求項9】
前記生成工程に先立って、前記画素数が前記画素数閾値以上の否かを判断する判断工程と、
前記判断工程での判断の実行を有効にするか否かを切り換える切換画面を表示させる表示工程と、を有することを特徴とする請求項1に記載の制御プログラム。
【請求項10】
前記解像度を低下させる際の該解像度の最低値を設定する設定画面を表示させる表示工程を有することを特徴とする請求項1に記載の制御プログラム。
【請求項11】
前記印刷媒体は、その平面視で長方形をなすものであり、
前記取得工程では、前記印刷媒体の大きさとして、前記印刷媒体の長辺方向に沿った長さを取得することを特徴とする請求項1に記載の制御プログラム。
【請求項12】
印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置を制御する方法であって、
前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得工程と、
前記取得工程で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項13】
印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置であって、
前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得手段と、
前記取得手段で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成手段と、を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御プログラム、情報処理装置の制御方法および情報処理装置に関する。
【背景技術】
【0002】
印刷を行う印刷装置には、当該印刷装置との間での情報を処理可能なホストコンピュータ(情報処理装置)が通信可能に接続されている。印刷装置を制御する制御用ソフトウェアとしては、例えば印刷装置からホストコンピュータにインストールされたプリンタドライバが用いられる。このプリンタドライバにより、ホストコンピュータから印刷装置に対して印刷指示を行うことができる。ホストコンピュータには、基本ソフトウェアであるオペレーティングシステム(以下「OS」と言う)が予めインストールされている。プリンタドライバは、OSが規定する仕様に沿った構成となっており、OSから呼び出されて動作することができる。また、このようなプリンタドライバは、印刷装置を供給するベンダごとに異なる、すなわち、印刷装置ごとに適した機種固有のプリンタドライバとなっている。
【0003】
近年、Windows(登録商標)では、異なる複数のベンダごとに供給される印刷装置であっても、共通して利用可能な標準的なクラスドライバ(以下「標準ドライバ」と言うことがある)を提供している。このような標準ドライバは、OSの中に予め組み込まれている。そして、標準ドライバ組み込まれたOSを有するホストコンピュータに任意の印刷装置を接続することにより、標準ドライバを用いることができる。これにより、前記機種固有のプリンタドライバをインストールするのを省略することができる。また、標準ドライバは、印刷装置から取得した情報に基づいて生成されたPrint Device Capabilities(以下「PDC」と言う)に応じて、印刷装置での印刷機能を指定して用いることができる。これにより、1つの標準ドライバで、印刷装置ごとに印刷機能を指定することができる。標準ドライバには、機能を拡張する機能拡張用アプリケーション(以下「拡張アプリケーション」と言うことがある)を関連付けることができる。拡張アプリケーションは、各ベンダから提供される。
【0004】
特許文献1には、拡張アプリケーションにより、印刷装置での印刷に用いられる用紙に関する第1用紙情報と、印刷装置での印刷条件を設定する印刷設定上における用紙に関する第2用紙情報とを比較して、用紙の適否を判定する技術が開示されている。用紙サイズによっては、画像が用紙からはみ出して、ユーザが意図しない印刷が行われる、すなわち、描画エラーが発生するおそれがあるが、この特許文献1に記載の技術では、描画エラーを低減することができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、描画オブジェクトの欠損のような描画エラーの発生を抑制したり、その他、画質の劣化を抑制したりする機能が十分ではない。
【0007】
本発明は、上記の課題に鑑みてなされたものである。本発明は、例えばIPPに基づいて作動するプログラムを用いた場合でも、印刷データの大小に関わらず、印刷装置での印刷エラーの発生等を抑制することができる制御プログラム、情報処理装置の制御方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の制御プログラムは、印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置を制御する制御プログラムであって、前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得工程と、前記取得工程で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成工程と、を有し、前記各工程を前記情報処理装置に実行させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、例えばIPPに基づいて作動するプログラムを用いた場合でも、印刷データの大小に関わらず、印刷装置での印刷エラーの発生等を抑制することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る印刷システムのハードウェア構成を示すブロック図である。
【
図2】印刷システムのソフトウェアを中心とした構成を示すブロック図である。
【
図3】印刷システムの各ソフトウェアで扱われるデータのフォーマットを示す図である。
【
図4】印刷システムの印刷機能拡張ユニットによる印刷機能情報の編集処理のうち、主要な処理を示すフローチャートである。
【
図6】画素数制限機能を示す情報が追加されたPDCの一例を示す図である。
【
図7】印刷設定画面拡張ユニットによる印刷設定画面を示す図である。
【
図8】印刷設定画面拡張ユニットによる印刷設定画面表示処理の一例を示すフローチャートである。
【
図9】描画アプリケーションの画素数閾値テーブルの一例を示す図である。
【
図10】
図8に示すフローチャートのステップS808(サブルーチン)での処理を示すフローチャートである。
【
図11】スキップ制御ユニットによるスキップ処理の一例を示すフローチャートである。
【
図12】印刷データ編集ユニットによる印刷データ編集処理の一例を示すフローチャートである。
【
図13】第2実施形態に係る印刷システムの印刷機能拡張ユニットによる印刷機能情報の編集処理のうち、主要な処理を示すフローチャートである。
【
図14】最低解像度指定機能を示す情報が追加されたPDCの一例を示す図である。
【
図15】印刷設定画面拡張ユニットによる印刷設定画面を示す図である。
【
図16】
図8に示すフローチャートのステップS808(サブルーチン)での処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の各実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施形態に記載されている構成によって限定されることはない。例えば、本発明を構成する各部は、同様の機能を発揮し得る任意の構成のものと置換することができる。また、任意の構成物が付加されていてもよい。また、各実施形態のうちの、任意の2以上の構成(特徴)を組み合わせることもできる。
【0012】
<<第1実施形態>>
以下、
図1~
図12を参照して、第1実施形態について説明する。
図1は、第1実施形態に係る印刷システムのハードウェア構成を示すブロック図である。
図1に示すように、印刷システム100は、ホストコンピュータ101、印刷装置102、表示部119、ポインティングデバイス117、キーボード118を有する。ホストコンピュータ101は、印刷装置102、表示部119、ポインティングデバイス117、キーボード118と通信可能に接続され、これらの間での情報を処理可能な情報処理装置である。ホストコンピュータ101は、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、入出力インタフェース116、NETIF120を有する。ROM112には、初期化プログラムが格納されている。外部記憶装置114には、アプリケーションプログラム群、オペレーティングシステム(OS)、印刷データ生成ソフトウェア、その他の各種のデータが格納されている。本実施形態では、OSとして、Microsoft(登録商標)のWindows(登録商標)10が搭載されていることとする。RAM113は、外部記憶装置114にストアされる各種プログラムの実行の際のワークメモリ等として使用され、各種プログラムがホストコンピュータ101内で動作可能となっている。この各種プログラムには、例えば、ホストコンピュータ101を制御する2つの制御プログラムが含まれている。2つの制御プログラムのうちの一方の制御プログラムは、IPP(Internet Printing Protocol)に基づいて作動するプログラムである。このプログラムは、後述する印刷データ生成ソフトウェア202である。また、他方の制御プログラムは、IPP基づいて作動するプログラムの機能を拡張するプログラムであり、各工程(情報処理装置の制御方法)をホストコンピュータ101に実行させる。このプログラムは、後述する拡張アプリケーション(印刷ソフトウェア)204である。印刷データ生成ソフトウェア202と拡張アプリケーション204との間では、情報交換が可能である。
【0013】
入力インタフェース110には、キーボード118、ポインティングデバイス117が接続されている。キーボード118、ポインティングデバイス117は、情報等を入力する入力デバイスである。出力インタフェース115には、表示部119が接続されている。表示部119は、例えば、画像等を表示する表示デバイスである。NETIF120は、ネットワークインタフェイスであり、ネットワークを介して、外部機器(不図示)との間でデータ転送を行うための制御を行う。なお、印刷システム100では、ホストコンピュータ101およびポインティングデバイス117~表示部119を一括したものとして、例えば、デスクトップ型やノート型のパーソナルコンピュータ、タブレット端末、スマートフォン等を用いることができる。
【0014】
入出力インタフェース116には、印刷装置102が接続されている。印刷装置102は、ホストコンピュータ101で生成され、印刷に用いられる印刷データを、シート状の印刷媒体に印刷することができる。印刷媒体としては、印刷装置102の種類にもよるが、例えば、A判サイズの印刷用紙、B判サイズの印刷用紙、ロール紙等があるが、これらはいずれも、平面視で長方形をなすものである。また、印刷装置102は、本実施形態ではインクを印刷媒体上に吐出して、印刷を行うインクジェット方式のプリンタであるが、これに限定されず、例えば、電子写真方式で印刷を行うプリンタであってもよい。なお、ホストコンピュータ101と印刷装置102とは、
図1に示す構成では互いに別体で構成されているが、これに限定されず、例えば、1つの装置として一体的に構成されていてもよい。
【0015】
<ソフトウェアを中心とした印刷システムの構成>
図2は、印刷システムのソフトウェアを中心とした構成を示すブロック図である。
図2(a)は、拡張アプリケーションが、印刷データ生成ソフトウェアおよび印刷装置と関連付けられていない場合の一般的な構成を示す図である。
図2(b)は、拡張アプリケーションが、印刷データ生成ソフトウェアおよび印刷装置と関連付けられている場合の構成を示す図である。
【0016】
図2(a)に示すように、印刷データ生成ソフトウェア202は、描画アプリケーション201および印刷装置102との間でそれぞれ情報交換、すなわち、情報の送受信が可能である。描画アプリケーション201は、印刷装置102で印刷されるコンテンツ(印刷データ)を作成するソフトウェアである。描画アプリケーション201としては、特に限定されず、例えば、文書作成アプリケーションや表計算アプリケーション等が挙げられる。描画アプリケーション201は、例えばキーボード118を介したユーザからの印刷要求を受けることにより、印刷指示をOSに発行する。印刷指示には、印刷データ生成ソフトウェア202および印刷装置102の動作を指示するための印刷設定情報が含まれる。印刷設定情報は、「Print Ticket(PT)」とも呼ばれる。また、描画アプリケーション201は、印刷設定情報を出力するために、印刷データ生成ソフトウェア202、OS、描画アプリケーション201のうちいずれかが提供する印刷設定画面を表示させることができる。印刷設定画面は、印刷データ生成ソフトウェア202から取得される能力情報、すなわち、印刷設定として設定可能な情報に従い、設定可能な印刷機能を示す設定アイテムと、その設定値を示すコントロールアイテムとを含む。能力情報は、Print Capabilities(以下「PC」と言うことがある)とも呼ばれる。
【0017】
印刷データ生成ソフトウェア202は、印刷機能情報203に基づいて、PCを決定する。印刷機能情報203は、設定可能な全ての印刷機能、その設定値、設定値同士の排他関係等が記載されている印刷機能を示すデータである。印刷機能情報203は、PDC(Print Device Capabilities)とも呼ばれる。印刷機能情報203は、印刷データ生成ソフトウェア202の構成ファイルに含まれ、変更不可能なファイルとして外部記憶装置114に配置される。または印刷機能情報203は、印刷データ生成ソフトウェア202によって動的に生成される。具体的には、印刷データ生成ソフトウェア202は、印刷装置102から、当該印刷装置102の属性データを取得する。印刷データ生成ソフトウェア202は、この属性データ内の属性情報に応じて、印刷機能情報203を生成する。なお、印刷機能情報203がこのように動的に生成される場合には、印刷機能情報203に対する編集が可能である。また、印刷装置102の属性データとは、印刷装置120に対してIPPの「Get-Printer-Attributes」オペレーションを発行することにより取得されるレスポンスである。レスポンスの中には、印刷装置102で指定可能な機能、すなわち、印刷装置102の能力を示す属性情報と、その属性情報に関連する設定値とが含まれる。また、レスポンスはRAM113に保存される。
【0018】
このような構成により、印刷データ生成ソフトウェア202は、当該印刷データ生成ソフトウェア202に接続された印刷装置102に応じて、印刷装置102で利用可能な印刷機能をユーザが指定することができる。これにより、印刷データ生成ソフトウェア202に接続された印刷装置102によらず、すなわち、異なる機能を有する印刷装置や異なるプリンタベンダが開発した印刷装置を接続した場合であっても、当該印刷装置で利用可能な印刷機能の指定が可能となる。なお、本実施形態では、印刷データ生成ソフトウェア202は、Windows(登録商標)10に搭載されている「IPP Class Driver」を利用する構成のものであるとする。「IPP Class Driver」は、IPPと呼ばれる標準的な印刷プロトコルの仕様に従って印刷処理を実行するプリンタドライバであり、OSのパッケージの中に同梱されている。「IPP ClassDriver」は、印刷装置102の機種に応じた固有のプリンタドライバではなく、複数の印刷装置102で共通して利用可能な標準的なクラスドライバである。また、「IPP Class Driver」は、印刷装置102の能力情報を取得して、当該情報に基づいて、印刷機能情報203を生成する。これにより、印刷装置102で実行可能な印刷機能をホストコンピュータ101で指定することができる。
【0019】
OSは、描画アプリケーション201から出力された印刷指示に基づいて、中間データ(「入力データ」と言うことがある)を生成して、印刷データ生成ソフトウェア202に送信する。描画アプリケーション201が印刷用に出力するデータとしては、特に限定されず、例えば、XML Paper Specification形式(XPS形式)のデータであるのが好ましい。また、描画アプリケーション201が印刷用に出力するデータとしては、Graphic Device Interface形式(GDI形式)のデータであってもよい。印刷データ生成ソフトウェア202としてIPP Class Driverを利用する場合、OSは、描画アプリケーション201が出力するデータがGDI形式データならば、当該GDI形式データをXPS形式のデータに変換する。そして、OSは、この変換されたXPS形式データを中間データとして、印刷データ生成ソフトウェア202に送信する。また、OSは、描画アプリケーション201が出力するデータがXPS形式のデータならば、当該XPS形式データを中間データとして、印刷データ生成ソフトウェア202に送信する。なお、中間データには、印刷媒体上に形成される文字や図形等の情報である描画データと、ユーザによって設定された印刷設定情報とが含まれる。
【0020】
印刷データ生成ソフトウェア202は、中間データを印刷装置102が処理可能な印刷データに変換して、印刷装置102に送信する。なお、印刷データには、中間データの内容に基づいて生成される。すなわち、印刷データには、中間データと同様に、印刷媒体上に形成される文字や図形等の情報である描画データと、ユーザによって設定された印刷設定情報に基づいて生成され、印刷設定を指定する印刷設定属性情報とが含まれる。印刷設定属性情報には、印刷装置102で指定可能な機能、すなわち、印刷装置102の能力を示す属性情報と、当該属性情報に関連する設定値とが含まれる。
【0021】
印刷装置102は、印刷データ生成ソフトウェア202から送られた印刷データに基づいて、印刷媒体への印刷を行う。このとき、印刷装置102は、印刷データに含まれる印刷設定属性情報に従った動作を行うことにより、印刷データに含まれる描画データを印刷媒体上に形成することができる。なお、印刷設定属性情報には、例えば、画質優先や速度優先等の印刷品位と、両面印刷や片面印刷等を指定するための属性情報と、当該属性情報の設定値とが含まれている。例えば印刷設定属性情報に両面印刷を指定する属性情報が含まれる場合には、印刷装置102は両面印刷を実行することができる。
【0022】
図2(b)に示すように、
図2(a)と異なり、拡張アプリケーション204が追加されている。拡張アプリケーション204は、印刷データ生成ソフトウェア202の機能を拡張するためのソフトウェアである。なお、拡張アプリケーション204は、OSに予め含まれていない(同梱されていない)ソフトウェアである。従って、拡張アプリケーション204は、ユーザがホストコンピュータ101を操作することにより、インターネットを介してサーバ(不図示)からダウンロードされて、ホストコンピュータ101にインストールされる。または拡張アプリケーション204は、ホストコンピュータ101に印刷装置102が接続された際に、この接続に基づいて自動的にホストコンピュータ101にインストールされてもよい。具体的には、ホストコンピュータ101に印刷装置102が接続された場合、OSは印刷装置102からデバイス識別情報を取得する。OSは、このデバイス識別情報に対応する拡張アプリケーション204を、インターネットを介してサーバからダウンロードされて、インストールされてもよい。その結果、ホストコンピュータ101には、印刷データ生成ソフトウェア202と拡張アプリケーション204とが、互いに別の制御プログラムとして保持される。なお、印刷データ生成ソフトウェア202と拡張アプリケーション204とは、それぞれ更新されて、バージョンアップされることがある。この場合の印刷データ生成ソフトウェア202更新処理と、拡張アプリケーション204更新処理とは、同じタイミングで行わることもあれば、別々のタイミングで行われることもある。
【0023】
図2(b)に示すように、拡張アプリケーション204は、描画アプリケーション201、印刷データ生成ソフトウェア202および印刷装置102との間でそれぞれ情報交換(情報の送受信)が可能である。すなわち、拡張アプリケーション204は、描画アプリケーション201、印刷データ生成ソフトウェア202および印刷装置102と関連付けられている。本実施形態では拡張アプリケーション204は、印刷設定画面拡張ユニット205、スキップ制御ユニット206、印刷機能拡張ユニット207、印刷データ編集ユニット208、通知ユニット209を有する。また、拡張アプリケーション204は、印刷設定画面拡張ユニット205、スキップ制御ユニット206、印刷機能拡張ユニット207、印刷データ編集ユニット208、通知ユニット209の各ユニットからアクセス可能な共有情報210を有する。共有情報210は、外部記憶装置114に保存されたファイル、または、RAM113に格納された情報である。拡張アプリケーション204は、OSが提供するAPI(Application Program Interface)を利用することにより、共有情報210の書き込みや読み出しを行うことができる。
【0024】
また、拡張アプリケーション204は、用紙サイズ閾値T
sに関する情報を有する。用紙サイズ閾値T
sは、印刷装置102の印刷機能として、後述する画素数制限機能が追加されるか否かを判断するために用いられる長さである。拡張アプリケーション204は、描画アプリケーション画素数閾値テーブル901(
図9参照)を有する。描画アプリケーション画素数閾値テーブル901には、画素数閾値としての画素数閾値T
pが複数用意されて(記憶されて)いる。また、各画素数閾値T
pは、描画アプリケーション201の種類毎に異なる。これは、描画アプリケーション201ごとに、描画エラーが発生し得る(発生し易い)描画領域の画素数の大きさが異なるからである。なお、拡張アプリケーション204は、印刷設定画面拡張ユニット205~通知ユニット209の各ユニットの処理の終了に伴って、拡張アプリケーション204全体としての動作を終了してもよい。この場合、OSは、各ユニットの処理実行要求を受ける度に、拡張アプリケーション204を起動することになる。また、OSは、例えば印刷設定画面拡張ユニット205の処理終了の場合に拡張アプリケーション204全体としての動作を終了させるが、スキップ制御ユニット206の処理終了の場合には拡張アプリケーション204を全体として起動させたままにしてもよい。また、拡張アプリケーション204は、印刷設定画面拡張ユニット205~通知ユニット209の各ユニットの処理中に、当該処理をキャンセルしてもよい。この場合、印刷キュー上の処理中のジョブがOSにより削除される。
【0025】
前述したように、描画アプリケーション201は、ユーザからの印刷要求を受けることにより、印刷指示をOSに発行する。また、描画アプリケーション201は、印刷設定画面を表示させることができる。
図2(b)に示す構成では、描画アプリケーション201は、印刷設定画面拡張ユニット205(拡張アプリケーション204)が提供する印刷設定画面を表示させることができる。なお、印刷設定画面拡張ユニット205が提供する印刷設定画面の表示を許可するか否かについては、ユーザの操作に依存させることもできる。
【0026】
また、描画アプリケーション201がユーザから印刷要求を受けつけて、印刷指示がOSに発行された場合には、OSは、スキップ制御ユニット206を起動する。スキップ制御ユニット206は、印刷データ生成ソフトウェア202での変換処理をスキップする(省略する)か否かの制御を行う。なお、スキップ制御ユニット206は、中間データや印刷設定情報を取得することはできない。スキップ制御処理が実行されない場合には、描画アプリケーション201からの中間データは、印刷データ生成ソフトウェア202で、印刷装置102が処理可能な、すなわち、印刷装置102での印刷が可能な印刷データに変換処理される。そして、この印刷データは、印刷データ編集ユニット208に送信される。スキップ制御処理が実行された場合には、描画アプリケーション201からの中間データは、印刷データ生成ソフトウェア202で変換処理されずに、印刷データ編集ユニット208に送信される。この場合中間データは、印刷データ編集ユニット208で、印刷装置102で印刷が可能なデータに変換する変換処理される。印刷データ生成ソフトウェア202での変換処理をスキップした方が好ましい場合としては、特に限定されず、例えば、拡大縮小処理を印刷データ編集ユニット208で行いたい場合等が挙げられる。中間データは、ベクタ形式で保持可能であり、拡大縮小時の画像の劣化を防止または抑制することができる。従って、印刷データ生成ソフトウェア202がラスタ形式で画像を出力する構成においては、印刷データ生成ソフトウェア202の変換処理をスキップして、中間データを印刷データ編集ユニット208で変換処理するのが好ましい。
【0027】
印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から送信される中間データ、または、印刷データ生成ソフトウェア202で変換処理された印刷データの編集を行う。印刷データ編集ユニット208での編集後、印刷データは、OSを経由して印刷装置102に送信される。印刷装置102は、この印刷データに基づいて印刷媒体への印刷を行う。なお、印刷データ生成ソフトウェア202での変換処理がスキップされた場合、印刷データ編集ユニット208は、中間データを印刷装置102が処理可能な印刷データへ変換して、印刷装置102に送信する。
【0028】
印刷機能拡張ユニット207は、印刷データ生成ソフトウェア202またはOSが生成した印刷機能情報203(PDC)を編集することができる。これにより、拡張アプリケーション204が提供する機能の追加、印刷装置102では実行可能であるが、印刷データ生成ソフトウェア202では実行が可能ではない機能の追加、印刷機能の設定値同士の排他関係の追加等を行うことができる。OSは、拡張アプリケーション204が印刷装置102および印刷データ生成ソフトウェア202に最初に関連付けられたときに、印刷機能拡張ユニット207を起動する。また、OSは、これ以外のタイミング(例えばOS起動時等)で印刷機能拡張ユニット207を起動してもよい。このような起動により、印刷に関わる機能が後から拡張される場合であっても、印刷機能拡張ユニット207は、拡張機能を検知し、印刷機能情報203に追加することができる。印刷に関わる機能が後から拡張される例としては、印刷装置102に対してオプション装置(例えば2段ロールユニットやフィニッシャ等)を後から追加すること等が挙げられる。
【0029】
通知ユニット209は、印刷装置102のエラー発生した際、その旨の通知することができる。例えば印刷装置102で用紙無しエラーが発生した場合には、このエラーの発生を印刷データ生成ソフトウェア202が検知する。OSは、当該OSの機能の1つであるトースト通知と呼ばれる通知機能により、印刷データ生成ソフトウェア202での検知結果である用紙無しエラー発生をメッセージとして表示部119に表示させる。なお、ユーザがトースト通知を操作することにより、通知ユニット209がOSによって呼び出されて、通知ユニット209のユーザインタフェース画面が表示される。ユーザインタフェース画面では、例えば用紙無しエラーに関する詳細メッセージや用紙充填方法等の表示を行うことができる。
【0030】
以上のように本実施形態では、拡張アプリケーション204は、次の5つの機能を有すると言うことができる。1つ目の機能は、設定画面を表示する機能である。この機能は印刷設定画面拡張ユニット205で実行される。2つ目の機能は、印刷データ生成ソフトウェア202の変換処理をスキップするか否かを制御する機能である。この機能はスキップ制御ユニット206で実行される。3つ目の機能は、印刷装置102に入力される印刷データを編集する機能である。この機能は印刷データ編集ユニット208で実行される。4つ目の機能は、印刷データ生成ソフトウェア202で指定可能な機能を拡張する機能である。この機能は印刷機能拡張ユニット207で実行される。5つ目の機能は、印刷装置102でのエラーを表示する機能である。この機能は通知ユニット209で実行される。
【0031】
<印刷システムで扱われるデータのフォーマット>
印刷データ生成ソフトウェア202は、印刷装置102から能力情報を取得する。印刷データ生成ソフトウェア202は、この能力情報に基づいて、印刷装置102がサポート可能な、すなわち、処理可能な印刷データのフォーマットを判断する。これにより、印刷データ生成ソフトウェア202は、印刷装置102の処理可能な印刷データを生成することができる。なお、以降では、「印刷データのフォーマット」と記述している部分については、実際は印刷データに含まれる描画データのフォーマットのことを指す。
【0032】
図3は、印刷システムの各ソフトウェアで扱われるデータのフォーマットを示す図である。
図3(a)は、
図2(a)に対応した図である。この
図3(a)は、拡張アプリケーションが印刷データ生成ソフトウェアおよび印刷装置1と関連付けられていない場合に、印刷システムの各ソフトウェアで扱われるデータフォーマットを示す図である。
図3(a)に示すように、OSは、描画アプリケーション201からの印刷指示を受信した場合に、中間データであるXPSデータ302を生成する。前述したように、描画アプリケーション201は、印刷装置102で印刷される印刷データを作成するソフトウェアである。そして、XPSデータ302は、描画アプリケーション201からの印刷データ(1次データ)の解像度を低下させて、当該印刷データの容量よりも小さいデータ(2次データ)となっている。次いで、印刷データ生成ソフトウェア202は、XPSデータ302を印刷装置102が処理可能な印刷データに変換する(変換工程)。このとき、印刷データ生成ソフトウェア202は、印刷装置102から取得した能力情報(属性データ)に基づいて、処理可能な印刷データのフォーマットを判断する。そして、印刷データ生成ソフトウェア202は、このフォーマットに従って、印刷装置102が処理可能な印刷データを生成する。印刷データのフォーマットとしては、本実施形態ではPWGRasterとするが、これに限定されず、例えば、PDF等であってもよい。印刷データ生成ソフトウェア202は、XPSデータ302をPWGRasterデータ303に変換して、印刷装置102に送信する。これにより、印刷装置102は、PWGRasterデータ303を受信して、当該PWGRasterデータ303に基づいた印刷を行う。
【0033】
図3(b)は、
図2(b)に対応した図である。この
図3(b)は、拡張アプリケーションが関連付けられ、かつ、印刷データ生成ソフトウェアでの変換処理(印刷データ生成処理)のスキップ指示が行われない場合に、印刷システムの各ソフトウェアで扱われるデータフォーマットを示す図である。
図3(b)に示すように、OSは、描画アプリケーション201からの印刷指示を受信した場合に、中間データであるXPSデータ302を生成するとともに、拡張アプリケーション204のスキップ制御ユニット206を呼び出す。なお、
図3(b)では、スキップ制御ユニット206は、印刷データ生成ソフトウェア202での変換処理をスキップする指示については実行しない。これにより、
図3(a)と同様に、印刷データ生成ソフトウェア202は、XPSデータ302を、PWGRasterデータ303に変換する。次いで、印刷データ編集ユニット208は、入力データとしてPWGRasterデータ303を受信する。PWGRasterデータ303は、印刷装置102が処理可能な印刷データである。印刷データ編集ユニット208は、PWGRasterデータ303をそのまま印刷装置102に送信する。これにより、印刷装置102は、PWGRasterデータ303を受信して、当該PWGRasterデータ303に基づいた印刷を行う。
【0034】
図3(c)は、
図2(b)に対応した図である。この
図3(c)は、拡張アプリケーションが関連付けられ、かつ、印刷データ生成ソフトウェアでの変換処理(印刷データ生成処理)のスキップ指示が行われた場合に、印刷システムの各ソフトウェアで扱われるデータフォーマットを示す図である。
図3(c)に示すように、OS(生成手段)は、描画アプリケーション201からの印刷指示を受信した場合に、中間データであるXPSデータ302を生成する(生成工程)。なお、XPSデータの画素数は、後述する画素数閾値T
p未満にするのが好ましい。また、OSは、拡張アプリケーション204のスキップ制御ユニット206を呼び出す。次いで、スキップ制御ユニット206は、印刷データ生成ソフトウェア202(またはOS)に対して、XPSデータ302(中間データ)から印刷データへの変換処理を実行しない指示、すなわち、変換処理をスキップする指示を出す(省略工程)。印刷データ生成ソフトウェア202は、このスキップ指示を受信した場合には、XPSデータ302を印刷データへ変換することなく、そのまま拡張アプリケーション204の印刷データ編集ユニット208に送信する。次いで、印刷データ編集ユニット208は、印刷設定情報に基づいて、印刷データ生成ソフトウェア202での変換処理が省略されたXPSデータに対して、必要な編集を行った上で、PWGRasterデータ303に変換する(変換工程)。そして、印刷データ編集ユニット208は、PWGRasterデータ303を印刷装置102に送信する(送信工程)。これにより、印刷装置102は、PWGRasterデータ303を受信して、当該PWGRasterデータ303に基づいた印刷を行う。なお、印刷装置102が処理可能な印刷データのフォーマットにXPSデータが含まれている場合には、印刷データ編集ユニット208は、当該XPSデータを別のフォーマットに変換することなく、印刷装置102に送信することもできる。
【0035】
<印刷機能拡張ユニットによる印刷機能情報の編集処理>
ここでは、印刷機能情報に画素数制限機能を追加する処理について説明する。「画素数制限機能」とは、描画アプリケーション201が生成する中間データの画素数に上限を設けることにより、描画オブジェクトの欠損のような印刷エラー(描画エラー)の発生を抑制する機能のことである。また、「描画オブジェクトの欠損」とは、例えば、用紙サイズによっては、中間データの中に存在すべき描画オブジェクト(文字や線、図形、画像のような描画対象物)が欠損するエラーのことである。
図4は、印刷システムの印刷機能拡張ユニットによる印刷機能情報の編集処理のうち、主要な処理を示すフローチャートである。
図5は、PDCの一例を示す図である。
図6は、画素数制限機能を示す情報が追加されたPDCの一例を示す図である。
図4に示すフローチャートに基づくプログラムは、CPU111によって実行される。また、
図4に示すフローチャートに基づくプログラムの開始は、例えば拡張アプリケーション204が初めて関連付けられたタイミング等で、印刷機能拡張ユニット207を起動することによって行われる。
図4に示すように、ステップS401では、印刷機能拡張ユニット207(取得手段)は、拡張アプリケーション204が有する用紙サイズ閾値T
sの情報を取得して、処理はステップS402に進む。前述した描画オブジェクトの欠損のような印刷エラーは、A3判以上の用紙サイズに対応した大判プリンタ等で顕著にみられる。用紙サイズ閾値T
sは、例えば印刷装置102ごとに任意の値に設定することができるが、印刷エラーを鑑みて、例えばA3判の用紙の長さ「420.0mm」を用いることが好ましい。
【0036】
ステップS402では、印刷機能拡張ユニット207は、印刷機能情報203としてのPDC501(
図5参照)を印刷データ生成ソフトウェア202から取得して、処理はステップS403に進む。
図5に示すPDC501には、印刷装置102がサポートしている機能(Feature)の情報や、所定の機能における設定値(Option)の情報等が含まれる。本実施形態では、PDC501に情報502、情報503、情報504が含まれている。情報502は、PageMediaSize(用紙サイズ)として、ISOA4やPoster44x64が設定可能であることを示す。情報503は、PageMediaType(用紙の種類)として、Plain(普通紙)、Photographic(写真用紙)が設定可能であることを示す。情報504は、PageOrientation(印刷の向き)として、Portrait(縦)、Landscape(横)が設定可能であることを示す。なお、PDC501には、画素数制限機能が設定可能であることを示す情報は含まれていない。
【0037】
ステップS403では、印刷機能拡張ユニット207は、印刷装置102がサポートする最大の用紙の長辺方向に沿った長さ(大きさ)を取得して(取得工程)、処理はステップS404に進む。本実施形態では、印刷機能拡張ユニット207は、ステップS402で取得したPDC501の情報502を参照して、MediaSizeHeightの値の中で最も大きな値を、印刷装置102がサポートする最大の用紙サイズ高さHとして取得する。なお、用紙の大きさを示す指標として、実施形態では用紙の高さ(全長)を用いているが、これに限定されず、例えば、用紙の幅等を用いることもできる。
【0038】
ステップS404では、印刷機能拡張ユニット207は、ステップS401で取得した用紙サイズ閾値Tsと、ステップS403で取得した最大の用紙サイズ高さHとを比較して、H≧TSであるか否かを判断する(判断工程)。ステップS404での判断の結果、H≧TSであると判断された場合には、処理はステップS405に進む。一方、ステップS404での判断の結果、H≧TSではない、すなわち、H<TSであると判断された場合には、処理は終了する。
【0039】
ステップS405では、印刷機能拡張ユニット207は、PDC501に画素数制限機能を示す情報を追加する。
図6に示すように、PDC601には、情報602が追加されている。情報602は、ステップS405の処理によって追加された画素数制限機能を示す情報である。情報602は、JobPixelNumberLimitationとして、Auto、ON、OFFが設定可能であることを示す。なお、「Auto(
図7(b)参照)」は、描画アプリケーション201の名称によって中間データの画素数の上限を異なる値としたり、描画アプリケーション201の名称によっては上限を設けない設定である。「ON(
図7(b)参照)」は、描画アプリケーション201の名称によらず、中間データの画素数の上限を同一の値とする設定である。「OFF(
図7(b)参照)」は、中間データの画素数の上限を設けない設定である。
【0040】
<印刷設定画面拡張ユニットによる印刷設定画面>
図7は、印刷設定画面拡張ユニットによる印刷設定画面を示す図である。
図7(a)は、印刷設定画面拡張ユニットによって表示される印刷設定画面の一例を示す図である。
図7(a)に示す印刷設定画面701は、前述のPDCに基づいて生成されるPCによって、印刷データ生成ソフトウェア202での印刷機能を指定可能な画面である。印刷設定画面701には、コントロールアイテム702、キャンセルボタン705、OKボタン706が含まれている。コントロールアイテム702では、用紙の種類、用紙サイズ、印刷の向き等の各印刷機能の設定、変更を行うことができる。キャンセルボタン705が押下された場合には、コントロールアイテム702で変更された設定値は、印刷設定に反映されない。一方、OKボタン706が押下された場合には、コントロールアイテム702で変更された設定値が印刷設定に反映される。
【0041】
コントロールアイテム702には、画素数制限機能コントロールアイテム703が含まれている。画素数制限機能コントロールアイテム703では、
図4に示すフローチャートのステップS405でPDC601に追加された画素数制限機能を設定することができる。
図7(b)は、画素数制限機能コントロールアイテムと、画素数制限機能の設定値を選択させるための画素数制限機能ドロップダウンリストとの一例を示す図である。画素数制限機能コントロールアイテム703を操作することにより、画素数制限機能ドロップダウンリスト704が表示される。画素数制限機能ドロップダウンリスト704には、情報602に基づいた設定値、すなわち、「Auto」、「ON」、「OFF」が表示される(表示工程)。これにより、ユーザは、所望する設定値を選択して、画素数制限機能(判断工程での判断の実行)を有効にするか否かを切り換えることができる。このように画素数制限機能ドロップダウンリスト704は、画素数制限機能の有効・無効を切り換える切換画面となっている。なお、設定値の規定値(デフォルト)は「Auto」であることが好ましい。前述したように、「Auto」は、描画アプリケーション201の名称によって中間データの画素数の上限を異なる値とすることができる。従って、「Auto」を設定値の規定値とすることにより、描画アプリケーション201の描画能力に応じた好適な処理を行うことができる。
【0042】
<印刷設定画面拡張ユニットによる印刷設定画面表示処理>
図8は、印刷設定画面拡張ユニットによる印刷設定画面表示処理の一例を示すフローチャートである。
図9は、描画アプリケーションの画素数閾値テーブルの一例を示す図である。
図8に示すフローチャートに基づくプログラムは、CPU111によって実行される。また、
図8に示すフローチャートに基づくプログラムの開始は、例えば、印刷設定画面701の、OKボタン706が押下されたことによって行われる。
図8に示すように、ステップS801では、印刷設定画面拡張ユニット205は、共有情報210の初期化を行って、処理はステップS802に進む。具体的には、印刷設定画面拡張ユニット205は、共有情報210に既に保存されている情報の削除を行う。
【0043】
ステップS802では、印刷設定画面拡張ユニット205は、画素数制限機能コントロールアイテム703上で設定された画素数制限機能の設定値を取得して、処理ステップS803に進む。
【0044】
ステップS803では、印刷設定画面拡張ユニット205は、ステップS802で取得した画素数制限機能の設定値を判断する。ステップS803での判断の結果、画素数制限機能の制限値がAutoであると判断された場合には、処理はステップS804に進む。また、ステップS803での判断の結果、画素数制限機能の制限値がONであると判断された場合には、処理はステップS807に進む。また、ステップS803での判断の結果、画素数制限機能の制限値がOFFであると判断された場合には、処理はステップS809に進む。
【0045】
ステップS804では、印刷設定画面拡張ユニット205は、描画アプリケーション201の名称を取得して、処理はステップS805に進む。
【0046】
ステップS805では、印刷設定画面拡張ユニット205は、描画アプリケーション画素数閾値テーブル901(
図9参照)から、ステップS804で取得した描画アプリケーション201の名称に対応した画素数閾値T
pを取得する(選択する)。
図9に示す描画アプリケーション画素数閾値テーブル901は、複数の描画アプリケーション201の名称と、各描画アプリケーション201に対応した画素数閾値T
pとの関係を示すテーブルである。例えば、描画アプリケーション201の名称「Archtecture 3D」の場合、画素数閾値T
pは100000(dot)である。このような描画アプリケーション画素数閾値テーブル901は、予め拡張アプリケーション204に保持されている。描画アプリケーション201は、画素数が比較的大きい描画領域に対して描画を行う場合に、描画オブジェクトの欠損のような描画エラー(印刷エラー)を生じることがある。このような描画エラーは、描画アプリケーション201の描画能力によって、発生し得る(発生し易い)描画領域の画素数の閾値が異なる。そこで、描画アプリケーション画素数閾値テーブル901では、描画アプリケーション201毎に、描画エラーの発生を十分に抑制可能な程度の画素数の閾値が、画素数閾値T
pとして予め定義されている。なお、画素数閾値T
pは、任意に設定可能であるが、例えば、実際に描画アプリケーション201で描画オブジェクトの欠損のような描画エラーが発生する画素数に基づいた実験値に設定されるのが好ましい。また、画素数閾値T
pが設定されない描画アプリケーション201では、「None」の値が定義される(
図9中の描画アプリケーション201の名称「Fine CAD Creater」、画素数閾値T
p「None」参照)。なお、画素数閾値T
pが設定されない描画アプリケーション201では、例えば、画素数閾値T
pを「0」や「負の値」等を定義してもよい。この場合、画素数閾値T
pが「0」や「負の値」であるならば、描画アプリケーション201は、画素数閾値T
pが設定されない描画アプリケーション201であると判断されるよう構成されていてもよい。ステップS805実行後、処理はステップS806に進む。
【0047】
ステップS806では、印刷設定画面拡張ユニット205は、画素数閾値TpがNoneであるか否かを判断する。ステップS806での判断の結果、Noneであると判断された場合には、画素数閾値Tpが設定されない描画アプリケーション201によって印刷が実行されたとして、処理はステップS809に進む。一方、ステップS806での判断の結果、Noneではないと判断された場合には、処理はステップS808に進む。
【0048】
ステップS803実行後のステップS807では、印刷設定画面拡張ユニット205は、画素数閾値Tpに規定値をセットして、処理ステップS808に進む。この規定値は、印刷設定画面拡張ユニット205または拡張アプリケーション204に予め保持されている、設計者が任意に設定可能な値であり、本実施形態では例えば「24000」とする。また、規定値は、描画アプリケーション画素数閾値テーブル901で定義されている画素数閾値Tpのうち、最小の値以下で保持されることが好ましい。このような設定値は、画素数制限機能の設定値が「Auto」で印刷を実行した際に描画エラーが発生する場合に、画素数制限機能の設定値を「ON」に変更してから印刷を実行することにより、描画エラーの発生をできる限り抑制するのに寄与する。また、設定値は、定数であるのに限定されず、例えば、ホストコンピュータ101のRAM113の容量やOSのバージョン等のように、描画アプリケーション201の描画結果に影響を与え得る条件を参照して決定される変数であってもよい。
【0049】
ステップS808では、印刷設定画面拡張ユニット205は、画素数変更処理を行って、処理ステップS809に進む。画素数変更処理の詳細については、
図10を参照して後述する。
【0050】
ステップS809では、印刷設定画面拡張ユニット205は、変更された印刷設定をPT(印刷設定情報)に反映して、処理は終了する。
【0051】
図10は、
図8に示すフローチャートのステップS808(サブルーチン)での処理を示すフローチャートである。
図10に示すように、ステップS1001では、印刷設定画面拡張ユニット205は、PTから用紙サイズと、当該用紙における垂直解像度(dpi)および水平解像度(dpi)の設定値とを取得して、処理はステップS1002に進む。この用紙サイズには、用紙の高さおよび用紙の幅が含まれていることとする。
【0052】
ステップS1002では、印刷設定画面拡張ユニット205は、ステップS1001で取得した用紙サイズと、垂直解像度および水平解像度の設定値とに基づいて、用紙の高さの画素数および用紙の幅の画素数を算出して、処理はステップS1003進む。用紙の高さの画素数は、下記式(1)で算出される。用紙の幅の画素数は、下記式(2)で算出される。なお、本実施形態では、式(1)の計算結果と、式(2)の計算結果とについては、いずれも、小数点以下は切り捨てとする。
用紙の高さの画素数(dot)
=用紙の高さ(mm)×垂直解像度(dpi)÷25.4・・・(1)
用紙の幅の画素数(dot)
=用紙の幅(mm)×水平解像度(dpi)÷25.4・・・(2)
【0053】
ステップS1003では、印刷設定画面拡張ユニット205は、変数Nに1を代入して、ステップS1004に進む。変数Nは、
図10に示すフローチャートの処理に使用するための変数であり、RAM113に格納されている。
【0054】
ステップS1004では、印刷設定画面拡張ユニット205は、「(用紙の高さの画素数÷N)>Tp」であるか否かを判断する。ステップS1004での判断の結果、「(用紙の高さの画素数÷N)>Tp」であると判断された場合には、処理はステップS1005に進む。一方、ステップS1004での判断の結果、「(用紙の高さの画素数÷N)>Tp」ではないと判断された場合には、処理はステップS1006に進む。本実施形態では用紙の高さの画素数をステップS1004の判断に用いるが、これに限定されず、用紙の幅の画素数や、高さの画素数と幅の画素数の積を用いてもよい。また、用紙の端の余白を除いた、印字可能領域の高さや幅やそれらの積を用いることもできる。なお、これらの場合には、それぞれに対応した画素数閾値Tpを定義しておくことが必要となる。
【0055】
ステップS1005では、印刷設定画面拡張ユニット205は、変数Nに1を加算して、処理はステップS1004に戻り、それ以降のステップを順次実行する。
【0056】
ステップS1006では、印刷設定画面拡張ユニット205は、変数Nが1であるか否かを判断する。ステップS1006での判断の結果、変数Nが1であると判断された場合には、処理は終了する。一方、ステップS1006での判断の結果、変数Nが1ではないと判断された場合には、処理はステップS1007に進む。
【0057】
ステップS1007では、印刷設定画面拡張ユニット205は、ステップS1001でPTから取得した垂直解像度と水平解像度とをそれぞれ変数Nで除した値を算出する。そして、印刷設定画面拡張ユニット205は、PTの垂直解像度を、前記で垂直解像度を変数Nで除した値に変更するとともに、PTの水平解像度を、前記で水平解像度を変数Nで除した値に変更して、処理はステップS1008に進む。なお、PTの垂直解像度および水平解像度や、それに基づいて計算される用紙の高さおよび幅の画素数の値は、印刷データ生成ソフトウェア202(またはOS)を介して、描画アプリケーション201に描画能力情報として通知される。描画アプリケーション201は、印刷指示を受信したことに応じて、中間データ生成時に描画能力情報に応じた大きさの描画領域に対して、描画を実行する。
【0058】
ステップS1008では、印刷設定画面拡張ユニット205は、共有情報210に、ステップS1002で算出した用紙の高さの画素数と用紙の幅の画素数とをそれぞれ格納して、処理ステップS1009に進む。
【0059】
ステップS1009では、印刷設定画面拡張ユニット205は、PDL変換スキップ設定を共有情報210に保存して、処理は終了する。このPDL変換スキップ設定は、後述する、スキップ制御ユニット206によるPDL変換スキップ指示を行うか否かの判断に用いられる。
【0060】
図11は、スキップ制御ユニットによるスキップ処理の一例を示すフローチャートである。
図11に示すフローチャートに基づくプログラムは、CPU111によって実行される。また、
図11に示すフローチャートに基づくプログラムの開始は、例えば、描画アプリケーション201から印刷指示が発行され、この発行に応じてスキップ制御ユニットがOSで起動されることによって行われる。
図11に示すように、ステップS1101では、スキップ制御ユニット206は、共有情報210からPDL変換スキップ設定を取得して、処理ステップS1102に進む。
【0061】
ステップS1102では、スキップ制御ユニット206は、ステップS1101でPDL変換スキップ設定を取得することができたか否かを判断する。ステップS1102での判断の結果、PDL変換スキップ設定を取得することができたと判断された場合には、処理はステップS1103に進む。一方、ステップS1102での判断の結果、PDL変換スキップ設定を取得することができなかったと判断された場合には、処理は終了する。
【0062】
ステップS1103では、スキップ制御ユニット206は、印刷データ生成ソフトウェア202(またはOS)に対して、スキップ指示を行って、処理はステップS1104に進む。「スキップ指示」とは、印刷データ生成ソフトウェア202で中間データを印刷装置102が処理可能な印刷データに変換する工程の省略を指示することである。
【0063】
ステップS1104では、スキップ制御ユニット206は、共有情報210に保存されているPDL変換スキップ設定を削除して、処理は終了する。
【0064】
図12は、印刷データ編集ユニットによる印刷データ編集処理の一例を示すフローチャートである。
図12に示すフローチャートに基づくプログラムは、CPU111によって実行される。また、
図12に示すフローチャートに基づくプログラムの開始は、例えば、印刷データ生成ソフトウェア202から受信したデータ(中間データや印刷データ)が処理可能になったタイミングで行われる。
図12に示すように、ステップS1201では、印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から受信したデータのフォーマットを取得して、処理はステップS1202に進む。
【0065】
ステップS1202では、印刷データ編集ユニット208は、ステップS1201で所得したデータのフォーマットがXPSデータであるか否かを判断する。ステップS1202での判断の結果、XPSデータであると判断された場合には、処理はステップS1203に進む。一方、ステップS1202での判断の結果、XPSデータではないと判断された場合には、処理はステップS1207に進む。
【0066】
ステップS1203では、印刷データ編集ユニット208は、共有情報210から、用紙の高さの画素数および用紙の幅の画素数を取得して、処理はステップS1204に進む。
【0067】
ステップS1204では、印刷データ編集ユニット208は、ステップS1203で用紙の高さの画素数および用紙の幅の画素数を取得することができたか否かを判断する。ステップS1204での判断の結果、各画素数を取得することができたと判断された場合には、処理はステップS1205に進む。一方、ステップS1204での判断の結果、各画素数を取得することができなかたと判断された場合には、処理はステップS1206に進む。
【0068】
ステップS1205では、印刷データ編集ユニット208は、ステップS1203で取得した用紙の高さの画素数および用紙の幅の画素数と等しいサイズになるように、中間データを拡大し、印刷データ(PWGRaster)に変換する。なお、ステップS1203で取得した用紙の高さの画素数および用紙の幅の画素数は、解像度を変数Nで除する前に算出した画素数である。そのため、ステップS1205での処理により、中間データは本来の用紙サイズに合わせたサイズへと拡大される。ステップS1205実行後、処理はステップS1207に進む。
【0069】
ステップS1204実行後のステップS1206では、印刷データ編集ユニット208は、中間データを等倍で印刷データ(PWGRaster)に変換して、処理はステップS1207に進む。
【0070】
ステップS1207では、印刷データ編集ユニット208は、ステップS1205またはステップS1206で変換された印刷データを印刷装置102に送信して、処理は終了する。
【0071】
以上のような構成の印刷システム100では、印刷装置102が特定の用紙サイズに対応して印刷可能な場合、描画アプリケーション201による描画の際に、用紙の高さ方向の画素数に上限を設ける画素数制限機能を追加することができる。この画素数制限機能により、描画アプリケーション201が比較的画素数の大きい描画領域に対して描画を行う際に、描画オブジェクトの欠損のような描画エラーを抑制することができる(
図3(c)参照)。また、
図7に示す印刷設定画面701の画素数制限機能コントロールアイテム703により、画素数制限機能を所望の設定値に設定して、画素数制限機能の有効・無効を切り換えることができる。例えば画素数制限機能の設定値が「Auto」である場合には、描画アプリケーション201の名称に対応した画素数閾値T
p(描画能力情報)が自動的に設定される。これにより、例えば描画能力が比較的低い描画アプリケーション201では、低い画素数の描画を実行させることで描画エラーの発生を抑制することができる。一方、描画能力が比較的高い描画アプリケーション201では、高い画素数の描画を実行させることで、高品質な印刷結果を得ることができる。また、画素数制限機能の設定値が「Auto」の状態で印刷を実行した際に描画エラーが発生する場合には、画素数制限機能の設定値を「ON」に変更して印刷を実行することができる。これにより、描画エラーの発生を抑制することができる。また、描画エラーが発生しにくい環境である場合には、画素数制限機能の設定値を「OFF」にするのが好ましい。これにより、高品質な印刷結果を得ることが可能となる。従って、印刷システム100は、例えばIPPに基づいて作動するプログラムを用いた場合でも、印刷データの大小に関わらず、印刷装置102での描画エラーの発生等を抑制することができる。
【0072】
<<第2実施形態>>
以下、
図13~
図16を参照して、第2実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。第1実施形態では、描画アプリケーション201による描画の際、用紙の高さ方向の画素数に上限を設ける画素数制限機能を追加することにより、描画アプリケーション201が画素数の比較的大きい描画領域に対して描画を行う場合の描画エラーを抑制していた。このような第1実施形態では、描画アプリケーション201と用紙サイズとの組み合わせによっては、描画アプリケーション201が描画する際の解像度の低下が顕著となり、ユーザが所望する品質の印刷結果が得られないおそれがある。そこで、本実施形態では、描画アプリケーション201が描画する際の解像度の下限を設定可能なユーザインタフェースについて説明する。
【0073】
<印刷機能拡張ユニットによる印刷機能情報の編集処理>
図13は、第2実施形態に係る印刷システムの印刷機能拡張ユニットによる印刷機能情報の編集処理のうち、主要な処理を示すフローチャートである。
図13に示すように、ステップS405の後にステップS1301が実行される。ステップS1301では、印刷機能拡張ユニット207は、PDCに最低解像度指定機能を示す情報を追加して、処理は終了する。「最低解像度指定機能」とは、解像度を低下させる際の当該解像度の最低値を指定する(設定する)機能である。
【0074】
図14は、最低解像度指定機能を示す情報が追加されたPDCの一例を示す図である。
図14に示すように、PDC1401には、情報1402が追加されている。情報1402は、ステップS1301での処理によって追加された最低解像度指定機能を示す情報である。情報1402は、JobMinimumResolutionとして、None、300dpi、150dpi、75dpiが設定可能であることを示す。
【0075】
<印刷設定画面拡張ユニットによる印刷設定画面>
図15は、印刷設定画面拡張ユニットによる印刷設定画面を示す図である。
図15(a)は、印刷設定画面拡張ユニットによって表示される印刷設定画面の変形例を示す図である。
図15(a)に示すように、コントロールアイテム702には、最低解像度指定機能コントロールアイテム1501が含まれている。最低解像度指定機能コントロールアイテム1501では、
図13に示すフローチャートのステップS1301で追加された最低解像度指定機能を設定することができる。
図15(b)は、最低解像度指定機能コントロールアイテムと、最低解像度指定機能の設定値を選択させるための最低解像度指定機能ドロップダウンリストとの一例を示す図である。最低解像度指定機能コントロールアイテム1501を操作することにより、最低解像度指定機能ドロップダウンリスト1502が表示される。最低解像度指定機能ドロップダウンリスト1502は、解像度を低下させる際の当該解像度の最低値を設定する設定画面である。最低解像度指定機能ドロップダウンリスト1502には、情報1402に基づいた設定値、すなわち、「None」、「300dpi」、「150dpi」、「75dpi」が表示される(表示工程)。これにより、ユーザは、所望する設定値を選択して、最低解像度を指定することができる。
【0076】
<印刷設定画面拡張ユニットによる印刷設定画面表示処理>
図16は、
図8に示すフローチャートのステップS808(サブルーチン)での処理の変形例を示すフローチャートである。
図16に示すように、ステップS1001実行後、処理はステップS1601に進む。ステップS1601では、印刷設定画面拡張ユニット205は、最低解像度指定機能ドロップダウンリスト1502を介して設定された最低解像度の設定値を取得して、処理はステップS1002~ステップS1004を順次実行する。そして、ステップS1004での判断の結果、「(用紙の高さの画素数÷N)>T
p」であると判断された場合には、処理はステップS1602に進む。一方、ステップS1004での判断の結果、「(用紙の高さの画素数÷N)>T
p」ではないと判断された場合には、処理はステップS1006に進む。
【0077】
ステップS1602では、印刷設定画面拡張ユニット205は、「((ステップS1001で取得した解像度)÷(N+1))≧最低解像度」であるか否かを判断する。なお、ステップS1001で取得した解像度としては、垂直解像度を用いることができるが、これに限定されず、例えば、水平解像度を用いることができる。ステップS1602での判断の結果、「(解像度÷(N+1))≧最低解像度」であると判断された場合には、処理はステップS1005に進み、それ以降の処理を順次実行する。一方、ステップS1602での判断の結果、「(解像度÷(N+1))≧最低解像度」ではないと判断された場合には、処理はステップS1006に進み、それ以降の処理を順次実行する。なお、最低解像度指定機能ドロップダウンリスト1502から「None」が選択された場合には、「(解像度÷(N+1))≧最低解像度」の右辺は0であるとして計算される。
【0078】
以上のような構成の印刷システム100では、最低解像度指定機能コントロールアイテム1501により、最低解像度を所望の設定値に設定することができる。これにより、描画アプリケーション201で最低解像度以上の中間データを生成することができ、よって、描画エラーの抑制と印刷品質とのバランスに優れる。
【0079】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した各実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステムまたは装置のコンピュータの1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0080】
各実施形態の開示は、以下のプログラム、方法および構成を含む。
(プログラム1) 印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置を制御する制御プログラムであって、
前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得工程と、
前記取得工程で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成工程と、を有し、
前記各工程を前記情報処理装置に実行させることを特徴とする制御プログラム。
(プログラム2) 前記制御プログラムは、該制御プログラムとは別の制御プログラムとの間で情報交換が可能であり、
前記別の制御プログラムは、前記2次データを前記印刷装置で前記印刷が可能なデータに変換する変換処理を行う変換工程を有しており、
前記制御プログラムは、前記2次データに対する前記変換工程での前記変換処理を省略する省略工程を有することを特徴とするプログラム1に記載の制御プログラム。
(プログラム3) 前記変換処理が省略された前記2次データを、前記印刷装置で前記印刷が可能なデータに変換する変換処理を行う変換工程を有することを特徴とするプログラム2に記載の制御プログラム。
(プログラム4) 前記2次データが前記変換工程での前記変換処理によって前記印刷が可能な変換されたデータを前記印刷装置に送信する送信工程を有することを特徴とするプログラム3に記載の制御プログラム。
(プログラム5) 前記別の制御プログラムは、IPP(Internet Printing Protocol)に基づいて作動するプログラムであり、
前記制御プログラムは、前記別の制御プログラムの機能を拡張するプログラムであることを特徴とするプログラム2乃至4のいずれか1つに記載の制御プログラム。
(プログラム6) 前記生成工程では、前記2次データを生成する際、該2次データの画素数を前記画素数閾値未満にすることを特徴とするプログラム1乃至5のいずれか1つに記載の制御プログラム。
(プログラム7) 前記画素数閾値は、前記印刷装置で前記印刷が可能な最大の印刷媒体の大きさに相当することを特徴とするプログラム1乃至6のいずれか1つに記載の制御プログラム。
(プログラム8) 前記画素数閾値は、複数用意されており、
前記生成工程では、前記複数の画素数閾値の中から1つの画素数閾値が選択されることを特徴とするプログラム1乃至7のいずれか1つに記載の制御プログラム。
(プログラム9) 前記生成工程に先立って、前記画素数が前記画素数閾値以上の否かを判断する判断工程と、
前記判断工程での判断の実行を有効にするか否かを切り換える切換画面を表示させる表示工程と、を有することを特徴とするプログラム1乃至8のいずれか1つに記載の制御プログラム。
(プログラム10) 前記解像度を低下させる際の該解像度の最低値を設定する設定画面を表示させる表示工程を有することを特徴とするプログラム1乃至9のいずれか1つに記載の制御プログラム。
(プログラム11) 前記印刷媒体は、その平面視で長方形をなすものであり、
前記取得工程では、前記印刷媒体の大きさとして、前記印刷媒体の長辺方向に沿った長さを取得することを特徴とするプログラム1乃至10のいずれか1つに記載の制御プログラム。
(方法1) 印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置を制御する方法であって、
前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得工程と、
前記取得工程で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成工程と、を有することを特徴とする情報処理装置の制御方法。
(構成1) 印刷を行う印刷装置に通信可能に接続され、該印刷装置との間での情報を処理可能な情報処理装置であって、
前記印刷に用いられる印刷データが印刷されるシート状の印刷媒体の大きさに相当する画素数を取得する取得手段と、
前記取得手段で取得した前記画素数が、予め設定された画素数閾値以上の場合に、前記印刷データを1次データとし、該1次データの解像度を低下させて、前記1次データの容量よりも小さい2次データを生成する生成手段と、を備えることを特徴とする情報処理装置。
【符号の説明】
【0081】
101 ホストコンピュータ
102 印刷装置
202 印刷データ生成ソフトウェア
204 拡張アプリケーション
205 印刷設定画面拡張ユニット
206 スキップ制御ユニット
207 印刷機能拡張ユニット
208 印刷データ編集ユニット
Ts 用紙サイズ閾値
H 最大の用紙サイズ高さ