JP2011040830A - 画像形成装置、画像形成方法及び画像形成プログラム - Google Patents

画像形成装置、画像形成方法及び画像形成プログラム Download PDF

Info

Publication number
JP2011040830A
JP2011040830A JP2009183764A JP2009183764A JP2011040830A JP 2011040830 A JP2011040830 A JP 2011040830A JP 2009183764 A JP2009183764 A JP 2009183764A JP 2009183764 A JP2009183764 A JP 2009183764A JP 2011040830 A JP2011040830 A JP 2011040830A
Authority
JP
Japan
Prior art keywords
output
image
job
image forming
request
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
JP2009183764A
Other languages
English (en)
Inventor
Shingo Shiromura
真悟 白村
Atsushi Saito
敦 齊藤
Hiroo Umezawa
寛朗 梅澤
Hiroyuki Tejima
裕之 手島
Takashi Hasegawa
長谷川  隆
Yasuaki Miyazaki
康彰 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009183764A priority Critical patent/JP2011040830A/ja
Publication of JP2011040830A publication Critical patent/JP2011040830A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】
本発明は、アプリケーションの実行環境を適切に提供することができ、変倍コピー機能等の変倍機能を実現する画像形成装置を提供することを目的とする。
【解決手段】
開示の画像形成装置は、出力面に出力する画像を編集する画像編集手段と、設定情報に基づいて、出力する画像を拡大・縮小する処理に係る実行要求を受け付ける変倍実行要求受付手段と、を有し、前記画像編集手段は、前記変倍実行要求手段からの要求に応じ前記出力する画像を拡大・縮小する処理を行うことを特徴とする。
【選択図】 図11

Description

本発明は、画像形成装置における出力画像の変倍処理の技術に関する。
特許文献1には、パイプ&フィルタアーキテクチャを採用し、フィルタと呼ばれるソフトウェアコンポーネントの組み合わせによって構成されるアクティビティと呼ばれるソフトウェアコンポーネントによって、ジョブを実行するアプリケーションが実現される画像形成装置が開示されている。このような画像形成装置によれば、新たな機能の実装に関する柔軟性を著しく向上させることができる。
しかしながら、特許文献1に記載された画像形成装置において新たなアプリケーション(特許文献1における「アクティビティ」)を実装する場合、フィルタを組み合わせるための知識が開発者に必要とされる。また、アプリケーションの実装に伴って、新たなフィルタを実装する必要がある場合、当該フィルタを実装するための知識が必要とされる。
このような知識は、画像形成装置においてジョブを実行するためのアーキテクチャ又はロジックに関する比較的深い層に属する部分である。斯かる部分について、サードベンダー等による開発を可能とするためには、画像形成装置のベンダーは、当該部分についてかなり詳しい技術内容を開示しなければならないことになる。その結果、企業秘密として保持していきたい重要な技術をも開示する必要性が高まり、技術流出の可能性が高まる虞がある。
また、特許文献1に記載された画像形成装置では、以上のような知識を会得するまでの初回の開発コストが大きくなる可能性が高い。したがって、初回の開発コストをより小さく抑えられるアーキテクチャの提供が望まれる。
上記のような問題点に鑑み、本発明では、アプリケーションの実行環境を適切に提供することができ、変倍コピー機能等の変倍機能を実現する画像形成装置、画像形成方法および画像形成プログラムを提供することを目的とする。
開示する画像形成装置の一形態は、アプリケーションから要求されたジョブを実行する画像形成装置であって、前記ジョブに対する設定情報を前記アプリケーションより受け付ける設定情報受付手段と、前記アプリケーションよりジョブの実行要求を受け付けるジョブ実行要求受付手段と、前記ジョブ実行要求受付手段からの要求に応じ、前記ジョブの設定情報に従ってジョブの実行を制御するジョブ実行制御手段と、前記設定情報に基づいて判定される、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させる出力要素管理手段と、前記出力面ごとの出力要素管理手段を前記出力面の出力順に応じて束ね、前記ジョブ実行制御手段からの要求に応じ、束ねている前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求する出力束管理手段と、前記出力面として出力させる入力画像を保持する入力画像保持手段と、前記設定情報に基づいて、変倍の実行要求を受け付ける変倍実行要求受付手段と、前期出力面に出力する画像を編集する画像編集手段とを有し、前記画像編集手段は、前記変倍実行要求受付手段からの要求に応じ、変倍画像を作成することを特徴とする。
さらに、開示する画像形成装置の一形態は、前記画像編集手段が画像の変倍率を保持する変倍率保持手段をもつことを特徴とする。
さらに、開示する画像形成装置の一形態は、前記入力画像保持手段が原稿サイズを保持する原稿サイズ保持手段を有し、前記出力要素管理手段が用紙サイズを保持する用紙サイズ保持手段を有し、前記画像編集手段が原稿サイズと用紙サイズの組み合わせから変倍率を決定することを特徴とする(自動倍率選択)。
さらに、開示する画像形成装置の一形態は、画像編集手段が、主走査方向と副走査方向についてそれぞれ独立した変倍率を保持するための複数の変倍率保持手段をもつことを特徴とする(独立変倍)。
さらに、開示する画像形成装置の一形態は、前記出力要素管理手段が用紙サイズを保持する用紙サイズ保持手段を有し、前記画像編集手段が変倍した画像と用紙サイズの大きさを比較して用紙の領域に変倍画像を印刷可能か否か判定することを特徴とする(領域判定)。
さらに、開示する画像形成装置の一形態は、判定結果をユーザに確認させ、実行条件をユーザに設定させることを特徴とする。
さらに、開示する画像形成装置の一形態は、用紙サイズに描画できる範囲で、そのまま出力することを特徴とする。
さらに、開示する画像形成装置の一形態は、用紙サイズの領域に収まるように変倍率を自動的に調整して出力することを特徴とする。
開示の画像形成装置は、アプリケーションの実行環境を適切に提供することができ、変倍コピー機能等の変倍機能を実現することができる。
本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。 本発明の実施の形態における複合機のソフトウェア構成例を示す図である。 MFPプロファイルの構成例を示す図である。 MFPプロファイルの各層のクラス構成例を示す図である。 JPSの概念モデルを示す図である。 プレゼンテーション層がJPSを包含する例を示す図である。 プレゼンテーション層がJPSを包含する場合のアプリケーションとJSPとの関係を示す図である。 JPSがMFPサービス抽象モデルを継承する例を示す図である。 アプリケーションが複合機にジョブを実行させるための処理手順を説明するためのシーケンス図である。 アプリケーションが複合機にジョブを実行させるために実装が必要とされる手順を示すフローチャートである。 変倍を実現するためのドメインロジックの構成例である。 印刷時のドメインロジックの動作を示すフローチャートである。 変倍を伴う印刷時の動作を示す図である。 変倍処理の動作を示すフローチャートである。 原稿サイズと出力サイズの組合せによる変倍率テーブルを示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
図1では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機1のハードウェア構成が示されている。
複合機1のハードウェアとしては、コントローラ101と、オペレーションパネル102と、ファクシミリコントロールユニット(FCU)103と、撮像部104と、印刷部105が存在する。
コントローラ101は、CPU111、ASIC112、NB121、SB122、MEM−P131、MEM−C132、HDD(ハードディスクドライブ)133、メモリカードスロット134、NIC(ネットワークインタフェースコントローラ)141、USBデバイス142、IEEE1394デバイス143、セントロニクスデバイス144により構成される。
CPU111は、種々の情報処理用のICである。ASIC112は、種々の画像処理用のICである。NB121は、コントローラ101のノースブリッジである。SB122は、コントローラ101のサウスブリッジである。MEM−P131は、複合機1のシステムメモリである。MEM−C132は、複合機1のローカルメモリである。HDD133は、複合機1のストレージである。メモリカードスロット134は、メモリカード135をセットするためのスロットである。NIC141は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス142は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス143は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス144は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル102は、オペレータが複合機1に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示部)である。
図2は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。同図において、複合機1は、OS20、ドライバプログラム21、JVM30、CDC31、Foundation Profile32、MFPプロファイル40、ネイティブモジュール50、及びアプリケーション60等を有する。
OS20は、いわゆるOS(Operating System)である。ドライバプログラム21は、ハードウェアを制御する各種のプロラムモジュールである。JVM30は、Java(登録商標) Virtual Machine(仮想マシン)であり、Java(登録商標)の実行環境を実現する。CDC(Connected Device Configuration)31及びFoundation Profile32は、Java(登録商標) Micro Editionの基本構成である。
MFPプロファイル40は、複合機1用のアプリケーション60の開発環境及び実行環境を提供するプラットフォーム(プログラムモジュール群)である。より詳しくは、MFPプロファイル40は、複合機1にジョブを実行させるためのJava(登録商標)インタフェース(API(Application Program Interface))をアプリケーション60に提供し、当該インタフェースの呼び出しに応じて複合機1を制御する。なお、MFP(Multifunction Peripheral)とは、複合機の略称である。
ネイティブモジュール50は、ネイティブコードによって記述されたプログラムモジュール群である。ネイティブモジュール50は、例えば、C言語やC++言語によるインタフェース(API)をアプリケーション60に提供し、当該インタフェースの呼び出しに応じて複合機1を制御する。
アプリケーション60は、複合機1にジョブを実行させるプログラムであり、プリントアプリ61、コピーアプリ62、スキャンアプリ63、FAXアプリ64等、ジョブ種別(印刷、コピー、スキャン、FAX送信等)に応じて複数のアプリケーション60が存在する。各アプリケーション60は、MFPプロファイル40又はネイティブモジュール50によって提供されるインタフェースに基づいて開発される。厳密には、Java(登録商標)コードによるアプリケーション60からはMFPプロファイル40が利用され、ネイティブコードによるアプリケーション60からはネイティブモジュール50が利用される。
本実施の形態において、MFPプロファイル40及びネイティブモジュール50のインタフェースは複合機1のメーカー外にも公開されている。したがって、アプリケーション60は、複合機1のメーカーだけでなく、サードベンダー等によっても開発可能である。
ユーザから見た場合、複合機1を導入(設置)した後に、市場で販売されている新たなアプリケーション60を複合機1にインストールし、複合機1の機能強化を図ることができる。
本実施の形態では、特に、MFPプロファイル40について説明する。図3は、MFPプロファイルの構成例を示す図である。同図において、MFPプロファイル40は、プレゼンテーション層41、ドメインロジック層42、及びサービス層43等より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係(利用関係)に基づいている。基本的に上の層が下の層を呼び出す(利用する)。
プレゼンテーション層41は、アプリケーション60に公開されるインタフェース部分である。すなわち、プレゼンテーション層41は、アプリケーション60からの要求を受け付け、当該要求に対する応答をアプリケーション60に返却する。なお、アプリケーション60の開発者からはプレゼンテーション層41のみが興味の対象となる。
ドメインロジック層42は、プレゼンテーション層41によって受け付けられたアプリケーション60からの要求に応じ、複合機1にジョブを実行させるためのロジックが実装されている部分である。ドメインロジック層42は、その役割(責務)に応じて要求管理部421、I/Oファンクション部422、I/Oリソース管理部423、及びシステム管理部424等に細部化される。
要求管理部421は、プレゼンテーション層41によって受け付けられるアプリケーション60からの要求を管理する。I/Oファンクション部422は、ジョブ対するデータの入力やジョブの実行によるデータの出力等の機能を実現する。I/Oリソース管理部423は、撮像部104や印刷部105等のデータの入出力に関するハードウェアリソースを管理する。システム管理部424は、要求管理部421、I/Oファンクション部422、及びI/Oリソース管理部423等の横断的関心事(例えば、各部より共通に利用される情報)を管理する。
サービス層43は、デバイス、ミドルウェア、又はOS等へのアクセスを隠蔽する部分である。すなわち、サービス層43によって、複合機1の機種の違い、又は複合機1において利用されるミドルウェア又はOS等の違いが吸収される。
MFPプロファイル40の各層について更に詳しく説明する。図4は、MFPプロファイルの各層のクラス構成例を示す図である。なお、同図のクラス群は、インタフェースを示す。したがって、実装は当該インタフェースに対する実装クラスにおいて行われる。以下において、「XXXクラスのインスタンス」というとき、XXXクラスの実装クラスのインスタンスを意味する。
同図において、プレゼンテーション層41は、サービス検索クラス411、入出力形式クラス412、要求属性値群クラス413、サービスクラス414、サービス属性値群クラス4141、ドキュメントクラス415、ドキュメント属性値群クラス4151、ジョブクラス416、及びジョブ属性値群クラス4161等を含む。
サービス検索クラス411のインスタンス(サービス検索オブジェクト)は、アプリケーション60からの要求に応じサービスを検索する。サービスとは、ジョブを実行に関係するソフトウェア及びハードウェアの集合(すなわち、ジョブの実行主体)をいう。サービスの検索条件は、入出力形式クラス412のインスタンスと要求属性値群クラス413のインスタンスとによって指定される。
入出力形式クラス412のインスタンス(入出力形式オブジェクト)は、ジョブの入力データ又は出力データのデータ形式を保持する。要求属性値群クラス413のインスタンス(要求属性値群オブジェクト)は、アプリケーション60から要求において指定されるジョブに対する設定値の集合を保持する。
サービスクラス414のインスタンス(サービスオブジェクト)は、サービスの代表を表現する。サービスクラス414の実装クラスはサービスごとに定義される。サービス属性値群クラス4141のインスタンス(サービス属性値群オブジェクト)は、サービスの状態を保持する。
ドキュメントクラス415のインスタンス(ドキュメントオブジェクト)は、ジョブに対して入力されるドキュメント(データ)を表現する。例えば、印刷ジョブであれば印刷データが相当する。ドキュメント属性値群クラス4151のインスタンス(ドキュメント属性値群オブジェクト)は、ドキュメントの属性を保持する。
ジョブクラス416のインスタンス(ジョブオブジェクト)は、ジョブを表現する。ジョブクラス416の実装クラスはジョブの種別ごとに定義される。ジョブ属性値群クラス4161のインスタンス(ジョブ属性値群オブジェクト)は、ジョブの状態を保持する。
また、ドメインロジック層42の要求管理部421は、成果物クラス4211を含む。成果物クラス4211のインスタンス(成果物オブジェクト)は、ジョブによる成果物を実現するための処理(すなわち、ジョブの実行制御)を行う。成果物オブジェクトは、成果物の構成要素や、成果物の進捗状況等を知っている。なお、成果物とは、例えば、1枚の原稿を3部コピーするというコピージョブであれば、3枚のコピー結果そのものをいう。
ドメインロジック層42のI/Oファンクション部422は、入力物クラス4221、原画像クラス4222、出力物クラス4223、出力要素クラス4224、及び出力束クラス4225等を含む。入力物クラス4221のインスタンス(入力物オブジェクト)は、ジョブに入力データに係る原稿の1枚又は1ページ(入力物)を表現する。したがって、入力物オブジェクトは、コピージョブやスキャンジョブ等、原稿から入力データが得られるジョブに利用される。入力物クラス4221は自らに対する再帰的な関連を有している。したがって、入力物オブジェクトは、チェーン構造で関連付けられることにより、複数枚の原稿を表現する。なお、本実施の形態において、便宜上、原稿の1枚と1ページとは等価であるとする。
原画像クラス4222のインスタンス(原画像オブジェクト)は、ジョブに対する入力画像を表現する。例えば、コピージョブであれば、スキャンされたスキャン画像を表現する。原画像オブジェクトは、画像の入力方法を知っており、また、入力処理の進捗状況(撮像部104による読み取りの進捗状況)を知っている。
出力物クラス4223のインスタンス(出力物オブジェクト)は、ジョブによる成果物の一部(出力物)を表現する。出力物オブジェクトは、成果物がどのような材料(入力物)で構成されているのかや、出力物の出力の実行可能条件等を知っている。出力物オブジェクトはまた、出力物の出力に必要な入力物を知っており、当該入力物に係る入力物オブジェクトに紐づいている。
出力束クラス4225のインスタンス(出力束オブジェクト)は、成果物がどのような順番(ソート順又はスタック順等)で構成されているかを知っている。出力要素クラス4224のインスタンス(出力要素オブジェクト)は、出力要素(出力面)の出力の方法を知っている。出力要素は、例えばコピージョブのときには印刷面を示す。
ドメインロジック層42のI/Oリソース管理部423は、入力リソースクラス4231及び出力リソースクラス4232等を含む。入力リソースクラス4231のインスタンス(入力リソースオブジェクト)は、データを入力するためのハードウェア資源(撮像部104等)を管理する。出力リソースクラス4232のインスタンス(出力リソースオブジェクト)は、データを出力するためのハードウェア資源(印刷部105等)を管理する。
ドメインロジック層42のシステム管理部424は、機内監視クラス4241を含む。
機内監視クラス4241のインスタンス(機内監視オブジェクト)は、複合機1の状態を監視する。
以上の各層のクラス群の中で、プレゼンテーション層41に属するクラス群が、アプリケーション60に利用可能なインタフェースを提供する。斯かるプレゼンテーション層41のクラス群(インタフェース)は、JPS(Java(登録商標) Print Service)に準拠した構成を有している。換言すれば、プレゼンテーション層41において、JPSを提供することができる。ここで、JPSとは、Java(登録商標)プラットフォームにおいて印刷に関する制御を実行するための標準のAPI(Application Program Interface)である。このことは、印刷ジョブを実行するアプリケーション60の開発者は、JPSに関する知識を有していれば、MFPプロファイル40上に簡便に当該アプリケーション60を実装することができることを意味する。
図5は、JPSの概念モデルを示す図である。同図に示されるように、JPSは、ドキュメントインタフェース群、印刷ジョブインタフェース群、プリンタサービスインタフェース群より構成される。
ドキュメントインタフェース群におけるSimpleDocクラス及びDocインタフェース実装クラスは、印刷データを表現するクラスであり、本実施の形態のドキュメントクラス415に対応する。DocFlavorクラスは、印刷データのデータ形式を表現するクラスであり、本実施の形態の入出力形式クラス412に対応する。
印刷ジョブインタフェース群におけるDocPrintJobクラスは、印刷ジョブを表現するクラスであり、本実施の形態のジョブクラス416に対応する。PrintAttributeSet実装クラスは、印刷要求の属性値群を表現し、本実施の形態の要求属性値群クラス413に対応する。
プリントサービスインタフェース群におけるPrintService実装クラス及びDefaultPrintService実装クラス等は、印刷サービス(プリンタ)を表現するクラスであり、本実施の形態のサービスクラス414に対応する。PrintServiceLookUp実装クラスは、印刷サービス(プリンタ)を検索するクラスであり、本実施の形態のサービス検索クラス411に対応する。
なお、図4に示されるプレゼンテーション層41のクラス群(インタフェース)は、印刷ジョブだけでなく、複数種類のジョブ(例えば、コピージョブ、スキャンジョブ、FAX送信ジョブ等)に対して共通に定義されている。すなわち、プレゼンテーション層41は、JPSをより抽象化(一般化)したものになっている。したがって、プレゼンテーション層41に基づいてJPSを実現する場合、プレゼンテーション層41にJPSを包含させるか、又はJPSがプレゼンテーション層41のクラス群(以下「MFPサービス抽象モデル」という。)を継承するようにすればよい。
図6は、プレゼンテーション層がJPSを包含する例を示す図である。この場合、プレゼンテーション層41は一つのソフトウェアコンポーネントとして構成され、当該ソフトウェアコンポーネント内にJPSの実装が含まれる。また、他のサービス(例えば、コピージョブを実現するコピーサービス)に関するクラス群についても、MFPサービス抽象モデルに基づいて(MFPサービス抽象モデルと同様の構成によって)実装され、それぞれサービスの実装が当該ソフトウェアコンポーネント内に含まれる。したがって、この場合、アプリケーション60とJSPとの関係は、図7に示されるようになる。
図7において、プレゼンテーション層41は一つのソフトウェアコンポーネントとして、JPSや各サービス(同図ではコピーサービス)のインタフェースを公開すると共にその実装を包含する。したがって、アプリケーション60は、公開されたJPSや他のサービスのインタフェースを呼び出すことにより、それぞれの実装を利用することができる。このような構成では、各サービス(JPSも含む)のインタフェースは論理的には関係しているが、実質的には関係を有さない。したがって、仮に、JPSのバージョンアップ等で変更があったとしても、基本的には他のサービスはその影響を受けないという利点がある。
また、図8は、JPSがMFPサービス抽象モデルを継承する例を示す図である。この場合、JPSの各クラスは、MFPサービス抽象モデルにおいて対応するクラスを継承する。他のサービス(例えば、コピーサービス)に関する実装クラス群もMFPサービス抽象モデルのクラスを継承する。この場合、アプリケーション60は、各サービス(JPSも含む)のクラス群をMFPサービス抽象モデルのサブクラスとして利用することができる。
このような構成では、MFPサービス抽象モデルにおいて各サービスの共通部分を実装することにより、各サービスはその差分のみを実装すればよいという利点がある。また、継承により各サービスの構造がシンプルとなり、保守性を向上させることができる。
以下、複合機1の処理手順について説明する。図9は、アプリケーションが複合機にジョブを実行させるための処理手順を説明するためのシーケンス図である。同図における各オブジェクトの参照番号は、各オブジェクトのクラスの参照番号(図4参照)の末尾に「A」を付加したものである。
ジョブの開始指示の入力に応じ、当該ジョブに対応するアプリケーション60(プリントアプリ61、コピーアプリ62、スキャンアプリ63、又はFAXアプリ64等)は、入出力形式オブジェクト412Aをメモリ(MEM−P131)内に生成する(S101)。ここで、アプリケーション60は、ジョブ(印刷ジョブ、コピージョブ、スキャンジョブ、又はFAX送信ジョブ等)に応じた入力データ及び出力データの少なくともいずれか一方のデータ形式を入出力形式オブジェクト412Aに設定する。例えば、印刷ジョブであれば、印刷データのデータ形式が設定される。なお、ジョブの開始指示の入力とは、印刷ジョブであれば印刷データの受信が相当する。また、コピージョブ、スキャンジョブ、FAX送信ジョブ等であれば、ユーザによるスタートボタンの押下等が相当する。
続いて、アプリケーション60は、要求属性値群オブジェクト413Aをメモリ内に生成する(S103)。ここで、アプリケーション60は、ジョブに対して要求された設定値(要求属性値群)を要求属性値群オブジェクト413に設定する。当該設定値は、印刷ジョブであれば印刷データ内に含まれている。また、コピージョブ、スキャンジョブ、及びFAXジョブ等であれば、オペレーションパネル102を介して設定され、メモリ内に記録されている。
続いて、アプリケーション60は、入出力形式オブジェクト412A及び要求属性値群オブジェクト413Aを検索条件として指定して、サービスの検索をサービス検索オブジェクト411Aに要求する(S105)。当該要求に応じ、サービス検索オブジェクト411Aは、指定された検索条件に合致するサービスを検索し、当該サービスに対応するサービスオブジェクト414Aをメモリ内に生成する(S107)。続いて、サービス検索オブジェクト411Aは、生成されたサービスオブジェクト414Aをアプリケーション60に返却する(S109)。
なお、サービス検索オブジェクト411Aによるサービスの検索は、例えば、HDD133に記録されているサービス管理情報に基づいて行われる。サービス管理情報には、入力データの形式及び出力データの形式の少なくともいずれか一方と、要求属性値群との組み合わせに応じて、サービスクラス414の実装クラスのクラス名(例えば、「プリントサービス」、「コピーサービス」、「スキャンサービス」、「FAXサービス」等)が登録されている。したがって、サービス検索オブジェクト411Aは、アプリケーション60より指定された入出力形式オブジェクト412A及び要求属性値群オブジェクト413Aに対応するクラス名をサービス管理情報より検索し、検索されたクラス名に対応するサービスオブジェクト414Aを生成する。
続いて、アプリケーション60は、返却されたサービスオブジェクト414Aに対してジョブの生成を要求する(S111)。サービスオブジェクト414Aは、対応するジョブ(印刷ジョブ、コピージョブ、スキャンジョブ、又はFAX送信ジョブ等)の実装クラスのジョブオブジェクト416Aを生成し(S113)、当該ジョブオブジェクト416Aをアプリケーション60に返却する(S115)。
続いて、アプリケーション60は、ジョブにおいて処理対象とするドキュメントをカプセル化したドキュメントオブジェクト415Aをメモリ内に生成する(S117)。
印刷ジョブであれば、印刷データがカプセル化される。当該ドキュメントのデータ形式は、ジョブの種別に応じ、PostScriptファイル、JPEGイメージ、URL、又はプレーンテキスト等、様々な形式をとり得る。なお、コピージョブ及びスキャンジョブ等については、アプリケーション60は処理対象とするデータを有していない。したがって、このようなジョブについては、アプリケーション60はドキュメントオブジェクト415Aを生成する必要はない。一方、印刷ジョブの場合、印刷データの受信はアプリケーション60(プリントアプリ61)によって行われる。したがって、この場合は、ドキュメントオブジェクト415Aが生成される。
続いて、アプリケーション60は、ステップS115において返却されたジョブオブジェクト415Aに対して、ドキュメントオブジェクト415A及び要求属性値群オブジェクト413Aを指定して、ジョブの実行を要求する(S119)。なお、ドキュメントオブジェクト415Aが生成されていない場合は、ドキュメントオブジェクト415Aは指定されない。
図9において、アプリケーション60の軸から出ている矢印がアプリケーション60において実装が必要とされる手順である。当該手順のフローチャートを図10に示す。図10において、各ステップには図9において対応するステップ番号が付されている。各ステップの内容は図9で説明した通りである。但し、図10では、サービスが検索された場合に(すなわち、図9のステップS115においてサービスオブジェクト414Aが返却された場合に)、ステップS111以降が実行されることが明示されている(S110)。
このように、アプリケーション60の開発は、基本的に図10に示される処理手順に対応したインタフェース(プレゼンテーション層41のインタフェース)を呼び出すことにより行われる。また、当該インタフェースは、Java(登録商標)の標準インタフェースであるJPSに準拠するものである。したがって、本実施の形態の複合機1によれば、アプリケーション60の開発作業の負担を軽減することができる。
また、特許文献1のフィルタ等によってアプリケーションを構築する場合に比べて、ソフトウェア構成全体の規模を小さくできる可能性が高い。したがって、アプリケーションの実行に必要なメモリ容量等を低減することができ、ハードウェアのコストの削減も期待できる。
(実施例1)
図11に変倍を実現するためのドメインロジックの構成例を示す。変倍画像オブジェクトは、原画像を印刷するときにどれくらい倍率を変更するかという変倍率を知っており、変倍された画像を作成する責務を持っている。
変倍画像オブジェクトは、主走査方向、副走査方向それぞれ独立して変倍する独立変倍機能を実現するために、主走査変倍率、副走査変倍率を持っていても良い。変倍画像を作成するときに、それぞれの変倍率を独立して保持および使用できるため、主走査のみもしくは副走査のみ、または主走査と副走査で異なる、変倍率の画像を作成することもできる。
(実施例2)
図12にドメインロジック層の基本的な印刷時の動作を示すフローチャートを示す。S201−203で1枚目原稿に対応する入力物オブジェクトを作成する。S204で1枚目入力物オブジェクトに対応する出力物オブジェクトを作成する。S205で印刷条件に必要な出力束オブジェクトを作成する。このとき、例えばソートならば操作部で設定された部数に従って出力束オブジェクトを作成する。
S206で出力束オブジェクトに、上記で作成した出力物オブジェクトを登録する。S207で出力束オブジェクトは、出力物オブジェクトから出力物要素を取得する。このとき、例えば出力物オブジェクトは出力物要素オブジェクトを作成し、作成したオブジェクトを出力束オブジェクトに渡す。または、出力物オブジェクト作成時に同時に対応する出力要素オブジェクトを作成しておき、作成済みの要求されたオブジェクトをそのまま渡しても良い。
S208で実行開始に必要なオブジェクトを作成済みか否かの判断を行う。作成済みでなければ、必要なオブジェクトの作成を繰り返す。作成済みであれば、S209で原稿1枚目の入力物オブジェクトを実行開始する。S210で実行開始した入力物オブジェクトは、原画像オブジェクトを作成し、原画像オブジェクトの実行を要求する。S211で原画像オブジェクトの実行で、原画像の読み取りが実行される。このとき、例えばコピー動作であれば、スキャナが原稿の読み取り動作を行い、読み取った画像が原画像オブジェクトと紐づいて管理される。
S212で変倍設定有りの場合、S213、214で出力物は変倍画像オブジェクトを作成し、変倍処理(変倍画像作成の実行)を要求する。変倍処理の詳細については、実施例4で説明する。S215で出力束オブジェクトを実行する。このとき、例えばADFに原稿が複数枚セットされている場合、1枚入力されるごとに出力束オブジェクトを実行するのではなく、全原稿を入力した後で、全部の出力束オブジェクトを実行しても良い。全原稿入力後に出力する方法では、1部目の出力が遅くなるが、印刷手順がシンプルになり、より容易に実現できる。
S215で出力束オブジェクトは紐づいている出力要素オブジェクトを実行する。このとき、例えば操作部でスタックコピー置数3と設定されている場合、スタックコピーであれば入力された原稿をまとめて出力できるので、この時点で3枚分を実行しても構わない。出力要素オブジェクトを実行すると、S216、217で紐づいている出力物オブジェクトから出力すべき入力物を特定し、特定した入力物の原画像の印刷を実行する。
S218で次の原稿があるかを判定し、次の原稿がある場合は、最初の入力物オブジェクトの作成から繰り返す。S218で次の原稿が無い場合は、全部数の印刷が実行されたかを判定し、実行されていなければ2部目以降の印刷を実行する。このとき、例えばソートコピーであれば、原稿枚数が確定しないと2部目以降は印刷できないため、ここで2部目以降の印刷を実行することになる。S219で全部数の印刷が実行されていれば、終了する。
(実施例3)
図13で、ドメインロジックにおける原稿1枚、置数1でソートコピーしたときの印刷手順を示す。ここでは、図12で示したフローチャートを具体的な条件下で実行したときに、各オブジェクトがどのように協調的に動作しているかを以下で説明する。操作部によって設定された条件は、原稿1枚、置数1で変倍コピーとする。
S301で成果物オブジェクトは、インタフェース部により作成される。成果物オブジェクトは、原稿1を示す入力物オブジェクトを作成する。S302で成果物オブジェクトは、出力物1を示す出力物オブジェクトを作成する。S303で成果物オブジェクトは、1部目を示す出力束オブジェクトを作成する。S304で成果物オブジェクトは、出力物1を指定して、ソート1部目を示す出力束オブジェクトに出力要素の追加を要求する。S305でソート1部目の出力束オブジェクトは、指定された出力物1オブジェクトに、出力要素の取得を要求する。S306で出力物1オブジェクトは、ソート1部目用の出力要素オブジェクトを作成し、出力束オブジェクトに返す。
S307で成果物オブジェクトは、原稿1の入力物オブジェクトに実行を要求する。S308で原稿1の入力物オブジェクトは、原稿1の読み取り画像を示す原画像オブジェクトを作成する。S309で原稿1の入力物オブジェクトは、原稿1の原画像オブジェクトに実行を要求する。S310で原稿1の原画像オブジェクトは、スキャナ読み取りを実行する。S311で原稿1の原画像オブジェクトは、原稿1の入力物オブジェクトに読み取りの終了を通知する。S311で原稿1の入力物オブジェクトは、成果物に入力物の終了を通知する。
S312で成果物オブジェクトは、出力物1オブジェクトに入力物の終了を通知する。ここで出力物1は、入力物終了の通知を受け取ったので、出力が可能であることを判断できるようになる。
S313で出力物1オブジェクトは、変倍画像オブジェクトを作成する。S314で出力物1オブジェクトは、変倍画像オブジェクトに変倍画像の作成を要求する。ここで、変倍画像オブジェクトは、保持している変倍率に従って、変倍画像を作成する(変倍画像作成の詳細は実施例4に示す)。
S315で原稿1の入力物オブジェクトは、成果物オブジェクトに次原稿が無いことを通知する(条件が原稿2枚以上であれば、次原稿有りを通知することになる)。S316で成果物オブジェクトは、次の原稿がないのでソートの単位が終了したと判断して、1部目の出力束オブジェクトに実行を要求する。S317で1部目の出力束オブジェクトは、1枚目1部目を示す出力要素オブジェクトに実行を要求する。S318で1枚目1部目を示す出力要素オブジェクトは、出力リソースオブジェクトにリソース使用の予約を要求する。出力リソースオブジェクトは、予約されたリソースの使用要求に対して、プロッタエンジンのパフォーマンスを最適化するようなリソースの使用順を考えることもできる。
S319で出力リソースオブジェクトは、1枚目1部目を示す出力要素オブジェクトにリソースの使用許可を通知する。S320で1枚目1部目を示す出力要素オブジェクトは、出力物1オブジェクトに実行可否判断を要求する。S320で出力1オブジェクトは、原稿1の入力物オブジェクトの終了を通知されているので、実行可能と判断して、1枚目1部目を示す出力要素オブジェクトに結果を返す。
S321で1枚目1部目を示す出力要素オブジェクトは、使用許可された出力リソース(ここではプロッタエンジン)を使用して印刷を実行する。S322で1枚目1部目を示す出力要素オブジェクトは、印刷が終わったら、出力物1オブジェクトに印刷終了を通知する。S323で1枚目1部目を示す出力要素オブジェクトは、1部目の出力束オブジェクトに出力要素の終了を通知する。S324で1部目の出力束オブジェクトは、成果物に出力束の終了を通知する。
(実施例4)
図14で変倍処理の動作を示すフローチャートを示す。S401で変倍画像オブジェクトは、出力物オブジェクトから用紙サイズを取得する。S402で入力物オブジェクトから原稿サイズを取得する。S403で自動倍率選択が設定されているかどうかを判定する。自動倍率選択とは、入力された画像を、出力する用紙のサイズに合わせて自動的に変倍率を決定する機能である。自動倍率選択は、AMS(Auto Magnification Select)機能等として実装される。S403で自動倍率選択が設定されていた場合は、S407で取得した原稿サイズと用紙サイズを使って変倍率の算出処理を行う。実施例5で、変倍率を算出するための方法は示す。S403で自動倍率選択が設定されていなかった場合は、S404で領域判定を行う。
S405で設定された変倍率で原稿画像を変倍した場合に用紙サイズに収まるかどうかを比較する。例えば、原稿サイズ×変倍率<用紙サイズという比較を行う。このとき、用紙サイズに対して小さ過ぎるような変倍率が設定されていることを判定するようにしても良い。また、領域判定を主走査変倍率と副走査変倍率について、独立に判定しても良い。
領域判定に失敗した場合、以下の3つのパターンに分岐する。
1.そのまま出力する場合、設定されていたまま変倍率を確定する(S408)。
2.ユーザ設定する場合、領域判定に失敗したことを操作画面に表示し、ユーザは変倍率の設定を変更する(S406、S408)。ここで、ユーザが用紙サイズの設定を変更できるようにしても良い。変更された変倍率に従って、変倍率を確定する。
3.自動調整する場合、取得した原稿サイズと用紙サイズを使って用紙サイズの領域に収まるように変倍率の算出処理を行う(S407、S408)。実施例5に変倍率を算出するための方法を示す。算出された変倍率に従って変倍率を確定する。
一方、領域判定に成功した場合は、S408で設定されていたまま変倍率を確定する。S409で確定した変倍率で変倍画像を作成する。
(実施例5)
以下では、変倍率を算出するための方法を説明する。変倍画像オブジェクトが変倍率テーブルを参照することで変倍率を決定することができる。図15は、変倍率テーブルの例を示し、原稿サイズを入力、用紙サイズを出力としたときの変倍率テーブルである。
変倍率は、変倍率=用紙サイズ÷原稿サイズの計算式によっても求めることができる。例えば、印刷する用紙サイズがA1、スキャンする原稿のサイズがA3である場合を考える。A1用紙の寸法は594mm×841mmであり、A3用紙の寸法は297mm×420mmであるため、変倍率はA1(594mm)÷A3(297mm)=2倍(200%)となる。また、変倍率は、主走査方向、副走査方向を独立で算出しても良い。
(総括)
開示の画像形成装置は、適切なアプリケーションの実行環境を提供し、かつ変倍機能を実現することができる。
また、開示の画像形成装置は、変倍率を保持しているため、変倍率を任意に設定できる変倍機能を実現し、変倍機能の実用性を向上させることができる。
また、開示の画像形成装置は、変倍機能としてAMS機能を提供し、ユーザの利便性を高めることができる。
また、開示の画像形成装置は、変倍機能として独立変倍機能を提供し、ユーザの利便性を高めることができる。
また、開示の画像形成装置は、変倍機能実行時にユーザの意図しない変倍画像が出力されることを防ぐことにより、ユーザの利便性を高めることができる。
また、開示の画像形成装置は、変倍機能実行時にユーザの意図しない変倍画像が出力されそうになった場合、改めてユーザによって設定を変更可能にすることにより、ユーザの利便性を高めることができる。
また、開示の画像形成装置は、変倍機能実行時にユーザが意図的に用紙サイズに合わない変倍率で印刷することを可能にすることにより、ユーザの利便性を高めることができる。
また、開示の画像形成装置は、変倍機能実行時にユーザの意図しない変倍画像が出力されそうになった場合、自動的に用紙サイズに合わせて変倍率を調整して印刷することにより、ユーザの利便性を高めることができる。
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
1 複合機
20 OS
21 ドライバプログラム
30 JVM
31 CDC
32 Foundation Profile
40 MFPプロファイル
41 プレゼンテーション層
42 ドメインロジック層
43 サービス層
50 ネイティブモジュール
60 アプリケーション
61 プリントアプリ
62 コピーアプリ
63 スキャンアプリ
64 FAXアプリ
101 コントローラ
102 オペレーションパネル
103 ファクシミリコントロールユニット
104 撮像部
105 印刷部
111 CPU
112 ASIC
121 NB
122 SB
131 MEM−P
132 MEM−C
133 HDD
134 メモリカードスロット
135 メモリカード
141 NIC
142 USBデバイス
143 IEEE1394デバイス
144 セントロニクスデバイス
411 サービス検索クラス
412 入出力形式クラス
413 要求属性値群クラス
414 サービスクラス
415 ドキュメントクラス
416 ジョブクラス
421 要求管理部
422 I/Oファンクション部
423 I/Oリソース管理部
424 システム管理部
4141 サービス属性値群クラス
4151 ドキュメント属性値群クラス
4161 ジョブ属性値群クラス
4211 成果物クラス
4221 入力物クラス
4222 原画像クラス
4223 出力物クラス
4224 出力要素クラス
4225 出力束クラス
4231 入力リソースクラス
4232 出力リソースクラス
4241 機内監視クラス
特開2007−325251号公報

Claims (7)

  1. アプリケーションから要求されたジョブを実行する画像形成装置において、
    前記ジョブに対する設定情報を前記アプリケーションより受け付ける設定情報受付手段と、
    前記アプリケーションよりジョブの実行要求を受け付けるジョブ実行要求受付手段と、
    前記ジョブ実行要求受付手段からの要求に応じ、前記ジョブの設定情報に従ってジョブの実行を制御するジョブ実行制御手段と、
    前記設定情報に基づいて判定される、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させる出力要素管理手段と、
    前記出力面ごとの出力要素管理手段を前記出力面の出力順に応じて束ね、前記ジョブ実行制御手段からの要求に応じ、束ねている前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求する出力束管理手段と、
    前記出力面に出力する画像を編集する画像編集手段と、
    前記設定情報に基づいて、前記出力する画像を拡大・縮小する処理に係る実行要求を受け付ける変倍実行要求受付手段と、を有する画像形成装置であって、
    前記画像編集手段は、前記変倍実行要求手段からの要求に応じ前記出力する画像を拡大・縮小する処理を行うことを特徴とする画像形成装置。
  2. 前記画像編集手段は、前記原稿の大きさ及び前記被記録媒体の大きさに基づき、前記出力する画像を拡大・縮小させる程度を表す変倍率を決定することを特徴とする請求項1に記載の画像形成装置。
  3. 前記変倍率は、主走査方向と副走査方向とで独立して決定されることを特徴とする請求項2に記載の画像形成装置。
  4. 前記出力要素管理手段が保持する前記出力面の大きさと、前記画像編集手段により拡大・縮小する処理を施された前記出力する画像の大きさとの比較を行い、該比較の結果に基づき前記出力する画像が印刷可能か否かを判定する印刷可能可否判定手段を有することを特徴とする請求項1乃至3の何れか一に記載の画像形成装置。
  5. 前記印刷可能可否判定手段により否と判定された場合、
    前記画像編集手段は、前記画像編集手段により拡大・縮小する処理を施された前記出力する画像に対し、前記出力面の大きさより該出力する画像の大きさが小さくなるように前記縮小する処理を行うことを特徴とする請求項4に記載の画像形成装置。
  6. アプリケーションから要求されたジョブを実行する画像形成装置における画像形成方法であって、
    設定情報受付手段が、前記ジョブに対する設定情報を前記アプリケーションより受け付けるステップと、
    ジョブ実行要求受付手段が、前記アプリケーションよりジョブの実行要求を受け付けるステップと、
    ジョブ実行制御手段が、前記ジョブ実行要求受付手段からの要求に応じ、前記ジョブの設定情報に従ってジョブの実行を制御するステップと、
    出力要素管理手段が、前記設定情報に基づいて判定される、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させるステップと、
    出力束管理手段が、前記出力面ごとの出力要素管理手段を前記出力面の出力順に応じて束ね、前記ジョブ実行制御手段からの要求に応じ、束ねている前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求すると、
    画像編集手段が、前記出力面に出力する画像を編集するステップと、
    変倍実行要求受付手段が、前記設定情報に基づいて、前記出力する画像を拡大・縮小する処理に係る実行要求を受け付けるステップと、を含み、
    前記画像編集手段は、前記変倍実行要求手段からの要求に応じ前記出力する画像を拡大・縮小する処理を行うことを特徴とする画像形成方法。
  7. コンピュータに、請求項6に記載の画像形成方法を実行させるための画像形成プログラム。
JP2009183764A 2009-08-06 2009-08-06 画像形成装置、画像形成方法及び画像形成プログラム Pending JP2011040830A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009183764A JP2011040830A (ja) 2009-08-06 2009-08-06 画像形成装置、画像形成方法及び画像形成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009183764A JP2011040830A (ja) 2009-08-06 2009-08-06 画像形成装置、画像形成方法及び画像形成プログラム

Publications (1)

Publication Number Publication Date
JP2011040830A true JP2011040830A (ja) 2011-02-24

Family

ID=43768185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009183764A Pending JP2011040830A (ja) 2009-08-06 2009-08-06 画像形成装置、画像形成方法及び画像形成プログラム

Country Status (1)

Country Link
JP (1) JP2011040830A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2491990A2 (en) 2011-02-25 2012-08-29 Nintendo Co., Ltd. Information processing apparatus, information processing program, information processing method, and information processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2491990A2 (en) 2011-02-25 2012-08-29 Nintendo Co., Ltd. Information processing apparatus, information processing program, information processing method, and information processing system

Similar Documents

Publication Publication Date Title
JP4861883B2 (ja) 画像形成装置及びアプリケーション実行方法
JP3679349B2 (ja) 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
US7209249B2 (en) Method of and apparatus for image formation, and computer product
JP5962829B2 (ja) 画像形成装置、画像形成方法およびプログラム
JP2008305004A (ja) 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム
US20090109483A1 (en) Image processing apparatus and application execution method
JP2004140801A (ja) 画像形成装置、集約印刷方法
JP2011040830A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP2005117622A (ja) 文書編集方法、画像処理装置
JP2005287042A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP5315919B2 (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
JP2005175595A (ja) 画像形成装置、画像形成装置製造方法
JP4922836B2 (ja) 画像形成装置及びアプリケーション構築方法
JP5663983B2 (ja) 画像形成装置、接続制御方法及びプログラム
JP2009110437A (ja) 情報処理装置及び情報処理方法
JP2010178060A (ja) 画像形成装置、画像処理方法および画像形成プログラム
JP5391737B2 (ja) 画像形成装置、ジョブ実行方法、及びプログラム
JP2005304016A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP2007166230A (ja) ネットワークファクシミリ装置およびネットワークファクシミリシステム
JP2010206408A (ja) 画像形成装置、ジョブ実行方法、及びプログラム
JP2009004913A (ja) 画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP2010068039A (ja) 画像形成装置、ジョブ実行方法、及びプログラム
JP2010066813A (ja) 画像形成装置、ジョブ実行方法、及びプログラム
JP2010068040A (ja) 画像形成装置、ジョブ実行方法、及びプログラム
JP2010193188A (ja) 画像形成装置、ジョブ実行方法、及びプログラム