JP5499584B2 - 印刷制御プログラム、情報処理装置、及び記録媒体 - Google Patents

印刷制御プログラム、情報処理装置、及び記録媒体 Download PDF

Info

Publication number
JP5499584B2
JP5499584B2 JP2009208509A JP2009208509A JP5499584B2 JP 5499584 B2 JP5499584 B2 JP 5499584B2 JP 2009208509 A JP2009208509 A JP 2009208509A JP 2009208509 A JP2009208509 A JP 2009208509A JP 5499584 B2 JP5499584 B2 JP 5499584B2
Authority
JP
Japan
Prior art keywords
information
script
processing
processing apparatus
request information
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
JP2009208509A
Other languages
English (en)
Other versions
JP2011059956A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009208509A priority Critical patent/JP5499584B2/ja
Priority to US12/923,092 priority patent/US20110058219A1/en
Publication of JP2011059956A publication Critical patent/JP2011059956A/ja
Application granted granted Critical
Publication of JP5499584B2 publication Critical patent/JP5499584B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Description

本発明は、印刷に関する機能の追加、削除又は変更が可能なプリンタドライバ、情報処理装置、及び記録媒体に関する。
従来から、PC等のホストコンピュータからプリンタに対して印刷命令を行うためには、各種コマンドが用いられていた。コマンドの種類としては、プリンタに対して描画を指示する描画コマンドと別に、プリンタの設定、集約の設定、又は両面の設定などをプリンタに対して行うコマンドとして、PJL(Printer Job Language)やJDF(Job Definition Format)といったものが既に知られている。
このPJLなどのコマンドは、描画データには含まれないフィニッシャの設定などを行うための、テキストで記述されたコマンドである。そして、PJLコマンド自体は、プリンタそれぞれに特化したコマンドではなく、複数のプリンタに共通するコマンドが用いられることが多い。しかしながら、近年、プリンタの機種を問わず、ユーザの要求に応えるために納入されるプリンタ毎に異なる機能が搭載されることが多い。このため、プリンタ毎にフィニッシャの設定として用いられるコマンドが異なる。
ところで、当該プリンタと接続されたホストコンピュータは、当該プリンタを呼び出すためにプリンタドライがインストールされている。そして、当該ホストコンピュータは、プリンタドライバを呼び出すことで当該プリンタの機能を利用できる。つまり、当該ホストコンピュータからの要求に応じて、プリンタドライバが、当該機能に対応するコマンドを生成し、プリンタに対して出力する。これにより、プリンタの機能を使用することができる。
このため、プリンタに新たなコマンドや機能が追加された場合、当該プリンタを制御する各ホストコンピュータにインストールされたプリンタドライバも更新を行う必要がある。このプリンタドライバは、通常、コンパイルされたバイナリ形式で配布されている。
ところで、プリンタに新たなコマンドや機能が増えた場合には、当該プリンタドライバのプログラムをプログラマが書き直し、コンパイルした後で、配布する必要があった。そして、配布されたプリンタドライバをホストコンピュータごとにインストールすることで、新たな追加されたコマンドや機能を、ホストコンピュータから使用することが可能となった。
しかしながら、上述した従来の技術では、プリンタドライバがコンパイル済みのバイナリであるため、プリンタの機能が増減するたびにプリンタドライバのプログラムの書き換え、再コンパイル、再配布などをしなければならないため、作業負担が大きいという問題があった。
そして、コンパイルを行わずに、プリンタドライバで複数種類の機器に応じてコマンドを追加する技術として、例えば、特許文献1に記載された技術がある。特許文献1に記載された技術では、プリンタから読み出した機器情報に基づいてコマンドを取得し、当該コマンドに基づいてプリンタが解釈可能な印刷データを生成する技術が開示されている。
しかしながら、特許文献1に記載された技術では、プリンタドライバが、プリンタから機器情報を読み出す必要があるため、プリンタに予め機器情報を格納する必要があるという問題がある。
さらには、従来からプリンタのメンテナンス時に、プリンタから印刷するために別のコマンドを試したい場合に、プリンタドライバの再インストールなどが必要となり、作業負担が大きいという問題があった。これに対し、特許文献1に記載された技術では、メンテナンス時に、別コマンドを試すことができず、作業負担が大きいという問題については解消できない。
本発明は、上記に鑑みてなされたものであって、プリンタに対して出力されるコマンドの変更が容易な印刷制御プログラム、情報処理装置、及び記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる印刷制御プログラムは、コンピュータに、画像処理装置への処理の要求をするための要求情報を複数受け付け、受け付けた前記要求情報それぞれに対応する、前記画像処理装置に処理を実行させる処理に関する処理情報を前記画像処理装置へ出力させるための印刷制御プログラムにおいて、前記コンピュータを、前記要求情報それぞれに対応する前記処理情報の生成に用いられ、前記画像処理装置に追加された機能に対応する処理情報を生成するための記述が追加可能なスクリプトを記憶装置に複数記憶する第1の記憶制御手段と、前記要求情報と前記スクリプトとの対応関係を示す対応情報を前記記憶装置に記憶する第2の記憶制御手段と、前記要求情報を受け付けたとき、前記第2の記憶制御手段によって記憶された対応情報に基づいて、前記記憶装置に前記要求情報に対応する前記スクリプトが記憶されているか否かを判定する判定手段と、前記判定手段によって前記記憶装置に記憶されていると判定されたスクリプトを用いて該受け付けた要求情報に対応する処理情報を生成する生成手段と、前記生成手段で生成された前記処理情報を前記画像処理装置に出力する出力手段として機能させることを特徴とする。
また、本発明にかかる情報処理装置は、画像処理装置への処理の要求をするための要求情報を複数受け付け、受け付けた前記要求情報それぞれに対応する、前記画像処理装置に処理を実行させる処理に関する処理情報を前記画像処理装置へ出力する情報処理装置において、前記要求情報それぞれに対応する前記処理情報の生成に用いられ、前記画像処理装置に追加された機能に対応する処理情報を生成するための記述が追加可能なスクリプトを複数記憶する第1の記憶手段と、前記要求情報と前記スクリプトとの対応関係を示す対応情報を記憶する第2の記憶手段と、前記要求情報を受け付けたとき、前記第2の記憶手段によって記憶された対応情報に基づいて、前記第1の記憶手段に前記要求情報に対応する前記スクリプトが記憶されているか否かを判定する判定手段と、前記判定手段によって前記第1の記憶手段に記憶されていると判定されたスクリプトを用いて該受け付けた要求情報に対応する処理情報を生成する生成手段と、前記生成手段で生成された前記処理情報を前記画像処理装置に出力する出力手段と、を備えることを特徴とする。
また、本発明にかかるコンピュータ読み取り可能な記録媒体は、上述の印刷制御プログラムを記録したことを特徴とする。
本発明によれば、プリンタを使用するためのコマンドの変更が容易なので、作業負担を軽減できるという効果を奏する。
図1は、第1の実施の形態にかかる情報処理装置の構成を示すブロック図である。 図2は、情報処理装置のイベント保持部が保持するイベントと当該イベントで実行されるスクリプトファイル名との対応関係を示した図である。 図3は、情報処理装置のスクリプトファイル記憶部に記憶されたスクリプトの一例を示した図である。 図4は、“orientation”の初期設定値と“layout”の設定値とから導き出せる“ORIENTATION”の設定値をテーブルで示した図である。 図5は、フィルタ部により変換される前の設定一覧データと、変換した後の設定一覧データと、を示した図である。 図6は、第1の実施の形態にかかる情報処理装置におけるスクリプトファイルの更新を示した説明図である。 図7は、ステープル機能の追加に伴って設定すべき“STAPLE”の値と当該値に対応する変数の値との関係を示した図である。 図8は、ステープル機能が追加されたスクリプトの一例を示した図である。 図9は、第1の実施の形態にかかる情報処理装置におけるジョブ開始時の処理の手順を示すシーケンス図である。 図10は、第1の実施の形態にかかる情報処理装置における、図9のステップS904の具体的な処理の手順を示すフローチャートである。 図11は、第1の実施の形態にかかる情報処理装置におけるジョブ終了時の処理の手順を示すフローチャートである。 図12は、情報処理装置のハードウェア構成を示した図である。
以下に添付図面を参照して、この発明にかかるプリンタドライバ、情報処理装置、及び記録媒体の一実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、第1の実施の形態にかかる情報処理装置の構成を示すブロック図である。図1に示すように、情報処理装置100は、アプリケーション101と、OS102と、通信I/F103とを備えている。そして、通信I/F103は、プリンタ150とネットワークを介して接続している。これにより情報処理装置100から、プリンタ150に対して印刷要求を行うことができる。
プリンタ150は、当該プリンタ150が備えた(図示しない)操作部から入力された印刷要求に応じて印刷処理をおこなう。さらに、プリンタ150は、情報処理装置100と接続するインターフェースを備え、ネットワークを介して接続された情報処理装置100からの印刷要求に応じて印刷処理を行う。本実施の形態にかかるプリンタ150は、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも2つの機能を有する複合機を適用する。なお、複合機以外ではなく単なる印刷処理のみしかおこなわないプリンタであっても良い。
特に近年の複合機では、ユーザの要求に基づいて機能の追加、削除が容易になる傾向にある。例えば、ユーザがステープル機能を追加したい場合には、当該プリンタのメンテナンスに連絡を取ればよい。これにより、メンテナンスが、プリンタに機能(例えば、ステープル機能)を追加するためのプログラム等をインストールすることで、当該機能の利用が可能となる。このような機能(例えばステープル機能)の追加が行われた場合、情報処理装置から当該機能を使用するためには、当該機能に対応したプリンタドライバが必要になる。
しかしながら、プリンタドライバは、バイナリ形式で提供されているため、プリンタに追加した機能に対応するためには、プログラムを書き直し、再コンパイルしたプリンタドライバをインストールする必要があった。そこで、本実施の形態においてはこのような作業負担を軽減する技術について提案する。
情報処理装置100のアプリケーション101は、後述するOS102上で動作するソフトウェアであり、OS102内に対して印刷要求を行うものとする。
OS102は、プリンタドライバ111と、GDI(Graphics Device Interface)112と、スプーラ113とを備え、情報処理装置100全体の制御を行う。
GDI112は、OS102が備えるサブシステムの1つであり、描画処理を行う。そして、GDI112は、OS102がアプリケーション101等から印刷要求を受け付けた場合に、プリンタドライバ111を呼び出して、印刷処理を要求する。
スプーラ113は、OS102が備えるサブシステムの1つであり、プリンタ150に送信する印刷ジョブを一時的に蓄積するモジュールとする。
プリンタドライバ111は、UIドライバ121と、スクリプトファイル記憶部122と、グラフィックドライバ123と、言語処理実行部124と、送信部125と、を備え、プリンタ150に印刷要求を行うための処理をおこなう。
UIドライバ121は、プリンタドライバ111を構成するモジュールの一つであり、プリンタ150に対する様々な設定を行うためのGUIの表示を行ったり、インストール時の初期設定画面の表示や、表示したGUIや初期設定画面に対する操作の受け付けなどを行う。
スクリプトファイル記憶部122は、後述する言語処理実行部124が実行可能なスクリプトが記述されたテキストファイル群を記憶する。当該スクリプトファイルは、テキストで記述されたスクリプトであって、プリンタ150が実行するコマンドの生成を行うためのスクリプトとする。本実施の形態においては、スクリプトファイルの形式としてlua形式を適用するが、周知の形式を問わず、様々な形式を適用して良い。
これらスクリプトファイルの利用手法としては、いずれの手法を用いても良く、例えば、テキストファイルとしてOS102にデプロイされる形態や、複数のテキストファイルを1つのアーカイブファイルに圧縮して、実行時に(図示しない)メモリ上、あるいはファイルシステム上に展開して利用するという形態を適用しても良い。なお、具体的なスクリプトファイルについては後述する。
グラフィックドライバ123は、イベント受信部131と、描画コマンド生成部132と、ジョブフック部133と、を備え、プリンタドライバ111の構成モジュールの一つであって、主に描画処理をおこなう。
イベント受信部131は、プリンタ150に対して処理を要求するイベントを受信する。例えば、イベント受信部131は、GDI112から、各種の描画イベントを受信する。イベント受信部131は、イベントを受信した場合に、描画コマンド生成部132に対して描画コマンドの生成を要求する。
描画コマンド生成部132は、受信したイベントに応じた描画コマンドを生成する。描画コマンドは以下の2つで成り立っている。
一つは、線、図形画像などの印刷されるオブジェクトのデータを記述した印刷コマンドである。もう一つは、印刷されるオブジェクトと関係するものではなく、例えば、フィニッシャの設定、ジョブ名、又はユーザ名などベンダごとに多種多様ジョブの情報を記述したジョブコマンドである。
これら描画コマンドのうち、印刷コマンドについてはプリンタ150毎に特化したコマンドであり、描画コマンド生成部132内部で行うこととする。一方、描画コマンドのうち、ジョブコマンドは、PJL(Printer Job Language)など規格として定められたコマンドである。このため、ジョブコマンドは、プリンタそれぞれに特化したコマンドではなく、共通のコマンドが用いられることが多い。そこで、本実施の形態においては、スクリプトファイルでジョブコマンドを生成することとし、実行されるジョブコマンドについて編集可能とした。
ジョブコマンドの例としては、例えば、部数設定、パンチ設定、両面設定、集約印刷設定(例えば2in1)、ステープル設定などがある。そして、スクリプトファイルに対する編集として、コマンドの追加、変更、及び削除や、各コマンドに対して受け渡すべき引数の変更や、環境設定する際のパラメータ変更などがある。
そして、描画コマンド生成部132は、ジョブの開始・終了、ドキュメントの開始・終了、物理ページの開始・終了、論理ページの開始・終了のイベントに対応するジョブコマンドを生成する場合には、ジョブフック部133にコマンドの生成を要求する。
また、描画コマンド生成部132は、その他のイベントに対応する印刷コマンドを生成する場合には、コマンドの生成を行う。なお、印刷コマンドの生成手法については、周知の手法を用いるものとして説明を省略する。
つまり、イベント受信部131が描画イベントを受信した際、対応する描画コマンドの生成を描画コマンド生成部132に要求する。その際、受信したイベントが印刷に関するイベントの場合には、描画コマンド生成部132が自らコマンドを生成し、受信したイベントがジョブに関するイベントの場合には、描画コマンド生成部132が、ジョブフック部133にコマンドの生成を要求する。
また、描画コマンド生成部132は、DEVMODE構造体やPrinterDriverDataレジストリを読み込むことで、設定一覧データを生成する。なお、設定一覧データは、印刷に関する設定パラメータが含まれた情報とする。そして、描画コマンド生成部132は、ジョブフック部133にコマンドの生成を要求する際、設定一覧データの受け渡しも行う。
ジョブフック部133は、イベント保持部134と、判定部135と、フィルタ部136と、暗号化部137と、を備え、描画コマンド生成部132からのジョブコマンド生成要求に応じて、ジョブコマンドを生成する。本実施の形態にかかるジョブフック部133は、生成要求のあったジョブコマンドに対応するスクリプトファイルを実行することで、ジョブコマンドを生成する。次にスクリプトファイルを特定するための構成について説明する。なお、スクリプトの実行は、言語処理実行部124が行う。
イベント保持部134は、各イベントに対応して実行すべきスクリプトファイル名を保持する。図2は、イベント保持部134が保持するイベントと当該イベントで実行されるスクリプトファイル名との対応関係を示した図である。つまり、受信したイベントに応じて実行するスクリプトファイルを特定することができる。
図1に戻り、判定部135は、イベント受信部131が受信したイベントが、スクリプトファイルを実行すべき所定のイベントであるか否かを判定する。受信したイベントが、イベント保持部134が保持するイベントであるか否かにより、スクリプトファイルを実行すべきイベントであるか否かを判定する。さらに、判定部135は、実行すべきイベントであると判定し場合に、当該イベントに対応するスクリプトファイルが、スクリプトファイル記憶部122に格納されているか否かを判定する。そして、当該スクリプトファイル記憶部122に格納されている場合に限り、スクリプトファイルが実行される。
そして、イベント受信部131がイベントを受信した場合に、判定部135がイベントに対応するスクリプトファイルを特定し、特定されたスクリプトファイルを、後述する言語処理実行部124で実行することとする。なお、本実施の形態では、各イベントと対応付けられたスクリプトファイルを実行する例とした。本実施の形態では、実行される関数名は、予め定められたものとし、具体的には“GenerateCommand”とした。そして、ジョブフック部133では、呼び出したスクリプトファイルに拘わらず、当該関数名を呼び出すこととする。そして、呼び出されるスクリプトは、図3で示したスクリプトが一例としてあげられる。なお、図3において、引数として“config”が設定されている。当該“config”は、フィルタ部136で変換した後の設定一覧データをluaのTable形式に変換したものとする。これにより、スクリプトファイルに対して、設定一覧データの各パラメータを受け渡すことができる。
次にスクリプトファイルについて具体的に説明する。図3は、スクリプトファイル記憶部122に記憶されたスクリプトファイル“StartJob.lua”の例を示した図である。図3に示すスクリプトファイルでは、ジョブ開始時に実行されるスクリプトの例を示した図である。図3に示す例では、符号201に示す各行で、パラメータ‘ORIENTATION’に対して‘PORTRAIT’又は‘LANDSCAPE’の設定を行っている。なお、‘ORIENTATION’は、紙の方向を設定するパラメータであり、‘PORTRAIT’は縦置きの紙を使用することを示す値であり、‘LANDSCAPE’は横置きの紙を使用することを示す値とする。この‘ORIENTATION’は、例えば2in1などを行う場合、集約時に配置する領域の関係から、‘PORTRAIT’と‘LANDSCAPE’とが切り替わる。
図4は、“orientation”の初期設定値と“layout”の設定値とから導き出せる“ORIENTATION”の設定値をテーブルで示した図である。図4に示すように、“orientation”の初期設定値が‘PORTRAIT’であって、“layout”の設定値が“2in1”又は“6in1”の場合には、‘ORIENTATION’に‘LANDSCAPE’を設定する必要がある。また、“orientation”の初期設定値が‘PORTRAIT’であって、“layout”の設定値が“2in1”及び“6in1”以外の場合には、‘ORIENTATION’に‘PORTRAIT’を設定する必要がある。
さらに、“orientation”の初期設定値が“LANDSCAPE”であって、“layout”の設定値が“2in1”又は“6in1”の場合には、‘ORIENTATION’に‘PORTRAIT’を設定する必要がある。また、“orientation”の初期設定値が“LANDSCAPE”であって、“layout”の設定値が“2in1”及び“6in1”以外の場合には、‘ORIENTATION’に‘LANDSCAPE’を設定する必要がある。
そして、図3に示すスクリプトファイル“StartJob.lua”は、ジョブ開始時に実行されるスクリプトであり、符号201で示された各行で、上述した‘ORIENTATION’の値が設定される。そして、符号202で示した各行は、PJLによるジョブコマンドが生成するための命令文であって、上述した例に対応するジョブコマンドとして“@PJL SET ORIENTATION = PORTRAIT”が生成される。
このように、lua形式のスクリプトでコマンドを生成するため、設定値とコマンドが1対1で対応していない場合においても、柔軟な条件に基づいてコマンドの生成を行うことができる。この際のコマンド生成をテキストで記述できるため、メンテナンス性が高い。
そして、図3に示した例では、config内に保持されているlayoutの設定値やorientationの初期値を参照して、ORIENTATIONコマンドの設定値を決定できる。
しかしながら、本実施の形態のように、イベント毎にスクリプトファイルを用意するのではなく、スクリプトファイルを一つのみ用意し、イベントに応じて予め定められた関数名の関数を呼び出すことにしてもよい。
図1に戻り、フィルタ部136は、暗号化部137を備え、スクリプトファイルに受け渡す設定一覧データに対して、パラメータの追加や変換等を行う。そして、フィルタ部136は、パラメータの追加や変換等がなされた後の設定一覧データをスクリプトファイルに受け渡す。
暗号化部137は、設定一覧データに含まれているパラメータに対して、暗号化処理を施す。そして、暗号処理が施されたパラメータは、設定一覧データとしてスクリプトファイルに受け渡される。暗号化部137は、出力先のプリンタ150で復号可能な暗号化処理を施している。つまり、スクリプトファイルは、ユーザが書き換えることができるので、暗号化されていないパスワードでは漏洩する可能性がある。そこで、スクリプトファイルに受け渡す前に、暗号化部137が予めプリンタ150で復号可能な暗号化処理を施しておく。これにより、悪意でスクリプトファイルを書き換えたとしてもパスワードの漏洩を防ぐことができる。
図5は、フィルタ部136により変換される前の設定一覧データと、変換した後の設定一覧データと、を示した図である。図5に示すように、本実施の形態にかかる設定一覧データでは、JSON形式で記述した例とした。しかしながら、本実施の形態は、当該JSON形式に制限するものではなく、例えばINIファイル形式やXML形式で記述されたで書かれたテキストデータ、又は構造体のリンクリスト言った形式でも良く、あらゆる形式で記述して良い。
図5に示す例では、フィルタ部136は、図5の変換される前の設定一覧データに対して、暗号化部137により"password"に暗号化処理を施すと共に、"date”を追加している。そして、言語処理実行部124に対して、変換された後の設定一覧データを出力することで、スクリプトファイルに設定一覧データを受け渡すこととする。
言語処理実行部124は、イベント受信部131がイベントを受信した場合に、当該イベントと対応付けられたスクリプトファイルをスクリプトファイル記憶部122から読み出して実行することで、プリンタに出力するコマンドを生成する。つまり、言語処理実行部124は、スクリプトファイルに基づいてコマンドを生成するので、換言すればコマンド生成手段としての役割を果たす。そして、言語処理実行部104は、スクリプト言語“lua”のインタプリタとする。そして、言語処理実行部124は、フィルタ部136により入力された設定一覧データを引数として、スクリプトファイルに受け渡す。換言すれば、言語処理実行部124は、受渡手段としての役割も果たす。これにより設定一覧データに含まれている各パラメータが受け渡されたスクリプトファイルが実行されることで、出力するプリンタに適切なコマンドが生成できる。
送信部125は、言語処理実行部124で生成されたコマンド群を、プリンタに出力する制御を行う。具体的には、送信部125は、生成されたコマンド群を、スプーラ113に出力する。そして、スプーラ113に蓄積されたコマンド群は、最終的にプリンタ150に送信される。なお、スプーラ113からプリンタ150に送信される際の処理は、従来と同様の手法を用いることとして、説明を省略する。
図6は、本実施の形態にかかる情報処理装置100におけるスクリプトファイルの更新を示した説明図である。図6に示すように情報処理装置100とプリンタ150とはネットワーク接続されている。上述したようにプリンタ150に対しては、ユーザの要求に応じて機能の追加が行われる。その際、情報処理装置100から印刷する場合でも、当然に追加された機能を使いたいという要求がある。この追加された機能を使いたい場合、プリンタドライバ111が対応している必要がある。このため、従来は追加した機能に対応したプリンタドライバのインストールが行われていた。
しかしながら、情報処理装置100に対してプリンタドライバのインストールは作業負担が大きい上、そもそも追加した機能に応じたプログラムを予め作成しておく必要がある。そこで、本実施の形態のプリンタドライバ111では、上述したようにコマンドを生成するためのスクリプトファイル“*.lua”を用意することとした。つまり、本実施の形態にかかるプリンタドライバ111では、ネットワーク接続されたプリンタ150に機能が追加された場合、情報処理装置100に記憶されたスクリプトファイルに、当該機能に対応した行を追加することで、情報処理装置100から追加した機能を使用することができる。
例えば、プリンタ150にステープル機能が追加された場合、当該ステープル機能を使用するためには、図7に示す“STAPLE”の値と当該値に対応する変数の値とを設定する必要がある。
図8は、当該ステープル機能に対応するための行が追加されたスクリプトファイルの例を示した図である。図8に示すスクリプトファイルでは、図2に示すスクリプトファイルと比べて、符号801に示す行が追加されている。そして、図8に示すスクリプトファイルが、言語処理実行部124に実行されることで、ステープル機能を使用することが可能となる。なお、追加するステープル機能に制限するものではなく、様々な機能を追加することができる。
スクリプトファイルについては、さらに柔軟な編集を行うことができる。例えば、編集前のステープル機能などで二つ穴しか対応してなかったのに対し、編集後では3つ穴、4つ穴に対応できるようになる等が考えられる。
さらに、プリンタ150に対して機能が追加された場合の他、メンテナンスを行う人が、クライアントのプリンタ150のチェックを行うために、プリンタドライバ111から出力されるコマンドの追加、変更又は削除を行いたいという状況があった。この様な状況に際し、従来のプリンタドライバは、コンパイルされたバイナリ形式で配布されていたため、カスタマイズ性が低いという性質を有していた。このため、当該コマンドの変更は極めて困難であった。しかしながら、本実施の形態では、PJLコマンドを生成する部分をスクリプトファイルとして保持することとしている。このため、スクリプトファイルを編集することで、プリンタ150に対して出力されるコマンドを制御することが可能となった。これにより、出力すべきジョブコマンドが変更したい場合でも、プリンタドライバ111の再コンパイルや再インストールすることなく、動的に出力するコマンドを変更することを可能とした。これにより、カスタマイズ性を向上させることが可能となった。
次に、以上のように構成された本実施の形態にかかる情報処理装置100におけるジョブ開始時の処理について説明する。図9は、本実施の形態にかかる情報処理装置100における上述した処理の手順を示すシーケンス図である。
まず、GDI112から、イベント受信部131に対して、ジョブの開始を要求するイベントを送信する(ステップS901)。次に、イベント受信部131が、当該イベントを受信したため、ジョブ開始時のジョブコマンドの生成を、描画コマンド生成部132に対して要求する(ステップS902)。当該要求を受け付けた描画コマンド生成部132は、DEVMODE構造体やPrinterDriverDataレジストリを読み込み、図5に示す変換前の設定一覧データを生成する。
そのあと、描画コマンド生成部132が、ジョブ開始時のコマンド生成を、ジョブフック部133に要求する(ステップS903)。その際、生成した設定一覧データを、ジョブフック部133に受け渡す。
次に、ジョブフック部133の判定部135が、当該イベントに対応するスクリプトファイルを実行すべきか判定する(ステップS904)。当該判定としては、当該イベントがスクリプトファイルを実行する必要のあるイベントか否か判定することと、該イベントに対応するスクリプトファイルが存在するか否かの判定などとする。なお、具体的な処理については後述する。また、本シーケンス図では、スクリプトファイルを実行すると判定された場合について説明する。なお、スクリプトファイルを実行しないと判定された場合については、以降の処理を行わずに終了する。
次に、スクリプトファイルを実行すると判定した場合、フィルタ部136が、受け渡された設定一覧データに含まれているパラメータに一部を変換(フィルタリング)する(ステップS905)。当該変換によって、例えば、DEVMODE構造体やPrinterDriveDataレジストリには含まれない日付の情報“Date”など、必要なパラメータなどが追加される。さらに、暗号化部137が、設定一覧データに含まれるパラメータのうち、パスワードなどのパラメータに対して暗号化処理を施す(ステップS906)。これにより、設定一覧データにおいて、平文で記述されていた“password”が、プリンタ150本体に送信される形式に暗号化処理が施されたりする。これは、悪意のある者によってスクリプトファイルが書き換えられて、ユーザのパスワードを収集されるといった事態を防ぐためのものである。
そして、ジョブフック部133は、ステップS904で存在すると判定されたスクリプトファイルを実行する(ステップS907)。それと共に、ジョブフック部133は、言語処理実行部124に対して、実行すべき所定の関数名を指示する。
その後、言語処理実行部124が、呼び出されたスクリプトファイル(StartJob.lua)が保持する、指示された関数名の関数(GenerateCommand())を呼び出す(ステップS908)。そして、言語処理実行部124により実行されたStartJob.luaが、呼び出された関数から、コマンドストリームを生成し、言語処理実行部124に対して受け渡す(ステップS909)。つまり、言語処理実行部124が、StartJob.luaに基づいて、コマンドストリームを生成する。なお、実行結果としてコマンドが一つも生成されなかった場合には、そのまま空ストリームを返して終了する。
そして、言語処理実行部124も、受け渡されたコマンドストリームを、ジョブフック部133に出力する(ステップS910)。その後、ジョブフック部133も、入力されたコマンドストリームを、描画コマンド生成部132に対して出力する(ステップS911)。そして、描画コマンド生成部132は、入力されたコマンドストリームを、図示しないメモリ内に保持する(ステップS912)。そして、描画コマンド生成部132から、イベント受信部131に対して処理が終了したことを通知する(ステップS913)。さらに、イベント受信部131は、GDI112に対して処理が終了したことを通知する(ステップS914)。
上述した処理手順により、ジョブ開始時に基づいて行われるコマンドの生成が終了する。上述したようにスクリプトファイルを実行することで、ジョブ実行時に適したコマンドが生成される。
次に、本実施の形態にかかる情報処理装置100におけるステップS904の具体的な処理について説明する。図10は、本実施の形態にかかる情報処理装置100における上述した処理の手順を示すフローチャートである。
まず、判定部135が、イベント保持部134に基づいて、受信したイベントがスクリプトファイルを実行すべきイベントか判定する(ステップS1001)実行すべきイベントではないと判定した場合(ステップS1001:No)、処理を終了する。
一方、実行すべきイベントと判定した場合(ステップS1001:Yes)、判定部135は、当該イベントに対応するスクリプトファイルが存在するか否か判定する(ステップS1002)存在しないと判定した場合(ステップS1002:No)、処理を終了する。
一方、実行すべきスクリプトファイルが存在すると判定された場合(ステップS1002:Yes)、当該スクリプトファイルをロードする(ステップS1003)。これにより、言語処理実行部124において、当該スクリプトファイルの実行が可能となる。
上述した処理手順により、コマンドを挿入する必要のあるイベントに対してのみスクリプトファイルを用意すればよくなり、カスタマイズ性の向上につながる。
次に、以上のように構成された本実施の形態にかかる情報処理装置100におけるジョブ終了時の処理について説明する。図11は、本実施の形態にかかる情報処理装置100における上述した処理の手順を示すフローチャートである。
まず、GDI112から、イベント受信部131に対して、ジョブの終了を要求するイベントを送信する(ステップS1101)。次に、イベント受信部131が、当該イベントを受信したため、ジョブ終了時のジョブコマンドの生成を、描画コマンド生成部132に対して要求する(ステップS1102)。当該要求を受け付けた描画コマンド生成部132は、DEVMODE構造体やPrinterDriverDataレジストリを読み込み、設定一覧データを生成する。
そのあと、描画コマンド生成部132が、ジョブ終了時のコマンド生成を、ジョブフック部133に要求する(ステップS1103)。その際、生成した設定一覧データを、ジョブフック部133に受け渡す。
次に、ジョブフック部133の判定部135が、当該イベントに対応するスクリプトファイルを実行すべきか判定する(ステップS1104)。当該判定は、図9のステップS904と同様とする。また、本シーケンス図では、スクリプトファイルを実行すると判定された場合について説明する。
次に、スクリプトファイルを実行すると判定した場合、フィルタ部136が、受け渡された設定一覧データに含まれているパラメータに一部を変換(フィルタリング)する(ステップS1105)。当該変換は、図9で示した暗号化処理等も含まれているものとする。
そして、ジョブフック部133は、ステップS1104で存在すると判定されたスクリプトファイルを実行する(ステップS1106)。それと共に、ジョブフック部133は、言語処理実行部124に対して、実行すべき所定の関数名を指示する。
その後、言語処理実行部124が、呼び出されたスクリプトファイル(EndJob.lua)が保持する、指示された関数名の関数(GenerateCommand())を呼び出す(ステップS1107)。そして、言語処理実行部124により実行されたEndJob.luaが、呼び出された関数から、コマンドストリームを生成し、言語処理実行部124に対して受け渡す(ステップS1108)。つまり、言語処理実行部124が、EndJob.luaに基づいて、コマンドストリームを生成する。なお、実行結果としてコマンドが一つも生成されなかった場合には、そのまま空ストリームを返して終了する。
そして、言語処理実行部124も、受け渡されたコマンドストリームを、ジョブフック部133に出力する(ステップS1109)。その後、ジョブフック部133も、入力されたコマンドストリームを、描画コマンド生成部132に対して出力する(ステップS1110)。そして、送信部125が、ジョブ開始から保持していたコマンドストリームを、スプーラ113にスプールさせるよう、スプーラ113に対して送信する(ステップS1111)。
そして、描画コマンド生成部132から、イベント受信部131に対して処理が終了したことを通知する(ステップS1112)。さらに、イベント受信部131は、GDI112に対して処理が終了したことを通知する(ステップS1113)。
上述した処理手順により、生成されたコマンドがスプーラ113に格納される。そして、スプーラ113から所定のタイミングで、プリンタ150に対して、スプールされていたコマンドを出力することで、当該コマンドがプリンタ150で実行される。
上述したように本実施の形態にかかるプリンタドライバ111では、PJLコマンドを生成する部分をスクリプトファイルとして保持することとしたため、動的にプリンタ150に対して出力されるジョブコマンドを変更可能とした。これにより、機能を追加した場合にプリンタドライバ111の作成や再コンパイルが不要になり、開発効率を向上させることを可能とした。そして、本実施の形態にかかるプリンタドライバ111では、プリンタ150に送信するコマンドを変更する際の作業負担を軽減することができる。
さらには、本実施の形態では、lua言語などのスクリプトでコマンドを生成できるため、設定値と当該設定値の時に実行するコマンドとを対応付けたテーブルなどと比べて、複雑なロジックで生成するコマンドを設定できるため、より状況に適したコマンドの生成を可能としている。
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
(変形例1)
上述した第1の実施の形態において、スクリプトファイルを実行するインタプリタとして、言語処理実行部124が、プリンタドライバ111内部に保持された例について説明した。しかしながら、上述した実施形態に制限するものではなく、プリンタドライバ111の外部でスクリプトファイルを実行しても良い。外部で実行する例としては、例えば、ブラウザに格納されている構成モジュールをスクリプトファイル(例えばJscript)の処理系として用いても良い。そこで、変形例として、ブラウザでスクリプトファイルを実施する例について説明する。
なお、本実施の形態では、インタプリタをプリンタドライバ111の内部に保持する例について説明した。しかしながら、スクリプトファイルの実行手法としてこのような実施の形態に制限するものではなく、ブラウザに格納されている構成モジュールである、スクリプトファイル(例えばJscript)の処理系を利用しても良い。この場合、上述した言語処理実行部がインタプリタではなく、ブラウザのモジュールを呼び出す構成とする。
本変形例にかかるプリンタドライバでは、言語処理実行部から、ブラウザを呼び出すことで、スクリプトファイルを実行できる。なお、スクリプトファイルは、lua形式ではなく、ブラウザで読み出すことが可能な形式である必要があり、例えばJscript形式が考えられる。そして、ジョブフック部は、イベントに対応するスクリプトファイルを特定した後、当該言語処理実行部がスクリプトファイルを実行するようブラウザに対して要求する。その際に、上述した設定一覧データについても、引数として受け渡す。これにより、ブラウザが備える構成モジュール(スクリプト実行エンジン)が、スクリプトファイルを実行することで、コマンドが生成される。そして、ブラウザで生成されたコマンドは、本変形例のジョブフック部が受け取る。これにより、外部で実行した場合でも、第1の実施の形態と同様の効果を得ることができる。なお、他の処理については第1の実施の形態と同様として説明を省略する。本変形例では、スクリプトファイルを読み出すためのエンジンが不要となり、プリンタドライバ111の開発負担をさらに軽減することができる。なお、外部のモジュールとして、ブラウザの構成モジュールに制限するものではなく、他のモジュールを用いても良い。
本実施の形態の情報処理装置100は、図12に示すように、CPU1201と、ROM(Read Only Memory)1202と、RAM1203と、通信I/F103と、外部記憶装置としてHDD1204と、ディスプレイ装置などの表示装置1205と、これらを接続するバス1206と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施形態の情報処理装置100で実行されるプリンタドライバプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の情報処理装置100で実行されるプリンタドライバプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置100で実行されるプリンタドライバプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施形態のプリンタドライバプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態の情報処理装置100で実行されるプリンタドライバプログラムは、上述した各部(UIドライバ121、グラフィックドライバ123、言語処理実行部124、送信部125)を含むモジュール構成となっており、実際のハードウェアとしてはCPU1201が上記記憶媒体からプリンタドライバプログラムを読み出して実行することにより上記各部が主記憶装置上(RAM1203)にロードされ、UIドライバ121、グラフィックドライバ123、言語処理実行部124、送信部125がRAM1203上に生成されるようになっている。
100 情報処理装置
101 アプリケーション
102 OS
103 通信I/F
111 プリンタドライバ
112 GDI
113 スプーラ
121 UIドライバ
122 スクリプトファイル記憶部
123 グラフィックドライバ
124 言語処理実行部
125 送信部
131 イベント受信部
132 描画コマンド生成部
133 ジョブフック部
134 イベント保持部
135 判定部
136 フィルタ部
137 暗号化部
150 プリンタ
特開2008−9967号公報

Claims (11)

  1. コンピュータに、画像処理装置への処理の要求をするための要求情報を複数受け付け、受け付けた前記要求情報それぞれに対応する、前記画像処理装置に処理を実行させる処理に関する処理情報を前記画像処理装置へ出力させるための印刷制御プログラムにおいて、
    前記コンピュータを、
    前記要求情報それぞれに対応する前記処理情報の生成に用いられ、前記画像処理装置に追加された機能に対応する処理情報を生成するための記述が追加可能なスクリプトを記憶装置に複数記憶する第1の記憶制御手段と、
    前記要求情報と前記スクリプトとの対応関係を示す対応情報を前記記憶装置に記憶する第2の記憶制御手段と、
    前記要求情報を受け付けたとき、前記第2の記憶制御手段によって記憶された対応情報に基づいて、前記記憶装置に前記要求情報に対応する前記スクリプトが記憶されているか否かを判定する判定手段と、
    前記判定手段によって前記記憶装置に記憶されていると判定されたスクリプトを用いて該受け付けた要求情報に対応する処理情報を生成する生成手段と、
    前記生成手段で生成された前記処理情報を前記画像処理装置に出力する出力手段と
    して機能させるための印刷制御プログラム。
  2. 前記判定手段は、さらに、受信した前記要求情報が、スクリプトを実行すべき所定の要求情報であるか否かを判定し、
    前記生成手段は、さらに、前記判定手段に前記所定の要求情報であると判定された場合に、当該要求情報に対応付けられた前記スクリプトに基づいて前記処理情報を生成すること、
    を特徴とする請求項1に記載の印刷制御プログラム。
  3. 印刷に関する設定情報を、前記スクリプトに受け渡す受渡手段をさらに備え、
    前記生成手段は、前記受渡手段で前記設定情報を受け渡された前記スクリプトに基づいて、前記処理情報を生成すること、
    を特徴とする請求項1または2に記載の印刷制御プログラム。
  4. 前記処理情報で用いられる前記設定情報に対して、暗号化処理を施す暗号化手段を、さらに備え、
    前記受渡手段は、暗号化処理が施された前記設定情報を、前記スクリプトに受け渡すこと、
    を特徴とする請求項3に記載の印刷制御プログラム。
  5. 前記生成手段は、当該スクリプトを実行するためのインタプリタであること又は、当該スクリプトを実行するためにブラウザを呼び出すことを特徴とする、請求項1乃至4のいずれか一つに記載の印刷制御プログラム。
  6. 画像処理装置への処理の要求をするための要求情報を複数受け付け、受け付けた前記要求情報それぞれに対応する、前記画像処理装置に処理を実行させる処理に関する処理情報を前記画像処理装置へ出力する情報処理装置において、
    前記要求情報それぞれに対応する前記処理情報の生成に用いられ、前記画像処理装置に追加された機能に対応する処理情報を生成するための記述が追加可能なスクリプトを複数記憶する第1の記憶手段と、
    前記要求情報と前記スクリプトとの対応関係を示す対応情報を記憶する第2の記憶手段と、
    前記要求情報を受け付けたとき、前記第2の記憶手段によって記憶された対応情報に基づいて、前記第1の記憶手段に前記要求情報に対応する前記スクリプトが記憶されているか否かを判定する判定手段と、
    前記判定手段によって前記第1の記憶手段に記憶されていると判定されたスクリプトを用いて該受け付けた要求情報に対応する処理情報を生成する生成手段と、
    前記生成手段で生成された前記処理情報を前記画像処理装置に出力する出力手段と、
    を備える情報処理装置。
  7. 前記判定手段は、さらに、受信した前記要求情報が、スクリプトを実行すべき所定の要求情報であるか否かを判定し、
    前記生成手段は、さらに、前記判定手段に前記所定の要求情報であると判定された場合に、当該要求情報に対応付けられた前記スクリプトに基づいて前記処理情報を生成すること、
    を特徴とする請求項6に記載の情報処理装置。
  8. 印刷に関する設定情報を、前記スクリプトに受け渡す受渡手段をさらに備え、
    前記生成手段は、前記受渡手段で前記設定情報を受け渡された前記スクリプトに基づいて、前記処理情報を生成すること、
    を特徴とする請求項6または7に記載の情報処理装置。
  9. 前記処理情報で用いられる前記設定情報に対して、暗号化処理を施す暗号化手段を、さらに備え、
    前記受渡手段は、暗号化処理が施された前記設定情報を、前記スクリプトに受け渡すこと、
    を特徴とする請求項8に記載の情報処理装置。
  10. 前記生成手段は、当該スクリプトを実行するためのインタプリタであること又は、当該スクリプトを実行するためにブラウザを呼び出すことを特徴とする、請求項6乃至9のいずれか一つに記載の情報処理装置。
  11. 請求項1乃至5のいずれか一つ記載の印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2009208509A 2009-09-09 2009-09-09 印刷制御プログラム、情報処理装置、及び記録媒体 Active JP5499584B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009208509A JP5499584B2 (ja) 2009-09-09 2009-09-09 印刷制御プログラム、情報処理装置、及び記録媒体
US12/923,092 US20110058219A1 (en) 2009-09-09 2010-09-01 Printer driver, information processing apparatus, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009208509A JP5499584B2 (ja) 2009-09-09 2009-09-09 印刷制御プログラム、情報処理装置、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2011059956A JP2011059956A (ja) 2011-03-24
JP5499584B2 true JP5499584B2 (ja) 2014-05-21

Family

ID=43647552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009208509A Active JP5499584B2 (ja) 2009-09-09 2009-09-09 印刷制御プログラム、情報処理装置、及び記録媒体

Country Status (2)

Country Link
US (1) US20110058219A1 (ja)
JP (1) JP5499584B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003637A (ja) * 2010-06-18 2012-01-05 Canon Inc 情報処理システム、その制御方法、及びプログラム
US8970870B2 (en) * 2010-06-30 2015-03-03 Canon Kabushiki Kaisha Delivery of scan services over a device service port
JP5790143B2 (ja) 2011-05-18 2015-10-07 株式会社リコー 情報処理装置及びプログラム
US9148470B2 (en) * 2011-05-26 2015-09-29 Candi Control, Inc. Targeting delivery data
CN102609505A (zh) * 2012-02-03 2012-07-25 姚振刚 基于数据操作语言的动态网页方法
JP5915278B2 (ja) 2012-03-13 2016-05-11 株式会社リコー プログラム、情報処理装置、記憶媒体
WO2016035801A1 (ja) 2014-09-01 2016-03-10 株式会社リコー システム、情報処理方法および記憶媒体
CN105407075B (zh) * 2014-09-12 2019-01-11 博雅网络游戏开发(深圳)有限公司 业务逻辑的实现方法和系统
JP6233338B2 (ja) 2015-03-19 2017-11-22 株式会社リコー 情報端末、システム、情報処理方法、及びプログラム
CN104866307B (zh) * 2015-05-14 2018-04-27 百度在线网络技术(北京)有限公司 一种应用程序的修复方法和装置
JP6386422B2 (ja) * 2015-06-24 2018-09-05 日本電信電話株式会社 装置設定プログラムおよび装置設定方法
US11163432B2 (en) 2018-01-30 2021-11-02 Ricoh Company, Ltd. Information processing system, electronic blackboard apparatus, and recording medium

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11115282A (ja) * 1997-10-17 1999-04-27 Canon Inc プリンタシステム及びその制御方法、情報処理装置及びその制御方法、コンピュータ可読メモリ
JP3367407B2 (ja) * 1997-12-25 2003-01-14 富士ゼロックス株式会社 画像出力装置、画像処理装置、画像出力方法、画像処理方法、および記録媒体
US6707568B1 (en) * 1999-11-02 2004-03-16 Ricoh Company, Ltd. Printer driver filter and method of printing with the same
JP4542719B2 (ja) * 2001-03-23 2010-09-15 セイコーエプソン株式会社 プリンタおよびこのプリンタを用いた印刷方法
JP2005074772A (ja) * 2003-08-29 2005-03-24 Kyocera Mita Corp 印刷装置及び方法
JP2005135326A (ja) * 2003-10-31 2005-05-26 Canon Inc 印刷制御装置とその方法及びプリンタドライバ
US7389362B2 (en) * 2004-03-12 2008-06-17 Fuji Xerox Co., Ltd. Peripheral equipment control program, program control device, program control method, peripheral equipment driver, peripheral equipment control device, and method for installing peripheral equipment control driver
JP4314238B2 (ja) * 2005-11-18 2009-08-12 キヤノン株式会社 情報処理装置、方法、及びコンピュータプログラム
JP4761538B2 (ja) * 2006-03-31 2011-08-31 キヤノン株式会社 デバイス管理システム、情報処理装置及びその制御方法、プログラム
JP4921190B2 (ja) * 2007-01-29 2012-04-25 キヤノン株式会社 印刷制御装置及び方法と印刷システム
US20090006989A1 (en) * 2007-06-27 2009-01-01 Samsung Electronics Co., Ltd Image forming method and apparatus, and host
JP5151815B2 (ja) * 2007-09-27 2013-02-27 株式会社リコー 印刷システム、印刷方法および印刷データ送信プログラム

Also Published As

Publication number Publication date
US20110058219A1 (en) 2011-03-10
JP2011059956A (ja) 2011-03-24

Similar Documents

Publication Publication Date Title
JP5499584B2 (ja) 印刷制御プログラム、情報処理装置、及び記録媒体
US9052850B2 (en) Printer driver, storage medium, and information processing apparatus
JP5458909B2 (ja) 情報処理装置、印刷制御プログラム、コンピュータ読み取り可能な記憶媒体、画像処理装置、及びプリントシステム
JP6552189B2 (ja) 情報処理装置、制御方法およびドライバーインストールプログラム
JP5995461B2 (ja) 情報処理装置、制御方法、プログラム
CN106462365B (zh) 输出系统、终端装置和输出方法
JP5924892B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5608985B2 (ja) 画像処理装置、情報処理装置、ユーザインタフェース提供方法、画像処理システムおよびプログラム
US8767253B2 (en) Information processing apparatus and computer program product
US20080062464A1 (en) Image processing device and image processing method
JP5533790B2 (ja) ウェブアプリケーションを備えたクライアントサーバーシステム、及び当該クライアントサーバーシステムにおけるクライアント装置
CN112445436B (zh) 信息处理装置和用于信息处理装置的方法
JP5879807B2 (ja) 印刷制御装置、制御プログラム及び記録媒体
JP6111728B2 (ja) 画像形成出力制御システム、画像形成出力制御プログラム及び情報処理装置
JP2019008673A (ja) 情報処理装置およびドライバーインストール方法
JP2012059106A (ja) カスタマイズ装置、印刷システム、カスタマイズ方法およびカスタマイズプログラム
JP2021182310A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2010067063A (ja) 情報処理装置及び情報処理方法とそのプログラム及びそのプログラムを記録した記録媒体
JP2020030697A (ja) 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法
JP7393477B2 (ja) 情報処理装置とその制御方法、およびコンピュータプログラム
JP2014056424A (ja) 印刷制御装置、印刷制御方法及び印刷制御システム
JP5779917B2 (ja) 情報処理装置、ドライバプログラム、インストーラプログラム及び記憶媒体
JP6188402B2 (ja) 情報処理装置、情報処理装置の制御方法およびコンピュータプログラム
JP2020201829A (ja) 情報処理装置、情報処理方法、及びプログラム
JP5754123B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R151 Written notification of patent or utility model registration

Ref document number: 5499584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151