JP2019006044A - 印刷システム、画像形成装置、留め置き印刷方法、及びプログラム - Google Patents

印刷システム、画像形成装置、留め置き印刷方法、及びプログラム Download PDF

Info

Publication number
JP2019006044A
JP2019006044A JP2017125224A JP2017125224A JP2019006044A JP 2019006044 A JP2019006044 A JP 2019006044A JP 2017125224 A JP2017125224 A JP 2017125224A JP 2017125224 A JP2017125224 A JP 2017125224A JP 2019006044 A JP2019006044 A JP 2019006044A
Authority
JP
Japan
Prior art keywords
print data
page image
mfp
command
server
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.)
Pending
Application number
JP2017125224A
Other languages
English (en)
Inventor
拓哉 井上
Takuya Inoue
拓哉 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017125224A priority Critical patent/JP2019006044A/ja
Publication of JP2019006044A publication Critical patent/JP2019006044A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】印刷データの送信が遅滞する事態を回避することができる印刷システムを提供する。【解決手段】サーバMFP101は、印刷データ400が、コマンドを容易に差し替え可能なデータ構造である特定のPDLで記述されている場合、印刷データ400におけるコマンド群905をページ画像に差し替え、印刷データ400が特定のPDLで記述されていない場合、印刷データ400におけるコマンド群905をページ画像に差し替えない。【選択図】図6

Description

本発明は、印刷システム、画像形成装置、留め置き印刷方法、及びプログラムに関する。
留め置き印刷を行う印刷システムが知られている。留め置き印刷では、ユーザの指示によってPCから送信された印刷データが一旦サーバに保持される。印刷データは、各ページの印刷内容を示す複数のPDLコマンドを含み、PS(Post Script)やLIPS−LX等のPDL(Page Description Language)で記述され、PDLの種別毎にデータ構造が異なる。ユーザはPCから印刷データを送信した後、所望のMFPまで移動し、上記MFPを操作して、PCから送信した印刷データの印刷の開始指示を行う。上記開始指示に応じてMFPはサーバから印刷データを取得し、取得した印刷データに基づいて用紙に印刷を行う。MFPは、印刷を行う際に、取得した印刷データに基づいてレンダリング処理を実行し、各ページのイメージ画像を生成する必要があるが、印刷データのレンダリング処理を完了するまでに或る程度の時間を要する。このため、印刷システムでは、印刷データの保持期間の間に、サーバが印刷データのレンダリング処理を実行する(例えば、特許文献1参照)。サーバは、ユーザによる印刷の開始指示が行われると、印刷データの他に、サーバによって実行されたレンダリング処理の処理結果をMFPに送信する。レンダリング処理結果を送信する技術として、例えば、サーバが印刷データのPDLコマンドを、上記レンダリング処理によって生成された各ページ画像に差し替えた加工印刷データを生成し、該加工印刷データをMFPに送信することが検討されている。
特開2013−225256号公報
しかしながら、上述したように、サーバが印刷データを加工する場合、サーバがMFPに印刷データを速やかに送信することができない場合がある。例えば、印刷データにおいて一のPDLコマンドが他のPDLコマンドを参照するようなデータ構造である場合、サーバはレンダリング処理の他に、各PDLコマンドの参照関係の解析処理を更に実行し、これらの結果に基づいて印刷データの加工処理を行う。このため、ユーザによる印刷の開始指示が行われた際に、上述した全ての処理が完了していないと、サーバは印刷データをMFPに送信することができず、印刷データの送信が遅滞してしまうという問題が生じる。
本発明の目的は、印刷データの送信が遅滞する事態を回避することができる印刷システム、画像形成装置、留め置き印刷方法、及びプログラムを提供することにある。
上記目的を達成するために、本発明の印刷システムは、印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う印刷システムであって、前記コマンドに基づいて生成されたページ画像を格納する格納手段と、前記ページ画像に基づいて前記印刷データを加工する加工手段と、前記加工した印刷データを前記印刷装置に送信する送信手段とを備え、前記加工手段は、前記印刷データが特定のPDL(Page Description Language)で記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のPDLで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする。
本発明によれば、印刷データの送信が遅滞する事態を回避することができる。
本発明の実施の形態に係る印刷システムの構成を説明するための図である。 図1の印刷システムによって実行される留め置き印刷処理の手順を示すタイミングチャートである。 図2のステップS204の印刷データ登録処理の手順を示すフローチャートである。 図1のサーバMFPに格納される印刷データ及び書誌情報の一例を示す図である。 図2のステップS205の先行レンダリング処理の手順を示すフローチャートである。 図2のステップS206の印刷データ加工処理の手順を示すフローチャートである。 図1のサーバMFPによって生成される処理済み印刷データの一例を示す図である。 図6のステップS605の第1の加工印刷データ生成処理の手順を示すフローチャートである。 本実施の形態における第1の加工印刷データの生成を説明するための図である。 図2のステップS207の印刷指示受付処理の手順を示すフローチャートである。 図2のステップS208の印刷データ送信処理の手順を示すフローチャートである。 図11のステップS1107の第2の加工印刷データ生成処理の手順を示すフローチャートである。 図1のサーバMFPによって生成される第2の加工印刷データの一例を示す図である。 図2のステップS209の印刷実行処理の手順を示すフローチャートである。 図5の先行レンダリング処理の変形例の手順を示すフローチャートである。
以下、本発明の実施の形態を図面を参照しながら詳述する。本実施の形態では、画像形成装置としてのMFP(Multifunction Printer)に本発明を適用した場合について説明するが、本発明はMFPに限られない。例えば、SFP(Single Function Printer)やLBP(Laser Beam Printer)等に本発明を適用してもよい。
図1は、本発明の実施の形態に係る印刷システム100の構成を説明するための図である。図1(a)は印刷システム100の構成を示し、図1(b)は印刷システム100に含まれるMFP101におけるコントローラ106のソフトウェアモジュール121の構成を示す。
図1(a)において、印刷システム100は、複数台、例えば、3台のMFP101〜103と、外部装置としてのPC104とを備える。なお、本実施の形態では、印刷システム100に3台のMFP101〜103が設けられる場合について説明するが、印刷システム100に設けられるMFPの台数は3台に限られず、2台以上であれば良い。MFP101〜103及びPC104はLAN105を介して接続されている。
印刷システム100では、留め置き印刷が行われ、留め置き印刷では、ユーザの指示によってPC104から送信された印刷データが一旦MFP101等に保持される。MFP101〜103は印刷処理やスキャン処理等の各ジョブを実行する。また、MFP101〜103はサーバ機能及びクライアント機能を備え、MFP101〜103のうち少なくとも1台が印刷システム100のサーバとして機能する。本実施の形態では、一例として、MFP101が印刷システム100のサーバとして機能し、MFP102,103がMFP101のクライアントの印刷装置として機能することを前提とする。印刷システム100のサーバであるMFP101(以下、「サーバMFP101」という。)はPC104から印刷データを受信し、受信した印刷データを保持する。また、サーバMFP101は、受信した印刷データを保持している間に該印刷データに基づいてレンダリング処理を実行し、例えば、後述する図7の処理済み印刷データ700を生成する。サーバMFP101はクライアントとしての印刷装置、例えば、MFP102から印刷データの取得要求を受けると、上記取得要求に対応する後述する処理済み印刷データ700をMFP102に送信する。MFP102は受信した後述する処理済み印刷データ700に基づいて用紙に印刷を行う。PC104はサーバMFP101に印刷データを送信する。
次に、サーバMFP101、MFP102,103のハードウェア構成について説明する。なお、本実施の形態では、サーバMFP101、MFP102,103は同様の構成であり、以下では、一例として、サーバMFP101を用いてその構成を説明する。
図1(a)において、サーバMFP101は、コントローラ106、カードリーダ112、操作パネル115、及びプリント機構119を備え、コントローラ106はカードリーダ112、操作パネル115、及びプリント機構119と接続されている。コントローラ106はCPU107、RAM108、ROM109、HDD110、ネットワークI/F111、リーダI/F113、パネルI/F114、デバイスI/F116、RIP(ラスターイメージプロセッサ)117、及び画像処理部118を備える。CPU107、RAM108、ROM109、HDD110、ネットワークI/F111、リーダI/F113、パネルI/F114、デバイスI/F116、RIP117、及び画像処理部118はシステムバス120を介して互いに接続されている。
コントローラ106はサーバMFP101全体を統括的に制御する。CPU107は、ROM109やHDD110に格納されたプログラムを実行して後述するソフトウェアモジュール121を制御する。RAM108はCPU107の作業領域として、また、取得した印刷データや画像データ等の一時格納領域として用いられる。ROM109はブートROMであり、サーバMFP101のシステムのブートプログラムを格納する。HDD110はハードディスクドライブ等の記憶装置であり、プログラムや画像データ等を格納する。ネットワークI/F111はLANカード等で実現され、LAN105に接続されたMFP102,103やPC104等とのデータ通信を制御する。カードリーダ112はICカード等からユーザ情報を読み取る。リーダI/F113はカードリーダ112によって読み取ったユーザ情報をCPU107に転送する。
パネルI/F114はサーバMFP101の設定指示やジョブの実行指示等を受け付けるための操作画面を表示させる画面データを操作パネル115に送出する。また、パネルI/F114は、操作パネル115に表示された画面の操作内容に関する情報をCPU107に転送する。操作パネル115はパネルI/F114から取得した画面データに基づいて各操作画面を表示し、ユーザから各指示を受け付ける。デバイスI/F116は、プリント機構119とコントローラ106とを接続し、画像データの同期系/非同期系の変換を行う。RIP117は、印刷データに含まれるPDLコマンドや中間データを解析して画像データを生成する。画像処理部118は、印刷データに基づいて生成された画像データに対し、プリント機構119に対応する補正及び解像度変換等の処理を施す。
次に、コントローラ106のソフトウェアモジュール121の構成について説明する。
図1(b)において、ソフトウェアモジュール121は、認証モジュール122、設定モジュール123、書誌管理モジュール124、印刷制御モジュール125、ジョブ解析モジュール126、先行処理モジュール127、留め置き制御モジュール128、及び印刷実行モジュール129を備える。ソフトウェアモジュール121の各処理は、CPU107がROM109やHDD110に格納されたプログラムを実行することによって行われる。
認証モジュール122はカードリーダ112によって読み取ったユーザ情報を留め置き制御モジュール128へ通知する。設定モジュール123はパネルI/F114及び操作パネル115間のデータ通信の制御を行う。書誌管理モジュール124はサーバMFP101が保持する印刷データや該印刷データに関する情報を管理する。印刷制御モジュール125は印刷処理の実行を制御する。例えば、サーバMFP101がPC104から印刷データを取得した場合、印刷制御モジュール125は取得した印刷データの解析処理の実行をジョブ解析モジュール126に指示する。また、ユーザの操作パネル115の操作によって印刷の実行指示を受け付けた場合、印刷制御モジュール125は印刷実行モジュール129に対して印刷の実行を指示する。ジョブ解析モジュール126はPC104等から取得した印刷データの解析処理を実行する。先行処理モジュール127はジョブ解析部135による解析結果に応じて印刷データのレンダリング処理を実行する。留め置き制御モジュール128は留め置き印刷における各処理の実行を制御する。印刷実行部138はプリント機構119を制御して用紙に印刷を行う。
図2は、図1の印刷システム100によって実行される留め置き印刷処理の手順を示すタイミングチャートである。
図2において、ユーザがPC104にログインし、PC104に対し印刷要求の操作を行うと、PC104はログイン時に入力されたユーザ名等のユーザ情報を取得する(ステップS201)。次いで、PC104は取得したユーザ情報を含む後述する図4(a)の印刷データ400を生成する(ステップS202)。次いで、PC104は生成した印刷データ400をサーバMFP101に送信する(ステップS203)。
一方、サーバMFP101は、後述する図3の印刷データ登録処理を実行し(ステップS204)、サーバMFP101が印刷データを管理するための後述する図4(b)の書誌情報404に、受信した印刷データ400を登録する。次いで、サーバMFP101は、後述する図5の先行レンダリング処理を実行し(ステップS205)、受信した印刷データ400のレンダリング処理を実行する。次いで、サーバMFP101は後述する図6の印刷データ加工処理を実行し(ステップS206)、受信した印刷データ400をステップS205の処理結果に基づいて加工する。すなわち、本実施の形態では、印刷データ400をPC104から取得した直後にサーバMFP101は印刷データ400を加工する。
ユーザがPC104から印刷データ400を送信した後に、クライアントとしての印刷装置、例えば、MFP102にログインすると、MFP102は後述する図10の印刷指示受付処理を実行する(ステップS207)。印刷指示受付処理では、MFP102は、書誌情報404に登録された印刷データの一覧情報である印刷データリストをMFP102の操作パネル115に表示する。また、印刷指示受付処理では、MFP102は、上記印刷データリストの中からユーザによって選択された印刷データの印刷指示を受け付けると、選択された印刷データの送信要求をサーバMFP101に行う。
MFP102によるステップS207の処理に対し、サーバMFP101は後述する図11の印刷データ送信処理を実行し(ステップS208)、上記送信要求に対応する印刷データをMFP102に送信する。サーバMFP101から印刷データを受信したMFP102は、後述する図14(a)及び図14(b)の何れかの印刷実行処理を実行し(ステップS209)、受信した印刷データに基づいて用紙に印刷を行う。その後、印刷システム100は本処理を終了する。
図3は、図2のステップS204の印刷データ登録処理の手順を示すフローチャートである。
図3の処理は、サーバMFP101のCPU107がROM109やHDD110に格納されたプログラムを実行することによって行われる。
図3において、サーバMFP101はPC104から、複数ページの印刷を行う図4(a)の印刷データ400を受信する(ステップS301)。印刷データ400はヘッダー情報401及び各ページに対応する複数、例えば、2つのPDLコマンド402,403を備える。ヘッダー情報401は印刷データの先頭に設定され、印刷対象文書の文書名や印刷要求を行ったユーザを示すユーザ情報を含む。また、ヘッダー情報401はカラー印刷及びモノクロ印刷等を示す情報、片面印刷及び両面印刷等を示す情報、及び用紙サイズを示す情報といった印刷設定情報を含む。PDLコマンド402,403は各ページの印刷内容を示す描画コマンド等を含む。本実施の形態では、例えば、PDLコマンド402が1ページ目に対応し、PDLコマンド403が2ページ目に対応する。なお、PDLコマンドの構成は後述する。また、印刷データ400はPS、XPS、PDF、LIPS−LX、PCL−6等のPDLで記述され、PDLの種別毎にデータ構造が異なる。例えば、XPSは各PDLコマンドがZIP圧縮され、一のPDLコマンドが複数の他のPDLコマンドに参照されるようなデータ構造である。一方、LIPS−LX、PCL−6は各PDLコマンドがZIP圧縮されておらず、PDLコマンドがページ毎に完結しており、一のPDLコマンドが複数の他のPDLコマンドに参照されることがないデータ構造である。
次いで、サーバMFP101は受信した印刷データ400からユーザ情報を取得し(ステップS302)、また、印刷データ400から印刷設定情報及び文書名を取得する(ステップS303)。なお、本実施の形態では、ステップS302及びS303において、該当する情報を取得できない場合、サーバMFP101は、例えば、ROM109やHDD110に予め格納された初期設定値を代用しても良い。また、サーバMFP101は取得できなかった情報を印刷実行時にユーザに設定させても良い。
次いで、サーバMFP101は取得したユーザ情報に対応する図4(b)の書誌情報404を生成する(ステップS304)。書誌情報404はユーザ毎に生成される。次いで、サーバMFP101は生成した書誌情報404に印刷データ400を登録する(ステップS305)。具体的に、サーバMFP101は、印刷データ400に関する情報として上記印刷設定情報及び文書名を書誌情報404に設定する。次いで、サーバMFP101は書誌情報404、及び登録された印刷データ400をHDD110に格納し、また、印刷データ400のデータ構造識別情報を取得する(ステップS306)。データ構造識別情報は、印刷データ400のデータ構造を識別するための情報であり、例えば、PS、XPS、PDF、LIPS−LX、PCL−6等のPDLの種別情報や、印刷データの生成時に使用された機種ドライバーを示す情報等である。その後、サーバMFP101は本処理を終了する。
図5は、図2のステップS205の先行レンダリング処理の手順を示すフローチャートである。
図5の処理も、サーバMFP101のCPU107がROM109やHDD110に格納されたプログラムを実行することによって行われる。また、図5の処理は、印刷データが書誌情報404に登録された際に実行され、本実施の形態では、一例として、印刷データ400が書誌情報404に登録された場合を前提とする。
図5において、サーバMFP101は、登録された印刷データ400の各ページのレンダリング処理に要する時間を予測する(ステップS501)。ステップS501では、サーバMFP101は、例えば、サーバMFP101の処理能力や印刷データ400の各PDLコマンドの内容等に基づいて上記時間を予測する。次いで、サーバMFP101は、印刷データ400の複数のPDLコマンドの中から、サーバMFP101によるレンダリング処理(以下、「先行処理」という。)の実行を必要とするPDLコマンドを特定する(ステップS502)。ステップS502では、印刷データ400に含まれる複数のPDLコマンドの中から、例えば、ステップS501で予測した時間が予め設定された基準時間以上のPDLコマンドを特定する。印刷システム100において、クライアント側のレンダリング処理の負荷を軽減する観点で、出来るだけ多くのPDLコマンドに対して先行処理を行うのが好ましい。このため、ステップS502では、サーバMFP101は印刷データ400の全てのPDLコマンドを特定しても良い。次いで、サーバMFP101は先行処理の実行を必要とするPDLコマンドが存在するか否かを判別する(ステップS503)。
ステップS503の判別の結果、先行処理の実行を必要とするPDLコマンドが存在するとき、サーバMFP101はステップS502で特定されたPDLコマンドに対して先行処理を施す(ステップS504)。これにより、特定されたPDLコマンドのページ画像が生成される。ステップS502において複数のPDLコマンドが特定された場合、ステップS504では、サーバMFP101はステップS502で特定され、且つレンダリング処理が施されていないPDLコマンドのうち、ページ番号が最も小さいPDLコマンドのレンダリング処理を実行する。次いで、サーバMFP101は生成したページ画像をHDD110に格納する(ステップS505)(格納手段)。次いで、サーバMFP101は書誌情報404に先行処理の実行結果を登録する(ステップS506)。具体的に、サーバMFP101は、書誌情報404の印刷データ400に関する情報として、印刷データ400の先行処理を実行した旨を示す情報、及びページ画像の格納場所を示す情報を設定する。これにより、PC104から受信した印刷データ400及びステップS504の処理によって生成されたページ画像が関連付けされる。次いで、サーバMFP101はステップS502で特定された全てのPDLコマンドの先行処理を完了したか否かを判別する(ステップS507)。
ステップS507の判別の結果、ステップS502で特定された何れかのPDLコマンドの先行処理を完了しないとき、サーバMFP101はステップS504の処理に戻る。
ステップS503の判別の結果、先行処理の実行を必要とするPDLコマンドが存在しないとき、又はステップS507の判別の結果、ステップS502で特定された全てのPDLコマンドの先行処理を完了したとき、サーバMFP101は本処理を終了する。
図6は、図2のステップS206の印刷データ加工処理の手順を示すフローチャートである。
図6の処理も、サーバMFP101のCPU107がROM109やHDD110に格納されたプログラムを実行することによって行われる。
図6において、サーバMFP101は、ステップS301で受信した印刷データ400のページ画像が存在するか否かを判別する(ステップS601)。
ステップS601の判別の結果、ページ画像が存在しないとき、サーバMFP101は本処理を終了する。一方、ステップS601の判別の結果、ページ画像が存在するとき、サーバMFP101は印刷データ400における全てのPDLコマンドに対して先行処理を実施済みであるか否かを判別する(ステップS602)。
ステップS602の判別の結果、印刷データ400における全てのPDLコマンドに対して先行処理を実施済みであるとき、サーバMFP101は格納されたページ画像に基づいて図7の処理済み印刷データ700を生成する(ステップS603)。処理済み印刷データ700は印刷装置であれば読み込み可能な形式のデータであり、クライアントの印刷装置は処理済み印刷データ700を取得した際、レンダリング処理を行うことなく、処理済み印刷データ700に基づいて即座に印刷を開始可能である。次いで、サーバMFP101は本処理を終了する。
ステップS602の判別の結果、印刷データ400における全てではなく、一部のPDLコマンドに対して先行処理を実施済みであるとき、サーバMFP101は印刷データ400が予め設定された特定のPDLで記述されているか否かを判別する(ステップS604)。
本実施の形態では、印刷データ400における一部のPDLコマンドのみに対して先行処理を実施済みである場合、印刷データ400において、先行処理を実施済みのPDLコマンドをページ画像に差し替えた後述する図9(b)の第1の加工印刷データ915を生成する。ところで、PC104等から送信される印刷データは、PDLの種別に応じてデータ構造が異なり、先行処理を実施済みのPDLコマンドをページ画像に容易に差し替えることができない場合がある。例えば、印刷データがXPSである場合、この印刷データの各PDLコマンドはZIP圧縮されており、ページ画像に差し替える際に各PDLコマンドを解凍する処理を行う必要がある。また、上記印刷データでは、一のPDLコマンドに含まれるイメージや文字といったリソースを他のPDLコマンドが参照しているので、参照関係の解析処理を行う必要がある。このような印刷データにおいて、サーバMFP101が、先行処理を実施済みのPDLコマンドをページ画像に差し替えようとすると、必要以上に時間を要してしまい、第1の加工印刷データ915を速やかにMFP102に提供することができない。このため、本実施の形態では、コマンドを容易に差し替え可能なデータ構造であるPDL、具体的に、LIPS−LX及びPCL−6が上記特定のPDLとして予め設定されている。
ステップS604の判別の結果、印刷データ400が特定のPDLで記述されていないとき、サーバMFP101は本処理を終了する。一方、ステップS604の判別の結果、印刷データ400が特定のPDLで記述されているとき、サーバMFP101は後述する図8の第1の加工印刷データ生成処理を実行する(ステップS605)(加工手段)。ステップS605では、サーバMFP101は後述する図9(b)の第1の加工印刷データ915を生成する。次いで、サーバMFP101は本処理を終了する。
なお、図6の処理では、ステップS601の判別の結果、ページ画像が存在するとき、サーバMFP101はステップS604以降の処理を行っても良い。また、図6の処理では、ステップS604,605の処理の優先度を上げ、ステップS604,605の処理を実行した後にステップS602,603の処理を実行しても良い。
図8は、図6のステップS605の第1の加工印刷データ生成処理の手順を示すフローチャートである。
図8において、サーバMFP101はHDD110から印刷データ400及び書誌情報404を取得し(ステップS801)、印刷データ400において、先行処理を実施済みのPDLコマンドが存在するか否かを判別する(ステップS802)。PDLコマンドは、図9(a)に示すように、コマンド部901及びパラメータ部902を含む。PDLコマンドは階層構造であり、ページ開始コマンド「BeginPage」903及びページ終了コマンド「EndPage」904の間に、印刷内容を示すコマンド群905が記述されている。コマンド群905はリソース制御コマンド及び描画コマンドを含む。リソース制御コマンドは、例えば、フォントを指定するためのIDや共通データであるフォントヘッダをパラメータとする「DownloadFont」906、及び文字単位のフォントデータを登録する「DownloadChar」907〜909である。描画コマンドは、例えば、文字描画コマンド「DrawChar」910やグラフィック描画コマンド「DrawRect」911である。
ステップS802の判別の結果、印刷データ400において、先行処理を実施済みのPDLコマンドが存在しないとき、サーバMFP101は本処理を終了する。一方、ステップS802の判別の結果、印刷データ400において、先行処理を実施済みのPDLコマンドが存在するとき、サーバMFP101は先行処理を実施済みのPDLコマンドの加工処理を実行する(ステップS803)。具体的に、サーバMFP101は上記PDLコマンドにおけるコマンド群905を削除する。また、サーバMFP101は上記PDLコマンドのページ画像をイメージ描画コマンドに変換する。さらに、サーバMFP101は、図9(b)に示すように、ページ開始コマンド「BeginPage」903及びページ終了コマンド「EndPage」904の間に、変換したイメージ描画コマンド912〜914を挿入する。これにより、印刷データ400におけるコマンド群905がページ画像に差し替えられた第1の加工印刷データ915が生成される。なお、本実施の形態では、上記PDLコマンドのコマンド群905に、他のPDLコマンドも参照するリソース制御コマンドが含まれている場合、該リソース制御コマンドを削除せずに残しても良い。また、他のPDLコマンドが参照しているか否かに関わらず、コマンド群905に含まれるリソース制御コマンドを削除せずに残しても良い。
次いで、サーバMFP101は、印刷データ400において、先行処理を実施済みの全てのPDLコマンドに対する差し替えを完了したか否かを判別する(ステップS804)。
ステップS804の判別の結果、先行処理を実施済みの何れかのPDLコマンドに対する差し替えを完了しないとき、サーバMFP101はステップS803の処理に戻る。一方、ステップS804の判別の結果、先行処理を実施済みの全てのPDLコマンドに対する差し替えを完了したとき、サーバMFP101は第1の加工印刷データ915をHDD110に格納し(ステップS805)、本処理を終了する。
上述した本実施の形態によれば、印刷データ400が、コマンドを容易に差し替え可能なデータ構造である特定のPDLで記述されている場合、サーバMFP101は印刷データ400におけるコマンド群905を、ページ画像を変換したイメージ描画コマンド912〜914に差し替える。一方、印刷データ400が特定のPDLで記述されていない場合、サーバMFP101は印刷データ400におけるコマンド群905を差し替えない。すなわち、コマンドを容易に差し替え不可能なデータ構造である印刷データに対してコマンド群905を差し替えるといった必要以上に時間を要する差し替え処理が行われない。これにより、印刷データの送信が遅滞する事態を回避することができる。
また、上述した本実施の形態では、印刷データ400をPC104から取得した直後に印刷データ400が加工される。これにより、ユーザによってクライアントの印刷装置に印刷指示が行われる前に印刷データ400の加工を開始することができ、もって、第1の加工印刷データ915をクライアントの印刷装置に速やかに提供することができる。
図10は、図2のステップS207の印刷指示受付処理の手順を示すフローチャートである。
図10の処理は、MFP102,103のCPU107がROM109やHDD110に格納されたプログラムを実行することによって行われる。図10の処理は、ユーザがIDカードをMFP102,103にかざす、若しくはユーザがMFP102,103の操作パネル115にユーザ情報を入力するといった所定の操作が行われた際に実行される。図10の処理は、一例として、ユーザがMFP102にユーザ情報を含むIDカードをかざした場合を前提とする。
図10において、MFP102はユーザがかざしたIDカード等からユーザ情報を取得し、取得したユーザ情報に基づいてユーザ認証を行う(ステップS1001)。次いで、MFP102は取得したユーザ情報に対応する書誌情報404によって管理される印刷データリストをサーバMFP101から取得する。MFP102は取得した印刷データリストをMFP102の操作パネル115に表示する(ステップS1002)。次いで、MFP102は表示された印刷データリストの中からユーザによって選択された印刷データの印刷指示が行われたか否かを判別する(ステップS1003)。
ステップS1003の判別の結果、上記印刷データの印刷指示が行われないとき、MFP102は本処理を終了する。一方、ステップS1003の判別の結果、上記印刷データの印刷指示が行われたとき、MFP102はMFP102の機種情報をサーバMFP101に送信する(ステップS1004)。MFP102の機種情報は、MFP102が後述する第2の加工印刷データ1300(付加印刷データ)に基づいて印刷を実行する機能を有するか否かを示す情報を含む。次いで、MFP102は、表示された印刷データリストの中からユーザによって選択された印刷データの送信要求をサーバMFP101に行い(ステップS1005)、本処理を終了する。
図11は、図2のステップS208の印刷データ送信処理の手順を示すフローチャートである。
図11の処理は、サーバMFP101のCPU107がROM109やHDD110に格納されたプログラムを実行することによって行われ、サーバMFP101がMFP102,103から機種情報及び印刷データの送信要求を受けた際に実行される。
図11において、サーバMFP101はMFP102,103で印刷指示が行われたか否かを判別する(ステップS1101)。ステップS1101では、MFP102,103の何れかから機種情報及び印刷データの送信要求を受けた場合、サーバMFP101はMFP102,103で印刷指示が行われたと判別する。一方、MFP102,103から機種情報及び印刷データの送信要求を受けない場合、サーバMFP101はMFP102,103で印刷指示が行われないと判別する。
ステップS1101の判別の結果、MFP102,103で印刷指示が行われないとき、サーバMFP101はMFP102,103のログイン状態の解除に応じて本処理を終了する。一方、ステップS1101の判別の結果、MFP102,103の何れか、例えば、MFP102で印刷指示が行われとき、サーバMFP101はMFP102から取得した機種情報を解析する(ステップS1102)。次いで、サーバMFP101はMFP102から受けた送信要求に対応する印刷データを特定し、特定した印刷データのページ画像が存在するか否かを判別する(ステップS1103)。ステップS1103では、特定した印刷データのページ画像がHDD110に格納されている場合、サーバMFP101は特定した印刷データのページ画像が存在すると判別する。一方、特定した印刷データのページ画像がHDD110に格納されていない場合、サーバMFP101は特定した印刷データのページ画像が存在しないと判別する。
ステップS1103の判別の結果、特定した印刷データのページ画像が存在するとき、サーバMFP101は先行処理結果が反映された印刷データ(以下、「先行処理結果反映データ」という。)を生成済みであるか否かを判別する(ステップS1104)。先行処理結果反映データは、処理済み印刷データ700、第1の加工印刷データ915、及び後述する図13の第2の加工印刷データ1300の何れかである。
ステップS1104の判別の結果、先行処理結果反映データを生成済みであるとき、サーバMFP101は先行処理結果反映データをMFP102に送信し(ステップS1105)(送信手段)、本処理を終了する。
ステップS1104の判別の結果、先行処理結果反映データを生成していないとき、サーバMFP101はMFP102が後述する第2の加工印刷データ1300に基づいて印刷を実行する機能を有するか否かを判別する(ステップS1106)。サーバMFP101は取得した機種情報に基づいてステップS1106の判別を行う。
ステップS1106の判別の結果、MFP102が後述する第2の加工印刷データ1300に基づいて印刷を実行する機能を有するとき、サーバMFP101は後述する図12の第2の加工印刷データ生成処理を実行する(ステップS1107)(加工手段)。第2の加工印刷データ生成処理では、HDD110に格納された印刷データ400及びページ画像に基づいて後述する第2の加工印刷データ1300が生成される。次いで、サーバMFP101はステップS1105以降の処理を行う。
ステップS1103の判別の結果、特定した印刷データのページ画像が存在しないとき、又はステップS1106の判別の結果、MFP102が後述する第2の加工印刷データ1300に基づいて印刷を実行する機能を有しないとき、サーバMFP101は先行処理を施していない印刷データ400をMFP102に転送し(ステップS1108)(送信手段)、本処理を終了する。
図12は、図11のステップS1107の第2の加工印刷データ生成処理の手順を示すフローチャートである。
図12において、サーバMFP101は第2の加工印刷データ1300の先頭に識別子情報1301を付加する(ステップS1201)。識別子情報1301は第2の加工印刷データ1300にページ画像が付加されている旨を示す情報である。次いで、サーバMFP101は第2の加工印刷データ1300において識別子情報1301の次に先行処理結果情報1302を付加する(ステップS1202)。先行処理結果情報1302は、第2の加工印刷データ1300に付加されるページ画像の総データサイズ、印刷データの総ページ数、各ページ画像のページ番号、及びページ画像のインデックス情報等を含む。なお、ページ画像の総データサイズやページ画像のインデックス情報等のように、後述する各処理を実行した後に明確になる情報に関しては後述する各処理を実行した後に更新される。
次いで、サーバMFP101は第2の加工印刷データ1300において先行処理結果情報1302の次に先行処理結果実データ1303を付加する(ステップS1203)。先行処理結果実データ1303は、ページ画像のページ番号、ページ画像のフォーマット、及びページ画像の実データであり、サーバMFP101は先行処理結果実データ1303をページ番号が小さい順に付加する。次いで、サーバMFP101は該当する全てのページ画像を付加したか否かを判別する(ステップS1204)。
ステップS1204の判別の結果、該当する何れかのページ画像を付加しないとき、サーバMFP101はステップS1203の処理に戻る。一方、ステップS1204の判別の結果、該当する全てのページ画像を付加したとき、サーバMFP101は先行処理結果情報1302を更新する(ステップS1205)。具体的に、サーバMFP101は先行処理結果情報1302におけるページ画像の総データサイズ及びページ画像のインデックス情報を更新する。次いで、サーバMFP101は第2の加工印刷データ1300において先行処理結果実データ1303の次に、印刷指示に対応する印刷データ400をそのまま付加する(ステップS1206)。このようにして生成された第2の加工印刷データ1300は、サーバMFP101からMFP102に送信される。その後、サーバMFP101は本処理を終了する。
上述した本実施の形態では、印刷データ400が特定のPDLで記述されておらず、且つ印刷データの送信先であるMFP102が第2の加工印刷データ1300に基づいて印刷を実行する機能を有する場合、第2の加工印刷データ1300がMFP102に送信される。これにより、印刷データ400が特定のPDLで記述されていなくても、先行処理結果が反映された印刷データをクライアントの印刷装置に提供することができる。
図14は、図2のステップS209の印刷実行処理の手順を示すフローチャートである。図14(a)は第2の加工印刷データ1300に基づいて印刷を実行する機能を有するMFPによって実行される印刷実行処理の手順を示す。図14(b)は第2の加工印刷データ1300に基づいて印刷を実行する機能を有しないMFPによって実行される印刷実行処理の手順を示す。図14(a)及び図14(b)の処理は、MFP102,103によって実行され、MFP102,103がサーバMFP101から印刷データを受信した際に実行される。以下では、一例として、第2の加工印刷データ1300に基づいて印刷を実行する機能を有するMFP102が図14(a)の処理を実行することとする。また、第2の加工印刷データ1300に基づいて印刷を実行する機能を有しないMFP103が図14(b)の処理を実行することとする。
先に、MFP102によって実行される図14(a)の印刷実行処理について説明する。
図14(a)において、MFP102は、サーバMFP101から印刷データを受信すると(ステップS1401でYES)、受信した印刷データを解析する(ステップS1402)。MFP102がサーバMFP101から受信する印刷データは、印刷データ400、第1の加工印刷データ915、及び第2の加工印刷データ1300の何れかである。ステップS1401では、MFP102は受信した印刷データに識別子情報1301が含まれているか否かを解析する。次いで、MFP102は、ステップS1402の解析結果に基づいて受信した印刷データが第2の加工印刷データ1300であるか否かを判別する(ステップS1403)。
ステップS1403の判別の結果、受信した印刷データが第2の加工印刷データ1300であるとき、MFP102は受信した印刷データの各PDLコマンドに対し、先行処理を実施済みのPDLコマンドであるか否かを判別する(ステップS1404)。
ステップS1404の判別の結果、先行処理を実施済みのPDLコマンドであるとき、MFP102は該PDLコマンドの解析をスキップする(ステップS1405)。MFP102は受信した印刷データに付加されたページ画像をレンダリング処理結果として利用する(ステップS1406)。次いで、MFP102は受信した印刷データの全てのPDLコマンドに対してレンダリング処理が行われているか否かを判別する(ステップS1407)。
ステップS1407の判別の結果、受信した印刷データの何れかのPDLコマンドに対してレンダリング処理が行われていないとき、MFP102はステップS1404の処理に戻る。一方、ステップS1407の判別の結果、受信した印刷データの全てのPDLコマンドに対してレンダリング処理が行われているとき、MFP102はレンダリング処理結果に基づいて用紙に印刷を行い(ステップS1408)、本処理を終了する。
ステップS1404の判別の結果、先行処理を実施済みのPDLコマンドでないとき、MFP102は該PDLコマンドに対してレンダリング処理を施し(ステップS1409)、該PDLコマンドのページ画像を生成する。その後、MFP102はステップS1407以降の処理を行う。
ステップS1403の判別の結果、受信した印刷データが第2の加工印刷データ1300でないとき、MFP102は受信した印刷データの各PDLコマンドに対してレンダリング処理を施し(ステップS1410)、各PDLコマンドのページ画像を生成する。例えば、受信した印刷データが第1の加工印刷データ915である場合、ステップS1410では、受信した印刷データにおいて、コマンド群905がイメージ描画コマンド912〜914に差し替えられたPDLコマンドに対し、MFP102は解析をスキップする。MFP102は、上記PDLコマンドに対し、上記イメージ描画コマンド912〜914をレンダリング処理結果として利用する。その後、MFP102はステップS1408以降の処理を行う。
次に、MFP103によって実行される図14(b)の印刷実行処理について説明する。
図14において、MFP103は、サーバMFP101から印刷データを受信すると(ステップS1401でYES)、ステップS1410,S1408の処理をこの順に実行し、本処理を終了する。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、図5の先行レンダリング処理を実行中に該先行レンダリング処理の中断要因が発生した場合、先行処理結果を格納した後に先行処理を中断しても良い。
図15は、図5の先行レンダリング処理の変形例の手順を示すフローチャートである。
図15の処理も、サーバMFP101のCPU107がROM109やHDD110に格納されたプログラムを実行することによって行われ、印刷データが書誌情報404に登録された際に実行される。
図15において、サーバMFP101はステップS501〜S506の処理を行う。次いで、サーバMFP101は先行処理の中断要因が発生したか否かを判別する(ステップS1501)。先行処理の中断要因は、例えば、ユーザによる認証処理の実行指示を受けた場合や、外部装置であるPC104等から文書データの削除指示を受けた場合等である。
ステップS1501の判別の結果、先行処理の中断要因が発生したとき、サーバMFP101は本処理を終了する。すなわち、本実施の形態では、先行処理の中断要因が発生した場合、サーバMFP101は、先行処理結果をHDD110に格納した後に先行処理を中断する。
ステップS1501の判別の結果、先行処理の中断要因が発生しないとき、サーバMFP101はステップS507以降の処理を行う。
上述した本実施の形態では、先行処理の中断要因が発生した場合、先行処理結果がHDD110に格納された後に先行処理が中断される。これにより、先行処理を中断した後にユーザによる印刷指示が行われても、先行処理の中断要因が発生する前の先行処理結果を反映させた先行処理結果反映データをクライアントの印刷装置に提供することができる。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 印刷システム
101 サーバMFP
102,103 MFP
104 PC
107 CPU
110 HDD
111 ネットワークI/F
400 印刷データ
905 コマンド群
912〜914 イメージ描画コマンド
915 第1の加工印刷データ
1300 第2の加工印刷データ

Claims (12)

  1. 印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う印刷システムであって、
    前記コマンドに基づいて生成されたページ画像を格納する格納手段と、
    前記ページ画像に基づいて前記印刷データを加工する加工手段と、
    前記加工した印刷データを前記印刷装置に送信する送信手段とを備え、
    前記加工手段は、前記印刷データが特定のPDL(Page Description Language)で記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のPDLで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする印刷システム。
  2. 前記サーバは前記印刷データを外部装置から取得し、
    前記加工手段は、前記印刷データを前記外部装置から取得した直後に前記印刷データを加工することを特徴とする請求項1記載の印刷システム。
  3. 前記加工手段は、前記印刷データが前記特定のPDLで記述されておらず、且つ前記印刷装置が前記印刷データに前記ページ画像を付加した付加印刷データに基づいて印刷を行う機能を有する場合、前記印刷データ及び前記ページ画像に基づいて前記付加印刷データを生成し、
    前記送信手段は、前記付加印刷データを前記印刷装置に送信することを特徴とする請求項1又は2記載の印刷システム。
  4. 前記印刷データは複数の前記コマンドを含み、
    前記格納手段は、各前記コマンドに基づいて生成された複数の前記ページ画像を格納し、
    前記ページ画像を生成する処理の中断要因が発生した場合、前記生成された全てのページ画像を格納した後に前記ページ画像を生成する処理を中断することを特徴とする請求項1乃至3のいずれか1項に記載の印刷システム。
  5. 前記特定のPDLは、LIPS−LX及びPCL−6であることを特徴とする請求項1乃至4のいずれか1項に記載の印刷システム。
  6. 印刷内容を示すコマンドを含む印刷データを保持し、ユーザによる印刷指示に対応する印刷データを印刷装置に送信するサーバとしての画像形成装置であって、
    前記コマンドに基づいて生成されたページ画像を格納する格納手段と、
    前記ページ画像に基づいて前記印刷データを加工する加工手段と、
    前記加工した印刷データを前記印刷装置に送信する送信手段とを備え、
    前記加工手段は、前記印刷データが特定のPDLで記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のPDLで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする画像形成装置。
  7. 前記印刷データを外部装置から取得し、
    前記加工手段は、前記印刷データを前記外部装置から取得した直後に前記印刷データを加工することを特徴とする請求項6記載の画像形成装置。
  8. 前記加工手段は、前記印刷データが前記特定のPDLで記述されておらず、且つ前記印刷装置が前記印刷データに前記ページ画像を付加した付加印刷データに基づいて印刷を行う機能を有する場合、前記印刷データ及び前記ページ画像に基づいて前記付加印刷データを生成し、
    前記送信手段は、前記付加印刷データを前記印刷装置に送信することを特徴とする請求項6又は7記載の画像形成装置。
  9. 前記印刷データは複数の前記コマンドを含み、
    前記格納手段は、各前記コマンドに基づいて生成された複数の前記ページ画像を格納し、
    前記ページ画像を生成する処理の中断要因が発生した場合、前記生成された全てのページ画像を格納した後に前記ページ画像を生成する処理を中断することを特徴とする請求項6乃至8のいずれか1項に記載の画像形成装置。
  10. 前記特定のPDLは、LIPS−LX及びPCL−6であることを特徴とする請求項6乃至9のいずれか1項に記載の画像形成装置。
  11. 印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う留め置き印刷方法であって、
    前記コマンドに基づいて生成されたページ画像を格納する格納ステップと、
    前記ページ画像に基づいて前記印刷データを加工する加工ステップと、
    前記加工した印刷データを前記印刷装置に送信する送信ステップとを有し、
    前記加工ステップは、前記印刷データが特定のPDLで記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のPDLで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする留め置き印刷方法。
  12. 印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う留め置き印刷方法をコンピュータに実行させるプログラムであって、
    前記留め置き印刷方法は、
    前記コマンドに基づいて生成されたページ画像を格納する格納ステップと、
    前記ページ画像に基づいて前記印刷データを加工する加工ステップと、
    前記加工した印刷データを前記印刷装置に送信する送信ステップとを有し、
    前記加工ステップは、前記印刷データが特定のPDLで記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のPDLで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とするプログラム。
JP2017125224A 2017-06-27 2017-06-27 印刷システム、画像形成装置、留め置き印刷方法、及びプログラム Pending JP2019006044A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017125224A JP2019006044A (ja) 2017-06-27 2017-06-27 印刷システム、画像形成装置、留め置き印刷方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017125224A JP2019006044A (ja) 2017-06-27 2017-06-27 印刷システム、画像形成装置、留め置き印刷方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2019006044A true JP2019006044A (ja) 2019-01-17

Family

ID=65025733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017125224A Pending JP2019006044A (ja) 2017-06-27 2017-06-27 印刷システム、画像形成装置、留め置き印刷方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2019006044A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410825B2 (ja) 2020-09-03 2024-01-10 シャープ株式会社 画像形成装置、制御プログラムおよび制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410825B2 (ja) 2020-09-03 2024-01-10 シャープ株式会社 画像形成装置、制御プログラムおよび制御方法

Similar Documents

Publication Publication Date Title
US9195414B2 (en) Image processing apparatus functioning as a print server changing print settings of saved job on demand from an external terminal
JP6454213B2 (ja) 画像出力システム、画像処理装置、画像出力装置、これらにおける方法及びプログラム
JP5618773B2 (ja) 画像形成システムと画像形成装置及び画像形成装置における方法
JPH09265363A (ja) 印刷処理装置および方法
US10996908B2 (en) Print system, printing apparatus, method of controlling the printing apparatus, and storage medium that generate print data to be printed using rendered print data
US9507544B2 (en) Information processing apparatus, recording medium, and control method to process print data using filters
US20140313544A1 (en) Printing system, server, information processing apparatus, image processing apparatus, printing control method and storage medium storing program
JP2019040528A (ja) サーバ装置及びその制御方法、プログラム、並びに印刷システム
EP2933716B1 (en) Image output system, image output method, document server
KR20180068301A (ko) 화상 처리 장치, 및 페이지 화상 데이터 및 오브젝트 정보를 사용하여 시트에 화상을 형성하는 방법
US10423374B2 (en) Image forming apparatus and method for controlling image forming apparatus for reducing print processing time
US10599376B2 (en) Image forming apparatus, method of controlling the same, and storage medium configured to accept a user operation for deleting a page form a print job, to delete a rendering command for that page, and to update identification information of the print job based on the deleted page
US8213032B2 (en) Information processing apparatus and method and computer-readable storage medium thereof
JP2019006044A (ja) 印刷システム、画像形成装置、留め置き印刷方法、及びプログラム
US10671329B2 (en) Image forming apparatus for generating raster image data based on PDL data, using general purpose processor and raster image processor and image forming method
US9253343B2 (en) Information processing apparatus, control method, and storage medium for providing a preview and/or display of a main display document generated from all parts of a print document
JP2018206311A (ja) 印刷システム、サーバ及びその制御方法とプログラム
JP2009095006A (ja) 画像形成装置、方法、プログラム
US10534567B2 (en) Image forming apparatus and method for controlling image forming apparatus
JP2018056825A (ja) 画像処理システム、画像処理装置、表示制御装置、表示制御方法、及びプログラム
JP2009143124A (ja) 画像処理装置
JP2015225535A (ja) 情報処理装置、及びこれを用いる認証プリントシステム
JP2019031020A (ja) 画像形成装置及びその制御方法、並びにプログラム
JP6080574B2 (ja) 情報処理装置、情報処理システム、情報処理方法
JP2019003289A (ja) 印刷システム、印刷装置、情報処理装置とその制御方法、及びプログラム