JP2016014916A - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラム Download PDFInfo
- Publication number
- JP2016014916A JP2016014916A JP2014135174A JP2014135174A JP2016014916A JP 2016014916 A JP2016014916 A JP 2016014916A JP 2014135174 A JP2014135174 A JP 2014135174A JP 2014135174 A JP2014135174 A JP 2014135174A JP 2016014916 A JP2016014916 A JP 2016014916A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- data
- image
- communication
- printer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1292—Mobile client, e.g. wireless printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【解決手段】アプリケーションの印刷機能に用いられる印刷装置と通信する場合、アプリケーションの実行の際にプロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層において、プロセッサが実行可能なように予め翻訳された命令セットで構成された第2の層に対して印刷装置との通信を要求する。そして、第2の層において、その要求に従って、印刷装置と通信する。
【選択図】図9
Description
以下、携帯型情報端末上で、ウェブアプリケーションの1つである写真印刷アプリケーションを動作させたときの動作について説明する。写真印刷アプリケーションでは、ユーザが選択した画像に対して様々な画像処理(例えば、輝度補正し、スタンプ画像を追加)を適用した後に、印刷対象のコンテンツを印刷する。なお、本実施形態においては、写真印刷アプリケーションは、後述するハイブリッド型アプリケーションとして提供されている。
図1は、情報処理装置、特に、携帯型情報端末100のハードウェア構成の一例を示すブロック図である。同図において、CPU(中央演算装置)101は、各実施形態において説明する動作を、プログラムをROM102からRAM103に読み出して実行することにより実現する。ROM102は、CPU100により実行されるプログラム等を記憶するコンピュータ読取可能な記憶媒体である。RAM103は、例えば、CPU100によるプログラムの実行時に、各種データを一時的に記憶するためのワーキングメモリとして用いられる。2次記憶装置104は、例えばハードディスクやフラッシュメモリであり、例えば、画像ファイルや画像データ、画像解析などの処理結果を保持するデータベースなどを記憶する。タッチセンサ105は、タッチパネル上でのユーザの接触動作を検知するためのセンサである。ディスプレイ106は、写真印刷アプリケーション上の印刷設定画面等のユーザインタフェース画面や、画像処理結果などを表示する。ディスプレイ106は、タッチセンサ105を含んでも良い。
図2は、写真印刷アプリケーション(以下、アプリケーション)を実行するための、携帯型情報端末100上でのソフトウェア構成の一例を示す図である。図2に示すソフトウェアの各ブロックは、CPU101により実現される。本実施形態においては、携帯型情報端末100のソフトウェアは、スクリプト層201、ネイティブ層202、OS層203の3つの階層構造を有する。アプリケーションの機能は、図2に示す各層の連携により実現される。スクリプト層201は、HTML5、CSS(Cascading Style Sheets)3、Javascriptといったウェブ標準言語により、テキストデータで各種命令(スクリプト命令セット)が記述されている。各種命令とは、例えば、コンテンツの描画や画像の表示、動画の再生等の命令である。また、スクリプト層201は、それらのテキストデータを保持している。記述されたスクリプトは、アプリケーション実行環境上に存在するプロセッサ(CPU101)によりテキスト命令群が翻訳されて実行される。翻訳は、実行の度に命令文を一行ずつ動的に翻訳する形態や、アプリケーションを起動したときに翻訳する形態、アプリケーションを携帯型情報端末100にインストールしたときに翻訳する形態などで行われる。以下、スクリプト層201で処理することやスクリプト層201での内容を単にスクリプトとも呼ぶ。スクリプトの命令をデバイス(携帯型情報端末100)内で翻訳する際には、例えば、後述するネイティブ層202やOS層203のインタプリタの機能が使用される。なお、本実施形態においては、アプリケーションのUIの大部分がスクリプトで記述される。
スクリプト層201の画像取得部204は、ネイティブ層202に対して画像データの取得を依頼する。取得依頼方法は複数可能であり、例えば、ファイルの存在場所そのものを指定する絶対パス指定方法や、ダイアログ表示を促す方法などがある。ネイティブ層202の画像読込部205は、画像取得部204からの取得依頼に基づき、画像データを保持している領域であるネイティブ層202の画像群206から画像データを取得する。画像群206からの画像データの取得方法は、画像取得部204の依頼方法によって異なる。画像読込部205は、例えば、ファイルの絶対パスに基づき直接に画像データを取得したり、ダイアログ表示での選択に基づき画像データを取得する。
ネイティブ層202のデータ保持部209は、画像読込部205により読み込まれた画像データや、画像処理部210により画像処理が実行された画像データを保持する。ここで、保持される画像データはRGB展開されている。従って、画像読込部205により読み込まれて保持された画像データに対して、直ちに画像処理が実行可能である。また、記憶されている画像データは、スクリプト層201の画像取得部204で生成されたIDと対になっており、データ保持部209から画像データを取得する場合には、IDを指定する。
スクリプト層201のレンダリング部219は、出力(表示/印刷)対象の画像のレンダリングについてのスクリプトを作成するためのブロックであり、コンテンツ描画部211、コンテンツ操作部212、画像処理制御部213を含む。本実施形態では、レンダリング部219でスクリプト作成途中の画像はディスプレイ106には表示されない。コンテンツ描画部211は、印刷対象のコンテンツを、ウェブ標準言語で記述する。スクリプト層201のコンテンツ操作部212は、画像の操作をスクリプトに反映する。画像の操作とは、例えば、画像の拡大、移動、回転である。コンテンツ描画部211による記述には、コンテンツ操作部212で操作された内容も反映される。ここで記述されたコンテンツのスクリプトは、後述するOS層203のインタプリタ218で解釈され、ディスプレイ106に表示される。画像処理制御部213は、画像処理に用いる補正パラメータ(例えば、輝度の補正値)と、補正対象となる画像を決定する。それらのデータは、必要に応じてスクリプト層201のデータ変換部208で、ネイティブ層202で利用可能なデータ形式に変換されてネイティブ層202に渡される。
スクリプト層201のプリンタ制御部214は、レンダリング開始依頼、プリンタ検知の依頼、プリンタ設定画面の表示、プリント情報の生成及び送信を制御する。ここでのレンダリングとは、印刷に必要なビットマップデータを作成することをいう。プリンタ設定画面では、用紙のサイズ、用紙の種類、カラー/モノクロ印刷などの設定が可能である。ここで設定された項目に基づいて、ネイティブ層202のプリンタデータ生成部215は、プリント情報を生成する。
図3は、本実施形態における写真印刷処理の全体の手順を示すフローチャートである。図3の処理は、例えば、CPU101がROM102からプログラムをRAM103に読み出して実行することにより実現される。図12は、本実施形態におけるスクリプトで記述された写真印刷アプリケーション画面の一例を示す図である。
上述のように、ユーザによる写真画像選択ボタン1201の押下を検出することにより、S301の処理が開始する。図4は、S301の写真画像選択の処理を示すフローチャートである。図4のS401、S402、S409〜S411は、スクリプト層201により実行される処理であり、S403〜S408は、ネイティブ層202により実行される処理である。他のフローチャートにおいても同様に示す。
var CorrectionParam = function(){
this.brightness = 0;
}
上記の補正パラメータは、CorrectionParamオブジェクトの中に、明るさ補正用にbrightnessという変数名と、brightnessには0という値が格納されているということを表している。説明上、補正パラメータは、明るさ補正用のみとして示しているが、その他の補正処理用のパラメータを追加することにより、画像処理の種類を増やすことができる。
var base64Data = ネイティブからのBASE64データ
var canvas = document.createElement("canvas");//画像の描画領域確保
canvas.setAttribute("width", 100);//描画領域の大きさ設定
canvas.setAttribute("height", 100);
var context = canvas.getContext("2d");//描画領域に描画するAPIを持つオブジェクトの生成
var img = new Image();//Imageオブジェクトの生成
img.src = base64Data;//画像のURIを受け取ったBASE64データとする
img.onload = function(){//画像のロードが終わってから処理を開始する
context.drawImage(img, 0, 0);//contextオブジェクトのメソッドを用いて画像を描画領域に描画
document.getElementById("div").appendChild(canvas);}
本実施形態では、Canvasが何層にもなるレイヤ構造を用いている。それらのCanvasは、描画/移動/拡大などの操作が特定されると、divで指定される描画領域1206に対して順次追加されていく。通常、Canvasは1枚の画像として扱われるので、Canvasに写真画像を描画した後にスタンプ画像などを追加すると、スタンプ画像と合わせて1枚の画像とされる。それに対して、本実施形態では、レイヤ構造を用いてCanvasを重ねて表示するので、ユーザに対して1枚の画像のように表示するが、実際の描画物はそれぞれ独立したものとなっている。
ユーザによるスライドバー1202の設定を検出することにより、図3のS302の処理が開始する。図5は、S302の画像処理を示すフローチャートである。
ユーザによるスタンプ追加ボタン1203の押下を検出し、ハートスタンプ画像1208の選択を検出することにより、S303の処理が開始する。図6は、S303のスタンプ画像追加の処理を示すフローチャートである。
var ObjectParam = function(){
this.theta = 0;
this.posX = 10;
this.posY = 10;
this.width = 100;
this.height = 100;
}
このオブジェクトパラメータは、ObjectParamオブジェクトの中に、回転角度を示すthetaという変数名と、そのthetaに0という値が格納されていることを示している。同様に、基準点からのx座標を示すposX変数名が含まれ、posXには10という値が格納されているということを表している。ここで、基準点とは、描画領域1206の左上の座標である。同様に、posYは、描画領域1206の左上を基準点としたときのy座標、widthはスタンプ画像の描画領域の横幅、heightはスタンプ画像の描画領域の縦幅を表している。
S303でスタンプ画像が追加された後、ユーザによるディスプレイ106上のタップ操作を検出することにより、S304のスタンプ画像の特定処理が開始する。ここで、タップ操作とは、ユーザがディスプレイ106上を指で押すタッチ操作のことをいう。これは、PCで言うところの「クリック」に相当する。
ユーザによるスライドバー1204の操作を検出することにより、S305の処理が開始する。図8は、S305のスタンプ画像の操作処理を示すフローチャートである。
ユーザによるプリントボタン1205の押下を検出することにより、S306の処理が開始する。図9は、S306のプリンタ設定の処理を示すフローチャートである。
----------------------------------------------
01: <?xml version="1.0" encoding="utf-8" ?>
02: <cmd xmlns:trans="http://www.xxxx/yyyyy/">
03: <contents>
04: <operation>GetPrinterInfo</operation>
05: </contents>
06: </cmd>
----------------------------------------------
上記各行の左側に書かれている「01:」などの数値は説明を行うために付加した行番号であり、本来のXML形式のテキストには記述されない。
----------------------------------------------
01: <?xml version="1.0" encoding="utf-8" ?>
02: <cmd xmlns:trans="http://www.xxxx/yyyyy/">
03: <contents>
04: <device id=”Printer001” />
05: <mode = 1>
06: <media>GlossyPaper</media>
07: <size>A4</size>
08: <quality>1</quality>
09: <border>no</border>
10: </mode>
11: <mode = 2>
〜中略〜
</mode>
<mode = 3>
〜中略〜
</mode>
〜中略〜
</contents>
</cmd>
----------------------------------------------
1行目はヘッダであり、XML形式で記述していることを表している。
------------------------------------------------
<!DOCTYPE html>
<head>
<title>印刷設定 </title>
<script>
<!-- 用紙サイズ -->
var PaperSizeNum = GetPaperSizeNum();
var p = document.getElementById("PaperList");
var i;
for(i=0; i<PaperSizeNum; i++){
p.options[i] = new Option(GetPaperSize(i), GetPaperSize(i));
}
<!-- 用紙種類-->
var MediaTypeNum = GetMediaTypeNum();
var m = document.getElementById("MediaList");
var j;
for(j=0; j<MediaTypeNum; j++){
m.options[i] = new Option(GetMediaType(j),GetMediaType(j));
}
<!-- 印刷品位 -->
var QualityNum = GetQualityNum();
var q = document.getElementById("QualityList");
var k
for(k=0; k< QualityNum; k++){
q.options[i] = new Option(GetQuality(k), GetQuality(k));
}
<!-- 縁あり/なし-->
var BorderNum = GetBorderNum();
var b = document.getElementById("BorderList");
var l;
for(l=0; l<BorderNum; l++){
b.options[i] = new Option(GetBorder(l),GetBorder(l));
}
<!-- 印刷関数-->
function printer() {
SetPrint(document.getElementById("PaperList").value,
document.getElementById("MediaList").value,
document.getElementById("QualityList").value,
document.getElementById("BorderList ").value);
}
</script>
</head>
<!-- 表示部 -->
<body>
用紙サイズ:<select id="PaperList"></select><br />
用紙種類: <select id="MediaList"></select><br />
印刷品位: <select id="QualityList"></select><br />
縁なし: <select id="BorderList"></select><br />
<br />
<button id="btn1" onclick="printer()">印刷設定完了</button>
</body>
</html>
------------------------------------------------
上記のGetPaperSizeNum()、GetMediaTypeNum()、GetQualityNum()、GetBorderNum()はネイティブ関数であり、それぞれの項目がいくつあるかを取得する機能を備える。例えば、プリンタが対応している用紙サイズがA4、A5、B5、L判の4種類の場合、GetPaperSizeNum()は4を返す。
ユーザによる印刷設定画面1301の設定完了ボタン1302の押下を検出することにより、S307の処理が開始する。図10は、S307のレンダリング処理を示すフローチャートである。
S1020の処理が終了すると、S308の処理が開始する。図11は、S308のプリント処理を示すフローチャートである。
前述した例のように、本実施形態では、ネイティブ層202は、BonjourやHTTPのような通信プロトコルを使って、外部デバイス(例えば、プリンタ)との通信を実現する。通信する際の情報は、「0」または「1」の並びの組み合わせ方(フォーマット)によって表現される。その為、通信をする為に、伝える情報がどのようなフォーマットになっているかを規定しておく必要がある。このフォーマットの規定が通信プロトコルである。アプリケーションと外部デバイスとの間で異なる様々な情報を通信する例を説明したが、情報を示すフォーマットが異なるので、アプリケーションは、通信する際に異なる複数の通信プロトコルを扱う必要がある。アプリケーションが複数の通信プロトコルを扱うことにより、外部デバイスの複数の機能を利用することが可能となる。
第1の実施形態では、プリント実行を1つの通信プロトコルで行う形態を説明した。本実施形態では、プリント実行を異なる複数の通信プロトコルにより行う形態を説明する。以下、第1の実施形態と異なる点について説明する。つまり、本実施形態では、第1の実施形態と同様のハードウェア構成とソフトウェア構成を備える。また、プリンタ接続とプリンタ設定における通信プロトコルは、図14において説明した通りであり、プリント実行の通信プロトコルについて以下説明する。
・プリントスピード設定
・プリント品位設定
・カラー/モノクロ設定
・画像補正設定
・用紙設定
・給紙トレイ設定
・排紙トレイ設定
・用紙と例えばインクジェットプリンタの記録ヘッドとの距離設定
・余白なしプリント時の用紙からのはみ出しプリント量の設定
プリントデータ部について説明する。プリントデータ部は、例えば、図11のS1101で例示した画像データを表すバイナリデータ群である。また、画像データに対してプリンタ側で全ての画像処理を実施する場合には、RGBの多値データを表すバイナリデータ群である。また、アプリケーション側で画像補正のみ実施する場合は、画像補正済みのRGBの多値データを表すバイナリデータ群である。また、プリンタの色材に対応した色にデータ分解し、量子化までをアプリケーション側で実施する場合は、例えばCMYKの量子化データを表すバイナリデータ群である。
本実施形態では、プリント実行中に第1の実施形態と第2の実施形態で説明した通信プロトコルとは別の通信プロトコルを用いて、プリンタのステータスを確認する形態を説明する。以下、第1及び第2の実施形態と異なる点について説明する。つまり、本実施形態では第1の実施形態と同様のハードウェア構成とソフトウェア構成を備える。また、プリンタ接続、プリンタ設定、およびプリント実行における通信プロトコルは、図15において説明した通りである。
・色材残量
・用紙残量
・プリント進行状況
図16を参照しながら、ステータス確認における通信プロトコルを説明する。ステータス確認においては、スクリプト層201は、ネイティブ層202に対して関数Eを呼び出す。関数Eは、接続したプリンタのステータスを取得する関数である。関数Eが呼び出されると、ネイティブ層202は、接続したプリンタと通信プロトコルEにより、ステータスを取得する。通信プロトコルEは、例えば、前述のHTTPやHTTPを拡張したGENA(General Event Notification Architecture)である。プリンタのステータスを取得すると、ネイティブ層202は、スクリプト層201に対して、取得したステータスを伝えるスクリプトEを生成して送る。スクリプト層201は、スクリプトEを翻訳して、ステータスを知ることが可能となる。
------------------------------------------------
<section>
<h2>画像処理</h2>
<p><progress value="70" max="100"></progress></p>
</section>
------------------------------------------------
また、別の例として、スクリプトUIEに以下のHTMLを記述すると、色材や用紙の残量がないことを示すエラーメッセージを表示することができる。
------------------------------------------------
<html>
<head>
<script type="text/javascript" language="javascript">
function error() {
window.alert(ERROR_MESSAGE \n);
}
</script>
</head>
</html>
------------------------------------------------
以上のように、外部デバイスとの通信が制限されるスクリプト層201は、ネイティブ層202を介して、外部デバイスとの通信を行うことが可能となる。また、プリントデータを通信するプロトコルと異なる通信プロトコルにより、ユーザにプリンタの現在の状態を知らせることが可能となる。
上記の各実施形態では、携帯型情報端末100上で、ハイブリッド型アプリケーションを動作させる構成について説明した。しかしながら、そのような構成に限定されることはなく、例えば、アプリケーションが動作する環境は、スマートフォンやタブレットPCを始めとする携帯型情報端末の他に、PCやサーバ、ゲーム機、デジタルカメラなどでも良い。
Claims (17)
- プロセッサと、
アプリケーションの実行の際に前記プロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサが実行可能なように予め翻訳されている命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムを記憶する記憶手段と、
前記アプリケーションの印刷機能に用いられる印刷装置と通信する場合、前記第1の層において、前記第2の層に対して前記印刷装置との通信を要求する要求手段と、
前記第2の層において、前記要求手段による要求に従って、前記印刷装置と通信する通信手段と、
を備えることを特徴とする情報処理装置。 - 前記通信手段は、前記印刷装置から前記印刷装置の情報を取得することを特徴とする請求項1に記載の情報処理装置。
- 前記第1の層において、前記通信手段により取得された前記印刷装置の情報に基づいて印刷設定画面を表示する表示手段、をさらに備えることを特徴とする請求項2に記載の情報処理装置。
- 前記通信手段は、前記印刷装置が対応する通信プロトコルに従って、前記印刷装置と通信することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記印刷装置が対応する通信プロトコルが複数である場合、前記要求手段は、各プロトコルに応じて要求することを特徴とする請求項4に記載の情報処理装置。
- 前記通信手段は、第1の通信プロトコルに従って前記印刷装置と接続し、第2の通信プロトコルに従って前記印刷装置の機能情報を取得し、第3のプロトコルに従って印刷対象の画像データを前記印刷装置に送信することを特徴とする請求項4又は5に記載の情報処理装置。
- 前記通信手段は、第4の通信プロトコルに従って、前記印刷装置のステータス情報を取得することを特徴とする請求項6に記載の情報処理装置。
- 前記通信手段は、印刷ジョブが印刷設定と前記画像データとを含む場合に、それぞれを異なる複数の通信プロトコルに従って前記印刷装置に送信することを特徴とする請求項6又は7に記載の情報処理装置。
- プロセッサと、
アプリケーションの実行の際に前記プロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサが実行可能なように予め翻訳されている命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムを記憶する記憶手段とを有する情報処理装置において実行される情報処理方法であって、
前記アプリケーションの印刷機能に用いられる印刷装置と通信する場合、前記第1の層において、前記第2の層に対して前記印刷装置との通信を要求する要求工程と、
前記第2の層において、前記要求工程における要求に従って、前記印刷装置と通信する通信工程と、
を有することを特徴とする情報処理方法。 - アプリケーションの実行の際にプロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサが実行可能なように予め翻訳されている命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムであって、
前記アプリケーションの印刷機能に用いられる印刷装置と通信する場合、前記第1の層において、前記第2の層に対して前記印刷装置との通信を要求し、
前記第2の層において、当該要求に従って、前記印刷装置と通信する、
ようにコンピュータを機能させるためのプログラム。 - 当該通信においては、前記印刷装置から前記印刷装置の情報を取得する請求項10に記載のプログラム。
- 前記第1の層において、取得された前記印刷装置の情報に基づいて印刷設定画面を表示する、ようにコンピュータをさらに機能させるための請求項11に記載のプログラム。
- 当該通信においては、前記印刷装置が対応する通信プロトコルに従って、前記印刷装置と通信する請求項10乃至12のいずれか1項に記載のプログラム。
- 前記印刷装置が対応する通信プロトコルが複数である場合、各プロトコルに応じて要求される請求項13に記載のプログラム。
- 当該通信においては、第1の通信プロトコルに従って前記印刷装置と接続し、第2の通信プロトコルに従って前記印刷装置の機能情報を取得し、第3のプロトコルに従って印刷対象の画像データを前記印刷装置に送信することを特徴とする請求項13又は14に記載のプログラム。
- 当該通信においては、第4の通信プロトコルに従って、前記印刷装置のステータス情報を取得する請求項15に記載のプログラム。
- 当該通信においては、印刷ジョブが印刷設定と前記画像データとを含む場合に、それぞれを異なる複数の通信プロトコルに従って前記印刷装置に送信することを特徴とする請求項15又は16に記載のプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014135174A JP6363888B2 (ja) | 2014-06-30 | 2014-06-30 | 情報処理装置、およびプログラム |
US14/740,678 US9678700B2 (en) | 2014-06-30 | 2015-06-16 | Information processing apparatus, information processing method, and storage medium storing program for requesting communication and communicating with a printing apparatus supporting a plurality of communication protocols |
US15/586,660 US10019206B2 (en) | 2014-06-30 | 2017-05-04 | Information processing apparatus that transmits data to a printing apparatus using a hybrid application program, information processing method, and storage medium storing program |
US16/002,466 US10318213B2 (en) | 2014-06-30 | 2018-06-07 | Information processing apparatus, information processing method, and storage medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014135174A JP6363888B2 (ja) | 2014-06-30 | 2014-06-30 | 情報処理装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016014916A true JP2016014916A (ja) | 2016-01-28 |
JP6363888B2 JP6363888B2 (ja) | 2018-07-25 |
Family
ID=54930517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014135174A Active JP6363888B2 (ja) | 2014-06-30 | 2014-06-30 | 情報処理装置、およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (3) | US9678700B2 (ja) |
JP (1) | JP6363888B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020140289A (ja) * | 2019-02-27 | 2020-09-03 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6378645B2 (ja) | 2014-06-13 | 2018-08-22 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP6463914B2 (ja) | 2014-06-30 | 2019-02-06 | キヤノン株式会社 | 情報処理装置、処理方法、及びプログラム |
JP6363888B2 (ja) | 2014-06-30 | 2018-07-25 | キヤノン株式会社 | 情報処理装置、およびプログラム |
JP6138088B2 (ja) | 2014-06-30 | 2017-05-31 | キヤノン株式会社 | 情報処理装置、制御方法、及びソフトウェアプログラム |
JP6649832B2 (ja) | 2016-03-30 | 2020-02-19 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
JP6799396B2 (ja) | 2016-07-01 | 2020-12-16 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP6520870B2 (ja) * | 2016-08-31 | 2019-05-29 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
JP6786342B2 (ja) | 2016-10-18 | 2020-11-18 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
US10671412B1 (en) * | 2019-03-21 | 2020-06-02 | Adobe Inc. | Fast cloning for background processes in scripting environments |
US20210092238A1 (en) * | 2019-09-20 | 2021-03-25 | Scanning Revolution LLC | Cloud-based document management system |
CN111897575A (zh) * | 2020-08-07 | 2020-11-06 | 掌阅科技股份有限公司 | 应用克隆方法、电子设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004127252A (ja) * | 2002-07-30 | 2004-04-22 | Canon Inc | 情報処理装置、情報処理方法、制御プログラム |
JP2010208266A (ja) * | 2009-03-12 | 2010-09-24 | Konica Minolta Business Technologies Inc | プリントシステム、画像形成装置、プリントサーバ、プリントデータ管理方法および画像形成方法 |
JP2010271789A (ja) * | 2009-05-19 | 2010-12-02 | Ricoh Co Ltd | プリンタシステム |
JP2012221093A (ja) * | 2011-04-06 | 2012-11-12 | Seiko Epson Corp | 印刷ドライバー及び印刷指令装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7187459B2 (en) * | 2001-07-19 | 2007-03-06 | Seiko Epson Corporation | Printing system in which programs required for printer operation are downloaded from computer |
JP4164467B2 (ja) * | 2004-03-26 | 2008-10-15 | キヤノン株式会社 | 画像処理装置、画像処理制御方法、及びプログラム |
US20060017958A1 (en) * | 2004-07-23 | 2006-01-26 | Jackson Lee W | Printer method and system |
KR20100048965A (ko) * | 2010-03-12 | 2010-05-11 | 블루가 (주) | 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
JP5761923B2 (ja) | 2010-04-28 | 2015-08-12 | キヤノン株式会社 | 印刷システム、情報処理装置及びその方法 |
JP6438218B2 (ja) | 2014-06-13 | 2018-12-12 | キヤノン株式会社 | 装置、方法、及びプログラム |
JP6386803B2 (ja) | 2014-06-13 | 2018-09-05 | キヤノン株式会社 | 装置、方法、及びプログラム |
JP6378645B2 (ja) | 2014-06-13 | 2018-08-22 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP6478487B2 (ja) | 2014-06-13 | 2019-03-06 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP6525517B2 (ja) | 2014-06-30 | 2019-06-05 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP6138088B2 (ja) | 2014-06-30 | 2017-05-31 | キヤノン株式会社 | 情報処理装置、制御方法、及びソフトウェアプログラム |
JP5901704B2 (ja) | 2014-06-30 | 2016-04-13 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
JP6363888B2 (ja) * | 2014-06-30 | 2018-07-25 | キヤノン株式会社 | 情報処理装置、およびプログラム |
JP6463914B2 (ja) | 2014-06-30 | 2019-02-06 | キヤノン株式会社 | 情報処理装置、処理方法、及びプログラム |
JP6381319B2 (ja) | 2014-06-30 | 2018-08-29 | キヤノン株式会社 | 情報処理装置、処理方法、及びプログラム |
-
2014
- 2014-06-30 JP JP2014135174A patent/JP6363888B2/ja active Active
-
2015
- 2015-06-16 US US14/740,678 patent/US9678700B2/en active Active
-
2017
- 2017-05-04 US US15/586,660 patent/US10019206B2/en active Active
-
2018
- 2018-06-07 US US16/002,466 patent/US10318213B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004127252A (ja) * | 2002-07-30 | 2004-04-22 | Canon Inc | 情報処理装置、情報処理方法、制御プログラム |
JP2010208266A (ja) * | 2009-03-12 | 2010-09-24 | Konica Minolta Business Technologies Inc | プリントシステム、画像形成装置、プリントサーバ、プリントデータ管理方法および画像形成方法 |
JP2010271789A (ja) * | 2009-05-19 | 2010-12-02 | Ricoh Co Ltd | プリンタシステム |
JP2012221093A (ja) * | 2011-04-06 | 2012-11-12 | Seiko Epson Corp | 印刷ドライバー及び印刷指令装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020140289A (ja) * | 2019-02-27 | 2020-09-03 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
JP7263837B2 (ja) | 2019-02-27 | 2023-04-25 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20170235526A1 (en) | 2017-08-17 |
JP6363888B2 (ja) | 2018-07-25 |
US9678700B2 (en) | 2017-06-13 |
US20180285026A1 (en) | 2018-10-04 |
US20150378653A1 (en) | 2015-12-31 |
US10019206B2 (en) | 2018-07-10 |
US10318213B2 (en) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6363888B2 (ja) | 情報処理装置、およびプログラム | |
JP6386803B2 (ja) | 装置、方法、及びプログラム | |
JP6378645B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP5901704B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP6525517B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP6478487B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6381319B2 (ja) | 情報処理装置、処理方法、及びプログラム | |
JP6138088B2 (ja) | 情報処理装置、制御方法、及びソフトウェアプログラム | |
US10620892B2 (en) | Information processing apparatus that displays a print setting screen based on information of a printing apparatus in a format interpretable in a first program layer and processing method thereof | |
JP6438218B2 (ja) | 装置、方法、及びプログラム | |
JP6360370B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6008897B2 (ja) | 装置、方法、及びプログラム | |
JP6757368B2 (ja) | 情報処理装置、処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180409 |
|
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: 20180601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180629 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6363888 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |