JP2021007047A - プログラム、情報処理装置及び制御方法 - Google Patents
プログラム、情報処理装置及び制御方法 Download PDFInfo
- Publication number
- JP2021007047A JP2021007047A JP2020170178A JP2020170178A JP2021007047A JP 2021007047 A JP2021007047 A JP 2021007047A JP 2020170178 A JP2020170178 A JP 2020170178A JP 2020170178 A JP2020170178 A JP 2020170178A JP 2021007047 A JP2021007047 A JP 2021007047A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- data
- application
- 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
Landscapes
- Telephone Function (AREA)
Abstract
【課題】アプリケーションから共有機能により受け取ったデータの印刷処理を実行可能にする。【解決手段】情報処理装置の印刷システムに対してプリンタの印刷機能を提供する印刷プラグイン215として動作可能なプログラムは、アプリケーションから共有機能により第1のデータを受け取ったことに応じて、印刷システムを呼び出し、当該呼び出した印刷システムによる処理に基づき、第1のデータから得られる所定のファイル形式の前記第2のデータを用いて、プリンタで印刷するための印刷処理を実行するように情報処理装置のプロセッサを機能させる。【選択図】図9
Description
本発明は、プログラム、情報処理装置及び制御方法に関する。
モバイルOS(Operating System)において、印刷データをプリンタに送信する技術がある。例えば、Android(登録商標)といったモバイル端末に搭載されるOSには、各アプリケーション(以下、アプリと称する)に共通の印刷機能を提供する「印刷システム」がある。印刷システムには、「印刷プラグイン」といわれる各プリンタベンダーが各自の印刷処理装置に適応させるための依存処理をプラグイン形式でアドインできる仕組みがある。例えば、Canon Print Service(登録商標)は、Androidの「印刷プラグイン」として提供されており、Google Play(登録商標)からダウンロードしてインストールすることができる。
ユーザがアプリから印刷を行う手段としては、印刷システムを使用する方法と、Intentという仕組みを使う方法がある。Intentとは、Android上でアプリから他のアプリ対してファイルを渡す(共有する)ことができるアプリ関連の仕組みのことである。ユーザはアプリが印刷システムに対応していない場合でも、Intentで印刷アプリを指定することで印刷を行うことができる。特許文献1は、印刷データを生成する印刷アプリが、データ出力元のアプリからIntentで受け渡されたデータがテキストデータであるかURLを含むかなどに応じて印刷データを生成する技術を開示している。
しかしながら、特許文献1では印刷アプリにおいて印刷データを生成しなければならず、印刷アプリが対応しているファイルフォーマットからしか印刷データに変換できない。また、印刷アプリをインストールしていない場合には特許文献1の印刷方法を使うことができない。そこで、アプリが印刷システムに対応しておらず、かつ、Intentで利用できる印刷アプリがない場合でも、画像、HTML、PDF、Officeファイル等幅広いファイルフォーマットを印刷データであるPDLに変換し、印刷することが求められる。
本発明は、アプリケーションから共有機能により受け取ったデータの印刷処理を実行可能にすることを目的とする。
上記課題を解決するために、本発明のプログラムは、情報処理装置の印刷システムに対してプリンタの印刷機能を提供するプラグインとして動作可能なプログラムであって、アプリケーションから共有機能により第1のデータを受け取ったことに応じて、前記印刷システムを呼び出し、前記呼び出した印刷システムによる処理に基づき、前記第1のデータから得られる所定のファイル形式の第2のデータを用いて、前記プリンタで印刷するための印刷処理を実行するように、前記情報処理装置のプロセッサを機能させる。
本発明によれば、アプリケーションから共有機能により受け取ったデータの印刷処理が実行可能になる。
(実施例1)
まず、本実施例におけるシステムの全体構成について説明する。
図1は、本実施例におけるハードウェアの全体構成の一例を示したものである。本システムは、情報処理端末110とプリンタA120とが、ネットワーク100で接続されている。このとき、情報処理端末およびプリンタはネットワーク上に複数台あってもよい。
ネットワーク100は標準的なネットワーク接続であり、インターネット、イントラネットのどちらの形態であってもよい。接続方法は、情報処理端末110とプリンタA120が互いにネットワークに接続されていればどのような接続形態でも構わない。例えば、Wi−Fiルータを介してネットワークを形成する方法や、Wi−Fiダイレクトで情報処理端末110とプリンタA120を直接接続する方法などがある。
まず、本実施例におけるシステムの全体構成について説明する。
図1は、本実施例におけるハードウェアの全体構成の一例を示したものである。本システムは、情報処理端末110とプリンタA120とが、ネットワーク100で接続されている。このとき、情報処理端末およびプリンタはネットワーク上に複数台あってもよい。
ネットワーク100は標準的なネットワーク接続であり、インターネット、イントラネットのどちらの形態であってもよい。接続方法は、情報処理端末110とプリンタA120が互いにネットワークに接続されていればどのような接続形態でも構わない。例えば、Wi−Fiルータを介してネットワークを形成する方法や、Wi−Fiダイレクトで情報処理端末110とプリンタA120を直接接続する方法などがある。
次に、本実施例における情報処理端末110及びプリンタA120の構成を、図2を用いて説明する。
情報処理端末110は、PDA(Personal Data Assistant)やスマートフォンなど通常のモバイル端末であり、小型端末用のオペレーティングシステムや、通話、データ通信を制御するプログラムが動作している情報処理装置である。情報処理端末110は、ネットワークコントローラ114を使用して無線通信または有線での通信が可能である。情報処理端末110におけるハードウェアの各構成要素は、システムバス119に接続されている。
情報処理端末110は、PDA(Personal Data Assistant)やスマートフォンなど通常のモバイル端末であり、小型端末用のオペレーティングシステムや、通話、データ通信を制御するプログラムが動作している情報処理装置である。情報処理端末110は、ネットワークコントローラ114を使用して無線通信または有線での通信が可能である。情報処理端末110におけるハードウェアの各構成要素は、システムバス119に接続されている。
ROM112は、不揮発性の記憶装置であり、情報処理端末110におけるOSや、通話、データ通信を制御するアプリ、情報処理端末110の再起動後も保持しておく必要のある各種動作モード設定、稼働ログなどが記憶される。ROM112に格納されたデータ通信を制御するアプリとしては、MailソフトやWebブラウザなどが挙げられる。これらのROM112に記憶された情報は、CPU111で処理される。また、CPU111がROM112に記憶されているプログラムに基づき処理を実行することによって、図3に示されるような情報処理端末110のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
RAM113は、プログラムを実行するためのワークメモリエリアである。また、印刷時にアプリが生成する画像情報などを一時記憶するためのメモリでもある。
RAM113は、プログラムを実行するためのワークメモリエリアである。また、印刷時にアプリが生成する画像情報などを一時記憶するためのメモリでもある。
ネットワークコントローラ114はネットワーク通信を制御するためのものであり、通信にWi−Fi、Wi−Fiダイレクト、公衆回線3G/4G、有線LAN接続などが使用される。
表示制御部115は、情報処理端末110のディスプレイ117にて出力する情報の制御を行っている。入力制御部116は、情報処理端末110の入力部118においてボタンやタッチパネルなどを介してユーザが指示した情報を制御している。情報処理端末110のアプリは、表示制御部115、入力制御部116を利用して、ネットワーク通信情報や情報処理端末110のさまざまな情報をユーザに提供する。
表示制御部115は、情報処理端末110のディスプレイ117にて出力する情報の制御を行っている。入力制御部116は、情報処理端末110の入力部118においてボタンやタッチパネルなどを介してユーザが指示した情報を制御している。情報処理端末110のアプリは、表示制御部115、入力制御部116を利用して、ネットワーク通信情報や情報処理端末110のさまざまな情報をユーザに提供する。
プリンタA120は、画像処理装置の一例である。ネットワークI/F121は、ネットワーク100を介して情報処理端末110との接続に使用される。プリンタA120はネットワークI/F121を介して情報処理端末110との通信処理が可能となっており、プリンタA120内の情報を情報処理端末110に通知可能に構成されている。
CPU122は、ROM124に記憶された制御プログラムに基づいてシステムバス126に接続されるプリンタエンジン125に出力情報としての画像信号を出力する。さらにCPU122は、ROM124に記憶されたアプリプログラム等に基づいて処理を実行する。RAM123は、CPU122の主メモリ、ワークエリア等として機能する。なお、RAM123は、制御プログラムの実行、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。ROM124には、CPU122の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、プリンタA120上で利用される情報等が記憶される。
プリンタエンジン125は、出力情報としての画像信号を出力する。システムバス126は、各デバイスを接続する。
CPU122は、ROM124に記憶された制御プログラムに基づいてシステムバス126に接続されるプリンタエンジン125に出力情報としての画像信号を出力する。さらにCPU122は、ROM124に記憶されたアプリプログラム等に基づいて処理を実行する。RAM123は、CPU122の主メモリ、ワークエリア等として機能する。なお、RAM123は、制御プログラムの実行、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。ROM124には、CPU122の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、プリンタA120上で利用される情報等が記憶される。
プリンタエンジン125は、出力情報としての画像信号を出力する。システムバス126は、各デバイスを接続する。
図3は、本実施例における情報処理端末110及びプリンタA120のソフトウェア構成を説明するブロック図である。
まず、情報処理端末110のソフトウェア構成について説明する。なお、情報処理端末110を構成する各モジュールはそれぞれROM112に保存されたファイルとして存在するプログラムモジュールである。そして、実行時にOSやそのモジュールを利用するモジュールによってRAM113にロードされ実行される。また、本実施例に記載されている処理は、ROM112に記憶されているアプリ、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
まず、情報処理端末110のソフトウェア構成について説明する。なお、情報処理端末110を構成する各モジュールはそれぞれROM112に保存されたファイルとして存在するプログラムモジュールである。そして、実行時にOSやそのモジュールを利用するモジュールによってRAM113にロードされ実行される。また、本実施例に記載されている処理は、ROM112に記憶されているアプリ、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
印刷システム210は、App A211などの各アプリに共通の印刷インターフェースを提供する。アプリは印刷システムで定義されたインターフェースを実装することにより、Plugin D214や印刷プラグイン215などが提供する印刷機能を実行することができる。このとき印刷システムはPlugin D214や印刷プラグイン215などの印刷プラグインに印刷や探索の命令を行う。
App A211、App B212、App C213は情報処理端末110のOS上で動作する一般的なアプリであり、Webブラウザ、PDFビューワー、Officeビューワー、写真アプリ、メールアプリ等のアプリがある。App A211、App B212は印刷システム210で定義された印刷インターフェースを実装しており、各印刷プラグインを使って印刷機能を利用できる。また、App B212、App C213はIntentで他のアプリとデータを受け渡す(共有する)ことができる。Intentは、アプリケーションと他のアプリケーションの間でデータの共有(受け渡し)を行うための共有機能である。例えば、App Bが写真アプリである場合は、Intentにより他のアプリと写真データの受け渡しをすることができる。
App A211、App B212、App C213は情報処理端末110のOS上で動作する一般的なアプリであり、Webブラウザ、PDFビューワー、Officeビューワー、写真アプリ、メールアプリ等のアプリがある。App A211、App B212は印刷システム210で定義された印刷インターフェースを実装しており、各印刷プラグインを使って印刷機能を利用できる。また、App B212、App C213はIntentで他のアプリとデータを受け渡す(共有する)ことができる。Intentは、アプリケーションと他のアプリケーションの間でデータの共有(受け渡し)を行うための共有機能である。例えば、App Bが写真アプリである場合は、Intentにより他のアプリと写真データの受け渡しをすることができる。
Plugin D214、印刷プラグイン215は印刷プラグインであり、印刷システムに対して印刷および探索等の機能を提供するためのサービスとして存在する。印刷プラグインは、各プリンタベンダーが各自の印刷処理装置に適応させるための依存処理をプラグイン形式でアドインできる仕組みである。Plugin D214や印刷プラグイン215が印刷システム210に提供する機能は、ネットワーク上のプリンタ探索機能、印刷機能、印刷設定機能、ステータス通知機能などがあり、印刷プラグインは複数インストールされている場合もある。
印刷プラグイン215はアプリとしても動作し、他のアプリとIntentによる情報の共有をすることができる。印刷プラグイン215は本実施例において、一時的にアプリとして振る舞い、印刷アプリから印刷データを一時的に受け取り、印刷システムを起動して印刷データを渡す処理を行う。その後、印刷プラグイン215は、印刷システムからPDFに変換された印刷データを受け取り、ドライバーとして振る舞い印刷を実行する。印刷プラグイン215は、印刷ジョブ生成モジュール216からネットワークモジュール219までの各種モジュールと、マニフェストファイル220を備える。
印刷ジョブ生成モジュール216は、印刷システム210からPDF形式のデータをうけて、ROM112およびRAM113の情報からプリンタA120で印刷可能なPDLデータを生成する。PDLデータは、プリンタA120で印刷を行えるファイル形式の一例である。UI表示用モジュール217は、印刷プラグイン215固有の設定画面を表示させるものである。例えばEULAを表示する画面や、拡張設定を行う画面、ダイアログを表示する機能を持つ。通信監理モジュール218は、印刷プラグイン215とプリンタA120の通信を制御するモジュールであり、プリンタの能力取得や状態取得、プリンタ探索、印刷ジョブ生成モジュール216で生成したPDLデータの送信を管理する。ネットワークモジュール219は、印刷プラグイン215とプリンタA120などのプリンタを接続するモジュールであり、HTTP、SNMP等のプロトコルを使用して外部の機器と通信する機能を提供する。
マニフェストファイル220(共有ファイル)は印刷プラグインが保持する静的ファイルであり、そのなかにはIntentフィルタと呼ばれる宣言がある。IntentフィルタとはIntentを使ってアプリとデータを共有する際に、どのファイルフォーマットをサポートするかを宣言するためのものである。
図4はIntentフィルタの一例であり、XMLで記載されている。Intentフィルタ401は、印刷プラグイン215内に保持されている。また、本実施例においてはIntentフィルタには、印刷システム210が処理可能なファイルフォーマットを記載している。ファイルフォーマットの一例としては、PDFファイル、HTMLファイル、画像ファイルがある。この処理可能なファイルフォーマットの記載により、App B212等のアプリがファイル形式を指定してIntentによるデータ共有を行った場合に、図8のアプリ選択画面801に示されるように印刷プラグイン215が連携の候補として挙がる。図8の詳細については後述する。
図4はIntentフィルタの一例であり、XMLで記載されている。Intentフィルタ401は、印刷プラグイン215内に保持されている。また、本実施例においてはIntentフィルタには、印刷システム210が処理可能なファイルフォーマットを記載している。ファイルフォーマットの一例としては、PDFファイル、HTMLファイル、画像ファイルがある。この処理可能なファイルフォーマットの記載により、App B212等のアプリがファイル形式を指定してIntentによるデータ共有を行った場合に、図8のアプリ選択画面801に示されるように印刷プラグイン215が連携の候補として挙がる。図8の詳細については後述する。
印刷アプリ221はAndroid上で単独で動作する印刷用アプリケーションであり、App B212、App C213からIntentの指示を受けて印刷を行うことができる。印刷アプリ221はサポートするファイルフォーマットからPDLへの変換処理をすべて自アプリ内で行う。例えばスライドや帳票のオフィスファイル、画像、Webページなどを印刷可能である。
次に、プリンタA120のソフトウェア構成について説明する。
ネットワークモジュール200は、プリンタA120と情報処理端末110間の通信を行うモジュールであり、HTTP、SNMP等のプロトコルを使用して外部の機器と通信する機能を提供する。
印刷処理モジュール201は、印刷を実行するためにPDLから画像データを生成してプリンタエンジン125に描画データを送るためのモジュールである。
ネットワークモジュール200は、プリンタA120と情報処理端末110間の通信を行うモジュールであり、HTTP、SNMP等のプロトコルを使用して外部の機器と通信する機能を提供する。
印刷処理モジュール201は、印刷を実行するためにPDLから画像データを生成してプリンタエンジン125に描画データを送るためのモジュールである。
次に、アプリから印刷する手順について図5を用いて説明する。図5は、アプリから印刷を行う方法を示した遷移図である。アプリから印刷する基本の方法には2種類あり、図5(A)に示す印刷システムを使用する方法と、図5(B)に示すIntentを使用して印刷アプリを呼び出す方法とがある。印刷システムを使用する場合は、図6に示されるように、アプリのメニューボタン601を選択し、表示されるメニューの中で印刷ボタン603を選択する。一方、Intentを使用して印刷アプリを呼び出す場合は、表示されるメニューの中で共有ボタン602を選択する。図6は、App A211等のアプリから印刷を行う場合のUIの一例である。
まず、印刷システムを使用する図5(A)の方法について説明する。図5(A)のように、アプリから印刷システムを呼び出して印刷を行う場合は、メニューボタン601を押下して表示されるメニューから印刷ボタン603を押下して、図7に示すような印刷システムの印刷設定画面を呼び出して印刷を行う。図7は、印刷システムの印刷設定UIの一例である。図7のプリンタ表示領域701に表示されているプリンタは、ネットワーク上で印刷プラグイン215により探索されたプリンタである。なお、複数のプリンタが利用可能であるときはプリンタの切り替えが可能である。また、設定ボタン702に示すボタン等から標準的な印刷設定を変更することができる。印刷ボタン703をタップすると、印刷システム210から印刷プラグイン215に対して印刷命令が送られる。
印刷ボタン703が押下されると、図5(A)の遷移に従って印刷処理が行われる。まず、App B212は、印刷システム210に対して印刷システムが処理可能なファイルを渡して印刷指示を行う。印刷システムは、印刷システムの印刷設定UIを表示し、また、App Bから受け取った印刷データをPDFデータに変換する。そして、印刷システムは、印刷プラグイン215に印刷命令とPDFデータを送る。PDFデータを受け取った印刷プラグインは、PDFデータをPDLデータに変換する。そして、プリンタにPDLデータを送信し、印刷処理を実行させる。印刷プラグインは、印刷処理のステータスを印刷システムに返却し、印刷システムはその結果をUIに反映させる。
印刷ボタン703が押下されると、図5(A)の遷移に従って印刷処理が行われる。まず、App B212は、印刷システム210に対して印刷システムが処理可能なファイルを渡して印刷指示を行う。印刷システムは、印刷システムの印刷設定UIを表示し、また、App Bから受け取った印刷データをPDFデータに変換する。そして、印刷システムは、印刷プラグイン215に印刷命令とPDFデータを送る。PDFデータを受け取った印刷プラグインは、PDFデータをPDLデータに変換する。そして、プリンタにPDLデータを送信し、印刷処理を実行させる。印刷プラグインは、印刷処理のステータスを印刷システムに返却し、印刷システムはその結果をUIに反映させる。
次に、Intentを使用して印刷アプリを呼び出す図5(B)の方法について説明する。図5(B)のように、アプリからIntentを使用して印刷アプリを呼び出す場合は、図6のメニューから共有ボタン602を押下して、図8に示すようなアプリ選択画面801を表示させ、印刷アプリを選択させて印刷を行う。
図8は、アプリからIntentを使って印刷する場合に、アプリケーションを選択する画面である。アプリにおいてIntentを行う際にファイルフォーマットを指定した場合、指定したファイルフォーマットを共有できるアプリが、アプリ選択画面801に表示される。例えば、指定したファイルフォーマットがPDFであった場合、印刷プラグイン215であるアプリのIntentフィルタ401に処理可能なファイルフォーマットとしてPDFが記載されている。そのため、印刷プラグイン215であるアプリもアプリ選択画面801に表示される。
アプリ選択画面801において印刷アプリ221が選択されたとすると、図5(B)の遷移に従って印刷処理が行われる。まず、App B212は印刷アプリ221にIntentを使って印刷データを渡す(共有する)。印刷アプリ221は、受け取った印刷データをプリンタが解釈できるPDLに変換してプリンタA120に送信し、印刷処理を実行させる。このとき、印刷アプリ221がPDLに変換できるデータは、印刷アプリ221がサポートするファイルフォーマットに限られる。
図8は、アプリからIntentを使って印刷する場合に、アプリケーションを選択する画面である。アプリにおいてIntentを行う際にファイルフォーマットを指定した場合、指定したファイルフォーマットを共有できるアプリが、アプリ選択画面801に表示される。例えば、指定したファイルフォーマットがPDFであった場合、印刷プラグイン215であるアプリのIntentフィルタ401に処理可能なファイルフォーマットとしてPDFが記載されている。そのため、印刷プラグイン215であるアプリもアプリ選択画面801に表示される。
アプリ選択画面801において印刷アプリ221が選択されたとすると、図5(B)の遷移に従って印刷処理が行われる。まず、App B212は印刷アプリ221にIntentを使って印刷データを渡す(共有する)。印刷アプリ221は、受け取った印刷データをプリンタが解釈できるPDLに変換してプリンタA120に送信し、印刷処理を実行させる。このとき、印刷アプリ221がPDLに変換できるデータは、印刷アプリ221がサポートするファイルフォーマットに限られる。
アプリのメニューから直接印刷システムが利用できる場合は、図5(A)の方法を選択すればよいが、アプリが印刷システムに対応していない場合はIntentを利用する図5(B)の方法で印刷を行うことになる。しかし、情報処理端末に印刷アプリをダウンロードしていない場合には図5(B)の方法で印刷を行うこともできない。したがって、アプリが印刷システムに対応しておらず、さらに、Intentで利用できる印刷アプリをインストールしていない場合はいずれの方法でも印刷を行うことはできない。そこで、アプリが印刷システムに対応していない場合でも印刷システムを利用して印刷を行う本実施例の印刷方法について、図5(C)及び図9を用いて説明する。
図5(C)は、本実施例におけるアプリと印刷プラグイン215、印刷システム210の処理の遷移を示した図である。
ステップS501では、App B212からIntentの指示を受け、印刷プラグイン215が起動する。また、起動した印刷プラグイン215は、App B212から印刷データを受け取り、App B212と印刷データを共有する。このとき図9に示すフローが開始される。
ステップS502では、印刷プラグイン215が印刷システム210に印刷指示を行い、印刷システム210を起動して、印刷データを渡す。印刷データを受け取った印刷システム210は、印刷データをPDFに変換する。詳細は図9を用いて後述する。
ステップS503では、印刷システム210がPDFを印刷プラグイン215に渡して印刷の指示を送る。PDFを受け取った印刷プラグイン215は、PDFをPDLに変換する。そして、印刷プラグイン215は、プリンタA120にPDLと印刷の指示を送り、印刷が実行される。
ステップS504では、印刷プラグイン215から印刷システム210に対して印刷ステータスが送られ、ステップS505で印刷システム210は印刷結果に関するUIを更新する。
ステップS501では、App B212からIntentの指示を受け、印刷プラグイン215が起動する。また、起動した印刷プラグイン215は、App B212から印刷データを受け取り、App B212と印刷データを共有する。このとき図9に示すフローが開始される。
ステップS502では、印刷プラグイン215が印刷システム210に印刷指示を行い、印刷システム210を起動して、印刷データを渡す。印刷データを受け取った印刷システム210は、印刷データをPDFに変換する。詳細は図9を用いて後述する。
ステップS503では、印刷システム210がPDFを印刷プラグイン215に渡して印刷の指示を送る。PDFを受け取った印刷プラグイン215は、PDFをPDLに変換する。そして、印刷プラグイン215は、プリンタA120にPDLと印刷の指示を送り、印刷が実行される。
ステップS504では、印刷プラグイン215から印刷システム210に対して印刷ステータスが送られ、ステップS505で印刷システム210は印刷結果に関するUIを更新する。
次にS501、S502の詳細について説明する。図9は、印刷プラグイン及び印刷システムの処理を示すフローチャートである。図9のフローチャートは、情報処理端末110上で実行される。図9の処理は、S501において、App B212等のアプリからIntentによって印刷プラグイン215が呼び出され、起動することによって開始される。
ステップS901では、印刷プラグイン215が印刷データを一時的にアプリ領域(ROM112またはRAM113)に保存しておく。印刷データは、印刷プラグイン215がアプリからIntentを経由してApp B212等のアプリから受け取った(受信した)、画像データ、PDFデータ、HTMLデータ等のデータである。このとき、印刷プラグイン215のマニフェストファイル220には印刷システムで変換処理が可能なファイルフォーマットのみを記載しているため、印刷システムで処理できないデータを受け取ることはない。
ステップS901では、印刷プラグイン215が印刷データを一時的にアプリ領域(ROM112またはRAM113)に保存しておく。印刷データは、印刷プラグイン215がアプリからIntentを経由してApp B212等のアプリから受け取った(受信した)、画像データ、PDFデータ、HTMLデータ等のデータである。このとき、印刷プラグイン215のマニフェストファイル220には印刷システムで変換処理が可能なファイルフォーマットのみを記載しているため、印刷システムで処理できないデータを受け取ることはない。
ステップS902では、印刷プラグイン215がアプリからIntentで受け取った印刷データのファイルのファイル形式を判定する。ファイル形式がテキスト形式の場合は、ステップS903において印刷プラグイン215内でプレーンテキストにHTML用のタグを付加し、HTML形式への変換を行い、S904に進む。ファイル形式がPDF形式の場合はS905に進む。ファイル形式が画像やHTMLファイル等、テキスト形式もしくはPDF形式以外の場合は、S904に進む。
ステップS904で、印刷プラグイン215は印刷データを印刷システムAPI(Application Programming Interface)に渡して(送信して)、PDFへの変換と印刷を指示する。印刷データと変換指示を受けた印刷システムは、印刷データをPDF(PDFデータ)に変換する。この処理により、印刷システムが印刷データをPDFに変換させるため、印刷プラグイン215はPDFファイルのみをPDLに変換すれば良いという利点がある。
S905では、印刷システム210は、図7に示すような印刷システムのUIを表示する。このとき、印刷システム210の起動時にデフォルトで選択されているプリンタを指定することができない場合がある。例えば、ユーザはアプリから印刷プラグイン215をIntentで起動したにもかかわらず、印刷システムが起動するとデフォルトのプリンタがPlugin D214になっていることもあり得る。このような誤解をユーザに与えないために、印刷プラグイン215はUI表示用モジュール217を使って図10のような画面を表示してから印刷システムを起動し、ユーザへ注意を促すことも考えられる。なお、S502において、印刷プラグイン215から印刷指示と印刷データを受け取った印刷システム210は、S904及びS905の処理を同時に行ってもよいし、順序を逆にして行ってもよい。その後、ユーザは起動した印刷システムのUI画面から印刷プラグイン215を使用して、プリンタの探索、印刷設定の変更、印刷を行うことができる。
S905では、印刷システム210は、図7に示すような印刷システムのUIを表示する。このとき、印刷システム210の起動時にデフォルトで選択されているプリンタを指定することができない場合がある。例えば、ユーザはアプリから印刷プラグイン215をIntentで起動したにもかかわらず、印刷システムが起動するとデフォルトのプリンタがPlugin D214になっていることもあり得る。このような誤解をユーザに与えないために、印刷プラグイン215はUI表示用モジュール217を使って図10のような画面を表示してから印刷システムを起動し、ユーザへ注意を促すことも考えられる。なお、S502において、印刷プラグイン215から印刷指示と印刷データを受け取った印刷システム210は、S904及びS905の処理を同時に行ってもよいし、順序を逆にして行ってもよい。その後、ユーザは起動した印刷システムのUI画面から印刷プラグイン215を使用して、プリンタの探索、印刷設定の変更、印刷を行うことができる。
本実施例では、アプリとして動作する印刷プラグイン215がビューワーアプリからIntentで印刷データを受け取った際に能動的に印刷システムを起動して印刷データを渡すことで、印刷システム210が印刷データをPDFに変換する。印刷プラグイン215はPDFファイルのみをPDLに変換すればよい。以上の処理により、ビューワーアプリが印刷システムに対応しておらず、さらに、ビューワーアプリから使用できる印刷アプリがない場合でも、印刷を行うことが可能となる。
(実施例2)
実施例1では、印刷システム210がPDFに変換することができるファイルフォーマットをあらかじめ印刷プラグイン215のマニフェストファイル220に記載していた。そして、印刷プラグインがアプリからIntentを受け取った後で能動的に印刷システムを起動し、印刷システムにファイルを変換させるという処理を行った。この処理を行うと、印刷プラグイン215は、印刷システム210が変換処理できるファイルだけしかIntentで受け取ることができない。しかし、Intentを使って共有可能であるにもかかわらず、印刷システムでは変換処理できないファイルフォーマットは数多く存在する。例えばスライドや帳票等のオフィスファイルがある。
また、印刷アプリ221では印刷システムで変換処理できないデータを変換することができる場合が多い。しかし、印刷プラグイン215の方が印刷アプリ221と比べて圧倒的に認知度が高いため、印刷プラグイン215は情報処理端末110にインストールされているが、印刷アプリ221はインストールされていないという状況のユーザは多い。これは、例えばAndroid OSの場合、印刷メニューから印刷プラグインのインストールができるページに容易にジャンプできるのに対し、印刷アプリはユーザが自分でGoogle Playから探さなければならないなどの理由が考えられる。
実施例2では、印刷システム210で処理することができないファイルフォーマットに対して、Intentで印刷プラグイン215が呼ばれた場合に印刷を可能にする。なお、実施例2に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
実施例1では、印刷システム210がPDFに変換することができるファイルフォーマットをあらかじめ印刷プラグイン215のマニフェストファイル220に記載していた。そして、印刷プラグインがアプリからIntentを受け取った後で能動的に印刷システムを起動し、印刷システムにファイルを変換させるという処理を行った。この処理を行うと、印刷プラグイン215は、印刷システム210が変換処理できるファイルだけしかIntentで受け取ることができない。しかし、Intentを使って共有可能であるにもかかわらず、印刷システムでは変換処理できないファイルフォーマットは数多く存在する。例えばスライドや帳票等のオフィスファイルがある。
また、印刷アプリ221では印刷システムで変換処理できないデータを変換することができる場合が多い。しかし、印刷プラグイン215の方が印刷アプリ221と比べて圧倒的に認知度が高いため、印刷プラグイン215は情報処理端末110にインストールされているが、印刷アプリ221はインストールされていないという状況のユーザは多い。これは、例えばAndroid OSの場合、印刷メニューから印刷プラグインのインストールができるページに容易にジャンプできるのに対し、印刷アプリはユーザが自分でGoogle Playから探さなければならないなどの理由が考えられる。
実施例2では、印刷システム210で処理することができないファイルフォーマットに対して、Intentで印刷プラグイン215が呼ばれた場合に印刷を可能にする。なお、実施例2に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
実施例2のシステム構成は実施例1と同じであるが、マニフェストファイル220(共有ファイル)の記載が異なる。実施例1ではマニフェストファイル220のIntentフィルタ401に印刷システムがサポートしているファイル形式を記載していたが、実施例2では印刷アプリ221がIntentでサポートしているファイル形式と同等のものを記載する。なお、実施例2においては、印刷システムがサポートしているファイル形式は、印刷アプリ221がIntentでサポートしているファイル形式に含まれている。すなわち、印刷アプリ221がIntentでサポートしているファイル形式を記載すれば、印刷アプリと印刷システムのいずれかがファイル形式を記載していることになる。これは、印刷システムに対して、一般に印刷アプリの方がサポートしているファイル形式の種類が多いため、より多くのIntentの指示を印刷プラグイン215で受け取ることができるという効果がある。
実施例2における印刷処理の流れを、図11を用いて説明する。図11は、実施例2における印刷プラグインの処理を示すフローチャートである。図11のフローチャートは、情報処理端末110上で実行され、App B212等のアプリからIntentによって印刷プラグイン215が呼ばれた際の印刷プラグイン215の処理を示している。
ステップS1101は、実施例1のステップS901と同様である。
ステップS1102で、受け取ったファイルフォーマットが印刷システムで変換することができるファイルフォーマットであるか否かを判断する。印刷システムで変換可能なファイルフォーマットは、印刷システムの仕様で決定されている。受け取ったファイルフォーマットが印刷システムで変換することができるファイルフォーマットである場合はステップS1116に、変換できないファイルフォーマットである場合はステップS1103に進む。
ステップS1101は、実施例1のステップS901と同様である。
ステップS1102で、受け取ったファイルフォーマットが印刷システムで変換することができるファイルフォーマットであるか否かを判断する。印刷システムで変換可能なファイルフォーマットは、印刷システムの仕様で決定されている。受け取ったファイルフォーマットが印刷システムで変換することができるファイルフォーマットである場合はステップS1116に、変換できないファイルフォーマットである場合はステップS1103に進む。
ステップS1103で、印刷アプリ221が情報処理端末110に既にインストールされているかどうかを判断する(アプリ判断)。印刷アプリが既にインストール済みかどうかは、例えばOSから取得することができるインストール済アプリのアプリID一覧から、印刷アプリ221のアプリIDを検索することで判定可能である。印刷アプリがインストールされていないと判断された場合はステップS1104に進み、既にインストールされていると判断された場合はステップS1105に進む。
ステップS1104では、印刷アプリ221のインストールを誘導する。例えば、リンク機能によりGoogle Play上の、印刷アプリ221を公開しているページを表示したり、アプリ配信サーバへ接続したりすることが考えられる。
ステップS1105で、印刷プラグイン215は印刷アプリ221をIntentによって起動する。Intentによって起動する際は、ステップS1101で一時的にコピーしている印刷データを印刷アプリに渡す処理を行う。印刷データを受け取った印刷アプリは、印刷データをPDLデータに変換し、印刷処理を行う。また、カスタムURLスキームを使用して、印刷アプリ221を指定したり、画面を指定したりしてファイルを送ることが考えられる。
また、ステップS1105を行う処理フローの遷移は図5(D)に示すものであり、アプリから印刷プラグイン215がIntentによる印刷データ共有の指示を受け、印刷プラグインは印刷アプリ221をIntentで呼び出すという処理を行う。
ステップS1104では、印刷アプリ221のインストールを誘導する。例えば、リンク機能によりGoogle Play上の、印刷アプリ221を公開しているページを表示したり、アプリ配信サーバへ接続したりすることが考えられる。
ステップS1105で、印刷プラグイン215は印刷アプリ221をIntentによって起動する。Intentによって起動する際は、ステップS1101で一時的にコピーしている印刷データを印刷アプリに渡す処理を行う。印刷データを受け取った印刷アプリは、印刷データをPDLデータに変換し、印刷処理を行う。また、カスタムURLスキームを使用して、印刷アプリ221を指定したり、画面を指定したりしてファイルを送ることが考えられる。
また、ステップS1105を行う処理フローの遷移は図5(D)に示すものであり、アプリから印刷プラグイン215がIntentによる印刷データ共有の指示を受け、印刷プラグインは印刷アプリ221をIntentで呼び出すという処理を行う。
ステップS1106からステップS1009までは、実施例1のステップS902からステップS905までと同様の処理を行う。
以上の処理により、印刷システムで処理することができないファイルフォーマットの場合は、印刷アプリを使用することでユーザに印刷させることができ、印刷アプリがインストールされていない場合は、印刷アプリのインストールを促すことができる。
以上の処理により、印刷システムで処理することができないファイルフォーマットの場合は、印刷アプリを使用することでユーザに印刷させることができ、印刷アプリがインストールされていない場合は、印刷アプリのインストールを促すことができる。
(実施例3)
実施例2では、印刷システム210が変換処理できないファイルの場合は印刷アプリ221にデータを渡して印刷処理を行わせたが、印刷プラグイン215が印刷アプリ221と同等の変換および印刷機能を保持していることが考えられる。その場合は、印刷プラグイン215が印刷システムで変換処理できないファイルを受け取った場合、印刷プラグイン内でUI画面を表示して印刷までの処理を行う。そのためには、マニフェストファイル220(共有ファイル)のIntentフィルタに、印刷システム210が変換処理できるファイルフォーマットの他に、印刷プラグイン215が自ら変換処理できるファイルのフォーマットも記載しておく。なお、実施例3に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
実施例2では、印刷システム210が変換処理できないファイルの場合は印刷アプリ221にデータを渡して印刷処理を行わせたが、印刷プラグイン215が印刷アプリ221と同等の変換および印刷機能を保持していることが考えられる。その場合は、印刷プラグイン215が印刷システムで変換処理できないファイルを受け取った場合、印刷プラグイン内でUI画面を表示して印刷までの処理を行う。そのためには、マニフェストファイル220(共有ファイル)のIntentフィルタに、印刷システム210が変換処理できるファイルフォーマットの他に、印刷プラグイン215が自ら変換処理できるファイルのフォーマットも記載しておく。なお、実施例3に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
実施例3における印刷処理の流れを、図12を用いて説明する。図12は、実施例3における印刷プラグインの処理を示すフローチャートである。図12のフローチャートは、情報処理端末110上で実行され、App B212等のアプリからIntentによって印刷プラグイン215が呼ばれた際の印刷プラグイン215の処理を示している。
ステップS1201は、実施例1のステップS901と同様の処理である。
ステップS1202では、受け取ったファイルのファイルフォーマットが印刷システムで処理可能かどうかを判断する。印刷システムで処理ができない場合はステップS1203に進み、印刷システムで処理可能な場合はステップS1205に進む。
ステップS1203では、ステップS1201でコピーしたデータを印刷プラグインで処理して印刷するために、プリンタの探索画面、印刷設定画面、等のUIを表示させる。プリンタ探索では通信監理モジュール218からSNMPをブロードキャストして、応答するネットワーク上のプリンタを探索する。
ステップS1204では印刷プラグイン215内で印刷処理を行う。例えばS1201でコピーしたデータを、印刷ジョブ生成モジュール216を使ってプリンタA120で解釈可能なPDLに変換し、プリンタA120に対して送信する。
ステップS1201は、実施例1のステップS901と同様の処理である。
ステップS1202では、受け取ったファイルのファイルフォーマットが印刷システムで処理可能かどうかを判断する。印刷システムで処理ができない場合はステップS1203に進み、印刷システムで処理可能な場合はステップS1205に進む。
ステップS1203では、ステップS1201でコピーしたデータを印刷プラグインで処理して印刷するために、プリンタの探索画面、印刷設定画面、等のUIを表示させる。プリンタ探索では通信監理モジュール218からSNMPをブロードキャストして、応答するネットワーク上のプリンタを探索する。
ステップS1204では印刷プラグイン215内で印刷処理を行う。例えばS1201でコピーしたデータを、印刷ジョブ生成モジュール216を使ってプリンタA120で解釈可能なPDLに変換し、プリンタA120に対して送信する。
ステップS1205からステップS1208の処理は、実施例1のステップS902からステップS905の処理と同様である。
以上の処理により、印刷プラグインが印刷システムで変換処理できないファイルをIntentによって受け取った場合、印刷プラグイン内で変換処理を行い、プリンタの探索、印刷までを行うことができる。
以上の処理により、印刷プラグインが印刷システムで変換処理できないファイルをIntentによって受け取った場合、印刷プラグイン内で変換処理を行い、プリンタの探索、印刷までを行うことができる。
(実施例4)
Androidでは、印刷システム210に対してデフォルトで選択されているプリンタを指定することはできないが、印刷システム210に対してプリンタを指定して起動する機能が実装される可能性がある。そのような場合、以降に示すフローを実施する。なお、本実施例に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
Androidでは、印刷システム210に対してデフォルトで選択されているプリンタを指定することはできないが、印刷システム210に対してプリンタを指定して起動する機能が実装される可能性がある。そのような場合、以降に示すフローを実施する。なお、本実施例に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
まず、印刷プラグイン215で行われる処理を説明する。図13は、実施例4における印刷プラグインの処理を示すフローチャートである。図13のフローチャートは、情報処理端末110上で実行され、App B212等のアプリからIntentによって印刷プラグイン215が呼ばれた際の印刷プラグイン215の処理を示している。
ステップS1301からステップS1304までは実施例1のステップS901からステップS904と同様である。
ステップS1301からステップS1304までは実施例1のステップS901からステップS904と同様である。
ステップS1305では、印刷システムに対してデフォルト(既定)で選択されているプリンタを指定可能かどうか判断する。判断方法としては、AndroidのAPIレベルによって判断する方法、Androidの印刷関連のAPIから判断する方法などが考えられる。デフォルトでプリンタを指定可能な場合はステップS1306に進み、指定できない場合はステップS1308に進む。
ステップS1306では、印刷プラグイン215内で前回印刷に使用されたプリンタ識別子を取得する。印刷プラグイン215および印刷システム210内では、プリンタを一意に識別できるプリンタIDというパラメータを管理しており、例えばプリンタのMacアドレスやMacアドレスと接頭語、接尾語の組み合わせにより表現される。ステップS1306では、印刷プラグイン215内で印刷終了時に保存しているプリンタIDを取得する処理を行う。
ステップS1307では、印刷システムに対してステップS1306で取得したプリンタIDおよびプリンタの情報と、ステップS1301でコピーした印刷ファイルと併せて印刷システムに渡し、印刷システムを起動する。ステップS1306及びステップS1307によって、前回印刷に使用されたプリンタがデフォルトのプリンタに指定される。
ステップS1306では、印刷プラグイン215内で前回印刷に使用されたプリンタ識別子を取得する。印刷プラグイン215および印刷システム210内では、プリンタを一意に識別できるプリンタIDというパラメータを管理しており、例えばプリンタのMacアドレスやMacアドレスと接頭語、接尾語の組み合わせにより表現される。ステップS1306では、印刷プラグイン215内で印刷終了時に保存しているプリンタIDを取得する処理を行う。
ステップS1307では、印刷システムに対してステップS1306で取得したプリンタIDおよびプリンタの情報と、ステップS1301でコピーした印刷ファイルと併せて印刷システムに渡し、印刷システムを起動する。ステップS1306及びステップS1307によって、前回印刷に使用されたプリンタがデフォルトのプリンタに指定される。
ステップS1308は、印刷システム210に対してデフォルトのプリンタを指定することができない場合であり、図10に示すようにデフォルトで選択されているプリンタが他プラグインのものである可能性があることをユーザに伝える。
ステップS1309では、実施例1のステップS905と同様に印刷システムを起動する。
ステップS1309では、実施例1のステップS905と同様に印刷システムを起動する。
次に、印刷システム210側の処理について説明する。この処理はステップS1307において、印刷プラグイン215が印刷システム210に対してデフォルトで選択されているプリンタを指定して起動を行った後の処理である。
ステップS1310で、印刷システムは印刷プラグイン215からプリンタの識別子であるプリンタIDおよびプリンタの情報を受け取る。
ステップS1311で、プリンタIDおよびプリンタの情報に従い、受け取ったプリンタの情報をデフォルトのプリンタとして表示する。
ステップS1311で、印刷システムは標準の印刷処理を行う。
以上の処理により、印刷システムに対してデフォルト選択されているプリンタを印刷プラグインが指定できる場合に、プリンタを指定して印刷システムを起動することができる。
ステップS1310で、印刷システムは印刷プラグイン215からプリンタの識別子であるプリンタIDおよびプリンタの情報を受け取る。
ステップS1311で、プリンタIDおよびプリンタの情報に従い、受け取ったプリンタの情報をデフォルトのプリンタとして表示する。
ステップS1311で、印刷システムは標準の印刷処理を行う。
以上の処理により、印刷システムに対してデフォルト選択されているプリンタを印刷プラグインが指定できる場合に、プリンタを指定して印刷システムを起動することができる。
(実施例5)
実施例1では、印刷プラグインがアプリからIntentを受け取った後で能動的に印刷システムを起動し、印刷システムにファイルを変換させるという処理を行った。
このとき、ユーザによって印刷プラグイン215が無効に設定されていた場合は、プリンタの探索を行うことができず、ユーザ操作によって図7の画面に遷移した際に、印刷プラグイン215がサポートするプリンタを表示することができない。具体的には、例えばAndroid OSの場合は、印刷プラグイン215の有効または無効を切り替える画面がOSの標準設定に用意されていてユーザがいつでも変更可能である。一方で、印刷プラグイン215の有効または無効にかかわらずにユーザは図8の共有画面において印刷プラグイン215を選択できる。ここで、印刷プラグイン215が無効の場合は、印刷プラグイン215は図7の画面に遷移した際に探索処理を行うことができず、印刷プラグイン215がサポートするプリンタを表示することができない。
実施例1では、印刷プラグインがアプリからIntentを受け取った後で能動的に印刷システムを起動し、印刷システムにファイルを変換させるという処理を行った。
このとき、ユーザによって印刷プラグイン215が無効に設定されていた場合は、プリンタの探索を行うことができず、ユーザ操作によって図7の画面に遷移した際に、印刷プラグイン215がサポートするプリンタを表示することができない。具体的には、例えばAndroid OSの場合は、印刷プラグイン215の有効または無効を切り替える画面がOSの標準設定に用意されていてユーザがいつでも変更可能である。一方で、印刷プラグイン215の有効または無効にかかわらずにユーザは図8の共有画面において印刷プラグイン215を選択できる。ここで、印刷プラグイン215が無効の場合は、印刷プラグイン215は図7の画面に遷移した際に探索処理を行うことができず、印刷プラグイン215がサポートするプリンタを表示することができない。
そのような場合、図14に示すダイアログを表示可能な図15に示すフローを実施する。なお、本実施例に記載されている処理は、ROM112に記憶されているアプリケーション、及び各モジュール(ソフトウェア)のプログラムを、必要に応じてRAM113に読み出してCPU111により実行することによって実現される。
実施例5における印刷処理の流れを、図15を用いて説明する。図15は、実施例5における印刷プラグイン215の処理を示すフローチャートである。図15のフローチャートは、情報処理端末110上で実行され、App B212等のアプリからIntentによって印刷プラグイン215が呼ばれた際の印刷プラグイン215の処理を示している。
実施例5における印刷処理の流れを、図15を用いて説明する。図15は、実施例5における印刷プラグイン215の処理を示すフローチャートである。図15のフローチャートは、情報処理端末110上で実行され、App B212等のアプリからIntentによって印刷プラグイン215が呼ばれた際の印刷プラグイン215の処理を示している。
ステップS1501は、実施例1のステップS901と同様である。
ステップS1502では、印刷プラグイン215が有効状態か無効状態かを判断する。無効状態であった場合は、ステップS1503に遷移する。
ステップS1503では、図14に示すダイアログを表示し、ユーザが印刷プラグインを有効にする選択をしたか、無効のままにする選択をしたかを判断する。図14は、情報処理端末に表示されるUIの一例であり、印刷プラグイン215を有効にするか否かの選択画面をユーザに示している。ユーザが印刷プラグイン215を有効にするためにOKボタン1402を押下した際は、ステップS1504に遷移する。ユーザがキャンセルボタン1401を押下した際は、ステップS1505に遷移する。
ステップS1502では、印刷プラグイン215が有効状態か無効状態かを判断する。無効状態であった場合は、ステップS1503に遷移する。
ステップS1503では、図14に示すダイアログを表示し、ユーザが印刷プラグインを有効にする選択をしたか、無効のままにする選択をしたかを判断する。図14は、情報処理端末に表示されるUIの一例であり、印刷プラグイン215を有効にするか否かの選択画面をユーザに示している。ユーザが印刷プラグイン215を有効にするためにOKボタン1402を押下した際は、ステップS1504に遷移する。ユーザがキャンセルボタン1401を押下した際は、ステップS1505に遷移する。
ステップS1504では、印刷プラグイン215はOSが提供する印刷プラグイン215の設定画面(on/off画面)を表示させる。この設定画面で、ユーザは印刷プラグインを無効から有効に切り替えることができる。印刷プラグインを有効に設定した後、ユーザはApp B212から再び印刷を行うことで、ステップS1502において印刷プラグインが有効になっていると判定された場合の処理を行うことができる。
ステップS1503においてユーザがキャンセルボタンを押下し、印刷プラグイン215が無効のままステップS1505に進んだ場合でも、ステップS1506からステップS1508の処理は行える。ステップS1505からステップS1508までは、実施例1のステップS902からステップS905までと同様の処理を行う。しかし、印刷プラグイン215によるプリンタの探索が行えない状態なので、ステップS1508において表示する図7の印刷設定画面のUI表示において印刷プラグインがサポートするプリンタが表示されない。
以上の処理により、ユーザがIntentを使って印刷プラグイン215を起動した際に、印刷プラグイン215が無効状態だった場合は、印刷プラグイン215の有効または無効を切り替えることができる設定画面へユーザを誘導させることができる。
以上の処理により、ユーザがIntentを使って印刷プラグイン215を起動した際に、印刷プラグイン215が無効状態だった場合は、印刷プラグイン215の有効または無効を切り替えることができる設定画面へユーザを誘導させることができる。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施例について説明したが、本発明は、これらの実施例に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
Claims (14)
- 情報処理装置の印刷システムに対してプリンタの印刷機能を提供するプラグインとして動作可能なプログラムであって、
アプリケーションから共有機能により第1のデータを受け取ったことに応じて、前記印刷システムを呼び出し、
前記呼び出した印刷システムによる処理に基づき、前記第1のデータから得られる所定のファイル形式の第2のデータを用いて、前記プリンタで印刷するための印刷処理を実行するように、
前記情報処理装置のプロセッサを機能させるためのプログラム。 - 前記呼び出した印刷システムによる前記処理は、前記第1のデータを前記所定のファイル形式の前記第2のデータに変換するための処理を含むことを特徴とする請求項1に記載のプログラム。
- 前記呼び出した印刷システムによる前記処理は、前記所定のファイル形式の前記第2のデータを前記プログラムに渡して前記印刷処理を実行させるための処理を含むことを特徴とする請求項1または2に記載のプログラム。
- 前記プログラムは、さらに、
前記アプリケーションから前記共有機能により受け取った前記第1のデータが第1のファイル形式である場合は、前記第1のファイル形式の前記第1のデータを用いて、前記プリンタで印刷するための印刷処理を実行し、
前記アプリケーションから前記共有機能により受け取った前記第1のデータが第2のファイル形式である場合は、前記アプリケーションから前記共有機能により前記第2のファイル形式の前記第1のデータを受け取ったことに応じて、前記印刷システムを呼び出し、前記呼び出した印刷システムによる前記処理に基づき、前記第1のデータから得られる前記所定のファイル形式の第2のデータを用いて、前記プリンタで印刷するための印刷処理を実行するように、
前記情報処理装置のプロセッサを機能させることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。 - 前記プログラムは、さらに、
前記アプリケーションから前記共有機能により受け取った前記第1のデータが第1のファイル形式である場合は、前記第1のファイル形式の前記第1のデータを用いて、前記プリンタで印刷するための印刷処理を実行し、
前記アプリケーションから前記共有機能により受け取った前記第1のデータが第2のファイル形式である場合は、前記アプリケーションから前記共有機能により前記第2のファイル形式の前記第1のデータを受け取ったことに応じて、前記印刷システムを呼び出し、前記呼び出した印刷システムによる前記処理に基づき、前記第1のデータから得られる前記所定のファイル形式の第2のデータを用いて、前記プリンタで印刷するための印刷処理を実行し、
さらに、前記アプリケーションから前記共有機能により受け取った前記第1のデータが第3のファイル形式である場合は、前記第3のファイル形式のデータを処理可能な印刷アプリケーションに、共有機能により前記第1のデータを渡すように、
前記情報処理装置のプロセッサを機能させることを特徴とする請求項1または2に記載のプログラム。 - 前記第1のファイル形式は、PDF形式であることを特徴とする請求項4または5に記載のプログラム。
- 前記第2のデータの前記所定のファイル形式は、PDF形式であることを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
- 前記プリンタで印刷するための印刷処理は、前記プリンタで印刷可能なPDLデータを生成する処理であることを特徴とする請求項1乃至7のいずれか1項に記載のプログラム。
- 前記プログラムは、
前記共有機能により受け取った前記第1のデータが前記第3のファイル形式であり、かつ、前記印刷アプリケーションが前記情報処理装置にインストールされている場合に、共有機能により前記印刷アプリケーションに前記第1のデータを渡し、
さらに、前記共有機能により受け取った前記第1のデータが前記第3のファイル形式であり、かつ、前記印刷アプリケーションがインストールされていない場合は、前記印刷アプリケーションのインストールをユーザに促す画面を表示するように、
前記情報処理装置のプロセッサを機能させることを特徴とする請求項5に記載のプログラム。 - 前記プログラムは、ネットワーク上で前記プリンタを探索する機能を更に有することを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
- 前記プログラムは、さらに、
前記情報処理装置のOSにより前記プログラムが印刷プラグインとして有効に設定されているか無効に設定されているか判断し、
前記印刷プラグインが無効に設定されていると判断した場合は、前記印刷プラグインを有効にするか否か選択する画面を表示するように、
前記情報処理装置のプロセッサを機能させることを特徴とする請求項1に記載のプログラム。 - 前記共有機能は、Android(商標)のOSにより提供されるIntentの機能である、ことを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
- 情報処理装置の印刷システムに対してプリンタの印刷機能を提供するプラグインとして動作可能なプログラムがインストールされた前記情報処理装置であって、
前記情報処理装置のプロセッサは、前記プログラムを実行することにより、
アプリケーションから共有機能により第1のデータを受け取ったことに応じて、前記印刷システムを呼び出す手段と、
前記呼び出した印刷システムによる処理に基づき、前記第1のデータから得られる所定のファイル形式の前記第2のデータを用いて、前記プリンタで印刷するための印刷処理を実行する手段、
として機能することを特徴とする情報処理装置。 - 情報処理装置の印刷システムに対してプリンタの印刷機能を提供するプラグインとして動作可能なプログラムを、前記情報処理装置のプロセッサが実行することによって、前記情報処理装置を制御するための制御方法であって、
前記プログラムを実行したプロセッサが、アプリケーションから共有機能により第1のデータを受け取ったことに応じて、前記印刷システムを呼び出す工程と、
前記プログラムを実行したプロセッサが、前記呼び出した印刷システムによる処理に基づき、前記第1のデータから得られる所定のファイル形式の前記第2のデータを用いて、前記プリンタで印刷するための印刷処理を実行する工程と、
を含むことを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020170178A JP6950066B2 (ja) | 2019-12-03 | 2020-10-07 | プログラム、情報処理装置及び制御方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019218902A JP6776435B2 (ja) | 2019-12-03 | 2019-12-03 | プログラム、情報処理装置及び制御方法 |
JP2020170178A JP6950066B2 (ja) | 2019-12-03 | 2020-10-07 | プログラム、情報処理装置及び制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019218902A Division JP6776435B2 (ja) | 2019-12-03 | 2019-12-03 | プログラム、情報処理装置及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021007047A true JP2021007047A (ja) | 2021-01-21 |
JP6950066B2 JP6950066B2 (ja) | 2021-10-13 |
Family
ID=74165260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020170178A Active JP6950066B2 (ja) | 2019-12-03 | 2020-10-07 | プログラム、情報処理装置及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6950066B2 (ja) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004291494A (ja) * | 2003-03-27 | 2004-10-21 | Seiko Epson Corp | 印刷装置 |
JP2010231378A (ja) * | 2009-03-26 | 2010-10-14 | Canon Inc | アプリケーションの機能拡張方法およびシステムおよびプログラム |
JP2011165010A (ja) * | 2010-02-10 | 2011-08-25 | Canon Inc | 情報処理方法および情報処理装置、プログラム |
JP2012048633A (ja) * | 2010-08-30 | 2012-03-08 | Brother Ind Ltd | 印刷データ生成プログラム、端末装置および端末装置の制御方法 |
JP2012113569A (ja) * | 2010-11-25 | 2012-06-14 | Canon Inc | 文書処理装置、文書処理方法、及びプログラム |
JP2012212348A (ja) * | 2011-03-31 | 2012-11-01 | Brother Ind Ltd | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 |
JP2013186573A (ja) * | 2012-03-06 | 2013-09-19 | Sharp Corp | 情報処理装置 |
US20140104643A1 (en) * | 2012-10-12 | 2014-04-17 | Samsung Electronics Co., Ltd. | Method of printing content shared between applications and computing apparatus to perform the method |
JP2015187837A (ja) * | 2014-03-10 | 2015-10-29 | 株式会社リコー | 情報配信システム、情報処理装置、情報配信方法及びプログラム |
JP2016024789A (ja) * | 2014-07-24 | 2016-02-08 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法 |
JP2016033768A (ja) * | 2014-07-31 | 2016-03-10 | キヤノン株式会社 | 情報処理システム、情報処理装置、印刷装置、情報処理方法、及びプログラム |
JP2016110520A (ja) * | 2014-12-09 | 2016-06-20 | キヤノン株式会社 | 情報処理装置、制御方法及びプログラム |
-
2020
- 2020-10-07 JP JP2020170178A patent/JP6950066B2/ja active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004291494A (ja) * | 2003-03-27 | 2004-10-21 | Seiko Epson Corp | 印刷装置 |
JP2010231378A (ja) * | 2009-03-26 | 2010-10-14 | Canon Inc | アプリケーションの機能拡張方法およびシステムおよびプログラム |
JP2011165010A (ja) * | 2010-02-10 | 2011-08-25 | Canon Inc | 情報処理方法および情報処理装置、プログラム |
JP2012048633A (ja) * | 2010-08-30 | 2012-03-08 | Brother Ind Ltd | 印刷データ生成プログラム、端末装置および端末装置の制御方法 |
JP2012113569A (ja) * | 2010-11-25 | 2012-06-14 | Canon Inc | 文書処理装置、文書処理方法、及びプログラム |
JP2012212348A (ja) * | 2011-03-31 | 2012-11-01 | Brother Ind Ltd | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 |
JP2013186573A (ja) * | 2012-03-06 | 2013-09-19 | Sharp Corp | 情報処理装置 |
US20140104643A1 (en) * | 2012-10-12 | 2014-04-17 | Samsung Electronics Co., Ltd. | Method of printing content shared between applications and computing apparatus to perform the method |
JP2015187837A (ja) * | 2014-03-10 | 2015-10-29 | 株式会社リコー | 情報配信システム、情報処理装置、情報配信方法及びプログラム |
JP2016024789A (ja) * | 2014-07-24 | 2016-02-08 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法 |
JP2016033768A (ja) * | 2014-07-31 | 2016-03-10 | キヤノン株式会社 | 情報処理システム、情報処理装置、印刷装置、情報処理方法、及びプログラム |
JP2016110520A (ja) * | 2014-12-09 | 2016-06-20 | キヤノン株式会社 | 情報処理装置、制御方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6950066B2 (ja) | 2021-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6628654B2 (ja) | 情報処理装置、印刷プラグイン、印刷システム及び制御方法 | |
KR101536957B1 (ko) | 정보처리장치, 정보처리방법 및 컴퓨터 판독 가능한 매체 | |
JP6341785B2 (ja) | 印刷装置、印刷装置の制御方法及びプログラム | |
JP5673177B2 (ja) | ネットワークシステム、ネットワークシステムの印刷制御方法およびクライアント端末 | |
JP5729979B2 (ja) | 印刷中継システム、印刷システム、画像形成装置、印刷中継システムを制御する制御方法、およびプログラム | |
JP5839653B2 (ja) | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 | |
JP6238711B2 (ja) | 印刷装置、印刷制御方法及びプログラム | |
JP2018180747A (ja) | 情報処理装置、印刷プラグイン、印刷システム及び制御方法 | |
JP2014174663A (ja) | プログラム、および携帯端末 | |
WO2015151527A1 (en) | Printer list generator, mobile terminal, and printer list generation method | |
US11687297B2 (en) | Information processing apparatus, method for controlling information processing apparatus, and storage medium for acquiring configuration information | |
US20160062709A1 (en) | Data processing apparatus, method for controlling data processing apparatus, and storage medium | |
JP6950066B2 (ja) | プログラム、情報処理装置及び制御方法 | |
JP6776435B2 (ja) | プログラム、情報処理装置及び制御方法 | |
JP7171775B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP7210621B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP2018041246A (ja) | 情報処理装置、その制御方法及びプログラム | |
JP2015016611A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2018024258A (ja) | 画像形成装置、および画像形成装置の制御方法 | |
JP6841751B2 (ja) | ネットワークシステムおよびネットワークシステムの制御方法 | |
JP2017027321A (ja) | 情報処理端末、プログラム及び制御方法 | |
JP2015064904A (ja) | ネットワークシステムの制御方法、印刷制御用スクリプトの制御方法および印刷制御用スクリプト | |
JP2014059677A (ja) | 画像処理システム、画像処理装置およびプログラム | |
JP2019196018A (ja) | 印刷装置、印刷制御方法及びプログラム | |
JP2021069052A (ja) | 情報処理装置、プログラム及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201007 |
|
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: 20210824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210922 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6950066 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |