JP5950613B2 - プログラム及び情報処理装置、制御方法 - Google Patents

プログラム及び情報処理装置、制御方法 Download PDF

Info

Publication number
JP5950613B2
JP5950613B2 JP2012034347A JP2012034347A JP5950613B2 JP 5950613 B2 JP5950613 B2 JP 5950613B2 JP 2012034347 A JP2012034347 A JP 2012034347A JP 2012034347 A JP2012034347 A JP 2012034347A JP 5950613 B2 JP5950613 B2 JP 5950613B2
Authority
JP
Japan
Prior art keywords
function
parameter
printing apparatus
port
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.)
Expired - Fee Related
Application number
JP2012034347A
Other languages
English (en)
Other versions
JP2013171403A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012034347A priority Critical patent/JP5950613B2/ja
Priority to US13/767,565 priority patent/US9025175B2/en
Publication of JP2013171403A publication Critical patent/JP2013171403A/ja
Application granted granted Critical
Publication of JP5950613B2 publication Critical patent/JP5950613B2/ja
Expired - Fee Related 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/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明はプログラム間でパラメータを受け渡す技術に関する。
プリンタのメンテンスを行う際には特許文献1に示すようにプリンタにメンテナンス機能を実行させるメンテナンスコマンドを、スプーラーを利用してメンテナンスジョブとしてプリンタに送信することが可能であった。
特開2007−11469号公報
アプリケーションやプリンタドライバが特許文献1で開示されている環境とは異なる環境で動作する場合に特許文献1と同一の方法では情報処理装置とプリンタで適切なデータのやりとりができない可能性がある。よって、前述の異なる環境で動作する場合に、情報処理装置とプリンタで適切なデータのやりとりを可能とするための種々の対策が望まれていた。
上記の目的を達成するための本発明に係るプログラムは、コンピュータを、ユーザーが実行を指示する機能が第1の機能である場合はストリング型の領域外のデータを含むバイナリデータを前記ストリング型のデータに変換して第1のパラメータにセットして前記第1のパラメータを送り、ユーザーが実行を指示する機能が前記第1の機能とは異なる第2の機能である場合は前記第1のパラメータとは異なり前記第2の機能に対応する第2のパラメータを送るアプリケーション手段と、前記アプリケーション手段が送るパラメータが前記第1のパラメータである場合は前記第1のパラメータに含まれる前記ストリング型の前記データを前記バイナリデータに変換して印刷装置に前記バイナリデータを送信することを指示して、前記アプリケーション手段が送るパラメータが前記第2のパラメータである場合は前記第2のパラメータに対応する前記データを前記印刷装置に送信することを指示する送信手段として機能させる。
本発明によれば前述の異なる環境で望ましい動作をするプログラムを提供することが可能となる。
印刷装置と印刷装置に接続された情報処理装置によって構成される印刷システムを示すブロック図 レガシーアーキテクチャーによるプリンタドライバの構成を示すブロック図 レガシーアーキテクチャーによるプリンタドライバにおけるメンテナンス実行処理の流れを示すブロック図 次世代アーキテクチャーによるプリンタドライバの構成を示すブロック図 次世代アプリ401でメンテナンス機能用のボタンが実行された際の処理フローを示したフローチャート 次世代アプリ401が情報送信関数をコールされた際に呼び出されるポートモニタ用拡張ファイル412内の処理フローを示したフローチャート 実施形態1における次世代アプリ401のUI画面例を示した一例 実施形態1における拡張スキーマ定義ファイル413を示す一例 実施形態1における次世代アプリ401の変形例として起動時にメイン画面を表示するまでの処理を示したフローチャート 実施形態1における次世代アプリ401の変形例を示すUI画面例 画像ファイルを表示する次世代アプリ402の画面構成例 次世代アプリ402が画像ファイルを印刷装置407に送信する処理を示したフローチャート 次世代アプリ401起動時に印刷ボタン1107を表示するまでの処理の流れ
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は情報処理装置110と情報処理装置110に接続された印刷装置120により構成される印刷システムの全体構成を示すブロック図の一例である。
図1において情報処理装置110は一般的なPCで構成される。後述するようなハードウェアで構成され、OSとして、例えば米国マイクロソフト社のWindows(登録商標)7がインストールされている。無論OSの種類はこれに限定されない。
情報処理装置110は入力I/F111、CPU112、ROM113、出力I/F114、外部記憶装置115、RAM116、入力装置117、出力装置118、入出力I/F119を有する。ROM113は初期化プログラムを保存し、外部記憶装置115はOS、プリンタドライバやその他各種のデータが保存されている。
RAM116は外部記憶装置115に保存される各種プログラムがワークメモリーとして使用する。
入力装置117はデータ入力や動作指示に使用され入力I/F111に接続されている。
出力装置118はデータ表示や状態の通知に使用され出力I/F114に接続されている。
印刷装置120はRAM121、ROM122、プリントエンジン123、CPU124、入出力I/F125から構成される。
情報処理装置110と印刷装置120はUSB(TM)ケーブル130により接続されており、互いに双方向通信が可能である。
USBとはUniversal Serial Busの略であり、双方向通信が可能な公知のインタフェースである。なお、以下では情報処理装置110の通信インタフェースとして、USBインタフェースを例に説明を行うが、これに限定されない。例えば、無線通信に適用しても良いし、セントロニクスインタフェース、イーサーネットケーブルを介したLANインタフェース等を適用しても良い。
RAM121はCPU124のワークメモリーとして使用され、受信したデータの一時保存用バッファとしても利用される。ROM122は制御命令を保存している。プリントエンジン123はRAM121に保存されたデータに基づき印刷を行う。
CPU124はROM122に保存されている制御命令に従い印刷装置120を制御する。
本実施形態においては情報処理装置110および印刷装置120の処理分担を前記のように示したが、処理の分担形態はこれに依らない。
次に図2、3を用いて従来の印刷システムであるレガシーアーキテクチャーによるプリンタドライバ(以後、レガシードライバ)を用いた印刷データの流れと、そのアーキテクチャー上で実現されるメンテナンス実行処理の流れと、アプリケーションと印刷装置との双方向通信を行う方法を説明する。
図2は情報処理装置110に適用可能な従来の印刷システムであるレガシードライバを概念的に表したブロック図を示している。
アプリケーション201が作成した印刷データは、OSの印刷サポート機能202を介しUIモジュール211から返却される印刷設定情報が付加され、スプールデータ205としてスプーラー203のプリントキュー204に一時的に保存される。
スプールデータ205はレガシードライバ210によって印刷装置207(構成要素は印刷装置120と同様)が解釈可能な印刷コマンドへ変換された後、USBポートモニタ206へ出力される。
レガシードライバ210は前述のUIモジュール211に加え後述するグラフィックスドライバ213、ランゲージモニタ214の各モジュールから構成されるものである。
USBポートモニタ206は入力された印刷コマンドを印刷装置207へ送信する。
この印刷コマンドとは、そのデータを印刷装置110に送信すると、印刷装置110により印刷されるデータである。具体的例を示すと、グラフィックスドライバ213によりラスタライズ処理されたRGB各8bitデータに対して、CMYK32bitデータに変換し、量子化を行い、さらにプリンタが解釈して印刷可能となったコマンドのことである。
ここでUIモジュール211は印刷装置207に対しメンテナンス動作を指示するメンテナンス処理指示部212を有することができる。
ユーザーはUIモジュール211が提供するUI画面からメンテナンス動作を選択することで印刷装置207へメンテナンス動作の指示を行うことができる。
また、アプリケーション201は、OSの双方向通信サポート機能202を使用して、レガシードライバ210のランゲージモニタ214がUSBポートモニタを介して印刷装置207と双方向通信を行い、印刷装置207のステータス情報を表示する。
ここでいうOSの双方向通信サポート機能202とは、Microsoft DeveloperNetwork(以下MSDN)で説明されている為、詳細な説明は記述しないが、例えばbidirectional printer communicationであり、bidi spooler APIを利用してbidi schemaという設定情報を介して印刷装置207とステータス情報の受け渡しを行うことが可能である。
図3ではレガシードライバにおけるメンテナンス実行処理の流れを示すブロック図である。
UIモジュール211に含まれるメンテナンス処理指示部301(図2中では212)はユーザーからの指示に応じて印刷装置308が解釈可能なメンテナンス制御コマンドを作成しスプーラー302へ送信する。
ここでいうメンテナンス制御コマンドとは、Binary形で制御される実行命令コマンドである。印刷装置207はBinary型制御コマンドを受け取り動作する。
スプーラーへメンテナンス制御コマンドを送信する方法としては、MSDNで説明されているPrintSpooler APIを使用することが一般的である。
詳細な説明は記述しないが、前述した送信方法の1例としては以下の通りである。OpenPrinter関数を使用して送信する印刷装置207を特定し、StartDocPrinter関数、StartPagePrinter関数を使用して、印刷ジョブを開始し、WritePrinter関数でメンテナンス制御コマンドを書き込み、EndPagePrinter関数、EndDocPrinter関数を使用して、印刷ジョブを終了することでメンテナンス制御コマンドを印刷ジョブとしてスプーラーを介して印刷装置に送信することが可能になる。
スプーラー302は受信したメンテナンス制御コマンドをスプールデータ304としてプリントキュー303へ一時的に保存する。
スプールデータ304はグラフィックスドライバ305、ランゲージモニタ306を経由しUSBポートモニタ307へ出力される。
スプールデータ304のタイプによってはグラフィックスドライバ305を経由せずに直接ランゲージモニタ307を経由してUSBポートモニタへ出力される場合もある。
ここで前記メンテナンス制御コマンドはグラフィックスドライバ305への入力時に、既に印刷装置308が解釈可能な体を成しているため、入力されたメンテナンスコマンドに対しグラフィックスドライバ305は前述の変換処理を実施する必要はない。
そのためメンテナンス処理指示部301はメンテナンスコマンド発行処理によりスプーラー302へ渡るジョブに前記変換処理実施の如何を示す情報を記し、グラフィックスドライバ305は前記変換処理の実施の如何を示す情報に従って変換動作を制御する。
USBポートモニタ307は入力されたメンテナンス制御コマンドを印刷装置308へ送信することでメンテナンス動作が実行される。
<実施形態1>
次に図4から図8を参照し本発明の実施形態1について説明する。
本実施形態では後述する次世代アーキテクチャーによるプリンタドライバ(以後、次世代ドライバ)で利用されるポートモニタ用拡張ファイルと、拡張スキーマ定義ファイルが使用可能である場合を例として説明する。
本実施例ではUSBポートモニタを対象としたポートモニタ用拡張ファイルとして説明するが、他ポートでもポートモニタ用拡張ファイルが動作すれば同じ構成で動作可能であることはいうまでも無い。
図4ではレガシードライバ210と構成の異なる印刷システムであり情報処理装置110に適用可能な次世代ドライバを概念的に表したブロック図を示す。
通常の印刷処理時の処理の流れを説明すると、アプリケーション401が作成した印刷データは、OSの印刷サポート機能402を介し、スプールデータ405としてスプーラー403のプリントキュー404へ一時的に保存される。
スプールデータ405はグラフィックスドライバ411により印刷装置120が解釈可能な印刷コマンドへ変換される。
生成された印刷コマンドはUSBポートモニタ406を経由し、印刷装置407へ到達する。
ここでファイル群410が次世代ドライバを構成するファイル群の一例である。
本発明で想定する新たなOSの次世代ドライバ410の構成要素には、レガシードライバ210の構成要素に含まれるUIモジュール211とランゲージモニタ214が含まれない。
次世代ドライバは印刷設定などの各種設定は、基本的にOSが用意するUIモジュールを使用する必要があり、基本的な印刷設定を行う分には十分であるが、多機能なプリンタベンダー独自のGUIを持つことはできない。
しかし、次世代ドライバ410と紐づけられた外部アプリケーション401(以後、次世代アプリ)により各種設定を行うGUIを提供することが可能になる。
この次世代アプリ401が使用可能なOSの機能は限定され、レガシードライバのUIモジュール211で使用可能であったメンテナンス制御コマンドを印刷ジョブとしてスプールすることはできない場合がある。
また、レガシードライバ210のランゲージモニタ214が無いかわりに、次世代アプリ401が印刷装置407と双方向通信を行うための新しい構成要素としてポートモニタ用拡張ファイル412が用意されている。
このポートモニタ用拡張ファイル412は、次世代ドライバ410の構成要素として提供可能である。また、ポートモニタ用拡張ファイル412は、JavaScript(登録商標)により記述され、OS機能を拡張する為のスクリプトファイルである。さらに、ポートモニタ用拡張ファイル412は、次世代アプリ401がOS機能を利用して双方向通信を行った際にCPU112により実行されるポートモニタ406が呼び出して実行するスクリプトファイルである。ポートモニタ用拡張ファイル412により、印刷装置407からの情報の取得や、情報の送信が可能になる。
本実施例ではUSBポートモニタ用の拡張ファイルとして説明するが、ポートモニタが拡張ファイルに対応し、次世代ドライバ410の構成として使用可能となる構成であればUSBポートに限るものでないことは明らかである。
また、本実施例ではポートモニタ拡張ファイルはスクリプトファイルとして説明するが、例えばダイナミックリンクライブラリとして提供し、ポートモニタがポートモニタ拡張ファイル412をロードして使用可能な次世代ドライバ410の構成であれば動作は可能であり、スクリプトファイルに限定されるものではない。
次世代アプリ401は、印刷装置407と双方向通信を行う際には、OSの双方向通信サポート機能408を使用して、拡張スキーマ定義ファイル413に定義してあるスキーマと、スクリプトで記述されたポートモニタ用拡張ファイル412を利用して、印刷装置407と双方向通信を行うことが可能になる。
この次世代アプリ401がポートモニタ用拡張ファイル412を介して双方向通信を行う際に情報の受け渡しを行う為に使用するパラメータ内には、スキーマをセットすることが可能である。スキーマは値(Value)と値(Value)に対応するスキーマパスで構成されている。以降記載するスキーマはこのパラメータ内のスキーマを意味するものとする。
ポートモニタ用拡張ファイル412は、次世代アプリ401がBidi Printer communicationのGet機能を使用すると、スプーラーを介してUSBポートモニタから呼び出され、スキーマ内に格納された印刷装置407の返却したステータス情報を取得し解析処理することが可能である。
またポートモニタ用拡張ファイル412は、次世代アプリ401がBidi Printer communicationのSet機能を使用すると、スプーラーを介してUSBポートモニタ406から呼び出される。その後ポートモニタ用拡張ファイル412は、アプリケーションが格納したスキーマ内のString型のデータを取得し、印刷装置407にUSBポートモニタ406を介してデータを送信することが可能である。
本明細書ではBidi Printer communicationのパラメータ内のスキーマのValueはBinary型の情報(バイナリデータ)を扱えないものとする。バイナリデータを扱えない状況の具体例としてはString型で扱うことのできる領域を超えている領域外のデータをValueに含めることができない場合が考えられる。
前述したように、次世代アプリ401は、メンテナンス制御コマンドを印刷ジョブとしてスプールすることはできないが、印刷装置407と双方向通信を行うことは可能なため、前述したポートモニタ用拡張ファイル412のSet機能を使用することで印刷装置407に送信することが可能になる。
次に図5〜図8を使用して、次世代アプリ401から実際にメンテナンス制御コマンドを印刷装置407に送信する具体例を示す。
図7は、次世代アプリ401のUI画面例を示した1例である。
710が次世代アプリの起動直後に表示されるメイン画面であり、内部に各種機能を実行するためのボタンが配置されている。
ボタン711は、印刷装置407の詳細操作、機能説明を記載されたテキストファイルを表示するためのボタンであり、本ボタンをユーザーが実行した時に、印刷装置407の詳細操作、機能説明を記載されたテキストファイルを表示する。
ボタン712は、プリンタメンテナンス機能Aを実行するためのボタンであり、本ボタンをユーザーが実行した時に、プリンタメンテナンス機能Aが実行される。プリンタメンテナンス機能A用のメンテナンス制御コマンドはポートモニタ用拡張ファイル412内に記述されている。
ボタン713は、プリンタメンテナンス機能Bを実行するためのボタンであり、本ボタンをユーザーが実行した時に、プリンタメンテナンス機能Bが実行される。プリンタメンテナンス機能B用のメンテナンス制御コマンドは、ポートモニタ用拡張ファイル412内に記述されていない為、次世代アプリ401内に格納されている。
ここでは次世代アプリ401のUI画面例として上記の画面構成を示したが、この構成に限られることはなく他の画面構成でもあっても構わない。
図8は、拡張スキーマ定義ファイル413を示す一例であり、XMLのマークアップ言語で記述されている。
プリンタメンテナンス機能A用のスキーマは、ValueTypeはBIDI_BOOL型、accessTypeはSet、スキーマパスは¥¥Printer.Maintenance.Command:TypeAとして定義されている。
プリンタメンテナンス機能B用のスキーマは、ValueTypeはBIDI_STRING型、accessTypeはSet、スキーマパスは¥¥Printer.Maintenance.Direct:TypeBとして定義されている。
ここでは図7に提示した次世代アプリ401のサポートするメンテナンス機能に合わせた数のスキーマしか表示していないが、例えばステータス取得用のスキーマ等、その他の機能に応じて定義しておく必要があることはいうまでもない。
また、メンテナンス機能B用のスキーマパスをメンテナンス制御コマンドの直接送信を想像しやすい名称にしているが、スキーマパスの名称は自由である。
図5は、次世代アプリ401でメンテナンス機能用のボタンが実行された際の処理フローを示したフローチャートである。
次世代アプリ401のフローチャートはCPU112が外部記憶装置115に記憶されているプログラムに基づき処理を実行することによって各ステップの処理が実現される。
図6は、次世代アプリ401が情報送信関数をコールされた際に呼び出されるポートモニタ用拡張ファイル412内の処理フローを示したフローチャートである。
この二つのフローチャートを使用して、次世代アプリ401でボタン712とボタン713のプリンタメンテナンス機能を実行する際の処理フローを説明する。
(次世代アプリによるプリンタメンテナンス機能Aの処理)
ボタン712が実行された場合は、S501で、実行するメンテナンス機能がポートモニタ用拡張ファイル412内でサポートされているかを判断する。ボタン712のメンテナンス機能Aは、ポートモニタ拡張ファイル412内にBinary型のメンテナンス制御コマンドが予め記述されている為、S502に進む。
なお、S501の判断はユーザーから受け付けたボタンが712であるか713であるかを判断することにより行なっても構わない。
S502では、次世代アプリ401がパラメータにプリンタメンテナンス機能A用のスキーマをセットし、S505に進む。ここでプリンタメンテナンス機能A用のスキーマのスキーマパスはポートモニタ拡張ファイルの既知の機能を呼び出すことを示す情報を入力している。
本実施形態で既知の機能とはポートモニタ拡張ファイル内又はポートモニタ拡張ファイルが読みだすことのできるファイル内に記載されている機能を示している。
S505では、次世代アプリ401が情報送信関数をコールして次世代アプリ401は処理を終了する。
本明細書で情報送信関数とはBidi Printer communicationで用いられる関数であり、情報送信関数をコールすることでスキーマがセットされたパラメータをポートモニタ用拡張ファイル412に送ることができる。
(ポートモニタ用拡張ファイルによるプリンタメンテナンス機能Aの処理)
ポートモニタ用拡張ファイル412は、次世代アプリ401が情報送信関数をコールした後で呼び出され、S601に進む。
S601では、受け取ったパラメータを解析し、S602に進む。
S602では、解析した結果から受け取ったパラメータの種類を判別する。受け取ったパラメータは、ポートモニタ拡張ファイル412内の既知の機能名として判別され、S603に進む。
S603では、ポートモニタ拡張ファイルが予め持っているBinary型の、受け取ったパラメータに対応するメンテナンス制御コマンドをUSBポートモニタ406に出力して処理を終了する。
なお、ポートモニタ拡張ファイルが予め持っているBinary型のデータはメンテナンス制御コマンドに限られない。具体的には印刷装置407の電源を切ったり、自動的に印刷装置407の電源の切る時間の設定を行ったり、といったプリンタ動作を制御するプリンタ制御コマンドが考えられる。
さらに、印刷装置407がString型のメンテナンス制御コマンドを受け取ることができる場合はUSBポートモニタ406に出力するメンテナンス制御コマンドはBinary型に限らずString型であってもよい。
USBポートモニタ406は印刷装置407にメンテナンス制御コマンドを送信し、印刷装置407は受け取ったメンテナンス制御コマンドを実行する。
これによりボタン712が実行された際に、メンテナンス機能Aが実行されることとなる。
(次世代アプリによるプリンタメンテナンス機能Bの処理)
次にボタン713が実行された場合は、S501で、実行するメンテナンス機能がポートモニタ用拡張ファイル412でサポートされているかを判断し、ボタン713のメンテナンス機能Bは、ポートモニタ拡張ファイル412内にメンテナンス制御コマンドが記述されていない為、S503に進む。
なお、前述のようにS501の判断はユーザーから受け付けたボタンが712であるか713であるかを判断することにより行なっても構わない。
S503では、次世代アプリ401がパラメータにプリンタメンテナンス機能B用のスキーマをセットし、S504に進む。ここでセットされたプリンタメンテナンス機能B用のスキーマのスキーマパスには、メンテナンス制御コマンドを次世代アプリ401から渡すことを意味する直接送信モードを示す情報を入力している。
S504では、次世代アプリ401内に格納されているプリンタメンテナンス機能B用のメンテナンス制御コマンドをString型にデータ変換を行い、パラメータ内のスキーマのValueにセットする。S504のString型へのデータ変換方法は後で詳細に説明する。
S505では、次世代アプリ401が情報送信関数をコールして次世代アプリ410は処理を終了する。
(ポートモニタ用拡張ファイルによるプリンタメンテナンス機能Bの処理)
ポートモニタ用拡張ファイル412は、次世代アプリ401が情報送信関数をコールした後で呼び出される。以下にポートモニタ用拡張ファイル412が実行する処理を説明する。
なお、既に説明したステップについては説明を省略する。
S602で解析した結果から受け取ったパラメータの種類を判別する。受け取ったパラメータ内に格納されているメンテナンス制御コマンドを直接送信するモードと判別してS604に進む。
S604では、受け取ったパラメータ内に格納されているString型のメンテナンス制御コマンドをBinary型のメンテナンス制御コマンドに変換し、S605に進む。S604のString型のメンテナンス制御コマンドをBinary型に変換する方法は後で詳細に説明する。
S605では、変換したBinary型のメンテナンス制御コマンドをポートモニタに出力して処理を終了する。
USBポートモニタ406は印刷装置407にBinary型のメンテナンス制御コマンドを送信し、印刷装置407は受け取ったメンテナンス制御コマンドを実行する。
これによりボタン713が実行された際に、メンテナンス機能Bが実行されることとなる。
なお、メンテナンス制御コマンドは次世代アプリ401がBinary型のメンテナンス制御コマンドをString型に予め変換された形式で保持しておいても構わない。変換された形式で保持する場合はString型のメンテナンス制御コマンドをパラメータに含めて次世代アプリ401が情報送信関数をコールすることでポートモニタ用拡張ファイル412がメンテナンス制御コマンドを扱うことが可能となる。このように構成した場合はS504のString型へのデータ変換は不要である。
(既知の機能と直接送信モードの差異)
例えば情報処理装置110のシステム環境上の制約でポートモニタ用拡張ファイル412のファイルサイズが限られているものとする。こうした状況において、既知の機能としてポートモニタ用拡張ファイル412に用意することのできるメンテナンス制御コマンドは限られる。よって、印刷装置の複数機種で共通のメンテナンス制御コマンドは既知の機能としてポートモニタ用拡張ファイル412に用意する。そして、次世代アプリ401内に印刷装置の機種ごとにカスタマイズされたメンテナンス制御コマンドを用意することにより、ポートモニタ用拡張ファイル412の肥大化を防ぐことができる。
<Binary型とString型とのデータ変換例>
次に次世代アプリ401のS504のString型へのデータ変換と、ポートモニタ用拡張ファイル412のS604のBinary型へのデータ変換方法について詳細に説明する。
ここでは、@Cleaningというメンテナンス制御コマンドを送信する場合の変換例を以下に示す。
@Cleaningというメンテナンス制御コマンドを送信したい場合、送信するためのBinary型データは以下の10byteの配列となる。
16進数表記 “0x40,0x43,0x6c,0x65,0x61,0x6e,0x69,0x6e,0x67,0x0a”
10進数表記 “64,67,108,101,97,105,110,105,103,10”
S504では、この1byteの配列のメンテナンス制御コマンドを、1byte毎に2文字のString型データにASCII文字コードでエンコードして変換を行う。
具体的には、各値を16で割った値で1文字、および16で割ったときの余りを1文字として変換を行い、送信データの全てに対してこの変換を行う。
なお、値が10〜15になった場合は、大文字のA〜Fの文字をセットするとあらかじめルールを決めておき、Binary型データ逆変換時はその対応に基づき処理を行う。
上記アルゴリズムでBinary型データからString型データに変更した場合、例えば、64は、4,0と変換され、108は、6,Cと変換されString型データとして格納される。
S504で、前記Binary型データ全てを変換した結果、String型データは、
“4,0,4,3,6,C,6,5,6,1,6,E,6,9,6,E,6,7,0,A”
となる。次世代アプリ401が1byteの配列としてパラメータにセットを行う。
このようにしてBinary型データを、String型データに変換を行うことが可能である。
次にポートモニタ用拡張ファイル411のS604で受け取った前記String型データは、10進数で表現すると、
“52,48,52,51,54,67,54,53,52,49,54,69,54,57,54,69,54,55,48,65”
となる。これをS604ではBinary型データに逆変換を行う。
最初の文字を、値が48(“0”)から57(“9”)のときは、値から48をマイナスし、値が65(“A”)から70(“F”)のときは、値から55をマイナスし、1byteの上位4bitとしてセットする。
次の文字を、値が48から57のときは、値から48をマイナスし、値が65から70のときは、55をマイナスし、1byteの下位4bitとしてセットする。
例えば、52、48の文字列は、0x40, 54、67の文字列は、0x6c と逆変換されることになる。
以上のように全ての文字列を変換すると、
16進数 “0x40,0x43,0x6c,0x65,0x61,0x6e,0x69,0x6e,0x67,0x0a”
に逆変換されることになる。
このようにしてString型データで受け取ったデータ配列を、Binary型データに逆変換を行うことが可能である。
なお、ここで説明したBinaryデータとStringデータの変換、逆変換のアルゴリズムはASCII文字コードを使用した例である。前述の変換を行うことで例えばString型データとしてプログラム間でASCII文字コードしか扱えないような環境であったとしても、Binary型データをやりとりすることができる。
要は次世代アプリ401とポートモニタ用拡張ファイル412であらかじめ決められた方式で変換を行えばよく、別アルゴリズムでも変換可能であることはいうまでもない。
また、このBinary型とString型のデータ相互変換はメンテナンス制御コマンドにのみあてはまる変換ではなく、すべてのデータに対して有効である。
次に図9および図10として、次世代アプリ401の変形例を示す。
図9は、次世代アプリ401起動時にメイン画面を表示するまでの処理を示したフローチャートである。
S901では、次世代アプリ401起動時に使用可能なドライバが次世代ドライバ410か、レガシードライバ210かを判断する。判断方法としては、例えばプリンタドライバ名称を決められたルールで分けておいても判断可能であるし、プリンタドライバの構造を判別するOSのAPIを利用できる環境であればそれを利用する。使用するドライバが次世代ドライバ401であれば、S902に進み、レガシードライバ210の場合は、S905に進む。
S902では、次世代ドライバ410が接続されているポートを判別し、ポートモニタ用拡張ファイル412を有するポートかを判断する。印刷装置407と接続しているポートがポートモニタ用拡張ファイル412を有するポートであればS903に進み、ポートモニタ用拡張ファイル412非対応のポートであればS905に進む。
S903では、印刷装置407への情報送信が可能なタイミングかどうかを判断する。これは例えば印刷中の状態で双方向通信の情報送信を試みることにより判断する。そして、すでに印刷中の状態で双方向通信の情報送信を試みた際にポートモニタ側での排他制御ができない場合には、印刷に影響を与えてしまうため、実行不可能なタイミングとして判断する。情報送信実行可能なタイミングであればS904に進み、実行不可能なタイミングであれば、S905に進む。
S904では、メンテナンス制御コマンドを印刷装置に送信可能な為、次世代アプリ401のメイン画面に図10に示す1001のようにメンテナンス機能ボタンを表示する。
S905ではメンテナンス制御コマンドを印刷装置に送信できない環境であり、図10に示す1005の通りメンテナンス機能ボタンを非表示とし、実行可能な機能ボタンのみ表示する。この場合は、プリンタマニュアル表示ボタンのみが表示されることとなる。
あるいは、常に図10の1001のようにプリンタメンテナンスA1003、プリンタメンテナンスB1004を表示しておき、ユーザーがボタンを実行した時にS501の処理の前に、S901、S902、S903の判断を行う構成としてもよい。このように構成した場合、メンテナンス制御コマンドを印刷装置に送信不可能な状態の際には、図10の1007のように機能の実行できないことや、その理由や、回避策等をGUI上に表示する。
以上の形態により、図4に示す環境下であっても次世代アプリから適切に印刷装置に対しメンテナンス機能の実行指示を行うことが可能となった。
また本明細書ではポートモニタ用拡張ファイルが、ユーザーが自由に閲覧することができるテキストファイルの形式で保存されている。よって、ポートモニタ用拡張ファイル412がメンテナンス制御コマンドを保持しなくてもメンテナンス機能を実行できるようになる。これにより、メンテナンス制御コマンドをテキストファイルに記載しなくて済み、メンテナンス制御コマンドの機密性が向上する。
また別の効果として、次世代ドライバ410がOSに予め組み込む形態のプリンタドライバで、かつ将来の印刷装置407でも利用可能な汎用ドライバ形態であった場合、予めポートモニタ用拡張ファイル412内にメンテナンス制御コマンドを持つ形態だと、将来の印刷装置407用のメンテナンス機能の拡張に対応できないという問題を回避することが可能になった。
<実施形態2>
次に実施形態2として、図11〜図13を使用して、画像ファイルの表示が可能な次世代アプリ402と、次世代ドライバ410のポートモニタ用拡張ファイル412を使用して、印刷装置407に画像ファイルを送信する印刷制御方法について説明する。
図11は画像ファイルを表示する次世代アプリ402の画面構成例である
次世代アプリ起動時に表示されるメイン画面が1101および1104である。
情報処理装置110内に格納されているJPEGやTIFF,BMP等各種画像ファイルフォーマットで作成された画像ファイルを開き、メイン画面の中央部の画像表示領域(1102および1105)に表示を行うことが可能である。
また、メイン画面(1101および1104)上部の表示領域(1103および1106)は図に示すように表示している画像ファイルのファイル名称を表示することが可能である。
また、メイン画面(1101および1104)下部の表示領域には、印刷実行ボタン(1107)を表示することが可能であり、印刷実行ボタンが押下された際には、次世代ドライバ410のポートモニタ用拡張ファイル412を使用して、印刷装置407に画像ファイルを直接送信することが特徴である。
通常のアプリケーションが印刷処理を実行する際には、次世代ドライバ410のグラフィックスドライバ411を使用して、画像データをデバイス解像度に併せてレンダリング処理を行い、得られたRGB画像ファイルに対して色処理、量子化処理、プリンタ制御コマンドへの変換処理を行い、得られた印刷コマンドを印刷装置407に送信することが一般的である。
また、画像ファイルを直接受け取って印刷処理することが可能な印刷装置407の場合、レンダリング処理後の画像ファイルを次世代ドライバ410のグラフィックスドライバ411が、印刷装置407が処理可能な画像ファイルフォーマットに変換する。その後、変換した画像ファイルを印刷装置407に送信し、印刷装置407内部で画像ファイルを直接処理して印刷する方法も一般的である。
しかし、前述した2つの印刷処理は、データ変換処理回数も増え、処理負荷も高くなる為、非力なCPU112を使用する情報処理装置110では処理時間が遅くなる懸念がある。また、印刷装置410の対応解像度にレンダリング処理を行うことが一般的である為、情報処理装置110のRAM116の使用量が増大するという懸念もある。
図11に示した次世代アプリ402と次世代ドライバ410とポートモニタ用拡張ファイル412を使用して情報処理装置110の処理負荷および使用メモリ量を削減した印刷制御方法について図12を用いて説明する。
図12は、次世代アプリ402が画像ファイルを印刷装置407に送信する処理の流れを示したフローチャートである。
次世代アプリ402は、印刷ボタン1107が押下されるとS1201を処理する。
S1201では、双方向通信を行う際のスキーマに直接送信モードを示す情報をセットし、S1202に進む。
S1202では、印刷装置407が直接画像ファイルを受けっとって印刷する為の制御情報を、送信する画像ファイルに付加し、S1203に進む。制御情報とは印刷装置407が画像ファイルを直接印刷する処理を行うための情報である。
S1203では、送信する画像ファイルのサイズを確認し、一度に送信可能な範囲のサイズに分割し、S1204に進む。
このように画像ファイルを分割することでBidi Printer communicationを用いてやりとりするパラメータ内のデータのサイズ、又は印刷装置407が一度に受け取ることができるデータのサイズに上限があったとしても画像ファイルを送信することが可能である。
S1204では、分割された画像ファイルのデータをString型に変換した後、パラメータ内のスキーマにセットする。
S1205では、次世代アプリ401が情報送信関数をコールする。次世代アプリ401が情報送信関数をコールすると、図6に示すポートモニタ用拡張ファイル412の処理フローを実行する。パラメータには直接送信モードが指定されている為、ポートモニタ用拡張ファイル412はString型データをBinary型データに変換後、ポートモニタがデータを印刷装置407に送信する。
S1206では、画像ファイルの全データ送信が完了したかを判断し、すべてのデータ送信が完了したら、処理を終了する。またすべてのデータ送信が完了していない場合は、S1204からS1206を繰り返し実行する。
印刷装置407は、受信した画像ファイルを処理し、印刷を行う。
図13は、次世代アプリ401起動時に印刷ボタン1107を表示するまでの処理の流れを示す。
これは前述した次世代アプリ401の印刷機能は、次世代ドライバ410のポートモニタ用拡張ファイル412を使用することが前提である為、ユーザーが印刷機能を実行可能な時のみ印刷ボタン1107を表示することが望まれる。
S1301はS901と、S1302はS902と、S1304とS903はそれぞれ同様であるため、説明を省略する。
S1304では、現在表示している画像ファイルの画像フォーマットが、印刷装置407が直接受け取って印刷可能なフォーマットであるかどうか判断する。印刷装置407が直接受け取って印刷可能な画像フォーマットであればS1305へ進み、印刷不可能な画像フォーマットの時はS1306に進む。
S1304の印刷可能なフォーマットであるかを判断する方法としては次の通りである。印刷装置407が印刷可能な拡張子の一覧を次世代アプリ401が外部記憶装置115に保存しておき、次世代アプリ401が画像ファイルのフォーマットがその一覧に含まれているか否かを判断する。あるいは次世代アプリ401が印刷装置407に印刷装置407が印刷可能な拡張子の一覧を問い合わせても良い。
S1305では、画像フォーマットを印刷装置に直接送信可能な状態の為、次世代アプリ401のメイン画面に図11に示す1107の印刷ボタンを表示する。
S1306ではメ画像フォーマットを印刷装置に直接送信不可能な状態の為、図11に示す1101の通り印刷ボタンを非表示とする。
以上、実施例2で示してきた通り、次世代アプリ402と次世代ドライバ410とポートモニタ用拡張ファイル412を使用して画像データを直接印刷装置407に送信し、印刷処理を行うことが可能になる。
さらに印刷装置407が対応していないフォーマットの画像ファイルを情報処理装置110が送信せずに済む。
<他の実施形態>
上記実施形態では、アプリケーションの一例としてメンテナンス機能実行や、画像ファイルの直接送信を例に説明したが、この例に限られることはない。
例えば本実施形態が動作する環境であれば、印刷装置に直接データを送信したいと考える任意のアプリケーションで実現可能であり、本発明はその場合でも有効である。
又、上記実施形態では、情報処理装置としてパーソナルコンピュータを想定したが、この例に限られることはない。例えば携帯電話、DVDビデオプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の端末に対して実現することができ、本発明はその場合でも有効である。
又、上記実施形態では、印刷装置としてプリンタを例示しているが、印刷装置として他に、複写機、ファクシミリ、および印刷、スキャナ、ファックスの機能などを備える複合機などのいずれかが、本発明の適用対象となり得る。
又、上記実施形態では、PCと印刷装置の間のインタフェースとして、USBインタフェースを用いたが、このインタフェースに限られない。これは次世代ドライバが印刷装置と双方向通信を行う際に、ポートモニタ用拡張ファイルが使用可能で、同様の実施形態が可能となる全てのポートに対して有効になる。
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータまたはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、SSD、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。

Claims (11)

  1. コンピュータを、
    ユーザーが実行を指示する機能が第1の機能である場合はストリング型の領域外のデータを含むバイナリデータを前記ストリング型のデータに変換して第1のパラメータにセットして前記第1のパラメータを送り、ユーザーが実行を指示する機能が前記第1の機能とは異なる第2の機能である場合は前記第1のパラメータとは異なり前記第2の機能に対応する第2のパラメータを送るアプリケーション手段と、
    前記アプリケーション手段が送るパラメータが前記第1のパラメータである場合は前記第1のパラメータに含まれる前記ストリング型の前記データを前記バイナリデータに変換して印刷装置に前記バイナリデータを送信することを指示して、前記アプリケーション手段が送るパラメータが前記第2のパラメータである場合は前記第2のパラメータに対応する前記データを前記印刷装置に送信することを指示する送信手段として機能させることを特徴とするプログラム。
  2. 前記第1の機能は印刷装置の機種ごとに異なるメンテナンス制御コマンドを印刷装置に送信指示するための機能であり、前記第2の機能は印刷装置の複数機種で共通のメンテナンス制御コマンドを印刷装置に送信指示するための機能であり、前記バイナリデータ及び前記第2のパラメータに対応する前記データはメンテナンス制御コマンドであることを特徴とする請求項1記載のプログラム。
  3. コンピュータを、
    アプリケーション起動時に、前記印刷装置に対応するポートがポートモニタ用拡張ファイルを有するポートである場合に前記第1の機能及び前記第2の機能を実行するためのボタンを表示して、前記印刷装置に対応するポートがポートモニタ用拡張ファイルを有さないポートである場合に前記第1の機能及び前記第2の機能を実行するためのボタンを表示しない制御をする制御手段として機能させることを特徴とする請求項1または2に記載のプログラム。
  4. 前記バイナリデータは画像ファイルであり、前記画像ファイルに基づいて前記印刷装置が印刷することを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
  5. コンピュータを、
    前記印刷装置に対応するポートがポートモニタ用拡張ファイルを有するポートである場合に前記画像ファイルの印刷指示をユーザーから受け付けるボタンを表示する表示手段として機能させることを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
  6. ユーザーが実行を指示する機能が第1の機能である場合はストリング型の領域外のデータを含むバイナリデータを前記ストリング型のデータに変換して第1のパラメータにセットして前記第1のパラメータを送り、ユーザーが実行を指示する機能が前記第1の機能とは異なる第2の機能である場合は前記第1のパラメータとは異なり前記第2の機能に対応する第2のパラメータを送るアプリケーション手段と、
    前記アプリケーション手段が送るパラメータが前記第1のパラメータである場合は前記第1のパラメータに含まれる前記ストリング型の前記データを前記バイナリデータに変換して印刷装置に前記バイナリデータを送信することを指示して、前記アプリケーション手段が送るパラメータが前記第2のパラメータである場合は前記第2のパラメータに対応する前記データを前記印刷装置に送信することを指示する送信手段と、を有することを特徴とする情報処理装置。
  7. 前記第1の機能は印刷装置の機種ごとに異なるメンテナンス制御コマンドを印刷装置に送信指示するための機能であり、前記第2の機能は印刷装置の複数機種で共通のメンテナンス制御コマンドを印刷装置に送信指示するための機能であり、前記バイナリデータ及び前記第2のパラメータに対応する前記データはメンテナンス制御コマンドであることを特徴とする請求項に記載の情報処理装置。
  8. アプリケーション起動時に、前記印刷装置に対応するポートがポートモニタ用拡張ファイルを有するポートである場合に前記第1の機能及び前記第2の機能を実行するためのボタンを表示して、前記印刷装置に対応するポートがポートモニタ用拡張ファイルを有さないポートである場合に前記第1の機能及び前記第2の機能を実行するためのボタンを表示しない制御をする制御手段を有することを特徴とする請求項6または7に記載の情報処理装置。
  9. 前記バイナリデータは画像ファイルであり、前記画像ファイルに基づいて前記印刷装置が印刷することを特徴とする請求項6乃至のいずれか1項に記載の情報処理装置。
  10. 前記印刷装置に対応するポートがポートモニタ用拡張ファイルを有するポートである場合に前記画像ファイルの印刷指示をユーザーから受け付けるボタンを表示する表示手段を有することを特徴とする請求項6乃至9のいずれか1項に記載の情報処理装置。
  11. 情報処理装置において実行される制御方法であって、
    ユーザーが実行を指示する機能が第1の機能である場合はストリング型の領域外のデータを含むバイナリデータを前記ストリング型のデータに変換して第1のパラメータにセットして前記第1のパラメータを送り、ユーザーが実行を指示する機能が前記第1の機能とは異なる第2の機能である場合は前記第1のパラメータとは異なり前記第2の機能に対応する第2のパラメータを送るアプリケーション工程と、
    前記アプリケーション工程が送るパラメータが前記第1のパラメータである場合は前記第1のパラメータに含まれる前記ストリング型の前記データを前記バイナリデータに変換して印刷装置に前記バイナリデータを送信することを指示して、前記アプリケーション工程が送るパラメータが前記第2のパラメータである場合は前記第2のパラメータに対応する前記データを前記印刷装置に送信することを指示する送信工程と、を有することを特徴とする制御方法。
JP2012034347A 2012-02-20 2012-02-20 プログラム及び情報処理装置、制御方法 Expired - Fee Related JP5950613B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012034347A JP5950613B2 (ja) 2012-02-20 2012-02-20 プログラム及び情報処理装置、制御方法
US13/767,565 US9025175B2 (en) 2012-02-20 2013-02-14 Storage medium, information processing apparatus, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012034347A JP5950613B2 (ja) 2012-02-20 2012-02-20 プログラム及び情報処理装置、制御方法

Publications (2)

Publication Number Publication Date
JP2013171403A JP2013171403A (ja) 2013-09-02
JP5950613B2 true JP5950613B2 (ja) 2016-07-13

Family

ID=48982064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012034347A Expired - Fee Related JP5950613B2 (ja) 2012-02-20 2012-02-20 プログラム及び情報処理装置、制御方法

Country Status (2)

Country Link
US (1) US9025175B2 (ja)
JP (1) JP5950613B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468937B2 (ja) * 2015-02-27 2019-02-13 キヤノン株式会社 情報処理装置、制御方法、制御プログラム
JP6784538B2 (ja) * 2016-08-18 2020-11-11 キヤノン株式会社 情報処理装置、方法およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353133A (ja) * 1998-06-09 1999-12-24 Casio Electronics Co Ltd 印刷システム
US7171442B1 (en) * 2000-09-18 2007-01-30 Canon Kabushiki Kaisha Printer maintenance scheme for a network centric printing system
US7417754B2 (en) * 2001-09-05 2008-08-26 Hewlett-Packard Development Company, L.P. Wireless printing interface kit and method
JP2004318818A (ja) * 2002-12-12 2004-11-11 Seiko Epson Corp 画像出力システム、画像出力装置、画像供給装置および制御プログラム
US7907292B2 (en) * 2005-05-13 2011-03-15 Ricoh Company, Limited Terminal device for performing print processing, method of controlling the same, and computer product
JP2006344210A (ja) * 2005-05-13 2006-12-21 Ricoh Co Ltd 端末装置、端末装置の制御方法及びコンピュータプログラム
JP4659531B2 (ja) * 2005-06-28 2011-03-30 キヤノン株式会社 ジョブ状態監視システム、ジョブ状態監視方法、プログラム及び記憶媒体
JP4760417B2 (ja) * 2006-02-06 2011-08-31 セイコーエプソン株式会社 ネットワークシステムのデバイスドライバ実現方法、およびデバイスドライバ実現システム
JP4760415B2 (ja) * 2006-02-06 2011-08-31 セイコーエプソン株式会社 コンピュータのデバイスドライバ実現方法
JP4870599B2 (ja) * 2007-03-16 2012-02-08 株式会社リコー 画像処理システム、画像処理装置、画像処理方法及び画像処理プログラム
JP5388623B2 (ja) * 2008-04-17 2014-01-15 キヤノン株式会社 情報処理装置、その方法、及びプログラム
JP5094627B2 (ja) * 2008-08-08 2012-12-12 キヤノン株式会社 情報処理装置、方法、制御プログラム

Also Published As

Publication number Publication date
US9025175B2 (en) 2015-05-05
JP2013171403A (ja) 2013-09-02
US20130215445A1 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
JP5677047B2 (ja) 印刷システム、情報処理装置、印刷方法、及び、プログラム
US10318213B2 (en) Information processing apparatus, information processing method, and storage medium storing program
US9471284B2 (en) Apparatus, method, and non-transitory computer-readable storage medium
JP6378645B2 (ja) 情報処理装置、制御方法、及びプログラム
US10075620B2 (en) Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium
US10620892B2 (en) Information processing apparatus that displays a print setting screen based on information of a printing apparatus in a format interpretable in a first program layer and processing method thereof
JP6478487B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5704800B2 (ja) データ処理装置、データ処理処理方法、プログラム
JP5927950B2 (ja) 制御装置
JP2006306021A (ja) データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体
JP6138088B2 (ja) 情報処理装置、制御方法、及びソフトウェアプログラム
JP2007328558A (ja) データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体
JP6658654B2 (ja) 画像形成システム、サーバー、画像形成装置、及び画像形成方法
JP2013045143A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP5950613B2 (ja) プログラム及び情報処理装置、制御方法
JP2018034375A (ja) 出力システム、出力装置、制御方法、及びプログラム
JP5021921B2 (ja) データ変換装置、データ変換システム、データ変換方法、プログラム及び記録媒体
JP5168398B2 (ja) 装置、データ処理方法及びプログラム
JP4479584B2 (ja) 印刷処理制御方法および近距離無線通信端末装置
JP2014056424A (ja) 印刷制御装置、印刷制御方法及び印刷制御システム
JP7271208B2 (ja) プログラム、および情報処理装置
JP6950428B2 (ja) 印刷サーバ、印刷システム及びプログラム
JP2008225551A (ja) データ処理システム、情報処理装置、および、それらの制御方法
JP2018186537A (ja) 情報処理装置、処理方法、及びプログラム
JP2010268278A (ja) 処理実行装置、制御方法および制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160607

R151 Written notification of patent or utility model registration

Ref document number: 5950613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees