JP7059752B2 - アプリケーションプログラム - Google Patents

アプリケーションプログラム Download PDF

Info

Publication number
JP7059752B2
JP7059752B2 JP2018065266A JP2018065266A JP7059752B2 JP 7059752 B2 JP7059752 B2 JP 7059752B2 JP 2018065266 A JP2018065266 A JP 2018065266A JP 2018065266 A JP2018065266 A JP 2018065266A JP 7059752 B2 JP7059752 B2 JP 7059752B2
Authority
JP
Japan
Prior art keywords
print
print server
printer
program
print data
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
JP2018065266A
Other languages
English (en)
Other versions
JP2019175313A (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 JP2018065266A priority Critical patent/JP7059752B2/ja
Priority to CN201910242033.XA priority patent/CN110321086B/zh
Priority to US16/367,415 priority patent/US11003401B2/en
Publication of JP2019175313A publication Critical patent/JP2019175313A/ja
Priority to US17/314,145 priority patent/US11573753B2/en
Priority to JP2022065577A priority patent/JP7355147B2/ja
Application granted granted Critical
Publication of JP7059752B2 publication Critical patent/JP7059752B2/ja
Priority to US18/164,786 priority patent/US11941310B2/en
Priority to JP2023150788A priority patent/JP2023168372A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • 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/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • 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/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • 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
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Description

本明細書に開示される技術分野は、プリンタを制御するアプリケーションプログラムに関する。
従来、プリンタドライバをインストールすることなく、オペレーティングシステム(以下、「OS」とする)の印刷機能を用いて印刷を行うドライバレス印刷技術が普及している。ここで、低価格機など,ドライバレス印刷技術に対応していないプリンタは、プリンタドライバをインストールできないOS環境では、印刷を実行できない。一方、例えば、特許文献1には、情報処理装置にプリンタドライバが組み込まれていない場合に、プリンタからプリンタドライバを送信し、情報処理装置がプリンタドライバのインストールを行い、プリントサーバとして動作する構成が開示されている。
特開2009-76068号公報
特許文献1のように情報処理装置がプリントサーバとして動作する構成においても、AirPrint(登録商標)などのドライバレス印刷技術に対応していないプリンタは、プリンタドライバをインストールできないOS環境では、OSの印刷機能を用いて当該プリンタを選択することはできないため、印刷を実行できない。
本明細書に開示される技術は、前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、情報処理装置からプリンタを利用する場合の、プリンタの利用可能性を高める技術を提供することにある。
この課題の解決を目的としてなされたアプリケーションプログラムは、情報処理装置の制御部によって実行可能なアプリケーションプログラムであって、管理プログラムとプリントサーバプログラムとを含み、前記管理プログラムは、前記制御部に、前記情報処理装置の通信インターフェースを介して特定のプリンタが接続されているか否かを判断する第1接続判断処理と、前記第1接続判断処理によって前記特定のプリンタが接続されていると判断した場合に、前記特定のプリンタに対応する前記プリントサーバプログラムが起動しているか否かを判断する起動判断処理と、前記起動判断処理にて前記プリントサーバプログラムが起動していないと判断した場合に、前記プリントサーバプログラムを起動する起動処理と、前記起動処理にて前記プリントサーバプログラムを起動する場合に、起動する前記プリントサーバプログラムが構成するプリントサーバを、前記情報処理装置のオペレーティングシステムにプリンタとして登録するプリントサーバ登録処理と、を実行させ、前記プリントサーバプログラムは、前記制御部に、前記オペレーティングシステムを介して、登録された前記プリントサーバを出力先として指定した印刷ジョブを受け付ける受付処理と、前記受付処理にて前記印刷ジョブを受け付けた場合に、前記印刷ジョブに基づいて、前記特定のプリンタが印刷可能な特定の形式の印刷データを取得する印刷データ取得処理と、前記印刷データ取得処理にて取得した前記印刷データを、前記特定のプリンタに送信する送信処理と、を実行させる、ことを特徴としている。
本明細書に開示されるアプリケーションプログラムは、特定のプリンタが接続されていると判断した場合、その特定のプリンタに対応するプリントサーバプログラムを起動して、起動するプリントサーバプログラムが構成するプリントサーバをオペレーティングシステムにプリンタとして登録する。これにより、オペレーティングシステムにおいて特定のプリンタが選択可能になる。さらに、プリントサーバプログラムは、登録されたプリントサーバを出力先として指定した印刷ジョブを受け付け、印刷ジョブに基づいて、特定のプリンタが印刷可能な特定の形式の印刷データを取得して、特定のプリンタに送信する。従って、特定のプリンタは、特定の形式の印刷データを受信するので、この印刷データを用いて印刷を実行できる。
上記の機能を実現するための制御方法、アプリケーションプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
本明細書に開示されるアプリケーションプログラムによれば、情報処理装置からプリンタを利用する場合の、プリンタの利用可能性を高める技術が実現される。
実施の形態にかかる情報処理装置の概略構成図である。 対応プリンタと非対応プリンタによる印刷手順を示す説明図である。 プリントサーバの起動と登録の手順を示すシーケンス図である。 印刷実行の手順を示すシーケンス図である。 プリントサーバの終了の手順を示すシーケンス図である。 サーバ起動処理の手順を示すフローチャートである。 他の情報処理装置のプリントサーバプログラムを利用する例を示す説明図である。 プリントサーバ処理の手順を示すフローチャートである。 印刷処理の手順を示すフローチャートである。
以下、本実施の形態にかかるアプリケーションプログラム(以下、「アプリ」とする)について、添付図面を参照しつつ詳細に説明する。本形態は、情報処理装置にてプリンタに印刷を実行させるためのアプリである。
本形態のアプリは、図1に示すように、プリンタが接続されている情報処理装置1にて実行される。情報処理装置1は、例えば、パーソナルコンピュータ、スマートフォン、タブレットコンピュータであり、プリンタに印刷させる画像データの生成及び編集、各プリンタへの印刷実行指示の送信等を行う装置である。
本形態の情報処理装置1は、図1に示すように、CPU11と、ROM12と、RAM13と、不揮発性メモリ14と、を含むコントローラ10を備えている。さらに、ユーザインターフェース(以下、「ユーザIF」とする)15と、ネットワークインターフェース(以下、「ネットワークIF」とする)16と、USBインターフェース(以下、「USB-IF」とする)17と、を備え、これらがコントローラ10に電気的に接続されている。CPU11は、制御部の一例である。CPU11のバッファ、ROM12、RAM13、不揮発性メモリ14は、メモリの一例である。ネットワークIF16とUSB-IF17は、それぞれ通信インターフェースの一例である。
ROM12には、情報処理装置1を起動するための起動プログラム等が記憶されている。RAM13は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ14は、例えば、HDD、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。
CPU11は、ROM12や不揮発性メモリ14から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。なお、図1中のコントローラ10は、情報処理装置1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際に情報処理装置1に存在する単一のハードウェアを表すとは限らない。
ユーザIF15は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアである。ユーザIF15は、タッチパネル等の入力機能と出力機能との両方を備えるものであっても良いし、ディスプレイとキーボードやマウスとの組み合わせによって構成されるものであっても良い。
ネットワークIF16は、インターネット等のネットワークを介して外部装置と通信を行うためのハードウェアを含む。ネットワークIF16の通信規格は、例えば、イーサネット(登録商標)、Wi-Fi(登録商標)などである。USB-IF17は、USB規格に基づく通信を行うためのハードウェアを含む。なお、ネットワークIF16やUSB-IF17の通信の態様は、有線でも無線でもよい。
本形態の情報処理装置1は、プリンタドライバをインストールせずに印刷を行う機能であるドライバレス印刷機能を有する。ドライバレス印刷機能は、印刷対象のコンテンツなどに基づいて、プリンタの機種に依存しない汎用の印刷データである規格印刷データを含む印刷ジョブを作成し、プリンタに送信する印刷機能であり、例えば、AirPrint(登録商標)、Mopria(登録商標)がある。
そして、情報処理装置1には、図1に示すように、2台のプリンタ2、3が接続されている。プリンタ2とプリンタ3とは、いずれも、印刷対象の媒体への画像の形成が可能な装置であり、例えば、ページプリンタ、コピー機、複合機、FAX装置である。
プリンタ2は、ネットワークIF16を介して情報処理装置1に接続され、情報処理装置1のドライバレス印刷機能に対応可能なプリンタである。以下、プリンタ2を、「対応プリンタ2」とする。対応プリンタ2は、情報処理装置1から送信される印刷ジョブの規格印刷データに基づいて、自機にて印刷に用いる印刷用画像データを作成するプログラムを有している。対応プリンタ2は、受信した規格印刷データに基づいて印刷用画像データを作成し、作成した印刷用画像データを用いて、印刷を実行する。
一方、プリンタ3は、ネットワークIF16またはUSB-IF17を介して情報処理装置1に接続され、情報処理装置1のドライバレス印刷機能に対応不可能なプリンタである。以下、プリンタ3を、「非対応プリンタ3」とする。非対応プリンタ3は、規格印刷データから印刷用画像データを作成する構成を有していない。そのため、非対応プリンタ3は、規格印刷データを受信しても印刷を実行できない。非対応プリンタ3は、自身にて対応可能な印刷データを受信すると、受信した印刷データを印刷用画像データとして、あるいは、受信した印刷データを印刷用画像データに変換して、印刷を実行する。また、非対応プリンタ3は、ドライバレス印刷機能に基づくプリンタ検索信号に応答しない。そのため、情報処理装置1のドライバレス印刷機能は、非対応プリンタ3を印刷装置として認識しない。非対応プリンタ3は、特定のプリンタの一例である。
本形態の情報処理装置1は、非対応プリンタ3に印刷を実行させるためのアプリを備えている。情報処理装置1の不揮発性メモリ14には、図1に示すように、OS41と、コンテンツ作成アプリ42と、管理プログラム43と、プリントサーバプログラム44と、を含む、各種のプログラムが記憶されている。なお、OS41の一部は、ROM12に含まれていてもよい。
本形態の情報処理装置1のOS41は、ドライバレス印刷機能を備え、個別の機種のプリンタに対応するプリンタドライバのインストールを受け付けないバージョンのものである。そのため、情報処理装置1の不揮発性メモリ14には、例えば、非対応プリンタ3のプリンタドライバプログラムは記憶されていない。
コンテンツ作成アプリ42は、文書、画像、図表等の印刷の対象となるコンテンツを作成するアプリである。そして、コンテンツ作成アプリ42には、ユーザ操作に基づく印刷の指示を受け付ける機能が含まれる。なお、情報処理装置1は、例えば、複数のコンテンツ作成アプリ42を有していてもよい。
管理プログラム43とプリントサーバプログラム44は、コンテンツ作成アプリ42などにて作成されたコンテンツに基づく印刷を、情報処理装置1に接続されている非対応プリンタ3に実行させる場合に使用されるプログラムである。管理プログラム43とプリントサーバプログラム44は、アプリケーションプログラムの一例である。
管理プログラム43は、非対応プリンタ3に対応するプリントサーバプログラム44を起動させ、プリントサーバプログラム44によって構成されるプリントサーバを、仮想プリンタとしてOS41に登録するプログラムである。OS41にプリントサーバを仮想プリンタとして登録することにより、コンテンツ作成アプリ42等では、その仮想プリンタを出力先として選択可能となる。プリントサーバプログラム44は、ドライバレス印刷機能によって出力される印刷ジョブを非対応プリンタ3にて対応可能な形式に変換して、非対応プリンタ3に送信するプログラムである。
なお、管理プログラム43は、情報処理装置1に1つであり、プリントサーバプログラム44は、1台の非対応プリンタ3ごとに1つである。複数の非対応プリンタ3が接続されている情報処理装置1では、非対応プリンタ3ごとにプリントサーバが起動され、それぞれ仮想のプリンタとして登録される。
本形態の情報処理装置1は、例えば、図2に示すように、対応プリンタ2に印刷を実行させる場合と非対応プリンタ3に印刷を実行させる場合とで、異なる処理を実行する。情報処理装置1のOS41は、例えば、コンテンツ作成アプリ42にて印刷指示を受け付けた場合、受け付けた印刷指示にて指定されたプリンタが対応プリンタ2であれば、ドライバレス印刷機能にて作成した規格印刷データを、対応プリンタ2に送信する。対応プリンタ2は、規格印刷データに基づいて、印刷を実行する。
一方、印刷指示にて指定されたプリンタが非対応プリンタ3に対応する仮想プリンタである場合には、情報処理装置1は、ドライバレス印刷機能にて作成した規格印刷データを、プリントサーバプログラム44に渡す。プリントサーバプログラム44は、規格印刷データに基づいて、非対応プリンタ3にて対応可能な形式の印刷データである個別印刷データを取得し、非対応プリンタ3に送信する。個別印刷データは、特定の形式の印刷データの一例である。
続いて、情報処理装置1にて非対応プリンタ3に印刷を実行させる動作について説明する。なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、管理プログラム43やプリントサーバプログラム44などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、情報処理装置1のOS41の他のモジュールとデータ交換するためのIF(APIとも呼ばれる)を用いたハードウェア制御も含む。なお、本明細書では、OS41の記載を省略して各プログラムの動作を説明する。
まず、図3~図5のシーケンス図を参照して、動作の概要を説明する。管理プログラム43による印刷準備動作について、図3のシーケンス図を参照して説明する。管理プログラム43は、例えば、情報処理装置1の起動時に起動され、起動すると、情報処理装置1に接続されているプリンタを検索する。管理プログラム43による検索は、ドライバレス印刷機能による検索とは異なり、情報処理装置1は、非対応プリンタ3であれば応答可能な検索信号をマルチキャストする。
そして、管理プログラム43は、情報処理装置1に接続されている非対応プリンタ3が有るか否かを判断する(手順51)。例えば、接続されているプリンタがドライバレス印刷機能に対応する対応プリンタ2のみであれば、情報処理装置1は、プリントサーバプログラム44を実行する必要はない。
非対応プリンタ3が検索された場合、管理プログラム43は、非対応プリンタ3にて印刷を実行させるためのプリンタ情報を取得する(手順52)。具体的には、管理プログラム43は、検索された非対応プリンタ3の機種情報、バージョン情報などを取得する。
そして、管理プログラム43は、検索された非対応プリンタ3に対応するプリントサーバプログラム44が起動していない場合、プリントサーバプログラム44を起動させる(手順53)。なお、複数の非対応プリンタ3が検索された場合、管理プログラム43は、1台ごとに手順52と手順53とを行う。
さらに、管理プログラム43は、OS41にプリントサーバプログラム44によって構成されるプリントサーバが登録されているか否かを判断する。つまり、管理プログラム43は、OS41に登録されているプリンタを検索し(手順54)、OS41からプリンタの一覧を取得する(手順55)。取得したプリンタの一覧の中に、プリントサーバプログラム44によって構成されるプリントサーバが含まれていない場合、管理プログラム43は、プリントサーバプログラム44によって構成されるプリントサーバを、検索された非対応プリンタ3に対応する仮想プリンタとして、OS41に登録する(手順56)。
次に、プリントサーバプログラム44を用いた印刷動作について、図4のシーケンス図を参照して説明する。情報処理装置1は、実行中のコンテンツ作成アプリ42にて、ユーザによるコンテンツの印刷指示を受け付ける(手順61)。コンテンツ作成アプリ42は、受け付けた印刷指示に基づいて印刷ジョブを作成し、OS41に登録する(手順62)。OS41は、受け付けた印刷ジョブをドライバレス印刷機能にて処理し、規格印刷データを含む印刷ジョブを生成する。
OS41は、出力先として非対応プリンタ3に対応する仮想プリンタが指定されている印刷ジョブを、非対応プリンタ3に対応するプリントサーバプログラム44に渡す(手順63)。プリントサーバプログラム44は、出力先である非対応プリンタ3を検索し、印刷可能な状態であるか否かを判断する(手順64)。
非対応プリンタ3は、印刷可能な状態であれば、プリンタ情報をプリントサーバプログラム44に送信する(手順65)。プリントサーバプログラム44は、プリンタ情報に基づいて、規格印刷データから非対応プリンタ3にて対応可能な形式の個別印刷データを生成する。さらに、プリントサーバプログラム44は、プリンタ情報に基づいて、印刷ジョブに含まれる印刷設定を引き継ぎ、非対応プリンタ3にて対応可能な形式の情報とする(手順66)。
そして、プリントサーバプログラム44は、生成した個別印刷データと印刷設定とを非対応プリンタ3に送信する(手順67)。非対応プリンタ3は、受信した個別印刷データに基づく印刷を実行し(手順68)、印刷完了などのステータス情報を、プリントサーバプログラム44に送信する(手順69)。プリントサーバプログラム44は、受信したステータス情報をOS41に渡す(手順70)。
一方、プリントサーバプログラム44は、手順64によるプリンタの検索によって、非対応プリンタ3を検索できなかった場合、非対応プリンタ3がオフライン状態であることを示すステータス情報をOS41に渡す(手順71)。OS41は、手順70または手順71にて受け取ったステータス情報を、例えば、コンテンツ作成アプリ42等を介してユーザに通知する(手順72)。
次に、プリントサーバプログラム44の終了動作について、図5のシーケンス図を参照して説明する。プリントサーバプログラム44は、印刷ジョブの処理を実行していない所定のタイミングで、非対応プリンタ3を検索する(手順81)。そして、非対応プリンタ3からの応答が無く、検索に失敗した場合、プリントサーバプログラム44は、非対応プリンタ3が接続されていないことをエラーとしてユーザに通知する(手順82)。
そして、例えば、ユーザ操作によりサーバの終了の指示を受け付けた場合、プリントサーバプログラム44は、自身によって構成されるプリントサーバがOS41に登録済みであれば、OS41から対応する仮想プリンタの登録を削除する(手順83)。さらに、プリントサーバプログラム44は、自身を終了させる(手順84)。不要のプリントサーバプログラム44を終了させることで、情報処理装置1の処理の負荷が軽減される。
次に、各プログラムの動作について、図6~図9のフローチャートを参照して詳細に説明する。なお、以下の説明中に付記した手順番号は、図3~図5のシーケンス図中に示す手順番号に対応する。
まず、管理プログラム43によるサーバ起動処理の手順について、図6のフローチャートを参照して説明する。このサーバ起動処理は、例えば、情報処理装置1の起動、プリンタの接続、印刷指示の受け付けを契機に、CPU11にて実行される。
サーバ起動処理では、CPU11は、まず、ドライバレス印刷環境であるか否かを判断する(S101)。CPU11は、例えば、情報処理装置1のOS41のバージョン情報を取得し、OS41がドライバレス印刷機能を備え、プリンタドライバのインストールを受け付けない動作環境であるか否かを判断する。また、CPU11は、プリンタドライバがインストールされているか否かを判断しても良い。ドライバレス印刷環境ではないと判断した場合(S101:NO)、CPU11は、サーバ起動処理を終了する。
プリンタドライバのインストールが可能な環境であれば、プリンタドライバをインストールすることで、処理の負荷を軽減できる。また、OS41のバージョンを確認することで、例えば、OS41のバージョンアップによって、ドライバレス印刷の動作環境に変化した場合に、管理プログラム43とプリントサーバプログラム44とを機能させることができる。従って、ユーザに従前と同様の使い勝手での印刷環境を継続して提供できる。
ドライバレス印刷環境であると判断した場合(S101:YES)、CPU11は、情報処理装置1に接続されているプリンタを順に検索する(S102)。そして、CPU11は、検索されたプリンタがドライバレス印刷機能に非対応の非対応プリンタ3であるか否かを判断する(S103、手順51)。S103は、第1接続判断処理の一例である。
例えば、CPU11は、ネットワークIF16を介して接続されている各プリンタに問い合わせ、ドライバレス印刷機能に対応する能力を有しているか否かを判断する。また、例えば、情報処理装置1が接続されている外部機器のリストを備えていれば、CPU11は、S103にてリスト中の非対応プリンタ3の接続確認を行っても良い。
非対応プリンタ3が検索されたと判断した場合(S103:YES)、CPU11は、プリンタ情報を取得する(S104、手順52)。CPU11は、プリンタ情報として、例えば、プリンタの機種情報やバージョン情報、プリンタにてサポートする印刷データのデータ形式を取得する。CPU11は、検索された非対応プリンタ3に問い合わせてプリンタ情報を取得しても良いし、外部機器のリスト等からプリンタ情報を取得しても良い。
さらに、CPU11は、検索された非対応プリンタ3に対応するプリントサーバプログラム44が起動しているか否かを判断する(S105)。S105は、起動判断処理の一例である。プリントサーバプログラム44が起動していないと判断した場合(S105:NO)、CPU11は、情報処理装置1と通信可能な他の装置で、非対応プリンタ3に対応するプリントサーバプログラム44が起動しているか否かを判断する(S106)。S106も、起動判断処理の一例である。
例えば、図7に示すように、複数の情報処理装置1、100、200が互いに通信可能に接続され、同じ非対応プリンタ3を利用可能なシステムでは、他の情報処理装置100にてプリントサーバプログラム44が起動している場合、情報処理装置1は、他の情報処理装置100のプリントサーバプログラム44を利用できる。この場合、他の情報処理装置100のプリントサーバプログラム44によって構成されるプリントサーバを仮想プリンタとしてOS41に登録することで、情報処理装置1は、そのプリントサーバプログラム44を利用できる。この場合、他の情報処理装置100にて起動しているプリントサーバプログラム44が構成しているプリントサーバは、既存プリントサーバの一例である。
情報処理装置1は、例えば、図7に示すように、規格印刷データを他の情報処理装置100に渡し、他の情報処理装置100のプリントサーバプログラム44に個別印刷データを作成させて、他の情報処理装置100から非対応プリンタ3に送信させることもできる。このようにすれば、自装置でプリントサーバプログラム44を起動する必要がなく、自装置での処理の負荷が軽減される。
自装置でも他の装置でも、プリントサーバプログラム44が起動していないと判断した場合(S106:NO)、CPU11は、検索された非対応プリンタ3に対応するプリントサーバプログラム44を起動する(S107,手順53)。S107は、起動処理の一例である。
また、検索された非対応プリンタ3に対応するプリントサーバプログラム44が他の装置にて起動していると判断した場合(S106:YES)、CPU11は、プリントサーバプログラム44によって構成されるプリントサーバがOS41に登録されているか否かを判断する(S108)。具体的には、CPU11は、例えば、OS41に問い合わせてOS41に登録されているプリンタの一覧を取得し(手順54、55)、その一覧中に、非対応プリンタ3に対応する仮想プリンタとして登録されているプリントサーバが含まれているか否かを判断する。
そして、S107の後、または、非対応プリンタ3に対応するプリントサーバがOS41に登録されていないと判断した場合(S108:NO)、CPU11は、プリントサーバプログラム44によって構成されるプリントサーバをプリンタとしてOS41に登録する(S109、手順56)。S107の後に実行されるS109は、プリントサーバ登録処理の一例である。また、S108にてNOと判断した後に実行されるS109は、既存プリントサーバ登録処理の一例である。
S109では、CPU11は、プリントサーバプログラム44によって構成されるプリントサーバを、検索された非対応プリンタ3のモデル名や愛称等を用いて登録する。ユーザによる名称の指定を受け付けても良い。プリントサーバプログラム44によって構成されるプリントサーバを非対応プリンタ3としてOS41に登録することで、非対応プリンタ3が、コンテンツ作成アプリ42等で印刷指示を行う際、印刷装置としての選択の対象となる。
一方、非対応プリンタ3ではないと判断した場合(S103:NO)、または、プリントサーバプログラム44が起動していると判断した場合(S105:YES)、他の装置のプリントサーバプログラム44によって構成されるプリントサーバがOS41に登録されていると判断した場合(S108:YES)、S109の後、CPU11は、プリンタの検索が終了したか否かを判断する(S110)。検索が終了していないと判断した場合(S110:NO)、CPU11は、S102に戻って、さらにプリンタの検索を行う。一方、検索が終了したと判断した場合(S110:YES)、CPU11は、サーバ起動処理を終了する。
次に、プリントサーバプログラム44によるプリントサーバ処理の手順について、図8のフローチャートを参照して説明する。このプリントサーバ処理は、サーバ起動処理のS107にてプリントサーバプログラム44が起動されたことを契機に、CPU11にて実行される。
プリントサーバ処理では、CPU11は、非対応プリンタ3に対応する仮想プリンタを出力先として指定した印刷ジョブが有るか否かを判断する(S201)。印刷ジョブは、例えば、コンテンツ作成アプリ42にて印刷の指示を受け付けたことにより生成され、OS41に登録される(図4の手順62)。CPU11は、S201にて、例えば、OS41に定期的に問い合わせる、または、OS41の印刷用のスプーラを監視することにより、該当する印刷ジョブが有るか否かを判断する。また、CPU11は、情報処理装置1に接続されている他の情報処理装置から、非対応プリンタ3に対応する仮想プリンタを出力先として指定した印刷ジョブを受け付けても良い。
印刷ジョブが有ると判断した場合(S201:YES)、CPU11は、このプリントサーバプログラム44に対応する非対応プリンタ3を検索して(S202、手順64)、非対応プリンタ3が検索されたか否かを判断する(S203)。非対応プリンタ3が検索されたと判断した場合(S203:YES)、CPU11は、印刷処理を実行する(S204)。印刷処理は、プリントサーバプログラム44にて非対応プリンタ3に印刷を実行させる処理である。
印刷処理の手順について、図9のフローチャートを参照して説明する。印刷処理では、CPU11は、まず、印刷ジョブを取得する(S301)。S301は、受付処理の一例である。さらに、CPU11は、取得した印刷ジョブに含まれる印刷データを取得する(S302)。印刷ジョブに含まれる印刷データは、ドライバレス印刷機能によって作成された形式のデータであり、例えば、規格印刷データである。印刷ジョブに含まれる印刷データは、元印刷データの一例である。
そして、CPU11は、印刷ジョブに含まれる印刷データが、非対応プリンタ3にてサポート可能な形式のデータであるか否かを判断する(S303)。S303は、形式判断処理の一例である。非対応プリンタ3にてサポート可能な形式は、個別印刷データのみとは限らない。また、ドライバレス印刷機能にて作成される印刷データは、規格印刷データのみとは限らない。つまり、非対応プリンタ3は、ドライバレス印刷機能にて作成された印刷データであっても、印刷可能な場合もある。
印刷ジョブに含まれる印刷データが、非対応プリンタ3にてサポート不可能な形式のデータであると判断した場合(S303:NO)、CPU11は、印刷データを、非対応プリンタ3にてサポートする形式の印刷データである個別印刷データに変換する(S304、手順66)。
なお、印刷データの変換は、プリントサーバプログラム44にて行っても良いし、管理プログラム43などの他のプログラムにて行っても良い。例えば、CPU11は、印刷ジョブに含まれる印刷データと非対応プリンタ3にて対応可能な印刷データの形式の情報とを管理プログラム43に渡し、管理プログラム43に印刷データの変換を要求しても良い。その場合、S304は、変換処理の一例である。
管理プログラム43が印刷データの変換を行うことで、プリントサーバプログラム44には変換処理が不要であり、個々のプリントサーバプログラム44のサイズを小さくできる。特に、複数のプリントサーバプログラム44が起動したとしても、1つのプログラムで対応できることから、情報処理装置1で起動しているプログラムのサイズを小さくできる。一方、個々のプリントサーバプログラム44が印刷データの変換を行えば、管理プログラム43とのデータの受け渡しの処理が無く、印刷データの変換が高速化される。
そして、CPU11は、変換後の個別印刷データを取得する(S305)。S305は、印刷データ取得処理の一例である。そして、印刷ジョブに含まれる印刷データが、非対応プリンタ3にてサポート可能な形式のデータであると判断した場合(S303:YES)、または、S305の後、CPU11は、印刷設定を引き継ぐ(S306、手順66)。S303にてYESと判断した場合には、S302が、印刷データ取得処理の一例である。
印刷設定には、例えば、印刷部数の設定や両面印刷の設定が含まれる。非対応プリンタ3は、ドライバレス印刷機能にて付加される印刷設定のコマンドに適切に対応できるとは限らない。CPU11は、ドライバレス印刷機能による印刷設定のコマンドを、非対応プリンタ3の印刷設定のコマンドに変更することで、非対応プリンタ3にて対応可能な印刷設定を付加した印刷ジョブを作成する。
CPU11は、ネットワークIF16またはUSB-IF17を制御し、S306にて引き継いだ印刷設定と、S302またはS305にて取得した印刷データと、を含む印刷ジョブを、非対応プリンタ3に送信させる(S307)。S307は、送信処理の一例である。さらに、CPU11は、送信を完了したか否かを判断する(S308)。
送信を完了したと判断した場合(S308:YES)、CPU11は、送信完了のステータス情報をOS41に渡す(S309)。一方、送信中にエラーが発生した等により、送信を完了しなかったと判断した場合(S308:NO)、CPU11は、エラー発生のステータス情報をOS41に渡す(S310)。S309またはS310の後、CPU11は、印刷処理を終了して、プリントサーバ処理に戻る。なお、印刷ジョブが他の装置から受信したものである場合、S309またはS310では、ステータス情報を印刷ジョブの送信元の装置へ送信するとよい。
図8の説明に戻り、S204の印刷処理の終了後、CPU11は、S201に戻って、さらに印刷ジョブが有るか否かを判断する。そして、印刷ジョブが無いと判断した場合(S201:NO)、CPU11は、所定のタイミングであるか否かを判断する(S205)。CPU11は、例えば、プリントサーバプログラム44の起動中であって、起動または前回の印刷処理から所定時間が経過した場合に、所定のタイミングであると判断する。また、所定のタイミングは、1回のみでも良いし、定期的に所定のタイミングであると判断しても良い。
所定のタイミングであると判断した場合(S205:YES)、CPU11は、プリントサーバプログラム44に対応する非対応プリンタ3を検索する(S206、手順81)。S206は、S202と同様の処理である。そして、CPU11は、非対応プリンタ3が検索されたか否かを判断する(S207)。S207は、第2接続判断処理の一例である。
S202またはS206の検索によって非対応プリンタ3が検索されなかったと判断した場合(S203:NO、または、S207:NO)、CPU11は、エラーを通知する(S208)。CPU11は、例えば、ユーザIF15を制御して、非対応プリンタ3がオフラインであることを示すエラー情報を表示させる。非対応プリンタ3がオフラインであれば印刷を行わせることができない。S203やS207にてNOの場合に印刷処理を実行しないことで、CPU11の処理の負荷を軽減できる。
そして、CPU11は、プリントサーバプログラム44を終了させるか否かを判断する(S209)。CPU11は、例えば、ユーザIF15を制御して、プリントサーバプログラム44を終了させるか否かをユーザに問い合わせる表示を行わせ、ユーザの指示を受け付ける。あるいは、CPU11は、非対応プリンタ3のオフライン状態が所定時間以上継続している等の条件を満たした場合、プリントサーバプログラム44を終了させると判断してもよい。
所定のタイミングではないと判断した場合(S205:NO)、または、非対応プリンタ3が検索された場合(S207:YES)、または、プリントサーバプログラム44を終了させないと判断した場合(S209:NO)、CPU11は、S201に戻って、印刷ジョブが有るか否かを判断する。
一方、プリントサーバプログラム44を終了させると判断した場合(S209:YES)、CPU11は、このプリントサーバプログラム44によって構成されるプリントサーバがOS41に登録されているか否かを判断する(S210)。登録されていると判断した場合(S210:YES)、CPU11は、登録を削除する(S211)。
プリントサーバプログラム44によって構成されるプリントサーバの登録を削除することで、通常のアプリからも非対応プリンタ3に対応する仮想プリンタが選択できなくなり、ユーザが誤って印刷指示を入力することを抑制できる。なお、情報処理装置1のプリントサーバプログラム44によって構成されるプリントサーバが、他の装置に登録されている場合には、登録を削除するよう他の装置に通知するとよい。
S211の後、または、登録されていないと判断した場合(S210:NO)、CPU11は、プリントサーバプログラム44を終了し(S212)、プリントサーバ処理を終了する。S212は、終了処理の一例である。なお、プリントサーバプログラム44を終了する際、終了をユーザに通知しても良い。非対応プリンタ3がオフラインの場合、印刷を行わせることができない。そのため、プリントサーバプログラム44を終了させることで、情報処理装置1の処理の負荷が軽減される。
以上、詳細に説明したように、本形態によれば、管理プログラム43は、ドライバレス印刷機能に対応していない非対応プリンタ3が接続されている場合に、非対応プリンタ3に対応するプリントサーバプログラム44を起動する。そして、プリントサーバプログラム44は、OS41を介して印刷ジョブを受け付け、受け付けた印刷ジョブの規格印刷データに基づいて、非対応プリンタ3にて印刷可能な個別印刷データを取得して、非対応プリンタ3に送信する。これにより、非対応プリンタ3用のプリンタドライバがインストールされない環境であっても、非対応プリンタ3に印刷を行わせることができる。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、本形態を構成する情報処理装置やプリンタの台数は、図1や図7の例に限らない。例えば、対応プリンタ2は、接続されていなくてもよい。
また、例えば、他の装置で起動しているプリントサーバプログラム44の利用は行わないとしても良い。例えば、サーバ起動処理のS106を削除し、S105にてNOと判断した場合には、S107に進むとしても良い。ただし、他の装置のプリントサーバプログラム44を利用することで、情報処理装置1の処理の負荷は軽減される。
また、例えば、ドライバレス印刷機能によって作成された印刷ジョブの印刷データが、非対応プリンタ3にてサポート可能な形式であるか否かの判断は、行わなくても良い。つまり、印刷処理のS303を削除し、毎回、印刷データの変換を行うとしても良い。ただし、サポート可能な形式の印刷データである可能性もあることから、S303の判断を行うことで、処理の負荷が軽減される可能性もある。
また、例えば、プリンタの検索は、印刷データの送信時に行うとしても良い。つまり、非対応プリンタ3がオフラインであっても、印刷データの変換までは行うとしても良い。例えば、プリントサーバ処理のS202とS203に代えて、印刷処理のS307の前に非対応プリンタ3を検索しても良い。
また、非対応プリンタ3がオフラインであっても、プリントサーバプログラム44は、終了させなくても良い。また、プリントサーバプログラム44を終了する際の、ユーザへの通知は行わなくても良い。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 情報処理装置
3 非対応プリンタ
11 CPU
14 不揮発性メモリ
16 ネットワークIF
17 USB-IF
41 OS
43 管理プログラム
44 プリントサーバプログラム

Claims (10)

  1. 情報処理装置の制御部によって実行可能なアプリケーションプログラムであって、管理プログラムとプリントサーバプログラムとを含み、
    前記管理プログラムは、前記制御部に、
    前記情報処理装置の通信インターフェースを介して特定のプリンタが接続されているか否かを判断する第1接続判断処理と、
    前記第1接続判断処理によって前記特定のプリンタが接続されていると判断した場合に、前記特定のプリンタに対応する前記プリントサーバプログラムが起動しているか否かを判断する起動判断処理と、
    前記起動判断処理にて前記プリントサーバプログラムが起動していないと判断した場合に、前記プリントサーバプログラムを起動する起動処理と、
    前記起動処理にて前記プリントサーバプログラムを起動する場合に、起動する前記プリントサーバプログラムが構成するプリントサーバを、前記情報処理装置のオペレーティングシステムにプリンタとして登録するプリントサーバ登録処理と、
    を実行させ、
    前記プリントサーバプログラムは、前記制御部に、
    前記オペレーティングシステムを介して、登録された前記プリントサーバを出力先として指定した印刷ジョブを受け付ける受付処理と、
    前記受付処理にて前記印刷ジョブを受け付けた場合に、前記印刷ジョブに基づいて、
    前記特定のプリンタが印刷可能な特定の形式の印刷データを取得する印刷データ取得処理と、
    前記印刷データ取得処理にて取得した前記印刷データを、前記特定のプリンタに送信する送信処理と、
    を実行させる、
    ことを特徴とするアプリケーションプログラム。
  2. 請求項1に記載するアプリケーションプログラムにおいて、
    前記プリントサーバプログラムの前記印刷データ取得処理では、
    前記プリントサーバプログラムが前記管理プログラムに対して、前記印刷ジョブに含まれる前記特定の形式とは異なる形式の元印刷データを渡して前記特定の形式の印刷データへの変換を要求し、
    前記管理プログラムは、前記制御部に、
    前記印刷データ取得処理にて渡された前記元印刷データから、前記特定の形式の印刷データに変換する変換処理を実行させ、
    前記プリントサーバプログラムの前記印刷データ取得処理では、
    前記特定の形式の印刷データへの変換を要求した後、前記管理プログラムが前記変換処理によって変換した印刷データを、前記プリントサーバプログラムが取得する、
    ことを特徴とするアプリケーションプログラム。
  3. 請求項1に記載するアプリケーションプログラムにおいて、
    前記プリントサーバプログラムの前記印刷データ取得処理では、
    前記プリントサーバプログラムが、前記印刷ジョブに含まれる前記特定の形式とは異なる形式の元印刷データを、前記特定の形式の印刷データに変換する、
    ことを特徴とするアプリケーションプログラム。
  4. 請求項1から請求項3のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記プリントサーバプログラムは、前記制御部に、
    前記受付処理にて受け付けた前記印刷ジョブに含まれる元印刷データが、前記特定のプリンタが印刷可能な形式の印刷データであるか否かを判断する形式判断処理を実行させ、
    前記形式判断処理にて前記特定のプリンタが印刷可能な形式であると判断した場合に、
    前記プリントサーバプログラムの前記印刷データ取得処理では、前記元印刷データを前記特定の形式の印刷データとして、前記プリントサーバプログラムが取得する、
    ことを特徴とするアプリケーションプログラム。
  5. 請求項1から請求項4のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記管理プログラムの前記起動判断処理では、
    前記情報処理装置に接続されている別の情報処理装置にて前記プリントサーバプログラムが起動している場合であっても、前記プリントサーバプログラムが起動していると判断し、
    前記管理プログラムは、前記制御部に、
    前記起動判断処理にて前記プリントサーバプログラムが起動していると判断した場合であっても、前記別の情報処理装置の前記プリントサーバプログラムが構成している既存プリントサーバが前記オペレーティングシステムに登録されていない場合、前記既存プリントサーバを、前記オペレーティングシステムにプリンタとして登録する既存プリントサーバ登録処理を実行させる、
    ことを特徴とするアプリケーションプログラム。
  6. 請求項1から請求項5のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記プリントサーバプログラムは、前記制御部に、
    前記プリントサーバプログラムが起動中の所定のタイミングに、前記通信インターフェースを介して前記特定のプリンタが接続されているか否かを判断する第2接続判断処理と、
    前記第2接続判断処理によって前記特定のプリンタが接続されていないと判断した場合に、前記プリントサーバプログラムを終了させる終了処理と、
    を実行させる、
    ことを特徴とするアプリケーションプログラム。
  7. 請求項6に記載するアプリケーションプログラムにおいて、
    前記プリントサーバプログラムの前記終了処理では、
    前記オペレーティングシステムから前記プリントサーバの登録を削除する、
    ことを特徴とするアプリケーションプログラム。
  8. 請求項1から請求項7のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記プリントサーバプログラムの前記印刷データ取得処理では、
    前記受付処理にて前記印刷ジョブを受け付けた場合に、前記通信インターフェースを介して前記特定のプリンタが接続されているか否かを判断し、前記特定のプリンタが接続されていると判断したことを条件として、前記特定の形式の印刷データを取得する、
    ことを特徴とするアプリケーションプログラム。
  9. 請求項1から請求項8のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記管理プログラムは、
    記情報処理装置のメモリに、前記特定のプリンタに対応するプリンタドライバプログラムが記憶されている場合には、前記起動判断処理および前記起動処理を実行しない、
    ことを特徴とするアプリケーションプログラム。
  10. 請求項1から請求項8のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記管理プログラムは、
    記オペレーティングシステムのバージョンが、前記特定のプリンタに対応するプリンタドライバプログラムをインストール可能なバージョンである場合には、前記起動判断処理および前記起動処理を実行しない、
    ことを特徴とするアプリケーションプログラム。
JP2018065266A 2018-03-29 2018-03-29 アプリケーションプログラム Active JP7059752B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2018065266A JP7059752B2 (ja) 2018-03-29 2018-03-29 アプリケーションプログラム
US16/367,415 US11003401B2 (en) 2018-03-29 2019-03-28 Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device
CN201910242033.XA CN110321086B (zh) 2018-03-29 2019-03-28 非暂时性计算机可读记录介质以及控制信息处理装置的方法
US17/314,145 US11573753B2 (en) 2018-03-29 2021-05-07 Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device with driverless printing function
JP2022065577A JP7355147B2 (ja) 2018-03-29 2022-04-12 アプリケーションプログラム
US18/164,786 US11941310B2 (en) 2018-03-29 2023-02-06 Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device
JP2023150788A JP2023168372A (ja) 2018-03-29 2023-09-19 アプリケーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018065266A JP7059752B2 (ja) 2018-03-29 2018-03-29 アプリケーションプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022065577A Division JP7355147B2 (ja) 2018-03-29 2022-04-12 アプリケーションプログラム

Publications (2)

Publication Number Publication Date
JP2019175313A JP2019175313A (ja) 2019-10-10
JP7059752B2 true JP7059752B2 (ja) 2022-04-26

Family

ID=68056221

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2018065266A Active JP7059752B2 (ja) 2018-03-29 2018-03-29 アプリケーションプログラム
JP2022065577A Active JP7355147B2 (ja) 2018-03-29 2022-04-12 アプリケーションプログラム
JP2023150788A Pending JP2023168372A (ja) 2018-03-29 2023-09-19 アプリケーションプログラム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022065577A Active JP7355147B2 (ja) 2018-03-29 2022-04-12 アプリケーションプログラム
JP2023150788A Pending JP2023168372A (ja) 2018-03-29 2023-09-19 アプリケーションプログラム

Country Status (3)

Country Link
US (3) US11003401B2 (ja)
JP (3) JP7059752B2 (ja)
CN (1) CN110321086B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259483B2 (ja) * 2019-03-29 2023-04-18 ブラザー工業株式会社 プリントサーバプログラム
JP7422462B2 (ja) 2020-01-31 2024-01-26 キヤノン株式会社 プログラム、及び情報処理装置
JP7422463B2 (ja) 2020-01-31 2024-01-26 キヤノン株式会社 プログラム、及び情報処理装置
JP7415682B2 (ja) 2020-03-10 2024-01-17 ブラザー工業株式会社 プログラムセット、読取結果の取得方法および情報処理装置
JP2021174196A (ja) 2020-04-23 2021-11-01 セイコーエプソン株式会社 印刷制御装置、印刷制御方法、及び印刷制御プログラム
JP2021174179A (ja) 2020-04-23 2021-11-01 セイコーエプソン株式会社 印刷制御装置、印刷制御方法、及び印刷制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250892A (ja) 2012-06-01 2013-12-12 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2015186228A (ja) 2014-03-26 2015-10-22 富士ゼロックス株式会社 画像処理システム、中継装置およびプログラム
JP2015185048A (ja) 2014-03-25 2015-10-22 富士ゼロックス株式会社 画像形成システム、中継装置およびプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040130744A1 (en) 2003-01-03 2004-07-08 Vincent Wu Online print with driverless web print server
US20080306902A1 (en) 2003-01-03 2008-12-11 Gava Fabio M System and method for tracking print job status
US7312887B2 (en) * 2003-01-03 2007-12-25 Toshiba Corporation Internet print protocol print dispatch server
US20060074840A1 (en) 2004-09-24 2006-04-06 Toshiba Corporation System and method for tracking print job status
JP4534556B2 (ja) 2004-03-31 2010-09-01 セイコーエプソン株式会社 サービス提供システム
JP4844871B2 (ja) 2006-02-28 2011-12-28 ブラザー工業株式会社 インストーラを作成するためのプログラム,該プログラムを記憶する記憶媒体,インストーラの作成方法,情報処理装置
US8220005B2 (en) * 2007-08-30 2012-07-10 Ricoh Company, Limited Apparatus, system, and computer program product for processing information
JP5044522B2 (ja) 2008-10-20 2012-10-10 株式会社沖データ 画像処理装置
JP2010198418A (ja) 2009-02-26 2010-09-09 Brother Ind Ltd 仮想出力装置登録プログラムおよびこの仮想出力装置登録プログラムを実行するコンピュータ
JP5528136B2 (ja) * 2010-01-29 2014-06-25 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
US20110194123A1 (en) * 2010-02-09 2011-08-11 Apple Inc. Printer that supports driverless printing
EP2402860B1 (en) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Data processing apparatus
JP2012048457A (ja) 2010-08-26 2012-03-08 Canon Inc 印刷サーバ装置、印刷装置、情報処理方法及びプログラム
EP2506160A1 (en) * 2011-04-01 2012-10-03 Waters Technologies Corporation Unified data structures for scientific data information systems
JP5791390B2 (ja) * 2011-06-28 2015-10-07 キヤノン株式会社 印刷システム、プリントサーバ、印刷管理方法、およびプログラム
JP2013239144A (ja) * 2012-04-20 2013-11-28 Canon Inc 印刷システム、および印刷中継サーバー、およびクライアント装置。
JP6803647B2 (ja) 2014-11-20 2020-12-23 コニカミノルタ株式会社 端末装置、プリンタ制御方法、およびコンピュータプログラム
KR20170019226A (ko) * 2015-08-11 2017-02-21 에스프린팅솔루션 주식회사 클라우드 프린트 서비스를 이용하는 방법 및 이를 수행하기 위한 장치
JP6799396B2 (ja) * 2016-07-01 2020-12-16 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250892A (ja) 2012-06-01 2013-12-12 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2015185048A (ja) 2014-03-25 2015-10-22 富士ゼロックス株式会社 画像形成システム、中継装置およびプログラム
JP2015186228A (ja) 2014-03-26 2015-10-22 富士ゼロックス株式会社 画像処理システム、中継装置およびプログラム

Also Published As

Publication number Publication date
US11003401B2 (en) 2021-05-11
CN110321086B (zh) 2022-12-16
US11941310B2 (en) 2024-03-26
CN110321086A (zh) 2019-10-11
US20190303068A1 (en) 2019-10-03
JP2023168372A (ja) 2023-11-24
JP2019175313A (ja) 2019-10-10
US20230185497A1 (en) 2023-06-15
US20210263691A1 (en) 2021-08-26
JP7355147B2 (ja) 2023-10-03
US11573753B2 (en) 2023-02-07
JP2022093385A (ja) 2022-06-23

Similar Documents

Publication Publication Date Title
JP7059752B2 (ja) アプリケーションプログラム
JP7022558B2 (ja) 印刷システム、印刷装置と情報処理装置とその制御方法、及びプログラム
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2023059889A (ja) サポートプログラム、情報処理装置、および印刷方法
JP2022164669A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6191523B2 (ja) 画像形成システム、中継装置およびプログラム
JP2013073369A (ja) 印刷制御システム、印刷制御方法、画像処理装置、及び印刷制御プログラム
JP2016118983A (ja) 情報処理装置、印刷制御方法、およびプログラム
JP2016083870A (ja) 画像形成装置及びその制御方法、システム
WO2020158715A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2012155401A (ja) 印刷システム、印刷装置、印刷システムの制御方法、印刷装置の制御方法、プログラム
JP7099007B2 (ja) アプリケーションプログラム
WO2021230349A1 (ja) サポートプログラム、情報処理装置、プログラムセット、および、印刷方法
JP2019174999A (ja) 印刷システム、印刷方法、画像形成装置およびその制御方法、及びプログラム
JP2021043547A (ja) 情報処理装置および情報処理装置の制御方法ならびにプログラム
JP7439973B2 (ja) プログラムセット、プログラム、および情報処理装置
JP2006256041A (ja) 画像形成装置及び画像形成方法
JP7404810B2 (ja) 画像読取装置
JP7259483B2 (ja) プリントサーバプログラム
JP7415682B2 (ja) プログラムセット、読取結果の取得方法および情報処理装置
JP2012064184A (ja) 印刷システムおよびプリンタ
WO2022202480A1 (ja) サポートプログラムおよび印刷システム
JP2021179912A (ja) サポートプログラム、情報処理装置、および印刷方法
JP2022107793A (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP2021179913A (ja) サポートプログラム、プログラムセット、情報処理装置、および印刷方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220303

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: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R150 Certificate of patent or registration of utility model

Ref document number: 7059752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150