JP7263837B2 - プログラム、アプリケーション、情報処理装置 - Google Patents

プログラム、アプリケーション、情報処理装置 Download PDF

Info

Publication number
JP7263837B2
JP7263837B2 JP2019033577A JP2019033577A JP7263837B2 JP 7263837 B2 JP7263837 B2 JP 7263837B2 JP 2019033577 A JP2019033577 A JP 2019033577A JP 2019033577 A JP2019033577 A JP 2019033577A JP 7263837 B2 JP7263837 B2 JP 7263837B2
Authority
JP
Japan
Prior art keywords
module
parameter
instruction
lower module
computer
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
JP2019033577A
Other languages
English (en)
Other versions
JP2020140289A (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 JP2019033577A priority Critical patent/JP7263837B2/ja
Priority to US16/655,307 priority patent/US11061686B2/en
Publication of JP2020140289A publication Critical patent/JP2020140289A/ja
Application granted granted Critical
Publication of JP7263837B2 publication Critical patent/JP7263837B2/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/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/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • G06F9/3881Arrangements for communication of instructions and data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/125Page layout or assigning input pages onto output media, e.g. imposition
    • G06F3/1251Page layout or assigning input pages onto output media, e.g. imposition for continuous media, e.g. web media, rolls

Landscapes

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

Description

本発明は、印刷を実行するために必要なパラメータをプリンタに送信する技術に関する。
印刷を実行するために、種々のパラメータの入力を必要とするプリンタがある。例えば、ある種のラベルプリンタは、印刷を実行するために、余白の大きさを示すパラメータや、ラベルの長さを示すパラメータや、その他のパラメータの入力を必要とし、これらのパラメータを受け取って印刷を実行する。
印刷を実行するために必要なパラメータをプリンタに送信するアプリケーションが知られている(例えば、特許文献1参照)。
特開2008-269265号公報
特許文献1は、前述のアプリケーションの開発を容易にするようなアプリケーションの構造については、開示していない。
本発明は、印刷を実行するために必要なパラメータをプリンタに送信するアプリケーションの開発を容易にすることを目的とする。
本明細書では様々な開示を行う。開示例の一例であるプログラムは、プリンタと通信を行う通信インタフェースと、ユーザインタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムである。前記メモリは、前記プリンタが印刷を実行するシートに関する第1パラメータを前記ユーザインタフェースを通じて受け付けるパラメータ受付処理を前記コンピュータに実行させる受付モジュールと、OSとを記憶可能である。該プログラムは、上位モジュール及び下位モジュールを有する。前記上位モジュールは、前記第1パラメータに応じた値である指定値を前記受付モジュールから受け付ける指定値受付処理と、取得した前記指定値に基づいて、前記シートに関する全てのパラメータである第2パラメータの生成指示である第1指示を前記下位モジュールに対して行う第2パラメータ生成指示処理と、前記第2パラメータを前記下位モジュールから取得する第2パラメータ取得処理と、取得した前記第2パラメータを前記プリンタに送信する第2指示を、前記OSが有する第1APIを呼び出すことにより、前記OSに対して行う送信指示処理と、を前記コンピュータに実行させる。前記下位モジュールは、前記第1指示を受け付けたことに応じて、前記指定値に基づいて前記第2パラメータを生成する第2パラメータ生成処理と、生成した前記第2パラメータを前記上位モジュールに取得させる第2パラメータ返信処理と、を前記コンピュータに実行させる。前記上位モジュールは、前記OSの前記第1APIを呼び出し可能な第1言語で記述され、前記下位モジュールは、前記上位モジュールが当該下位モジュールに前記第1指示を受け渡すことができる言語であって、前記上位モジュールが前記第2パラメータを前記下位モジュールから取得することができる第2言語で記述されている。
上位モジュールは、OSの第1APIを呼び出し可能な第1言語で記述される。すなわち、上位モジュールは、OSの記述言語で記述される。そして、下位モジュールは、上位モジュールが下位モジュールに第1指示を受け渡すことができる言語であって、上位モジュールが第2パラメータを下位モジュールから取得することができる第2言語で記述される。したがって、下位モジュールは、記述された言語の種類によって区別されるOSの種類に関わりなく、開示例のプログラムに用いることができる。その結果、OSの種別ごとに開発される開示例のプログラムにおいて、その開発が容易になる。
図1(A)は、情報処理装置10の機能ブロック図であり、図1(B)は、アプリケーション37の構成を示す図である。 図2(A)は、ptdフォルダ54を示す図であり、図2(B)は、ptdファイルを示す図であり、図2(C)は、テーブル55を示す図であり、図2(D)は、データベース56を示す図である。 図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と通信を行う。
タッチパネル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は、第1API38を有する。第1API38は、例えば、OS36のDLL(dynamic link library)として、OS36に実装されている。後述のアプリケーション37は、第1API38を呼び出して、OS36に対して印刷データを含む送信データの送信を指示する。第1API38は、送信データをプリンタ11に送信する。詳しくは後述する。
アプリケーション37は、印刷データを生成して、通信I/F23を通じてプリンタ11に送信する機能を有する。そして、アプリケーション37は、カスタム設定を生成して、生成したカスタム設定を印刷データとともにプリンタ11に送信する機能をさらに有する。カスタム設定とは、プリンタ11のメモリに予め記憶された上述の標準シート設定とは異なるシート設定を意味する。詳しくは後述する。
アプリケーション37は、UIモジュール41と、プログラム42と、を備える。「UI」は、ユーザインタフェースを意味する。すなわち、アプリケーション37は、ユーザの入力を受け付けるUIモジュール41と、印刷データ及びカスタム設定を生成してプリンタ11に送信するプログラム42と、を備える。UIモジュール41は、受付モジュールの一例である。なお、プリンタ11のメモリは、上述の標準シート設定を記憶していなくてもよい。その場合、アプリケーション37は、印刷データと、カスタム設定或いは標準シート設定と、をプリンタ11に送信する。
UIモジュール41は、アプリケーション37の開発者によって設計される。アプリケーション37の開発者は、Android(登録商標)OSや、iOS(登録商標)など、OS36の種類に応じてUIモジュール41を設計する。具体的には、UIモジュール41は、OS36が有する第1API38の機能を利用可能に、OS36が記述されたプログラム言語と同一のプログラム言語である第1言語によって記述されている。プログラム42は、例えば、プリンタ11のベンダによって、アプリケーション37の開発者に提供される。すなわち、プログラム42は、いわゆるSDK(Software Development Kitの略)である。アプリケーション37の開発者は、プリンタ11のベンダが提供したプログラム42を、設計したUIモジュール41に組み付けて、アプリケーション37を開発する。
プログラム42は、Android(登録商標)OSやiOS(登録商標)などのOS36の種類に応じて開発される。すなわち、複数種類のプログラム42が、ベンダから提供される。プログラム42は、ベンダの開発を容易にするような構成を有する。以下、詳しく説明する。
プログラム42は、本体モジュール43と、コモンモジュール44と、ライブラリ45と、を備える。本体モジュール43は、上位モジュールの一例である。コモンモジュール44及びライブラリ45は、下位モジュールの一例である。コモンモジュール44は、第1下位モジュールの一例である。ライブラリ45は、第2下位モジュールの一例である。
本体モジュール43は、UIモジュール41からOS36を介して情報やデータを受け取る機能を有する。具体的には、本体モジュール43は、OS36を介してUIモジュール41によって呼び出される第2API(Application Programming Interfaceの略)46、第3API49、及び第4API50を有する。
第2API46は、シートの幅や長さや余白の大きさなどである設定情報を引数として要求するAPIである。UIモジュール41は、タッチパネル22を通じてユーザに入力を要求したシートの幅や長さや余白などの設定情報を、呼び出した第2API46の引数として、本体モジュール43に受け渡す。
第2API46は、第1シート種別API47と、第2シート種別API48と、を含む。第1シート種別API47は、例えば、定形のシートに対応するAPIである。第2シート種別API48は、例えば、無定長のシートに対応するAPIである。すなわち、第1シート種別API47と、第2シート種別API48とでは、引数として要求する設定情報が異なる。例えば、定形のシートに対応する第1シート種別API47は、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさ、及びラベル間のピッチ幅を引数として要求する。無定長のシートに対応する第2シート種別API48は、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさを引数として要求する。
UIモジュール41は、タッチパネル22を通じてユーザが指定したシートの種別に応じた第2API46を呼び出す。具体的には、UIモジュール41は、ユーザが定形のシートを指定したことに応じて第1シート種別API47を呼び出し、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさ、及びラベル間のピッチ幅などを引数として本体モジュール43に受け渡す。UIモジュール41は、ユーザが無定長のシートを指定したことに応じて第2シート種別API48を呼び出し、シートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさなどを引数として本体モジュール43に受け渡す。
第3API49は、本体モジュール43が、設定ファイルをUIモジュール41から受け取るためのAPIである。設定ファイルは、プリンタ11が処理可能なバイナリ形式のカスタム設定を含むファイルである。詳しく説明すると、例えば、情報処理装置10とは異なるパーソナルコンピュータなどの情報処理装置において、設定ファイルが作成され、作成された設定ファイルが情報処理装置10に入力されることが考えられる。その場合、UIモジュール41は、入力された設定ファイルをそのまま引数として、或いは設定ファイルを示すパスを引数として、本体モジュール43に受け渡す。すなわち、本体モジュール43は、第2API46に加え第3API49を備えることにより、カスタム設定を生成するための設定情報をUIモジュール41から受け取ることもできるし、カスタム設定そのものをUIモジュール41から受け取ることもできる。設定ファイルは、いわゆるBinファイルである。
第4API50は、UIモジュール41から画像データを受け取るためのAPIである。本体モジュール43は、第4API50の引数として、画像データ、或いは画像データを示すパスをUIモジュール41から受け取る。
ライブラリ45は、第5API53と、ptdフォルダ54と、テーブル55とデータベース56とを有する。
第5API53は、本体モジュール43によって呼び出されるAPIである。ライブラリ45は、第5API53によって、本体モジュール43から設定情報等を受け渡される。詳しくは後述する。
ptdフォルダ54は、図2(A)に示されるように、複数のptdファイルを格納するフォルダである。一のptdファイルは、一の種別(モデル)のプリンタ11の機能を示す機能情報を有する。具体的には、図2(B)に示されるように、ptdファイルは、「解像度」を示す数値や、プリンタ11のヘッドのピン数である「ヘッドピン数」を示す数値などを、機能情報として有する。
テーブル55は、図2(C)に示されるように、モデル名と、当該モデル名に対応するptdファイルのファイルパスとの対応を示すテーブルである。ファイルパスは、ptdフォルダ54内におけるptdファイルの格納位置を示す情報である。ファイルパスは、モデル名と対応するptdファイルの特定に用いられる。詳しくは後述する。なお、モデル名は、シリーズ名であってもよい。
データベース56は、プリンタ11の種別(モデル)と、シートに関するシート機能情報とが対応付けられたデータベースである。シート機能情報は、図2(D)に示されるように、シートの種別「無定長」/「定形」や、シートの幅の「最大値」/「最小値」や、シートの長さの「最大値」/「最小値」や、幅方向の余白の「最大値」/「最小値」などである。
ライブラリ45は、第5API53によって本体モジュール43から受け渡された設定情報と、本体モジュール43から不図示のAPI等を用いて受け渡されたプリンタ11のモデル名と、ptdファイルと、データベース56とを用いて、プリンタ11に入力可能なバイナリ形式のカスタム設定を生成する。
また、ライブラリ45は、後述のコモンモジュール44が印刷データを生成する際に参照するptdファイルの機能情報を、本体モジュール43を介してコモンモジュール44に提供する。すなわち、印刷データを生成するために参照される機能情報を用いて、プリンタ11に入力されるカスタム設定が生成される。
コモンモジュール44は、画像データから印刷データを生成するモジュールである。コモンモジュール44は、本体モジュール43から画像データ、或いは画像データを示すパスを受け取るための不図示のAPIを有する。
また、コモンモジュール44は、本体モジュール43からカスタム設定、或いはカスタム設定を示すパスを受け取るための不図示のAPIを有する。コモンモジュール44は、本体モジュール43から受け取ったカスタム設定と、生成した印刷データとを含む送信データを生成し、本体モジュール43に受け渡す。詳しくは後述する。
本体モジュール43は、Android(登録商標)OSやiOS(登録商標)など、OS36の種類に応じて設計される。具体的には、本体モジュール43は、OS36が有する第1API38の機能を利用可能に、OS36が記述されたプログラム言語と同一のプログラム言語である第1言語によって記述されている。例えば、本体モジュール43は、JAVA(登録商標)やObjective-Cで記述されている。以下では、本体モジュール43が、JAVAで記述された例を説明する。
一方、コモンモジュール44及びライブラリ45は、本体モジュール43を記述するプログラム言語である第1言語に依存せず、特定のプログラム言語である第2言語で記述されている。具体的には、コモンモジュール44及びライブラリ45は、C++で記述されている。
本体モジュール43がObjective-Cで記述されている場合、本体モジュール43は、C++で記述されたコモンモジュール44及びライブラリ45と情報やデータを受け渡すことができる。一方、本体モジュール43がJAVAで記述されている場合、ラッパ51が本体モジュール43に設けられる。ラッパ51は、例えば、JNI(Java Native Interface)である。ラッパ51を有する本体モジュール43は、C++で記述されたコモンモジュール44及びライブラリ45と情報やデータを受け渡すことができる。
すなわち、本実施形態のプログラム42は、OS36を記述する第1言語に依存して複数種類が設計される本体モジュール43と、OS36を記述する第1言語に依存せずに一の種類のみが設計されるコモンモジュール44及びライブラリ45と、で構成される。複数種類のコモンモジュール44及びライブラリ45が設計されないので、プログラム42の開発が容易になる。
以下、図3及び図4を参照して、アプリケーション37のUIモジュール41、プログラム42の本体モジュール43、コモンモジュール44、及びライブラリ45がCPU31に実行させる処理について説明する。
アプリケーション37は、例えば、画像データを生成した他のアプリケーションからの指示により、OS36によって起動される。OS36は、例えば、ユーザがタッチパネル22を用いて指定したプリンタ11のモデル名と対応付けられたアプリケーション37を起動させる。
起動されたアプリケーション37のUIモジュール41は、ユーザの入力を受け付けるための画面をタッチパネル22に表示させる。当該画面は、例えば、シートの種別をユーザに選択させるプルダウンメニューや、シートの幅や長さや余白の大きさ等を受け付けるテキストボックスなどを有する。ユーザは、シートの種別や、シートの幅や長さや余白の大きさ等である設定情報をタッチパネル22を用いて入力する(S11)。
UIモジュール41は、例えば、設定情報をテキスト形式のデータとして受け付ける(S11)。UIモジュール41が受け付けるテキスト形式の設定情報は、第1パラメータの一例である。ステップS11の処理は、パラメータ受付処理の一例である。
設定情報の入力を受け付けたUIモジュール41は、設定情報が示すシートの種別に応じた第2API46を呼び出す。具体的には、設定情報が示すシートの種別が「定形」であることに応じて、第1シート種別API47を呼び出し、設定情報が示すシートの種別が「無定長」であることに応じて、第2シート種別API48を呼び出す。そして、UIモジュール41は、呼び出した第2API46の引数として、受け付けたテキスト形式の設定情報をプログラム42の本体モジュール43に受け渡す(S13)。UIモジュール41から本体モジュール43に受け渡される設定情報は、指定値の一例である。本体モジュール43がUIモジュール41から設定情報を取得する処理は、指定値受付処理の一例である。
或いは、UIモジュール41は、タッチパネル22からシート設定を受け付ける代わりに、上述の他の情報処理装置から入力された設定ファイルを受け付ける(S12)。設定ファイルを受け付けたUIモジュール41は、第3API49を呼び出す。そして、UIモジュール41は、呼び出した第3API49の引数として、受け付けた設定ファイル、或いは設定ファイルを示すパスを本体モジュール43に受け渡す(S14)。設定ファイルは、設定指示ファイルの一例である。ステップS12の処理は、ファイル受付処理の一例である。
本体モジュール43は、UIモジュール41から設定情報を取得する(S13)。或いは、本体モジュール43は、UIモジュール41から設定ファイルを取得する(S14)。ステップS13で本体モジュール43が取得する設定情報は、指定値の一例である。ステップS13の処理は、指定値受付処理の一例である。
設定情報或いは設定ファイルを受け付けた本体モジュール43は、プリンタ11のモデル名を取得する(S15)。例えば、本体モジュール43は、OS36がアプリケーション37を起動させる際に指定したモデル名を取得する。或いは、本体モジュール43は、自己と対応付けられたモデル名をメモリ32から読み出して取得する。さらに或いは、本体モジュール43は、設定情報とともに、UIモジュール41からモデル名を受け付けて取得する。
次に、本体モジュール43は、UIモジュール41から入力された情報が設定情報であるか設定ファイルであるかを判断する(S16)。本体モジュール43は、取得した情報が設定情報であると判断すると(S16:設定情報)、プリンタ11に入力する可能なバイナリ形式のコマンドであるカスタム設定の生成をライブラリ45に指示する(S17)。カスタム設定の生成指示は、第1指示の一例である。ステップS17の処理は、第2パラメータ生成処理の一例である。
カスタム設定の生成の指示を受け付けたライブラリ45は、カスタム設定生成処理を実行する(S18)。図4を参照して、カスタム設定生成処理について説明する。
カスタム設定生成処理において、ライブラリ45は、自己が有するptdファイル(図2(C))に含まれる解像度などの機能情報を本体モジュール43から取得する(S41~S45)。詳しく説明すると、ライブラリ45は、ファイルを読み込んでファイルが有する情報やデータを取得する機能を実装されていない。当該機能は、本体モジュール43に実装されている。本体モジュール43は、ptdファイルを読み込んで、ptdファイルに含まれる機能情報をライブラリ45に受け渡す。
具体的には、まず、本体モジュール43は、ステップS15で取得したモデル名と対応するファイルパスをライブラリ45に要求する(S41)。当該要求は、APIや関数やコマンドなどによって行われる。
要求を受け付けたライブラリ45は、要求に含まれるモデル名と対応するファイルパスをテーブル(図2(C))から選択して取得し(S42)、取得したファイルパスを本体モジュール43に受け渡す(S43)。
本体モジュール43は、ライブラリ45から受け渡されたファイルパスと、メモリ32におけるptdフォルダの位置を示すフォルダパスとを用いてptdファイルを特定する。そして、本体モジュール43は、特定したptdファイルを読み込み、ptdファイルに含まれる機能情報を取得する(S44)。なお、本体モジュール43は、アプリケーション37がセットアップされる際に、フォルダパスを取得する。
次に、本体モジュール43は、ライブラリ45が有する第5API53を呼び出し(S45)、呼び出した第5API53の引数として、ptdファイルに含まれる機能情報、及び、ステップS13で取得した設定情報をライブラリ45に受け渡す(S46)。なお、本体モジュール43がライブラリ45に受け渡す設定情報のデータ形式は、バイナリ形式であってもよいし、その他の形式であってもよい。本体モジュール43がライブラリ45に受け渡す設定情報のデータ形式は、第5API53が要求する引数のデータ形式によって決まる。すなわち、ライブラリ45には、APIで規定されたデータ形式以外のデータ形式で設定情報が受け渡されることがない。
ライブラリ45は、第5API53の引数として、本体モジュール43から機能情報及び設定情報を取得する(S46)。また、ライブラリ45は、本体モジュール43から取得したモデル名と対応するシート機能情報をデータベース56(図2(D))から特定して取得する(S47)。そして、ライブラリ45は、取得した機能情報、設定情報、及びシート機能情報に基づき、バイナリ形式のコマンド及び当該コマンドが付帯するデータに変換して、カスタム設定を生成し(S48)、処理を終了する。具体的には、ライブラリ45は、設定情報と機能情報とシート機能情報とからシートに関する全てのパラメータを算出する。例えば、設定情報に含まれるシートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさが、シート機能情報に規定される最大値及び最小値の範囲内にあるか否かを判断し、範囲内にあれば設定情報に含まれるシートの幅、長さ、幅方向における余白の大きさ、長さ方向における余白の大きさをカスタム設定として生成する。さらに、設定情報に含まれる情報以外のシートに関するパラメータ(サーマルヘッドの熱レベル等)を算出する。ライブラリ45は、算出したパラメータをプリンタ11に設定させるための設定コマンドと、それに付帯するヘッダコマンド等をバイナリ形式で生成する。バイナリ形式の設定情報、機能情報、及びシート機能情報は、第2パラメータの一例である。ステップS48の処理は、第2パラメータ生成処理の一例である。
ライブラリ45は、図3に示されるように、生成したカスタム設定を本体モジュール43に受け渡す(S19)。ステップS19の処理は、第2パラメータ返信処理の一例である。
本体モジュール43は、カスタム設定を取得する(S19)。ステップS19の処理は、第2パラメータ取得処理の一例である。
一方、本体モジュール43は、ステップS16において取得した情報が設定ファイルであると判断すると(S16:設定ファイル)、ステップS17、S19の処理をスキップし、取得した設定ファイルを読み込んで(S20)、カスタム設定を取得する(S21)。
本体モジュール43は、ステップS19或いはステップS21で取得したカスタム設定を、APIなどを用いてコモンモジュール44に受け渡す(S22)。ステップS22の処理は、第2パラメータ受渡処理の一例である。
コモンモジュール44は、本体モジュール43から受け渡されたカスタム設定をメモリ32に記憶させて保存する(S23)。ステップS23の処理は、記憶処理の一例である。
一方、UIモジュール41は、上述の他のアプリケーションなどから画像データ及び印刷指示を受け付ける(S24)。ステップS24の処理は、印刷指示受付処理の一例である。そして、UIモジュール41は、受け付けた画像データ或いは画像データを示すパスを、本体モジュール43が有する第4API50の引数として、本体モジュール43に受け渡す(S25)。
本体モジュール43は、UIモジュール41から画像データを取得する(S25)。ステップS25の処理は、画像データ取得処理の一例である。そして、本体モジュール43は、取得した画像データを、コモンモジュール44が有するAPIなどを用いてコモンモジュール44に受け渡し、印刷データの生成をコモンモジュール44に指示する(S26)。コモンモジュール44に対する印刷データの生成指示は、第3指示の一例である。ステップS26の処理は、印刷データ生成指示処理の一例である。
コモンモジュール44は、受け渡された画像データに基づいて、印刷データを生成する(S27)。そして、コモンモジュール44は、生成した印刷データと、ステップS23で保存したカスタム設定とを含む送信データを生成する。送信データに含まれる印刷データ及びカスタム設定は、バイナリ形式のデータである。ステップS27の処理は、印刷データ生成処理の一例である。
コモンモジュール44は、生成した送信データ或いは送信データを示すパスを本体モジュール43に受け渡す(S28)。ステップS28の処理は、印刷データ返信処理の一例である。
本体モジュール43は、コモンモジュール44から送信データを取得する(S28)。ステップS28の処理は、印刷データ取得処理の一例である。そして、OS36が有する第1API38を呼び出し、取得した送信データをプリンタ11に送信することをOS36に指示し、OS36を通じて送信データをプリンタ11に送信する(S29)。印刷データを含む送信データをプリンタ11に送信することの指示は、第2指示の一例である。ステップS29の処理は、送信指示処理の一例である。
情報処理装置10から、印刷データ及びカスタム設定を受信したプリンタ11は、カスタム設定に従って、印刷データが示す画像をシートに印刷する(S30)。そして、プリンタ11は、OS36を通じて印刷結果を本体モジュール43に送信する(S31)。本体モジュール43は、印刷結果をUIモジュール41に送信する(S32)。
アプリケーション37は、印刷が終了したことを示す印刷結果を受け付けたことに応じて、処理を終了する。
[実施形態の作用効果]
プログラム42は、OS36を記述する第1言語に依存して複数種類が設計される本体モジュール43と、OS36を記述する第1言語に依存せずに一の種類のみが設計されるコモンモジュール44及びライブラリ45と、で構成される。プログラム42の開発者は、OS36の種類に応じて複数種類のコモンモジュール44及びライブラリ45を設計しなくてよいので、プログラム42の開発が容易になる。
また、プログラム42は、印刷データ及びカスタム設定を生成する。すなわち、印刷データを生成するプログラム42において、カスタム設定も生成することができる。
また、プログラム42は、生成したカスタム設定をメモリ32に記憶させて保存し(S23)、保存したカスタム設定を、生成した印刷データとともにプリンタ11に送信する(S29)。すなわち、プログラム42は、カスタム設定を印刷データとともにプリンタ11に送信することができる。
また、カスタム設定は、印刷データを生成するコモンモジュール44とは別のモジュールであるライブラリ45において生成される。すなわち、コモンモジュール44が印刷データを生成する処理には、カスタム設定を生成する処理が含まれない。そうすると、印刷データを生成する従来の処理をコモンモジュール44に実行させることができる。したがって、コモンモジュール44の設計が容易になる。その結果、プログラム42の開発が容易になる。
本体モジュール43は、設定情報を受け付けて設定情報をライブラリ45に受け渡すこともできるし、設定ファイルを受け付けて、受け付けた設定ファイルに含まれるバイナリ形式の設定情報、機能情報、及びシート機能情報をコモンモジュール44に受け渡すこともできる。したがって、UIモジュール41は、ユーザ入力を受け付けて、設定情報をプログラム42に受け渡すこともできるし、他のアプリケーションで生成された設定ファイルを受け付けて、設定ファイルをプログラム42に受け渡すこともできる。その結果、プログラム42は、アプリケーション37の機能を拡張させることができる。
本体モジュール43は、第1言語及び第2言語に対応したラッパ51を有しており、ラッパ51を介して情報やデータをコモンモジュール44やライブラリ45に受け渡す。したがって、本体モジュール43が、第2言語であるC++を直接読み込めないJAVAで記述されていても、本体モジュール43は、情報やデータをコモンモジュール44やライブラリ45に受け渡すことができる。
本体モジュール43は、UIモジュール41によって呼び出される第2API46を有している。そして、本体モジュール43は、第2API46の引数として、UIモジュール41から設定情報を取得する。したがって、本体モジュール43は、第2API46が指定するデータ形式で設定情報をUIモジュール41から取得することができる。
[変形例]
上述の実施形態では、アプリケーション37が、設定情報を受け付けて、カスタム設定と印刷データとを含む送信データを出力する例を説明した。しかしながら、アプリケーション37は、設定情報を受け付けて、カスタム設定を含む設定ファイルを出力してもよい。例えば、本体モジュール43は、保存形式要求APIをさらに有する。保存形式要求APIは、テキスト形式の設定情報を引数として要求するAPIである。本体モジュール43は、保存形式要求APIによって設定情報が受け渡されたことに応じて、ライブラリ45が生成したカスタム設定をファイル形式に変換して出力する。出力されたファイル形式のカスタム設定は、例えばメモリ32に記憶される。
上述の実施形態では、設定情報の例として、シートの幅や長さや余白の大きさが説明された。しかしながら、設定情報は、シートの幅や長さや余白の大きさ以外の情報であってもよい。
上述の実施形態では、カスタム設定が、設定情報、機能情報、及びシート機能情報を含む例を説明した。しかしながら、カスタム設定は、設定情報及び機能情報のみを含むものであってもよいし、設置情報及びシート機能情報を含むものであってもよいし、設定情報と、機能情報及びシート機能情報以外の情報と、を含むものであってもよい。
上述の実施形態では、カスタム設定及び印刷データを含む送信データがプリンタ11に送信される例を説明した。しかしながら、カスタム設定と、印刷設定とが、別個にプリンタ11に送信されてもよい。
上述の実施形態では、本体モジュール43が、第1シート種別API47及び第2シート種別API48の2種類のAPIを有する例を説明した。しかしながら、本体モジュール43は、第3シート種別APIや、第4シート種別APIなど、シートの種別に応じた数だけAPIを有していてもよい。
10・・・情報処理装置
11・・・プリンタ
23・・・通信I/F
25・・・タッチセンサ
38・・・第1API
41・・・UIモジュール
42・・・プログラム
43・・・本体モジュール

Claims (7)

  1. プリンタと通信を行う通信インタフェースと、ユーザインタフェースと、メモリと、を備える情報処理装置のコンピュータによって実行されるプログラムであって、前記メモリは、前記プリンタが印刷を実行するシートに関する第1パラメータを前記ユーザインタフェースを通じて受け付けるパラメータ受付処理を前記コンピュータに実行させる受付モジュールと、OSとを記憶可能であり、
    該プログラムは、上位モジュール及び下位モジュールを有しており、
    前記上位モジュールは、
    前記第1パラメータに応じた値である指定値を前記受付モジュールから受け付ける指定値受付処理と、
    取得した前記指定値に基づいて、前記シートに関する全てのパラメータである第2パラメータの生成指示である第1指示を前記下位モジュールに対して行う第2パラメータ生成指示処理と、
    前記第2パラメータを前記下位モジュールから取得する第2パラメータ取得処理と、
    取得した前記第2パラメータを前記プリンタに送信する第2指示を、前記OSが有する第1APIを呼び出すことにより、前記OSに対して行う送信指示処理と、を前記コンピュータに実行させ、
    前記下位モジュールは、
    前記第1指示を受け付けたことに応じて、前記指定値に基づいて前記第2パラメータを生成する第2パラメータ生成処理と、
    生成した前記第2パラメータを前記上位モジュールに取得させる第2パラメータ返信処理と、を前記コンピュータに実行させ、
    前記上位モジュールは、前記OSの前記第1APIを呼び出し可能な第1言語で記述され、
    前記下位モジュールは、前記上位モジュールが当該下位モジュールに前記第1指示を受け渡すことができる言語であって、前記上位モジュールが前記第2パラメータを前記下位モジュールから取得することができる第2言語で記述され
    前記上位モジュールは、
    前記プリンタが印刷を実行可能なデータである印刷データを生成する指示である第3指示を前記下位モジュールに対して行う印刷データ生成指示処理と、
    前記印刷データを前記下位モジュールから取得する印刷データ取得処理と、を前記コンピュータに実行させ、
    前記下位モジュールは、
    前記第3指示を受け付けたことに応じて、前記印刷データを生成する印刷データ生成処理と、
    生成した前記印刷データを前記上位モジュールに取得させる印刷データ返信処理と、を前記コンピュータに実行させ、
    前記下位モジュールは、第1下位モジュール及び第2下位モジュールを含み、
    前記第1下位モジュールは、前記印刷データ生成処理及び前記印刷データ返信処理を前記コンピュータに実行させ、
    前記第2下位モジュールは、前記第2パラメータ生成処理及び前記第2パラメータ返信処理を前記コンピュータに実行させ、
    前記上位モジュールは、前記第2下位モジュールから取得した前記第2パラメータを前記第1下位モジュールに受け渡す第2パラメータ受渡処理を前記コンピュータにさらに実行させ、
    前記第1下位モジュールは、受け渡された前記第2パラメータを前記メモリに記憶させる記憶処理を前記コンピュータに実行させる、プログラム。
  2. 前記下位モジュールは、前記第2パラメータを前記メモリに記憶させる記憶処理を前記コンピュータにさらに実行させ、
    前記上位モジュールは、
    印刷指示を受け付ける印刷指示受付処理を前記コンピュータにさらに実行させ、
    前記上位モジュールは、前記印刷指示を受け付けたことに応じて、前記送信指示処理において、前記メモリに記憶された前記第2パラメータ及び前記印刷データの送信を前記OSに指示する、請求項に記載のプログラム。
  3. 前記上位モジュールは、前記指定値受付処理と、前記第2パラメータを含む設定指示ファイルを前記受付モジュールから受け付けるファイル受付処理と、を前記コンピュータに実行させることが可能であり、
    前記指定値を受け付けたことに応じて、当該指定値を前記第2下位モジュールに受け渡し、前記第2パラメータ取得処理において、前記第2下位モジュールが生成した前記第2パラメータを取得し、取得した前記第2パラメータを前記第1下位モジュールに受け渡し、
    前記ファイル受付処理において前記設定指示ファイルを受け付けたことに応じて、受け付けた前記設定指示ファイルに含まれる前記第2パラメータを前記第1下位モジュールに受け渡す、請求項1または2に記載のプログラム。
  4. 前記上位モジュールは、前記第1言語及び前記第2言語に対応したラッパを有する請求項1からのいずれかに記載のプログラム。
  5. 前記上位モジュールは、前記受付モジュールによって呼び出される第2APIを有しており、前記指定値受付処理において、前記第2APIの引数として前記指定値を受け付ける、請求項1からのいずれかに記載のプログラム。
  6. 請求項1からのいずれかに記載のプログラム及び前記受付モジュールを備えるアプリケーション。
  7. プリンタと通信回線を通じて接続される通信インタフェースと、
    ユーザインタフェースと、
    コンピュータと、
    メモリと、
    前記メモリに記憶され、前記コンピュータによって実行されるOS、プログラム、及び受付モジュールと、を備える情報処理装置であって、
    前記受付モジュールは、前記プリンタが印刷を実行するシートに関する第1パラメータを前記ユーザインタフェースを通じて受け付けるパラメータ受付処理を前記コンピュータに実行させ、
    前記プログラムは、上位モジュール及び下位モジュールを有しており、
    前記上位モジュールは、
    前記第1パラメータに応じた値である指定値を前記受付モジュールから受け付ける指定値受付処理と、
    取得した前記指定値に基づいて、前記シートに関する全てのパラメータである第2パラメータの生成指示である第1指示を前記下位モジュールに対して行う第2パラメータ生成指示処理と、
    前記第2パラメータを前記下位モジュールから取得する第2パラメータ取得処理と、
    取得した前記第2パラメータを前記プリンタに送信する第2指示を、前記OSが有する第1APIを呼び出すことにより、前記OSに対して行う送信指示処理と、を前記コンピュータに実行させ、
    前記下位モジュールは、
    前記第1指示を受け付けたことに応じて、前記指定値に基づいて前記第2パラメータを生成する第2パラメータ生成処理と、
    生成した前記第2パラメータを前記上位モジュールに取得させる第2パラメータ返信処理と、を前記コンピュータに実行させ、
    前記上位モジュールは、前記OSの前記第1APIを呼び出し可能な第1言語で記述され、
    前記下位モジュールは、前記上位モジュールが当該下位モジュールに前記第1指示を受け渡すことができる言語であって、前記上位モジュールが前記第2パラメータを前記下位モジュールから取得することができる第2言語で記述され
    前記上位モジュールは、
    前記プリンタが印刷を実行可能なデータである印刷データを生成する指示である第3指示を前記下位モジュールに対して行う印刷データ生成指示処理と、
    前記印刷データを前記下位モジュールから取得する印刷データ取得処理と、を前記コンピュータに実行させ、
    前記下位モジュールは、
    前記第3指示を受け付けたことに応じて、前記印刷データを生成する印刷データ生成処理と、
    生成した前記印刷データを前記上位モジュールに取得させる印刷データ返信処理と、を前記コンピュータに実行させ、
    前記下位モジュールは、第1下位モジュール及び第2下位モジュールを含み、
    前記第1下位モジュールは、前記印刷データ生成処理及び前記印刷データ返信処理を前記コンピュータに実行させ、
    前記第2下位モジュールは、前記第2パラメータ生成処理及び前記第2パラメータ返信処理を前記コンピュータに実行させ、
    前記上位モジュールは、前記第2下位モジュールから取得した前記第2パラメータを前記第1下位モジュールに受け渡す第2パラメータ受渡処理を前記コンピュータにさらに実行させ、
    前記第1下位モジュールは、受け渡された前記第2パラメータを前記メモリに記憶させる記憶処理を前記コンピュータに実行させる、情報処理装置。
JP2019033577A 2019-02-27 2019-02-27 プログラム、アプリケーション、情報処理装置 Active JP7263837B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019033577A JP7263837B2 (ja) 2019-02-27 2019-02-27 プログラム、アプリケーション、情報処理装置
US16/655,307 US11061686B2 (en) 2019-02-27 2019-10-17 Non-transitory computer readable storage medium storing set of program instructions for controlling information processing apparatus to function as higher-level module and lower-level module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019033577A JP7263837B2 (ja) 2019-02-27 2019-02-27 プログラム、アプリケーション、情報処理装置

Publications (2)

Publication Number Publication Date
JP2020140289A JP2020140289A (ja) 2020-09-03
JP7263837B2 true JP7263837B2 (ja) 2023-04-25

Family

ID=72141582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019033577A Active JP7263837B2 (ja) 2019-02-27 2019-02-27 プログラム、アプリケーション、情報処理装置

Country Status (2)

Country Link
US (1) US11061686B2 (ja)
JP (1) JP7263837B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050687A (ja) 2001-08-07 2003-02-21 Canon Inc 印刷制御装置、印刷システム、印刷制御方法、コンピュータ読み取り可能な記録媒体、及びコンピュータプログラム
JP2016014916A (ja) 2014-06-30 2016-01-28 キヤノン株式会社 情報処理装置、情報処理方法、プログラム

Family Cites Families (12)

* 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
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
JP4455397B2 (ja) 2005-04-26 2010-04-21 キヤノン株式会社 情報処理装置及びその制御方法
JP4910857B2 (ja) 2007-04-19 2012-04-04 ブラザー工業株式会社 印刷システム、印刷データ作成装置及びコンピュータプログラム
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050687A (ja) 2001-08-07 2003-02-21 Canon Inc 印刷制御装置、印刷システム、印刷制御方法、コンピュータ読み取り可能な記録媒体、及びコンピュータプログラム
JP2016014916A (ja) 2014-06-30 2016-01-28 キヤノン株式会社 情報処理装置、情報処理方法、プログラム

Also Published As

Publication number Publication date
US20200272477A1 (en) 2020-08-27
US11061686B2 (en) 2021-07-13
JP2020140289A (ja) 2020-09-03

Similar Documents

Publication Publication Date Title
US20110058199A1 (en) Printer driver, information processing apparatus, and program product storing printer driver therein
KR20120134913A (ko) 화상 형성 장치의 어플리케이션을 개발하는 방법 및 장치
JP5361358B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
US20110145722A1 (en) Image forming apparatus and method for providing local user interface thereof
US20100238469A1 (en) Printing Apparatus and Recording Medium for Computer to Read
US9069758B2 (en) Communication device suppying image data including requested information in first and second languages
JP7263837B2 (ja) プログラム、アプリケーション、情報処理装置
US20090210785A1 (en) Device, Method and Computer Readable Medium for Page Description Language Processing
JP7234688B2 (ja) プログラム、アプリケーション、情報処理装置
JP7234687B2 (ja) モジュール及びプログラム
JP7290073B2 (ja) プログラム
JP7306088B2 (ja) プログラム群
JP2005085052A (ja) 携帯情報端末、印刷方法および印刷用プログラム
US11435965B2 (en) Storage medium storing program for converting first data into second data to be inputted to printer
US10481844B2 (en) Data communication method and information processing apparatus having multiple print settings
US20190258436A1 (en) Information processing apparatus, control method of information processing apparatus, and program
US9329809B2 (en) Systems and methods for hierarchical source file conversion and output using a base file comprising display information, library function, display message, and tag defining information necessity
JP2017120518A (ja) ソフトウェア開発プログラム及びソフトウェア開発方法
JP2020144523A (ja) プログラム
JP7495731B2 (ja) 加工ジョブ生成装置およびシート加工システム
US12026566B2 (en) Image forming apparatus capable of printing image appropriate to sheet to be fed, method of controlling image forming apparatus, and storage medium
US11755259B2 (en) Information processing apparatus having predetermined screen display, method of controlling information processing apparatus, and storage medium
US20150169264A1 (en) Image forming apparatus and display device
CN115113830A (zh) 信息处理***、信息处理装置、信息处理方法和存储介质
JP2013168112A (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: 20221130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R150 Certificate of patent or registration of utility model

Ref document number: 7263837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150