JP7234687B2 - モジュール及びプログラム - Google Patents

モジュール及びプログラム Download PDF

Info

Publication number
JP7234687B2
JP7234687B2 JP2019033575A JP2019033575A JP7234687B2 JP 7234687 B2 JP7234687 B2 JP 7234687B2 JP 2019033575 A JP2019033575 A JP 2019033575A JP 2019033575 A JP2019033575 A JP 2019033575A JP 7234687 B2 JP7234687 B2 JP 7234687B2
Authority
JP
Japan
Prior art keywords
module
value
printer
type information
setting
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
JP2019033575A
Other languages
English (en)
Other versions
JP2020140287A (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 JP2019033575A priority Critical patent/JP7234687B2/ja
Priority to US16/655,355 priority patent/US11106415B2/en
Publication of JP2020140287A publication Critical patent/JP2020140287A/ja
Application granted granted Critical
Publication of JP7234687B2 publication Critical patent/JP7234687B2/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/1293Printer information exchange with computer
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1258Configuration of print job parameters, e.g. using UI at the client by updating job settings at the printer
    • 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/1292Mobile client, e.g. wireless printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、プリンタに入力可能な設定値を生成する技術に関する。
印刷を実行するために、種々のパラメータの入力を必要とするプリンタがある。例えば、ある種のラベルプリンタは、印刷を実行するために、余白の大きさを示すパラメータや、ラベルの長さを示すパラメータや、その他のパラメータの入力を必要とし、これらのパラメータを受け取って印刷を実行する。
印刷を実行するために必要なパラメータをプリンタに送信するアプリケーションが知られている(例えば、特許文献1参照)。
特開2008-269265号公報
本発明は、プリンタに入力可能な設定値を確実に生成可能なプログラムを提供することを目的とする。
本明細書では様々な開示を行う。開示例のモジュールは、通信インタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムに実装されるモジュールである。前記プログラムは、前記通信インタフェースを介してプリンタに入力するためのデータを作成するプログラムである。前記プログラムは、上位モジュールを有する。該モジュールは、データ形式が指定された引数を入力可能なAPIを有する。該モジュールは、前記プログラムが備える前記上位モジュールによって呼び出された前記APIに入力された指定値を取得する指定値取得処理と、前記プリンタの種別に応じたプリンタ固有値を取得する固有値取得処理と、取得した前記指定値及び前記プリンタ固有値を用いて前記プリンタに入力可能なデータ形式の設定値を生成する設定値生成処理と、生成した設定値を前記上位モジュールに対して出力する設定値出力処理と、を前記コンピュータに実行させる。
開示例のモジュールは、データ形式が指定された引数を入力可能なAPIにより、指定値を取得する。すなわち、モジュールが扱うことができるデータ形式で指定値を取得することができる。その結果、モジュールは、指定値及びプリンタ固有値に基づいて、プリンタに入力可能なデータ形式の設定値を確実に生成することができる。
図1(A)は、情報処理装置10の機能ブロック図であり、図1(B)は、アプリケーション37の構成を示す図である。 図2(A)は、ptdフォルダ54を示す図であり、図2(B)は、ptdファイルを示す図であり、図2(C)は、テーブル55を示す図であり、図2(D)は、データベース56を示す図であり、図2(E)は、カスタム設定のコマンドを説明する図である。 図3は、アプリケーション37が実行する処理を説明する図である。 図4は、本体モジュール43及びライブラリ45が実行する処理を説明する図である。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は開示例にすぎず、本発明の要旨を変更しない範囲で適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
本実施形態では、図1に示される情報処理装置10を説明する。情報処理装置10は、携帯端末やタブレットやパーソナルコンピュータなどである。以下では、情報処理装置10が携帯端末である例を説明する。
情報処理装置10は、アプリケーション37を実装している。アプリケーション37は、印刷データをプリンタ11に送信して、プリンタ11に印刷を実行させるプログラムである。すなわち、本実施形態では、情報処理装置10に実装されたアプリケーション37によって、プリンタ11に印刷を実行させる例が説明される。以下、詳しく説明する。
プリンタ11は、ラベルに印刷を行うラベルプリンタである。プリンタ11は、コントローラと、印刷エンジンと、を備える。印刷エンジンは、ラベルなどのシートを搬送する搬送機構と、搬送するシートに画像を印刷するヘッドと、を有する。ヘッドは、例えば、サーマルヘッドである。なお、プリンタ11は、ラベルプリンタに限られない。また、印刷エンジンは、どのような方式によってシートに画像を印刷するものであってもよい。
プリンタ11のコントローラは、中央演算装置であるCPUと、メモリと、通信I/Fと、を備える。通信I/Fの構成は、後述の情報処理装置10の通信I/F23の構成と概ね同様である。プリンタ11は、通信I/Fを通じて情報処理装置10と通信を行う。
プリンタ11のメモリの構成は、情報処理装置10のメモリ32の構成と概ね同様である。プリンタ11のメモリは、標準シート設定を予め記憶する。標準シート設定は、シートが定形のシートであるか、や、シートが無定長のシートであるかを示す。また、標準シート設定は、シートが定形のシートである場合、シートの幅及び長さや、シートの長さ方向における余白の大きさや、シートの幅方向における余白の大きさなどのパラメータを示す。なお、定形のシートは、いわゆるダイカット紙である。
また、プリンタ11のメモリは、CPUによって実行される制御プログラムを記憶する。CPUによって実行された制御プログラムは、印刷エンジンを制御して、通信I/Fを通じて入力された印刷データが示す画像をシートに印刷させる。
また、制御プログラムは、テキスト形式等のデータを処理することができず、バイナリのデータ形式(以下、バイナリ形式とも記載する)を処理することができるプログラムである。後述の情報処理装置10のアプリケーション37は、バイナリ形式で印刷データやコマンドやパラメータを生成して、プリンタ11に送信する。バイナリ形式は、プリンタが読み取り可能なデータ形式の一例である。
情報処理装置10は、コントローラ21と、タッチパネル22と、通信I/F23と、を備える。「I/F」は、インタフェースを意味する。
通信I/F23は、無線通信などの通信規格を用いて、印刷データなどのデータを送受信するインタフェースである。情報処理装置10は、通信I/F23を通じて、プリンタ11と直接的に通信を行い、或いは、プリンタ11が接続されたLAN(登録商標)などの通信回線が有するアクセスポイントを介して、プリンタ11と間接的に通信を行う。通信I/F23は、例えばWi-Fi(登録商標)やBluetooth(登録商標)の通信規格を用いて、或いは、NFCなどの近接無線通信の通信規格を用いて、プリンタ11と通信を行う。通信I/F23は、通信インタフェースの一例である。
タッチパネル22は、文字や図形などを表示する表示パネル24と、表示パネル24に重畳された透明な膜状のタッチセンサ25と、を有する。タッチセンサ25は、ユーザがタッチした表示パネル24における位置を示す位置情報を出力する。位置情報は、例えば、表示パネル24の左上端を原点とし、右向きをx軸の正の向き、下向きをy軸の正の向きとしたx-y平面上の座標(x,y)として表現できる。後述のUIモジュール41は、表示パネル24に表示されたアイコン等を示す位置情報がタッチセンサ25から入力されたことに応じて、当該アイコン等がユーザによって選択されたと判断する。ユーザは、アイコン等をタッチすることにより、文字や数値をUIモジュール41に入力する。
タッチセンサ25は、ユーザインタフェースの一例である。なお、情報処理装置10は、タッチセンサ25に代えて、或いはタッチセンサ25とともに、マイクロフォンを有していてもよい。マイクロフォンは、ユーザの声を音声信号に変換してコントローラ21に入力する。マイクロフォンは、ユーザインタフェースの一例である。
コントローラ21は、中央演算処理装置であるCPU31と、メモリ32と、バス33と、を備える。CPU31は、コンピュータの一例である。
コントローラ21は、例えば、パターン回路基板と、パターン回路基板に実装されたマイクロコンピュータや種々のICやコンデンサやダイオードなどの種々の電子部品によって実現される。
CPU31及びメモリ32は、バス33と接続されている。CPU31は、メモリ32に記憶された後述のOS36及びアプリケーション37を実行する。CPU31によって実行されるOS36やアプリケーション37は、データや情報をメモリ32から読み出し、或いはメモリ32に書き込む。
CPU31は、OS36、後述のアプリケーション37のUIモジュール41、本体モジュール43、コモンモジュール44、及びライブラリ45を疑似的に並行して実行する。すなわち、OS36、UIモジュール41、本体モジュール43、コモンモジュール44、及びライブラリ45は、いわゆるマルチタスク処理によって実行される。
メモリ32は、例えば、ROMやRAMやEEPROMやHDDやCPU31が備えるバッファ等である。メモリ32は、OS36及びアプリケーション37を記憶するプログラム記憶領域34と、情報やデータを記憶するデータ記憶領域35と、を有する。
データ記憶領域35は、プリンタ11の種別を示すモデル名を、アプリケーション37を示すアプリケーション名と対応付けて記憶する。例えば、アプリケーション37が情報処理装置10にセットアップされる際に、タッチパネル22を通じてユーザが指定したプリンタ11のモデル名が、OS36によって、アプリケーション名と対応付けてデータ記憶領域35に記憶される。或いは、アプリケーション37は、プリンタ11のモデル名をアプリケーション名としてセットアップされる。
OS36は、例えば、Android(登録商標)OSや、iOS(登録商標)や、WindowsPhone(登録商標)や、BlackBerryOS(登録商標)などである。
OS36は、アプリケーション37によって呼び出される第4API38を有する。第4API38は、通信I/F23を通じてプリンタ11と通信するために用いられる。具体的には、第4API38を、OS36が備えるDLL(dynamic link libraryの略)が有する。
アプリケーション37は、印刷データを生成して、通信I/F23を通じてプリンタ11に送信する機能を有する。そして、アプリケーション37は、カスタム設定を生成して、生成したカスタム設定を印刷データとともにプリンタ11に送信する機能をさらに有する。カスタム設定とは、プリンタ11のメモリに予め記憶された上述の標準シート設定とは異なるシート設定を意味する。詳しくは後述する。
アプリケーション37は、UIモジュール41と、プログラム42と、を備える。「UI」は、ユーザインタフェースを意味する。すなわち、アプリケーション37は、ユーザの入力を受け付けるUIモジュール41と、印刷データ及びカスタム設定を生成してプリンタ11に送信するプログラム42と、を備える。UIモジュール41は、受付モジュールの一例である。アプリケーション37及びプログラム42は、プログラムの一例である。なお、プリンタ11のメモリは、上述の標準シート設定を記憶していなくてもよい。その場合、アプリケーション37は、印刷データと、カスタム設定或いは標準シート設定と、をプリンタ11に送信する。
UIモジュール41は、アプリケーション37の開発者によって設計される。アプリケーション37の開発者は、AndroidOSや、iOSなど、OS36の種類に応じてUIモジュール41を設計する。具体的には、UIモジュール41は、OS36が有する第4API48の機能を利用可能に、OS36が記述されたプログラム言語と同一のプログラム言語によって記述されている。
プログラム42は、例えば、プリンタ11のベンダによって、アプリケーション37の開発者に提供される。すなわち、プログラム42は、いわゆるSDK(Software Development Kitの略)である。アプリケーション37の開発者は、プリンタ11のベンダが提供したプログラム42を、設計したUIモジュール41に組み付けて、アプリケーション37を開発する。
プログラム42は、ベンダの開発を容易にするような構成を有する。以下、詳しく説明する。
プログラム42は、本体モジュール43と、コモンモジュール44と、ライブラリ45と、を備える。本体モジュール43は、上位モジュールの一例である。コモンモジュール44は、生成モジュールの一例である。ライブラリ45は、モジュールの一例である。
本体モジュール43は、UIモジュール41からOS36を介して情報やデータを受け取る機能を有する。具体的には、本体モジュール43は、OS36を介してUIモジュール41によって呼び出される第1API(Application Programming Interfaceの略)46及び第2API47を有する。
第1API46は、シートの幅や長さや余白の大きさなどである設定情報を、バイナリのデータ形式ではないテキスト形式などのデータ形式で入力することを要求するAPIである。例えば、UIモジュール41は、タッチパネル22を通じてユーザに入力を要求したシートの幅や長さや余白などの設定情報をそのまま引数として第1API46に入力することにより、設定情報をプログラム42に受け渡す。すなわち、UIモジュール41では、プログラム42に受け渡す設定情報をバイナリ形式のデータに変換する必要がない。したがって、UIモジュール41の設計及びアプリケーション37の開発が容易になる。
第1API46は、第1シート種別API51と、第2シート種別API52と、を含む。第1シート種別API51は、例えば、定形のシートに対応するAPIである。第2シート種別API52は、例えば、無定長のシートに対応するAPIである。すなわち、第1シート種別API51と、第2シート種別API52とでは、引数として要求する設定情報が異なる。例えば、定形のシートに対応する第1シート種別API51は、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさ、及びラベル間のピッチ幅を引数として要求する。無定長のシートに対応する第2シート種別API52は、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさを引数として要求する。
UIモジュール41は、タッチパネル22を通じてユーザが指定したシートの種別に応じた第1API46を呼び出す。具体的には、UIモジュール41は、ユーザが定形のシートを指定したことに応じて第1シート種別API51を呼び出し、シートの幅、長さ、幅方向における余白の大きさ、及びラベル間のピッチ幅などを引数として本体モジュール43に受け渡す。UIモジュール41は、ユーザが無定長のシートを指定したことに応じて第2シート種別API52を呼び出し、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさなどを引数として本体モジュール43に受け渡す。
第2API47は、本体モジュール43が、カスタムファイルをUIモジュール41から受け取るためのAPIである。カスタムファイルは、プリンタ11が処理可能なバイナリ形式のカスタム設定を含むファイルである。詳しく説明すると、例えば、情報処理装置10とは異なるパーソナルコンピュータなどの情報処理装置において、カスタムファイルが作成され、作成されたカスタムファイルが情報処理装置10に入力されることが考えられる。その場合、UIモジュール41は、入力されたカスタムファイルをそのまま引数として、或いはカスタムファイルを示すパスを引数として、本体モジュール43に受け渡す。すなわち、本体モジュール43は、第1API46に加え第2API47を備えることにより、カスタム設定を生成するための設定情報をUIモジュール41から受け取ることもできるし、カスタム設定そのものをUIモジュール41から受け取ることもできる。
コモンモジュール44は、画像データから印刷データを生成するモジュールである。コモンモジュール44は、本体モジュール43から画像データ、或いは画像データを示すパスを受け取るための不図示のAPIを有する。
また、コモンモジュール44は、本体モジュール43からカスタム設定、或いはカスタム設定を示すパスを受け取るための不図示のAPIを有する。コモンモジュール44は、本体モジュール43から受け取ったカスタム設定と、生成した印刷データとを含む送信データを生成し、本体モジュール43に受け渡す。詳しくは後述する。
ライブラリ45は、カスタム設定を生成して本体モジュール43に受け渡す機能を有する。カスタム設定を生成する機能が、印刷データを生成するコモンモジュール44に設けられずに、コモンモジュール44とは別のモジュールであるライブラリ45に設けられることにより、印刷データを生成する既存のプログラムを流用してコモンモジュール44を設計することができる。すなわち、プログラム42の開発が容易になる。以下、詳しく説明する。
ライブラリ45は、第3API53と、ptdフォルダ54と、テーブル55とデータベース56とを有する。第3API53は、APIの一例である。
第3API53は、本体モジュール43によって呼び出されるAPIである。ライブラリ45は、第3API53によって、本体モジュール43から設定情報を受け渡される。詳しく説明すると、第3API53は、引数として、データ形式が指定された設定情報を要求する。すなわち、本体モジュール43は、第3API53が指定するデータ形式の設定情報を引数として、第3API53に入力する。したがって、ライブラリ45は、第3API53が指定するデータ形式、すなわち、ライブラリ45が処理可能なデータ形式で設定情報を本体モジュール43から受け渡される。
ptdフォルダ54は、図2(A)に示されるように、複数のptdファイルを格納するフォルダである。一のptdファイルは、一の種別のプリンタ11の機能を示す機能情報を有する。具体的には、図2(B)に示されるように、ptdファイルは、「解像度」を示す数値や、プリンタ11のヘッドのピン数である「ヘッドピン数」を示す数値などを、機能情報として有する。ptdファイルは、例えば、プリンタドライバに従来から実装されているファイルである。ptdファイルは、設定ファイルの一例である。機能情報は、プリンタ固有値及び第1固有値の一例である。
テーブル55は、図2(C)に示されるように、モデル名と、当該モデル名に対応するptdファイルのファイルパスとの対応を示すテーブルである。ファイルパスは、ptdフォルダ54内におけるptdファイルの格納位置を示す情報である。ファイルパスは、モデル名と対応するptdファイルの特定に用いられる。詳しくは後述する。なお、モデル名は、シリーズ名であってもよい。
データベース56は、プリンタ11の種別を示すモデル名と、シートに関するシート機能情報とが対応付けられたデータベースである。シート機能情報は、図2(D)に示されるように、シート種別「無定長」/「定形」や、シート幅の「最大値」/「最小値」や、シート長さの「最大値」/「最小値」や、幅方向の余白である幅余白の「最大値」/「最小値」などである。シート機能情報は、プリンタ固有値及び第2固有値の一例である。モデル名は、種別情報の一例である。
ライブラリ45は、第3API53によって本体モジュール43から受け渡された設定情報と、本体モジュール43から不図示のAPI等を用いて受け渡されたプリンタ11のモデル名と、ptdファイルと、データベース56とを用いて、プリンタ11に入力可能なバイナリ形式のカスタム設定を生成する。
また、ライブラリ45は、後述のコモンモジュール44が印刷データを生成する際に参照するptdファイルの機能情報を、本体モジュール43を介してコモンモジュール44に提供する。すなわち、印刷データを生成するために参照される機能情報を用いて、プリンタ11に入力されるカスタム設定が生成される。
また、ライブラリ45及びコモンモジュール44は、C++のプログラム言語で記述されている。したがって、C++で記述されたプログラムと情報やデータを受け渡し可能なプログラムであれば、ライブラリ45に情報やデータを受け渡してライブラリ45を利用することができる。C++で記述されたプログラムと情報やデータを受け渡し可能なプログラムとは、Objective-Cで記述されたプログラムや、JNI(Java Native Interfaceの略)などのラッパを備えた、JAVA(登録商標)で記述されたプログラムである。なお、本体モジュール43は、C++で記述されたプログラムと情報やデータを受け渡し可能なプログラムである。
以下、図3及び図4を参照して、アプリケーション37のUIモジュール41、プログラム42の本体モジュール43、コモンモジュール44、及びライブラリ45がCPU31に実行させる処理について説明する。
本明細書では、基本的に、アプリケーション37に記述された命令に従ったCPU31の処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPU31の処理を表している。CPU31による処理は、OS36などのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU31が要求することなくデータを受信するという処理も、「CPU31がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
また、プログラムに記述された命令に従ったCPU31の処理を、省略した文言で記載することがある。例えば、「CPU321が行う」「本体モジュール43が行う」「コモンモジュール44が行う」「ライブラリ45が行う」のように記載することがある。
また、CPU31による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU31による、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
アプリケーション37は、例えば、画像データを生成した他のアプリケーションからの指示により、OS36によって起動される。OS36は、例えば、ユーザがタッチパネル22を用いて指定したプリンタ11のモデル名と対応付けられたアプリケーション37を起動させる。
起動されたアプリケーション37のUIモジュール41は、ユーザの入力を受け付けるための画面をタッチパネル22に表示させる。当該画面は、例えば、シートの種別をユーザに選択させるプルダウンメニューや、シートの幅や長さや余白の大きさ等を受け付けるテキストボックスなどを有する。ユーザは、シートの種別や、シートの幅や長さや余白の大きさ等である設定情報をタッチセンサ25を用いて入力する(S11)。ユーザが入力する設定情報は、ユーザ入力値の一例である。ステップS11の処理は、受付処理の一例である。
設定情報の入力を受け付けたUIモジュール41は、設定情報が示すシートの種別に応じた第1API46を呼び出す。具体的には、設定情報が示すシートの種別が「定形」であることに応じて、第1シート種別API51を呼び出し、設定情報が示すシートの種別が「無定長」であることに応じて、第2シート種別API52を呼び出す。そして、UIモジュール41は、呼び出した第1API46の引数として、受け付けた設定情報をプログラム42の本体モジュール43に受け渡す(S12)。ステップS12の処理は、ユーザ入力値受渡処理の一例である。
或いは、UIモジュール41は、タッチパネル22からシート設定を受け付ける代わりに、上述の他の情報処理装置から入力されたカスタムファイルを受け付ける(S13)。カスタムファイルを受け付けたUIモジュール41は、第2API47を呼び出す。そして、UIモジュール41は、呼び出した第2API47の引数として、受け付けたカスタムファイル、或いはカスタムファイルを示すパスを本体モジュール43に受け渡す(S14)。
本体モジュール43は、UIモジュール41から設定情報を取得する(S12)。或いは、本体モジュール43は、UIモジュール41からカスタムファイルを取得する(S14)。ステップS12の処理は、ユーザ入力値取得処理の一例である。
設定情報或いはカスタムファイルを受け付けた本体モジュール43は、プリンタ11のモデル名を取得する(S15)。例えば、本体モジュール43は、OS36がアプリケーション37を起動させる際に指定したモデル名を取得する。或いは、本体モジュール43は、自己と対応付けられたモデル名をメモリ32から読み出して取得する。さらに或いは、本体モジュール43は、設定情報とともに、UIモジュール41からモデル名を受け付けて取得する。ステップS15の処理は、種別情報取得処理の一例である。
次に、本体モジュール43は、UIモジュール41から入力された情報が設定情報であるかカスタムファイルであるかを判断する(S16)。本体モジュール43は、取得した情報が設定情報であると判断すると(S16:設定情報)、プリンタ11に入力する可能なバイナリ形式のコマンドであるカスタム設定の生成をライブラリ45に指示する(S17)。
カスタム設定の生成の指示を受け付けたライブラリ45は、カスタム設定生成処理を実行する(S18)。図4を参照して、カスタム設定生成処理について説明する。
カスタム設定生成処理において、ライブラリ45は、自己が有するptdファイル(図2(B))に含まれる解像度などの機能情報を本体モジュール43から取得する(S41~S45)。詳しく説明すると、ライブラリ45は、ファイルを読み込んでファイルが有する情報やデータを取得する機能を実装されていない。当該機能は、本体モジュール43に実装されている。本体モジュール43は、ptdファイルを読み込んで、ptdファイルに含まれる機能情報をライブラリ45に受け渡す。
具体的には、まず、本体モジュール43は、ステップS15で取得したモデル名と対応するファイルパスをライブラリ45に要求する(S41)。当該要求は、APIや関数やコマンドなどによって行われる。
要求を受け付けたライブラリ45は、要求に含まれるモデル名と対応するファイルパスをテーブル55(図2(C))から選択して取得し(S42)、取得したファイルパスを本体モジュール43に受け渡す(S43)。なお、ファイルパスは、後述するフォルダパスを含んでいない。また、ファイルパスは、ファイル名であってもよい。
本体モジュール43は、ライブラリ45から受け渡されたファイルパスと、メモリ32におけるptdフォルダの位置を示すフォルダパスとを用いてptdファイルを特定する。具体的には、フォルダパスが示すフォルダ内の、ファイルパスが示すファイルであるptdファイルを特定する。そして、本体モジュール43は、特定したptdファイルを読み込み、ptdファイルに含まれる機能情報を取得する(S44)。なお、本体モジュール43は、アプリケーション37がセットアップされる際に、フォルダパスを取得してある。
次に、本体モジュール43は、ライブラリ45が有する第3API53を呼び出し(S45)、呼び出した第3API53の引数として、ptdファイルに含まれる機能情報、及び、ステップS13で取得した設定情報をライブラリ45に受け渡す(S46)。ステップS46の処理は、指定値受渡処理の一例である。
ライブラリ45は、第3API53の引数として、本体モジュール43から機能情報及び設定情報を取得する(S46)。ステップS46の処理は、指定値取得処理及び固有値取得処理の一例である。
本体モジュール43が、第3API53を呼び出して設定情報及び機能情報をライブラリ45に受け渡すステップS45、S46の処理について、さらに詳しく説明する。第3API53は、具体的にはクラスである。ライブラリ45は、本体モジュール43からの要求に応じて、クラス(第3API53)を本体モジュール43に受け渡す。本体モジュール43は、受け渡されたクラスに、当該クラスが要求するデータ形式の設定情報及び機能情報を入力し、インスタンスを生成する。インスタンスは、オブジェクトとも称される。そして、本体モジュール43は、生成したインスタンスをライブラリ45に受け渡す。ライブラリ45は、本体モジュール43から受け渡されたインスタンスを処理して、カスタム設定を生成する。本体モジュール43が生成したインスタンスは、ライブラリ45から受け渡されたクラスによって生成されるので、ライブラリ45は、本体モジュール43が生成したインスタンスを確実に処理することができる。すなわち、ライブラリ45は、本体モジュール43がUIモジュール41から取得した設定情報に基づいて、プリンタ11に入力可能なバイナリ形式のカスタム設定を確実に生成することができる。
ライブラリ45は、本体モジュール43から設定情報及び機能情報を取得した後、本体モジュール43から取得したモデル名と対応するシート機能情報をデータベース56(図2(D))から特定して取得する(S47)。そして、ライブラリ45は、取得した機能情報、設定情報、及びシート機能情報に基づいて、カスタム設定を生成する(S48)。
ここにおいて、ptdファイルに含まれる機能情報と、データベース56に含まれるシート機能情報とには、同一の設定のデータが含まれることがある。例えば、ptdファイルが、シート幅の最大値及び最小値を機能情報として含み、データベースも、シート幅の最大値及び最小値をシート機能情報として含む場合がある。ライブラリ45は、ptdファイルの機能情報をデータベース56のシート機能情報に優先させる。すなわち、ライブラリ45は、ptdファイルに含まれない設定についてのデータのみ、データベース56から取得してカスタム設定を生成する。
カスタム設定は、図2(E)に示される第1コマンド、第2コマンド、第3コマンド、及び第4コマンドの全てのコマンドを含む。或いは、カスタム設定は、第1コマンド、第2コマンド、第4コマンドのみを含む。或いは、カスタム設定は、第1コマンド、第3コマンド、及び第4コマンドのみを含む。或いは、カスタム設定は、第1コマンド及び第4コマンドのみを含む。或いは、カスタム設定は、第1コマンドのみを含む。
第1コマンドは、ラスタデータで表現された設定情報、機能情報、及びシート機能情報をプリンタ11に入力するコマンドである。第2コマンドは、ラスタデータのコマンドの入力を受け付けることをプリンタ11の制御プログラムに指示する準備指示コマンドである。第3コマンドは、準備指示を終了させることをプリンタ11に指示する終了指示コマンドである。第4コマンドは、ラスタデータで表現されたモデル名をプリンタ11に入力するコマンドである。
カスタム設定のみがプリンタ11に送信される場合、全てのコマンドを含むカスタム設定が生成される。ラスタデータで表現された他のデータがプリンタ11に送信された後、続けてカスタム設定がプリンタ11に送信される場合、第2コマンドは不要であるので、第2コマンドを除く第1コマンド、第3コマンド、及び第4コマンドを含むカスタム設定が生成される。カスタム設定がプリンタ11に送信された後、ラスタデータで表現された他のデータがプリンタ11に続けて送信される場合、第3コマンドは不要であるので、第3コマンドを除く第1コマンド、第2コマンド、及び第4コマンドを含むカスタム設定が生成される。デバックなどにおいて、第1コマンドのみが必要な場合は、第1コマンドのみ含むカスタム設定が生成される。
具体的には、ライブラリ45は、本体モジュール43からの要求に応じて、カスタム設定に含めるコマンドを決定する。当該要求は、例えば、コマンドの種別を示すコマンド種別情報を含んでおり、第3API53の引数として本体モジュール43からライブラリ45に受け渡される(S46)。ステップS46の処理は、コマンド種別取得処理の一例である。
ライブラリ45は、本体モジュール43が要求するコマンド種別のコマンドを含むカスタム設定を生成する(S48)。具体的には、ライブラリ45は、設定情報と機能情報とシート機能情報とからシートに関する全てのパラメータを算出する。例えば、設定情報に含まれるシートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさが、シート機能情報に規定される最大値及び最小値の範囲内にあるか否かを判断し、範囲内にあれば設定情報に含まれるシートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさをカスタム設定として生成する。さらに、設定情報に含まれる情報以外のシートに関するパラメータ(サーマルヘッドの熱レベル等)を算出する。ライブラリ45は、算出したパラメータをプリンタ11に設定させるための設定コマンドと、それに付帯するヘッダコマンド等をバイナリ形式で生成する。カスタム設定は、設定値の一例である。ステップS48の処理は、設定値生成処理の一例である。
ライブラリ45は、図3に示されるように、生成したカスタム設定を本体モジュール43に受け渡す(S19)。ステップS19の処理は、設定値出力処理の一例である。
本体モジュール43は、ライブラリ45からカスタム設定を取得する(S19)。ステップS19の処理は、設定値取得処理の一例である。
一方、本体モジュール43は、ステップS16において取得した情報がカスタムファイルであると判断すると(S16:カスタムファイル)、ステップS17、S19の処理をスキップし、取得したカスタムファイルを読み込んで(S20)、カスタム設定を取得する(S21)。
本体モジュール43は、ステップS19或いはステップS21で取得したカスタム設定を、APIなどを用いてコモンモジュール44に受け渡す(S22)。
コモンモジュール44は、本体モジュール43から受け渡されたカスタム設定をメモリ32に記憶させて保存する(S23)。
一方、UIモジュール41は、上述の他のアプリケーションなどから、印刷指示及び画像データを受け付ける(S24)。そして、UIモジュール41は、受け付けた画像データ或いは画像データを示すパスを、本体モジュール43が有する不図示のAPIの引数として、本体モジュール43に受け渡す(S25)。
本体モジュール43は、UIモジュール41から画像データを取得する(S25)。S25の処理は、画像データ取得処理の一例である。本体モジュール43は、取得した画像データを、コモンモジュール44が有するAPIなどを用いてコモンモジュール44に受け渡し、印刷データの生成をコモンモジュール44に指示する(S26)。ステップS26の処理は、受渡処理の一例である。
コモンモジュール44は、受け渡された画像データに基づいて、印刷データを生成する(S27)。そして、コモンモジュール44は、生成した印刷データと、ステップS23で保存したカスタム設定とを含む送信データを生成する。送信データに含まれる印刷データ及びカスタム設定は、バイナリ形式(ラスタデータ)である。ステップS27の処理は、印刷データ生成処理の一例である。
コモンモジュール44は、生成した送信データ或いは送信データを示すパスを本体モジュール43に受け渡す(S28)。ステップS28の処理は、印刷データ受渡処理の一例である。
本体モジュール43は、コモンモジュール44から送信データを取得する(S28)。ステップS28の処理は、印刷データ取得処理の一例である。本体モジュール43は、OS36が有する第4API38を呼び出し、取得した送信データをプリンタ11に送信することをOS36に指示し、OS36を通じて送信データをプリンタ11に送信する(S29)。ステップS29の処理は、送信処理の一例である。
情報処理装置10から、印刷データ及びカスタム設定を受信したプリンタ11は、カスタム設定に従って、印刷データが示す画像をシートに印刷する(S30)。そして、プリンタ11は、OS36を通じて印刷結果を本体モジュール43に送信する(S31)。本体モジュール43は、印刷結果をUIモジュール41に送信する(S32)。
アプリケーション37は、印刷が終了したことを示す印刷結果を受け付けたことに応じて、処理を終了する。
[実施形態の作用効果]
ライブラリ45は、データ形式を指定した引数として設定情報を要求する第3API53により、設定情報を取得する。すなわち、ライブラリ45が処理可能なデータ形式で設定情報を取得することができる。その結果、ライブラリ45は、設定情報及び機能情報に基づいて、プリンタ11に入力可能なデータ形式のカスタム設定を確実に生成することができる。
ライブラリ45は、データベース56を有しており、シート機能情報をデータベース56から取得してカスタム設定を生成する。したがって、ライブラリ45は、カスタム設定を確実に生成することができる。
ライブラリ45は、従来からプリンタドライバに実装されていたファイルであるptdファイルを有し、ptdファイルから機能情報を取得してカスタム設定を生成する。したがって、ライブラリ45は、既存のptdファイルを利用してカスタム設定を生成することができる。また、新たな種別のプリンタがベンダから提供された場合に、当該プリンタのプリンタドライバに実装されるptdファイルをライブラリ45に追加することにより、ライブラリ45は、新たな種別のプリンタに対しても、カスタム設定を生成することができる。
ライブラリ45は、ptdファイルから取得した機能情報と、データベース56から取得したシート機能情報とが同一の設定のデータである場合、機能情報をシート機能情報に優先して用い、カスタム設定を生成する。すなわち、ライブラリ45は、コモンモジュール44が印刷データを生成するために用いた機能情報を優先して用いてカスタム設定を生成する。したがって、印刷データの生成に用いられた機能情報とは異なる機能情報によってカスタム設定が生成されることが防止される。その結果、プリンタ11がカスタム設定及び印刷データを用いてシートに画像を確実に印刷することができる。
ライブラリ45は、自己が処理可能なインスタンスを作成するクラスを本体モジュール43に受け渡す。本体モジュール43は、受け渡されたクラスに、当該クラスが指定するデータ形式で設定情報及び機能情報を入力し、インスタンスを作成する。そして、本体モジュール43は、作成したインスタンスをライブラリ45に受け渡す。ライブラリ45は、本体モジュール43から受け渡されたインスタンスを取得する。すなわち、ライブラリ45は、自己が処理可能なインスタンスであって、設定情報及び機能情報を用いて生成されたインスタンスを取得する。ライブラリ45は、取得したインスタンスを処理することにより、プリンタ11に入力可能なデータ形式のカスタム設定を生成し、生成したカスタム設定を本体モジュール43に受け渡す。したがって、ライブラリ45は、処理できないデータ形式で設定情報及び機能情報を本体モジュール43から受け取ることがなく、或いは、処理できないインスタンスを本体モジュール43から受け取ることがないので、本体モジュール43から受け取ったインスタンスを確実に処理して、カスタム設定を確実に生成することができる。
ライブラリ45は、本体モジュール43からの要求に応じて、カスタム設定に含めるコマンドを、第1コマンド、第2コマンド、第3コマンド、及び第4コマンドから選択して決定する。第2コマンドや第3コマンドがカスタム設定から除かれることにより、プリンタ11における印刷処理が速くなる。また、第2コマンドや第3コマンドや第4コマンドがカスタム設定から除かれることにより、デバックが容易になり、その結果、アプリケーション37の開発が容易になる。
ライブラリ45は、C++のプログラム言語で記述されている。したがって、C++で記述されたプログラムと情報やデータを受け渡し可能なプログラムであれば、ライブラリ45に情報やデータを受け渡してライブラリ45を利用することができる。
[その他の変形例]
上述の実施形態では、設定情報の例として、シートの幅や長さや余白の大きさが説明された。しかしながら、設定情報は、シートの幅や長さや余白の大きさ以外の情報であってもよい。
上述の実施形態では、カスタム設定が、設定情報、機能情報、及びシート機能情報を含む例を説明した。しかしながら、カスタム設定は、設定情報及び機能情報のみを含んでいてもよい。
上述の実施形態では、カスタム設定及び印刷データを含む送信データがプリンタ11に送信される例を説明した。しかしながら、カスタム設定と、印刷設定とが、別個にプリンタ11に送信されてもよい。
上述の実施形態では、ライブラリ45が、ファイルを読み込む機能を実装しておらず、ファイルを読み込む機能を実装する本体モジュール43にファイルパスを渡し、本体モジュール43から機能情報を取得する例を説明した。しかしならが、ライブラリ45が、ファイルを読み込む機能を実装していてもよい。その場合、本体モジュール43及びライブラリ45は、図4のステップS41からステップS46の処理に代えて、以下に説明する処理を実行する。
まず、本体モジュール43は、ptdフォルダ54のフォルダパス及びモデル名をライブラリ45に受け渡す。フォルダパス及びモデル名を受け渡されたライブラリ45は、モデル名と対応付けられたフィルパスをデーブル55から選択し、選択したファイルパス及びフォルダパスから、ptdフォルダ54内のptdファイルを特定する。ライブラリ45は、特定したptdファイルを読み込んで、ptdファイルに含まれる機能情報を取得する。
10・・・情報処理装置
11・・・プリンタ
23・・・通信I/F
25・・・タッチセンサ
41・・・UIモジュール
42・・・プログラム
43・・・本体モジュール
44・・・コモンモジュール
45・・・ライブラリ
53・・・第3API

Claims (10)

  1. 通信インタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムに実装されるモジュールであって、前記プログラムは、前記通信インタフェースを介してプリンタに入力するためのデータを作成するプログラムであって、前記プログラムは、上位モジュールを有しており、
    該モジュールは、
    データ形式が指定された引数を入力可能なAPIを有しており、
    該モジュールは、
    前記プログラムが備える前記上位モジュールによって呼び出された前記APIに入力された指定値を取得する指定値取得処理と、
    前記プリンタの種別に応じたプリンタ固有値を取得する固有値取得処理と、
    取得した前記指定値及び前記プリンタ固有値を用いて前記プリンタに入力可能なデータ形式の設定値を生成する設定値生成処理と、
    生成した設定値を前記上位モジュールに対して出力する設定値出力処理と、を前記コンピュータに実行させ
    該モジュールは、前記プリンタの種別を示す種別情報と前記プリンタ固有値とを対応付けたデータベースを有しており、
    該モジュールは、
    前記種別情報を前記上位モジュールから取得する種別情報取得処理を前記コンピュータに実行させ、
    前記固有値取得処理において、取得した前記種別情報に対応する前記プリンタ固有値を前記データベースから取得し、
    該モジュールは、前記種別情報に対応するファイルであって、前記種別情報に対応する前記プリンタ固有値をそれぞれ含む複数の設定ファイルをさらに有しており、
    該モジュールは、前記固有値取得処理において、
    前記種別情報取得処理によって取得された前記種別情報に対応する前記設定ファイルに含まれる前記プリンタ固有値である第1固有値を取得し、
    前記第1固有値を除く前記プリンタ固有値である第2固有値を、前記種別情報取得処理によって取得された前記種別情報に対応する前記データベースから取得するモジュール。
  2. 前記プログラムは、前記プリンタがシートに印刷を行うための印刷データを生成する生成モジュールをさらに有しており、前記生成モジュールは、前記第1固有値を用いて前記印刷データを生成するモジュールである請求項に記載のモジュール。
  3. 該モジュールは、
    前記設定ファイルを格納するフォルダを有しており、
    前記フォルダにおいて前記設定ファイルを特定するファイルパスと、前記種別情報とを対応付けたテーブルと、を有しており、
    前記固有値取得処理において、
    前記上位モジュールから、前記種別情報を含む要求であって、前記ファイルパスを要求するファイルパス要求を取得し、
    取得した前記ファイルパス要求に含まれる前記種別情報に対応するファイルパスを前記テーブルから取得し、
    取得した前記ファイルパスを前記上位モジュールに返信し、
    前記ファイルパスを取得した前記上位モジュールが、前記フォルダを特定するフォルダパスと、取得した前記ファイルパスとを用いて取得した前記設定ファイルに含まれる前記第1固有値を、当該上位モジュールから取得する請求項に記載のモジュール。
  4. 該モジュールは、前記APIとして、前記設定値を生成するオブジェクトを作成するクラスを有しており、前記クラスは、データ形式が指定された前記引数である前記指定値を入力されることにより、前記オブジェクトを作成するクラスであり、
    該モジュールは、前記指定値取得処理において、前記クラスを前記上位モジュールに受け渡し、前記指定値を入力されることによって当該上位モジュールが生成した前記オブジェクトを前記上位モジュールから取得し、
    前記設定値生成処理において、前記プリンタ固有値を用いて前記オブジェクトを処理することにより、前記設定値を生成する請求項1からのいずれかに記載のモジュール。
  5. 該モジュールは、前記設定値生成処理において、
    前記設定値を含む第1コマンドと、
    前記第1コマンドのデータ型を送信先に認識させ、当該データ型のコマンドの入力準備を指示する第2コマンドと、
    前記データ型のコマンドの入力準備を終了させることを指示する第3コマンドと、
    前記プリンタの種別を示す種別情報を含む第4コマンドと、を生成し、
    該モジュールは、
    コマンドの種別を指定するコマンド種別情報を前記上位モジュールから取得するコマンド種別取得処理を前記コンピュータにさらに実行させ、
    前記設定値出力処理において、前記第3コマンドと、前記第1コマンド、前記第2コマンド、及び第4コマンドのうち、前記コマンド種別情報が示す種別のコマンドと、を出力する請求項からのいずれかに記載のモジュール。
  6. C++のプログラム言語で記述されている請求項1からのいずれかに記載のモジュール。
  7. 前記指定値は、ユーザが指定したシートの幅と、当該シートの長さと、当該シートの余白と、の少なくとも1つに応じた値である請求項1からのいずれかに記載のモジュール。
  8. 通信インタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムであって、
    該プログラムは、上位モジュール及びモジュールを有しており、
    前記モジュールは、
    データ形式が指定された引数を入力可能なAPIを具備しており、
    前記モジュールは、
    前記上位モジュールによって呼び出された前記APIに入力された指定値を取得する指定値取得処理と、
    プリンタの種別に応じたプリンタ固有値を取得する固有値取得処理と、
    取得した前記指定値及び前記プリンタ固有値を用いて前記プリンタに入力可能なデータ形式の設定値を生成する設定値生成処理と、
    生成した設定値を前記上位モジュールに対して出力する設定値出力処理と、を前記コンピュータに実行させ、
    前記上位モジュールは、
    ユーザによって指定された値に応じた前記指定値を、呼び出した前記APIの引数として前記モジュールに受け渡す指定値受渡処理と、
    前記設定値を前記モジュールから取得する設定値取得処理と、
    取得した前記設定値を前記通信インタフェースを通じて前記プリンタに送信する送信処理と、を前記コンピュータに実行させ
    前記モジュールは、前記プリンタの種別を示す種別情報と前記プリンタ固有値とを対応付けたデータベースを有しており、
    前記モジュールは、
    前記種別情報を前記上位モジュールから取得する種別情報取得処理を前記コンピュータに実行させ、
    前記固有値取得処理において、取得した前記種別情報に対応する前記プリンタ固有値を前記データベースから取得し、
    前記モジュールは、前記種別情報に対応するファイルであって、前記種別情報に対応する前記プリンタ固有値をそれぞれ含む複数の設定ファイルをさらに有しており、
    前記モジュールは、前記固有値取得処理において、
    前記種別情報取得処理によって取得された前記種別情報に対応する前記設定ファイルに含まれる前記プリンタ固有値である第1固有値を取得し、
    前記第1固有値を除く前記プリンタ固有値である第2固有値を、前記種別情報取得処理によって取得された前記種別情報に対応する前記データベースから取得するプログラム。
  9. 通信インタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムであって、
    該プログラムは、上位モジュール、モジュール、及び生成モジュールを有しており、
    前記モジュールは、
    データ形式が指定された引数を入力可能なAPIを具備しており、
    前記モジュールは、
    前記上位モジュールによって呼び出された前記APIに入力された指定値を取得する指定値取得処理と、
    プリンタの種別に応じたプリンタ固有値を取得する固有値取得処理と、
    取得した前記指定値及び前記プリンタ固有値を用いて前記プリンタに入力可能なデータ形式の設定値を生成する設定値生成処理と、
    生成した設定値を前記上位モジュールに対して出力する設定値出力処理と、を前記コンピュータに実行させ、
    前記生成モジュールは、
    前記設定値及び画像データを取得する取得処理と、
    取得した画像データに基づいて、前記設定値を組み込んだ印刷データを生成する印刷データ生成処理と、
    生成した前記印刷データを前記上位モジュールに受け渡す印刷データ受渡処理と、を前記コンピュータに実行させ、
    前記上位モジュールは、
    ユーザによって指定された値に応じた前記指定値を、呼び出した前記APIの引数として前記モジュールに受け渡す指定値受渡処理と、
    前記設定値を前記モジュールから取得する設定値取得処理と、
    画像データを取得する画像データ取得処理と、
    取得した前記設定値及び前記画像データを前記生成モジュールに受け渡す受渡処理と、
    前記印刷データを前記生成モジュールから取得する印刷データ取得処理と、
    取得した前記印刷データを前記通信インタフェースを通じて前記プリンタに送信する送信処理と、を前記コンピュータに実行させ
    前記モジュールは、前記プリンタの種別を示す種別情報と前記プリンタ固有値とを対応付けたデータベースを有しており、
    前記モジュールは、
    前記種別情報を前記上位モジュールから取得する種別情報取得処理を前記コンピュータに実行させ、
    前記固有値取得処理において、取得した前記種別情報に対応する前記プリンタ固有値を前記データベースから取得し、
    前記モジュールは、前記種別情報に対応するファイルであって、前記種別情報に対応する前記プリンタ固有値をそれぞれ含む複数の設定ファイルをさらに有しており、
    前記モジュールは、前記固有値取得処理において、
    前記種別情報取得処理によって取得された前記種別情報に対応する前記設定ファイルに含まれる前記プリンタ固有値である第1固有値を取得し、
    前記第1固有値を除く前記プリンタ固有値である第2固有値を、前記種別情報取得処理によって取得された前記種別情報に対応する前記データベースから取得するプログラム。
  10. 通信インタフェースと、ユーザインタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムであって、
    該プログラムは、上位モジュール、モジュール、生成モジュール、及び受付モジュールを有しており、
    前記受付モジュールは、
    前記ユーザインタフェースを通じてユーザ入力値を受け付ける受付処理と、
    前記ユーザ入力値を前記上位モジュールに受け渡すユーザ入力値受渡処理と、を前記コンピュータに実行させ、
    前記モジュールは、
    データ形式が指定された引数を入力可能なAPIを具備しており、
    前記モジュールは、
    前記上位モジュールによって呼び出された前記APIに入力された指定値を取得する指定値取得処理と、
    プリンタの種別に応じたプリンタ固有値を取得する固有値取得処理と、
    取得した前記指定値及び前記プリンタ固有値を用いて前記プリンタに入力可能なデータ形式の設定値を生成する設定値生成処理と、
    生成した設定値を前記上位モジュールに対して出力する設定値出力処理と、を前記コンピュータに実行させ、
    前記生成モジュールは、
    前記設定値及び画像データを取得する取得処理と、
    取得した前記画像データに基づいて、前記設定値を組み込んだ印刷データを生成する印刷データ生成処理と、
    生成した前記印刷データを前記上位モジュールに受け渡す印刷データ受渡処理と、を前記コンピュータに実行させ、
    前記上位モジュールは、
    前記ユーザ入力値を前記受付モジュールから取得するユーザ入力値取得処理と、
    取得した前記ユーザ入力値に応じた前記指定値を、呼び出した前記APIの引数として前記モジュールに受け渡す指定値受渡処理と、
    前記設定値を前記モジュールから取得する設定値取得処理と、
    前記画像データを取得する画像データ取得処理と、
    取得した前記設定値及び前記画像データを前記生成モジュールに受け渡す受渡処理と、
    前記印刷データを前記生成モジュールから取得する印刷データ取得処理と、
    取得した前記印刷データを前記通信インタフェースを通じて前記プリンタに送信する送信処理と、を前記コンピュータに実行させ
    前記モジュールは、前記プリンタの種別を示す種別情報と前記プリンタ固有値とを対応付けたデータベースを有しており、
    前記モジュールは、
    前記種別情報を前記上位モジュールから取得する種別情報取得処理を前記コンピュータに実行させ、
    前記固有値取得処理において、取得した前記種別情報に対応する前記プリンタ固有値を前記データベースから取得し、
    前記モジュールは、前記種別情報に対応するファイルであって、前記種別情報に対応する前記プリンタ固有値をそれぞれ含む複数の設定ファイルをさらに有しており、
    前記モジュールは、前記固有値取得処理において、
    前記種別情報取得処理によって取得された前記種別情報に対応する前記設定ファイルに含まれる前記プリンタ固有値である第1固有値を取得し、
    前記第1固有値を除く前記プリンタ固有値である第2固有値を、前記種別情報取得処理によって取得された前記種別情報に対応する前記データベースから取得するプログラム。
JP2019033575A 2019-02-27 2019-02-27 モジュール及びプログラム Active JP7234687B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019033575A JP7234687B2 (ja) 2019-02-27 2019-02-27 モジュール及びプログラム
US16/655,355 US11106415B2 (en) 2019-02-27 2019-10-17 Module receiving specific value from higher-level module and generating setting value using specific value

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019033575A JP7234687B2 (ja) 2019-02-27 2019-02-27 モジュール及びプログラム

Publications (2)

Publication Number Publication Date
JP2020140287A JP2020140287A (ja) 2020-09-03
JP7234687B2 true JP7234687B2 (ja) 2023-03-08

Family

ID=72142928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019033575A Active JP7234687B2 (ja) 2019-02-27 2019-02-27 モジュール及びプログラム

Country Status (2)

Country Link
US (1) US11106415B2 (ja)
JP (1) JP7234687B2 (ja)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002200796A (ja) 2000-12-28 2002-07-16 Seiko Epson Corp プリンタドライバ、印刷制御方法及び情報記録媒体
JP2003078660A (ja) 2001-08-31 2003-03-14 Ricoh Co Ltd 画像形成システム
JP2004192159A (ja) 2002-12-09 2004-07-08 Minolta Co Ltd 印刷制御装置
JP2006293899A (ja) 2005-04-14 2006-10-26 Kyocera Mita Corp 印刷設定装置および印刷設定プログラム
JP2007207141A (ja) 2006-02-06 2007-08-16 Seiko Epson Corp コンピュータのデバイスドライバ実現方法およびコンピュータ
JP2008269265A (ja) 2007-04-19 2008-11-06 Brother Ind Ltd 印刷システム、印刷データ作成装置及びコンピュータプログラム
JP2009271930A (ja) 2008-05-09 2009-11-19 Ricoh Co Ltd プリンタ定義ファイルを用いてjdfを生成するための方法、システムおよびプログラム
JP2014153971A (ja) 2013-02-12 2014-08-25 Ricoh Co Ltd 印刷条件設定装置、印刷システム、情報処理装置、印刷条件設定方法及び印刷条件設定プログラム
JP2015219683A (ja) 2014-05-16 2015-12-07 セイコーエプソン株式会社 印刷装置及び印刷装置の制御方法
JP2017030185A (ja) 2015-07-30 2017-02-09 セイコーエプソン株式会社 プリンターの印刷設定方法およびプリンター
JP2017059161A (ja) 2015-09-18 2017-03-23 セイコーエプソン株式会社 Pos端末およびこれに搭載されたposドライバー

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496951B2 (en) * 2003-07-15 2009-02-24 Canon Kabushiki Kaisha Network apparatus and control method therefor
JP4455397B2 (ja) 2005-04-26 2010-04-21 キヤノン株式会社 情報処理装置及びその制御方法
US8199144B2 (en) 2005-04-26 2012-06-12 Canon Kabushiki Kaisha Information processing apparatus and related method, image forming apparatus and related control method, program, and recording medium
JP5017083B2 (ja) 2007-12-26 2012-09-05 キヤノン株式会社 プリンタ、その制御方法
SG155806A1 (en) * 2008-03-28 2009-10-29 Radiantrust Pte Ltd Method and system for obtaining printer status in a network
JP5361358B2 (ja) 2008-12-11 2013-12-04 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
JP2013050935A (ja) 2011-08-04 2013-03-14 Canon Inc 印刷制御装置、印刷制御プログラムおよび印刷制御方法
CN105278894B (zh) 2012-03-30 2018-07-31 精工爱普生株式会社 印刷控制装置、印刷***及印刷控制方法
US9052863B2 (en) 2012-08-14 2015-06-09 Seiko Epson Corporation ePOS printing
JP6167502B2 (ja) 2012-10-31 2017-07-26 ブラザー工業株式会社 通信中継プログラム、通信中継装置、及び、画像処理装置
JP6331910B2 (ja) 2013-09-17 2018-05-30 株式会社リコー 情報処理装置、情報処理システム、及びプログラム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002200796A (ja) 2000-12-28 2002-07-16 Seiko Epson Corp プリンタドライバ、印刷制御方法及び情報記録媒体
JP2003078660A (ja) 2001-08-31 2003-03-14 Ricoh Co Ltd 画像形成システム
JP2004192159A (ja) 2002-12-09 2004-07-08 Minolta Co Ltd 印刷制御装置
JP2006293899A (ja) 2005-04-14 2006-10-26 Kyocera Mita Corp 印刷設定装置および印刷設定プログラム
JP2007207141A (ja) 2006-02-06 2007-08-16 Seiko Epson Corp コンピュータのデバイスドライバ実現方法およびコンピュータ
JP2008269265A (ja) 2007-04-19 2008-11-06 Brother Ind Ltd 印刷システム、印刷データ作成装置及びコンピュータプログラム
JP2009271930A (ja) 2008-05-09 2009-11-19 Ricoh Co Ltd プリンタ定義ファイルを用いてjdfを生成するための方法、システムおよびプログラム
JP2014153971A (ja) 2013-02-12 2014-08-25 Ricoh Co Ltd 印刷条件設定装置、印刷システム、情報処理装置、印刷条件設定方法及び印刷条件設定プログラム
JP2015219683A (ja) 2014-05-16 2015-12-07 セイコーエプソン株式会社 印刷装置及び印刷装置の制御方法
JP2017030185A (ja) 2015-07-30 2017-02-09 セイコーエプソン株式会社 プリンターの印刷設定方法およびプリンター
JP2017059161A (ja) 2015-09-18 2017-03-23 セイコーエプソン株式会社 Pos端末およびこれに搭載されたposドライバー

Also Published As

Publication number Publication date
JP2020140287A (ja) 2020-09-03
US11106415B2 (en) 2021-08-31
US20200272395A1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
US20150317118A1 (en) Image processing device
US8773680B2 (en) Information processing apparatus and information processing method
JP5391844B2 (ja) 印刷制御プログラム、記憶媒体および情報処理装置
JP5299386B2 (ja) 印刷データ生成プログラム、端末装置および端末装置の制御方法
US10289364B2 (en) Information processing apparatus, method, and non-transitory computer-readable storage medium storing program
JP5361358B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
US7973964B2 (en) Printing program that adjusts annotation location and size
JP2013037391A (ja) 情報処理装置、制御方法、プログラム
CN106371776B (zh) 打印机驱动器以及信息处理装置
US20090210785A1 (en) Device, Method and Computer Readable Medium for Page Description Language Processing
JP7234687B2 (ja) モジュール及びプログラム
JP2017033052A (ja) 画像形成装置における制御装置およびプログラム
US20090282150A1 (en) Service flow processing apparatus and method
JP7263837B2 (ja) プログラム、アプリケーション、情報処理装置
JP7234688B2 (ja) プログラム、アプリケーション、情報処理装置
US8159702B2 (en) Printer driver, apparatus and methods for controlling a printer from a devmode data structure
JP7290073B2 (ja) プログラム
JP7306088B2 (ja) プログラム群
JP7238482B2 (ja) プログラム
JP2023049890A (ja) 印刷装置
US11435965B2 (en) Storage medium storing program for converting first data into second data to be inputted to printer
JP2005085052A (ja) 携帯情報端末、印刷方法および印刷用プログラム
JP2012252635A (ja) 印刷制御装置、印刷制御プログラム及び記録媒体
US20190258436A1 (en) Information processing apparatus, control method of information processing apparatus, and program
JP7247644B2 (ja) プログラム、情報処理装置、及びセットアップ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230105

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230206

R150 Certificate of patent or registration of utility model

Ref document number: 7234687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150