JP7268375B2 - サポートプログラム、情報処理装置、および印刷方法 - Google Patents

サポートプログラム、情報処理装置、および印刷方法 Download PDF

Info

Publication number
JP7268375B2
JP7268375B2 JP2019017415A JP2019017415A JP7268375B2 JP 7268375 B2 JP7268375 B2 JP 7268375B2 JP 2019017415 A JP2019017415 A JP 2019017415A JP 2019017415 A JP2019017415 A JP 2019017415A JP 7268375 B2 JP7268375 B2 JP 7268375B2
Authority
JP
Japan
Prior art keywords
print
port
program
printer
general
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019017415A
Other languages
English (en)
Other versions
JP2020126367A (ja
Inventor
明弘 國松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019017415A priority Critical patent/JP7268375B2/ja
Priority to US16/748,121 priority patent/US11064088B2/en
Publication of JP2020126367A publication Critical patent/JP2020126367A/ja
Application granted granted Critical
Publication of JP7268375B2 publication Critical patent/JP7268375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32117Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate transmission or protocol signal prior to or subsequent to the image data transmission, e.g. in digital identification signal [DIS], in non standard setup [NSS] or in non standard field [NSF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1239Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている(例えば、特許文献1)。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
特開2017-134718号公報
近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
しかしながら、OS標準の汎用印刷プログラムによる印刷では、あらかじめ決められた汎用印刷プログラムがサポートするポートを用いて印刷データを送信し、プリンタにおいてあらかじめ決められたアルゴリズムに従って印刷を行うことになるが、必ずしもプリンタに最適な処理を行っているとは言えない。そのため、プリンタが本来有する能力を発揮させる上で改善の余地がある。
本明細書は、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、その汎用印刷プログラムによる印刷であっても、プリンタの能力を発揮させることが可能な技術を開示する。
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記印刷指示によって示される印刷パラメータあるいは前記印刷指示に応じて前記汎用印刷プログラムが生成する印刷データに基づいて、前記印刷データを送信するためのポートを前記汎用印刷プログラムが用いるポートである第1ポートから前記第1ポートとは異なるポートに切り替える切替条件を満たしているか否かを判断する判断処理と、前記第1ポートとは異なる第2ポートに切り替えて前記印刷データを前記プリンタに送信するための処理である切替処理と、を含むポート処理を実行させ、前記ポート処理では、前記判断処理にて前記切替条件を満たしていると判断した場合には前記切替処理を実行し、前記判断処理にて前記切替条件を満たしていないと判断した場合には前記切替処理を実行しない、ことを特徴としている。
上述したサポートプログラムによれば、印刷パラメータや印刷データに基づいてポートを切り替える切替条件が設けられ、その切替条件に応じて印刷データが送信されるポートが切り替えられる。そのため、プリンタにとって好適なアルゴリズムでの印刷が期待できる。
上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、その汎用印刷プログラムによる印刷であっても、プリンタの能力を発揮させることが可能な技術が実現される。
印刷システムの電気的構成を示すブロック図である。 印刷システムによる印刷動作の順序の例を示すシーケンス図である。 第1の形態における代替送信の概要を示す説明図である。 切替条件の例を示す図である。 補助プログラムの処理の手順を示すフローチャートである。 第2の形態における代替送信の手順を示すシーケンス図である。 第3の形態における代替送信の手順を示すシーケンス図である。
以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
第1の形態のプログラムが実行される印刷システムの構成の例を、図1に示す。図1に示すシステムには、PC1と、プリンタ2と、プリンタ3と、が含まれる。PC1は、情報処理装置の一例である。プリンタ2およびプリンタ3は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、PC1と通信可能である。
PC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。
UI20は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。UI20は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
通信IF30は、プリンタ2やプリンタ3との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信IF30は、通信方式の異なる複数のインタフェースを含んでいても良い。通信方式としては、例えば、ネットワーク通信、USB通信がある。また、有線通信であっても無線通信であってもよい。
コントローラ10は、CPU11と、メモリ12と、を含む。CPU11は、コンピュータの一例である。メモリ12は、ROMと、RAMと、不揮発性メモリと、を含み、各種のアプリケーションプログラム(以下、「アプリ」とする)などのプログラムや各種のデータなどを記憶する。なお、本明細書では、メモリの詳細を区別しない。CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
メモリ12の一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
メモリ12には、例えば、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。補助プログラム42は、例えば、マイクロソフト社が公開した仕様に基づいてプリンタベンダによって作成された、ハードウェアサポートアプリ(略称、HSA)である。OS21は、例えば、マイクロソフトウィンドウズ(登録商標)、MacOS(登録商標)、Linux(登録商標)である。なお、メモリ12には、図示したもの以外にも、接続されているプリンタの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
汎用印刷プログラム41は、PC1からプリンタ2等の各種のプリンタで印刷を実行させるためのアプリであり、OS21にあらかじめ組み込まれているOS標準の印刷プログラムである。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。
汎用印刷プログラム41は、各プリンタのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム41は、OS21にあらかじめ組み込むために、各プリンタのベンダによってOS21のベンダに提供されるプログラム、例えば、OS21にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
補助プログラム42は、汎用印刷プログラム41の起動に付随してOS21からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム42は、例えば、汎用印刷プログラム41から起動される。補助プログラム42は、プリンタ2等のベンダによってプリンタのタイプごとに用意されるプログラムである。例えば、インクジェットプリンタ用の補助プログラム42やレーザプリンタ用の補助プログラム42が用意される。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラム42が有っても良い。
プリンタのベンダは、OS21のベンダが指定する手順に従って、補助プログラム42をOS21のベンダが提供するプラットフォームに登録する。OS21は、PC1に新たにプリンタ2が接続され、そのプリンタ2に対応する補助プログラム42がプラットフォームに登録されている場合には、当該補助プログラム42を補助プログラム42が格納されているサーバからダウンロードしてPC1に組み込む。
そして、OS21は、組み込んだ補助プログラム42の識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。複数のモデルのプリンタが接続されているPC1では、各モデルのタイプに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ12に記憶される。つまり、メモリ12には、PC1に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム42の情報が記憶される。
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト ワード(登録商標)、パワーポイント(登録商標)である。また、プリンタ2やプリンタ3のベンダから提供されるアプリであってもよい。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、UI20を介して、例えば、プリンタ2に印刷を実行させる印刷指示を受け付ける。
なお、実施の形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOS21のAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のようにプログラムを省略して記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
次に、第1の形態の補助プログラム42の構成、および補助プログラム42の動作を含む印刷手順の一例について、図2のシーケンス図を参照して説明する。補助プログラム42は、編集アプリ43等を介して、補助プログラム42に対応するプリンタが指定された状態で汎用印刷プログラム41を使用して印刷する印刷指示を受け付けた場合に、汎用印刷プログラム41から実行指示されるプログラムである。以下では、PC1がUI20を介して、例えば、編集アプリ43にて、印刷対象の画像データが指定された状態で、汎用印刷プログラム41を介してのプリンタ2での印刷実行の指示を受け付けた場合であって、プリンタ2のモデルのタイプに対応する補助プログラム42がPC1に組み込まれている場合について説明する。
まず、編集アプリ43は、UI20を介して、印刷対象の画像の指定と、印刷実行の指示入力を受け付ける(矢印A)。編集アプリ43が表示した画像は、印刷対象の画像の例である。編集アプリ43は、例えば、編集アプリ43にて編集された文書や、編集アプリ43にて読み込んだ写真などを画像として表示する。そして、印刷指示を受け付けた編集アプリ43は、受け付けた印刷指示の内容を示す印刷実行通知をOS21に渡す。なお、図2では、OS21の動作を省略して示している。
OS21は、汎用印刷プログラム41を使用する印刷実行通知を受け付けた場合、汎用印刷プログラム41を実行させ、汎用印刷プログラム41に印刷実行通知を渡す(矢印B)。汎用印刷プログラム41は、印刷実行通知にて、印刷指示に含まれる各種の情報、例えば、印刷させるプリンタを示す情報、アプリにて設定された印刷パラメータを示す情報、印刷対象となる画像データを示す情報、印刷を指示したユーザを識別する情報を、取得できる。なお、後述するように、これらの情報は、補助プログラム42でも使用される。
汎用印刷プログラム41は、印刷実行通知を受け付けると、プリンタ用のデータである印刷データを生成する(矢印C)。汎用印刷プログラム41は、印刷データを生成するにあたって、種々の処理を実行する。
具体的に、汎用印刷プログラム41は、印刷実行通知に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、XPSデータである。
さらに、汎用印刷プログラム41は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。汎用印刷プログラム41は、例えば、プリンタ2が指定されている場合、メモリ12に記憶されているプリンタ情報に含まれるプリンタのモデル情報に基づいて、プリンタ2のモデルを特定する。そして、印刷指示にて指定されたプリンタであるプリンタ2に対応する補助プログラム42がメモリ12に記憶されていることから、汎用印刷プログラム41による印刷データの生成を開始する前に、汎用印刷プログラム41は、補助プログラム42の処理の実行命令を出力し、補助プログラム42を動作させることが可能である。この場合、補助プログラム42への実行命令が汎用印刷プログラム41から出力される。
補助プログラム42は複数の処理が実行可能である。例えば、中間画像データを生成した後、印刷データの生成開始前に、印刷パラメータを編集する処理や、中間画像データの画像を編集する処理を行ってもよい。例えば、印刷パラメータを編集する場合、補助プログラム42は、例えば、印刷パラメータを読み出し、読み出した印刷パラメータに関する設定画面をUI20に表示させ、編集アプリ43にて設定された印刷パラメータの変更や、編集アプリ43では受け付けていない印刷パラメータの設定を受け付ける。さらに、補助プログラム42は、設定画面にて受け付けた内容で,印刷ジョブの印刷パラメータを編集する。補助プログラム42は、印刷ジョブの印刷パラメータに上書きすることで編集しても良いし、汎用印刷プログラム41に印刷パラメータを提供することで、汎用印刷プログラム41を介して印刷パラメータを編集しても良い。また、中間画像データの画像を編集する場合、例えば、印刷パラメータの設定に応じた加工を中間画像データの画像に施す。画像の加工としては、例えば画像の集約や分割、画像の拡大や縮小、ウォータマーク等の画像の合成が該当する。補助プログラム42は、各処理を終了する際、終了通知を汎用印刷プログラム41に通知する。汎用印刷プログラム41はその終了通知を受け付けると、編集内容を反映する。
本形態では、汎用印刷プログラム41は、中間画像データを生成した後、必要に応じて補助プログラム42を動作させ、その後、その中間画像データに基づいて印刷データを生成する。汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データである。印刷データは、例えば、PWGRasterデータやPDFデータである。
印刷データの生成の終了後、汎用印刷プログラム41は、補助プログラム42の印刷データ編集処理に対する実行命令を出力する(矢印D)。印刷データ編集処理の実行命令には、印刷パラメータと印刷データとが付される。
汎用印刷プログラム41からの実行命令を受け付けた補助プログラム42は、印刷データ編集処理を開始する(矢印E)。印刷データ編集処理は、汎用印刷プログラム41による印刷データの生成が完了した後に実行される処理である。補助プログラム42は、印刷データ編集処理の実行命令にて、印刷パラメータやプリンタの情報に加え、生成が終了している印刷データも汎用印刷プログラム41から取得できる。
補助プログラム42は、印刷データ編集処理として、例えば、印刷データの編集を行う。補助プログラム42は、例えば、プリンタ2に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ2に特有な機能としては、例えば、トナーセーブ設定、フィニッシャの設定、がある。プリンタ2が自身でウォータマークやヘッダ/フッタ等を画像に付加できる機能を有している場合、印刷データ編集処理では、これらの機能を実行させるコマンドを印刷データに付加しても良い。
その後、補助プログラム42は、代替送信を行うか否かの判定としてポート判定を行う(矢印F)。第1の形態の印刷システムでは、汎用印刷プログラム41に対して、画像の印刷をプリンタ2に行わせる印刷指示を入力した場合に、汎用印刷プログラム41からプリンタ2に印刷データを送信するのではなく、補助プログラム42から直接プリンタ2に印刷データを送信することができる。このように、汎用印刷プログラム41に代わって補助プログラム42によって行う印刷データの送信を「代替送信」とする。なお、補助プログラム42による送信であっても、汎用印刷プログラム41による送信であっても、実際にはOS21による通信制御を介して行われるが、OS21の通信制御は省略して説明する。
第1の形態の印刷システムでは、図3に示すように、プリンタ2に印刷データを送信する経路として、第1ポートから印刷データを送信する第1経路X1と、第2ポートから印刷データを送信する第2経路X2と、の少なくとも2つの経路をサポートしており、補助プログラム42がポートを選択することによって、印刷データを送信する経路が決定される。すなわち、補助プログラム42が第2ポートを選択することで、代替送信を行うことが決定される。
補助プログラム42によって選択されるポートは、第1ポートを、汎用印刷プログラム41がプリンタとの通信に用いるポートとし、例えばIPP(Internet Printing Protocol)で通信するように設定されたポートとする。一方、第2ポートを、汎用印刷プログラム41が用いないポートであって、印刷に汎用的に用いられているポートとし、例えばTCPやUDPにおけるポート9100を用いたRAW印刷に用いるように設定されたポートとする。なお、本形態で示したポートは、一例であって、他のポートを利用してもよい。例えば、第2ポートとして、他のネットワークのポートや、ネットワークのポート以外のポート、例えばUSBのポートや、無線通信のポートを利用してもよい。
プリンタ2は、第1ポートから送信される印刷データを受信した場合、第1画像形成プログラム201によって、その受信した印刷データに基づく画像処理を行う。また、プリンタ2は、第2ポートから送信される印刷データを受信した場合、第2画像形成プログラム202によって、その受信した印刷データに基づく画像処理を行う。第1画像形成プログラム201および第2画像形成プログラム202は、それぞれ対応するポートから送信される印刷データに基づく画像処理を行うプログラムであり、それぞれの印刷データに適したアルゴリズムに従った処理を行う。第1画像形成プログラム201も第2画像形成プログラム202も、画像処理を行うハードウェアであるASIC210を用いることができる。但し、ASIC210は、第2画像形成プログラム202が印刷データを入力する方がより高速に処理できる。
なお、本形態では、ASIC210が、第2画像形成プログラム202から印刷データを受け付ける方が高速処理できることから、第2ポートを適宜選択しているが、例えば、第2画像形成プログラム202のみがASIC210を利用でき、第1画像形成プログラム201がASIC210を利用できない場合や、第1画像形成プログラム201および第2画像形成プログラム202それぞれに専用のASICがあり、第2画像形成プログラム202用のASICの方が第1画像形成プログラム201のASICのよりも高速処理が可能な場合であっても、第2ポートを適宜選択するとよい。また、プリンタ2の通信プログラムあるいは通信ハードウェアが、第2ポートから送信される印刷データをより高速に処理できる場合にも、第2ポートを適宜選択するとよい。
補助プログラム42は、図2の矢印Fに示したポート判定として、汎用印刷プログラム41から受け取った印刷パラメータあるいは印刷データに基づいて、所定の切替条件を満たしているか否かを判定する。切替条件の例を図4に示す。例えば、本形態では、図4(A)に示すように、印刷パラメータにカラー印刷が設定されていることを、切替条件に適用できる。この条件では、印刷パラメータとしてカラー印刷が設定されている場合、第2ポートとし、モノクロ印刷が設定されている場合、第1ポートとする。カラー印刷の場合は、モノクロ印刷と比較して処理に時間がかかる傾向にあり、第2画像形成プログラム202がASIC210を利用して高速処理することで、処理の迅速化が期待できる。
また、図4(B)に示すように、印刷パラメータに高解像度が設定されていることを、切替条件に適用できる。この条件では、印刷パラメータとして高解像度が設定されている場合、第2ポートとし、設定されていない場合、第1ポートとする。高解像度とは、解像度を示す値が所定値よりも大きいことを意味する。高解像度の印刷の場合は、低解像度の印刷と比較して処理に時間がかかる傾向にあり、第2画像形成プログラム202がASIC210を利用して高速処理することで、処理の迅速化が期待できる。
また、図4(C)に示すように、両面印刷の場合にも第2画像形成プログラム202がASIC210を利用して高速処理することで、処理の迅速化が期待できることがある。そのため、印刷パラメータとして両面印刷が設定されている場合、第2ポートとし、片面印刷が設定されている場合、第1ポートとしてもよい。
また、印刷データが複数の描画コマンドの組み合わせで構成されているデータであれば、補助プログラム42が印刷データを解析し、解析の結果に基づいて判定してもよい。例えば、図4(D)に示すように、印刷データに特定の描画コマンドが含まれることを、切替条件に適用できる。この条件では、汎用印刷プログラム41から受け取った印刷データに特定の描画コマンドが含まれる場合、第2ポートとし、特定の描画コマンドが含まれていない場合、第1ポートとする。描画コマンドによってはプリンタ独自のアルゴリズムを適用することで、処理の迅速化が期待できるためである。
また、図4(E)に示すように、印刷データのデータ形式によって判定してもよい。例えば、PWGRasterデータであれば、第2画像形成プログラム202によってASIC210を利用した高速処理が可能であり、XPSデータであれば、第2画像形成プログラム202によってASIC210を利用した高速処理が可能でない場合、印刷データがPWGRasterデータであれば、第2ポートで送信することに決定してもよい。この場合、印刷データのデータ形式がPWGRasterデータであることが切替条件になる。なお、補助プログラム42がXPSデータをPWGRasterデータに変換できる機能を有している場合は、XPSデータであっても第2ポートで送信することに決定してもよい。
図4に示した切替条件を少なくとも1つ適用することでポートを切り替えるか否かを判定できる。なお、複数の切替条件を組み合わせてもよく、その場合は条件ごとに優先度を設けることで、ポートを切り替えるか否かを判定できる。
その後、補助プログラム42は、第1ポートから印刷データを送信すると判定した場合、代替送信を行わないため、処理後の印刷データを印刷ジョブに反映し、印刷データ編集処理の終了を示す終了通知を汎用印刷プログラム41に返して処理を終了する(矢印G1)。補助プログラム42は、処理後の印刷データを汎用印刷プログラム41に提供することで、汎用印刷プログラム41を介して、処理後の印刷データを印刷ジョブに反映しても良い。
汎用印刷プログラム41は、補助プログラム42から終了通知を受け取ったことに応じて、プリンタ2に対して印刷命令を送信する(矢印H1)。これにより、印刷命令を受信したプリンタ2は、印刷命令に付された印刷データに従って、第1画像形成プログラム201によって画像処理を行い、受信した印刷データに示される画像の形成、すなわち印刷を行う(矢印O1)。なお、プリンタ2は、コマンドが付加された印刷データを受信した場合、印刷の実行に際して、コマンドによって示される動作を行う。また、汎用印刷プログラム41は、終了通知に応じた完了処理を行う(矢印P1)。
一方、補助プログラム42は、第2ポートから印刷データを送信すると判定した場合、代替送信として、汎用印刷プログラム41を用いずに、第2ポートから印刷命令をプリンタ2に送信する(矢印H2)。印刷命令を受信したプリンタ2は、印刷命令に付された印刷データに従って、第2画像形成プログラム202によって画像処理を行い、受信した印刷データに示される画像の印刷を行う(矢印O2)。
また、補助プログラム42から直接印刷データがプリンタ2に送信されるため、矢印G1で示した終了通知とは異なる通知として、補助プログラム42から汎用印刷プログラム41に対して完了通知が入力される(矢印G2)。完了通知が入力された汎用印刷プログラム41は、その完了通知に応じた完了処理を行う(矢印P2)。完了処理では、例えば編集アプリ43から入力された印刷実行通知に基づく印刷ジョブを終了させる。このとき、汎用印刷プログラム41は、終了させる印刷ジョブが正常に終了したことを示す情報をその印刷ジョブの履歴としてメモリ12に残す。また、第2ポートによって代替送信を行ったことを示す情報を履歴として残してもよい。
なお、補助プログラム42は、印刷ジョブをキャンセルするキャンセル通知を、汎用印刷プログラム41に対して入力することもできる。例えば、印刷パラメータの編集を受け付ける設定画面から印刷ジョブのキャンセルを受け付けることができ、補助プログラム42からキャンセル通知を汎用印刷プログラム41に入力することができる。また、中間画像データの編集に失敗した場合にも、補助プログラム42からキャンセル通知を汎用印刷プログラム41に入力することができる。キャンセル通知が入力された汎用印刷プログラム41は、完了通知のときと同様に、印刷ジョブを終了させる。ただし、キャンセル通知が入力された場合は、完了通知の場合と異なり、キャンセルされたことを示す情報をその印刷ジョブの履歴としてメモリ12に残す。つまり、代替送信によって印刷データの送信が行われた場合、補助プログラム42から汎用印刷プログラム41に対して、印刷ジョブを終了させる通知として、キャンセル通知とは異なる完了通知が入力される。完了通知は、第1終了通知の一例であり、キャンセル通知は、第2終了通知の一例である。
なお、第2ポートから印刷データを送信する際、補助プログラム42は、第2画像形成プログラム202用のコマンドを印刷データに付加してもよいし、第2画像形成プログラム202用に印刷データを最適化してもよい。これらの印刷データの編集は、ポート判定の前に行ってもよいし、後に行ってもよい。
次に、前述した代替送信を行う場合の、補助プログラム42の印刷データ編集処理の手順について、図5のフローチャートを参照しつつ説明する。印刷データ編集処理は、印刷指示に基づいて汎用印刷プログラム41から印刷データ編集処理の実行命令を受け付けたことを契機に、PC1のCPU11にて実行される。なお、印刷データ編集処理は、ポート処理の一例である。
印刷データ編集処理では、CPU11は、実行命令に対応する印刷パラメータおよび印刷データを取得する(S01)。その後、CPU11は、取得した印刷データの編集を行う(S02)。例えばS02では、プリンタ2に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ2に特有な機能としては、例えば、両面印刷設定、トナーセーブ設定、フィニッシャの設定、がある。プリンタ2が自身でウォータマークやヘッダ/フッタ等を画像に付加できる機能や、集約や拡縮等の画像サイズを変更する機能を有している場合、S02では、これらの機能を実行させるコマンドを印刷データに付加しても良い。なお、印刷パラメータによっては、S02の処理を行わなくてもよい。S02は、図2の矢印Eに相当する。
また、CPU11は、汎用印刷プログラム41から受け取った印刷パラメータあるいは印刷データに基づいて、ポートの判定を行う(S03)。S02の処理とS03の処理とは逆順であっても同時であってもよい。S03は、図2の矢印Fに相当する。ポートの判定には、前述した切替条件が用いられる。
補助プログラム42は、図4に示したような、切替条件と送信に用いるポートとを関連付けたテーブル51を有しており、S03の処理ではそのテーブル51を読み出す。特定のパラメータは、切替条件に対応するパラメータである。例えば切替条件をカラー印刷とする場合、特定のパラメータは、カラー印刷かモノクロ印刷かを指定するパラメータである。そして、印刷パラメータのうち特定のパラメータに対応する値を抽出し、読み出したテーブル51を参照して、ポートを判定する。例えば、切替条件として図4(A)を用いる場合、カラー印刷であれば第2ポートとし、モノクロ印刷であれば第1ポートとする。どの切替条件を用いるかは補助プログラム42にあらかじめ決められていてもよいし、ユーザに選択させてもよい。
CPU11は、S03での判定の結果、第2ポートによって代替送信を行うか否かを判断する(S04)。S03およびS04は、判断処理の一例である。第1ポートによって代替送信を行うと判断した場合(S04:NO)、CPU11は、終了通知を汎用印刷プログラム41に入力し(S22)、本処理を終了する。
一方、第2ポートによって代替送信を行うと判断した場合(S04:YES)、CPU11は、汎用印刷プログラム41に処理を戻す前に、補助プログラム42の処理として、第2ポートから印刷データをプリンタ2に送信する(S11)。また、CPU11は、完了通知を汎用印刷プログラム41に入力する(S12)。S11の処理とS12の処理とは逆順であっても同時であってもよい。S11は、切替処理の一例である。完了通知は、第1終了通知の一例であり、S12は、第1通知処理の一例である。
S12の後、CPU11は、印刷データの送信が終了したか否かを判断する(S31)。印刷データの送信が終了していない場合(S31:NO)、CPU11は、印刷データの送信中のエラーを検知したか否かを判断する(S32)。エラーを検知していない場合(S32:NO)、S31に処理を戻し、印刷データの送信終了と送信中のエラーとのいずれかが検知されるまで処理を繰り返す。
印刷データの送信中にエラーを検知した場合(S32:YES)、CPU11は、エラーを示すメッセージをUI20に表示させる(S33)。補助プログラム42によって、エラーメッセージを表示することで、ユーザがエラーを認識できる。S33は、エラー処理の一例である。S33の後、あるいは印刷データの送信が完了した場合(S31:YES)、本処理を終了する。
なお、OS21は、プリンタとポートとに関連付けられたプリントキューを有している。例えば、本形態では、1台のプリンタ2に対して、プリンタ2と第1ポートとに関連付けられたプリントキューと、プリンタ2と第2ポートとに関連付けられたプリントキューと、の2つのプリントキューを有している。OS21は、各プリントキューに登録された印刷ジョブを順次にプリンタに送信する機能を有している。
そのため、補助プログラム42は、第2ポートから印刷データを送信すると判定した場合、印刷命令を直接送信する代わりに、印刷データを第1ポートから送信する新たな印刷ジョブを作成し、その新たな印刷ジョブを、汎用印刷プログラム41を介さずに、プリンタ2と第2ポートとに関連付けられたプリントキューに登録してもよい。この場合、プリントキューに登録された印刷ジョブは、OS21によって第2ポートからプリンタ2に送信される。プリントキューに直接登録する場合、補助プログラム42から直接印刷データを送信する機会が減り、補助プログラム42の負荷が少なくて済む。
続いて、第2の形態について説明する。第2の形態では、第1ポートからの印刷データの送信も、補助プログラム42によって行う。この点、第1ポートからの印刷データの送信は汎用印刷プログラム41によって行う第1の形態と異なる。
第2の形態において代替送信を行う場合の手順について、図6を参照して説明する。なお、図6中、図2と同じ処理については同じ符号を付している。また、補助プログラム42がポート判定を行う(矢印F)までの処理は、第1の形態と同じであり、説明を省略する。また、第2ポートから印刷データを送信する場合も、第1の形態と同じであり、説明を省略する。
補助プログラム42は、第1ポートから印刷データを送信すると判定した場合、汎用印刷プログラム41を用いずに、第1ポートから印刷データをプリンタ2に送信する(矢印H3)。印刷データを受信したプリンタ2は、第1画像形成プログラム201によって画像処理を行い、受信した印刷データによって示される画像の印刷を行う(矢印O1)。
また、補助プログラム42から直接印刷データがプリンタ2に送信されるため、補助プログラム42から汎用印刷プログラム41に対して完了通知が入力される(矢印G3)。完了通知が入力された汎用印刷プログラム41は、その完了通知に応じた完了処理を行う(矢印P3)。
すなわち、第2の形態では、第1ポートから印刷データを送信する場合も、補助プログラム42による代替送信が行われる。そのため、第1の形態と比較して、汎用印刷プログラム41によって印刷データの送信を行う機会が少なく、汎用印刷プログラム41の負荷が少なくて済む。
次に、第3の形態について説明する。第2の形態では、補助プログラム42から汎用印刷プログラム41に応答する終了通知に、ポート判定の判定結果を付与し、第2ポートから印刷データを送信する場合、汎用印刷プログラム41によってポートを第2ポートに切り替える。この点、ポートの切り替えを補助プログラム42によって行う第1ないし第2の形態と異なる。
第3の形態において代替送信を行う場合の手順について、図7を参照して説明する。なお、図7中、図2あるいは図6と同じ処理については同じ符号を付している。また、補助プログラム42がポート判定を行う(矢印F)までの処理は、実施の形態と同じであり、説明を省略する。
ポート判定の後、補助プログラム42は、終了通知を汎用印刷プログラム41に対して出力する(矢印G4)。この終了通知には、ポート判定の判定結果が付される。汎用印刷プログラム41は、第1ポートを示す判定結果が終了通知に付されていた場合、第1ポートからプリンタ2に対して印刷命令を送信する(矢印H1)。その印刷命令を受信したプリンタ2は、受信した印刷データに示される画像の印刷を行う(矢印O1)。また、汎用印刷プログラム41は、完了処理を行う(矢印P1)。すなわち、第1ポートから印刷データを送信すると判定した場合、代替送信を行わない場合と同じ処理が行われる。
一方、汎用印刷プログラム41は、第2ポートを示す判定結果が終了通知に付されていた場合、印刷データの送信に用いるポートを第2ポートに切り替え(矢印Q)、第2ポートからプリンタ2に対して印刷命令を送信する(矢印H4)。具体的には、汎用印刷プログラム41は、第2ポートに対応するプリントキューに印刷ジョブを登録する。第2ポートを示す判定結果が付された終了通知は、切替要求の一例である。印刷ジョブを受信したプリンタ2は、受信した印刷データに示される画像の印刷を行う(矢印O2)。また、印刷データを送信した汎用印刷プログラム41は、終了通知に応じた完了処理を行う(矢印P4)。
すなわち、第3の形態では、補助プログラム42は、ポート判定の判定結果を汎用印刷プログラム41に入力し、汎用印刷プログラム41が、判定結果に応じてポートを切り替えて印刷データを送信する。そのため、第1ないし第2の形態と比較して、補助プログラム42から直接印刷データを送信することがなく、補助プログラム42の負荷が少なくて済む。
以上、詳細に説明したように、本実施の形態の補助プログラム42によれば、印刷パラメータや印刷データに基づいてポート判定が行われ、その判定結果に応じて印刷データの送信に用いるポートが切り替えられる。そのため、プリンタ2にとって好適なアルゴリズムでの印刷が期待できる。
さらに、本形態の補助プログラム42によれば、汎用印刷プログラム41から印刷データを送信しない場合、印刷ジョブを終了させるための完了通知を汎用印刷プログラム41に入力している。そのため、汎用印刷プログラム41によって送信待ちとなっている状態が解除され、プリンタ2への印刷データの二重送信を回避できる。
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続されるプリンタは、プリンタ単能機に限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタは、図示の例に限らず、1台でも良いし、3台以上でもよい。
また、実施の形態で、汎用印刷プログラム41の処理として説明した各処理の一部は、OS21の処理であっても良い。また、汎用印刷プログラム41が用いる第1ポートは、OS21や他のプログラムで用いてもよい。
また、印刷パラメータ決定処理を実行するモジュールは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
また、実施の形態では、汎用印刷プログラム41から補助プログラム42の実行命令が出力されることで、補助プログラム42が実行されるとしているが、補助プログラム42の実行条件はこれに限らない。例えば、OS21から直接実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 PC
2 プリンタ
11 CPU
12 メモリ
20 UI
21 OS
41 汎用印刷プログラム
42 補助プログラム

Claims (17)

  1. 情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
    前記コンピュータに、
    前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記印刷指示によって示される印刷パラメータあるいは前記印刷指示に応じて前記汎用印刷プログラムが生成する印刷データに基づいて、前記印刷データを送信するためのポートを前記汎用印刷プログラムが用いるポートである第1ポートから前記第1ポートとは異なるポートに切り替える切替条件を満たしているか否かを判断する判断処理と、
    前記第1ポートとは異なる第2ポートに切り替えて前記印刷データを前記プリンタに送信するための処理である切替処理と、
    を含むポート処理を実行させ、
    前記ポート処理では、
    前記判断処理にて前記切替条件を満たしていると判断した場合には前記切替処理を実行し、前記判断処理にて前記切替条件を満たしていないと判断した場合には前記切替処理を実行しない、
    ことを特徴とするサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
    前記ポート処理では、
    前記判断処理にて前記切替条件を満たしていると判断した場合、前記切替処理として、前記サポートプログラムによって、前記第2ポートから前記印刷データを前記プリンタに送信し、前記判断処理にて前記切替条件を満たしていないと判断された場合、前記汎用印刷プログラムによって、前記印刷データを前記プリンタに送信させる、
    ことを特徴とするサポートプログラム。
  3. 請求項1に記載するサポートプログラムにおいて、
    前記ポート処理には、
    前記サポートプログラムによって、前記第1ポートから前記印刷データを前記プリンタに送信する送信処理が含まれ、
    前記ポート処理では、
    前記判断処理にて前記切替条件を満たしていると判断した場合、前記切替処理として、前記サポートプログラムによって、前記第2ポートから前記印刷データを前記プリンタに送信し、前記判断処理にて前記切替条件を満たしていないと判断された場合、前記送信処理を実行する、
    ことを特徴とするサポートプログラム。
  4. 請求項2または請求項3に記載するサポートプログラムにおいて、
    前記コンピュータに、
    前記サポートプログラムによる印刷データの送信中にエラーを検知した場合に、前記情報処理装置の表示デバイスにエラーを示す情報を表示させるエラー処理を実行させる、
    ことを特徴とするサポートプログラム。
  5. 請求項1に記載するサポートプログラムにおいて、
    前記オペレーティングシステムは、プリンタおよびポートに関連付けられたプリントキューを有しており、
    前記切替処理では、
    前記プリンタおよび前記第2ポートに対応するプリントキューに、前記汎用印刷プログラムを介さずに、前記印刷指示に基づく印刷ジョブを登録し、前記オペレーティングシステムは、前記プリントキューに登録された印刷ジョブを、前記プリントキューに対応するポートから前記プリントキューに対応するプリンタに送信する、
    ことを特徴とするサポートプログラム。
  6. 請求項1から請求項5のいずれか1つに記載するサポートプログラムにおいて、
    前記コンピュータに、
    前記印刷データを前記汎用印刷プログラムから送信させない前記切替処理を実行させる場合に、前記印刷指示に基づく印刷ジョブを終了させる第1終了通知を前記汎用印刷プログラムに入力する第1通知処理を実行させ、前記汎用印刷プログラムは、前記第1終了通知を受け付けた場合に、前記印刷指示に基づく印刷ジョブを前記プリンタに送信することなく終了する、
    ことを特徴とするサポートプログラム。
  7. 請求項6に記載するサポートプログラムにおいて、
    前記コンピュータに、
    前記印刷指示に基づく印刷ジョブをキャンセルするキャンセル条件を満たした場合に、第2終了通知を入力する前記汎用印刷プログラムに第2通知処理を実行させ、前記汎用印刷プログラムは、前記第2終了通知を受け付けた場合に、前記印刷指示に基づく前記印刷ジョブをキャンセルし、前記第2終了通知は、前記第1終了通知とは異なる通知である、
    ことを特徴とするサポートプログラム。
  8. 請求項1に記載するサポートプログラムにおいて、
    前記ポート処理では、
    前記判断処理にて前記切替条件を満たしていると判断した場合に、前記切替処理として、前記印刷データを送信するためのポートを前記第1ポートから前記第1ポートとは異なるポートに切り替える切替要求を前記汎用印刷プログラムに入力し、前記汎用印刷プログラムは、前記切替要求を受け付けた場合に、前記印刷データを、前記第2ポートを用いて前記プリンタに送信する、
    ことを特徴とするサポートプログラム。
  9. 請求項1から請求項8のいずれか1つに記載するサポートプログラムにおいて、
    前記判断処理では、
    前記印刷指示によって示される前記印刷パラメータに特定のパラメータが設定されていることを、前記切替条件とする、
    ことを特徴とするサポートプログラム。
  10. 請求項9に記載するサポートプログラムにおいて、
    前記印刷パラメータには、カラー印刷かモノクロ印刷かの設定が含まれ、
    前記特定のパラメータは、カラー印刷である、
    ことを特徴とするサポートプログラム。
  11. 請求項9に記載するサポートプログラムにおいて、
    前記印刷パラメータには、解像度が含まれ、
    前記特定のパラメータは、所定値よりも大きい解像度である、
    ことを特徴とするサポートプログラム。
  12. 請求項1から請求項8のいずれか1つに記載するサポートプログラムにおいて、
    前記印刷データには、画像を示すデータが含まれ、
    前記判断処理では、
    前記画像を示すデータの形式が特定の形式であることを、前記切替条件とする、
    ことを特徴とするサポートプログラム。
  13. 請求項1から請求項8のいずれか1つに記載するサポートプログラムにおいて、
    前記印刷データには、画像を示すデータが含まれ、
    前記判断処理では、
    前記画像を示すデータに特定の特徴が含まれることを、前記切替条件とする、
    ことを特徴とするサポートプログラム。
  14. 請求項13に記載するサポートプログラムにおいて、
    前記画像を示すデータは、複数の描画コマンドの組み合わせで構成されており、
    前記特定の特徴は、特定の描画コマンドが含まれることである、
    ことを特徴とするサポートプログラム。
  15. 請求項1から請求項14のいずれか1つに記載するサポートプログラムにおいて、
    前記プリンタは、画像処理のアルゴリズムが異なる第1の画像形成プログラムと第2の画像形成プログラムとを有し、
    前記第1ポートは、前記プリンタの前記第1の画像形成プログラムに画像処理を行わせるためのポートであり、
    前記第2ポートは、前記プリンタの前記第2の画像形成プログラムに画像処理を行わせるためのポートである、
    ことを特徴とするサポートプログラム。
  16. コンピュータとメモリとを備える情報処理装置であって、
    前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムが組み込まれ、
    前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
    前記コンピュータは、
    前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記サポートプログラムによって、前記印刷指示によって示される印刷パラメータあるいは前記印刷指示に応じて前記汎用印刷プログラムが生成する印刷データに基づいて、前記印刷データを送信するためのポートを前記汎用印刷プログラムが用いるポートである第1ポートから前記第1ポートとは異なるポートに切り替える切替条件を満たしているか否かを判断する判断処理と、
    前記第1ポートとは異なる第2ポートに切り替えて前記印刷データを前記プリンタに送信するための処理である切替処理と、
    を含むポート処理を実行し、
    前記ポート処理では、
    前記判断処理にて前記切替条件を満たしていると判断した場合には前記切替処理を実行し、前記判断処理にて前記切替条件を満たしていないと判断した場合には前記切替処理を実行しない、
    ことを特徴とする情報処理装置。
  17. 情報処理装置にプリンタが接続され、
    前記情報処理装置には、前記プリンタに対応するサポートプログラムが組み込まれ、
    前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
    前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
    前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記サポートプログラムによって、前記印刷指示によって示される印刷パラメータあるいは前記印刷指示に応じて前記汎用印刷プログラムが生成する印刷データに基づいて、前記印刷データを送信するためのポートを前記汎用印刷プログラムが用いるポートである第1ポートから前記第1ポートとは異なるポートに切り替える切替条件を満たしているか否かを判断する判断ステップと、
    前記第1ポートとは異なる第2ポートに切り替えて前記印刷データを前記プリンタに送信するための処理である切替ステップと、
    を含むポートステップを含み、
    前記ポートステップでは、
    前記判断ステップにて前記切替条件を満たしていると判断した場合には前記切替ステップに移行し、前記判断ステップにて前記切替条件を満たしていないと判断した場合には前記切替ステップに移行しない、
    ことを特徴とする印刷方法。
JP2019017415A 2019-02-01 2019-02-01 サポートプログラム、情報処理装置、および印刷方法 Active JP7268375B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019017415A JP7268375B2 (ja) 2019-02-01 2019-02-01 サポートプログラム、情報処理装置、および印刷方法
US16/748,121 US11064088B2 (en) 2019-02-01 2020-01-21 Non-transitory computer-readable recording medium, information processing apparatus and printing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019017415A JP7268375B2 (ja) 2019-02-01 2019-02-01 サポートプログラム、情報処理装置、および印刷方法

Publications (2)

Publication Number Publication Date
JP2020126367A JP2020126367A (ja) 2020-08-20
JP7268375B2 true JP7268375B2 (ja) 2023-05-08

Family

ID=71836900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019017415A Active JP7268375B2 (ja) 2019-02-01 2019-02-01 サポートプログラム、情報処理装置、および印刷方法

Country Status (2)

Country Link
US (1) US11064088B2 (ja)
JP (1) JP7268375B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023145003A (ja) * 2022-03-28 2023-10-11 ブラザー工業株式会社 サポートプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001334731A (ja) 2000-05-29 2001-12-04 Seiko Instruments Inc 印刷装置
JP2004054909A (ja) 2002-05-31 2004-02-19 Canon Inc 情報処理装置、印刷システム、情報処理装置の印刷制御方法、及び印刷制御プログラム
JP2005182248A (ja) 2003-12-17 2005-07-07 Ricoh Co Ltd 印刷制御装置、印刷制御方法、印刷制御プログラム及び記録媒体
JP2008126586A (ja) 2006-11-22 2008-06-05 Oki Data Corp 画像処理装置
JP2012058846A (ja) 2010-09-06 2012-03-22 Seiko Epson Corp 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
JP2018025961A (ja) 2016-08-10 2018-02-15 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成方法及び情報処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3257588B2 (ja) * 1997-06-20 2002-02-18 セイコーエプソン株式会社 印刷データ生成装置及び印刷データ生成方法
JP4521299B2 (ja) * 2005-02-28 2010-08-11 株式会社リコー 情報処理装置、情報処理プログラム、およびコンピュータ読み取り可能な記憶媒体
KR100715850B1 (ko) * 2005-07-27 2007-05-11 삼성전자주식회사 Ftp 를 이용한 인쇄시스템 및 인쇄방법 그리고 그에적용되는 사용자 단말장치 및 화상형성장치
JP5522952B2 (ja) * 2009-02-02 2014-06-18 キヤノン株式会社 印刷制御装置、印刷制御方法、およびプログラム
JP6238528B2 (ja) * 2013-02-22 2017-11-29 キヤノン株式会社 印刷装置
JP6631278B2 (ja) 2016-01-29 2020-01-15 ブラザー工業株式会社 ドライバプログラム、及びドライバプログラムとプリンタとのセット

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001334731A (ja) 2000-05-29 2001-12-04 Seiko Instruments Inc 印刷装置
JP2004054909A (ja) 2002-05-31 2004-02-19 Canon Inc 情報処理装置、印刷システム、情報処理装置の印刷制御方法、及び印刷制御プログラム
JP2005182248A (ja) 2003-12-17 2005-07-07 Ricoh Co Ltd 印刷制御装置、印刷制御方法、印刷制御プログラム及び記録媒体
JP2008126586A (ja) 2006-11-22 2008-06-05 Oki Data Corp 画像処理装置
JP2012058846A (ja) 2010-09-06 2012-03-22 Seiko Epson Corp 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
JP2018025961A (ja) 2016-08-10 2018-02-15 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成方法及び情報処理装置

Also Published As

Publication number Publication date
US20200252519A1 (en) 2020-08-06
US11064088B2 (en) 2021-07-13
JP2020126367A (ja) 2020-08-20

Similar Documents

Publication Publication Date Title
JP7355147B2 (ja) アプリケーションプログラム
JP7405217B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7172672B2 (ja) アプリケーションプログラム、情報処理装置、および印刷方法
JP7415521B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7293684B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7435697B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2023073347A (ja) サポートプログラム、情報処理装置、および印刷方法
JP7268375B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7259373B2 (ja) サポートプログラム、情報処理装置、および印刷方法
WO2021230349A1 (ja) サポートプログラム、情報処理装置、プログラムセット、および、印刷方法
US11604613B2 (en) Support program for driverless general-purpose print program, information processing device, and printing method for aggregate printing
JP7200632B2 (ja) 印刷システム、プリンタ、およびサポートプログラム
WO2022163428A1 (ja) サポートプログラム
JP2014056424A (ja) 印刷制御装置、印刷制御方法及び印刷制御システム
JP2004070661A (ja) 印刷制御方法、情報処理装置および画像処理装置
JP2021179913A (ja) サポートプログラム、プログラムセット、情報処理装置、および印刷方法
JP7255277B2 (ja) 画像処理装置および画像処理システム
JP2021179912A (ja) サポートプログラム、情報処理装置、および印刷方法
JP2010044764A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2011037159A (ja) 画像形成装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7268375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150