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

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

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

<>
  • 特開-サポートプログラム 図1
  • 特開-サポートプログラム 図2
  • 特開-サポートプログラム 図3
  • 特開-サポートプログラム 図4
  • 特開-サポートプログラム 図5
  • 特開-サポートプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167503
(43)【公開日】2024-12-04
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20241127BHJP
【FI】
G06F3/12 345
G06F3/12 328
G06F3/12 332
G06F3/12 312
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023083614
(22)【出願日】2023-05-22
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】江口 愛莉
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】成田 建樹
(72)【発明者】
【氏名】市川 裕詞
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、1ページ目の印刷開始の遅延を抑制する技術を提供すること。
【解決手段】補助プログラム42は、PC1に組み込まれている編集アプリ43から出力された印刷指示であって、OS21が有する汎用印刷プログラム41に対して画像の印刷をプリンタ2に行わせる印刷指示があった場合に、印刷指示による印刷対象の画像を示す中間データを汎用印刷プログラム41から取得し、取得した中間データに基づいて、リニアライズドPDFデータを生成し、生成されたリニアライズドPDFデータをプリンタ2に送信するための処理を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、
前記印刷指示による印刷対象の前記画像を示す画像データを前記汎用印刷プログラムから取得する取得処理と、
前記取得処理にて取得された前記画像データに基づいて、リニアライズドPDFの印刷データを生成する第1生成処理と、
前記第1生成処理にて生成された前記印刷データを前記プリンタに送信するための処理を行う第1送信処理と、
を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記プリンタがリニアライズドPDFに対応しているか否かを判定する判定処理を実行させ、
前記コンピュータにさらに、
前記印刷指示があった場合に、
前記判定処理にて前記プリンタがリニアライズドPDFに対応していると判定された場合、前記取得処理、前記第1生成処理、および前記第1送信処理を実行させ、
前記判定処理にて前記プリンタがリニアライズドPDFに対応していないと判定された場合、前記取得処理を実行させた後、前記第1生成処理および前記第1送信処理を実行させず、前記取得処理にて取得された前記画像データに基づいて、前記プリンタが対応可能なファイル形式の印刷データを生成する第2生成処理と、前記第2生成処理にて生成された前記印刷データを前記プリンタに送信するための処理を行う第2送信処理と、を実行させる、
ように構成されるサポートプログラム。
【請求項3】
請求項2に記載するサポートプログラムであって、
前記コンピュータに、
前記プリンタが保持する能力情報を取得する能力取得処理を実行させ、前記能力情報には、リニアライズドPDFに対応可能か否かを示す対応情報が含まれており、
前記判定処理では、
前記能力取得処理にて取得された前記能力情報に含まれる前記対応情報に基づいて、前記プリンタがリニアライズドPDFに対応しているか否かを判定する、
ように構成されるサポートプログラム。
【請求項4】
請求項3に記載するサポートプログラムであって、
前記コンピュータに、
前記印刷指示があった場合に、前記判定処理を実行させる前に、前記能力取得処理を実行させる、
ように構成されるサポートプログラム。
【請求項5】
請求項3に記載するサポートプログラムであって、
前記コンピュータに、
前記印刷指示がされる前に、前記能力取得処理を実行させる、
ように構成されるサポートプログラム。
【請求項6】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記印刷指示があった場合に、
前記取得処理にて取得された前記画像データのページ順を、前記印刷指示に関連付けられた印刷設定と、前記印刷設定に従って印刷を行った場合の前記プリンタにおけるシートの搬送態様と、の組み合わせに従って並び替える並替え処理を実行させ、
前記第1生成処理では、
前記並替え処理にてページ順が並び替えられた前記画像データに基づいて、リニアライズドPDFの前記印刷データを生成する、
ように構成されるサポートプログラム。
【請求項7】
請求項6に記載するサポートプログラムであって、
前記並替え処理では、
前記印刷指示に関連付けられた前記印刷設定に両面印刷が設定されている場合に、両面印刷を行った場合の前記プリンタにおけるシートの搬送態様に従って、前記取得処理にて取得された前記画像データのページ順を並び替える、
ように構成されるサポートプログラム。
【請求項8】
請求項6に記載するサポートプログラムであって、
前記並替え処理では、
前記プリンタにおけるシートの搬送態様が印字面を上向きに排紙させる搬送態様であった場合に、前記印刷指示に関連付けられた前記印刷設定に従って、前記取得処理にて取得された前記画像データのページ順を並び替える、
ように構成されるサポートプログラム。
【請求項9】
請求項1に記載するサポートプログラムであって、
前記第1送信処理では、
前記第1生成処理にて生成された前記印刷データを、1ページ分のデータが生成される度に前記プリンタに送信するための前記処理を行う、
ように構成されるサポートプログラム。
【請求項10】
請求項1に記載するサポートプログラムであって、
前記第1送信処理では、
前記第1生成処理にて最初の所定ページのデータが生成されたことに応じて前記最初の所定ページの前記データを前記プリンタに送信するための前記処理を行い、その後、残りのページのデータを前記プリンタに送信するための前記処理を行う、
ように構成されるサポートプログラム。
【請求項11】
請求項1から請求項10のいずれか1つに記載するサポートプログラムであって、
前記取得処理では、
前記画像データとして、印刷対象の前記画像を示す中間データを取得し、
前記第1生成処理では、
前記取得処理にて取得された前記中間データから、リニアライズドPDFの前記印刷データを生成する、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
従来、文書ファイルのファイル形式として、PDF(Portable Document Format)が知られている。PDFファイルを印刷する場合、プリンタは全ページのデータの受信を待ってから印刷を開始することになる。また、WEB表示用に最適化されたPDFとして、リニアライズドPDFも知られている。リニアライズドPDFを印刷する場合、プリンタはプリンタが全ページのデータの受信を待つことなく、1ページ目の印刷を開始できる。
【0003】
リニアライズドPDFファイルをプリンタで印刷する技術を開示した文献としては、例えば特許文献1がある。具体的に特許文献1には、情報処理装置にインストールされたプリンタドライバによって、リニアライズされていないPDFファイルをリニアライズドPDFファイルに変換する構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-075826号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年、プリンタベンダから提供されるプリンタドライバを利用せず、オペレーティングシステム(OS)の一部を構成するOS標準の汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタベンダから提供されるプリンタドライバを用いずに、OS標準の汎用印刷プログラムが印刷データを生成することで、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0006】
しかしながら、前記したOS標準の汎用印刷プログラムでは、これまでプリンタベンダから提供されるプリンタドライバが有していた機能の一部が設けられていない。具体的には、特許文献1に開示されているような、リニアライズドPDFファイルを利用する機能は設けられていない。そのため、プリンタにおいて1ページ目の印刷開始が遅延する場合がある。
【課題を解決するための手段】
【0007】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記印刷指示による印刷対象の前記画像を示す画像データを前記汎用印刷プログラムから取得する取得処理と、前記取得処理にて取得された前記画像データに基づいて、リニアライズドPDFの印刷データを生成する第1生成処理と、前記第1生成処理にて生成された前記印刷データを前記プリンタに送信するための処理を行う第1送信処理と、を実行させる、ように構成されている。
【0008】
本明細書に開示されるサポートプログラムは、汎用印刷プログラムから取得した画像データに基づいて、リニアライズドPDFの印刷データを生成し、その印刷データをプリンタに送信するための処理を行う。これにより、そのリニアライズドPDFの印刷データを受信したプリンタは、全ページのデータの受信を待つことなく、1ページ目の印刷を開始できる。従って、1ページ目の印刷開始の遅延が抑制される。
【0009】
上記サポートプログラムが組み込まれた情報処理装置、サポートプログラムを格納するコンピュータにて読取可能な記憶媒体、及びサポートプログラムの機能を実現するための制御方法、サポートプログラムとプリンタとを含む印刷システムも、新規で有用である。
【発明の効果】
【0010】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、1ページ目の印刷開始の遅延を抑制する技術が実現される。
【図面の簡単な説明】
【0011】
図1】PCの電気的構成の概略を示すブロック図である。
図2】印刷実行手順の例を示すシーケンス図である。
図3】判定送信手順の例を示すシーケンス図である。
図4】印刷設定手順の例を示すシーケンス図である。
図5】判定送信手順の例を示すシーケンス図である。
図6】判定送信手順の例を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、実施の形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、PCにて実行されるサポートプログラムを開示する。
【0013】
本実施の形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0014】
PC1のCPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM、USBメモリ等の記録媒体であっても良い。
【0015】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアであるディスプレイ13aと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイ13aと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、ディスプレイ13aの機能と入力受付機能とを備えるタッチパネルであっても良い。
【0016】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0017】
PC1のメモリ12には、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、を含む、各種のプログラムや各種のデータが記憶されている。補助プログラム42は、サポートプログラムの一例である。編集アプリ43は、アプリケーションプログラムの一例である。
【0018】
OS21は複数のタスクを管理して切り換えることにより複数のタスクを並行して処理できるマルチタスクOSである。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0019】
OS21には、汎用印刷プログラム41が含まれている。汎用印刷プログラム41は、OS21のベンダによって用意され、OS21の一部として提供されるOS標準のプログラムである。つまり、PC1には、汎用印刷プログラム41を有するOS21が搭載されている。汎用印刷プログラム41は、各プリンタに固有のプリンタドライバを利用するようには構成されていない。
【0020】
汎用印刷プログラム41は、ユーザの指示に基づいて、複数のベンダによってそれぞれ提供される複数種類のモデルのプリンタに印刷を実行させるための機能を有するプログラムである。汎用印刷プログラム41は、多くのプリンタにて印刷を実行可能な汎用的な機能をサポートしている。汎用印刷プログラム41は、各プリンタに固有のプリンタドライバとは異なり、各プリンタやプリンタドライバが固有に備える機能、特に複雑な処理を要する機能をサポートしていない。
【0021】
汎用印刷プログラム41は、ユーザの指示に基づいて、各種のアプリから出力された印刷指示にて印刷対象として指定された画像データを受け取り、その画像データに基づく中間データを生成する機能を含むプログラムである。中間データは、例えば、XPSデータである。汎用印刷プログラム41は、さらに、中間データに基づいて、各種のプリンタにて印刷に利用できる形式の印刷データを生成する機能を有している。印刷データは、例えば、PWGRasterデータ、または、PDFデータである。また、汎用印刷プログラム41は、生成した印刷データを、OS21による通信機能を介して、印刷を実行させるデバイスとして指定されたプリンタに送信する機能を有している。
【0022】
補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするプログラムである。本実施の形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、プリンタ2のベンダによって提供される。汎用印刷プログラム41は、印刷を実行させるデバイスとしてプリンタ2が選択された場合、プリンタ2が選択されている状態で詳細な印刷設定の指示を受け付けた場合、プリンタ2に印刷を実行させる指示を受け付けた場合、等に、プリンタ2に対応する補助プログラム42を起動する。補助プログラム42は、例えば、印刷サポートアプリ(略称、PSA)、またはハードウェアサポートアプリ(略称、HSA)と呼ばれるものである。
【0023】
なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。また、補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0024】
PC1のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプやモデルに応じて、適切な補助プログラムをプリンタのベンダのサーバ等からダウンロードしてPC1に組み込むことができる。OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。
【0025】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのプログラムである。編集アプリ43は、例えば、マイクロソフト(登録商標)製のワード(登録商標)やパワーポイント(登録商標)などであっても良いし、プリンタ2のベンダから提供されるプログラムであっても良い。編集アプリ43は、ユーザIF13を介して、例えば、プリンタ2に印刷を実行させる印刷実行指示を受け付け可能である。なお、編集アプリ43は、データの作成や編集を行うためのプログラムに限らず、ユーザの要求に応じて、地図情報やウェブページ等の各種の情報の表示指示や印刷指示を受け付ける機能を有するプログラムであっても良い。
【0026】
本実施の形態のPC1は、通信IF14を介して、図1に示すように、プリンタ2に接続されている。プリンタ2は、少なくとも印刷機能と通信機能とを有する装置である。プリンタ2は、例えば、PC1等から印刷データを受信した場合、受信した印刷データに基づく印刷を実行可能である。プリンタ2は、カラー印刷可能な装置であっても良いし、単色印刷のみを実行可能な装置であっても良い。
【0027】
続いて、本実施の形態のPC1において、プリンタ2に印刷を行わせるための処理の手順について説明する。なお、本実施の形態における各処理は、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェアの制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0028】
印刷実行手順について、図2のシーケンス図を参照して説明する。編集アプリ43は、ユーザの指示に基づいて、文章や画像の作成や編集を受け付ける。そして、例えば、表示中の文章や画像を印刷させたい場合、ユーザは、編集アプリ43にて印刷を選択する。ユーザは、例えば、編集アプリ43によって表示される操作項目のメニューから、印刷を選択できる。以下では、印刷を実行するデバイスとして、プリンタ2が選択されているものとする。
【0029】
ユーザは、印刷対象の画像を選択して、編集アプリ43にて印刷実行の指示を入力する(A01)。編集アプリ43は、汎用印刷プログラム41に対して、選択中の画像の印刷をプリンタ2に行わせる指示を、受け付けたと判断する。なお、ユーザは、印刷実行の指示を入力する前に、印刷設定の指示を行っても良い。印刷設定の受け付けについては、後述する。
【0030】
編集アプリ43は、受け付けた印刷実行の指示に基づいて、印刷指示を汎用印刷プログラム41に渡す(A02)。汎用印刷プログラム41は、印刷指示の情報として、印刷対象の画像を示す画像データと印刷設定を示す情報と、を編集アプリ43から取得する。
【0031】
汎用印刷プログラム41は、編集アプリ43から取得した情報に基づいて、印刷対象の画像の画像データの形式を中間データの形式に変換することで、中間データを生成する(A03)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間データに変換する。なお、印刷対象の画像データが印刷データの生成に適したデータであれば、中間データの生成を省略し、そのまま中間データとしても良い。
【0032】
汎用印刷プログラム41は、中間データを生成した後、選択されているデバイスであるプリンタ2に対応する補助プログラム42を起動して、実行指示を渡す(A05)。なお、汎用印刷プログラム41は、中間データの生成前に、プリンタ2に対応する補助プログラム42を起動して、印刷ジョブの処理を開始したことを通知しても良い。補助プログラム42は、中間データの生成前に汎用印刷プログラム41から起動された場合、中間データを生成する際に利用される各種の情報を、汎用印刷プログラム41に渡すことができても良い。
【0033】
補助プログラム42は、A05の実行指示によって起動されると、プリンタ2が保持する能力情報を取得する。具体的には、補助プログラム42は、プリンタ2の能力情報の取得を汎用印刷プログラム41に要求する(A11)。汎用印刷プログラム41は、能力情報を要求するコマンドをプリンタ2に送信し、プリンタ2から能力情報を含む情報を取得する(A12)。汎用印刷プログラム41は、取得した能力情報を補助プログラム42に渡す(A13)。これにより、補助プログラム42は、プリンタ2の能力情報を取得できる。A11~A13は、能力取得処理の一例である。
【0034】
なお、汎用印刷プログラム41は、A12において、OS21を介して、例えば、IPP(internet printing protocolの略)に応じた通信によって、プリンタ2との通信を行う。なお、補助プログラム42は、汎用印刷プログラム41に要求する代わりに、例えば、MIB(Management Information Baseの略)を使って、プリンタ2から直接、能力情報を取得しても良い。
【0035】
プリンタ2から取得される能力情報には、印刷設定として設定可能なパラメータの情報が含まれる。能力情報には、さらに、例えば、消耗品の残量情報、選択可能なトレイの情報、各トレイに設定されている用紙の用紙情報、対応可能な印刷解像度の情報、が含まれていても良い。また、プリンタ2は、受け付けた印刷ジョブに基づいて画像処理を行って、画像処理後のデータに基づいて印刷する機能、例えば、Nin1等の集約印刷、ウォータマーク等の合成印刷、着色材を節約する節約印刷、を行う機能を有していても良い。プリンタ2にて実行可能な画像処理の機能を有している場合、プリンタ2は、その機能の情報を含む能力情報を渡しても良い。また、プリンタ2は、自身のステータスを示す情報を含む能力情報を渡しても良い。
【0036】
本実施の形態における能力情報には、プリンタ2にて対応可能なファイルタイプの情報、例えば、プリンタ2がリニアライズドPDFファイルに基づく印刷を実行する機能を有しているか否かを示す情報が含まれる。プリンタ2がリニアライズドPDFファイルに基づく印刷を実行する機能を有しているか否かを示す情報は、対応情報の一例である。
【0037】
リニアライズドPDFファイルは、Web表示用に最適化されたPDFファイルとも呼ばれ、先頭ページの画像データのほか、先頭ページに配置されるオブジェクトやその配置を示す情報など、少なくとも先頭ページの印刷に必要な情報が、他のページの情報とは別に、ファイルの先頭部分に集めて記述されているPDFファイルである。なお、各ページの情報が、それぞれページ順に並べられているリニアライズドPDFファイルが有っても良い。
【0038】
一方、リニアライズドPDFファイルではないPDFファイル、すなわち、リニアライズされていないPDFファイルでは、各種の情報が、ページ順とは関係なくファイル内の任意の位置に記載され得る。以下では、リニアライズドPDFではないPDFを、単に「PDF」と記載する。
【0039】
補助プログラム42は、汎用印刷プログラム41に要求することで、汎用印刷プログラム41によって生成された中間データ、および印刷設定の情報を取得できる(A15)。A15は、取得処理の一例である。A15にて取得される中間データは、印刷対象の画像を示す画像データの一例である。また、A15にて取得される印刷設定の情報は、A02にて編集アプリ43から渡された印刷指示に関連付けられた印刷設定の情報である。
【0040】
補助プログラム42は、A13にて取得した能力情報と、A15にて取得した中間データおよび印刷設定の情報と、に基づいて、判定送信手順を実行する(A21)。第1の実施の形態における判定送信手順について、図3のシーケンス図を参照して説明する。
【0041】
判定送信手順では、補助プログラム42は、図2のA13にて取得した能力情報に基づいて、プリンタ2がリニアライズドPDFファイルに対応しているか否かを判定する(B01)。B01は、判定処理の一例である。なお、リニアライズドPDFファイルに対応しているとは、プリンタ2が、印刷データとしてリニアライズドPDFファイルを受信した場合、その印刷データに基づく印刷を実行可能であることを意味する。
【0042】
プリンタ2がリニアライズドPDFに対応しているか否かの情報は、プリンタ2の能力情報に限らず、例えば、プリンタ2のモデルに基づいて、補助プログラム42が取得できても良い。補助プログラム42は、プリンタ2のモデルを示す情報を、プリンタ2から取得しても良いし、OS21から取得しても良い。そして、補助プログラム42は、取得したプリンタ2のモデルを示す情報に基づいて、例えば、補助プログラム42に含まれる対応テーブルを用いて、プリンタ2がリニアライズドPDFファイルに対応しているか否かの情報を取得する。なお、当該対応テーブルは、補助プログラム42に含まれている代わりに、例えば、プリンタ2のベンダが有するサーバに記憶されていても良い。この場合、補助プログラム42は、当該サーバから対応テーブルを取得しても良いし、プリンタ2のモデルを示す情報に対応する情報のみを取得しても良い。
【0043】
ここで、例えば、プリンタ2のファームウェアの更新等によって、プリンタ2の能力が変化する可能性もある。印刷指示を受け付けた場合に、プリンタ2の能力情報をプリンタ2から取得し、取得した情報に基づいてB01の判定を行うとすれば、補助プログラム42は、プリンタ2の最新の状況にあったファイル形式の印刷データを送信できる。
【0044】
プリンタ2がリニアライズドPDFファイルに対応していると判定した場合(alt:[対応])、補助プログラム42は、図2のA15にて取得された印刷設定の情報と、プリンタ2におけるシートの搬送態様を示す情報と、に基づいて、必要であれば、中間データのページ順を並び替える(B11)。
【0045】
印刷設定の情報には、例えば、逆順印刷、両面印刷、Nin1印刷、小冊子印刷、を行うか否かを示す情報が含まれる。また、プリンタ2におけるシートの搬送態様を示す情報には、例えば、印字面を下向きに排紙させるフェイスダウンであるか、印字面を上向きに排紙させるフェイスアップであるかを示す情報、両面印刷の場合にいずれの面を先に印刷するかを示す情報、が含まれる。汎用印刷プログラム41によって作成される中間データは、1ページ目からページ順に並べられていることが多い。補助プログラム42は、プリンタ2における印刷の実行順となるように、中間データの各ページを並べる。B11は、並替え処理の一例である。
【0046】
なお、プリンタ2におけるシートの搬送態様を示す情報は、プリンタ2の能力情報に含まれていても良い。あるいは、例えば、プリンタ2のモデル情報等に基づいて、補助プログラム42が、シートの搬送態様を示す情報を取得しても良い。
【0047】
例えば、逆順印刷が設定されている場合、補助プログラム42は、中間データ全体のページ順を逆順にする。これにより、最終ページの中間データが先頭に配置される。この後の手順で、この並び順で印刷データを生成してプリンタ2に送信するとすれば、最終ページの印刷データが最初にプリンタ2に送信される。
【0048】
また、例えば、両面印刷やNin1印刷等の1枚のシートに複数ページを印刷する設定が含まれている場合、補助プログラム42は、印刷ジョブに含まれる全ページ数と1枚のシートに印刷するページ数とに基づいて、各シートに印刷するページを決定する。そして、補助プログラム42は、シートの排紙順と各シートへの印刷順とに基づいて、中間データを並び替える。
【0049】
例えば、フェイスダウンであって両面印刷が設定されている場合、補助プログラム42は、1枚目の裏面に印刷されるべきページである2ページ目の中間データを先頭に配置する。例えば、5ページ分の画像であれば、補助プログラム42は、空白ページの中間データを生成し、2ページ目、1ページ目、4ページ目、3ページ目、空白ページ、5ページ目の順に中間データを並べる。この後の手順で、この並び順で生成した印刷データに基づいて印刷を実行した場合、プリンタ2は、2ページ目の画像を印刷したシートの裏面に1ページ目の画像を印刷し、1ページ目を下向きに排紙する。
【0050】
また、補助プログラム42は、プリンタ2が有する機能を利用しても良い。その場合、補助プログラム42は、B11では、プリンタ2の機能に適したページ順に中間データを並べる。例えば、プリンタ2がNin1印刷のための集約機能を有している場合、補助プログラム42は、プリンタ2の集約機能に渡すページ順となるように、中間データを並べる。
【0051】
補助プログラム42は、並び替えた中間データを汎用印刷プログラム41に渡して、汎用印刷プログラム41にラスタライズを要求する(B12)。汎用印刷プログラム41は、中間データをラスタライズし、ビットマップデータであるラスタデータを生成する(B13)。さらに、汎用印刷プログラム41は、生成したラスタデータを補助プログラム42に渡す(B14)。これにより、OS21から、印刷対象の画像を示すラスタ形式の画像データであるラスタデータが、補助プログラム42に入力される。
【0052】
補助プログラム42は、ラスタデータをリニアライズドPDFデータにエンコードして、印刷データを生成する(B15)。B15は、第1生成処理の一例である。なお、補助プログラム42は、エンコードの前に、必要に応じて、ラスタデータの加工を行っても良い。
【0053】
一方、B01にて、プリンタ2がリニアライズドPDFファイルに対応していないと判定した場合(alt:[非対応])、補助プログラム42は、プリンタ2の機能に適したページ順に中間データを並べ替える(B21)。さらに、補助プログラム42は、並び替えた中間データを汎用印刷プログラム41に渡して、汎用印刷プログラム41にラスタライズを要求する(B22)。汎用印刷プログラム41は、中間データをラスタライズし(B23)、生成したラスタデータを補助プログラム42に渡す(B24)。
【0054】
補助プログラム42は、ラスタデータをプリンタ2が対応可能なファイル形式のデータにエンコードして、印刷データを生成する(B25)。B25は、第2生成処理の一例である。例えば、プリンタ2がPDFファイルに対応可能であれば、補助プログラム42は、PDFにエンコードしても良い。補助プログラム42は、プリンタ2にて対応可能なPDLにエンコードしても良い。
【0055】
なお、汎用印刷プログラム41に代えて補助プログラム42がラスタライズを行っても良い。つまり、B12~B14、または、B22~B24に代えて、補助プログラム42がラスタデータを生成しても良い。補助プログラム42にてラスタライズすれば、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適したラスタデータが生成される可能性が高い。一方、汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、補助プログラム42のプログラムサイズを小さくできる。
【0056】
また、補助プログラム42は、B25に代えて、ラスタデータを汎用印刷プログラム41に渡し、PDFへのエンコードを汎用印刷プログラム41に要求しても良い。また、汎用印刷プログラム41にリニアライズドPDFデータを生成する機能があれば、B15に代えて、汎用印刷プログラム41にエンコードを行わせても良い。
【0057】
そして、補助プログラム42は、B15またはB25にて生成した印刷データを汎用印刷プログラム41に渡し、プリンタ2への送信を指示する(B31)。B15にて生成したリニアライズドPDFデータを印刷データとして汎用印刷プログラム41に渡す場合のB31は、第1送信処理の一例である。また、B25にて生成した印刷データを汎用印刷プログラム41に渡す場合のB31は、第2送信処理の一例である。
【0058】
汎用印刷プログラム41は、補助プログラム42の指示に応じて、印刷データをプリンタ2に送信し、印刷を指示する(B32)。プリンタ2は、受信した印刷データに基づいて、印刷を実行する(B33)。これにより、編集アプリ43から出力された印刷指示に基づく印刷物が生成される。B32とB33の後、図3の判定送信手順を終了して、図2の印刷実行手順に戻る。
【0059】
プリンタ2がリニアライズドPDFに対応していれば、リニアライズドPDFデータを送信することで、プリンタ2は、1ページ分のデータを受信したら印刷のための処理を開始できる。ただし、印刷設定と搬送態様との組み合わせによっては、ページ順と印刷順とが異なる場合がある。本実施の形態では、補助プログラム42が中間データを予め出力順に並び替え、そのページ順のリニアライズドPDFデータを生成するので、プリンタ2が受信した順に印刷すれば、ユーザの希望に沿った出力順となる。従って、プリンタ2での並び替えや、並び替えのためのデータの待機が必要なく、プリンタ2は、印刷データの受信を開始した後、早期に1ページ目の印刷を開始できる。
【0060】
一方、プリンタ2がリニアライズドPDFに対応していなければ、リニアライズドPDFデータを送信しても、プリンタ2は、印刷できない。補助プログラム42は、プリンタ2がリニアライズドPDFに対応していれば、リニアライズドPDFデータを送信する。その一方、プリンタがリニアライズドPDFに対応していなければ、プリンタ2で対応可能なファイル形式の印刷データを生成して送信するので、プリンタ2でエラーとなる可能性を低減できる。
【0061】
なお、B31では、印刷データを汎用印刷プログラム41に渡して、汎用印刷プログラム41からプリンタ2に送信させるとしたが、その代わりに、補助プログラム42が、印刷の実行を指示する印刷コマンドと印刷データとをプリンタ2に送信しても良い。補助プログラム42は、例えば、プリンタ2にて実行可能な画像処理に関する設定が印刷設定として含まれる場合、その処理の情報も含む印刷コマンドを生成しても良い。この場合、補助プログラム42は、印刷データの送信完了後に、終了の情報を汎用印刷プログラム41に通知すると良い。
【0062】
図2の印刷実行手順の説明に戻る。判定送信手順(A21)の終了後、汎用印刷プログラム41は、印刷ジョブの処理が終了したことを、編集アプリ43に通知する(A22)。これにより、編集アプリ43は、A02にて汎用印刷プログラム41に渡した印刷指示の処理を終了する。
【0063】
次に、編集アプリ43にて印刷設定の指示を受け付けたことに応じて、補助プログラム42が起動される場合の印刷設定手順について、図4のシーケンス図を参照して説明する。この手順は、図2に示した印刷実行手順よりも先に実行される。
【0064】
編集アプリ43は、ユーザによる印刷の選択を受け付ける(C01)と、OS21の汎用印刷プログラム41に印刷に関する指示を受け付ける画面の表示を要求する(C02)。汎用印刷プログラム41は、要求に応じて、印刷画面をユーザIF13に表示させる(C03)。印刷画面は、汎用印刷プログラム41にて受け付け可能な各種の印刷設定について、ユーザの指示を受け付ける画面である。印刷画面では、汎用印刷プログラム41は、例えば、選択されたデバイスに対応する詳細な印刷設定を行う指示を受け付け可能である。なお、印刷画面の表示は、編集アプリ43が行っても良い。
【0065】
例えば、印刷を実行させるデバイスとしてプリンタ2が選択された状態で、詳細な印刷設定の指示を受け付けた場合(C11)、汎用印刷プログラム41は、プリンタ2に対応する補助プログラム42を起動し、詳細な印刷設定の受け付けを開始する指示を渡す(C12)。
【0066】
補助プログラム42は、C12の指示によって起動されると、プリンタ2の能力情報を取得する。具体的には、補助プログラム42は、能力情報の取得を汎用印刷プログラム41に要求する(C13)。汎用印刷プログラム41は、能力情報を要求するコマンドをプリンタ2に送信し、プリンタ2から能力情報を取得する(C14)。汎用印刷プログラム41は、取得した能力情報を補助プログラム42に渡す(C15)。これにより、補助プログラム42は、プリンタ2の能力情報を取得できる。C13~C15は、例えば、A11~A13と同様の処理である。
【0067】
補助プログラム42は、取得した能力情報に基づいて、詳細な印刷設定を受け付ける詳細設定画面をユーザIF13に表示させる(C17)。補助プログラム42によって表示される詳細設定画面には、プリンタ2にて実行可能な範囲のパラメータが選択肢として含まれる。補助プログラム42は、表示中の詳細設定画面へのユーザの操作を受け付け可能である。ユーザは、表示中の詳細設定画面への操作によって、印刷設定の指示を行う。
【0068】
全ての印刷設定を行ったら、ユーザは、印刷設定を終了する指示を行う(C22)。これにより、補助プログラム42は、詳細設定画面の表示を終了し、受け付けた印刷設定の情報を記憶する(C23)。補助プログラム42は、前述した判定送信手順(図3参照)のB11、B21等において、C23にて記憶された印刷設定の情報を用いる。
【0069】
そして、補助プログラム42は、詳細な印刷設定の受け付け終了を汎用印刷プログラム41に通知する(C25)。汎用印刷プログラム41は、補助プログラム42の通知に基づいて、印刷設定の終了を編集アプリ43に通知する(C26)。補助プログラム42は、印刷設定の受け付け終了を編集アプリ43に通知しても良い。編集アプリ43は、印刷実行の指示を受け付け可能となる。
【0070】
この後に印刷実行の指示を受け付けた場合、C13~C15にて能力情報を取得済みであることから、図2のシーケンス図のA11~A13は、無くても良い。C15にて取得したプリンタ2の能力情報には、プリンタ2がリニアライズドPDFファイルに対応しているか否かの情報が含まれる。補助プログラム42は、C15にて取得したプリンタ2の能力情報を、前述した判定送信手順(図3参照)のB01の判定、B11やB21の並び替え等に用いることができる。
【0071】
従って、能力情報の取得は、リニアライズドPDFに対応しているか否かの判定(図3のB01)より前であればよく、印刷実行指示を受け付けた後でも前でも良い。印刷実行指示を受け付けた後に取得すれば、補助プログラム42は、最新の能力情報を印刷に利用できる。一方、印刷実行指示を受け付ける前に取得すれば、補助プログラム42は、指示受け付け後の能力情報の取得を省略できることから、印刷実行の指示を受け付けてから1ページ目の印刷開始までの時間をより短くできる。
【0072】
なお、編集アプリ43または汎用印刷プログラム41によって表示される印刷画面には、補助プログラム42によって用意される画像を表示可能な情報表示欄が含まれても良い。そして、汎用印刷プログラム41は、その情報表示欄への表示を行う前に、補助プログラム42を起動しても良い。その場合にも、補助プログラム42は、プリンタ2の能力情報の取得を汎用印刷プログラム41に要求しても良い。
【0073】
以上、詳細に説明したように、第1の実施の形態の補助プログラム42は、汎用印刷プログラム41から取得した中間データに基づいて、印刷データとしてリニアライズドPDFデータを生成し、その印刷データがプリンタ2に送信されるようにすることができる。リニアライズドPDFデータを受信したプリンタ2は、全ページのデータの受信を待つことなく1ページ目の印刷を開始できる。従って、1ページ目の印刷開始の遅延が、抑制されている。
【0074】
続いて、第2の実施の形態に係るPC1について、添付図面を参照しつつ詳細に説明する。第2の実施の形態のPC1の補助プログラム42は、1ページ分のリニアライズドPDFデータを生成する度にプリンタ2に送信する点で、全ページ分のリニアライズドPDFデータを纏めて送信する第1の実施の形態とは異なる。第1の実施の形態と同様の構成や処理については、同じ符号を付して、簡略な説明とする。
【0075】
第2の実施の形態のPC1にて実行される判定送信手順について、図5のシーケンス図を参照して説明する。なお、判定送信手順以外の手順は、第1の実施の形態と同様であるので、説明を省略する。
【0076】
第2の実施の形態の判定送信手順では、補助プログラム42は、プリンタ2がリニアライズドPDFファイルに対応しているか否かを判定する(B01)。プリンタ2がリニアライズドPDFファイルに対応していると判定した場合(alt:[対応])、補助プログラム42は、中間データのページ順を並び替える(B11)。さらに、補助プログラム42は、汎用印刷プログラム41にラスタライズを要求して(B12)、ラスタデータを取得する(B13、B14)。
【0077】
さらに、補助プログラム42は、1ページ分のラスタデータをリニアライズドPDFデータにエンコードして、1ページ分の印刷データを生成する(D01)。D01は、第1生成処理の一例である。そして、補助プログラム42は、生成した1ページ分の印刷データを、印刷の実行を指示する印刷コマンドとともにプリンタ2に送信する(D02)。D02は、第1送信処理の一例である。補助プログラム42は、例えば、MIBを使ってプリンタ2に直接、印刷データを送信する。1ページ分の印刷データを受信したことで、プリンタ2は、1ページ分の印刷の処理を開始する(D03)。
【0078】
補助プログラム42は、全ページ分のラスタデータをエンコードして送信するまで、D01とD02とを繰り返す(loop:[1、全ページ])。プリンタ2は、補助プログラム42から受信した順に印刷データの処理を行って、順に印刷を実行する。第2の実施の形態でも、補助プログラム42が中間データを予め出力順に並び替え、そのページ順のリニアライズドPDFデータを送信するので、プリンタ2が受信した順に印刷すれば、ユーザの希望に沿った出力順となる。
【0079】
第2の実施の形態では、補助プログラム42は、1ページ分のリニアライズドPDFデータを生成する度にプリンタ2に送信する。印刷データとしてリニアライズドPDFデータを送信することで、プリンタ2は、1ページ分のデータを受信したら印刷の処理を開始できる。これにより、全ページ分の印刷データの生成後にプリンタ2に送信する場合と比較して、より早期にプリンタ2における印刷の開始が期待できる。
【0080】
全ページ分のリニアライズドPDFデータをプリンタ2に送信したら、補助プログラム42は、汎用印刷プログラム41に処理の終了を通知する(D04)。これにより、汎用印刷プログラム41は、印刷ジョブの処理を終了し、処理の終了を、編集アプリ43に通知する(図2のA22)。
【0081】
一方、B01にて、プリンタ2がリニアライズドPDFファイルに対応していないと判定した場合(alt:[非対応])、補助プログラム42は、中間データを並び替える(B21)。さらに、補助プログラム42は、汎用印刷プログラム41にラスタライズを要求して(B22)、ラスタデータを取得する(B23、B24)。さらに、補助プログラム42は、PDF等のプリンタ2にて対応可能なファイル形式のデータにエンコードして、印刷データを生成する(B25)。
【0082】
そして、補助プログラム42は、生成した印刷データを汎用印刷プログラム41に渡す(B31)。汎用印刷プログラム41は、印刷データをプリンタ2に送信し(B32)、プリンタ2は、受信した印刷データに基づいて印刷を実行する(B33)。B21~B33は、第1の実施の形態と同様の処理である。
【0083】
以上、詳細に説明したように、第2の実施の形態の補助プログラム42であっても、1ページ目の印刷開始の遅延が、抑制されている。特に、第2の実施の形態の補助プログラム42は、1ページ分の印刷データが生成される度にプリンタ2に送信するので、プリンタ2は、受信したデータから順に印刷の処理を開始できる。従って、全ページ分の印刷データを生成した後に送信する第1の実施の形態よりも、プリンタ2における印刷の処理が、早期に開始される可能性が高い。一方、第1の実施の形態では、印刷ジョブの全ページ分の印刷データを生成することで、送信の手順は1回のみとなることから、第2の実施の形態よりも簡易な手順となっている。
【0084】
続いて、第3の実施の形態に係るPC1について、添付図面を参照しつつ詳細に説明する。第3の実施の形態のPC1の補助プログラム42は、1枚目のシートに印刷する分のリニアライズドPDFデータを生成したらプリンタ2に送信し、残りのページの印刷データは纏めて送信する点で、全ページ分の印刷データを纏めて送信する第1の実施の形態とも、ページごとに送信する第2の実施の形態とも異なる。第1の実施の形態と同様の構成や処理については、同じ符号を付して、簡略な説明とする。
【0085】
第3の実施の形態のPC1にて実行される判定送信手順について、図6のシーケンス図を参照して説明する。なお、判定送信手順以外の手順は、第1の実施の形態と同様であるので、説明を省略する。
【0086】
第3の実施の形態の判定送信手順では、補助プログラム42は、プリンタ2がリニアライズドPDFファイルに対応しているか否かを判定する(B01)。プリンタ2がリニアライズドPDFファイルに対応していると判定した場合(alt:[対応])、補助プログラム42は、中間データのページ順を並び替える(B11)。さらに、補助プログラム42は、汎用印刷プログラム41にラスタライズを要求して(B12)、ラスタデータを取得する(B13、B14)。
【0087】
さらに、補助プログラム42は、シート1枚分のラスタデータをリニアライズドPDFデータにエンコードして、印刷データを生成する(E01)。E01は、第1生成処理の一例である。補助プログラム42は、例えば、両面印刷であれば2ページ分、4in1であれば4ページ分の印刷データを生成する。シート1枚分の印刷データは、最初の所定ページのデータの一例である。
【0088】
そして、補助プログラム42は、生成したシート1枚分の印刷データを、印刷の実行を指示する印刷コマンドとともにプリンタ2に送信する(E02)。E02は、第1送信処理の一例である。補助プログラム42は、例えば、MIBを使ってプリンタ2に直接、印刷データを送信する。印刷データを受信したことで、プリンタ2は、1枚目のシートへの印刷の処理を開始する(E03)。
【0089】
さらに、補助プログラム42は、残りのページのラスタデータをリニアライズドPDFデータにエンコードして、印刷データを生成する(E04)。E04は、第1生成処理の一例である。
【0090】
一方、B01にて、プリンタ2がリニアライズドPDFファイルに対応していないと判定した場合(alt:[非対応])、補助プログラム42は、中間データを並び替える(B21)。さらに、補助プログラム42は、汎用印刷プログラム41にラスタライズを要求して(B22)、ラスタデータを取得する(B23、B24)。さらに、補助プログラム42は、PDF等のプリンタ2にて対応可能なファイル形式のデータにエンコードして、印刷データを生成する(B25)。
【0091】
そして、補助プログラム42は、E04またはB25にて生成した印刷データを汎用印刷プログラム41に渡す(B31)。汎用印刷プログラム41は、印刷データをプリンタ2に送信し(B32)、プリンタ2は、受信した印刷データに基づいて印刷を実行する(B33)。E04にて生成したリニアライズドPDFデータを印刷データとして汎用印刷プログラム41に渡す場合のB31は、第1送信処理の一例である。プリンタ2がリニアライズドPDFファイルに対応している場合にB32にて送信される印刷データは、2枚目以降のシートへの印刷に利用されるデータである。
【0092】
なお、補助プログラム42は、シート1枚分の印刷データを送信する代わりに、シート1面分の印刷データを生成して送信しても良いし、1ページ目の印刷データのみを生成して送信しても良い。このようにしても、シート1面分、あるいは、1ページ目の印刷データを受信したプリンタ2は、印刷の処理を開始できる。シート1面分の印刷データは、最初の所定ページのデータの一例である。また、1ページ目の印刷データも、最初の所定ページのデータの一例である。
【0093】
以上、詳細に説明したように、第3の実施の形態の補助プログラム42であっても、1ページ目の印刷開始の遅延が、抑制されている。特に、第3の実施の形態の補助プログラム42は、シート1枚分の印刷データを生成したら、まず、プリンタ2に送信するので、プリンタ2は、1枚目のシートへの印刷の処理を早期に開始できる。また、第3の実施の形態では、2枚目以降の印刷データをまとめて送信するので、ページごとに送信する第2の実施の形態に比較して、印刷データの送信回数が少ない可能性が高い。一方、第1の実施の形態や第2の実施の形態では、印刷ジョブの一部で異なる処理を行う必要はなく、第3の実施の形態よりもシンプルな手順となっている。
【0094】
なお、本明細書に開示される各実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0095】
また、各実施の形態では、補助プログラム42は、汎用印刷プログラム41から中間データを取得して、その中間データに基づいて、リニアライズドPDFデータまたはPDFデータを生成するとしたが、汎用印刷プログラム41から取得する画像データは、PDFデータであってもよいし、JPEG等の他のファイル形式のデータであってもよい。
【0096】
また、プリンタ2は、例えば、複数枚のシートを機内に搬送して、各シートへの印刷を連続して実行可能であっても良い。その場合、プリンタ2のシートの搬送態様を示す情報は、例えば、複数枚のシートへの印刷を示す印刷指示において、同時に搬送するシートの枚数を示す情報を含んでも良い。その場合でも、補助プログラム42は、プリンタ2での印刷の実行順に合わせて、ページ順を並べ替えると良い。
【0097】
また、汎用印刷プログラム41は、印刷画面の表示前、あるいは、印刷画面の表示後であって、ユーザの操作によって通常使うプリンタが他のプリンタからプリンタ2に変更された場合にも、補助プログラム42を起動しても良い。それらの場合も、補助プログラム42は、起動されたことに応じてプリンタ2の能力情報を取得しても良い。
【0098】
また、各実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、各実施の形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
【0099】
また、補助プログラム42の実行タイミングは、各実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0100】
また、各実施の形態に開示されている任意のシーケンス図において、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0101】
また、各実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0102】
1 PC
2 プリンタ
11 CPU
図1
図2
図3
図4
図5
図6