IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-サポートプログラム 図1
  • 特開-サポートプログラム 図2
  • 特開-サポートプログラム 図3
  • 特開-サポートプログラム 図4
  • 特開-サポートプログラム 図5
  • 特開-サポートプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103064
(43)【公開日】2024-08-01
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240725BHJP
   H04N 1/00 20060101ALI20240725BHJP
   H04N 1/387 20060101ALI20240725BHJP
   H04N 1/393 20060101ALI20240725BHJP
   B41J 29/38 20060101ALI20240725BHJP
【FI】
G06F3/12 354
G06F3/12 305
G06F3/12 328
G06F3/12 325
G06F3/12 353
H04N1/00 C
H04N1/387 200
H04N1/393
B41J29/38 202
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023007199
(22)【出願日】2023-01-20
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】成田 建樹
(72)【発明者】
【氏名】市川 裕詞
(72)【発明者】
【氏名】江口 愛莉
【テーマコード(参考)】
2C061
5C062
5C076
【Fターム(参考)】
2C061AP01
2C061AP03
2C061AP04
2C061AP05
2C061AQ05
2C061AQ06
2C061AR01
2C061AR03
2C061AS02
2C061HJ08
2C061HP00
2C061HP08
5C062AA02
5C062AA05
5C062AA13
5C062AA29
5C062AB20
5C062AB22
5C062AB23
5C062AB38
5C062AC02
5C062AC04
5C062AC05
5C062AC24
5C062AC34
5C062AC67
5C062AE03
5C062AE07
5C062AE15
5C062AF10
5C062AF11
5C076AA02
5C076AA22
5C076BA06
5C076CB01
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷対象の画像を任意のサイズに拡大または縮小する技術を提供すること。
【解決手段】補助プログラム42は、PC1のCPU11によって実行可能であり、プリンタ2に対応するプログラムであって、PC1のユーザIF13に表示させた詳細設定画面を介して任意の倍率の設定を受け付ける。さらに、編集アプリ43から出力された印刷指示であって、PC1のOS21が有する汎用印刷プログラム41に対して画像の印刷をプリンタ2に行わせる印刷指示があった場合に、補助プログラム42は、受け付けた倍率に基づいて、印刷対象の画像を拡大または縮小した画像を取得し、取得された画像をプリンタ2に印刷させるための処理を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
前記コンピュータに、
前記情報処理装置のユーザインタフェースに設定画面を表示させ、前記設定画面を介して任意の倍率の設定を受け付ける受付処理を実行させ、
さらに前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムが有する汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、
前記受付処理にて受け付けられた前記倍率に基づいて、印刷対象の前記画像を拡大または縮小した拡縮画像を取得する取得処理と、
前記取得処理にて取得された前記拡縮画像を、前記プリンタに印刷させるための処理を行う印刷処理と、
を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムであって、
前記取得処理では、
印刷対象の前記画像をラスタライズする要求を前記汎用印刷プログラムに入力し、前記汎用印刷プログラムからラスタライズされたラスタデータを取得し、取得された前記ラスタデータを、前記受付処理にて受け付けられた前記倍率に基づいて拡大または縮小することで、前記拡縮画像を取得する、
ように構成されるサポートプログラム。
【請求項3】
請求項1に記載するサポートプログラムであって、
前記取得処理では、
前記受付処理にて受け付けられた前記倍率に基づいて算出されるパラメータとともに印刷対象の前記画像をラスタライズする要求を前記汎用印刷プログラムに入力し、前記汎用印刷プログラムからラスタライズされたラスタデータを、前記拡縮画像として取得する、
ように構成されるサポートプログラム。
【請求項4】
請求項3に記載するサポートプログラムであって、
前記パラメータは、前記受付処理にて受け付けられた前記倍率に基づいて算出される解像度であり、
前記取得処理では、
前記受付処理にて受け付けられた前記倍率に基づいて算出される前記解像度で印刷対象の前記画像をラスタライズする前記要求を前記汎用印刷プログラムに入力し、前記汎用印刷プログラムからラスタライズされたラスタデータを、前記拡縮画像として取得する、
ように構成されるサポートプログラム。
【請求項5】
請求項1から請求項4のいずれか1つに記載するサポートプログラムであって、
前記コンピュータに、
前記取得処理にて取得された前記拡縮画像を、前記印刷指示の印刷設定に基づく用紙サイズに合わせて加工する加工処理を、前記取得処理を実行させた後であって前記印刷処理を実行させる前に実行させ、
前記印刷処理では、前記加工処理にて加工された前記拡縮画像を、前記プリンタに印刷させるための前記処理を行う、
ように構成されるサポートプログラム。
【請求項6】
請求項1から請求項4のいずれか1つに記載するサポートプログラムであって、
前記設定画面では、前記倍率の設定を保持するか否かの選択が可能であり、
前記コンピュータに、
前記倍率の設定を保持しない前記選択がされている場合に、前記取得処理の実行後、前記受付処理にて受け付けられた前記倍率の設定を無効にする初期化処理を実行させ、前記倍率の設定を保持する前記選択がされている場合に、前記初期化処理を実行させない、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、例えば特許文献1に開示されているように、プリンタベンダから提供されるプリンタドライバがスケーリング機能を有し、印刷対象の画像を任意のサイズに拡大または縮小する構成が広く知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-037510号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、前述したプリンタベンダから提供されるプリンタドライバを利用せず、オペレーティングシステム(OS)の一部を構成するOS標準の汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタベンダから提供されるプリンタドライバを用いずに、OS標準の汎用印刷プログラムが印刷データを生成することで、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0005】
しかしながら、OS標準の汎用印刷プログラムでは、これまでプリンタベンダから提供されるプリンタドライバが有していたような、印刷対象の画像を任意のサイズに拡大または縮小する機能が設けられていない。
【課題を解決するための手段】
【0006】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置のユーザインタフェースに設定画面を表示させ、前記設定画面を介して任意の倍率の設定を受け付ける受付処理を実行させ、さらに前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムが有する汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記受付処理にて受け付けられた前記倍率に基づいて、印刷対象の前記画像を拡大または縮小した拡縮画像を取得する取得処理と、前記取得処理にて取得された前記拡縮画像を、前記プリンタに印刷させるための処理を行う印刷処理と、を実行させる、ように構成されている。
【0007】
本明細書に開示されるサポートプログラムは、設定画面を介して、任意の倍率の設定を受け付ける。そして、情報処理装置のOSが有する汎用印刷プログラムに対して画像の印刷をプリンタに行わせる印刷指示があった場合に、受け付けた倍率に基づいて拡大または縮小した拡縮画像をプリンタに印刷させる。これにより、OS標準の汎用印刷プログラムが組み込まれ、プリンタドライバを利用しない情報処理装置であっても、印刷対象の画像をユーザ任意のサイズに拡大または縮小して印刷させることができる。
【0008】
上記サポートプログラムが組み込まれた情報処理装置、サポートプログラムを格納するコンピュータにて読取可能な記憶媒体、及びサポートプログラムの機能を実現するための制御方法、サポートプログラムとプリンタとを含む印刷システムも、新規で有用である。
【発明の効果】
【0009】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷対象の画像を任意のサイズに拡大または縮小する技術が実現される。
【図面の簡単な説明】
【0010】
図1】PCの電気的構成の概略を示すブロック図である。
図2】印刷設定手順の例を示すシーケンス図である。
図3】印刷設定画面の例を示す説明図である。
図4】詳細設定画面の例を示す説明図である。
図5】印刷実行手順の例を示すシーケンス図である。
図6】加工処理の手順の例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、PCにて実行されるサポートプログラムを開示する。
【0012】
本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0013】
PC1のCPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0014】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアであるディスプレイ13aと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイ13aと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、ディスプレイ13aの機能と入力受付機能とを備えるタッチパネルであっても良い。
【0015】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0016】
PC1のメモリ12には、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、を含む、各種のプログラムや各種のデータが記憶されている。補助プログラム42は、サポートプログラムの一例である。編集アプリ43は、アプリケーションプログラムの一例である。
【0017】
OS21は複数のタスクを管理して切り換えることにより複数のタスクを並行して処理できるマルチタスクOSである。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0018】
OS21には、汎用印刷プログラム41が含まれている。汎用印刷プログラム41は、OS21のベンダによって用意され、OS21の一部として提供されるOS標準のプログラムである。汎用印刷プログラム41は、各プリンタに固有のプリンタドライバを利用するようには構成されていない。
【0019】
汎用印刷プログラム41は、ユーザの指示に基づいて、複数のベンダによってそれぞれ提供される複数種類のモデルのプリンタに印刷を実行させるための機能を有するプログラムである。汎用印刷プログラム41は、多くのプリンタにて印刷を実行可能な汎用的な機能をサポートしている。汎用印刷プログラム41は、各プリンタに固有のプリンタドライバとは異なり、各プリンタやプリンタドライバが固有に備える機能、特に複雑な処理を要する機能をサポートしていない。
【0020】
汎用印刷プログラム41は、ユーザの指示に基づいて、各種のアプリから出力された印刷指示にて印刷対象として指定された画像データを受け取り、その画像データに基づく中間画像データを生成する機能を含むプログラムである。中間画像データは、例えば、XPSデータである。汎用印刷プログラム41は、さらに、中間画像データに基づいて、各種のプリンタにて印刷に利用できる形式の印刷データを生成する機能を有している。印刷データは、例えば、PWGRasterデータ、または、PDFデータである。また、汎用印刷プログラム41は、生成した印刷データを、OS21による通信機能を介して、印刷を実行させる装置として指定されたプリンタに送信する機能を有している。
【0021】
補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするプログラムである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、プリンタ2のベンダによって提供される。汎用印刷プログラム41は、印刷を実行させる装置としてプリンタ2が選択された場合、プリンタ2が選択されている状態で詳細な印刷設定の指示を受け付けた場合、プリンタ2に印刷を実行させる指示を受け付けた場合、等に、プリンタ2に対応する補助プログラム42を起動する。補助プログラム42は、例えば、印刷サポートアプリ(略称、PSA)、またはハードウェアサポートアプリ(略称、HSA)と呼ばれるものである。
【0022】
なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。また、補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0023】
PC1のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプやモデルに応じて、適切な補助プログラムをプリンタのベンダのサーバ等からダウンロードしてPC1に組み込むことができる。OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。
【0024】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのプログラムである。編集アプリ43は、例えば、マイクロソフト(登録商標)製のワード(登録商標)やパワーポイント(登録商標)などであっても良いし、プリンタ2のベンダから提供されるプログラムであっても良い。編集アプリ43は、ユーザIF13を介して、例えば、プリンタ2に印刷を実行させる印刷実行指示を受け付け可能である。なお、編集アプリ43は、データの作成や編集を行うためのプログラムに限らず、ユーザの要求に応じて、地図情報やウェブページ等の各種の情報の表示指示や印刷指示を受け付ける機能を有するプログラムであっても良い。
【0025】
本形態のPC1は、通信IF14を介して、図1に示すように、プリンタ2に接続されている。プリンタ2は、少なくとも印刷機能と通信機能とを有する装置である。プリンタ2は、例えば、PC1等から印刷データを受信した場合、受信した印刷データに基づく印刷を実行可能である。
【0026】
次に、本形態のPC1において、印刷に関する動作の手順について、シーケンス図を参照して説明する。なお、本形態における各処理は、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェアの制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0027】
印刷に関する手順として、まず、印刷設定手順について、図2のシーケンス図を参照して説明する。編集アプリ43は、ユーザの指示に基づいて、文章や画像の作成や編集を受け付ける。そして、表示中の文章や画像を印刷させたい場合、ユーザは、編集アプリ43にて印刷を選択する(A01)。ユーザは、例えば編集アプリ43に設けられた操作項目のメニューから、印刷を選択できる。
【0028】
編集アプリ43は、印刷の選択を受け付けると、OS21の汎用印刷プログラム41に印刷に関する指示を受け付ける画面の表示を要求する(A02)。汎用印刷プログラム41は、要求に応じて、印刷設定画面をユーザIF13に表示させる(A03)。印刷設定画面は、汎用印刷プログラム41にて受け付け可能な各種の印刷設定について、ユーザの指示を受け付ける画面である。なお、印刷設定画面の表示は、編集アプリ43が行っても良い。
【0029】
印刷設定画面の例を図3に示す。図3の例の印刷設定画面D2は、プリンタ選択欄51、情報表示欄52、基本的な印刷設定の選択欄53、詳細設定ボタン54、印刷ボタン55、を含む。プリンタ選択欄51は、印刷を実行させるデバイスの選択を受け付ける欄である。情報表示欄52は、プリンタ選択欄51にて選択されたデバイスに対応する補助プログラムによって指定された情報を表示する欄である。例えば、プリンタ選択欄51にてプリンタ2の選択を受け付けた場合、または、OS21にて通常使用するプリンタとしてプリンタ2が設定されている状態で印刷の指示を受け付けた場合、汎用印刷プログラム41は、補助プログラム42を起動し、補助プログラム42によって用意される画像を情報表示欄52に表示することができる。
【0030】
基本的な印刷設定の選択欄53は、印刷部数や原稿の向き等の基本的な設定を受け付ける欄である。詳細設定ボタン54は、基本的な印刷設定の選択欄53には含まれない詳細な設定を行う指示を受け付けるボタンである。印刷ボタン55は、選択中の印刷設定での印刷の実行指示を受け付けるボタンである。
【0031】
例えば、プリンタ選択欄51にて、印刷を実行させるデバイスとしてプリンタ2が選択された状態で、詳細設定ボタン54への操作によって詳細な印刷設定の指示を受け付けた場合(A11)、汎用印刷プログラム41は、プリンタ2に対応する補助プログラム42に、詳細な印刷設定の受け付けを開始する指示を渡す(A12)。
【0032】
補助プログラム42は、A12の指示に応じて起動されると、プリンタ2の能力情報を取得する。具体的には、補助プログラム42は、能力情報の取得を汎用印刷プログラム41に要求する(A13)。汎用印刷プログラム41は、能力情報を要求するコマンドをプリンタ2に送信し、プリンタ2から能力情報を取得する(A14)。汎用印刷プログラム41は、取得した能力情報を補助プログラム42に渡す(A15)。これにより、補助プログラム42は、プリンタ2の能力情報を取得できる。
【0033】
なお、汎用印刷プログラム41は、A14において、OS21を介して、例えば、IPP(internet printing protocolの略)に応じた通信によって、プリンタ2との通信を行う。なお、補助プログラム42は、汎用印刷プログラム41に要求する代わりに、例えば、MIB(Management Information Baseの略)を使って、プリンタ2から直接、能力情報を取得しても良い。
【0034】
プリンタ2から取得される能力情報には、印刷設定として設定可能なパラメータの情報が含まれる。能力情報には、さらに、例えば、消耗品の残量情報、選択可能なトレイの情報、各トレイに設定されている用紙の用紙情報、対応可能な印刷解像度の情報、が含まれていても良い。また、プリンタ2は、受け付けた印刷ジョブに基づいて画像処理を行って、画像処理後のデータに基づいて印刷する機能、例えば、Nin1等の集約印刷、ウォータマーク等の合成印刷、着色材を節約する節約印刷、を行う機能を有していても良い。プリンタ2にて実行可能な画像処理の機能を有している場合、プリンタ2は、その機能の情報を含む能力情報を渡しても良い。また、プリンタ2は、自身のステータスを示す情報を含む能力情報を渡しても良い。
【0035】
補助プログラム42は、取得した能力情報に基づいて、詳細な印刷設定を受け付ける詳細設定画面をユーザIF13に表示させる(A17)。補助プログラム42によって表示される詳細設定画面には、プリンタ2にて実行可能な範囲のパラメータが選択肢として含まれる。補助プログラム42は、表示中の詳細設定画面へのユーザの操作を受け付け可能である。なお、詳細設定画面にて受け付け可能な印刷設定の項目は多いことから、補助プログラム42は、例えば、複数のタブによって、選択対象の項目の切り替え指示を受け付け可能であっても良い。
【0036】
補助プログラム42は、ユーザの操作に応じて、例えば、印刷対象の画像を拡大または縮小して印刷するスケーリングの設定指示を受け付け可能である。スケーリングの設定指示を受け付けた場合、補助プログラム42は、スケーリングの設定を受け付ける画面として、例えば、図4に示すような詳細設定画面60をユーザIF13に表示させる。補助プログラム42は、表示させた詳細設定画面60にてユーザの指示を受け付ける。詳細設定画面60は、設定画面の一例である。
【0037】
図4に示す詳細設定画面60には、スケーリングに関する設定として、「オフ」、「用紙に合わせる」、「自由サイズ」のうちから択一的に選択を受け付けるラジオボタン61が含まれる。「オフ」は、拡大も縮小も行わない、すなわち倍率100%での印刷を指定する選択肢である。「用紙に合わせる」は、給紙トレイとして指定されているトレイに設定されている用紙サイズに合わせて、画像を拡大または縮小する指示を示す選択肢である。「自由サイズ」は、ユーザによって指定された任意の倍率で拡大または縮小する指示を示す選択肢である。
【0038】
補助プログラム42は、ラジオボタン61にて「自由サイズ」が選択された場合、倍率設定欄62への入力を受け付け可能となる。倍率設定欄62は、例えば、25-400%の範囲内で、任意の倍率の指定を受け付ける欄である。任意の倍率は、定型サイズ間でのスケーリングに設定される予め用意された倍率ではなく、例えば1%単位でユーザの数値入力を受け付ける倍率である。倍率設定欄62にて任意の倍率を受け付ける処理は、受付処理の一例である。
【0039】
チェックボックス63は、詳細設定画面60にて受け付けたスケーリングの設定を、デフォルトの設定として保持する指示を受け付ける欄である。補助プログラム42は、詳細設定画面60のチェックボックス63にて、例えば、倍率設定欄62にて受け付けた倍率の設定をデフォルトの設定として保持するか否かの選択を受け付け可能である。
【0040】
図2の手順の説明に戻る。ユーザは、例えば、図4のOKボタンの操作によって、前述したスケーリングの設定を含め、各種の印刷設定を指定して印刷設定を終了する指示を行う。スケーリングの設定を受け付けている状態で(A21)、ユーザによる設定終了の指示の入力を受け付けた場合(A22)、補助プログラム42は、詳細設定画面60の表示を終了し、受け付けた印刷設定の情報を記憶する(A23)。
【0041】
補助プログラム42は、具体的には、スケーリングの設定として、拡大または縮小の設定の有無および、「自由サイズ」が選択されている場合には倍率設定欄62にて指定された倍率やチェックボックス63へのチェックの有無の情報を記憶する。なお、ラジオボタン61での選択が「自由サイズ」であっても、倍率設定欄62にて倍率100%の指定を受け付けている場合、補助プログラム42は、指定された倍率を記憶せず、拡大または縮小の設定無しを示す情報を記憶しても良い。
【0042】
そして、補助プログラム42は、詳細な印刷設定の受け付け終了を汎用印刷プログラム41に通知する(A25)。汎用印刷プログラム41は、補助プログラム42の通知に基づいて、印刷設定の終了を編集アプリ43に通知する(A26)。補助プログラム42は、印刷設定の受け付け終了を編集アプリ43に通知しても良い。編集アプリ43は、A03にて表示させた印刷設定画面(例えば、図3に示した印刷設定画面D2)をアクティブにし、印刷実行の指示や印刷のキャンセルの指示等のユーザの指示を受け付け可能な状態となる。
【0043】
なお、前述したように、印刷設定画面D2(図3参照)には、補助プログラム42によって用意される画像を表示可能な情報表示欄52が含まれる。また、汎用印刷プログラム41は、情報表示欄52への操作を受け付けた場合、補助プログラム42にその操作の情報を渡す。そこで、補助プログラム42は、情報表示欄52に、例えば、スケーリングの設定を受け付け可能な情報画面を表示させ、情報表示欄52へのユーザの指示によって、スケーリングの設定を受け付けることができる。補助プログラム42は、情報表示欄52を介して受け付けた場合にも、A23と同様に、スケーリングの設定の情報を記憶する。
【0044】
次に、印刷実行手順について、図5のシーケンス図を参照して説明する。ユーザは、印刷対象の画像とプリンタ2での印刷設定とを決定した後、編集アプリ43にて印刷実行の指示を入力する(B01)。編集アプリ43は、例えば、図3に示した印刷設定画面D2にて印刷ボタン55への操作を受け付けた場合、汎用印刷プログラム41に対して、選択中の画像の印刷をプリンタ2に行わせる実行指示を、受け付けたと判断する。
【0045】
編集アプリ43は、受け付けた印刷指示の情報を汎用印刷プログラム41に渡す(B02)。汎用印刷プログラム41は、印刷指示の情報として、印刷対象の画像を示す画像データと印刷設定を示す情報と、を編集アプリ43から取得する。
【0046】
汎用印刷プログラム41は、編集アプリ43から取得した情報に基づいて、印刷対象の画像の画像データの形式を中間画像データの形式に変換することで、中間画像データを生成する(B03)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷対象の画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。
【0047】
なお、汎用印刷プログラム41は、中間画像データの生成前に、指定されたデバイスであるプリンタ2に対応する補助プログラム42を起動して、印刷ジョブの処理を開始したことを通知しても良い。補助プログラム42は、汎用印刷プログラム41から起動された場合、中間画像データを生成する際に利用される各種の指示を示す情報を、必要に応じて、汎用印刷プログラム41に渡すことができる。
【0048】
汎用印刷プログラム41は、中間画像データを生成した後、補助プログラム42を起動する(B05)。補助プログラム42は、汎用印刷プログラム41に要求することで汎用印刷プログラム41によって生成された中間画像データを取得できる。そして、補助プログラム42は、受け付け済みの印刷設定に基づいて、汎用印刷プログラム41から受け取った中間画像データや印刷設定の情報を編集することができる。
【0049】
B05の実行指示を受けて、補助プログラム42は、スケーリングの設定として、拡大または縮小の設定を記憶しているか否かを判断する。補助プログラム42は、前述したように、詳細な印刷設定等でスケーリングの設定を受け付けた場合、図2のA23にてスケーリングの設定を記憶している。
【0050】
拡大または縮小の設定を記憶していると判断した場合(alt:[スケーリング有])、補助プログラム42は、記憶しているスケーリングの設定に基づいて、ラスタライズ解像度を算出する(B11)。補助プログラム42は、記憶しているスケーリングの倍率をプリンタ2の出力解像度に乗算することで、ラスタライズ用の解像度を算出する。B12にて算出されるラスタライズの解像度は、パラメータの一例である。記憶しているスケーリングの倍率は、前述した図2のA21にて受け付けたユーザの指示に含まれる。また、プリンタ2の出力解像度は、例えば、プリンタ2の能力情報から取得される。
【0051】
補助プログラム42は、中間画像データと算出したラスタライズ解像度とを汎用印刷プログラム41に渡し、その解像度でのラスタライズを汎用印刷プログラム41に要求する(B12)。汎用印刷プログラム41は、指定されたラスタライズ解像度を用いて、B03にて生成した中間画像データをラスタライズし、ビットマップデータであるラスタデータを生成する(B13)。さらに、汎用印刷プログラム41は、生成したラスタデータを補助プログラム42に渡す(B14)。これにより、補助プログラム42は、ユーザによって指定された倍率で拡大または縮小されたラスタデータを取得する。B14は、取得処理の一例である。B14にて得られるラスタデータは、拡縮画像の一例である。
【0052】
ユーザによって指定された倍率が反映されたパラメータであるラスタライズ解像度を指定して、汎用印刷プログラム41にラスタライズを要求することで、補助プログラム42は、ユーザによって指定された倍率で拡大または縮小されたラスタデータを取得できる。このようにすれば、補助プログラム42は、拡大または縮小する機能を実装する必要がなく、補助プログラム42の構成がシンプルになる。
【0053】
なお、汎用印刷プログラム41に解像度を指定してラスタライズを行わせる代わりに、拡大または縮小を含まないラスタライズを行わせ、補助プログラム42が拡大または縮小を行っても良い。その場合、補助プログラム42は、B12では、プリンタ2の出力解像度で、または、ラスタライズ解像度を指定せずに、ラスタライズを要求する。そして、B14にて汎用印刷プログラム41から受け取ったラスタデータを、補助プログラム42が、記憶している倍率に基づいて拡大または縮小する。このようにしても、補助プログラム42は、ユーザによって指定された倍率に基づいて拡大または縮小されたラスタデータを取得できる。
【0054】
また、例えば、汎用印刷プログラム41に代えて補助プログラム42がラスタライズを行っても良い。その場合、補助プログラム42は、印刷の実行指示にて受け取った中間画像データに基づいてラスタライズを実行し、さらに拡大または縮小を行ってラスタデータを生成する。補助プログラム42にてラスタライズすれば、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適したラスタデータが生成される可能性が高い。
【0055】
次に、補助プログラム42は、加工処理を実行する(B15)。加工処理の手順について、図6のフローチャートを参照して説明する。加工処理は、補助プログラム42に基づいて、PC1のCPU11にて実行される。
【0056】
加工処理では、CPU11は、図5のB14にて取得したラスタデータについて、描画サイズを取得する(C01)。さらに、CPU11は、受け付けた印刷設定に基づいて、用紙サイズを取得する(C02)。そして、CPU11は、C01にて取得したラスタデータの描画サイズと用紙サイズとを比較する。なお、用紙サイズは、印刷設定に基づく用紙サイズに限らず、例えば、印刷設定にて指定された給紙トレイにて設定または検知された用紙サイズであっても良い。
【0057】
CPU11は、ラスタデータのサイズが用紙サイズよりも大きいと判断した場合(C03:YES)、ラスタデータの右端または下端をトリミングする(C04)。また、CPU11は、ラスタデータのサイズが用紙サイズよりも小さいと判断した場合(C05:YES)、ラスタデータの右端または下端に白データを付加する(C06)。なお、CPU11は、画像の縦方向と横方向とのそれぞれについて、C03~C06の処理を実行する。これにより、ラスタデータによって示される画像のサイズを変更することなく、ラスタデータの描画サイズを、出力対象の用紙サイズに合わせることができる。また、用紙サイズに合わせて加工したラスタデータをプリンタ2に渡すことで、プリンタ2での出力エラーを回避できる。
【0058】
C06の後、CPU11は、加工処理を終了する。なお、CPU11は、ラスタデータのサイズが用紙サイズと等しいと判断した場合には(C03:NO、かつ、C05:NO)、ラスタデータの調整を行わず、加工処理を終了する。加工処理の終了後、補助プログラム42は、図5の手順に戻る。
【0059】
なお、ラスタデータのトリミングの位置や白データを付加する位置は、右端または下端に限らず、左端や上端、または両端への均等配置、であっても良い。また、補助プログラム42は、加工位置の選択を受け付け可能であっても良い。また、補助プログラム42は、例えば、ラスタデータによって示される画像と用紙サイズとをプレビュー表示して、画像の配置の指定を受け付け可能であっても良い。
【0060】
図5の手順の説明に戻る。スケーリングの設定を記憶していないと判断した場合(alt:[スケーリング無])、補助プログラム42は、ラスタライズ解像度を指定せずに、汎用印刷プログラム41にラスタライズを要求する(B21)。汎用印刷プログラム41は、ラスタライズ解像度の指定が含まれていないラスタライズ要求では、基準の解像度であるプリンタ2の出力解像度に基づいて、ラスタライズを実行する(B22)。そして、汎用印刷プログラム41は、生成したラスタデータを補助プログラム42に渡す(B23)。
【0061】
なお、補助プログラム42は、B12またはB21にて汎用印刷プログラム41にラスタライズを要求するとしたが、補助プログラム42がラスタライズしても良い。ただし、汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、補助プログラム42のプログラムサイズを小さくできる。
【0062】
補助プログラム42は、B15の加工処理にて加工済みのラスタデータ、またはB23にて取得したラスタデータを、各種の印刷設定に基づいて、PDLデータにエンコードする(B31)。PDLデータは、プリンタ2にて印刷可能な形式のデータであればよい。なお、補助プログラム42によって生成されるPDLデータは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
【0063】
そして、補助プログラム42は、スケーリングの設定をデフォルトに設定する指示を受け付けているか否かを判断する。補助プログラム42は、デフォルトとして設定する指示を、例えば、図4に示した詳細設定画面60のチェックボックス63にて受け付け可能である。そして、補助プログラム42は、図2のA23では、デフォルトとして設定する指示を受け付けたか否かを示す情報をも記憶する。
【0064】
デフォルトとして設定する指示を受け付けている場合(alt:[デフォルトに設定有])、補助プログラム42は、倍率の情報を含めて、今回のスケーリングの設定をデフォルトの設定として不揮発性の記憶領域に記憶する(B32)。具体的には、補助プログラム42は、例えば、図2のA23にて記憶したスケーリングの設定を示す情報を、不揮発性の記憶領域に記憶する。このようにすれば、次回以降の印刷においても、デフォルトの印刷設定として、今回と同じ倍率でのスケーリングが適用される。例えば、今後も同じ倍率で印刷したいユーザにとっては、毎回同じ倍率の設定を行う手間が省かれる。
【0065】
一方、デフォルトとして設定する指示を受け付けていない場合(alt:[デフォルトに設定無])、補助プログラム42は、今回のスケーリングの設定を不揮発性の記憶領域には記憶せず、スケーリングの設定を初期状態にする(B33)。B33は、初期化処理の一例である。初期状態は、例えば、拡大も縮小も行わない設定である。補助プログラム42は、例えば、図2のA23にて記憶したスケーリングの設定を示す情報を削除することで、今回の印刷ジョブにて受け付けた倍率の設定を無効にする。この場合、今回のスケーリングの設定は、今後の印刷ジョブには適用されない。スケーリングの倍率を保持するか否かをユーザが選択できるので、利便性が高い。
【0066】
なお、スケーリングの設定を初期状態にする処理を実行するタイミングは、B14にてラスタデータを取得する処理の実行後であれば良い。つまり、補助プログラム42は、スケーリングの設定をデフォルトに設定する指示を受け付けているか否かの判断と、B32またはB33とを、B15の加工処理の前、またはB15の後であってB31の前、に実行しても良い。
【0067】
さらに、補助プログラム42は、B31にて生成したPDLデータを汎用印刷プログラム41に渡し、プリンタ2への送信を指示する(B35)。B35は、プリンタ2に印刷させるための処理であり、印刷処理の一例である。
【0068】
汎用印刷プログラム41は、補助プログラム42の指示に応じて、PDLデータをプリンタ2に送信し、印刷を指示する(B36)。プリンタ2は、受信したPDLデータに基づいて、印刷を実行する(B37)。これにより、ユーザの希望の倍率にて拡大または縮小された画像が印刷された印刷物が生成される。
【0069】
なお、PDLデータを汎用印刷プログラム41に渡して、汎用印刷プログラム41からプリンタ2に送信させる代わりに、補助プログラム42が、印刷の実行を指示する印刷コマンドと印刷データとをプリンタ2に送信しても良い。補助プログラム42は、例えば、プリンタ2にて実行可能な画像処理に関する設定が印刷設定として含まれる場合、その処理の情報も含む印刷コマンドを生成しても良い。この場合、補助プログラム42は、印刷データの送信完了後に、終了の情報を汎用印刷プログラム41に通知すると良い。
【0070】
以上、詳細に説明したように、本形態の補助プログラム42は、ユーザIF13に表示させた詳細設定画面60にて任意の倍率の設定を受け付け、その倍率によって拡大または縮小された画像を取得する。さらに、補助プログラム42は、その倍率によって拡大または縮小された画像をプリンタ2に印刷させる。これにより、プリンタドライバを利用しないPC1にて、OS21が有する汎用印刷プログラム41に対して印刷指示があった場合でも、印刷対象の画像をユーザ任意のサイズに拡大または縮小した画像を、プリンタ2に印刷させることができる。
【0071】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0072】
また、例えば、ユーザIF13に表示される画面の例は、いずれも一例であって、図示の例に限らない。また、図示の各画面中に表示される文言やオブジェクトの形状、背景等は、どのようなものでも良い。また、例えば、図3では1つの情報表示欄52を含む印刷設定画面D2を示したが、情報表示欄52の配置や形状、大きさ、個数等は、この図の例に限らない。また、情報表示欄52は、無くても良い。
【0073】
また、例えば、詳細設定画面60(図4参照)のチェックボックス63は、無くても良い。補助プログラム42は、例えば、ラジオボタン61にて自由サイズが選択された場合には、スケーリングの設定をデフォルトとして設定するとしても良い。あるいは、補助プログラム42は、自由サイズが選択された場合でも、スケーリングの設定をデフォルトとして設定しないとしても良い。
【0074】
また、例えば、印刷実行手順(図5参照)のB15における加工処理は、行わなくても良い。例えば、プリンタ2が、用紙サイズと異なるサイズの印刷データを受信した場合でも、出力エラーとなることなく印刷可能なモデルであれば、補助プログラム42は、加工処理を行わないとしても良い。
【0075】
また、補助プログラム42がプリンタ2の能力情報を取得するタイミングは、図2に示した例に限らない。補助プログラム42は、例えば、印刷設定画面D2(図3参照)の表示前に汎用印刷プログラム41から起動された場合には、プリンタ2の能力情報の取得を要求しても良い。また、補助プログラム42は、印刷実行の指示を受け付けた後に、プリンタ2の能力情報を、再度、取得しても良い。
【0076】
また、汎用印刷プログラム41によって印刷設定画面D2が表示された後に、ユーザの操作によって、OS21を介して、通常使うプリンタが他のプリンタからプリンタ2に変更された場合にも、汎用印刷プログラム41は、補助プログラム42を起動しても良い。その場合も、補助プログラム42は、例えば、情報表示欄52にスケーリングに関する設定を受け付け可能な情報画面を表示させても良い。
【0077】
また、補助プログラム42は、印刷が選択された場合に限らず、例えば、デバイスの設定としてプリンタ2が選択された場合にも起動されても良い。その場合でも、補助プログラム42は、スケーリングに関する設定を受け付け可能な設定画面を表示しても良い。デバイスの設定としてスケーリングの設定を受け付けた場合、補助プログラム42は、受け付けた設定の情報を、デフォルトの印刷設定として記憶する。
【0078】
また、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
【0079】
また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0080】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0081】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0082】
1 PC
2 プリンタ
11 CPU
13 ユーザIF
図1
図2
図3
図4
図5
図6