(57)【要約】【課題】  複数の送信先に、それぞれ異なった加工を施した文書を送信することを、ユーザが簡単な操作で実行できるようにする。【解決手段】  アプリ１２０から利用可能な仮想ドライバ１３０が、アプリ１２０から処理を指示された文書データを、所定の形式の中間データ１８１に変換する。文書改変部１４２が、その中間データ１８１を、処理順ルール１８２に含まれる予め定められた複数の改変規則に従ってそれぞれ改変し、実ドライバ１５０により各改変後の中間データと対応する複数の送信用データを生成する。送信制御部１６０が、送信ルール１８３において上記複数の改変規則のそれぞれと対応付けて定められた送信先を参照して、実ドライバ１５０が生成した各送信用データをそれぞれ、その送信用データの生成に用いた改変規則と対応する送信先へ送信することを、通信部１７０のプラグインに指示する。【選択図】    図４
2017134783.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションから利用可能なドライバであって、前記アプリケーションから処理を指示された文書データを、所定の形式の中間データに変換するドライバと、
前記ドライバが生成した中間データを、予め定められた複数の改変規則に従ってそれぞれ改変し、複数の送信用データを生成する改変手段と、
外部の送信先装置へデータを送信する送信手段と、
前記複数の改変規則のそれぞれと対応付けて定められた送信先を参照して、前記改変手段による改変後の各送信用データをそれぞれ、該送信用データの生成に用いた改変規則と対応する送信先へ送信することを、前記送信手段に指示する送信指示手段とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記改変手段は、予め定められた複数の改変規則を予め定められた順序で適用し、該各変換規則を適用した前記送信用データを前記予め定められた順序で生成し、
前記複数の改変規則のそれぞれと対応する送信先は、前記各送信用データの送信を前記送信手段に指示する順序と対応付けて定められ、
前記送信指示手段は、前記改変手段が前記各送信用データを生成した順序で、該各送信用データを、その順序と対応する送信先へ送信することを前記送信手段に指示することを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記改変手段が生成した各送信用データを識別するための識別情報を前記送信指示手段へ提供する提供手段を備え、
前記複数の改変規則のそれぞれと対応する送信先は、各改変規則に従って生成された送信用データを識別するための識別情報と対応付けて定められており、
前記送信指示手段は、前記各送信用データを、該送信用データの識別情報と対応する送信先へ送信することを前記送信手段に指示することを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記提供手段は、前記各送信用データの識別情報と該識別情報と対応する送信先とを対応付けた情報を、前記送信指示手段に通知するか、又は前記送信指示手段若しくは前記送信手段が参照可能な記憶手段に記憶させることを登録する情報処理装置。
【請求項５】
請求項３又は４に記載の情報処理装置であって、
前記送信用データの送信先のリストである送信先リストを取得する取得手段を備え、
前記改変手段は、前記複数の改変規則のそれぞれと対応する送信先候補の情報を参照して、前記複数の改変規則のうち、対応する送信先候補の少なくとも１つが前記送信先リストに含まれる各改変規則に従って前記中間データをそれぞれ改変して、該各改変規則と対応する送信用データをそれぞれ生成し、
さらに、前記複数の改変規則のそれぞれについて、該改変規則と対応する送信先候補のうち前記送信先リストに含まれる送信先を、該改変規則と対応する送信先と定める手段を備えることを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記改変規則及び該改変規則と対応する送信先候補を、ユーザの指示に従って編集する手段を備えることを特徴とする情報処理装置。
【請求項７】
コンピュータを、請求項１乃至６のいずれか一項に記載の情報処理装置として機能させるためのプログラム。
【請求項８】
アプリケーションから処理を指示された文書データを、所定の形式の中間データに変換する処理手順と、
前記処理手順で生成した中間データを、予め定められた複数の改変規則に従ってそれぞれ改変し、複数の送信用データを生成する改変手順と、
外部の送信先装置へデータを送信する送信手順と、
前記複数の改変規則のそれぞれと対応付けて定められた送信先を参照して、前記改変手順による改変後の各送信用データをそれぞれ、該送信用データの生成に用いた改変規則と対応する送信先へ送信するように、前記送信手順の実行を制御する送信制御手順とを備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、特許文献１に記載のように、ユーザが行った印刷指示に応じて印刷を実行する場合に、印刷を指示したユーザや印刷する文書の内容に応じてプリンタを選択し、そのプリンタに印刷を実行させる技術が知られている。また、この印刷に際し、印刷を指示したユーザや印刷する文書の内容等の条件に応じて印刷対象の文書を加工する技術も知られている。
【０００３】
また、これと別に、特許文献２に記載のように、ユーザがアプリから印刷指示を行った場合に、ＰＣ（パーソナルコンピュータ）の仮想プリンタドライバがジョブの中間データを生成してスプールしておき、その後、携帯端末からの要求に応じて、出力先の印刷装置にその中間データから生成したジョブを送信する技術も知られている。またこのとき、携帯端末にて印刷設定を受け付け、ＰＣに、その印刷設定を反映させたジョブを生成させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来の技術では、ユーザが、複数の送信先にそれぞれ異なった加工を施した文書を送信することを、容易に実行できないという問題があった。例えば、特定のユーザにしか見られない端末に対しては文書を加工せずに送信する一方、大勢が見る端末に対しては文書の一部を黒塗りにして送信する等である。
特許文献１あるいは特許文献２に記載の技術では、複数の送信先にそれぞれ異なった加工を施した文書を送信する場合、ユーザは、送信先と、文書に対して行う加工との設定を行って送信（印刷）実行を指示する操作を、各送信先について行う必要があった。
【０００５】
この発明は、このような問題を解決し、複数の送信先に、それぞれ異なった加工を施した文書を送信することを、ユーザが簡単な操作で実行できるようにすることを目的とする。なお、この場合の送信先は、プリンタには限られず、スマートデバイス、会議システムなど、文書の保存や表示を行う装置も含め、任意の装置でよい。
【課題を解決するための手段】
【０００６】
この発明の情報処理装置は、上記の目的を達成するため、アプリケーションから利用可能なドライバであって、上記アプリケーションから処理を指示された文書データを、所定の形式の中間データに変換するドライバと、上記ドライバが生成した中間データを、予め定められた複数の改変規則に従ってそれぞれ改変し、複数の送信用データを生成する改変手段と、外部の送信先装置へデータを送信する送信手段と、上記複数の改変規則のそれぞれと対応付けて定められた送信先を参照して、上記改変手段による改変後の各送信用データをそれぞれ、その送信用データの生成に用いた改変規則と対応する送信先へ送信することを、上記送信手段に指示する送信指示手段とを設けたものである。
【発明の効果】
【０００７】
上記構成によれば、複数の送信先に、それぞれ異なった加工を施した文書を送信することを、ユーザが簡単な操作で実行することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の情報処理装置の第１実施形態であるＰＣの運用環境の例を示す図である。
【図２】図１に示したＰＣのハードウェア構成を示す図である。
【図３】図１に示したＰＣが備える、文書の送信に関連した機能の構成を示す図である。
【図４】図３の機能を備えるＰＣが、文書を送信用データとして外部装置へ送信する場合の各部の動作及び必要な設定等を示す図である。
【図５】表１に示した処理順ルール及び表２に示した送信ルールに従って文書を外部装置に送信する場合に図１に示したＰＣの各部が実行する動作を示すシーケンス図である。
【図６】図５の続きの動作を示す図である。
【図７Ａ】文書改変部が行う中間データの改変について説明するための図である。
【図７Ｂ】文書改変部が行う中間データの改変について説明するための図である。
【図８】第２実施形態における各部の動作及び必要な設定等を示す、図４と対応する図である。
【図９】改変規則テーブルを構成するデータの例を示す図である。
【図１０】送信先テーブルを構成するデータの例を示す図である。
【図１１】表３に示した改変規則テーブルに従って文書を外部装置に送信する場合に図１に示したＰＣの各部が実行する動作を示すシーケンス図である。
【図１２】図１１の続きの動作を示す図である。
【図１３】図１１の動作で用いるコマンドの例を示す図である。
【図１４】規則編集画面の例を示す図である。
【図１５】図１０に示したデータを規則編集画面を用いて編集した状態の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、この発明の実施形態について、図面を参照しつつ説明する。
〔第１実施形態：図１乃至図７Ｂ〕
図１に、この発明の情報処理装置の第１実施形態であるＰＣの運用環境の例を示す。
この発明の情報処理装置の一実施形態であるＰＣ１０は、ユーザが文書の編集や処理に使用する装置である。デスクトップ型、ノート型、タブレット型等、形状は問わない。ＰＣ以外のコンピュータとして構成してもよい。
【００１０】
また、ＰＣ１０は、図１に示すように、ＰＣ１０からのデータの送信先となり得る各種装置と通信路３０により接続された状態で運用される。図１では、各種装置の例として、スマートデバイス２１、ローカルサーバ２２、クラウドサービスサーバ２３、プリンタ２４を示している。
【００１１】
このうちスマートデバイス２１は、スマートフォン、タブレット型コンピュータ等の情報処理装置である。ローカルサーバ２２は、電子ファイルを利用したサービスを提供するサーバで、電子ファイルをアップロードする先の、ローカル環境内のコンピュータである。例えば、会議システムなどの登録サーバがこれに該当する。クラウドサービスサーバ２３は、電子ファイルをアップロード可能なインターネット上のサービスを提供するサーバである。
しかし、ＰＣ１０からのデータの送信先となり得る装置はこれらに限られることはない。また、各装置は任意に通信路３０への接続又は接続解除を行ってよい。
【００１２】
通信路３０は、ＰＣ１０と上述の各種装置との間の通信に用いる通信路であり、ネットワーク通信、ピアツーピア通信、有線、無線等の別なく、任意の方式による通信路を用いることができる。例えば、ＬＡＮ（ローカルエリアネットワーク）、ＵＳＢ（ユニバーサルシリアルバス）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、インターネット等である。これらの組み合わせでも構わない。
【００１３】
次に、図２に、ＰＣ１０のハードウェア構成を示す。
図２に示すように、ＰＣ１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ（ハードディスクドライブ）１０４、通信Ｉ／Ｆ（インタフェース）１０５、操作部１０６、表示部１０７を備え、これらをシステムバス１０８により接続した構成としている。
【００１４】
そして、ＣＰＵ１０１が、ＲＡＭ１０３をワークエリアとしてＲＯＭ１０２あるいはＨＤＤ１０４に記憶されたアプリケーション（以下「アプリ」という）やドライバ等のプログラムを実行することにより、ＰＣ１０全体を制御し、図３を用いて後述するものをはじめとする種々の機能を実現する。
ＲＯＭ１０２及びＨＤＤ１０４は、不揮発性記憶媒体（記憶手段）であり、ＣＰＵ１０１が実行する各種プログラムや後述する各種データを格納している。
通信Ｉ／Ｆ１０５は、通信路３０を介して他の装置と通信するためのインタフェースである。使用する通信路３０の規格に応じた物を設ければよい。
【００１５】
操作部１０６は、ユーザからの操作を受け付けるための操作手段であり、各種のキー、ボタン、タッチパネル等により構成することができる。
表示部１０７は、ＰＣ１０の動作状態や設定内容、メッセージ等をユーザに提示するための提示手段であり、液晶ディスプレイやランプ等を備える。
【００１６】
なお、操作部１０６及び表示部１０７は外付けであってもよい。また、ＰＣ１０がユーザからの操作を直接受ける必要がない（通信Ｉ／Ｆ１０５を介して接続された外部装置により操作を受け付けたり情報の提示を行ったりすればよい）場合には、操作部１０６や表示部１０７を設けなくてよい。
図１に示したＰＣ１０以外の各種装置も、図２に示した範囲のハードウェア構成は、ＰＣ１０と同様である。ただし、各パーツの種類や性能が異なっていてよいことはもちろんである。
【００１７】
以上のＰＣ１０において、特徴的な点の一つは、文書を取り扱うアプリからの指示に応じて文書を複数の外部装置へ送信する場合の動作である。以下、この点について具体的に説明する。
【００１８】
まず図３に、ＰＣ１０が備える、上記の文書の送信に関連した機能の構成を示す。図３に示す各部の機能は、ＰＣ１０のＣＰＵ１０１が所要のプログラムを実行することにより実現されるものである。
ＰＣ１０は、図３に示すように、アプリ１２０、仮想ドライバ１３０、発送処理部１４０、実ドライバ１５０、送信制御部１６０、通信部１７０の機能を備える。
このうち、アプリ１２０は、文書を取り扱うアプリ１２０であり、ワードプロセッサ、表計算、プレゼンテーション、テキスト編集等の、文書の編集や閲覧機能を実現する一般的なものでよい。
【００１９】
仮想ドライバ１３０は、ＰＣ１０が実行するＯＳ（オペレーションシステム）上で動作し、プリンタドライバのインタフェースを持つドライバである。ただし、仮想ドライバ１３０は、実際にプリンタを制御する機能は備えていない。そして、アプリ１２０からの指示に従い、その指示に係る文書のデータに基づく描画処理を行い、印刷用の中間データを生成する機能を備える。
【００２０】
この中間データは、アプリ１２０がＧＤＩ（Graphics  Device  Interface）等を用いてドライバに渡す描画命令に基づき、最終的にプリンタ等に渡すプリンタ言語で記述された印刷データを生成する前の段階で生成されるデータであり、例えばＥＭＦ（Enhanced  Meta  File）形式のデータである。この中間データは、仮想ドライバ１３０のベンダであればその内容を容易に把握し、後述する改変規則に従って、文書の内容に所望の変更を加えるようなデータの改変を容易に行えるようなデータとして用いるものである。
【００２１】
仮想ドライバ１３０は、より詳細には、印刷設定部１３１と描画部１３２を備える。これらのうち印刷設定部１３１は、部数、両面、集約、製本、変倍といった、印刷に用いる印刷設定を管理し、また中間データの生成に反映させる機能を備える。印刷設定部１３１が備えるＵＩ（ユーザインタフェース）制御部１３３は、この設定を受け付けるための画面等のＵＩを制御する機能を備える。印刷設定は、アプリ１２０がこのＵＩ制御部１３３の機能を利用して受け付け、これを印刷設定部１３１に保持させたり、描画命令を含む印刷指示と共に仮想ドライバ１３０に渡して描画に反映させたりすることができる。
描画部１３２は、描画に反映させるべき印刷設定に従って、アプリ１２０から渡される描画命令に従った描画処理を行い、中間データを生成する機能を備える。
【００２２】
次に、発送処理部１４０は、処理指示部１４１と文書改変部１４２を備える。
これらのうち文書改変部１４２は、仮想ドライバ１３０が生成した中間データを、予め定められた改変規則に従って改変する機能を備える。この改変後の中間データを、「改変後中間データ」と呼ぶ。このとき、１つの中間データに対して複数の改変規則に従った改変処理をそれぞれ行うことにより、複数の改変後中間データを生成することができる。
なお、改変規則には、「改変を行わない」というものがあってもよい。この場合、文書改変部１４２は改変を行わないが、このように、改変の必要がないため改変されなかった中間データも、後段の処理に用いる場合には便宜上「改変後中間データ」と呼ぶことにする。
【００２３】
処理指示部１４１は、文書改変部１４２に対し、使用する改変規則を指定して中間データの改変を指示する機能を備える。また、その指示に応じて生成された改変後中間データを実ドライバ１５０に渡し、その改変後中間データに基づく外部装置へのデータ送信を行うことを指示する機能も備える。
【００２４】
次に、実ドライバ１５０は、仮想ドライバ１３０と同じく、ＰＣ１０が実行するＯＳ（オペレーションシステム）上で動作し、プリンタドライバのインタフェースを持つドライバである。そして、処理指示部１４１からの指示に従い、処理指示部１４１から渡される改変後中間データに基づく描画処理を行い、外部装置へ送信するための送信用データを生成する機能を備える。
【００２５】
この送信用データは、送信先の外部装置での取り扱いに適した形式のデータであり、ＰＤＦ（Portable  Document  Format）形式やＸＰＳ（XML  Paper  Specification）形式のような環境非依存の文書データや、ＴＩＦＦ（Tagged  Image  File  Format）形式、ＪＰＥＧ（Joint  Photographic  Experts  Group）形式のような画像データとすることができる。外部装置での用途に合わせて任意に形式を定めればよい。外部装置がプリンタであれば、プリンタ言語形式の印刷データであってもよい。また、実ドライバ１５０は、１つの中間データから複数の形式の送信用データを生成するものであってもよい。なお、実ドライバ１５０は、プリンタを制御する機能を備えている必要はない。
【００２６】
実ドライバ１５０は、より詳細には、印刷設定部１５１と描画部１５２を備える。これらのうち印刷設定部１５１は、仮想ドライバ１３０の印刷設定部１３１と同様、部数、両面、集約、製本、変倍といった、印刷に用いる印刷設定を管理し、また送信用データの生成に反映させる機能を備える。
【００２７】
印刷設定部１５１が備えるＵＩ制御部１５３は、この設定を受け付けるための画面等のＵＩを制御する機能を備える。ただし、仮想ドライバ１３０側の印刷設定との混同を避けるため、ＵＩ制御部１５３が提供するＵＩの操作は、文書を取り扱うアプリ１２０からでなく、別のアプリから、あるいはＵＩ制御部１５３の機能を直接呼び出して行うようにするとよい。また、描画に反映させる印刷設定は、印刷設定部１５１に保持させるとよい。
描画部１５２は、描画に反映させるべき印刷設定に従って、処理指示部１４１から渡される中間データ（改変後中間データ）に基づく描画処理を行い、送信用データを生成する機能を備える。
【００２８】
次に、送信制御部１６０は、実ドライバ１５０が生成した送信用データを通信部１７０に渡し、その送信用データを外部装置に送信するよう指示する機能を備える。このとき、送信先はアドレス等で直接指定してもよいし、通信部１７０との間で接続が確立されている外部装置全て、といった指定でもよい。
【００２９】
通信部１７０は、送信制御部１６０からの指示に応じて外部装置にデータを送信する機能を備える。外部装置の種類に応じてこの送信機能を複数のモジュールに分けて設けてもよい。また、送信は、指示されてから送信先装置とネゴシエーションを行って接続を確立して行ってもよいし、予め送信先装置とネゴシエーションを行って接続を確立しておき、送信指示に応じて速やかにデータを送信できるようにしてもよい。
これらの送信制御部１６０及び通信部１７０のより詳細な構成及び動作については、図４以降を用いて後述する。
【００３０】
次に、図４を用いて、図３の機能を備えるＰＣ１０が、文書を送信用データとして外部装置へ送信する場合の各部の動作及び必要な設定等についてより具体的に説明する。
図４の例は、文書を会議システム２２ａ（ローカルサーバ２２の一例）及びスマートデバイス２１ａ，２１ｂ（それぞれスマートデバイス２１の一例）に送信する例である。なお、これらの装置は、通信部１７０との間で接続が確立されている装置の全てであるとする。また、送信はＰＤＦ形式のデータで行い、不特定多数の人に見られる可能性がある会議システム２２ａ向けに送信する文書は、元の文書のうち個人情報が含まれる箇所を塗りつぶした内容とする。スマートデバイス２１ａ，２１ｂ向けには、文書の内容を改変せずに送信する（データの形式は変更する）。
【００３１】
図４の例において、通信部１７０は、会議システムと通信を行う機能を提供する会議システムプラグイン１７１と、スマートデバイスと通信を行う機能を提供するスマートデバイスプラグイン１７２とを備える。会議システムプラグイン１７１は、電子会議機能を備える会議システム２２ａと予めネゴシエーションして接続を確立（ペアリング）し、スマートデバイスプラグイン１７２は、所定の通信機能を備えるスマートデバイス２１ａ，２１ｂと予めネゴシエーションして接続を確立（ペアリング）する。
【００３２】
そして、各プラグインは、送信制御部１６０からの送信指示に応じて、指示された送信用データを、予め確立しておいた接続による通信経路を用いてペアリング相手に送信する。ペアリング相手が複数いれば、それら全てに対して送信を行う。一部のみに対する送信の指示ができるようにしてもよいが、ここでは全てに対して送信を行うものとする。
従って、送信制御部１６０は、会議システム２２ａに送信用データを送信したい場合には、その送信を会議システムプラグイン１７１に指示し、スマートデバイス２１ａ，２１ｂに送信したい場合にはその送信をスマートデバイスプラグイン１７２に指示すればよい。
【００３３】
なおこのとき、例えば、会議システムプラグイン１７１は会議システム２２ａへＰＤＦ形式のデータのみを送信し、スマートデバイスプラグイン１７２はスマートデバイス２１ａ，２１ｂへＰＤＦ形式のデータとＪＰＥＧ形式のデータを送信する、というように、プラグインによって送信先へ送信するデータの形式が異なっていてもよい。形式の選択は、送信制御部１６０からプラグインに対し、送信すべき形式の送信用データのみ渡すようにして行っても、プラグイン側で一部の形式のデータのみを選択して送信先装置へ送信することによって行ってもよい。
【００３４】
いずれにせよ、実ドライバ１５０は、処理指示部１４１から渡される全ての中間データについて、送信制御部１６０が必要とする全ての形式の送信用データを生成して、送信制御部１６０に渡す。なお、この実施形態では、プラグインから外部装置へどの形式で送信用データを送信しても構わないため、以後、特に必要がない限り、送信用データの形式については触れないことにする。
【００３５】
以上のＰＣ１０において、文書を会議システム２２ａ及びスマートデバイス２１ａ，２１ｂに送信しようとする場合、ユーザは、アプリ１２０を用いて送信しようとする文書を開き、仮想ドライバ１３０を用いた送信を行うことを指示する。この指示に応じて仮想ドライバ１３０は文書データに基づき中間データ１８１を生成する。また、ユーザはこれに先立って処理順ルール１８２及び送信ルール１８３を設定しておく。
【００３６】
処理順ルール１８２は、処理指示部１４１が、どの順でどんな改変規則に従って改変した中間データの送信を実ドライバ１５０に指示するかを定めるルールである。例えば、表１に示すように、１回目は個人情報を塗りつぶす改変を行った後の中間データの送信を指示し、２回目は改変を行わない中間データの送信を指示すべきことを定めることが考えられる。
【００３７】
【表１】
2017134783.tif 000003
【００３８】
処理順ルール１８２には、文書の送信に際して行いたい改変（又は改変を行わない旨）を、全て登録しておく。ここでは、会議システム２２ａ向けに、個人情報を塗りつぶす改変を行うことと、スマートデバイス２１ａ，２１ｂ向けに、改変を行わないこととを希望しているため、これらの改変（又は改変を行わない旨）を登録している。何回目をどの改変とするかは、後述のように送信ルール１８３と対応していれば、任意である。
【００３９】
処理指示部１４１は、仮想ドライバ１３０から中間データ１８１の処理指示を受けると、この処理順ルール１８２を参照し、１回目から順に、必要に応じて文書改変部１４２に改変規則に従った中間データの改変を行わせ、実ドライバ１５０に、その改変後の中間データの送信を指示する。このとき、改変前の中間データも残しておき、元の中間データ１８１を異なる改変規則に従って改変した改変後中間データを順次得られるようにする。
【００４０】
送信ルール１８３は、送信制御部１６０が、１つの文書についての実ドライバ１５０からの何回目の送信指示に応じてどのような送信制御を行うかを定めるルールである。例えば、表２に示すように、１回目の送信指示に応じて会議システムプラグイン１７１に送信を指示し、２回目の送信指示に応じてスマートデバイスプラグイン１７２に送信を指示すべきことを定めることが考えられる。ここでは、各プラグインがそのプラグインとペアリングされている全ての装置に送信用データを送信するので、プラグインへの送信指示は、それら全ての装置を送信先とする送信指示となる。
【００４１】
【表２】
2017134783.tif 000004
【００４２】
実ドライバ１５０は、処理指示部１４１から改変後中間データの送信指示を受けると、その改変後中間データに基づき、改変後の文書の内容と対応する送信用データを生成し、送信制御部１６０へその送信用データを渡して送信を指示する。ここで、処理指示部１４１から実ドライバ１５０への送信指示と、実ドライバ１５０から送信制御部１６０への送信指示とは１対１に対応するものとする。
【００４３】
従って、処理指示部１４１から実ドライバ１５０への１回目の送信指示に従って実ドライバ１５０が送信用データを生成すると、実ドライバ１５０は、送信制御部１６０に対する１回目の送信指示で、その生成した送信用データの送信を指示する。送信制御部１６０は、この１回目の送信指示に応じて、送信ルール１８３において定められた「１回目」と対応する送信処理を実行する。２回目以降についても同様である。
【００４４】
なお、送信制御部１６０は、実ドライバ１５０から受け取った送信指示の数を、送信ルール１８３に定められる送信指示の数（表２の例では２回）でリセットされるループカウンタを用いてカウントする等して、受け取った各送信指示が、１つの文書についての何回目の送信指示であるかを把握することができる。
【００４５】
以上のように、処理順ルール１８２と送信ルール１８３により、処理順を媒介として、中間データに適用する複数の改変規則と、その各規則に従った改変後の内容の文書（の送信用データ）の送信先とが対応付けて定められていることになる。これらのルールは、ユーザあるいは管理者が編集できるようにするとよい。
【００４６】
次に、図５及び図６を用いて、表１に示した処理順ルール１８２及び表２に示した送信ルール１８３に従って文書を外部装置に送信する場合にＰＣ１０の各部が実行する動作について説明する。図５及び図６は、その動作の一例を示すシーケンス図である。また、図５及び図６に示す動作は、この発明の情報処理方法の第１実施形態に係る動作である。
【００４７】
図５の動作においては、まずユーザが、アプリ１２０で編集中の文書を、通信部１７０の各プラグインとペアリングされている装置に送信すべく、アプリ１２０に対し、編集中の文書を仮想ドライバ１３０を用いて処理することを指示する（Ｓ１１）。仮想ドライバ１３０は上述のようにプリンタドライバのインタフェースを持つため、ステップＳ１１の指示に際し、ユーザは、仮想ドライバ１３０と対応付けられた仮想的なプリンタを選択し、そのプリンタを用いて編集中の文書を印刷する指示を行えばよい。その際、必要に応じて印刷設定を行うことができる。
【００４８】
ステップＳ１１の指示を受けたアプリ１２０は、仮想ドライバ１３０に対し、編集中の文書の内容を示す文書データの処理を指示する。この処理指示は、アプリ１２０としては印刷の指示という認識でよく、仮想ドライバ１３０に渡した印刷データが、最終的に外部装置へ送信されることを把握している必要はない。
【００４９】
なお、図では、この指示と共に文書のデータを仮想ドライバ１３０に渡すように示している。しかし、所定の識別情報と対応付けて文書のデータ（及び設定データ）を仮想ドライバ１３０からアクセス可能な記憶領域に格納しておき、仮想ドライバ１３０が、処理指示と共に通知された識別情報をキーにこれらのデータをその記憶領域から読み出すようにしてもよい。他の各機能部間でのデータの受け渡しについても同様である。
【００５０】
仮想ドライバ１３０は、ステップＳ１２の指示を受けると、渡された文書データに対して描画処理を行い、中間データを生成する（Ｓ１３）。そして、その生成した中間データを、図４の中間データ１８１のように適当な記憶領域に保存し、処理指示部１４１に対してその処理を指示する（Ｓ１４）。
【００５１】
ステップＳ１４の指示を受けた処理指示部１４１は、処理順ルール１８２を参照する。そして、実ドライバ１５０に対する１回目の処理指示は、所定の改変規則（個人情報を塗りつぶす）に従って改変した中間データについて行うべきことがわかるので、処理指示部１４１は、文書改変部１４２に対してその改変を指示する（Ｓ１５）。文書改変部１４２は、その指示に従って改変を実行し（Ｓ１６）、改変後中間データを処理指示部１４１へ返す（Ｓ１７）。具体的な改変処理の例については後述する。
【００５２】
処理指示部１４１は、上記の改変後中間データを実ドライバ１５０に渡し、これを処理するよう指示する（Ｓ１８）。実ドライバ１５０も上述のようにプリンタドライバのインタフェースを持つため、ステップＳ１８の指示は、印刷の指示として行うことができる。また、この指示は、処理指示部１４１が今回受け取った中間データについて行う１回目の処理指示である。
【００５３】
ステップＳ１８の指示を受けた実ドライバ１５０は、渡された改変後中間データに対して描画処理を行い、送信用データを生成する（Ｓ１９）。そして、送信制御部１６０に対し、その送信用データの送信を行うよう指示する（Ｓ２０）。この指示は、送信制御部１６０が受け取る１回目の送信指示である。送信制御部１６０は、指示に係る送信用データがどの文書あるいは中間データに基づき生成されたかを把握している必要はなく、送信指示を受信する毎に、１回目、２回目、（次の文書についての）１回目、・・・、というように回数をカウントすればよい。
【００５４】
送信制御部１６０は、ステップＳ２０の指示を受けると、送信ルール１８３を参照する。そして、１回目の送信指示に応じて行うべき処理は、会議システムプラグイン１７１に対する送信指示であることがわかる。そこで、送信制御部１６０は、会議システムプラグイン１７１に送信用データを渡し、その送信を指示する（Ｓ２１）。
会議システムプラグイン１７１は、この指示を受けると、受け取った送信用データを、ペアリングされている会議システム２２ａへ送信する（Ｓ２２）。従って、ステップＳ２１での送信指示は、会議システムプラグイン１７１とペアリングされている会議システム２２ａを送信先とする送信指示ということになる。
【００５５】
また、ステップＳ２２では、アプリ１２０で編集中の文書が、個人情報を塗りつぶすように改変された内容の文書を示す送信用データが会議システム２２ａへ送信される。従って、会議システム２２ａが表示や配信等によりその文書を出力する場合も、個人情報が塗りつぶされた状態の文書となり、個人情報の秘密を保持することができる。
ステップＳ２２の後、会議システムプラグイン１７１、送信制御部１６０及び実ドライバ１５０は、送信指示元に対して順次送信完了の応答を返す（Ｓ２３〜Ｓ２５）。
【００５６】
次に、動作は図６に示す部分に進み、処理指示部１４１は、再度処理順ルール１８２を参照する。そして、実ドライバ１５０に対する２回目の処理指示は、改変を行わない中間データについて行うべきことがわかるので、処理指示部１４１は、改変なしの中間データを実ドライバ１５０に渡し、これを処理するよう指示する（Ｓ２６）。この指示は、処理指示部１４１が今回受け取った中間データについて行う２回目の処理指示であるが、指示の形式は、ステップＳ１８と同じである。２回目である旨のデータを付す必要はない。
【００５７】
ステップＳ２６の指示を受けた実ドライバ１５０は、渡された改変なしの中間データに対して描画処理を行い、送信用データを生成する（Ｓ２７）。そして、送信制御部１６０に対し、その送信用データの送信を行うよう指示する（Ｓ２８）。この指示は、送信制御部１６０が受け取る２回目の送信指示である。ここでも、形式は１回目と全く同じでよく、送信制御部１６０側で回数をカウントする。
【００５８】
送信制御部１６０は、ステップＳ２８の指示を受けると、送信ルール１８３を参照する。そして、２回目の送信指示に応じて行うべき処理は、スマートデバイスプラグイン１７２に対する送信指示であることがわかる。そこで、送信制御部１６０は、スマートデバイスプラグイン１７２に送信用データを渡し、その送信を指示する（Ｓ２９）。
【００５９】
スマートデバイスプラグイン１７２は、この指示を受けると、受け取った送信用データを、ペアリングされているスマートデバイス２１ａ，２１ｂへ送信する（Ｓ３０）。従って、ステップＳ２９での送信指示は、スマートデバイスプラグイン１７２とペアリングされているスマートデバイス２１ａ，２１ｂを送信先とする送信指示ということになる。
【００６０】
また、ステップＳ３０では、アプリ１２０で編集中の文書の内容を示す送信用データがスマートデバイス２１ａ，２１ｂへ送信される。従って、スマートデバイス２１ａ，２１ｂが表示等によりその文書を出力する場合も、編集中のものと同じ文書となり、個人情報を参照することができる。
ステップＳ３０の後、スマートデバイスプラグイン１７２、送信制御部１６０及び実ドライバ１５０は、送信指示元に対して順次送信完了の応答を返す（Ｓ３１〜Ｓ３３）。
以上で、ステップＳ１１の指示に応じた一連の動作が完了する。
【００６１】
以上の動作において、処理指示部１４１、文書改変部１４２、及び実ドライバ１５０が、改変手段に該当する。会議システムプラグイン１７１とスマートデバイスプラグイン１７２が、送信手段に該当する。送信制御部１６０が、送信指示手段に該当する。また、ステップＳ１３が処理手順に該当し、ステップＳ１５乃至Ｓ１９及びＳ２６乃至Ｓ２７が改変手順に該当する。ステップＳ２２及びＳ３０が送信手順に該当し、ステップＳ２１及びＳ２９が送信制御手順に該当する。
【００６２】
以上説明してきた各部の機能によれば、ユーザは、アプリ１２０に対して、特定の仮想ドライバ１３０を用いた文書の処理を一度指示するだけで、複数の送信先に対し、送信先に応じて異なった改変を施した文書を送信することができる。
従って、大勢の人が見る可能性のある会議システム２２ａに送信する文書ではユーザＩＤ等の個人情報を見せないように塗りつぶし、特定のユーザのみが見ることが想定されるスマートデバイス２１ａ，２１ｂに送信する文書では個人情報を見せるといった送信を、簡単な操作で行うことができる。
【００６３】
また、開発文書を開発者及び開発内容を共有する外部の人に配信するケースにおいて、開発者のスマートデバイスには開発に関する外部に公開してはいけない情報（例えば開発名称）を見える状態で配信しつつ、外部の人にはその公開してはいけない情報を塗りつぶした状態で配信する、といった用途も考えられる。
【００６４】
このような送信が可能であるのは、仮想ドライバ１３０が生成した中間データ１８１を、処理順ルール１８２のように予め定められた複数の改変規則に従ってそれぞれ改変するようにしたことによるものである。また、送信制御部１６０が、上記複数の改変規則のそれぞれと対応付けて送信ルール１８３のように定められた送信先を参照して、改変後の各送信用データをそれぞれ、その送信用データの生成に用いた改変規則と対応する送信先へ送信することを、通信部１７０のプラグインに指示するようにしたことによるものである。
【００６５】
また、文書の内容の改変を、中間データ１８１に対して行うようにしたため、文書の送信に関する処理からアプリ１２０を解放した後で改変処理が可能である。また、中間データ１８１は、仮想ドライバ１３０のベンダであれば容易に内容を把握できるため、文書改変部１４２の開発が容易であるし、改変に際して不測のエラーが起こる可能性を低減できる。
【００６６】
次に、図７Ａ及び図７Ｂを用いて、文書改変部１４２が行う中間データ１８１の改変の例を示す。
図７Ａに示す例は、特定項目の情報を視認できなくするための改変の例である。より具体的には、「特定の決まったフォーマット文書を印刷する際に、特定の文字の後に続く文字は暗号化または黒く塗りつぶす」という改変規則に従った改変の例である。図７Ａの例では、その特定の文字（すなわち項目名）を「患者名：」としており、このことにより、患者名という個人情報を視認できなくしている。
すなわち、改変前の文書２０１では「山田花子」と記載されている患者名２０１ａが、改変後の文書２０２では暗号化データ２０２ａに、改変後の文書２０３では塗りつぶし画像２０３ａに改変されている。
【００６７】
この改変につき、アプリ１２０が扱う文書において同一テキスト内に「患者名：」と実際の患者名（上記例の山田花子）が記載されている場合、中間データ１８１では１つのテキストのオブジェクトとして表される。そのため、中間データ１８１中のテキストオブジェクト内で「患者名：」というキーワードがあった場合、そのテキストオブジェクト内で改行コードまでを暗号化や黒く塗りつぶすことで図７Ａに示すような改変が可能である。対象を特定の決まったフォーマット文書とすることでこの方法で対応可能である。
【００６８】
また、「患者名：」というキーワードと実際の患者名とが別のテキストオブジェクトとして記載されているような文書においては、ドライバにもこれらが別々に伝わってくる。この場合でも、「患者名：」というキーワードを含むテキストオブジェクトと同様のＹ座標を指定されたオブジェクトに対して暗号化や塗りつぶしをすることで、対応可能である。
【００６９】
また、図７Ｂに示す例は、特定の文字列を視認できなくするための改変の例である。より具体的には、「特定の文字列を暗号化する」という改変規則に従った改変の例である。図７Ｂの例では、その特定の文字列を「カイハツメイ」としており、このことにより、「カイハツメイ」という情報を視認できなくしている。
【００７０】
すなわち、改変前の文書２１１では「カイハツメイ」と読める文字列２１１ａが、改変後の文書２１２では暗号化データ２１２ａに改変されている。このような改変は、特定の名称等を伏せたい場合に用いることができる。
この改変につき、対象の文字列は、中間データ１８１においてテキストオブジェクト中に含まれると考えられる。そこで、各テキストオブジェクトのテキスト情報をパースして「カイハツメイ」を見つけ、その文字列が見つかったら暗号化することで、対象の文字列を暗号化することができる。
【００７１】
〔第２実施形態：図８乃至図１５〕
次に、この発明の情報処理装置の第２実施形態について説明する。この第２実施形態は、送信先毎により柔軟に中間データの改変規則を定めることができるようにした点が第１実施形態と異なるが、その基本的な構成は概ね第１実施形態と共通である。そこで、第１実施形態との相違点を中心に説明する。なお、符号について、第１実施形態と共通の又は対応する構成には、第１実施形態と同じ符号を用いる。
【００７２】
まず図８に、第２実施形態におけるＰＣ１０が、文書を送信用データとして外部装置へ送信する場合の各部の動作及び必要な設定等を示す。図８は、図４と対応するものである。
図８の構成では、まず、発送処理部１４０に送信先取得部１４３を設け、実ドライバ１５０と送信制御部１６０を介して、スマートデバイスプラグイン１７２から、ペアリングされているスマートデバイスの情報を取得する点が、図４の構成と異なる。スマートデバイスプラグイン１７２とペアリングされているスマートデバイスは、すなわち送信用データの送信先となる装置であり、送信先取得部１４３は、その送信先リストを取得する。またここでは、この送信先リストにおいて、各スマートデバイスは、ＭＡＣ（Media  Access  Control）アドレスにより特定されるとする。しかし、他の識別情報を用いて特定することも妨げられない。
【００７３】
また、図８の構成では、処理順ルール１８２に代えて、改変規則テーブル１８４を設け、このテーブルに、表３に示すように、中間データ１８１の改変規則にそれぞれ一意な名前を付けて登録する。さらに、送信先テーブル１８５を設け、このテーブルに、表４に示すように、各改変規則を、どの送信先に文書を送信する場合に用いるかを登録する。
【００７４】
【表３】
2017134783.tif 000005
【００７５】
表３において、「名前」は改変規則の名前を示し、「改変規則」が、中間データ１８１を改変する規則を示す。表３の例において、一番上の行のデータは、「pattern1」という名前の規則が、「開発名と開発部署を塗りつぶし、電話番号を削除する」であることを示す。また、一番下の行のデータは、「patternX」という名前の規則が、「全体を暗号化する」であることを示す。
【００７６】
【表４】
2017134783.tif 000006
【００７７】
表４において、「名前」は表３と同じく改変規則の名前を示し、「送信先候補」が、送信先装置を特定するＭＡＣアドレスの範囲を示す。一番上の行のデータは、ＭＡＣアドレスが「04-A3-43-5F-43-01」から「04-A3-43-5F-43-05」までの送信先に文書を送信する場合に、「pattern1」という名前の規則を用いることを示す。また、一番下の行のデータは、ＭＡＣアドレスが他の行のデータにおいて指定されていない送信先に文書を使用する場合に、デフォルトの規則として「PatternX」という名前の規則を用いることを示す。
【００７８】
表３に示す改変規則テーブル１８４の内容は、例えば、図９に示す「名前」と「改変規則」との対応関係を示すデータとにより記述することができる。表４に示す送信先テーブル１８５の内容は、例えば、図１０に示す「名前」と「送信先候補」との対応関係を示すデータにより記述することができる。これらのデータはいずれもＪｓｏｎ（JavaScript（登録商標）  Object  Notation）形式のデータである。
【００７９】
図９に示すデータ２４０のうち、符号２４１〜２４４で示す部分がそれぞれ、名前が「pattern1」、「pattern2」、「pattern3」、「patternX」の改変規則の内容に関するデータである。なお、「fill」は後ろの項目名の情報を図７Ａを用いて説明したように塗りつぶすことを、「delete」は後ろの項目名の情報を同様に削除することを示す。「encrypt」は後ろの項目名の情報を暗号化することを示す。「all」は、対象がテキストの全文であることを示す。
図１０に示すデータ２３０のうち、符号２３１〜２３４で示す部分がそれぞれ、名前が「pattern1」、「pattern2」、「pattern3」、「patternX」の改変規則と対応する送信先候補に関するデータである。
【００８０】
図８の説明に戻ると、処理指示部１４１は、送信先取得部１４３が取得した送信先リストを、送信先テーブル１８５中の各送信先候補と照らし合わせる。そして、送信先リストに含まれる送信先に文書を送信するために、どの改変規則を用いた中間データ１８１の改変が必要であるかを判断する。そして、必要と判断した各改変規則につき、文書改変部１４２に、その各改変規則に従った中間データ１８１の改変を実行させる。その際、使用する改変規則の内容は、その名前をキーに改変規則テーブル１８４から取得する。
【００８１】
処理指示部１４１は、ある改変規則と対応する送信先候補の中に、送信先リストに含まれる送信先が１つでもあれば、その改変規則を用いた改変が必要であると判断する。それ以外の改変規則については、中間データ１８１の改変に使用する必要はない。
【００８２】
図８の構成でも、処理指示部１４１が、文書改変部１４２による改変後の中間データ１８１を実ドライバ１５０に渡し、その送信を指示することは、図４の場合と同じである。しかし、処理指示部１４１は、その改変後の中間データと共に、改変に用いた改変規則の名前を実ドライバ１５０に渡す。また、実ドライバ１５０は、改変後の中間データに基づき生成した送信用データを送信制御部１６０に渡す際に、送信用データと共に、処理指示部１４１から受け取った改変規則の名前を渡す。この名前は、送信制御部１６０からスマートデバイスプラグイン１７２への送信指示の際にも渡される。これらの名前の伝達は、例えば、改変後の中間データや送信用データのファイル名を、改変規則の名前そのものとするか、その名前に基づき生成した文字列とすることで、該当のデータの受け渡しと同時に行うことができる。
【００８３】
スマートデバイスプラグイン１７２は、送信制御部１６０から送信用データを受け取った場合に、そのファイル名から改変規則の名前を取得し、その名前をキーに送信先テーブル１８５を検索することにより、受け取った送信用データを送信すべき送信先候補を把握することができる。
この実施形態において、スマートデバイスプラグイン１７２は、ペアリングされているスマートデバイス全てに送信用データを送信するのではなく、送信先テーブル１８５に記録されている、当該送信用データの生成に際して使用した改変規則と対応する送信先候補（のうちペアリングされている装置）にのみ、送信用データを送信する。すなわち、送信先テーブル１８５には、実際のペアリング状態とは無関係に送信先候補が登録されているため、送信先候補のうち実際に送信可能な装置に対してのみ送信を行えばよい。
【００８４】
なお、図８の構成で会議システムプラグイン１７１がない点は、図４の構成との本質的な相違点ではない。図８の構成では、送信制御部１６０は、どの送信先へ送信用データの送信を行う場合でも、通信部１７０の唯一のプラグインであるスマートデバイスプラグイン１７２へ指示を行えばよいため、送信先テーブル１８５を参照していない。しかし、通信部１７０にプラグインが複数ある場合、送信先テーブル１８５を参照して、各送信用データの生成に用いた改変規則と対応する送信先候補を取得し、その送信先候補のペアリングされているプラグインに、送信を指示するようにすればよい。
【００８５】
いずれにせよ、第２実施形態では、送信先取得部１４３が取得した各送信先が、処理指示部１４１により、送信先テーブル１８５に従って改変規則の名前と対応付けられ、さらに改変規則テーブル１８４に従って改変規則の内容と対応付けられる。そして、少なくとも１つの送信先が対応付けられた改変規則のみを用いて、中間データ１８１の改変と、実ドライバ１５０への送信指示を行う。なお、改変規則テーブル１８４及び送信先テーブル１８５の内容は、後述するようにユーザが編集可能である。
【００８６】
次に、図１１及び図１２を用いて、表３に示した改変規則テーブル１８４及び表４に示した送信先テーブルに従って文書を外部装置に送信する場合にＰＣ１０の各部が実行する動作について説明する。図１１及び図１２は、その動作の一例を示すシーケンス図である。また、図１１及び図１２に示す動作は、この発明の情報処理方法の第２実施形態に係る動作である。
【００８７】
図１１の動作において、ステップＳ５１乃至Ｓ５４は、図５のステップＳ１１乃至Ｓ１４と共通である。
しかし、ステップＳ５４の指示を受けた処理指示部１４１は、送信先取得部１４３に対して送信先取得指示を行う（Ｓ５５）。また、これを受けた送信先取得部１４３は実ドライバ１５０に対して送信先取得指示を行い（Ｓ５６）、以下、送信制御部１６０、スマートデバイスプラグイン１７２と、その送信先取得指示が伝達される（Ｓ５７，Ｓ５８）。
【００８８】
スマートデバイスプラグイン１７２は、送信先取得指示に応じて、ペアリングされているスマートデバイスのリストを、送信先リストとして返す（Ｓ５９）。この送信先リスト（一例として表５）は、送信制御部１６０、実ドライバ１５０及び送信先取得部１４３を介して、処理指示部１４１に渡される（Ｓ６０〜Ｓ６２）。
なお、送信先取得部１４３から実ドライバ１５０への送信先取得指示は、図１３に示すようなExtEscapeコマンドをはじめ、公知の適宜なコマンドを利用して行うことができる。
【００８９】
【表５】
2017134783.tif 000007
【００９０】
次に、処理指示部１４１は、ステップＳ６２で送信先リストを受け取ると、送信先テーブル１８５と、その受け取った送信先リストとに基づき、上述したように、中間データ１８１の改変に使用する改変規則を決定する（Ｓ６３）。そして、決定した各改変規則について、文書改変部１４２に、その改変規則に従った中間データ１８１の改変を指示する（Ｓ６４）。改変規則の内容は改変規則テーブル１８４から取得できる。文書改変部１４２は、ステップＳ６４の指示に従って改変を実行し（Ｓ６５）、改変後中間データを処理指示部１４１へ返す（Ｓ６６）。処理指示部１４１は、受け取った改変後中間データを適当な記憶領域に保存する（Ｓ６７）。このとき、改変規則の名前に基づいて生成したファイル名を付すとよいことは、上述の通りである。
【００９１】
その後、動作は図１２に示す部分に進み、処理指示部１４１は、使用した各改変規則について、その改変規則に従った改変後中間データを、使用した改変規則の名前と共に実ドライバ１５０に渡し、これを処理するよう指示する（Ｓ６８）。このとき、どの改変規則に従って改変したデータを何番目に送信するかは考慮しなくてよい。名前により改変規則を識別できるためである。
【００９２】
ステップＳ６８の指示を受けた実ドライバ１５０は、渡された改変後中間データに対して描画処理を行い、送信用データを生成する（Ｓ６９）。そして、送信制御部１６０に対し、その送信用データの送信を行うよう指示する（Ｓ７０）。この指示を受けた送信制御部１６０は、スマートデバイスプラグイン１７２に送信用データを渡し、その送信を指示する（Ｓ７１）。なお、これらの指示に際し、使用した改変規則の名前も伝達される。
【００９３】
ステップＳ７１の指示を受けたスマートデバイスプラグイン１７２は、送信先テーブル１８５から、使用した改変規則と対応する送信先候補を取得する（Ｓ７２）。そして、ステップＳ７１で受け取った送信用データを、その取得した送信先候補のうちの実際に通信可能な（ペアリングされている）スマートデバイスへ送信する（Ｓ７３）。従って、ステップＳ７１での送信指示は、使用した改変規則と対応付けて送信先テーブル１８５に登録されている送信先候補のうち実際に通信可能な装置への送信指示ということになる。なお、実際に通信可能な装置は、図１１のステップＳ５９乃至Ｓ６２で処理指示部１４１へ提供される送信先リストに登録されている装置と一致するはずである。
【００９４】
ステップＳ７３の後、スマートデバイスプラグイン１７２、送信制御部１６０及び実ドライバ１５０は、送信指示元に対して順次送信完了の応答を返す（Ｓ７４〜Ｓ７６）。
以上のステップＳ６８乃至Ｓ７６を、使用した全ての改変規則について終了すると、ステップＳ５１の指示に応じた一連の動作が完了する。
【００９５】
以上の動作において、処理指示部１４１及び実ドライバ１５０が、使用した改変規則の名前を送信制御部１６０に伝達する動作が、提供手段としての動作である。
以上の説明してきた各部の機能によっても、第１実施形態の場合と同様、ユーザは、アプリ１２０に対して、特定の仮想ドライバ１３０を用いた文書の処理を指示するだけで、複数の送信先に対し、送信先に応じて異なった改変を施した文書を送信することができる。
【００９６】
このような送信が可能であるのは、仮想ドライバ１３０が生成した中間データ１８１を、改変規則テーブル１８４のように予め定められた複数の改変規則に従ってそれぞれ改変するようにしたことによるものである。また、その各改変によって生成した改変後中間データ（及び送信用データ）を識別するための識別情報として、処理指示部１４１から改変に用いた改変規則の名前をスマートデバイスプラグイン１７２まで順次提供するようにしている。このことにより、第１実施形態の場合のように処理の順序を用いて送信用データとその送信先とを対応付ける必要がなく、動作順の自由度が高まると共に、動作を安定化させることができる。
【００９７】
また、処理指示部１４１は、送信先取得部１４３を介して取得した送信先リストに基づき、改変規則テーブル１８４に登録された改変規則のうち、実際に対応する送信先がある改変規則のみを用いて中間データ１８１の改変を行う。どの改変規則を用いるかは、送信先テーブル１８５に基づき決定できる。このため、無駄な改変処理を行わなくて済む。また、改変規則テーブル１８４に、種々の状況を考慮した多数の改変規則を登録しておいても、動作に支障が出ない。
【００９８】
ここで、図１４に、改変規則テーブル１８４及び送信先テーブル１８５の編集操作を受け付けるための画面の例を示す。
図１４に示す規則編集画面３００は、送信先候補入力部３０１、適用規則選択部３０２、塗りつぶしキーワード入力部３１１、削除キーワード入力部３１２、置き換えキーワード入力部３１３、暗号化キーワード入力部３１４、追加ボタン３２１を備える。
【００９９】
これらのうち、送信先候補入力部３０１は、新たに送信先候補として追加したい送信先のＭＡＣアドレスを入力する箇所である。適用規則選択部３０２は、送信先候補を追加したい改変規則をプルダウンメニューにより選択する箇所である。追加ボタン３２１を操作することにより、これらの入力部への入力に従い送信先テーブル１８５に送信先候補を追加することができる。
【０１００】
また、適用規則選択部３０２では、改変規則の新規追加も選択できる。この場合、塗りつぶしキーワード入力部３１１〜暗号化キーワード入力部３１４の各入力部に、塗りつぶし、削除、置き換え、暗号化の対象とするキーワードあるいは項目名を入力することができる。そして、その状態で追加ボタン３２１を操作すると、塗りつぶしキーワード入力部３１１〜暗号化キーワード入力部３１４への入力に従って改変規則テーブル１８４に新規に改変規則を追加することができる。
【０１０１】
例えば、図９に示した改変規則が改変規則テーブル１８４に登録されている状態で、開発コードを塗りつぶし、住所を削除する改変規則を追加すると、図９に示したデータは、符号２４５で示す部分が追加され、図１５に示すようになる。
また、このとき送信先候補入力部３０１に送信先候補を入力しておけば、改変規則の追加と同時に、送信先テーブル１８５にその改変規則と対応する送信先候補を登録することができる。改変規則の名前は自動で付すが、ユーザが設定できるようにしてもよい。
なお、同様に送信先候補や改変規則の削除を行うための画面を用意してもよい。
【０１０２】
〔変形例〕
以上で実施形態の説明を終了するが、この発明において、装置の具体的な構成、具体的な処理の手順、データの形式、文書や文書取扱アプリの種類、データの形式、仮想ドライバ１３０及び実ドライバ１５０のインタフェース、これらのドライバが実行する処理の内容等は、実施形態で説明したものに限るものではない。
例えば、文書改変部１４２が中間データに対して行う改変は、上述した実施形態で説明したものに限られない。例えば、文書の一部を強調するような改変も可能である。
【０１０３】
また、図１２のステップＳ７３において、送信先候補に、プラグインにペアリングされていない装置が含まれていた場合、ペアリングされていない装置に対してペアリングを試みたり、ペアリングではない一時的な接続を確立したりして、データの送信を行うことも考えられる。
【０１０４】
また、図３、図４等に示した機能部の区分けは、あくまでも一例に過ぎない。１つのプログラムで、実ドライバ１５０と送信制御部１６０の機能を合わせ持つプロセスを実現するなど、複数の機能部を合わせて設けたり、逆に１つの機能部を複数に分離して設けたりしてもよい。
また、上述した実施形態においてＰＣ１０が備えていた機能は、複数の装置に分散して設け、その複数の装置が協働して、ＰＣ１０と同等な機能を実現するようにしてもよい。
【０１０５】
また、この発明のプログラムの実施形態は、コンピュータに所要のハードウェアを制御させて上述した実施形態におけるＰＣ１０の機能の全部又は一部（特にアプリ１２０以外の部分の機能）を実現させるためのプログラムである。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよい。しかし、メモリカード、ＣＤ、ＤＶＤ、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
【０１０６】
また、以上説明してきた実施形態及び変形例の構成が、相互に矛盾しない限り任意に組み合わせて実施可能であり、また、一部のみを取り出して実施することができることは、勿論である。
【符号の説明】
【０１０７】
１０：ＰＣ、２１，２１ａ，２１ｂ：スマートデバイス、２２：ローカルサーバ、２２ａ：会議システム、２３：クラウドサービスサーバ、２４：プリンタ、３０：通信路、１０１：ＣＰＵ、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：ＨＤＤ、１０５：通信Ｉ／Ｆ、１０６：操作部、１０７：表示部、１０８：システムバス、１２０：アプリ、１３０：仮想ドライバ、１３１，１５１：印刷設定部、１３２，１５２：描画部、１３３，１５３：ＵＩ制御部、１４０：発送処理部、１４１：処理指示部、１４２：文書改変部、１４３：送信先取得部、１５０：実ドライバ、１６０：送信制御部、１７０：通信部、１７１：会議システムプラグイン、１７２：スマートデバイスプラグイン、１８１：中間データ、１８２：処理順ルール、１８３：送信ルール、１８４：改変規則テーブル、１８５：送信先テーブル、２０１〜２０３，２１１，２１２：文書、２０１ａ：患者名、２０２ａ，２１２ａ：暗号化データ、２０３ａ：塗りつぶし画像、２１１ａ：文字列、２３０〜２３４，２４０〜２４５：データ、３００：規則編集画面、３０１：送信先候補入力部、３０２：適用規則選択部、３１１：塗りつぶしキーワード入力部、３１２：削除キーワード入力部、３１３：置き換えキーワード入力部、３１４：暗号化キーワード入力部、３２１：追加ボタン
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特開２０１５−１７６５２９号公報
【特許文献２】特開２０１３−１８６８２４号公報
【図１】
2017134783.tif 000008
【図２】
2017134783.tif 000009
【図３】
2017134783.tif 000010
【図４】
2017134783.tif 000011
【図５】
2017134783.tif 000012
【図６】
2017134783.tif 000013
【図７Ａ】
2017134783.tif 000014
【図７Ｂ】
2017134783.tif 000015
【図８】
2017134783.tif 000016
【図９】
2017134783.tif 000017
【図１０】
2017134783.tif 000018
【図１１】
2017134783.tif 000019
【図１２】
2017134783.tif 000020
【図１３】
2017134783.tif 000021
【図１４】
2017134783.tif 000022
【図１５】
2017134783.tif 000023