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

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

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

<>
  • 特開-情報処理プログラム 図1
  • 特開-情報処理プログラム 図2
  • 特開-情報処理プログラム 図3
  • 特開-情報処理プログラム 図4
  • 特開-情報処理プログラム 図5
  • 特開-情報処理プログラム 図6
  • 特開-情報処理プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143258
(43)【公開日】2024-10-11
(54)【発明の名称】情報処理プログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20241003BHJP
   H04N 1/00 20060101ALI20241003BHJP
   B41J 29/38 20060101ALI20241003BHJP
【FI】
G06F3/12 324
G06F3/12 303
G06F3/12 332
G06F3/12 353
G06F3/12 363
G06F3/12 359
G06F3/12 378
H04N1/00 L
H04N1/00 127Z
B41J29/38 201
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023055835
(22)【出願日】2023-03-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110003096
【氏名又は名称】弁理士法人第一テクニカル国際特許事務所
(72)【発明者】
【氏名】垣鍔 亮太
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061AP07
2C061HJ08
2C061HN05
2C061HN15
2C061HQ17
5C062AA05
5C062AA35
5C062AA37
5C062AB02
5C062AB20
5C062AB22
5C062AB25
5C062AB41
5C062AB43
5C062AB46
5C062AC02
5C062AC04
5C062AC05
5C062AC38
5C062AE01
5C062AE15
5C062AF02
5C062AF10
5C062AF15
5C062BA01
(57)【要約】
【課題】外部装置を必要とすることなく、スキャナとプリンタとを接続して仮想複合機を実現する。
【解決手段】プリンタ200及びスキャナ400に対し通信可能な端末装置100のプロセッサ110は、ステップC10でプリンタ200の能力を表す能力・設定値情報をプリンタ200から取得し、取得した能力・設定値情報に基づく変換後のアトリビュートをCUPS160へ向けて出力し、変換後のアトリビュートの出力に応じたCUPS160からの印刷データを取得し、取得した印刷データに基づく第1印刷データをプリンタ200へ向けて送信し、スキャナ400が読み取る画像データの送信先として端末装置100をスキャナ400に登録させ、スキャナ400により送信された読取画像データを取得し、取得した読取画像データに基づく第2印刷データをプリンタ200へ向けて送信する。
【選択図】図1
【特許請求の範囲】
【請求項1】
印刷装置及び読取装置に対し通信可能な情報処理装置の演算部に対し、
前記印刷装置の能力を表す第1能力情報を前記印刷装置から取得する能力情報取得処理と、
前記能力情報取得処理で取得した前記第1能力情報に基づく第2能力情報をOS標準印刷ソフトウェアへ向けて出力する能力情報出力処理と、
前記能力情報出力処理での前記第2能力情報の出力に応じた前記OS標準印刷ソフトウェアからの印刷データを取得する印刷データ取得処理と、
前記印刷データ取得処理で取得した印刷データに基づく第1印刷データを前記印刷装置へ向けて送信する第1印刷データ送信処理と、
前記読取装置が読み取る画像データの送信先として前記情報処理装置を前記読取装置に登録させる登録処理と、
前記読取装置により送信された読取画像データを取得する画像データ取得処理と、
前記画像データ取得処理で取得した前記読取画像データに基づく第2印刷データを前記印刷装置へ向けて送信する第2印刷データ送信処理と、
を実行させるための、情報処理プログラム。
【請求項2】
前記情報処理装置の演算部に対し、さらに
前記能力情報取得処理で取得した前記第1能力情報に基づく読取設定値を前記読取装置に送信する読取設定値送信処理、
を実行させる、請求項1記載の情報処理プログラム。
【請求項3】
前記第1能力情報は、
モノクロ又はカラーの対応を表す色対応情報、及び、印刷可能な解像度を表す解像度情報のうち少なくとも一方を含み、
前記読取設定値は、
前記色対応情報に基づく色設定、及び、前記解像度情報に基づく解像度設定のうち少なくとも一方を含む、請求項2記載の情報処理プログラム。
【請求項4】
前記第2印刷データは、
前記画像データ取得処理で取得した前記読取画像データに対応した設定で印刷を行うためのデータである、請求項3記載の情報処理プログラム。
【請求項5】
前記演算部に対し、さらに、
前記画像データ取得処理で取得した前記読取画像データ或いは前記読取画像データに基づく画像データを前記OS標準印刷ソフトウェアへ向けて出力する画像データ出力処理を実行させ、
前記第2印刷データ送信処理では、
前記画像データ出力処理で出力した前記読取画像データに基づく前記OS標準印刷ソフトウェアが生成した印刷データに基づき、前記第2印刷データを前記印刷装置へ送信する、請求項1記載の情報処理プログラム。
【請求項6】
前記演算部は、
前記第1印刷データ送信処理による前記第1印刷データの前記印刷装置へ向けての送信、及び、前記第2印刷データ送信処理による前記第2印刷データの前記印刷装置へ向けての送信、の競合が生じた場合、予め定められた所定の優先度設定に基づき、優先度の高い送信が完了した後に、優先度の低い送信を実行する、請求項1記載の情報処理プログラム。
【請求項7】
前記演算部は、
前記競合が生じた場合に、優先度の高い前記第2印刷データの前記印刷装置へ向けての送信が完了した後に、優先度の低い前記第1印刷データの前記印刷装置へ向けての送信を実行する、請求項6記載の情報処理プログラム。
【請求項8】
前記演算部は、
予め定められた連続動作条件を満たす複数の前記第1印刷データの送信の途中で前記第2印刷データの送信との前記競合が生じた場合には、優先度の高い前記複数の第1印刷データの前記印刷装置へ向けての送信が完了した後に、優先度の低い前記第2印刷データの前記印刷装置へ向けての送信を実行する、請求項6記載の情報処理プログラム。
【請求項9】
前記情報処理装置の演算部に、前記画像データ取得処理から前記第2印刷データ送信処理までをユーザによる前記情報処理装置への操作なしで自動的に実行させる、請求項1乃至請求項8のいずれか1項記載の情報処理プログラム。
【請求項10】
前記演算部に対し、さらに
前記第1印刷データ又は前記第2印刷データに基づく前記印刷装置での印刷実行時、若しくは、前記読取装置における読み取り実行時、におけるエラー検出信号を取得するエラー検出信号取得処理と、
前記エラー検出信号取得処理で取得した前記エラー検出信号に基づき、対応するエラー報知信号を出力するエラー報知信号出力処理と、
を実行させる、請求項1乃至請求項8のいずれか1項記載の情報処理プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置に接続された情報処理装置で実行される情報処理プログラムに関する。
【背景技術】
【0002】
従来、例えば特許文献1に記載のように、スキャナとプリンタとを組み合わせて仮想的な複合機(以下適宜、「仮想複合機」と称する)として機能させる構成が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001-344162号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術では、スキャナ機能とプリンタ機能とを繋ぎ合わせて仮想複合機として機能させるためのサーバの役割をする外部装置が、ユーザのPC端末とは別に必要となる。
【0005】
本発明の目的は、外部装置を必要とすることなく、スキャナとプリンタとを接続して仮想複合機を実現できる情報処理プログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本願発明は、印刷装置及び読取装置に対し通信可能な情報処理装置の演算部に対し、前記印刷装置の能力を表す第1能力情報を前記印刷装置から取得する能力情報取得処理と、前記能力情報取得処理で取得した前記第1能力情報に基づく第2能力情報をOS標準印刷ソフトウェアへ向けて出力する能力情報出力処理と、前記能力情報出力処理での前記第2能力情報の出力に応じた前記OS標準印刷ソフトウェアからの印刷データを取得する印刷データ取得処理と、前記印刷データ取得処理で取得した印刷データに基づく第1印刷データを前記印刷装置へ向けて送信する第1印刷データ送信処理と、前記読取装置が読み取る画像データの送信先として前記情報処理装置を前記読取装置に登録させる登録処理と、前記読取装置により送信された読取画像データを取得する画像データ取得処理と、前記画像データ取得処理で取得した前記読取画像データに基づく第2印刷データを前記印刷装置へ向けて送信する第2印刷データ送信処理と、を実行させる。
【0007】
本願発明においては、情報処理装置に対し印刷装置が接続されている。本願発明の情報処理プログラムが情報処理装置の演算部によって実行されると、能力情報取得処理において印刷装置の能力を表す第1能力情報が取得される。能力情報出力処理において、取得された印刷装置の第1能力情報に基づく第2能力情報がOS標準印刷ソフトウェアへ出力される。OS標準印刷ソフトウェアは、第2能力情報に対応した印刷データを出力し、出力された印刷データは演算部の実行する印刷データ取得処理において取得される。取得された印刷データに基づく第1印刷データが印刷装置へと送信され、印刷装置において第1印刷データに基づく印刷が実行される。
本願発明の情報処理プログラムの上記各処理の実行により、OS標準印刷ソフトウェアに対する仮想印刷装置が形成され、前述のようにしてOSの汎用印刷機能を用いた印刷が実行される。
【0008】
また、本願発明の情報処理装置には読取装置が接続されており、上記情報処理プログラムの実行によって読取装置の機能と上記印刷装置の機能とを連携させ、仮想的な複合機を実現することができる。
印刷装置との連携に際し、演算部が実行する登録処理において、読取装置が読み取る画像データの送信先として、当該情報処理装置を読取装置に登録させる。情報処理装置を登録した読取装置において読み取りが実行され、対応する読取画像データが画像データ取得処理において取得される。取得された読取画像データに基づく第2印刷データが印刷装置へと送信され、印刷装置において第2印刷データに基づく印刷が実行される。
【0009】
本願発明においては、事前に情報処理装置の登録を行った読取装置において読み取りが行われ、情報処理装置で取得された読取画像データを用いて印刷装置において印刷が行われることで、読取対象の複写物を作成することができる。本願発明によれば、情報処理プログラムの実行によって読取装置と印刷装置とを連携させることで、情報処理装置以外の外部装置を特に必要とすることなく、複写機能を備えた仮想複合機を実現することができる。
【発明の効果】
【0010】
本発明によれば、外部装置を必要とすることなく、読取装置と印刷装置とを接続して仮想複合機を実現することができる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態に係る印刷システムのシステム構成及び端末装置の機能構成の一例を表すブロック図である。
図2】スキャナ、プリンタアプリケーション、プリンタにより協働して実行される制御手順の一例を表すフローチャートである。
図3】コピー印刷時にも汎用印刷機能を利用する変形例における、印刷システムのシステム構成及び端末装置の機能構成の一例を表すブロック図である。
図4】スキャナ、プリンタアプリケーション、プリンタにより協働して実行される制御手順の一例を表すフローチャートである。
図5】エラー発生時に対応する表示を行う変形例における、印刷システムのシステム構成及び端末装置の機能構成の一例を表すブロック図である。
図6】コピー印刷とアプリからの印刷ジョブに基づく印刷との競合に対応する変形例における、スキャナ、プリンタアプリケーション、プリンタにより協働して実行される制御手順の一例を表すフローチャートである。
図7】端末装置及びプリンタのハードウェア構成の一例を表すブロック図である。
【発明を実施するための形態】
【0012】
<実施形態>
本発明の一実施形態を図面を参照しつつ説明する。
【0013】
<印刷システムの概要>
図1に、本実施形態に係る印刷システム1のシステム構成の一例を示す。図1において、印刷システム1は、端末装置100と、プリンタ200と、スキャナ400と、を有している。端末装置100とプリンタ200及びスキャナ400は、例えばインターネット、有線LAN又は無線LAN等を介して通信可能に接続されている。なお、端末装置100が情報処理装置の一例であり、プリンタ200が印刷装置の一例であり、スキャナ400が読取装置の一例である。
【0014】
<端末装置の機能構成>
端末装置100は、プリンタ200に印刷データを送信して印刷を実行させる。端末装置100は、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。詳細は後述するが、端末装置100はプロセッサ110と、各種の印刷処理プログラムを記憶した記憶装置115と、を有する(後述の図7参照)。プロセッサ110が各種の印刷処理プログラムを実行することで、端末装置100は図1に示す機能構成を有する。印刷処理プログラムが情報処理プログラムの一例である。
【0015】
図1に示すように、端末装置100は、OS(Operating System)101と、編集アプリケーション102と、プリンタアプリケーション170と、ブラウザ104と、を有する。OS101は、プリンタベンダが提供するプリンタドライバを用いることなく所定の印刷規格に従って印刷を行う、いわゆるドライバレスの印刷機能を有する。
【0016】
OS101は、一例として、OS用のモジュール化された印刷システムであるCUPS(Common Unix Printing System)160を有する。なお、CUPS160がOS標準印刷ソフトウェアの一例である。
【0017】
<CUPS>
CUPS160は、HTTPサーバ161と、CUPSPnP管理部162と、IPPクライアント163と、印刷データスケジューラ&スプーラ164と、を有する。
【0018】
HTTPサーバ161はCUPS160上で動作するサーバソフトウェアである。HTTPサーバ161は、ブラウザ104を介して或いは外部端末300等からHTTP(Hypertext Transfer Protocol)プロトコルを用いて情報や機能を取得、又は、それらに対して情報や機能を提供する。
CUPSPnP管理部162は、mDNS/SDなどのプロトコルを用いて検出されたプリンタ(仮想印刷装置を含む)をCUPS160に登録して印刷キューを作成するPnP(Plag and Play)機能をもつ。
【0019】
CUPSPnP管理部162は、プリンタアプリケーション170のインストール時に実行されるスクリプトにより、PnPのための検索アドレスが端末装置100の内部ネットワーク(通常はIPアドレス127.0.0.1)に制限されるよう設定変更される。このためCUPS160は直接プリンタ200を認識することはできずプリンタアプリケーション170をプリンタとして認識する。プリンタアプリケーション170は現実のプリンタではなく、CUPS160に対しプリンタとしてふるまういわゆる仮想プリンタである。プリンタアプリケーション170はCUPS160とプリンタ200を仲介することで、CUPS160とプリンタ200を用いた印刷が実現される。
【0020】
IPPクライアント163は、後述するIPP/mDNSサーバ173との間で、IPPプロトコルを用いて印刷データまたはアトリビュートを送受信する。
印刷データスケジューラ&スプーラ164は、編集アプリケーション102等から送信された印刷ジョブを管理すると共に、同時に発生した複数の印刷ジョブを一時的にせき止め順次処理を進めてIPPクライアント163に受け渡すように管理する。
【0021】
<プリンタアプリケーション>
プリンタアプリケーション170は、接続されているプリンタ200に対応する仮想プリンタとして、CUPS160に登録可能である。CUPS160は、プリンタアプリケーション170を仮想のプリンタとして取り扱い、印刷に係わる各種の処理を実行する。各種の処理には、例えば能力情報取得処理や印刷データ送信処理等が含まれる。プリンタアプリケーション170は、プリンタ通信部171と、アトリビュート/mDNS変換部172と、IPP/mDNSサーバ173と、印刷データ変換部174と、スキャナ通信部178と、プリンタ能力・設定値記憶部179と、を有する。
【0022】
プリンタ通信部171は、IPPプロトコルを用いてプリンタ200との間で通信を行う。プリンタ通信部171は、プリンタ200からアトリビュートを受信したり、プリンタ200に対して印刷データを送信する。
スキャナ通信部178は、UDPプロトコルを用いてスキャナ400との間で通信を行う。スキャナ通信部178は、スキャナ400の読取結果であるスキャンデータを受信したり、スキャナ400に対して読み取り実行時の読取設定値を送信する。
プリンタ能力・設定値記憶部179は、プリンタ200から取得された上記アトリビュートに対応する能力・設定値情報を記憶する。プリンタ能力・設定値記憶部179は、プリンタ通信部171及びスキャナ通信部178のいずれからもアクセス可能に構成されている。
【0023】
アトリビュート/mDNS変換部172は、プリンタ200の能力を表すアトリビュートをプリンタ通信部171を介して取得する(能力情報取得処理の一例)。アトリビュート/mDNS変換部172は、プリンタ200から取得したアトリビュート(第1能力情報の一例)を所定のルールに応じて、CUPS160が取り扱うことのできる印刷機能に応じたアトリビュート、或いはプリンタ200の一部の印刷機能を制限したアトリビュートに変換する。なお、アトリビュート/mDNS変換部172により変換された後のアトリビュートが第2能力情報の一例である。なお、変換後のアトリビュートとしては、疑似的な見かけ上のアトリビュートであってもよいし、変換前のアトリビュートを単に上記IPPプロトコルに適合するように変換したものであってもよい。また、上記所定のルールは、例えば印刷システム1外の外部端末300において設定され、プリンタアプリケーション170において取得されてもよい。あるいは、上記所定のルールは端末装置100において設定されてもよいし、予め設定された内容がプリンタアプリケーション170にインストールされていてもよい。
【0024】
なお、アトリビュート/mDNS変換部172は、mDNS(multicast Domain Name System)の機能を有する。mDNSは、ローカルネットワーク内でDNSの問い合わせをIP(Internet Protocol)マルチキャストで一斉配信し、同じネットワークのすべての機器に同時に問い合わせを行う。問い合わせを受信した機器は、自分のIPアドレスを送信して応答する。
【0025】
IPP/mDNSサーバ173は、CUPS160の能力情報取得処理に対し、アトリビュート/mDNS変換部172で変換されたアトリビュートをCUPS160へ向けて出力する。さらにアトリビュート/mDNS変換部172は、上記の所定ルールに応じてIPP/mDNSサーバ173を制御し、当該所定ルールに従って機能を制限すべくアトリビュートを変更する。また当該所定ルールに従い、IPP/mDNSサーバ173から出されるmDNS/SDにかかる情報を制限することにより、特定機能のプリンタをCUPS160に認識させないようにし、使用不能にすることもできる。CUPSPnP管理部162は、mDNS/SD情報が制限されたプリンタに関してはPnPにより印刷キューを登録しない。CUPS160は、IPPクライアント163により変換されたアトリビュートに対応した印刷データを出力する。IPP/mDNSサーバ173は、CUPS160の印刷データ送信処理に対し、CUPS160から出力された、変換されたアトリビュートに対応した印刷データを取得し、印刷データ変換部174に出力する。なお、IPP/mDNSサーバ173は、アトリビュート/mDNS変換部172と同様にmDNSの機能を有する。
【0026】
印刷データ変換部174は、IPP/mDNSサーバ173を介しCUPS160から印刷データを取得する。印刷データ変換部174はまた、スキャナ400の読取結果であるスキャンデータをスキャナ通信部178を介して取得する。印刷データ変換部174は、CUPS160から取得した印刷データ、若しくは、スキャナ400から取得したスキャンデータを、プリンタ200の印刷機能に応じた印刷データに変換する。印刷データ変換部174によるこの変換は、前述の所定ルールに応じて行われる。本実施形態では、上記印刷データの変換を、後述の「データ形式の変換」と区別するために適宜「データ内容の変換」という。また、印刷データ変換部174は、CUPS160から取得した印刷データのデータ形式(例えばPWGRaster)をプリンタ200が処理可能な所定のデータ形式(例えばPCL)に変換する「データ形式の変換」を行う。具体的には、印刷データ変換部174は、CUPS160から取得した印刷データ又はスキャナ400から取得したスキャンデータが上記所定ルールに整合しているか否かを判定する。印刷データ変換部174は、印刷データ又はスキャンデータが所定ルールに整合していると判定した場合には、上記「データ内容の変換」を実行せずに上記「データ形式の変換」だけを実行する。この場合、印刷データ変換部174はデータ形式を変換した印刷データをプリンタ通信部171に出力する。一方、印刷データ変換部174は、CUPS160から取得した印刷データ又はスキャナ400から取得したスキャンデータが上記所定ルールに整合していないと判定した場合には、上記「データ内容の変換」及び上記「データ形式の変換」の両方を実行する。この場合、印刷データ変換部174はデータ内容及びデータ形式の両方を変換した印刷データをプリンタ通信部171に出力する。なお、CUPS160から取得した印刷データに基づく、上記「データ形式の変換」が行われた印刷データが第1印刷データの一例である。
【0027】
プリンタ通信部171は、印刷データ変換部174から出力された印刷データをプリンタ200に対して送信する。
【0028】
<アプリからの印刷ジョブに基づく印刷>
CUPS160から取得された後に印刷データ変換部174にて変換された印刷データが送信される場合は、前述した流れで、例えば編集アプリケーション102等から送信された印刷ジョブに基づく印刷がプリンタ200において実行される。すなわち、プリンタ200→プリンタ通信部171→アトリビュート/mDNS変換部172→アトリビュート/mDNS変換部172の流れでアトリビュートが取得される。変換後のアトリビュートが、アトリビュート/mDNS変換部172→IPP/mDNSサーバ173→CUPS160の流れで出力される。プリンタアプリケーション170によるこの変換後のアトリビュートを出力する処理が、能力情報出力処理の一例である。変換後のアトリビュートに対応した印刷データがCUPS160→IPP/mDNSサーバ173→印刷データ変換部174の流れで取得される。プリンタアプリケーション170による、この印刷データを取得する処理が印刷データ取得処理の一例である。印刷データ変換部174での変換後の印刷データがプリンタ通信部171→プリンタ200の流れで送信される。プリンタアプリケーション170による、この印刷データを送信する処理が第1印刷データ送信得処理の一例である。
【0029】
<仮想複合機によるコピー印刷>
一方、スキャナ400から取得されたスキャンデータが印刷データ変換部174にて変換されて印刷データとして送信される場合は、スキャナ400の読取結果に基づく印刷、すなわちいわゆるコピー印刷をプリンタ200において実行することができる。この場合、スキャナ400→スキャナ通信部178→印刷データ変換部174→プリンタ通信部171→プリンタ200の流れにより上記コピー印刷が実行され、これらの構成要素がいわゆる仮想複合機として機能することとなる。
【0030】
<制御手順>
本実施形態の要部である上記仮想複合機の機能を実現するために、スキャナ400、プリンタアプリケーション170、プリンタ200により協働して実行される制御手順を、図2のフローチャートにより説明する。図2において、プリンタアプリケーション170により、スキャナ管理スレッドと、印刷管理スレッドとが作成される。スキャナ管理スレッドは、スキャナ400を管理するためにスキャナ400と情報送受信を行うスレッドである。印刷管理スレッドは、プリンタ200を管理するためにプリンタ200と情報送受信を行うスレッドである。
【0031】
図2に示すように、プリンタアプリケーション170の上記スキャナ管理スレッドにおいて、まずステップB10で、UDP(User Datagram Protocol)による要求又は通知が受信される。スキャナ400がステップA10で接続要求をブロード送信することでこの接続要求が上記ステップB10で受信され、ステップB20においてYes判定されて、処理がステップB40へ移される。
【0032】
ステップB40では、スキャナ400に対し登録実行コマンドを送信する登録処理(登録処理の一例)が行われる。登録実行コマンドは、スキャナ400が読み取った読取画像データの送信先として端末装置100のプリンタアプリケーション170を登録させるためのコマンドである。登録実行コマンドは、ステップA20においてスキャナ400により受信され、当該端末装置100のプリンタアプリケーション170を登録する処理がスキャナ400において行われる。
【0033】
スキャナ400は、ステップA30において、パネル上においてプッシュスキャンの操作が実行されるのを待つ待機状態となる。ユーザによりプッシュスキャン操作がなされると、ステップA40において、対応するプッシュスキャン通知が送信される。スキャナ管理スレッドでは、送信されたプッシュスキャン通知が上記ステップB10で受信されることでステップB20のNo判定を経てステップB30がYes判定され、後述のステップB50へと処理が移される。
【0034】
プリンタアプリケーション170の印刷管理スレッドでは、ステップC10において、プリンタ200の能力・設定値情報の取得要求がプリンタ200へと送信される。プリンタ200は、上記取得要求の受信に応じた回答として、ステップD10において能力・設定値情報を含むアトリビュートを送信する。能力・設定値情報には、例えば、モノクロ又はカラーの対応を表す色対応情報、及び、印刷可能な解像度を表す解像度情報のうち少なくとも一方が含まれる。印刷管理スレッドはプリンタ通信部171を介して受信された上記アトリビュートに基づき、ステップC10にてプリンタ200の能力・設定値情報を取得し、プリンタ能力・設定値記憶部179へと書き込む。取得されたプリンタ200の能力・設定値情報が第1能力情報の一例であり、印刷管理スレッドがステップC10で実行する処理が、能力情報取得処理の一例である。
【0035】
プリンタアプリケーション170のスキャナ管理スレッドでは、プリンタ能力・設定値記憶部179へ書き込まれたプリンタ200の能力・設定値情報に対し、ステップB50においてスキャナ通信部178を介してアクセスし、印刷設定用の解像度に適合する印刷用紙のサイズを取得する。スキャナ管理スレッドは、ステップB60において、ステップB50における取得結果に応じて、スキャナ400における最適な読取設定値を推測により決定する。読取設定値には、例えば、前述の色対応情報に基づく色設定、及び、前述の解像度情報に基づく解像度設定のうち少なくとも一方が含まれる。
【0036】
スキャナ管理スレッドは、ステップB70において、上記ステップB60で決定した読取設定値によるスキャナ400に読み取りを行わせるためのスキャンコマンドを、スキャナ400に対して送信する。スキャナ管理スレッドがステップB70で実行するこの送信処理が読取設定値送信処理の一例である。スキャナ400はステップA50において当該スキャンコマンドを受信し、対応する読取設定値によりスキャンを行い、スキャン結果である読取画像データを送信する。送信された読取画像データは、上記ステップB70においてスキャナ管理スレッドにより取得される。スキャナ管理スレッドがステップB70で実行するこの取得処理は画像データ取得処理の一例である。
【0037】
ステップB80において、スキャナ管理スレッドから印刷管理スレッドに対して読取画像データを含む印字Submitがなされ、印刷管理スレッドにおけるステップC20において当該Submitが受け付けられる。印刷管理スレッドは、ステップC30において、上記読取画像データに基づく印刷データを必要に応じて印刷データ変換部174によりプリンタ200が処理可能な形式に変換して一旦スプールする。スプールされた印刷データは、プリンタ通信部171を介してプリンタ200へと送信される。なおこのときに送信される印刷データは、前述の読取画像データに対応した印刷設定で印刷を行うデータとなっていてもよい。例えば、読取画像データがハガキ画像であった場合には、A5サイズ又はハガキサイズの用紙を収納した給紙トレイからの給紙で印刷が行われるような印刷設定がなされる。印刷管理スレッドがステップC30で実行するこの送信処理が第2印刷データ送信処理の一例であり、送信される印刷データが第2印刷データの一例である。プリンタ200では、受信された印刷データを用いてステップD20において印刷が実行される。
【0038】
なお、少なくとも、端末装置100のスキャナ管理スレッドにおけるステップB70,B80の処理から印刷管理スレッドにおけるステップC20,C30までの処理は、ユーザによる端末装置100への操作なしで、自動的に実行される。そしてさらに、プリンタ200のD20の処理もプリンタ200へのユーザによる操作なしで自動的に実行されるようにするとよい。
【0039】
<実施形態の効果>
本実施形態においては、端末装置100に対しプリンタ200が接続されている。本実施形態の印刷処理プログラムが端末装置100によって実行されると、ステップC10においてプリンタ200の能力を表す能力・設定値情報が取得される。取得されたプリンタ200の能力・設定値情報に基づく変換後のアトリビュートがOS標準印刷ソフトウェアへ出力される。OS標準印刷ソフトウェアは、変換後のアトリビュートに対応した印刷データを出力し、出力された印刷データに基づく印刷データがプリンタ200へと送信され、プリンタ200において対応する印刷が実行される。本実施形態の印刷処理プログラムの上記各処理の実行により、OS標準印刷ソフトウェアに対する仮想プリンタ200が形成され、前述のようにしてOSの汎用印刷機能を用いた印刷が実行される。
【0040】
本実施形態の端末装置100にはスキャナ400が接続されており、上記印刷処理プログラムの実行によってスキャナ400の機能と上記プリンタ200の機能とを連携させ、仮想的な複合機を実現することができる。
【0041】
プリンタ200との連携に際し、ステップB40において、スキャナ400が読み取る画像データの送信先として、当該端末装置100をスキャナ400に登録させる。端末装置100を登録したスキャナ400において読み取りが実行され、対応する読取画像データがステップB70において取得される。取得された読取画像データに基づく印刷データがプリンタ200へと送信され、印刷が実行される。
【0042】
本実施形態においては、事前に端末装置100の登録を行ったスキャナ400において読み取りが行われ、端末装置100で取得された読取画像データを用いてプリンタ200において印刷が行われることで、読取対象の複写物を作成することができる。本実施形態によれば、印刷処理プログラムの実行によってスキャナ400とプリンタ200とを連携させることで、端末装置100以外の外部装置を特に必要とすることなく、複写機能を備えた仮想複合機を実現し、いわゆるコピー印刷を行うことができる。
【0043】
また、本実施形態では特に、ステップB70において、ステップC10でプリンタ200が取得したプリンタ200の能力・設定値情報に基づく読取設定値がスキャナ400へ送信される。送信された読取設定値によりスキャナ400において読み取りが実行される。
本実施形態においては、プリンタ200の能力に合わせた読取設定でスキャナ400において読み取りが行われ、取得された読取画像データを用いてプリンタ200において印刷が行われることで、円滑かつ高品質に読取対象の複写物を作成することができる。
なお、上記手法に代えて、事前に定められた所定の読取設定値でスキャナ400において読取った後の画像データを、端末装置100のプリンタアプリケーション170においてプリンタ200に適するように変換する処理をしてもよい。
【0044】
また、本実施形態では特に、プリンタ200の能力・設定値情報が色対応情報を含むことにより、例えばプリンタ200がモノクロプリンタであればスキャナ400において白黒モードでの読み取りを行うことができる。プリンタ200の能力・設定値情報が解像度情報を含むことにより、プリンタ200で印刷可能な解像度に合わせた読取解像度で読み取りを行うことができる。例えばプリンタ200で印刷可能な解像度が1200dpiである場合には、スキャナ400では1200の整数倍となる2400dpi等で読み取りを行うことができる。
【0045】
また、本実施形態では特に、プリンタ200へ送信される印刷データは、ステップB70で取得した読取画像データに対応した設定で印刷を行うためのデータである。そのため、スキャナ400及びプリンタ200の両方にとって都合のよい設定で読み取り及び印刷を行うことができる。解像度設定の例では、例えばプリンタ200で印刷可能な解像度が300dpi又は600dpiで、スキャナ400の読取解像度が200dpi又は400dpiである場合には、互いに整数倍となる200dpiで読み取りを行い600dpiで印刷を行うことができる。給紙トレイの例では、プリンタ200の一方のトレイにA4サイズ用紙、他方のトレイにA5サイズ用紙が入っている状態で、スキャナ400でハガキに対して読み取りを行った場合、サイズの近い上記他方のトレイのA5サイズの用紙にて印刷を行うことができる。
【0046】
また、本実施形態では特に、端末装置100のスキャナ管理スレッドにおけるステップB70,B80の処理から印刷管理スレッドにおけるステップC20,C30までの処理は、ユーザによる端末装置100への操作なしで、自動的に実行される。すなわち、ユーザがスキャナ400において読取対象をセットしてプッシュスキャン操作を行うだけで、プリンタ200において上記読取対象に対応する読取画像が複写物として印刷される。これにより、ユーザに対し、複合機のコピー機能を利用している感覚で使用してもらうことができる。
【0047】
<変形例>
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を順を追って説明する。上記実施形態と同等の部分には同一の符号を付し、適宜、説明を省略又は簡略化する。
【0048】
(1)コピー印刷時にも汎用印刷機能を利用する場合
図3は、本変形例における印刷システム1のシステム構成の一例を表す、上記図1に対応する図である。
図3に示すように、本変形例では、スキャナ400から出力された読取画像データが、CUPS160の印刷データスケジューラ&スプーラ164へ入力され、CUPS160の汎用印刷機能が用いられて印刷が行われる。具体的には、入力された読取画像データに対応する印刷データは、CUPS160→IPP/mDNSサーバ173→印刷データ変換部174→プリンタ通信部171→プリンタ200の流れによってプリンタ200において取得され、印刷される。
【0049】
図4は、本変形例において、スキャナ400、プリンタアプリケーション170、プリンタ200により協働して実行される制御手順を表す、上記図2に対応するフローチャートである。図4に示すように、本変形例では、ステップB80に代わるステップB80′において、スキャナ管理スレッドからCUPS160の印刷データスケジューラ&スプーラ164に対して読取画像データを含む印字Submitがなされる。なお、読取画像データそのものをスキャナ管理スレッドからCUPS160へ出力するのではなく当該読取画像データに基づく画像データであってもよい。プリンタアプリケーション170によるステップB80′の処理は画像データ出力処理の一例である。印刷管理スレッドは、ステップC20に代わるステップC20′において、CUPS160の印刷データスケジューラ&スプーラ164から上記読取画像データに基づく印刷データをIPP/mDNSサーバ173を経て取得する。印刷管理スレッドは、ステップC30において印刷データを必要に応じて印刷データ変換部174によりプリンタ200が処理可能な形式に変換して一旦スプールし、プリンタ200に送信する。そしてプリンタ200においてステップD20において印刷が行われる。なおステップC30においては、上記読取画像データ又はそれに基づく画像データに対し、「データ内容の変換」や「データ形式の変換」を行う必要がなければ、それら画像データがそのまま印刷データとしてスプールされる。上記読取画像データ又はそれに基づく画像データに対し、「データ内容の変換」や「データ形式の変換」を行う必要がある場合は、それら画像データに対し印刷データ変換部174において当該変換を行った後の印刷データがスプールされる。
【0050】
本変形例においても、上記実施形態と同様の効果を得る。
また、本変形例では特に、スキャナ400から取得された読取画像データ又は読取画像データに基づく画像データがCUPS160へ出力され、CUPS160が生成した印刷データに基づき、対応する印刷データがプリンタ200へと送信されて印刷が実行される。本変形例によれば、OS標準印刷ソフトウェアによる汎用印刷機能を用いつつ、複写機能を備えた仮想複合機を実現することができる。
【0051】
(2)エラー発生時に対応する表示を行う場合
図5は、本変形例における印刷システム1のシステム構成の一例を表す、上記実施形態の図1に対応する図である。図5に示すように、本変形例では、プリンタアプリケーション170に、ステータス管理部177が設けられる。また端末装置100は、UI表示アプリケーション109をさらに有する。
【0052】
前述の印刷処理プログラムの制御に基づき、ステータス管理部177は、前述のプリンタ200での印刷実行時にプリンタ通信部171が所定のプリンタエラーを検知したとき、プリンタ通信部171から出力されたエラー検知情報を取得する。ステータス管理部177はまた、スキャナ400における読み取り実行時にスキャナ通信部178が所定のスキャナエラーを検知したとき、スキャナ通信部178から出力されたエラー検知情報を取得する。これらエラー検知情報がエラー検出信号の一例であり、これらエラー検知情報を取得する処理がエラー検出信号取得処理の一例である。
【0053】
そして、ステータス管理部177は、取得した上記エラー検知情報に基づき、対応するエラー報知信号をUI表示アプリケーション109へと出力する。このエラー報知信号を出力する処理がエラー報知信号出力処理の一例である。エラー報知信号を取得したUI表示アプリケーション109は、対応するエラー報知、すなわち表示又は発音又は振動等による報知を行う。US表示アプリケーション109はプリンタアプリケーション170とは独立したアプリであってもよいし、プリンタアプリケーション170の一部として含まれていてもよい。US表示アプリケーション109は、例えば汎用的なブラウザであって、そのブラウザを起動して表示させてもよい。
【0054】
本変形例においては、上記実施形態と同様の効果に加え、以下の効果を得る。プリンタ200又はスキャナ400において何らかの故障や不具合が発生してエラー検出がなされた場合、ステータス管理部177からのエラー報知信号に基づきUI表示アプリケーション109において、エラー報知が行われる。本変形例によれば、プリンタ200やスキャナ400で故障や不具合が発生していることをユーザに報知することができる。
【0055】
(3)コピー印刷とアプリからの印刷ジョブに基づく印刷との競合に対応する場合
図6は、本変形例において、スキャナ400、プリンタアプリケーション170、プリンタ200により協働して実行される制御手順を表す、上記実施形態の図2に対応するフローチャートである。図6に示すように、本変形例では、プリンタアプリケーション170の印刷管理スレッドが実行するステップC20とステップC30との間に、新たにステップC25,C27が設けられる。
【0056】
印刷管理スレッドでは、ステップC20の後に実行するステップC25において、CUPS160の印刷データスケジューラ&スプーラ164に、編集アプリケーション102から受け付けた印刷ジョブに基づく印刷キューが存在するか否かが判定される。言い換えれば、これから実行しようとするコピー印刷に対して競合する、編集アプリケーション102からの印刷ジョブによる印刷(以下適宜、「編集アプリ印刷」と略称する)が既に実行されているか、が判定される。当該印刷キューが存在しなければステップC25がNo判定され、競合する当該印刷がないとみなされて前述のステップC30へと処理が移され、前述と同様の印刷がステップD20において行われる。
【0057】
当該印刷キューが存在する場合はステップC25がYes判定され、競合する当該印刷があるとみなされて処理がステップC27へと移される。ステップC27では、予め定められた優先度に応じて、印刷データスケジューラ&スプーラ164に印刷キューが積まれる。すなわち、本実施形態では、上記のようにコピー印刷と編集アプリ印刷とが競合した場合、いずれを優先的に実行するかの優先度が予め設定されている。そして、優先度の高いほうが終了した後に、優先度の低いほうが実行されるようになっている。
【0058】
例えばコピー印刷の優先度が高い場合は、ステップC27では、印刷データスケジューラ&スプーラ164にて、ステップA10~ステップC20の流れで受け付けた読取画像データに基づく印刷データがプリンタ通信部171から先に送信されるよう設定される。競合していた編集アプリ印刷のための印刷データは、上記送信の後でプリンタ通信部171からプリンタ200へと送信されるよう設定される。
なお、この場合に特に、予め定められた連続動作条件を満たす編集アプリケーション102からの複数の印刷ジョブによる印刷データの送信の途中で、コピー印刷との競合が生じた場合には、例外として当該複数の印刷ジョブの印刷データの送信を優先させてもよい。この場合、編集アプリ印刷のための上記複数の印刷ジョブの印刷データのプリンタ200への送信が完了した後に、読取画像データに基づく印刷データの送信が実行されるよう、設定される。
【0059】
一方、例えば編集アプリ印刷の優先度が高い場合は、ステップC27では、印刷データスケジューラ&スプーラ164にて、編集アプリ印刷のための印刷データが、プリンタ通信部171から先に送信されるよう設定される。競合していた、ステップA10~ステップC20の流れで受け付けた読取画像データに基づく印刷データは、上記送信の後で、プリンタ通信部171からプリンタ200へと送信されるよう設定される。
【0060】
上記のようにして印刷管理スレッドにおけるステップC27が完了したら、ステップC30へと処理が移され、プリンタ200での印刷がステップD20において行われる。
【0061】
本変形例によれば、上記実施形態と同様の効果に加え、以下の効果を得る。
本変形例では特に、前述したように、編集アプリ印刷のためのプリンタ200への印刷データの送信とコピー印刷のためのプリンタ200への印刷データの送信との競合が生じる場合に、優先度の高い送信が完了した後に、優先度の低い送信が実行される。言い換えれば、仮想プリンタとしての印刷機能と仮想複合機としての複写機能とが競合した場合、予め定められた優先度設定に基づき、いずれか一方がいずれか他方よりも優先して実行される。本変形例によれば、上記2つの機能の競合が生じた場合であっても、円滑に所定の順序でそれら両機能を遂行することができる。
【0062】
また、仮想プリンタとしての印刷機能よりも仮想複合機としての複写機能が優先して実行される設定の場合には、上記2つの機能の競合が生じた場合に、複写機能→印刷機能の順で円滑に遂行することができる。
また、上記競合時において、予め定められた連続動作条件を満たす編集アプリケーション102からの複数の印刷ジョブによる印刷データの送信途中であることを条件に、印刷機能が複写機能よりも優先して実行される。これにより、例えば連続した複数ページにわたる一連の編集アプリ印刷が行われているときに仮想複合機の複写機能との競合が生じたとしても、印刷機能→複写機能の順で円滑に遂行され、複数ページの印刷の途中に複写物が混入するのを回避することができる。
【0063】
(4)その他
上記実施形態では、ルールに応じてアトリビュート及び印刷データを変換する場合について説明したが、これに限らない。例えば、アトリビュートを変換せずに、ルールに応じて印刷データのみを変換してもよい。また上記実施例では、プリンタアプリケーション170は、接続されているプリンタ200に対応する仮想プリンタとして、CUPS160に登録するように構成されているが、プリンタ200とスキャナ400の組み合わせに対応した仮想複合機としてCUPS160に登録するように構成されていてもよい。
【0064】
また、図2図4図6に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
【0065】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【0066】
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【0067】
<端末装置とプリンタのハードウェア構成>
図7を用いて、端末装置100及びプリンタ200のハードウェア構成の一例を説明する。
【0068】
<端末装置>
図7に示すように、端末装置100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース190と、を有している。これらプロセッサ110、記憶装置115、表示部140、操作部150、及び通信インタフェース190は、バス105を介して互いにデータ送受信可能に接続されている。
【0069】
記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を備えている。揮発性記憶装置120は、例えば、DRAMであり、処理対象となる各種のプログラムやデータを記憶する。不揮発性記憶装置130は、例えば、ハードディスクドライブ、あるいはソリッドステートドライブであり、プログラム記憶領域131と、データ記憶領域132と、を有している。
【0070】
プログラム記憶領域131には各種プログラムが格納されている。各種プログラムには、前述の図2図4図6のフローチャート等に基づく前述の印刷処理プログラム等が含まれる。データ記憶領域132には、各種プログラムの実行に必要なデータ等が記憶されている。
【0071】
プロセッサ110は、データ処理を行う装置、例えばCPUであり、プログラム記憶領域131に格納された各種プログラムを実行する。プロセッサ110は、ネットワークNTに接続されたプリンタ200に対するデータ通信を含む各種の処理を行う。プロセッサ110と上記プログラム記憶領域131に記憶されたプログラムとが、演算部の一例である。
【0072】
表示部140は、例えば液晶ディスプレイ等であり、種々の情報を表示可能である。操作部150は、例えばマウスやキーボード等であり、ユーザによる操作を受け付ける。ユーザは、操作部150を操作することによって、種々の指示を端末装置100に入力可能である。
【0073】
通信インタフェース190は、他の装置と通信するためのインタフェースであり、ネットワークNTに接続されている。
【0074】
なお、上記記憶装置115は上述した装置要素での構成に限られず、例えば、RAM、ROM、EEPROM、HDD、端末装置100に着脱されるUSBメモリ等の可搬記録媒体、プロセッサ110が備えるバッファ等、或いはそれらの組み合わせによって構成されてもよい。
なお、記憶装置115は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。後述するプリンタ200の記憶装置215についても同様である。
【0075】
<プリンタ>
図7に示すように、プリンタ200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、印刷部290と、を有している。これらプロセッサ210、記憶装置215、表示部240、操作部250、通信インタフェース270、及び印刷部290は、バス205を介して互いにデータ送受信可能に接続されている。
【0076】
記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を備えている。揮発性記憶装置220は、例えば、DRAMであり、印刷対象の画像データを記憶する画像データ記憶領域222を備えている。不揮発性記憶装置230は、例えばNVRAM、フラッシュメモリ等であり、プログラム記憶領域231と、データ記憶領域232と、を備えている。プログラム記憶領域231には各種プログラムが格納されている。各種プログラムには、印刷処理プログラムなどのファームウェア等が含まれる。データ記憶領域232には、上記各種プログラムを実行するための各種データ等が記憶されている。
【0077】
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。プロセッサ210は、プログラム記憶領域231に格納された各種プログラムを実行する。
【0078】
表示部240は、例えば、液晶ディスプレイであり、種々の情報を表示可能である。操作部250は、ユーザによる操作を受け付ける装置である。ユーザは、操作部250を操作することによって、種々の指示をプリンタ200に入力可能である。通信インタフェース270は、他の装置と通信するための有線または無線のネットワークインタフェースであり、ネットワークNTに接続されている。尚、図示されていないがスキャナ400もネットワークNTに接続されている。
【0079】
印刷部290は、図示しない搬送機構により搬送される印刷用紙に画像を印刷する。印刷部290は、端末装置100のプリンタアプリケーション170の上記プリンタ通信部171から送信された印刷データ、若しくは、操作部250での操作に基づき自ら生成した印刷ジョブに基づいて、印刷用紙に画像を印刷する。
【符号の説明】
【0080】
1 印刷システム
100 端末装置(情報処理装置の一例)
110 プロセッサ
200 プリンタ(印刷装置の一例)
図1
図2
図3
図4
図5
図6
図7