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

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

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

<>
  • 特開-サポートプログラム 図1
  • 特開-サポートプログラム 図2
  • 特開-サポートプログラム 図3
  • 特開-サポートプログラム 図4
  • 特開-サポートプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024117348
(43)【公開日】2024-08-29
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240822BHJP
【FI】
G06F3/12 345
G06F3/12 306
G06F3/12 328
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023023398
(22)【出願日】2023-02-17
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】成田 建樹
(72)【発明者】
【氏名】市川 裕詞
(72)【発明者】
【氏名】江口 愛莉
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置について、印刷データを圧縮する機能を用いて通信の負荷を軽減できる技術を提供すること。
【解決手段】補助プログラム42は、データの圧縮方式をサポートする汎用印刷プログラム41に対して画像の印刷をプリンタ2に行わせる印刷指示があった場合に、印刷対象の画像を示す中間画像データを汎用印刷プログラム41から取得し、プリンタ2に応じた条件を満たすか否かを判定する。補助プログラム42は、この条件を満たすと判定された場合に、取得された中間画像データに基づく印刷データを、汎用印刷プログラム41によって圧縮させ、圧縮された印刷データに基づく印刷をプリンタ2に行わせるための処理を実行させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、前記汎用印刷プログラムは、データの圧縮方式として第1の圧縮方式をサポートしており、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、
前記印刷指示による印刷対象の前記画像を示す中間データを前記汎用印刷プログラムから取得する取得処理と、
前記プリンタに応じた第1条件を満たすか否かを判定する第1判定処理と、
を実行させ、
さらに前記コンピュータに、
前記第1判定処理にて前記第1条件を満たすと判定された場合に、
前記取得処理にて取得された前記中間データに基づく印刷データを、前記汎用印刷プログラムによって前記第1の圧縮方式で圧縮させ、圧縮された前記印刷データに基づく印刷を前記プリンタに行わせるための処理を行う第1印刷処理を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記第1判定処理にて前記第1条件を満たさないと判定された場合に、前記取得処理にて取得された前記中間データに基づく印刷データを、前記汎用印刷プログラムに前記第1の圧縮方式で圧縮させない、
ように構成されるサポートプログラム。
【請求項3】
請求項2に記載するサポートプログラムであって、
前記コンピュータに、
前記第1判定処理にて前記第1条件を満たさないと判定された場合に、前記汎用印刷プログラムに対して、圧縮不要を設定する第1設定処理を実行させ、前記汎用印刷プログラムは、前記圧縮不要が設定されていないと、前記印刷データを前記第1の圧縮方式で圧縮し、前記圧縮不要が設定されていると、前記印刷データを圧縮しない、
ように構成されるサポートプログラム。
【請求項4】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記第1判定処理にて前記第1条件を満たさないと判定された場合に、
前記取得処理にて取得された前記中間データに基づく印刷データを、前記プリンタで対応可能な圧縮方式である第2の圧縮方式で圧縮し、圧縮された前記印刷データに基づく印刷を前記プリンタに行わせるための処理を行う第2印刷処理を実行させる、
ように構成されるサポートプログラム。
【請求項5】
請求項4に記載するサポートプログラムであって、
前記コンピュータに、
前記印刷指示があった場合に、前記印刷データの圧縮を不要とする第2条件を満たすか否かを判定する第2判定処理を実行させ、
さらに前記コンピュータに、
前記第2判定処理にて前記第2条件を満たさないと判定され、かつ前記第1判定処理にて前記第1条件を満たさないと判定された場合に、前記第2印刷処理を実行させ、
前記第2判定処理にて前記第2条件を満たさないと判定され、かつ前記第1判定処理にて前記第1条件を満たすと判定された場合に、前記第1印刷処理を実行させ、
前記第2判定処理にて前記第2条件を満たすと判定された場合に、前記取得処理にて取得された前記中間データに基づく前記印刷データであって、圧縮されていない前記印刷データに基づく印刷を前記プリンタに行わせるための処理を行う第3印刷処理を実行させる、
ように構成されるサポートプログラム。
【請求項6】
請求項5に記載するサポートプログラムであって、
前記第2条件は、前記取得処理にて取得された前記中間データに基づく前記印刷データのサイズが閾値よりも小さいことである、
ように構成されるサポートプログラム。
【請求項7】
請求項5に記載するサポートプログラムであって、
前記第2条件は、前記プリンタが圧縮に対応していないことである、
ように構成されるサポートプログラム。
【請求項8】
請求項5に記載するサポートプログラムであって、
前記コンピュータに、
所定のファイル形式について前記中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する登録処理を実行させることが可能であり、前記登録処理が実行されると、前記汎用印刷プログラムは、印刷対象の前記画像として入力された画像データが前記所定のファイル形式であった場合に、前記中間データを生成せず、前記所定のファイル形式の前記画像データに基づく印刷を前記プリンタに行わせるための処理を行い、
さらに前記コンピュータに、
前記取得処理では、前記汎用印刷プログラムに前記中間データを生成しないファイル形式として前記所定のファイル形式が登録された状態の場合、前記汎用印刷プログラムから前記中間データに代わって前記所定のファイル形式の前記画像データを取得し、
前記第2条件は、前記取得処理にて前記所定のファイル形式の前記画像データを取得したことである、
ように構成されるサポートプログラム。
【請求項9】
請求項5に記載するサポートプログラムであって、
前記第2条件は、前記プリンタが所定のファイル形式の前記印刷データに対応しており、前記取得処理にて取得された前記中間データに基づく前記印刷データが前記所定のファイル形式であって、かつ、前記所定のファイル形式が圧縮に適していないファイル形式であることである、
ように構成されるサポートプログラム。
【請求項10】
請求項9に記載するサポートプログラムであって、
前記所定のファイル形式はPDFである、
ように構成されるサポートプログラム。
【請求項11】
請求項5に記載するサポートプログラムであって、
前記コンピュータに、
前記第2判定処理にて前記第2条件を満たすと判定された場合に、前記汎用印刷プログラムに対して、圧縮不要を設定する第2設定処理を実行させ、前記汎用印刷プログラムは、前記圧縮不要が設定されていないと、前記印刷データを前記第1の圧縮方式で圧縮し、前記圧縮不要が設定されていると、前記印刷データを圧縮しない、
ように構成されるサポートプログラム。
【請求項12】
請求項1から請求項11のいずれか1つに記載するサポートプログラムであって、
前記第1条件は、前記プリンタが前記第1の圧縮方式に対応することである、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
従来、プリンタに送信されるデータをプリンタドライバが圧縮する技術が知られている。例えば特許文献1には、印刷データの生成とその印刷データのプリンタへの送信とをコンピュータに実行させるプリンタドライバであって、プリンタドライバがイメージデータを圧縮する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-45247号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、前述したプリンタベンダから提供されるプリンタドライバを利用せず、オペレーティングシステム(OS)の一部を構成するOS標準の汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタベンダから提供されるプリンタドライバを用いずに、OS標準の汎用印刷プログラムが印刷データを生成することで、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0005】
しかしながら、情報処理装置から前述したOS標準の汎用印刷プログラムを介してプリンタに印刷を行わせる場合に、印刷データを圧縮する技術について開示しているものがない。OS標準の汎用印刷プログラムを介して印刷を行わせる場合についても通信の負荷を軽減することが望まれることから、改善の余地がある。
【課題を解決するための手段】
【0006】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、前記汎用印刷プログラムは、データの圧縮方式として第1の圧縮方式をサポートしており、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記印刷指示による印刷対象の前記画像を示す中間データを前記汎用印刷プログラムから取得する取得処理と、前記プリンタに応じた第1条件を満たすか否かを判定する第1判定処理と、を実行させ、さらに前記コンピュータに、前記第1判定処理にて前記第1条件を満たすと判定された場合に、前記取得処理にて取得された前記中間データに基づく印刷データを、前記汎用印刷プログラムによって前記第1の圧縮方式で圧縮させ、圧縮された前記印刷データに基づく印刷を前記プリンタに行わせるための処理を行う第1印刷処理を実行させる、ように構成されている。
【0007】
本明細書に開示されるサポートプログラムは、プリンタに応じた第1条件を満たすか否かを判定する。そして、第1条件を満たすと判定された場合、サポートプログラムは、汎用印刷プログラムによってサポートされる第1の圧縮方式で、汎用印刷プログラムに印刷データを圧縮させ、その圧縮された印刷データをプリンタに渡して印刷させる。一方、第1条件を満たさないと判定された場合、サポートプログラムは、例えば、汎用印刷プログラムに印刷データを圧縮させない。これにより、汎用印刷プログラムによる圧縮機能を活用できるとともに、圧縮された印刷データが送信されることで通信負荷を軽減できる。
【0008】
上記サポートプログラムが組み込まれた情報処理装置、サポートプログラムを格納するコンピュータにて読取可能な記憶媒体、及びサポートプログラムの機能を実現するための制御方法、サポートプログラムとプリンタとを含む印刷システムも、新規で有用である。
【発明の効果】
【0009】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置について、印刷データを圧縮する機能を用いて通信の負荷を軽減できる技術が実現される。
【図面の簡単な説明】
【0010】
図1】PCの電気的構成の概略を示すブロック図である。
図2】印刷手順の例を示すシーケンス図である。
図3】判定圧縮手順の例を示すシーケンス図である。
図4】判定処理の手順の例を示すフローチャートである。
図5】印刷手順の例を示すシーケンス図である。
【発明を実施するための形態】
【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標準のプログラムである。つまり、PC1には、汎用印刷プログラム41を有するOS21が搭載されている。汎用印刷プログラム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等から印刷データを受信した場合、受信した印刷データに基づく印刷を実行可能である。プリンタ2は、カラー印刷可能な装置であっても良いし、単色印刷のみを実行可能な装置であっても良い。
【0026】
次に、本形態のPC1において、プリンタ2に印刷を行わせるための手順について説明する。なお、本形態における各処理は、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェアの制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0027】
印刷手順について、図2のシーケンス図を参照して説明する。編集アプリ43は、ユーザの指示に基づいて、文章や画像の作成や編集を受け付ける。そして、表示中の文章や画像を印刷させたい場合、ユーザは、編集アプリ43にて印刷実行の指示を入力する(A01)。編集アプリ43は、OS21に汎用印刷プログラム41が含まれている場合、汎用印刷プログラム41に対して、選択中の画像の印刷をプリンタ2に行わせる実行指示を、受け付けたと判断する。
【0028】
編集アプリ43は、受け付けた印刷指示の情報を汎用印刷プログラム41に渡す(A02)。汎用印刷プログラム41は、印刷指示の情報として、印刷対象の画像を示す画像データと印刷設定を示す情報と、を編集アプリ43から取得する。
【0029】
汎用印刷プログラム41は、編集アプリ43から取得した情報に基づいて、印刷対象の画像の画像データの形式を中間画像データの形式に変換することで、中間画像データを生成する(A03)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷対象の画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。
【0030】
なお、汎用印刷プログラム41は、中間画像データの生成前に、指定されたデバイスであるプリンタ2に対応する補助プログラム42を起動して、印刷ジョブの処理を開始したことを通知しても良い。補助プログラム42は、汎用印刷プログラム41から起動された場合、中間画像データを生成する際に利用される各種の指示を示す情報を、必要に応じて、汎用印刷プログラム41に渡すことができる。
【0031】
汎用印刷プログラム41は、中間画像データを生成した後、補助プログラム42を起動する(A04)。補助プログラム42は、例えば、汎用印刷プログラム41に要求することで、汎用印刷プログラム41によって生成された中間画像データを取得できる(A05)。A05は、取得処理の一例である。中間画像データは、中間データの一例である。
【0032】
補助プログラム42は、A04の指示に応じて起動されると、プリンタ2の能力情報を取得する。具体的には、補助プログラム42は、能力情報の取得を汎用印刷プログラム41に要求する(A06)。汎用印刷プログラム41は、能力情報を要求するコマンドをプリンタ2に送信し、プリンタ2から能力情報を取得する(A07)。汎用印刷プログラム41は、取得した能力情報を補助プログラム42に渡す(A08)。これにより、補助プログラム42は、プリンタ2の能力情報を取得できる。
【0033】
なお、汎用印刷プログラム41は、A07において、OS21を介して、例えば、IPP(internet printing protocolの略)に応じた通信によって、プリンタ2との通信を行う。なお、補助プログラム42は、汎用印刷プログラム41に要求する代わりに、例えば、MIB(Management Information Baseの略)を使って、プリンタ2から直接、能力情報を取得しても良い。
【0034】
プリンタ2から取得される能力情報には、印刷設定として設定可能なパラメータの情報、プリンタ2にて対応可能な圧縮方式に関する情報、が含まれる。能力情報には、さらに、例えば、消耗品の残量情報、選択可能なトレイの情報、各トレイに設定されている用紙の用紙情報、対応可能な印刷解像度の情報、が含まれていても良い。また、プリンタ2は、受け付けた印刷ジョブに基づいて画像処理を行って、画像処理後のデータに基づいて印刷する機能、例えば、Nin1等の集約印刷、ウォータマーク等の合成印刷、着色材を節約する節約印刷、を行う機能を有していても良い。プリンタ2にて実行可能な画像処理の機能を有している場合、プリンタ2は、その機能の情報を含む能力情報を渡しても良い。また、プリンタ2は、自身のステータスを示す情報を含む能力情報を渡しても良い。
【0035】
なお、汎用印刷プログラム41は、例えば、プリンタ2での印刷に関する詳細な印刷設定の指示を受け付けた場合にも、補助プログラム42を起動する。補助プログラム42は、詳細な印刷設定の指示に基づいて起動された場合にも、A06~A08と同様に、汎用印刷プログラム41に要求してプリンタ2の能力情報を取得できる。A04にて起動された際に、すでに、プリンタ2の能力情報を取得済みであれば、補助プログラム42は、A06~A08における能力情報の取得を行わなくても良い。
【0036】
補助プログラム42は、受け付けた印刷設定やプリンタ2の能力情報に基づいて、必要であれば、中間画像データを編集する(A09)。さらに、補助プログラム42は、中間画像データを汎用印刷プログラム41に渡し、汎用印刷プログラム41にラスタライズを要求する(A11)。
【0037】
汎用印刷プログラム41は、中間画像データをラスタライズし、ビットマップデータであるラスタデータを生成する(A12)。さらに、汎用印刷プログラム41は、生成したラスタデータを補助プログラム42に渡す(A13)。これにより、補助プログラム42は、ラスタデータを取得する。
【0038】
なお、汎用印刷プログラム41に代えて補助プログラム42がラスタライズを行っても良い。その場合、補助プログラム42は、中間画像データに基づいてラスタライズを実行し、ラスタデータを生成する。補助プログラム42にてラスタライズすれば、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適したラスタデータが生成される可能性が高い。一方、汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、補助プログラム42のプログラムサイズを小さくできる。
【0039】
そして、補助プログラム42は、A13にて取得したラスタデータをPDLデータにエンコードして、印刷データを生成する(A15)。A15にて生成される印刷データは、プリンタ2にて印刷可能な形式のデータであればよい。なお、補助プログラム42によって生成されるPDLデータは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
【0040】
補助プログラム42は、印刷データをプリンタ2に送信する指示を汎用印刷プログラム41に渡す前に、判定圧縮手順を実行する(A16)。判定圧縮手順は、印刷データを圧縮してプリンタ2に送信するか否か、及び、圧縮する場合には、補助プログラム42によって圧縮するか汎用印刷プログラム41によって圧縮するか、を決定し、さらに、圧縮する場合には圧縮を実行する手順である。
【0041】
なお、汎用印刷プログラム41は、印刷データの送信指示を受け付けた場合に、所定の圧縮方式で圧縮して、圧縮後の印刷データを送信する機能を有している。汎用印刷プログラム41が有している圧縮方式は、第1の圧縮方式の一例である。汎用印刷プログラム41は、圧縮不要の通知を受け付けていない場合には、送信前に印刷データを圧縮し、圧縮後の印刷データを指定された送信先のプリンタに送信する。一方、圧縮不要の通知を受け付けている場合には、汎用印刷プログラム41は、印刷データの圧縮を行わず、圧縮していない印刷データをプリンタに送信する。
【0042】
判定圧縮手順について、図3のシーケンス図を参照して説明する。判定圧縮手順では、補助プログラム42は、まず、判定処理を実行する(B01)。判定処理の手順について、図4のフローチャートを参照して説明する。この判定処理は、補助プログラム42に基づいて、PC1のCPU11にて実行される。
【0043】
判定処理では、CPU11は、プリンタ2が圧縮された印刷データに対応しているか否かを判断する(C01)。プリンタ2が圧縮された印刷データに対応しているとは、受信した印刷データが圧縮済みのデータであれば、その印刷データを解凍して印刷する機能をプリンタ2が有していることを意味する。
【0044】
なお、画像データの圧縮方式には、例えば、gzip、gif、tiff、png等の複数の種類がある。プリンタ2は、圧縮された印刷データに対応している場合であっても、対応可能な圧縮方式は限られていても良い。プリンタ2は、複数の圧縮方式での圧縮データに対応可能であっても良いし、1つの圧縮方式での圧縮データのみに対応可能であっても良い。プリンタ2が複数の圧縮方式での圧縮データに対応可能な場合、圧縮方式に応じて、プリンタ2での解凍速度が異なっていても良い。プリンタ2にて対応可能な圧縮方式の情報や、圧縮方式ごとの解凍時間の情報は、プリンタ2の能力情報に含まれていても良いし、プリンタ2のモデル情報等に基づいて補助プログラム42が予め有していても良い。
【0045】
また、プリンタ2が備える圧縮方式の情報や解凍速度の情報は、例えば、プリンタ2のベンダによって提供される情報であっても良い。例えば、補助プログラム42は、プリンタ2のモデル情報に基づいて、サーバ等から各種の情報を取得可能であっても良い。サーバ等にて提供される情報は、例えば、プリンタ2のベンダによって、モデルごとに解凍速度を実測して取得された情報であっても良い。
【0046】
CPU11は、プリンタ2が少なくとも1つの圧縮方式で圧縮された印刷データに対応している場合、C01にて、圧縮された印刷データに対応していると判断する。また、CPU11は、プリンタ2が圧縮された印刷データに対応していると判断した場合、C01にてさらに、プリンタ2にて対応可能な全ての圧縮方式の情報、圧縮方式ごとの解凍速度の情報、を取得する。
【0047】
プリンタ2が圧縮された印刷データに対応していると判断した場合(C01:YES)、CPU11は、印刷データの種類が圧縮に適しているか否かを判断する(C02)。印刷データの種類は、例えば、印刷データを含むファイルのファイル形式から判断できる。例えば、図2のA13にて汎用印刷プログラム41から受け取ったラスタデータがPWGRasterデータであれば、圧縮することにより通信の負荷の低減が十分見込めるため、CPU11は、圧縮に適していると判断する。
【0048】
印刷データの種類が圧縮に適していると判断した場合(C02:YES)、CPU11は、汎用印刷プログラム41の圧縮方式は、プリンタ2にて対応可能な圧縮方式であるか否かを判断する(C03)。汎用印刷プログラム41は、前述したように、所定の圧縮方式で印刷データを圧縮する。CPU11は、C01にて取得した情報に基づいて、プリンタ2にて対応可能な圧縮方式に、汎用印刷プログラム41による圧縮方式が含まれるか否かを判断する。
【0049】
汎用印刷プログラム41による圧縮方式が、プリンタ2にて対応可能な圧縮方式であると判断した場合(C03:YES)、CPU11は、汎用印刷プログラム41による圧縮を行うと決定する(C11)。この場合、後述するように、補助プログラム42は、単に、印刷データを汎用印刷プログラム41に渡すことで、汎用印刷プログラム41は、所定の圧縮方式によって印刷データを圧縮する。C03にてYESと判断される条件は、第1条件の一例である。C03は、第1判定処理の一例である。
【0050】
なお、汎用印刷プログラム41が、複数の圧縮方式を実行可能であれば、CPU11は、C03では、その複数の圧縮方式のうちに、プリンタ2にて対応可能な圧縮方式が含まれているか否かを判断する。汎用印刷プログラム41による圧縮方式にプリンタ2にて対応可能な圧縮方式が含まれていると判断した場合、補助プログラム42は、圧縮方式を指定する情報を記憶しておく。そして、補助プログラム42は、後述する手順において、圧縮方式を指定する情報を付加して、印刷データを汎用印刷プログラム41に渡せば良い。
【0051】
汎用印刷プログラム41による圧縮方式が、プリンタ2にて対応可能な圧縮方式ではないと判断した場合(C03:NO)、CPU11は、印刷データのデータ量が大きいか否かを判断する(C12)。
【0052】
プリンタ2が汎用印刷プログラム41による圧縮方式に対応していない場合、汎用印刷プログラム41による圧縮後の印刷データをプリンタ2に送信すると、適切な印刷が行われない可能性が高い。この場合、補助プログラム42は、汎用印刷プログラム41による圧縮を行わないと決定する。補助プログラム42は、例えば、補助プログラム42にて圧縮する、または、圧縮しない、と決定しても良い。これにより、プリンタ2でのエラーの発生が回避される。なお、補助プログラム42は、プリンタ2に対応するプログラムであり、プリンタ2にて対応可能な圧縮方式によって印刷データを圧縮する機能を有している。補助プログラム42は、汎用印刷プログラム41の圧縮方式とは異なる圧縮方式による圧縮を実行可能であっても良い。補助プログラム42による圧縮方式は、第2の圧縮方式の一例である。
【0053】
印刷データのデータ量が大きいと判断した場合(C12:YES)、CPU11は、補助プログラム42による圧縮を行うと決定する(C13)。CPU11は、例えば、前述した解凍速度の情報を用いて、解凍に要する時間と圧縮済みの印刷データの送信時間との和と、圧縮せずに印刷データを送信する場合の送信時間と、を比較しても良い。CPU11は、例えば、圧縮済みの印刷データを送信した方が全体の時間が短くなると想定される場合に、C12にてYESと判断する。
【0054】
また、C12では、CPU11は、例えば、圧縮方式と印刷データのデータ量とに基づいて判断しても良い。例えば、C12にてデータ量が大きいと判断するためのデータ量の閾値は、圧縮方式ごとに異なっていても良い。また、例えば、プリンタ2の印刷解像度が低い場合や、モノクロ画像の印刷データである場合には、CPU11は、データ量に関わらず、圧縮しないと決定しても良い。また、CPU11は、C12にて、圧縮に要する時間を加味して判断しても良い。
【0055】
一方、印刷データのデータ量が大きくないと判断した場合(C12:NO)、CPU11は、圧縮しないと決定する(C14)。印刷データのサイズが小さければ通信にかかる負荷が高くならない。つまり、サイズが小さい印刷データでは送信に要する時間が短いことから、圧縮しないで送信することで圧縮と解凍の処理が不要となり、印刷物が出力されるまでに要する全体の時間が短くなる可能性が高い。また、圧縮しないで送信することで、圧縮のための処理の負荷が軽減される。C12にてNOと判断される条件は、第2条件の一例である。C12は、第2判定処理の一例である。
【0056】
また、プリンタ2が圧縮された印刷データに対応していないと判断した場合(C01:NO)、CPU11は、圧縮しないと決定する(C14)。プリンタ2が圧縮された印刷データに対応していなければ、プリンタ2は、圧縮済みの印刷データを受信した場合、受信した印刷データに基づいて印刷できない。従って、CPU11は、圧縮が不要であると判定する。C01にてNOと判断される条件は、第2条件の一例である。C01は、第2判定処理の一例である。
【0057】
また、印刷データの種類が圧縮に適していないと判断した場合(C02:NO)、CPU11は、圧縮しないと決定する(C14)。例えば、図2のA15にて、印刷データとしてPDFデータを生成した場合、CPU11は、圧縮に適していないと判断する。C02にてNOと判断される条件は、第2条件の一例である。C02は、第2判定処理の一例である。プリンタ2が、PDFデータに基づく印刷を実行可能であれば、補助プログラム42は、印刷データとしてPDFデータを生成することができる。
【0058】
C11、C13、C14のいずれかの後、CPU11は、判定処理を終了して、図3の手順に戻る。判定処理による判定結果は、汎用印刷プログラム41が圧縮する、補助プログラム42が圧縮する、圧縮しない、のいずれかとなる。
【0059】
図3の判定圧縮手順の説明に戻る。B01の判定処理にて補助プログラム42で圧縮すると決定した場合(alt:[補助プログラムで圧縮])、補助プログラム42は、圧縮方式を決定する(B11)。補助プログラム42は、判定処理のC13にて圧縮方式を決定済みであっても良い。さらに、補助プログラム42は、決定した圧縮方式で、印刷データを圧縮する(B12)。
【0060】
なお、プリンタ2にて対応可能な圧縮方式が1種類である場合には、補助プログラム42は、その圧縮方式で圧縮する。また、プリンタ2にて対応可能な圧縮方式が複数ある場合には、補助プログラム42は、例えば、印刷データの種類や解凍速度に基づいて圧縮方式を決定する。
【0061】
補助プログラム42は、汎用印刷プログラム41に圧縮不要を通知し(B13)、圧縮済みの印刷データを汎用印刷プログラム41に渡して、プリンタ2への送信を指示する(B14)。圧縮不要が通知されていることから、汎用印刷プログラム41は、補助プログラム42から受け取った印刷データを圧縮せず、そのまま送信対象の印刷データとする。B13は、第1設定処理の一例である。B14は、補助プログラム42にて圧縮された印刷データに基づく印刷をプリンタ2に行わせるための処理の一例であり、第2印刷処理の一例である。
【0062】
補助プログラム42で圧縮すると決定した場合には、汎用印刷プログラム41による圧縮は不要である。汎用印刷プログラム41が通常の動作として印刷データの圧縮を行う場合、補助プログラム42は、汎用印刷プログラム41に圧縮不要を設定するので、汎用印刷プログラム41は圧縮しない。従って、重複した圧縮が回避される。
【0063】
また、B01の判定処理にて汎用印刷プログラム41で圧縮すると決定した場合(alt:[汎用印刷プログラムで圧縮])、補助プログラム42は、印刷データを圧縮することなく汎用印刷プログラム41に渡して、プリンタ2への送信を指示する(B21)。汎用印刷プログラム41は、圧縮不要の通知を受け取っていないことから、渡された印刷データを、汎用印刷プログラム41の備える圧縮方式で圧縮する(B22)。汎用印刷プログラム41は、圧縮後の印刷データを送信対象の印刷データとする。B21は、汎用印刷プログラム41にて圧縮された印刷データに基づく印刷をプリンタ2に行わせるための処理の一例であり、第1印刷処理の一例である。
【0064】
汎用印刷プログラム41で圧縮すると決定した場合には、補助プログラム42での圧縮は不要である。汎用印刷プログラム41が通常の動作として印刷データの圧縮を行う場合、補助プログラム42は、圧縮不要を設定せずに、圧縮していない印刷データを汎用印刷プログラム41に渡す。これにより、汎用印刷プログラム41によって印刷データが圧縮される。なお、汎用印刷プログラム41が複数の圧縮方式での圧縮機能を備えている場合、補助プログラム42は、前述したように、圧縮方式を指定する情報を付加して、B21にて、印刷データを汎用印刷プログラム41に渡す。
【0065】
また、B01の判定処理にて圧縮しないと決定した場合(alt:[圧縮しない])、補助プログラム42は、汎用印刷プログラム41に圧縮不要を通知する(B31)。さらに、補助プログラム42は、圧縮していない印刷データを汎用印刷プログラム41に渡して、プリンタ2への送信を指示する(B32)。圧縮不要が通知されていることから、汎用印刷プログラム41は、印刷データを圧縮せず、そのまま送信対象の印刷データとする。B31は、第2設定処理の一例である。B32は、圧縮されていない印刷データに基づく印刷をプリンタ2に行わせるための処理の一例であり、第3印刷処理の一例である。
【0066】
圧縮しないと決定した場合には、汎用印刷プログラム41による圧縮は不要である。汎用印刷プログラム41が通常の動作として印刷データの圧縮を行う場合、補助プログラム42は、汎用印刷プログラム41に圧縮不要を設定するので、汎用印刷プログラム41は圧縮しない。従って、不要な圧縮が回避される。
【0067】
図2の印刷手順の説明に戻る。汎用印刷プログラム41は、補助プログラム42の指示に応じて、図3の判定圧縮手順のB14、B22、B32のいずれかによって用意された送信対象の印刷データをプリンタ2に送信し、印刷を指示する(A21)。プリンタ2は、受信した印刷データに基づいて、印刷を実行する(A22)。
【0068】
プリンタ2は、受信した印刷データが圧縮済みのデータであれば、受信した印刷データを解凍し、解凍後の印刷データに基づいて印刷を実行する。プリンタ2は、受信した印刷データが圧縮していないデータであれば、受信した印刷データに基づいて印刷を実行する。これにより、編集アプリ43から出力された印刷指示に基づく印刷物が生成される。
【0069】
なお、この手順では、印刷データを汎用印刷プログラム41に渡して、汎用印刷プログラム41からプリンタ2に送信させるとしたが、その代わりに、補助プログラム42が、印刷の実行を指示する印刷コマンドと印刷データとをプリンタ2に送信しても良い。補助プログラム42は、例えば、プリンタ2にて実行可能な画像処理に関する設定が印刷設定として含まれる場合、その処理の情報も含む印刷コマンドを生成しても良い。この場合、補助プログラム42は、印刷データの送信完了後に、終了の情報を汎用印刷プログラム41に通知すると良い。
【0070】
次に、汎用印刷プログラム41がパススルーの機能を有している場合の印刷手順について、図5のシーケンス図を参照して説明する。パススルーの機能は、汎用印刷プログラム41に、中間画像データを生成させず、編集アプリ43から受け取った画像データをそのまま印刷データとさせる機能である。パススルーの機能を有している汎用印刷プログラム41は、所定のファイル形式についてパススルー登録を受け付け可能である。そして、汎用印刷プログラム41は、パススルー登録を受け付けているファイル形式のファイルを印刷対象の画像データとして受け取った場合には、中間画像データの生成を行わない。なお、以下の説明および図5では、図2と同じ手順については、同じ符号を付して説明を簡略化する。
【0071】
汎用印刷プログラム41がパススルーの機能を有している場合、補助プログラム42は、プリンタ2の能力情報に基づいて、パススルー登録を指示することができる。例えば、プリンタ2がPDFデータに対応可能であれば、補助プログラム42は、汎用印刷プログラム41にPDF形式を対象としたパススルー登録を指示する(D01)。D01は、登録処理の一例である。プリンタ2がPDFデータに対応可能であるとは、印刷データとしてPDFデータを受け取った場合に、そのPDFデータに基づく印刷を実行する機能を、プリンタ2が有していることを意味する。
【0072】
汎用印刷プログラム41は、PDF形式のパススルー登録を指示する情報を補助プログラム42から受け取った場合、補助プログラム42の識別情報に関連付けて、PDFパススルーを登録する(D02)。
【0073】
汎用印刷プログラム41は、編集アプリ43よりプリンタ2に印刷を行わせる印刷指示を受け取り(A01)、印刷対象の画像データを取得する。汎用印刷プログラム41は、プリンタ2に対応する補助プログラム42に関連付けてPDFパススルーが登録されている場合であって、かつ、印刷対象の画像データとしてPDFデータを含む印刷指示を受け付けた場合には、中間画像データを生成しない。以下では、PDFパススルーを登録ずみであって、画像データがPDFデータである場合について説明する。
【0074】
補助プログラム42は、汎用印刷プログラム41によって起動され(A04)、中間画像データに代わってPDFデータを取得する(D05)。D05は、取得処理の一例である。さらに、補助プログラム42は、汎用印刷プログラム41に要求して(A06)、プリンタ2の能力情報を取得する(A07、A08)。補助プログラム42は、必要に応じて、PDFデータを編集しても良い(D09)。
【0075】
補助プログラム42は、プリンタ2がPDFデータに対応可能であって、汎用印刷プログラム41からPDFデータを取得した場合、そのPDFデータを印刷データとすることができる。この場合、印刷データがPDFデータであることから、判定圧縮手順の判定処理(図3のB01、図4参照)では、CPU11は、印刷データの種類が圧縮に適していないと判断し(C02にてNO)、圧縮しないと決定する。そして、補助プログラム42は、汎用印刷プログラム41に対して、圧縮不要を通知して(B31)、PDFデータを渡す(B32)。プリンタ2がPDFデータに対応可能であって、D05にてPDFデータを取得したことは、第2条件の一例である。
【0076】
PDFパススルーが登録されている場合、汎用印刷プログラム41は、印刷データとしてPDFデータをプリンタ2に送信する(A21)。プリンタ2は、PDFデータに基づいて、印刷を実行する(A22)。
【0077】
なお、汎用印刷プログラム41は、PDFデータに限らず、所定のファイル形式についてパススルー登録を受け付け可能であっても良い。補助プログラム42は、所定のファイル形式についてパススルー登録を指示した場合であって、その所定のファイル形式の画像データを印刷対象の画像データとして汎用印刷プログラム41から取得した場合、圧縮しないと決定しても良い。所定のファイル形式についてパススルー登録を行った場合、その所定のファイル形式の画像データをプリンタ2に渡す必要があることから、圧縮しないことで適切な印刷データがプリンタ2に送信される。
【0078】
また、図5の手順では、補助プログラム42が起動される(A04)としたが、パススルー登録が記憶されている場合、汎用印刷プログラム41は補助プログラム42を起動しない構成であっても良い。汎用印刷プログラム41は、パススルー登録が記憶されており、そのパススルーの対象である所定のファイル形式の画像データを編集アプリ43から受け取った場合には、補助プログラム42を起動せず、その画像データをプリンタ2に送信する構成であっても良い。そして、汎用印刷プログラム41は、受け取った画像データを送信前に圧縮する構成であった場合、補助プログラム42は、汎用印刷プログラム41にPDF形式についてパススルー登録を行う際に、圧縮不要の通知も併せて行うと良い。
【0079】
また、ここまで、汎用印刷プログラム41は、圧縮不要の通知を受け付けていない場合には送信前に印刷データを圧縮するとしたが、通知を受け付けていない場合には圧縮しない構成であっても良い。つまり、汎用印刷プログラム41は、圧縮の通知を受け付けた場合に、送信前に印刷データを圧縮する、ものであっても良い。この構成の場合、補助プログラム42は、汎用印刷プログラム41にて圧縮すると決定した場合に、印刷データを汎用印刷プログラム41に渡す際に圧縮の通知を行う。具体的には、図3の判定圧縮手順は、B13とB31との手順が無く、B21の前に、圧縮通知を補助プログラム42が汎用印刷プログラム41に渡す手順が追加されたものとなる。
【0080】
以上、詳細に説明したように、本形態の補助プログラム42は、例えばプリンタ2の能力情報に応じて、汎用印刷プログラム41に圧縮させることを示す第1条件を満たすか否かを判断する。そして、補助プログラム42は、第1条件を満たせば、汎用印刷プログラム41に第1の圧縮方式で印刷データを圧縮させ、その圧縮された印刷データをプリンタ2に渡して印刷させる。一方、第1条件を満たさなければ、補助プログラム42は、汎用印刷プログラム41に第1の圧縮方式で印刷データを圧縮させない。これにより、汎用印刷プログラム41による圧縮機能が活用されるとともに、圧縮された印刷データが送信されることで通信負荷が軽減される。
【0081】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0082】
また、図2に示した印刷手順では、補助プログラム42は、印刷データを生成した後に圧縮についての判定を行うとしたが、判定のタイミングはこれに限らない。補助プログラム42は、例えば、プリンタ2の能力情報を取得した際(図2のA08)に判定しても良い。また、補助プログラム42は、例えば、プリンタ2の能力情報を以前に取得している状況で汎用印刷プログラム41から中間画像データを取得した際(図2のA05)、その中間画像データに基づいて判定しても良い。また、補助プログラム42は、例えば、汎用印刷プログラム41からラスタデータを取得した際(図2のA13)、そのラスタデータに基づいて判定しても良い。また、補助プログラム42は、圧縮するか否かのユーザによる選択を受け付け可能であっても良い。
【0083】
また、例えば、補助プログラム42は、印刷データを圧縮するかしないかに応じて、種々の処理を行っても良い。補助プログラム42は、圧縮するかしないかに応じて、中間画像データの編集(図2のA09)における編集内容の変更、図2のA13にて取得したラスタデータの編集、ラスタライズを汎用印刷プログラム41で行うか補助プログラム42で行うかの切り替え、等を行っても良い。
【0084】
また、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
【0085】
また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0086】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0087】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0088】
1 PC
2 プリンタ
11 CPU
図1
図2
図3
図4
図5