説明

ソフトウェア開発キット、これを用いて作成された画像形成装置用拡張アプリケーション及びこのアプリケーションを備えた携帯端末装置

【課題】ネイティブライブラリと複数種の中間言語のプログラムとの連携を効率よく行うことが可能なソフトウェア開発キット、これを用いて作成された画像形成装置用拡張アプリケーション及びこのアプリケーションを備えた携帯端末装置を提供する。
【解決手段】第1の中間言語又は第2の中間言語のユーザアプリケーションから、それぞれ第1のラッパークラス121又は第2のラッパークラス122を介し、これらに共通のネイティブライブラリ120を利用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数種の中間言語で、これらに共通のネイティブライブラリを利用するソフトウェア開発キット、これを用いて作成された画像形成装置用拡張アプリケーション及びこのアプリケーションを備えた携帯端末装置に関する。
【背景技術】
【0002】
セキュリティを確保するため、企業内に私用コンピュータを持ち込むことは一般に禁止されている。
【0003】
しかしながら、スマートフォンの普及に伴い、一定条件の下でこの禁止を解除することにより、ビジネス上の処理の効率化が図られようとしている。
【0004】
iPhone(登録商標)、Andoroid(登録商標)及びWindows Phone(登録商標)などのスマートフォンは、それぞれ異なるプラットフォーム及びプログラミング言語を用いているので、複数種のスマートフォンに対するアプリケーション開発期間が長くなる原因となる。
【0005】
一方、スマートフォンはデスクトップコンピュータに比べ、CPU能力やメモリ容量の点で劣るものの、データサイズが比較的大きい画像を処理する必要があるので、高速処理が要求される。この要求に応えるため、機械語に近くプラットフォームに非依存のC言語が用いられている。
【0006】
しかし、C言語は低級言語であるので、これを用いてネイティブライブラリを開発するとともにアプリケーションを開発すると、その期間が長くなる。このため、C言語は高速処理が要求される部分のみに用いられている。
【0007】
C言語で作成されコンパイルされたネイティブライブラリは、JNI(Java Native Interface)やC++/CLI(Common Language Infrastructure)を用いて、Java(登録商標)やC#で作成されコンパイルされた中間言語プログラムと連携させることができる。この点は、C++言語で作成されコンパイルされたネイティブライブラリについても同様である。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】http://ja.wikipedia.org/wiki/Java_Native_Interface
【非特許文献2】http://ja.wikipedia.org/wiki/C%2B%2B/CLI
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところが従来では、Java(登録商標)とC/C++との連携と、C#とC/C++との連携とが、それぞれ独立して行われていたので、ネイティブライブラリの開発及び改良が遅延し、結果として、複数種のスマートフォン用アプリケーションの開発及び改良が遅延する原因となっていた。
【0010】
本発明の目的は、このような問題点に鑑み、ネイティブライブラリと複数種の中間言語のプログラムとの連携を効率よく行うことが可能なソフトウェア開発キット、これを用いて作成された画像形成装置用拡張アプリケーション及びこのアプリケーションを備えた携帯端末装置を提供することにある。
【課題を解決するための手段】
【0011】
本発明によるソフトウェア開発キットの第1態様では、
複数のネイティブ関数又はネイティブメソッドをネイティブサブルーチンとして備えたネイティブライブラリと、
該複数のネイティブサブルーチンのそれぞれについて、第1の中間言語で記述された関数呼出しに応答して、該第1の中間言語で記述された関数呼出しコードの各引数の型を該ネイティブサブルーチンの対応する引数の型に変換して該ネイティブサブルーチンを呼出し、該ネイティブサブルーチンの戻り値の型を該第1の中間言語の対応する型に変換して該第1の中間言語で記述された関数の呼び出し元に返す型変換メソッドを備えた第1ラッパークラスと、
該複数のネイティブサブルーチンのそれぞれについて、第2の中間言語で記述された関数呼出しに応答して、該第2の中間言語で記述された関数呼出しコードの各引数の型を該ネイティブサブルーチンの対応する引数の型に変換して該ネイティブサブルーチンを呼出し、該ネイティブサブルーチンの戻り値の型を該第2の中間言語の対応する型に変換して該第2の中間言語で記述された関数の呼び出し元に返す型変換メソッドを備えた第2ラッパークラスとを有し、該ネイティブライブラリ、該第1ラッパークラス及び該第2ラッパークラスを中間言語用拡張ライブラリとして備えている。
【0012】
本発明によるソフトウェア開発キットの第2態様では、第1態様において、
該第1の中間言語はC#の中間言語であり、該第2の中間言語はJava(登録商標)の中間言語である。
【0013】
本発明によるソフトウェア開発キットの第3態様では、第1又は2態様において、携帯端末のユーザアプリケーション開発用である。
【発明の効果】
【0014】
上記第1態様の構成によれば、複数種の中間言語から、それぞれのラッパークラスを介し、これらに共通のネイティブライブラリを利用することができるので、ネイティブライブラリと複数種の中間言語のプログラムとの連携を効率よく行うことが可能となるという効果を奏する。
【0015】
また、複数種の言語のそれぞれのプログラマが、該ネイティブライブラリを、ネイティブコードであることを意識せずに該複数種の言語のそれぞれの拡張ライブラリとして用いることができるという効果を奏する。
【0016】
さらに、ネイティブライブラリを複数種の言語で共通に用いることができるので、上記第3態様の構成によれば、複数種の言語のそれぞれが選択的に用いられる携帯端末のアプリケーションの開発及び改良が遅延するのを防止することができるという効果を奏する。
【0017】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施例1に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。
【図2】図1中の画像形成装置の階層構造を示すブロック図である。
【図3】図1中のスマートフォンの階層構造を示すブロック図である。
【図4】図1中のPCのハードウェア構成を示す概略ブロック図である。
【図5】該PCをソフトウェア開発装置として利用する場合の概略機能ブロック図である。
【図6】(A)及び(B)はそれぞれ第1及び第2のプラットフォーム用の制御モジュール及びその下位側のラッパーAPIの概略ブロック図である。
【図7】図6(A)中のラッパークラスに含まれる型変換メソッドでの処理を示す概略フローチャートである。
【図8】(A)は第1のプラットフォーム用の制御モジュール作成手順を示す概略フローチャート、(B)は(A)中のステップS10の説明図である。
【図9】(A)は第2のプラットフォーム用の制御モジュール作成手順を示す概略フローチャート、(B)は(A)の処理の説明図である。
【実施例1】
【0019】
図1は、本発明の実施例1に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。
【0020】
このシステムでは、イントラネット10に、画像形成装置11と、ユーザ端末としてのパーソナルコンピュータ(PC)12と、無線LANのアクセスポイント13とが結合され、スマートフォン14がアクセスポイント13を介してイントラネット10に結合される。このイントラネット10がルータ(不図示)を介してインターネット20に結合される。インターネット20には、複数のクラウド21〜23が結合されている。また、インターネット20に基地局24が結合され、スマートフォン14及び25から基地局24を介しイントラネット10に結合される。
【0021】
複数のクラウド21〜23はそれぞれ、クラウドサービス31〜33を各種クライアント端末に対し提供可能となっている。
【0022】
ユーザは、PC12、スマートフォン14及び25などに拡張アプリケーションをインストールすることにより、これらからWebサービスとして、画像形成装置11のコピー、プリント及びファクシミリなどの基本的なサービスやクラウドサービス31〜33並びにこれらサービスを組み合わせたものを実行したり、画像形成装置11の設定情報を取得したり、この設定を変更したりすることが可能となる。
【0023】
図1では、簡単化の為に、複数のPC端末を1つのPC12で代表し、アクセスポイント13に対する複数の携帯端末を1つのスマートフォン14で代表し、基地局24に対する複数の携帯端末を1つのスマートフォン25で代表している。
【0024】
図2は、画像形成装置11の階層構造を示すブロック図である。
【0025】
画像形成装置11は、ハードウェアとしてスキャナ40、プリンタ41、FAX42、操作パネル43及びネットワークインターフェイス(NIC)44を備え、プラットフォーム50を介してそれぞれの基本的な入出力制御を行うことが可能となっている。
【0026】
プラットフォーム50は、前記制御を行ったり、電源を管理したり、TCP/IPなどのプロトコルで通信したりするオペレーティングシステム(OS)と、OSの下層の各種デバイスドライバと、OS上のJava(登録商標)VMやCLR(Common Language Runtime)などの仮想マシン(クラスライブラリ)と、標準ライブラリとを備えている。
【0027】
制御モジュール51は、拡張クラスライブラリであって、プラットフォーム50のAPI52を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション53は、制御モジュール51のAPI54を介し、ハードウェア40〜44をコピー、プリント及びファクシミリなどのような論理的な機能単位で制御可能となっている。
【0028】
ハードウェア40〜44に対する設定情報は、操作パネル43の操作に応答して、制御モジュール51により設定情報データベース55に格納され、また、格納された設定情報は、操作パネル43の操作に応答して制御モジュール51により、操作パネル43に表示される。
【0029】
システム管理部56は、API52又はAPI54を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。
【0030】
PC12又はスマートフォン14若しくは25から画像形成装置11へのサービス要求は、NIC44及びプラットフォーム50を介してWebサービスプロバイダ57に伝えられ、Webサービスプロバイダ57はその要求に応じて、API58を介し基本アプリケーション53を動作させ、API54を介し設定情報データベース55から設定情報を読み出し又は設定情報データベース55の設定を変更し、それらの結果を返信する。
【0031】
図3は、スマートフォン14の階層構造を示すブロック図である。
【0032】
スマートフォン14は、ハードウェアとしてカメラ60、傾きセンサ61、ブルーツース通信部62、操作パネル63及び通信アダプタ64などを備え、通信アダプタ64にアンテナ65が結合され、プラットフォーム70を介してそれぞれの基本的な入出力制御を行うことが可能となっている。
【0033】
プラットフォーム70は、前記制御を行ったり、電源を管理したり、TCP/IPなどのプロトコルで通信したりするOSと、OSの下層の各種デバイスドライバと、OS上の仮想マシンと、標準ライブラリとを備えている。
【0034】
制御モジュール71は、拡張クラスライブラリであって、プラットフォーム70のAPI72を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション73は、ブラウザ、動画プレーヤ及びアドレス帳などを含み、制御モジュール71のAPI74を介し、ハードウェア60〜64を論理的な機能単位で制御可能となっている。
【0035】
ハードウェア60〜64に対する設定情報は、操作パネル63の操作に応答して、制御モジュール71により設定情報データベース75に格納され、また、格納された設定情報は、操作パネル63の操作に応答して制御モジュール71により、操作パネル63に表示される。
【0036】
システム管理部76は、API72又は74を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。
【0037】
Webクライアント77は、操作パネル63の操作に応答してAPI72を介しそのURLにHTTPプロトコルで要求を送信し、返信された内容を操作パネル63に表示させる。
【0038】
拡張アプリケーション(ユーザアプリケーション)78は、基本アプリケーション73のAPI79を介して、単一又は複数の機能の組み合わせを実行させ、API74を介し設定情報データベース75の設定情報を読み取って操作パネル63に表示させ又は設定情報データベース75の設定情報を変更させる。
【0039】
Webサービスインターフェイス7Aは、Webサービスを内部メソッドのように呼び出すためのサービスプロキシと、送信時に該メソッドの呼び出しをXMLに変換するシリアライザと、受信時にXMLを該メソッドの戻り値に変換するデシリアライザとを備えている。
【0040】
上記拡張アプリケーション78はまた、Webサービスインターフェイス7A及びWebクライアント77を介し画像形成装置11のWebサービスプロバイダ57又はクラウド21〜23のサービス31〜33に対し要求を行い、その結果を、Webクライアント77及びWebサービスインターフェイス7Aを介して受信し、その内容を操作パネル63に表示させる。
【0041】
図4は、PC12のハードウェア構成を示す概略ブロック図である。図5は、PC12をソフトウェア開発装置として利用する場合の概略機能ブロック図である。
【0042】
ホストコンピュータPC12では、CPU91がインターフェイス92を介してメモリ93、補助記憶装置94、会話型入出力装置95及びネットワークインターフェイス96に結合されている。図4では、簡単化の為に、複数種のインターフェイスを1つのブロック92で表している。
【0043】
メモリインターフェイス92は例えば、BIOSが格納されたフラッシュメモリと、主記憶装置として用いられるDRAMとを備えている。補助記憶装置94には、OS、各種デバイスドライバ、ライブラリ及び仮想マシンがプラットフォーム(PF)として格納され、さらにソフトウェア開発キット(SDK)が格納されている。ネットワークインターフェイス96は、イントラネット10に結合されている。
【0044】
このソフトウェア開発装置は、図3中の拡張アプリケーション78の開発を支援するもであり、ネイティブライブラリを備えてスマートフォンでの処理を高速化可能にするとともに、複数のプラットフォームのうちの任意の1つを搭載したスマートフォンの拡張アプリケーション78を開発可能にし、しかも、マルチ言語対応にしてプログラミング言語を選択可能にしている。
【0045】
図5中、構成要素72A、171、173〜176及び179はそれぞれ図3中の構成要素72、71、73〜76及び79に対応している。これら構成要素72A、171、173〜176及び179は、図3中の対応する構成要素のうち、拡張アプリケーション78を開発するのに必要な部分のみを備えていればよい。ラッパーAPI172は、API110をラッパーすることによりAPI72と同じに見せかけるものである。
【0046】
PC12は、通常のSDKと同様に、テキストエディタ100、デザイナ101、デバッガ102及びビルダ103と、ユーザの操作に応答してこれらのいずれかを呼び出す処理やプロジェクト生成処理等を行うアプリ開発統合管理部104とを備えている。
【0047】
デザイナ101は、操作パネル63の画面設計のアプリケーション開発を支援するためのものであって、対話的ビジュアル設計に基づいてプログラムを自動生成するものである。
【0048】
ビルダ103は、複数の言語、例えばC#、C++、C及びJave(登録商標)のそれぞれに対応したコンパイラを備えている。
【0049】
拡張アプリケーション78のソースコードは、C#又はJava(登録商標)の言語で、C/C++よりも効率よく作成される。このソースコードは、ビルダ103内の対応するコンパイラにより、中間言語に翻訳される。この中間言語は、プラットフォーム内のC#ランタイム又はJavaランタイムの下で、解釈実行され又はJIT(Just In Time)コンパイルされて実行される。C#ランタイム及びJavaランタイムはそれぞれ、CLR(共通言語実行環境)及びJVM(Java仮想マシン)を備えている。
【0050】
ここで、図5の制御モジュール171は、アプリケーションレベルの通信や画像などを高速処理するクラスライブラリを備えており、これは、図6(A)に示すように、C又はC++のソースコードをコンパイルしたネイティブライブラリ120と、マルチ言語対応にするためC#及びJava(登録商標)のラッパークラスのソースコードをコンパイルしたラッパーAPI121及び122とを備えている。
【0051】
C#用ラッパーAPI121は、拡張アプリケーション78の中間コードの一部が、ネイティブライブラリ120内のC関数又はC++クラスのメソッド(ネイティブサブルーチン)を、C#のクラスのインスタンスのメソッドとして呼び出せるようにするためのクラスライブラリであり、C#の該メソッドのシグネチャをネイティブライブラリ120内のC関数又はC++クラスのメソッド(ネイティブサブルーチン)のシグネチャに変換する型変換メソッドを含んでいる。
【0052】
拡張アプリケーション78の中間コードの一部は、この型変換メソッド介して、ネイティブサブルーチンを呼び出す。
【0053】
図7は、この型変換メソッドでの処理を示す概略フローチャートである。
【0054】
(S0)C#のメソッド呼び出しコード(シグネチャ)に含まれる引数の型を、ネイティブライブラリ120内の対応するネイティブサブルーチンの引数の型に変換する。
【0055】
(S1)この引数を用いて該ネイティブサブルーチンを呼び出す。これにより、該ネイティブサブルーチンが実行されて、戻り値が生成される。
【0056】
(S3)この戻り値の型を、メソッド呼出元の対応する型(上記シグネチャの戻り値の型)に変換し、メソッド呼出元に返す。
【0057】
ラッパーAPI121は、このような型変換メソッドと、C#の仕様に基づいてメモリ管理を行うためのコンストラクタ及びデストラクタなどの言語仕様変換に必須のものとを含んだ1つ又は複数のクラス(クラスライブラリ)である。
【0058】
Java用ラッパークラス122もC#用ラッパーAPI121と同様である。
【0059】
C#用ラッパークラス121及びJavaラッパークラス122は、ラッパークラス生成ツール内の対応する言語のものを用いて生成される。即ち、ラッパークラス生成ツールは、C++/CLRを用いてC#ラッパークラス120を生成するツールと、JNIに基づいてJavaラッパークラス1211を生成するツールとを備えている。
【0060】
ネイティブライブラリ120は、特定のプラットフォーム70(PL1)のOS又は/及びライブラリ、例えば.NETフレームワークの標準ライブラリを用いて作成されている。ラッパーAPI172は、ネイティブライブラリ120から見てプラットフォーム70をPL1と見なせるようにするためのものである。
【0061】
PC12はまた、図6(B)に示すような制御モジュール171Aも備えている。
【0062】
制御モジュール171Aは、ネイティブライブラリ120と同一機能のネイティブライブラリ120Aと、C#用ラッパーAPI121及びJava(登録商標)用ラッパーAPI122とを備え、これらラッパーAPI121及びAPI122は制御モジュール171のものと共用である。
【0063】
ネイティブライブラリ120Aは、他のプラットフォーム70(PL2)のOS又は/及びライブラリ、例えばLinax(登録商標)のクラスライブラリを用いて作成されている。ラッパーAPI172Aは、ネイティブライブラリ120Aから見てプラットフォーム70をPL2と見なせるようにするためのものである。
【0064】
上記共用を可能にするため、ネイティブライブラリ120A内の各メソッドのシグネチャはネイティブライブラリ120のそれと同一になっている。すなわち、ネイティブライブラリ120と120AのC又はC++ソースコードでの相違部分は、プラットフォームPL1とPL2のいずれのAPIを使用しているか及びその周辺部分であり、他は互いに同一である。
【0065】
図8(A)は、制御モジュール171の作成手順を示す概略フローチャートである。
【0066】
(S10)プラットフォームPL1用のネイティブライブラリ120を作成する。このネイティブライブラリ120は、図8(B)に示すようにラッパーAPI172(クラスライブラリ)内の例えばAPI1〜API3を用いている。
【0067】
(S11)各言語用のラッパークラスライブラリ、すなわちラッパーAPI121及びラッパーAPI122を作成する。
【0068】
図9(A)は、制御モジュール171Aの作成手順を示す概略フローチャートである。
【0069】
(S20)プラットフォームPL2用のネイティブライブラリ120Aを作成する。このネイティブライブラリ120Aは、図9(B)に示すように、ラッパーAPI172A内の例えばAPI1A〜API3Aを用いている。
【0070】
ラッパーAPI121及びAPI122は既に作成され、制御モジュール171のそれらと共用であるので、さらに作成する必要がない。
【0071】
図5に戻って、PC12はさらに、スマートフォン14のハードウェアに対応したシミュレータ105を備えている。入力装置950及び表示装置951は図4中の会話型入出力装置95を構成している。図5中、拡張アプリケーション78及びWebサービスインターフェイス7A中のサービスプロキシ以外は、開発環境として予め備えられている。
【0072】
本実施例1によれば、複数種の言語のいずれかの拡張アプリケーション78から、対応するラッパーAPI121又は122を介し、これらに共通のネイティブライブラリ120を利用することができるので、ネイティブライブラリ120と複数種の中間言語のプログラムとの連携を効率よく行うことが可能となるという効果を奏する。
【0073】
また、複数種の言語のそれぞれのプログラマが、ネイティブライブラリ120を、ネイティブコードであることを意識せずに該複数種言語のそれぞれの中間言語用拡張ライブラリとして用いることができるという効果を奏する。
【0074】
さらに、ネイティブライブラリ120を複数種の言語で共通に用いることができるので、複数種の言語のそれぞれが選択的に用いられるスマートフォンアプリケーションの開発及び改良が遅延するのを防止することができるという効果を奏する。
【0075】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記実施例で述べた各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【0076】
例えば、ラッパーAPI120、122は、API174の一部であってもよい。換言すれば、ラッパーAPI120、122をAPI174の一部として用いる構成であってもよい。
【0077】
また、中間言語にコンパイルされるオブジェクト指向言語は、上記以外のものであってもよい。ネイティブライブラリはアセンブリ言語を一部又は全部用いて作成したものであってもよい。
【符号の説明】
【0078】
10 イントラネット
11 画像形成装置
12 PC
13 アクセスポイント
14、25 スマートフォン
20 インターネット
21〜23 クラウド
24 基地局
31〜33 クラウドサービス
40 スキャナ
41 プリンタ
42 FAX
43 操作パネル
44 NIC
50、70、110、PL1、PL2 プラットフォーム
51、71、171 制御モジュール
52、54、58、72、74、79、174、179 API
53、73、173 基本アプリケーション
55、75、175 設定情報データベース
56、76、176 システム管理部
57 Webサービスプロバイダ
60 カメラ
61 傾きセンサ
62 ブルーツース通信部
63 操作パネル
64 通信アダプタ
65 アンテナ
72A、172、172A、121、122 ラッパーAPI
77 Webクライアント
78、78A 拡張アプリケーション
7A、7B Webサービスインターフェイス
91 CPU
92 インターフェイス
93 メモリ
94 補助記憶装置
95 会話型入出力装置
96 ネットワークインターフェイス
100 テキストエディタ
101 デザイナ
102 デバッガ
103 ビルダ
104 アプリ開発統合管理部
105 スマートフォンハードウェアシミュレータ
120、120A ネイティブライブラリ

【特許請求の範囲】
【請求項1】
複数のネイティブ関数又はネイティブメソッドをネイティブサブルーチンとして備えたネイティブライブラリと、
該複数のネイティブサブルーチンのそれぞれについて、第1の中間言語で記述された関数呼出しに応答して、該第1の中間言語で記述された関数呼出しコードの各引数の型を該ネイティブサブルーチンの対応する引数の型に変換して該ネイティブサブルーチンを呼出し、該ネイティブサブルーチンの戻り値の型を該第1の中間言語の対応する型に変換して該第1の中間言語で記述された関数の呼び出し元に返す型変換メソッドを備えた第1ラッパークラスと、
該複数のネイティブサブルーチンのそれぞれについて、第2の中間言語で記述された関数呼出しに応答して、該第2の中間言語で記述された関数呼出しコードの各引数の型を該ネイティブサブルーチンの対応する引数の型に変換して該ネイティブサブルーチンを呼出し、該ネイティブサブルーチンの戻り値の型を該第2の中間言語の対応する型に変換して該第2の中間言語で記述された関数の呼び出し元に返す型変換メソッドを備えた第2ラッパークラスと、
を有し、該ネイティブライブラリ、該第1ラッパークラス及び該第2ラッパークラスを中間言語用拡張ライブラリとして備えていることを特徴とするソフトウェア開発キット。
【請求項2】
該第1の中間言語はC#の中間言語であり、該第2の中間言語はJava(登録商標)の中間言語であることを特徴とする請求項1に記載のソフトウェア開発キット。
【請求項3】
携帯端末のユーザアプリケーション開発用であることを特徴とする請求項1又は2に記載のソフトウェア開発キット。
【請求項4】
請求項1乃至3のいずれか1つに記載のソフトウェア開発キットを用いて作成されたことを特徴とする画像形成装置用拡張アプリケーション。
【請求項5】
請求項4に記載の画像形成装置用拡張アプリケーションがインストールされていることを特徴とする携帯端末装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−97745(P2013−97745A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−242937(P2011−242937)
【出願日】平成23年11月5日(2011.11.5)
【出願人】(000006150)京セラドキュメントソリューションズ株式会社 (13,173)
【Fターム(参考)】