JP2019125120A - プログラム及び通信モジュール - Google Patents

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

Info

Publication number
JP2019125120A
JP2019125120A JP2018004617A JP2018004617A JP2019125120A JP 2019125120 A JP2019125120 A JP 2019125120A JP 2018004617 A JP2018004617 A JP 2018004617A JP 2018004617 A JP2018004617 A JP 2018004617A JP 2019125120 A JP2019125120 A JP 2019125120A
Authority
JP
Japan
Prior art keywords
page
module
job
instruction
print data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018004617A
Other languages
English (en)
Other versions
JP7006288B2 (ja
Inventor
優 松尾
Masaru Matsuo
優 松尾
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 JP2018004617A priority Critical patent/JP7006288B2/ja
Priority to US16/249,277 priority patent/US10908852B2/en
Publication of JP2019125120A publication Critical patent/JP2019125120A/ja
Application granted granted Critical
Publication of JP7006288B2 publication Critical patent/JP7006288B2/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/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • 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/1285Remote printer device, e.g. being remote from client or server
    • 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
    • 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/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • 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

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)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】ページ単位の印刷データを処理してプリンタに送信可能なプログラムを提供する。【解決手段】プログラムは、UIモジュール61と、画像作成モジュール62と、プリンタ通信モジュール63とを備える。UIモジュール61がプリンタ通信モジュール63に印刷ジョブ作成指示を入力すると(S14)、プリンタ通信モジュール63は、印刷ジョブを作成し(S17)、作成した印刷ジョブをUIモジュール61に受け渡す(S18)。プリンタ通信モジュール63は、ジョブページを作成し(S20)、UIモジュール61に受け渡す(S21)。ジョブページは、ページ印刷データを要求されると画像作成関数を呼び出す。ジョブページを受け取ったUIモジュール61は、ジョブ開始指示をプリンタ通信モジュール63に受け渡す(S22)。ジョブ開始指示を受け取ったプリンタ通信モジュール63は、ジョブページを印刷ジョブに登録する(S23)。【選択図】図2

Description

本発明は、印刷データを出力するプログラムに関する。
特許文献1には、印刷データを生成する印刷データ生成部と、印刷データ生成部で生成された印刷データを受け取って印刷装置に送信するSDK(Software Development Kitの略)とを備えるアプリケーションが記載されている。
特開2017−151743号公報
しかしながら、特許文献1では、どのようにしてページ単位の印刷データを処理しているかの開示が不十分である。本発明の目的は、ページ単位の印刷データを処理してプリンタに送信可能なプログラムを提供することにある。
本明細書では様々な開示を行う。開示例の一例であるプログラムは、ネットワークインタフェースと、ユーザインタフェースと、コンピュータと、を備えた情報処理装置の前記コンピュータによって実行される。前記プログラムは、第1モジュール及び第2モジュールを有する。前記第1モジュールは、前記ユーザインタフェースを通じて印刷指示を受け付ける受付手段と、前記受付手段で前記印刷指示を受け付けたことに応じて、印刷ジョブの作成を前記第2モジュールに指示する第1指示手段と、前記第1指示手段によって前記第2モジュールが作成した前記印刷ジョブに対して、複数のジョブページの作成を指示する第2指示手段と、前記印刷指示で指示された画像データから、1頁ごとの印刷データであるページ印刷データを生成する生成手段と、前記生成手段で生成した前記ページ印刷データを示すデータを前記第2モジュールに前記ジョブページごとに受け渡す第1受渡手段と、として前記コンピュータを機能させる。前記第2モジュールは、前記第1指示手段で指示されたことに応じて、前記印刷ジョブを作成する第1作成手段と、前記第2指示手段で指示されたことに応じて、前記印刷ジョブに対して複数の前記ジョブページを作成する第2作成手段と、前記第2作成手段で作成した前記ジョブページごとに、前記第1受渡手段で受け渡されたデータから前記ページ印刷データを取得する第1取得手段と、前記第1取得手段で取得した前記ページ印刷データ、及び、前記プリンタに印刷を実行させる印刷命令を含む第1指示データを、前記ページ印刷データを取得するごとに出力する第1出力手段と、として前記コンピュータを機能させる。
第2モジュールは、印刷ジョブに対して複数のジョブページを作成し、作成した前記ジョブページごとに、前記第1受渡手段で受け渡されたデータからページ印刷データを取得するので、ページ単位の印刷データを処理して、プリンタに送信することができる。
開示例の他の1つである通信モジュールは、ネットワークインタフェースと、ユーザインタフェースと、コンピュータと、を備えた情報処理装置の前記コンピュータによって実行される。前記通信モジュールは、前記コンピュータによって実行されるUIモジュールから受け付けた指示にしたがって印刷ジョブを作成する第1作成手段と、前記UIモジュールから受け付けた指示にしたがってジョブページを作成する第2作成手段と、前記第2作成手段で作成した前記ジョブページごとに、前記UIモジュールから受け渡されたデータが示すページ印刷データを取得する取得手段と、前記取得手段で取得した前記ページ印刷データ、及び、前記プリンタに印刷を実行させる印刷命令を含む指示データを、前記ページ印刷データを取得するごとに出力する出力手段と、として前記コンピュータを機能させる。
図1は、本実施形態に係るシステム10の模式的な構成図である。 図2は、プログラム47が実行する処理のフローチャートの一部である。 図3は、図2に示されるフローチャートの続きを示すフローチャートである。 図4は、図3に示されるフローチャートの続きを示すフローチャートである。 図5は、変形例に係るプログラム47が実行する処理のフローチャートの一部である。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
本実施形態では、図1に示されるシステム10を説明する。システム10は、プリンタ11と、PC12とを備える。プリンタ11とPC12とは、通信ネットワーク13にそれぞれ接続されており、相互に通信可能である。PC12は、情報処理装置の一例である。情報処理装置は、パーソナルコンピュータや、スマートフォンなどの携帯端末や、タブレットなどであってよい。以下では、PC12がパーソナルコンピュータである例を説明する。
通信ネットワーク13は、例えば、有線LAN、無線LAN、WAN、或いはこれらの組み合わせであってもよい。または、プリンタ11とPC12とは、USBケーブル等によって接続されていてもよい。通信ネットワーク13には、複数のプリンタ11が接続されていてもよい。
プリンタ11は、いわゆるラベルプリンタである。プリンタ11は、印刷媒体に印刷を行い、また、印刷した印刷媒体を切断する。ラミネートフィルムなどからなるテープ、ラベル、ロール紙などは、印刷媒体の一例であってよい。
プリンタ11は、印刷エンジン21と、ネットワークインタフェース22(以下、ネットワークI/F22と記載する)と、ディスプレイ23と、コントローラ31とを備える。印刷エンジン21、ネットワークI/F22、及びディスプレイ23は、コントローラ31の通信バス38と接続されており、コントローラ31と相互に通信可能である。
印刷エンジン21は、テープを搬送する搬送装置と、搬送装置によって搬送されたテープに印字を行う印刷装置と、テープを切断する切断装置とを備える。
搬送装置は、例えば、モータによって回転駆動される搬送ローラを有する。モータの駆動は、コントローラ31によって制御される。コントローラ31は、例えば、モータの駆動を制御することにより、テープの搬送タイミングや搬送量を制御する。
印刷装置は、例えば、複数の発熱素子を有するサーマルヘッドを有する。コントローラ31の制御によって複数の発熱素子が選択的に発熱することにより、印刷装置は、テープに印刷を行う。
切断装置は、例えば、ソレノイドによって動作されるカッターを有する。コントローラ31は、制御信号を出力することにより、カッターにテープを切断させる。
なお、図1では、モータや発熱素子やソレノイドや駆動回路の図示を省略した図としている。
ネットワークI/F22は、通信ネットワーク13と接続されている。コントローラ31は、ネットワークI/F22を通じて、情報を送受信する。ネットワークI/F22の具体的な通信手順は特に限定されないが、例えば、USBケーブルを着脱可能なUSB−I/FをネットワークI/F22として採用することができる。また、Wi−Fi(登録商標)−I/FをネットワークI/F22として採用してもよい。
ディスプレイ23は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示画面を備える。
コントローラ31は、CPU32と、メモリ33と、通信バス38とを備える。CPU32及びメモリ33は、通信バス38と接続されている。通信バス38は、印刷エンジン21の駆動回路等と、ネットワークI/F22と、ディスプレイ23と接続されている。CPU32は、通信バス38を通じて印刷エンジン21、ネットワークI/F22、及びディスプレイ23と接続されている。
メモリ33は、プログラム記憶領域34及びデータ記憶領域35を有している。プログラム記憶領域34は、OS36や装置プログラム37等のプログラムを記憶している。データ記憶領域35は、プログラムの実行に必要なデータを記憶する。
OS36は、プリンタ11の基本プログラムである。装置プログラム37は、OS36と協働して、印刷エンジン21に制御信号を出力して印刷エンジン21の動作を制御し、ディスプレイ23に画像信号を出力してディスプレイ23に画像を表示させ、ネットワークI/F22を通じたPC12などの外部装置との通信を制御するプログラムである。装置プログラム37は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。
プログラム記憶領域34は、例えばROMである。データ記憶領域35は、ROMやRAMやEEPROMや、HDDや、プリンタ11に着脱されるUSBメモリ等の可搬記憶媒体や、CPU32が備えるバッファ等である。
メモリ33は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するPC12のメモリ43についても同様である。
PC12は、コントローラ41と、ディスプレイ51と、ユーザインタフェース52(以下、ユーザI/F52と記載する)と、ネットワークインタフェース53(以下、ネットワークI/F53と記載する)と、通信バス48と、を備える。
ディスプレイ51、ユーザI/F52、及びネットワークI/F53は、コントローラ41の通信バス48に接続されている。ディスプレイ51、ネットワークインタフェース53、及び通信バス48の構成は、プリンタ11のディスプレイ23、ネットワークI/F22、及び通信バス38の構成と同様である。
ユーザI/F52は、キーボードやマウスである。ユーザI/F52は、ユーザの指示に応じた操作信号の入力を受け付ける。操作信号は、通信バス48を通じてコントローラ41に入力される。
コントローラ41は、CPU42と、メモリ43と、通信バス48とを備える。CPU42は、コンピュータの一例である。
メモリ43は、プログラム記憶領域44及びデータ記憶領域45を有している。プログラム記憶領域44は、OS46やプログラム47等のプログラムを記憶している。データ記憶領域45は、プログラムの実行に必要なデータを記憶する。
OS46は、PC12の基本プログラムである。OS46は、例えば、MacOS(登録商標)、Windows(登録商標)、Linux(登録商標)、Android(登録商標)OS等のオペレーティングシステムである。OS46は、PC12にインストールされた複数のプログラムを並行してCPU42に実行させることができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。
また、OS46は、印刷モジュールを備える。例えば、OS46がMacOS(登録商標)である場合、OS46は、印刷モジュールとして、AirPrint(登録商標)モジュールを備える。
プログラム47は、印刷データを生成し、生成した印刷データをOS46の印刷モジュールに受け渡し、ネットワークI/F53を通じてプリンタ11に送信させるプログラムである。プログラム47は、図2に示されるUIモジュール61と、画像作成モジュール62と、プリンタ通信モジュール63とを有する。UIモジュール61、画像作成モジュール62、及びプリンタ通信モジュール63は、OS46によって、仮想的に並行して実行される。なお、プログラム47は、生成した印刷データをOS46を介さずにネットワークI/F53を通じてプリンタ11に直接送信していてもよい。
UIモジュール61は、入力画面をディスプレイ51に表示させ、ユーザI/F52を用いたユーザの指示の入力を受け付け、受け付けたユーザの指示にしたがって、画像作成モジュール62に印刷データ生成指示を出力し、また、プリンタ通信モジュール63に印刷ジョブ作成指示などを出力するプログラムである。UIモジュール61は、第3モジュールの一例である。
画像作成モジュール62は、UIモジュール61からの指示にしたがって、ページ印刷データを生成するプログラムである。画像作成モジュール62は、第4モジュールの一例である。UIモジュール61及び画像作成モジュール62は、第1モジュールの一例である。
プリンタ通信モジュール63は、UIモジュール61からの指示にしたがって、プリンタ11に入力される印刷指示データを生成して出力するプログラムである。印刷指示データは、初期化コマンドや、印刷コマンド及びページ印刷データや、終了コマンドを含む。プリンタ通信モジュール63は、第2モジュール及び通信モジュールの一例である。印刷指示データは、第1指示データ及び指示データの一例である。
初期化コマンドは、プリンタ11に初期化処理を実行させるコマンドである。初期化処理は、テープへの印刷を実行する前に、プリンタ11が実行する処理である。例えば、プリンタ11は、初期化処理において、印刷エンジン21に制御信号を出力し、テープを所定の長さだけ搬送した後、カッターにテープを切断させる。この初期化処理により、テープの端から印刷開始位置までの距離が常に一定に保たれる。なお、初期化処理には、上述の処理の他、印刷エンジン21が有するスイッチングレギュレータなどの駆動回路を駆動させる処理などが含まれていてもよい。初期化コマンドは、初期化命令及び第2指示データの一例である。
印刷コマンドは、ページ印刷データが示す画像をテープに印刷することをプリンタ11に指示するコマンドである。印刷コマンドは、印刷命令の一例である。
終了コマンドは、例えば、カッターを用いてテープを切断することをプリンタ11に指示し、また、スイッチングレギュレータなどの駆動回路の駆動の停止を指示するコマンドである。終了コマンドは、終了命令の一例である
プリンタ通信モジュール63は、印刷指示データを生成するプロセスとして、UIモジュール61から入力された印刷ジョブ作成指示にしたがって印刷ジョブを作成する。また、プリンタ通信モジュール63は、UIモジュール61から入力されたジョブページ作成指示にしたがってジョブページを作成する。プリンタ通信モジュール63は、印刷ジョブを作成するためのジョブクラスと、ジョブページを作成するためのジョブページクラスとを有する。クラスとは、クラスベースのオブジェクト指向においてオブジェクトの設計図にあたるものであり、抽象データ型の一つであるともいえる。C++言語にて規定されるクラスが、その一例である。印刷ジョブ及びジョブページは、クラスから生成されるインスタンスである。すなわち、プリンタ通信モジュール63は、印刷ジョブのインスタンスを作成する機能と、ジョブページのインスタンスを作成する機能とを有する。また、インスタンスは、オブジェクトとも呼ばれる。
ページクラスは、ポリモーフィズムな定義をされたクラスである。そのため、ページクラスからは、第1クラスのジョブページのインスタンスを生成することも、第2クラスのジョブページのインスタンスを作成することもできる。第1クラスのジョブページのインスタンスは、ページ印刷データの出力を要求されると画像作成関数を呼び出し、画像作成関数が作成したページ印刷データを、画像作成関数の戻り値として取得し、取得したページ印刷データを出力する、というインスタンスである(以降、第1のジョブページとも記載する)。第2クラスのジョブページのインスタンスは、ページ印刷データの出力を要求されると、事前に記憶されているページ印刷データを出力するインスタンスである(以降、第2のジョブページとも記載する)。
プリンタ通信モジュール63は、UIモジュール61からジョブページ作成指示を受け付けると、ジョブページを作成する。ジョブページ作成指示には、第1のジョブページを作成するか、第2のジョブページを生成するかの引数が含まれる。プリンタ通信モジュール63は、ジョブページ作成指示の引数にしたがってジョブページを作成し、作成したジョブページを、作成済みの印刷ジョブに登録する。
第1のジョブページは、ユーザが印刷を指示した画像データを後述の画像作成モジュール62でページ印刷データに変換する場合に作成される。第2のジョブページは、ユーザが印刷を指示した画像データから生成されたページ印刷データが印刷指示の時点でメモリ43に既に記憶されている場合に作成される。すなわち、ユーザが印刷を指示した画像データを画像作成モジュール62でページ印刷データに変換する場合に第1のジョブページが作成され、ユーザが印刷を指示した画像データから生成されたページ印刷データが印刷指示の時点でメモリ43に既に記憶されている場合に第2のジョブページが作成される。
プリンタ通信モジュール63は、UIモジュール61からジョブ開始指示を受け付けると、作成した第1のジョブページや第2のジョブページを印刷ジョブに登録する。
上述のように、プリンタ通信モジュール63は、UIモジュール61から入力されたジョブページ作成指示に応じて、ページ印刷データの出力を要求されると画像作成関数を呼び出す第1のジョブページと、ページ印刷データの出力を要求されるとページ印刷データを出力する第2のジョブページとの2種類のジョブページを印刷ジョブに登録することができる。
一方、UIモジュール61は、ユーザが印刷を指示した画像データに基づいて生成されるページ印刷データが印刷指示の時点でメモリ43に既に記憶されているか否かに応じて、第1のジョブページや第2のジョブページの作成を指示するジョブページ作成指示を生成して出力する。
以下、ユーザが印刷指示を入力したときに、プログラム47(UIモジュール61、画像作成モジュール62、及びプリンタ通信モジュール63)が実行する処理について、図2から図4を参照して説明する。なお、本実施形態では、印刷指示が入力された時点で、ユーザが指定した画像データに基づいて生成されたページ印刷データがメモリ43に予め記憶されていない場合にプログラム47が実行する処理について説明する。印刷指示が入力された時点で、ユーザが指定した画像データに基づいて生成されたページ印刷データがメモリ43に既に記憶されている場合にプログラム47が実行する処理については、後述の変形例で説明する。
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPUの処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPUの処理を表している。CPUによる処理は、OSなどのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPUが要求することなくデータを受信するという処理も、「CPUがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
また、プログラムに記述された命令に従ったCPUの処理を、省略した文言で記載することがある。例えば、「CPU42が行う」「プログラム47が行う」「コントローラ41が行う」「PC12が行う」のように記載することがある。CPU31についても同様である。
また、CPUによる、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPUによる、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない
プログラム47のUIモジュール61は、ユーザI/F52を用いたユーザの指示の入力によって起動され(S11)、或いは、OS46からの指示にしたがって起動される(S11)。例えば、不図示の文書プログラムにおいて印刷指示がユーザによって入力されると、OS46は、UIモジュール61を起動させる。
UIモジュール61は、起動されると、入力画面をディスプレイ51に表示させ(S12)、ユーザの印刷指示の入力を受け付ける(S13)。UIモジュール61が印刷指示を受け付けるステップS13の処理は、受付手段の一例である。UIモジュール61が入力画面をディスプレイ51に表示させるステップS12の処理は、表示手段の一例である。
UIモジュール61は、印刷指示の入力を受け付けると(S13)、印刷ジョブ作成指示をプリンタ通信モジュール63に入力する(S14)。印刷ジョブ作成指示は、プリンタ通信モジュール63に印刷ジョブの作成を指示する命令である。UIモジュール61が印刷ジョブ作成指示をプリンタ通信モジュール63に入力するステップS14の処理は、第1指示手段の一例である。
また、UIモジュール61は、印刷指示の入力を受け付けると(S13)、印刷データ生成指示を画像作成モジュール62に入力する(S15)。印刷データ生成指示は、印刷対象とする画像データに基く一乃至複数のページ印刷データを生成することを画像作成モジュール62に指示する命令である。
画像データは、例えば、ユーザがUIモジュール61を用いて入力した文字列の画像データや、UIモジュール61を用いてユーザが指定したスタンプや文字列の画像データであってもよい。また、画像データは、UIモジュールの機能を用いて描画されたラベルの画像データであってもよい。また、画像データは、UIモジュール61の指示にしたがって画像作成モジュール62が作成した画像データであってもよい。また、画像データは、不図示の文書プログラムや作画プログラムによって作成された文書を示す画像データや絵や図形などを示す画像データであってもよい。
ページ印刷データとは、1ページごとの印刷データを意味する。なお、UIモジュール61は、ステップS15をステップS14の前に実行してもよい。UIモジュール61が画像作成モジュール62に印刷データ生成指示を入力するステップS15の処理は、第3指示手段の一例である。
印刷データ生成指示の入力を受け付けた画像作成モジュール62は、印刷データ生成指示が示す画像データを、印刷データ生成指示が示す順番で、ページ印刷データに変換して生成する。画像作成モジュール62は、ページ印刷データを生成すると、生成したページ印刷データをUIモジュール61に受け渡す。すなわち、画像作成モジュール62は、ページ印刷データを生成するごとに、生成したページ印刷データをUIモジュール61に順に受け渡す(S28)。画像作成モジュール62が画像データからページ印刷データを生成するステップS16の処理は、生成手段の一例である。画像作成モジュール62がUIモジュール61にページ印刷データを受け渡すステップS28の処理は、第2受渡手段の一例である。また、UIモジュール61が画像作成モジュール62からページ印刷データを受け取るステップS28の処理は、第2取得手段の一例である。
一方、印刷ジョブ作成指示を受け付けたプリンタ通信モジュール63は、印刷ジョブを作成し(S17)、作成した印刷ジョブをUIモジュール61に受け渡す(S18)。プリンタ通信モジュール63が印刷ジョブを作成するステップS17の処理は、第1作成手段の一例である。プリンタ通信モジュール63が印刷ジョブをUIモジュール61に受け渡すステップS18の処理は、第2要求手段の一例である。
印刷ジョブを受け渡されたUIモジュール61は、第1のジョブページの作成を指示するジョブページ作成指示をプリンタ通信モジュール63に入力する(S19)。ジョブページ作成指示を受け付けたプリンタ通信モジュール63は、ジョブページ作成指示の引数が示す種類の一乃至複数のジョブページを作成する(S20)。作成されるジョブページの数は、ページ印刷データの数と同数である。すなわち、一のページ印刷データに対して、一のジョブページが作成される。
以下では、ページ印刷データの出力を要求されると画像作成関数を呼び出す複数の第1のジョブページが作成された場合について説明する。UIモジュール61がジョブページ作成指示をプリンタ通信モジュール63に入力するステップS19の処理は、第2指示手段の一例である。プリンタ通信モジュール63がジョブページを作成するステップS20の処理は、第2作成手段の一例である。
プリンタ通信モジュール63は、作成した第1のジョブページをUIモジュール61に受け渡す(S21)。第1のジョブページを受け渡されたUIモジュール61は、ジョブ開始指示をプリンタ通信モジュール63に入力する。ジョブ開始指示には、ステップS19で受け渡された第1のジョブページが引数として含まれる。ジョブ開始指示が入力されたプリンタ通信モジュール63は、ジョブ開始指示の引数の複数の第1のジョブページを、当該引数が示す順番で、ステップS17で作成した印刷ジョブに登録する(S23)。
次に、プリンタ通信モジュール63は、初期化コマンドを出力する(S24)。出力された初期化コマンドは、上述の印刷モジュールによって、ネットワークI/F53、22を通じてプリンタ11に入力される。初期化コマンドを入力されたプリンタ11は、上述の初期化処理を実行する。プリンタ通信モジュール63が初期化コマンドを出力するステップS24の処理は、第2出力手段の一例である。
次に、プリンタ通信モジュール63は、作成した印刷ジョブ(S17)に登録された複数の第1のジョブページ(S23)のうち、最初の第1のジョブページを処理する(S25)。詳しく説明すると、作成された印刷ジョブは、登録された第1のジョブページにページ印刷データの出力を要求する(S26)。ページ印刷データの出力を要求された第1のジョブページは、画像作成関数を呼び出す(S27)。第1のジョブページが画像作成関数を呼び出すステップS27の処理は、第1要求手段の一例である。
一方、UIモジュール61は、ステップS28で受け渡されたページ印刷データをファイルに保存する(S29)。次に、UIモジュール61は、ファイルに保存したページ印刷データを示すパスを、ステップS27で呼び出された画像作成関数の戻り値としてプリンタ通信モジュール63に受け渡す(S30)。プリンタ通信モジュール63にパスを受け渡すステップS30の処理は、第1受渡手段の一例である。パスは、ページ印刷データを示すデータの一例である。
パスを受け渡された第1のジョブページは、パスが示すファイルを展開してページ印刷データを取得し(S31)、印刷ジョブに受け渡す。すなわち、プリンタ通信モジュール63は、1ページの印刷データであるページ印刷データを取得する。プリンタ通信モジュール63がページ印刷データを取得するステップS31の処理は、第1取得手段及び取得手段の一例である。
ページ印刷データを取得したプリンタ通信モジュール63は、ページ印刷データ及び印刷コマンドを含む印刷指示データを生成し、生成した印刷指示データを出力する(S32)。出力された印刷指示データは、上述の印刷モジュールによって、ネットワークI/F53、22を通じてプリンタ11に入力される。印刷指示データを入力されたプリンタ11は、印刷指示データに含まれるページ印刷データを、印刷指示データに含まれる印刷コマンドにしたがって、テープに印刷する。プリンタ通信モジュール63が印刷指示データを出力するステップS32の処理は、第1出力手段及び出力手段の一例である。
次に、プリンタ通信モジュール63は、削除関数を呼び出す(S33)。プリンタ通信モジュール63は、呼び出した削除関数の引数として、ステップS31で取得したページ印刷データに付与された識別子をUIモジュール61に受け渡す(S34)。
識別子を受け渡されたUIモジュール61は、識別子が示すページ印刷データをファイルから削除する(S35)。
プリンタ通信モジュール63は、最初のジョブページと同様にして(S25〜S35)、印刷ジョブに登録された複数のジョブページを登録順に処理する(S36、S37)。なお、ステップS36、S37の処理において、第1のジョブページは、先に処理された第1のジョブページがUIモジュールからパスを受け渡されたことに応じて、画像作成関数を呼び出す。すなわち、プリンタ通信モジュール63(第1のジョブページ)は、UIモジュール61と同期して画像作成関数を呼び出す。
プリンタ通信モジュール63は、作成した印刷ジョブ(S17)に登録された最後のジョブページを処理すると(S37)、終了コマンドを出力する(S38)。出力された終了コマンドは、上述の印刷モジュールによって、ネットワークI/F53、22を通じてプリンタ11に入力される。終了コマンドを入力されたプリンタ11は、印刷エンジン21のカッターを動作させてテープを切断する。プリンタ通信モジュール63が終了コマンドを出力するステップS38の処理は、第3出力手段の一例である。
[実施形態の効果]
画像作成モジュール62が生成したページ印刷データは、生成されるごとに、プリンタ通信モジュール63に受け渡される。プリンタ通信モジュール63は、ページ印刷データを受け渡されるごとに、受け渡されたページ印刷データを含む印刷指示データを出力してプリンタ11に送信する。したがって、画像作成モジュール62が全ての画像データを印刷データに変換した後に、全てのページ印刷データを含む印刷指示データがプリンタ11に送信される場合に比べ、ユーザが印刷の実行をPC12に指示してから、プリンタ11が印刷を開始するまでに要する時間や最初の頁(1頁目)の印刷が終了するまでの時間が短くなる。
UIモジュール61は、第1のジョブページが関数を呼び出したことに応じて、ページ印刷データを示すパスを第1のジョブページに受け渡す。第1のジョブページは、印刷ジョブの要求に応じて関数を呼び出す。したがって、プリンタ通信モジュール63がページ印刷データを処理できない状態のときにページ印刷データを示すパスがプリンタ通信モジュール63に受け渡されることが防止される。
また、本実施形態では、第1のジョブページは、関数を呼び出すことによってページ印刷データを取得することができる。
また、本実施形態では、プリンタ通信モジュール63は、ページ印刷データを含む最初の印刷指示データを出力する前に初期化コマンドを出力し、最後の印刷指示データを出力すると、終了コマンドを出力する。したがって、1頁の印刷が実行されるごとに、プリンタ11が初期化処理を実行することが防止される。詳しく説明すると、第1のジョブページを有さない従来のプログラムでは、複数の画像(複数頁)をプリンタに印刷させる場合、全てのページ印刷データをまとめてプリンタに送信するか、1頁ごとにページ印刷データをプリンタに送信するかの手段を取りえた。全てのページ印刷データをまとめてプリンタに送信すると、ユーザが印刷の実行をPCに指示してから、プリンタが印刷を開始するまでに要する時間が長くなる。一方、1頁ごとにページ印刷データをプリンタに送信すると、プリンタは、1頁の印刷を行うごとに初期化処理を実行してしまう。1頁の印刷を行うごとに初期化処理が実行されると、1頁の印刷を行うごとにテープが所定の長さだけ引き出されて切断されてしまい、テープが無駄に消費されてしまう。本実施形態では、最後の印刷指示データが出力されると、終了コマンドが出力されるので、1頁の印刷が実行されるごとにプリンタ11が初期化処理を実行することが防止される。その結果、テープが無駄に消費されることが防止される。
また、本実施形態では、第1のジョブページは、UIモジュール61に同期して画像作成関数を呼び出し、ページ印刷データを取得することができる。
また、本実施形態では、プリンタ通信モジュール63は、プリモーフィズムな定義をされたジョブページクラスを有する。したがって、ページ印刷データを要求されると画像作成を呼び出してページ印刷データを取得して印刷ジョブに受け渡す第1のページと、ページ印刷データを要求されるとページ印刷データを取得してページ印刷データを印刷ジョブに受け渡す第2のページとを容易に作成することができる。
また、本実施形態では、削除関数により、プリンタ10に受け渡されたページ印刷データは、印刷ジョブが終了する前に順に削除される。したがって、印刷ジョブの終了とともに印刷データが削除される構成に比べ、メモリの使用容量を少なくすることができる。
[変形例]
本変形例では、印刷指示が入力された時点で、印刷指示が示す複数の画像のうちの一乃至複数の画像のページ印刷データがメモリ43に予め記憶されている場合に、プログラム47が実行する処理について説明する。すなわち、本変形例では、第1のジョブページと、第2のジョブページとが作成され、印刷ジョブに登録される例を説明する。
以下では、2頁の画像データの印刷を指示する印刷指示が入力され(図2、S13)、2頁目の画像データが、印刷指示が入力された時点でメモリ43に予め記憶されている例を説明する。なお、以下では、実施形態と相違する処理を説明する。以下で説明する処理以外の処理は、上述の実施形態と同様である。
UIモジュール61は、図2に示されるステップS19において、第1のジョブページと、第2のジョブページとの作成を引数で示すジョブページ作成指示をプリンタ通信モジュール63に入力する。プリンタ通信モジュール63は、ジョブページ作成指示にしたがって、第1のジョブページ及び第2のジョブページを作成し(S20)、UIモジュール61に受け渡す(S21)。また、プリンタ通信モジュール63は、UIモジュール61からジョブ開始指示を入力されると(S22)、第1のジョブページ及び第2のジョブページを、この順で印刷ジョブに登録する(S23)。その後、プリンタ通信モジュール63は、上述の実施形態と同様に、最初のジョブページである第1のジョブページを処理する(S25〜S34)。
次に、プリンタ通信モジュール63は、図5に示されるように、第2のジョブページを処理する(S41)。具体的には、まず、プリンタ通信モジュール63の印刷ジョブは、第2のジョブページにページ印刷データの出力を要求する。ページ印刷データの出力を要求された第2のジョブページは、パスが示すファイルを展開し、ページ印刷データを取得し(S31)、印刷ジョブに受け渡す。なお、パスは、例えば、図2のステップS22においてプリンタ通信モジュール63に入力されるジョブ開始指示において、UIモジュール61から受け渡される。その後、プリンタ通信モジュール63は、上述の実施形態と同様に、ステップS32〜S33、S38(図4)の処理を実行する。
[変形例の作用効果]
印刷指示が入力された時点でページ印刷データがメモリ43に既に記憶されている場合は、画像作成関数に拠らず、ページ印刷データを示すパスがプリンタ通信モジュール63に受け渡される。一の印刷ジョブにおいて、画像作成関数に拠るページ印刷データを示すパスの受け渡しと、画像作成関数に拠らないページ印刷データを示すパスの受け渡しとを行うことができる。したがって、全てのページ印刷データを画像作成関数に拠ってプリンタ通信モジュール63に受け渡す場合に比べ、印刷指示データの生成に要する時間を短くすることができる。その結果、ユーザが印刷を指示してから印刷が終了するまでの時間を短くすることができる。
[その他の変形例]
上述の実施形態では、ページ印刷データを示すパスがUIモジュール61からプリンタ通信モジュール63に受け渡される例を説明した。しかしながら、パスに代えて、ページ印刷データ自体がUIモジュール61からプリンタ通信モジュール63に受け渡されてもよい。
また、上述の実施形態では、第1のジョブページがUIモジュール61に同期して画像作成関数を呼び出す例を説明した。しかしながら、第1のジョブページは、UIモジュール61と非同期で画像作成関数を呼び出してもよい。例えば、第1のジョブページは、先に処理される第1のジョブページが画像作成関数を呼び出すと、先に処理される第1のジョブページがページ印刷データを取得したか否かに拘わらず、画像作成関数を呼び出す。すなわち、印刷ジョブに登録された第1のジョブページは、登録順で画像作成関数を呼び出す。
また、上述の実施形態では、ラベルプリンタであるプリンタ11を説明したが、プリンタ11は、家庭用ラベルプリンタであってもよいし、プロ向けラベルプリンタであってもよい。
家庭用ラベルプリンタとは、簡単な図形や記号や文字を、単色で、かつ180dpi程度の印刷解像度で、6mm〜36mm程度の幅のテープに印刷するラベルプリンタを意味する。家庭用ラベルプリンタで想定される用途は、家具や文具などに貼り付けられるテープに、注意書きや名称などを印刷することである。家庭用ラベルプリンタは、主に、Wi−Fiによって通信するデバイスである。
プロ向けラベルプリンタとは、図形や記号や文字を、単色で、かつ300dpi程度の印刷解像度で、15mm〜102mm程度の幅のテープに印刷するラベルプリンタを意味する。プロ向けラベルプリンタで想定される用途は、例えば、食品容器の表面に貼り付ける表示ラベル(テープ)に、囲い線や食品の消費期限等を印刷することである。また、プロ向けラベルプリンタでは、連続印刷を行って大量の表示ラベルを一度に作成するなどの用途に用いられる。プロ向けラベルプリンタは、Wi−FiやLANケーブルやUSBケーブルによって通信するデバイスである。
また、上述の実施形態では、ラベルプリンタであるプリンタ11を説明した。しかしながら、プリンタ11は、ラベルプリンタ以外のプリンタであってもよい。例えば、プリンタ11は、ページプリンタや、飾り付けラベル用プリンタや、金属加工/木材加工プリンタや開発予定のプロ向けラベルプリンタなどであってもよい。
ページプリンタは、B5やA4やA3サイズなどの所定のサイズの用紙に、1200dpi程度の解像度で、単色やカラーで印刷を行うプリンタである。ページプリンタの用途は、例えば、写真印刷や、一般的な事務印刷などである。ページプリンタは、Wi−FiやUSBケーブルによって通信するデバイスである。
飾り付けラベル用プリンタは、図形や記号や文字を、単色で、かつ180dpi程度の印刷解像度で、3.5mm〜12mm程度のシート(ラベル)に印刷を行う。ただし、装飾用に種々の色のシートを発売するため、対応するシートの種類が家庭用ラベルプリンタやプロ向けラベルプリンタに比べてかなり多い。また、飾り付けラベル用プリンタでは、マスキングテープのような装飾用シートの作成が想定されており、連続したリボンのような絵柄の印刷が想定されている。飾り付けラベル用プリンタは、主に、Wi−Fiによって通信するデバイスである。
金属加工/木材加工プリンタは、セットされた金属や木材やガラスなどの印刷媒体にレーザ光を照射して印刷媒体の表面に画像を形成するプリンタである。金属加工/木材加工プリンタは、主に、USBケーブルによって通信するデバイスである。
開発予定のプロ向けラベルプリンタは、図形や記号や文字を、3色で、かつ600dpi程度の印刷解像度で、23mm〜62mm程度のシート(ラベル)に印刷を行う。開発予定のプロ向けラベルプリンタでは、商品容器の表面に貼り付けるシート(ラベル)の作成が想定されている。開発予定のプロ向けラベルプリンタは、主に、Wi−Fi、Bluetooth(登録商標)によって通信するデバイスである。
11・・・プリンタ
12・・・PC
41・・・コントローラ
42・・・CPU
43・・・メモリ
51・・・ディスプレイ
52・・・ユーザI/F
53・・・ネットワークI/F
61・・・UIモジュール
62・・・画像作成モジュール
63・・・プリンタ通信モジュール

Claims (11)

  1. ネットワークインタフェースと、ユーザインタフェースと、コンピュータと、を備えた情報処理装置の前記コンピュータによって実行されるプログラムであって、
    前記プログラムは、第1モジュール及び第2モジュールを有しており、
    前記第1モジュールは、前記ユーザインタフェースを通じて印刷指示を受け付ける受付手段と、
    前記受付手段で前記印刷指示を受け付けたことに応じて、印刷ジョブの作成を前記第2モジュールに指示する第1指示手段と、
    前記第1指示手段によって前記第2モジュールが作成した前記印刷ジョブに対して、複数のジョブページの作成を指示する第2指示手段と、
    前記印刷指示で指示された画像データから、1頁ごとの印刷データであるページ印刷データを生成する生成手段と、
    前記生成手段で生成した前記ページ印刷データを示すデータを前記第2モジュールに前記ジョブページごとに受け渡す第1受渡手段と、として前記コンピュータを機能させ、
    前記第2モジュールは、
    前記第1指示手段で指示されたことに応じて、前記印刷ジョブを作成する第1作成手段と、
    前記第2指示手段で指示されたことに応じて、前記印刷ジョブに対して複数の前記ジョブページを作成する第2作成手段と、
    前記第2作成手段で作成した前記ジョブページごとに、前記第1受渡手段で受け渡されたデータから前記ページ印刷データを取得する第1取得手段と、
    前記第1取得手段で取得した前記ページ印刷データ、及び、プリンタに印刷を実行させる印刷命令を含む第1指示データを、前記ページ印刷データを取得するごとに出力する第1出力手段と、として前記コンピュータを機能させるプログラム。
  2. 前記第2モジュールは、
    前記第1モジュールに前記ページ印刷データを示すデータを受け渡すことを要求する第1要求手段として前記コンピュータを機能させ、
    前記第1モジュールは、
    前記第1要求手段で前記ページ印刷データを示すデータを要求されたことに応じて、前記生成手段で生成した前記ページ印刷データを示すデータを受け渡す前記第1受渡手段として前記コンピュータを機能させる請求項1に記載のプログラム。
  3. 前記第1モジュールは、
    画像作成関数を指定する前記第2指示手段として前記コンピュータを機能させ、
    前記第2モジュールは、
    前記第2指示手段で指示された前記画像作成関数を呼び出して、前記ページ印刷データを前記第1モジュールに順に要求する前記第1要求手段として前記コンピュータを機能させ、
    前記第1モジュールは、前記第2モジュールが呼び出した前記画像作成関数の戻り値として、前記生成手段で生成した前記ページ印刷データを示すデータを前記第2モジュールに受け渡す前記第1受渡手段として前記コンピュータを機能させる請求項2に記載のプログラム。
  4. 前記第2モジュールは、
    前記プリンタが印刷の実行開始前に実行する初期化処理の実行を指示する初期化命令を含む第2指示データを、前記第1出力手段で前記第1指示データを出力する前に出力する第2出力手段と、
    前記第1モジュールから受け渡された全ての前記ページ印刷データに対して前記第1出力手段が実行された後、前記プリンタに印刷の終了を指示する終了命令を出力する第3出力手段と、として前記コンピュータを機能させる請求項3に記載のプログラム。
  5. 前記第2モジュールは、
    前記画像作成関数の戻り値として前記ページ印刷データを示すデータを取得したことに応じて、次の前記画像作成関数を呼び出す前記第1要求手段として前記コンピュータを機能させる請求項4に記載のプログラム。
  6. 前記第2モジュールは、
    前記画像作成関数を呼び出したことに応じて、前記ページ印刷データを示すデータを取得することを必要とせず、次の前記画像作成関数を呼び出す前記第1要求手段として前記コンピュータを機能させる請求項4に記載のプログラム。
  7. 前記第1モジュールは、
    前記コンピュータが備えるディスプレイに画像を表示する表示手段と、前記受付手段と、前記第1指示手段と、前記第2指示手段と、前記第1受渡手段と、として前記コンピュータを機能させる第3モジュールと、
    前記生成手段として前記コンピュータを機能させる第4モジュールと、を有しており、
    前記第3モジュールは、
    前記第4モジュールに前記ページ印刷データの生成を指示する第3指示手段と、
    前記第4モジュールが生成した前記ページ印刷データを取得する第2取得手段と、として前記コンピュータを機能させ、
    前記第4モジュールは、
    前記第3指示手段で前記ページ印刷データの生成を指示されたことに応じて、前記ページ印刷データを生成する前記生成手段と、
    前記生成手段で生成した前記ページ印刷データを順に前記第3モジュールに受け渡す第2受渡手段と、として前記コンピュータを機能させる請求項3に記載のプログラム。
  8. 前記第2モジュールは、
    前記第1作成手段で前記印刷ジョブを作成したことに応じて、第1のジョブページと第2のジョブページとの少なくとも一方を含む前記複数のジョブページの作成指示を前記第1モジュールに要求する第2要求手段として前記コンピュータを機能させ、前記第1のジョブページは、前記ページ印刷データを要求されたことに応じて前記画像作成関数を呼び出すページであり、前記第2のジョブページは、前記ページ印刷データを要求されたことに応じて当該ページ印刷データを受け渡すページであり、
    前記第1モジュールは、前記第2要求手段での要求に応じて、
    前記印刷指示で画像データが指示されていることに応じて、前記第1のジョブページを含む前記ジョブページの作成を前記第2モジュールに指示する前記第2指示手段と、
    前記印刷指示で、前記コンピュータのメモリに記憶されているページ印刷データが指定されていることに応じて、前記第2のジョブページを含む前記ジョブページの作成を前記第2モジュールに指示する前記第2指示手段と、として前記コンピュータを機能させる請求項3から6のいずれかに記載のプログラム。
  9. 前記第1モジュールは、
    前記生成手段で生成した前記ページ印刷データを前記第2モジュールに受け渡す前記第1受渡手段と、
    前記生成手段で生成した前記ページ印刷データを示すパスを前記第2モジュールに受け渡す前記第1受渡手段と、の一方の前記第1受渡手段として前記コンピュータを機能させる請求項8に記載のプログラム。
  10. 前記第2モジュールは、
    前記印刷ジョブを作成するジョブクラスと、
    ポリモーフィズムな定義をされたクラスであって、前記ページ印刷データを要求されると画像作成関数を呼び出す第1のジョブページと、前記ページ印刷データを要求されると前記ページ印刷データを出力する第2のジョブページと、を作成するジョブページクラスと、を有しており、前記画像作成関数は、呼び出されることにより、前記ページ印刷データを戻り値とする関数であり、
    前記第1モジュールの指示に応じて、前記第1のジョブページと、前記第2のジョブページとの少なくとも一方を含む前記複数のジョブページを作成して前記印刷ジョブに登録し、
    前記印刷ジョブは、登録された前記複数のジョブページに対して前記ページ印刷データを要求し、要求に対して得られた前記ページ印刷データ及び前記印刷命令を含む前記第1指示データを、前記ページ印刷データを取得するごとに出力する請求項1から9のいずれかに記載のプログラム。
  11. ネットワークインタフェースと、ユーザインタフェースと、コンピュータと、を備えた情報処理装置の前記コンピュータによって実行される通信モジュールであって、
    前記通信モジュールは、
    前記コンピュータによって実行されるUIモジュールから受け付けた指示にしたがって印刷ジョブを作成する第1作成手段と、
    前記UIモジュールから受け付けた指示にしたがってジョブページを作成する第2作成手段と、
    前記第2作成手段で作成した前記ジョブページごとに、前記UIモジュールから受け渡されたデータが示すページ印刷データを取得する取得手段と、
    前記取得手段で取得した前記ページ印刷データ、及び、プリンタに印刷を実行させる印刷命令を含む指示データを、前記ページ印刷データを取得するごとに出力する出力手段と、として前記コンピュータを機能させる通信モジュール。
JP2018004617A 2018-01-16 2018-01-16 プログラム及び通信モジュール Active JP7006288B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018004617A JP7006288B2 (ja) 2018-01-16 2018-01-16 プログラム及び通信モジュール
US16/249,277 US10908852B2 (en) 2018-01-16 2019-01-16 Image processing apparatus receiving, generating, processing, and outputting print data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018004617A JP7006288B2 (ja) 2018-01-16 2018-01-16 プログラム及び通信モジュール

Publications (2)

Publication Number Publication Date
JP2019125120A true JP2019125120A (ja) 2019-07-25
JP7006288B2 JP7006288B2 (ja) 2022-01-24

Family

ID=67213881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018004617A Active JP7006288B2 (ja) 2018-01-16 2018-01-16 プログラム及び通信モジュール

Country Status (2)

Country Link
US (1) US10908852B2 (ja)
JP (1) JP7006288B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048156B1 (ko) * 2009-06-01 2011-07-11 진성토건 주식회사 거푸집의 폼타이 위치가이드장치 및 위치가이드방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1171034A (ja) * 1997-08-29 1999-03-16 Seiko Epson Corp ページプリントシステム、ページプリンタ及びページプリント方法
US20030038964A1 (en) * 2001-08-17 2003-02-27 Ferlitsch Andrew Rodney Methods and systems for page-independent spool file face-up emulation
JP2003208296A (ja) * 2001-11-13 2003-07-25 Sharp Corp プリントジョブ会計供給方法、プリントジョブ会計供給システム、及びコンピュータプログラムプロダクト
JP2005063051A (ja) * 2003-08-08 2005-03-10 Canon Inc データ処理装置、画像形成装置および画像形成システム
JP2006252103A (ja) * 2005-03-10 2006-09-21 Seiko Epson Corp 印刷制御データ供給装置、制御データセット生成装置、印刷制御データ供給方法、制御データセット生成方法、記録媒体、およびプログラム
JP2007079854A (ja) * 2005-09-13 2007-03-29 Canon Inc 情報処理装置、画像処理方法、及びコンピュータプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5924218B2 (ja) 2012-09-28 2016-05-25 ブラザー工業株式会社 テンプレート処理プログラム及びテンプレート処理方法
JP2017151743A (ja) 2016-02-25 2017-08-31 セイコーエプソン株式会社 印刷制御装置、印刷制御装置の制御方法、プログラム
JP7046609B2 (ja) * 2018-01-10 2022-04-04 キヤノン株式会社 画像形成装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1171034A (ja) * 1997-08-29 1999-03-16 Seiko Epson Corp ページプリントシステム、ページプリンタ及びページプリント方法
US20030038964A1 (en) * 2001-08-17 2003-02-27 Ferlitsch Andrew Rodney Methods and systems for page-independent spool file face-up emulation
JP2003208296A (ja) * 2001-11-13 2003-07-25 Sharp Corp プリントジョブ会計供給方法、プリントジョブ会計供給システム、及びコンピュータプログラムプロダクト
JP2005063051A (ja) * 2003-08-08 2005-03-10 Canon Inc データ処理装置、画像形成装置および画像形成システム
JP2006252103A (ja) * 2005-03-10 2006-09-21 Seiko Epson Corp 印刷制御データ供給装置、制御データセット生成装置、印刷制御データ供給方法、制御データセット生成方法、記録媒体、およびプログラム
JP2007079854A (ja) * 2005-09-13 2007-03-29 Canon Inc 情報処理装置、画像処理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP7006288B2 (ja) 2022-01-24
US10908852B2 (en) 2021-02-02
US20190220233A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
JP6631278B2 (ja) ドライバプログラム、及びドライバプログラムとプリンタとのセット
US8330972B2 (en) System and method for reducing print delays for print jobs
JP2013152601A (ja) 画像処理装置、印刷装置、及び、画像処理方法
JP2009230413A (ja) 情報処理装置、情報処理方法及び印刷システム
CN107038005B (zh) 打印系统、信息处理设备及其方法
JP5597088B2 (ja) 印刷システム、印刷システムの制御方法、プログラム
JP6589664B2 (ja) ドライバプログラム、及びドライバプログラムとプリンタとのセット
JP7006288B2 (ja) プログラム及び通信モジュール
KR102111929B1 (ko) 데이터 처리 장치, 기록 장치, 및, 데이터 처리 장치의 제어 방법
JP6651902B2 (ja) 印刷システム、ドライバプログラム、及びプリンタ
US8145088B2 (en) Print management apparatus, print management method, computer-readable recording medium, and computer program
US10232656B2 (en) Recording medium and printed matter producing apparatus
JP6222311B2 (ja) 印刷装置、画像処理装置、及び、データ生成方法
JP2008152728A (ja) 情報処理装置、プレビュー方法、プログラム、及び記憶媒体
JP2006018463A (ja) データ処理装置及び該装置における印刷制御方法、プログラム
JP7024547B2 (ja) アプリケーションプログラム
JP6907851B2 (ja) 制御プログラム
JP6773201B2 (ja) プログラム、及びプリンタセット
JP6962433B2 (ja) プログラム、及びプリンタセット
JP7396017B2 (ja) ドライバプログラムおよび登録プログラム
US11068760B2 (en) Terminal device having communication interface configured to communicate with printer, and non-transitory computer-readable recording medium containing instructions therefor
JP2009009363A (ja) 情報処理装置、情報処理方法、プログラム
JP6977574B2 (ja) プログラムおよび情報処理装置
JP2020014115A (ja) プログラム、情報処理装置
JP2024076758A (ja) ラベルプリンタの環境設定装置、環境設定用プログラムおよび環境設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7006288

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150