(58)【調査した分野】(Int.Cl.,DB名)
前記出力手段は、前記出力先への出力方法及び/又は公開設定に基づいて、前記変更がなされた前記構造化文書のデータファイル、又は、当該構造化文書の表示出力を画像データに変換したもののうち何れかを選択して出力する
ことを特徴とする請求項1〜7の何れか一項に記載のデータ出力装置。
前記変更内容設定手段は、前記操作手段により受け付けられた入力操作の内容に基づいて、前記データ部分を置換するためのテキスト及び/又は画像を入力設定可能に構成される
ことを特徴とする請求項9記載のデータ出力装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の構成では、機密情報を出力しない場合に、当該部分に不自然に空白や文章の飛びが生じることがあり、非公開部分の対応方法における自由度が不足しているという課題があった。従って、このような従来の構成では、配布文書としての体裁が整わない場合が生じるという課題があった。
【0008】
この発明の目的は、非公開情報を含む構造化文書の出力時に非公開部分への対処を柔軟に行うことが出来るデータ出力装置、データ出力方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明は、上記目的を達成するため、請求項1記載の発明は、
構造化言語で記述され、公開条件
に係る記述として公開条件及び変更内容が設定された一又は複数のデータ部分を含む構造化文書のデータ出力装置
であって、
前記データ部分ごとに、複数の前記公開条件及び複数の前記変更内容から一つの前記公開条件及び一つの前記変更内容が個別に設定された出力対象の前記構造化文書を解析して、前記公開条件に係る記述を検出する検出手段と、
出力先への公開設定が前記検出手段により検出された前記公開条件をそれぞれ満たしているか否かを判定する判定手段と、
前記判定手段により前記公開条件が満たされていないと判定された前記データ部分が前記出力先へ出力される前記構造化文書に含まれないように、前記検出手段により検出された前記変更内容に応じて前記データ部分ごとに前記構造化文書の変更を行う変更手段と、
前記変更がなされた前記構造化文書を出力する出力手段と、
を備えることを特徴とするデータ出力装置である。
【0011】
また、請求項
2記載の発明は、請求項
1記載のデータ出力装置において、
前記変更内容は、前記出力先への公開設定に応じて各々設定がなされる
ことを特徴としている。
【0012】
また、請求項
3記載の発明は、請求項1
又は2に記載のデータ出力装置において、
前記変更手段は、前記変更を行うデータ部分に対して設定された前記公開条件に係る記述を削除する
ことを特徴としている。
【0013】
また、請求項
4記載の発明は、請求項1〜3の何れか一項に記載のデータ出力装置において、
前記変更手段は、前記変更された構造化文書から前記公開条件に係る記述を全て削除する
ことを特徴としている。
【0014】
また、請求項
5記載の発明は、請求項
3又は4記載のデータ出力装置において、
前記変更手段は、前記公開条件に係る記述が前記構造化文書から全て削除された場合には、当該公開条件に係る記述様式を定義する記述を削除する
ことを特徴としている。
【0015】
また、請求項
6記載の発明は、請求項1〜
5の何れか一項に記載のデータ出力装置において、
出力先と、当該出力先への出力方法と、前記出力先への公開設定とを関連付けて記憶する出力先記憶手段と、
当該出力先記憶手段に記憶された出力先に対し、当該出力先の公開設定に基づいて変更された前記構造化文書を前記出力方法で出力させる制御手段と
を備えることを特徴としている。
また、請求項7記載の発明は、請求項1〜5の何れか一項に記載のデータ出力装置において、
複数の出力先と、当該出力先への出力方法と、前記出力先への公開設定とを関連付けて記憶する出力先記憶手段と、
複数の出力先に前記構造化文書を出力する制御手段と、
を備え、
前記制御手段は、複数の出力先それぞれに対し、出力先の公開設定に基づいて変更された前記構造化文書を前記出力方法で出力させる
ことを特徴としている。
【0016】
また、請求項8記載の発明は、請求項1〜7の何れか一項に記載のデータ出力装置において、
前記出力手段は、前記出力先への出力方法及び/又は公開設定に基づいて、前記変更がなされた前記構造化文書のデータファイル、又は、当該構造化文書の表示出力を画像データに変換したもののうち何れかを選択して出力する
ことを特徴としている。
【0017】
また、請求項9記載の発明は、請求項1〜8の何れか一項に記載のデータ出力装置において、
外部からの入力操作を受け付ける操作手段と、
前記構造化文書に前記公開条件の設定を行うための公開条件設定手段と、
前記公開条件の設定がなされたデータ部分に対する前記変更内容を設定する変更内容設定手段と
を備えることを特徴としている。
【0018】
また、請求項10記載の発明は、請求項9記載のデータ出力装置において、
前記変更内容設定手段は、前記操作手段により受け付けられた入力操作の内容に基づいて、前記データ部分を置換するためのテキスト及び/又は画像を入力設定可能に構成される
ことを特徴としている。
【0019】
また、請求項11記載の発明は、請求項9又は10記載のデータ出力装置において、
予め設定された公開条件リストを記憶する条件リスト記憶手段を備え、
前記公開条件設定手段は、前記操作手段により受け付けられた入力操作に基づき、前記公開条件リストに設定された公開条件のうち何れかを選択的に前記公開条件として設定する
ことを特徴としている。
【0020】
また、請求項12記載の発明は、
構造化言語で記述され、公開条件
に係る記述として公開条件及び変更内容が設定された一又は複数のデータ部分を含む構造化文書のデータ出力方法であって
、
前記データ部分ごとに、複数の前記公開条件及び複数の前記変更内容から一つの前記公開条件及び一つの前記変更内容が個別に設定された出力対象の前記構造化文書を解析して、前記公開条件に係る記述を検出する検出ステップ、
出力先への公開設定が前記検出ステップで検出された前記公開条件をそれぞれ満たしているか否かを判定する判定ステップ、
前記判定ステップで前記公開条件が満たされていないと判定された前記データ部分が前記出力先へ出力される前記構造化文書に含まれないように、前記検出ステップで検出された前記変更内容に応じて前記データ部分ごとに前記構造化文書の変更を行う変更ステップ、
前記変更がなされた前記構造化文書を出力する出力ステップ、
を含むことを特徴とするデータ出力方法である。
【0021】
また、請求項13記載の発明は、
コンピューターを
構造化言語で記述され、公開条件
に係る記述として公開条件及び変更内容が設定された一又は複数のデータ部分を含む構造化文書のデータ出力装置として機能させるためのプログラムであって
、
前記コンピューターを
前記データ部分ごとに、複数の前記公開条件及び複数の前記変更内容から一つの前記公開条件及び一つの前記変更内容が個別に設定された出力対象の前記構造化文書を解析して、前記公開条件に係る記述を検出する検出手段、
出力先への公開設定が前記検出手段により検出された前記公開条件をそれぞれ満たしているか否かを判定する判定手段、
前記判定手段において前記公開条件が満たされていないと判定された前記データ部分が前記出力先へ出力される前記構造化文書に含まれないように、前記検出手段により検出された前記変更内容に応じて前記データ部分ごとに前記構造化文書の変更を行う変更手段、
前記変更がなされた前記構造化文書を出力する出力手段、
として機能させるためのプログラムである。
【発明の効果】
【0022】
本発明に従うと、非公開情報を含む構造化文書の出力時に非公開部分への対処を柔軟に行うことが出来るという効果がある。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明のデータ出力装置の実施形態であるコンピューター1(PC)の内部構成を示すブロック図である。
【0025】
コンピューター1としては、具体的には、例えば、ノートPC、デスクトップPC、PDA(Personal Digital Assistant)、スマートフォン、携帯電話機が挙げられる。
【0026】
コンピューター1は、制御部11(検出手段、判定手段、変更手段、出力手段、制御手段、公開条件設定手段、変更内容設定手段)と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、記憶部14と、操作部15(操作手段)と、表示部16と、通信部17などを備えている。
【0027】
制御部11は、CPUを備える。制御部11は、ROM13や記憶部14に格納されている各種プログラムやデータをRAM12に展開して種々の演算処理を行い、また、制御プログラムに基づいてコンピューター1全体の動作を統括制御する。
【0028】
RAM12は、制御部11が実行する各種プログラムやデータ等を一時的に展開し、また、各種プログラムが実行される際の一時データ等を記憶するための作業用メモリー空間を提供する揮発性メモリーである。
ROM13には、制御部11により実行されるBIOS(Basic Input/Output System)などの制御プログラムや初期設定データが読み出し可能に記憶されている。このROM13は、フラッシュメモリーやEEPROM(Electrically Erasable and Programmable Read Only Memory)といった不揮発性メモリーであってもよい。
【0029】
記憶部14には、種々のソフトウェア、制御データ、設定データやアプリケーションデータが読み書き、および、利用可能に保存されている。この記憶部14は、本実施の形態ではハードディスクであるが、これに限られない。記憶部14は、例えば、SSD(Solid State Drive)などであってもよい。記憶部14に記憶されているソフトウェアの中には、セキュリティ設定プログラム14a、データ出力プログラム14bが含まれている。また、記憶部14に記憶されている設定データには、公開レベル設定リスト14c(条件リスト記憶手段)、及び、配送先公開レベルマッピングデータ14d(出力先記憶手段)が含まれている。
【0030】
セキュリティ設定プログラム14aは、XMLなどの構造化言語で記載されたドキュメント(構造化文書)に対し、後述する所定の形式でセキュリティ設定(公開条件の設定)を行うためのスキーマ定義と、ユーザーの操作に基づいて指定された表示範囲に対するセキュリティ設定とを行うことが可能なソフトウェアである。本実施形態のセキュリティ設定プログラム14aでは、WORD(登録商標:MICROSOFT WORD)等で出力されるOOXML形式(Office Open XML)のファイルを展開してセキュリティ設定を書込むことが可能である。このプログラムは、後述するデータ出力プログラム14bに一機能として含まれるものであっても良い。また、このプログラムは、通常のWORDソフトと同等の文書作成機能を備えたものであっても良い。
【0031】
データ出力プログラム14bは、セキュリティ設定がなされた構造化文書を出力する際に、配送先への公開条件と、構造化文書の各表示範囲の表示データ(データ部分)に対して設定されたセキュリティ設定とを比較して、当該配送先への公開が禁止されている表示範囲のデータを含まない形に変更した後、当該変更された構造化文書のデータを出力するプログラムである。このデータ出力プログラム14bは、上記のように、セキュリティ設定プログラム14aを一機能として含むものであっても良い。
【0032】
図2は、公開レベル設定リスト14cの内容例を示す図である。また、
図3は、配送先公開レベルマッピングデータ14dの内容例を示す図である。
公開レベル設定リスト14cは、セキュリティ設定プログラム14aのユーザーが設定可能なセキュリティレベルと、当該セキュリティレベルの説明とを対応付けて記憶するテーブルリストである。例えば、
図2に示すように、公開レベルが数値設定され、数値が高くなるに従って公開可能範囲が狭くなるように設定される。或いは、設定される公開レベルは、数値だけではなく、アルファベットなど他の記号を用いて設定されても良い。また、この公開レベル設定リスト14cには、下位レベルが上位ベルを単純に包含する形だけではなく部分的に重なる形の公開条件や、選択的に具体的な送信先が設定された公開条件が記憶されても良い。この公開レベル設定リスト14cは、セキュリティ設定プログラム14aの実行前にユーザーにより予め設定されて記憶部14に記憶される。
【0033】
配送先公開レベルマッピングデータ14dは、ユーザーなどが設定した送信先の名称及び具体的な宛先、送信方法(出力方法)、及び、公開レベル(出力先への公開設定)が関連付けられて記憶されたテーブルリストである。
図3に示すように、送信方法としては、電子メール(E-mail)による送信の他、FTP(File Transfer Protocol)やSSH(Secure Shell)のファイル転送(SFTP、SCPなど)を利用したデータ送信、FAXによる画像データ送信など種々の方法が設定可能である。なお、E-mailやファイル転送の場合であっても構造化文書ファイル自体を出力する場合と、PDF(Portable Document Format)などの画像データに変換して出力する場合とで更に設定を行っても良い。
【0034】
操作部15は、ユーザーの入力操作を電気信号に変換して制御部11に送信する。この操作部15は、例えば、キーボードやマウスである。
表示部16は、制御部11からの指令に応じて情報を表示出力する。この表示部16には、例えば、LCD(Liquid Crystal Display)や有機ELD(Electro-Luminescent Display)からなるディスプレイが用いられている。
或いは、操作部15及び表示部16は、タッチパネルといった表示動作と入力操作の受付とを兼ね備えたものであってもよい。また、操作部15及び表示部16は、ケーブル等を介して外部接続されるものであってもよいし、コンピューター1の他の構成と一体に設けられているものであってもよい。
【0035】
通信部17は、コンピューター1と、回線2に接続された他の装置、例えば、印刷機やFAX機、及び、外部ネットワークとの間で通信接続を行う際に、回線2とのデータの送受信に係る通信制御を行う。通信部17は、例えば、NIC(Network Interface Card)である。また、コンピューター1自身が電子FAX機能を有する場合には、回線2として電話線を含み、通信部17がFAXモデムとしての機能を備えることとしても良い。
【0036】
次に、本実施形態のコンピューター1におけるセキュリティ設定プログラム14aを用いた構造化文書へのセキュリティ設定について説明する。
【0037】
図4は、OOXML形式による文書ファイルのファイル構成を示す図である。
本実施形態のコンピューター1において出力対象となる構造化文書ファイルであるOOXML形式のワードファイル(拡張子が.docx)は、少なくとも複数のXMLファイル(拡張子が.xml)及び関連ファイル(拡張子が.rels)がZIP形式で圧縮、格納されたアーカイブファイルである。例えば、一のワードファイル(ここでは、Sample.docx)は、[Content_Types].xmlと、_rels、docProps、wordの各フォルダーに含まれるファイルとにより構成されている。
【0038】
フォルダーwordには、複数のファイルdocument.xml、fontTable.xml、settings.xml、styles.xml、webSettings.xml、及び、複数のフォルダー_rels、media、themeが含まれている。
フォルダーword内のドキュメントファイルdocument.xmlは、この構造化文書ファイルSample.docxにおけるドキュメントの内容を記録したファイルである。また、このドキュメント内に貼り付けられた画像データは、サブフォルダーmedia内に格納されている。即ち、JPEG画像ファイルimage1.jpgは、ドキュメント内に貼り付けられて表示される画像のデータである。
【0039】
図5は、ドキュメントファイルdocument.xml内に追加記載されたスキーマの定義記述の例を示す図である。
スキーマ定義(schema definition)において、ここでは、定義要素として開示条件“disclosureSettings”が記述されている(a)。この開示条件“disclosureSettings”では、その子要素である開示条件“disclosureSetting”の更に子要素として、データ型が十進数であるレベル“level”と、データ型が文字型である変更種別“ChangeType”、及び、置換テキスト“replaceText”がそれぞれ定義されている(b)。ここで、このXMLスキーマの定義は、別途定義ファイル(拡張子が.xsd)に名前空間の定義とともに記述し、ドキュメントファイルdocument.xmlから当該名前空間を用いてこの定義を呼び出して利用することとしても良い。
【0040】
図6は、ドキュメントファイルdocument.xml内の指定表示範囲に対して設定されたセキュリティ設定の例を示す図である。
この記載部分(c)において、WORDテキストタグ<w:t>を用いて記載された表示テキスト(c2)に対し、
図5で定義された開示条件“disclosureSettings”の設定がなされている(c1)。即ち、カスタム定義XMLプロパティの属性値として、上記定義されたレベル“level”に対し、公開レベル「3」(公開条件)が設定され、変更種別“changeType”として置換“replace”が設定され、また、置換テキスト“replaceText”として「閲覧できません」との記述が設定されている。ここで、置換テキスト“replaceText”には、一種類の文章のみが設定されるが、この置換テキストを配信先の公開レベルに応じて異なるものに設定可能としても良い。例えば、置換テキスト1“replaceText1”から置換テキスト3“replaceText3”までを各々設定し、配信先の公開レベルが1の場合には、置換テキスト“replaceText”又は置換テキスト1“replaceText1”の何れか一方の検出されたものを用いて非公開の表示範囲データの置換が行われることとしても良い。
【0041】
このように、本発明の実施形態に係る構造化文書では、メタ情報によるセキュリティ設定の記述方法(記述様式)が定義されて、各表示範囲の表示データに対してセキュリティ設定が行われることで、表向きの表示内容を変更せずにセキュリティ情報が付加されている。
【0042】
次に、この構造化文書へのセキュリティ設定動作について説明する。
図7は、コンピューター1の表示部16に表示されたセキュリティ設定画面の例を示す図である。
【0043】
このセキュリティ設定画面16aには、構造化文書の全体又は一部が表示される。そして、マウスやキーボードなどの操作部15による操作を介して破線で示すように表示文書の一部が指定されると、ポップアップウィンドウ16bが表示されて当該指定部分の公開レベルの設定が可能となる。このポップアップウィンドウ16bに表示される公開レベルのリストは、
図2に示した公開レベル設定リスト14cが読み出されて表示されたものである。従って、ポップアップウィンドウ16bには、公開レベル1〜4及び各々の説明が表示される。
【0044】
図8は、このポップアップウィンドウ16bへの公開レベルリスト表示処理の制御部11による制御手順を示すフローチャートである。
【0045】
この公開レベルリスト表示処理は、上記のように、セキュリティ設定画面16aにおいて公開レベルの設定範囲が指定されると起動される。
先ず、制御部11(CPU)は、公開レベル設定リスト14cを読み込む(ステップS101)。次に、制御部11は、初期値として、変数i、jに0を代入し、また、変数Nを公開レベル設定リスト14cで記憶されている公開レベルの数に設定する(ステップS102)。
【0046】
続いて、制御部11は、変数iが変数Nに到達するまで、初期値0から1つずつ増加させながら、公開レベル設定リスト14cから読み込まれた公開レベル値を順番に変数dlevel[i]へと代入する(ステップS103)。制御部11は、取得された変数dlevel[i]の値が有効な値であるか否かを判別する(ステップS104)。そして、有効な値であると判別された場合には、制御部11は、この変数dlevel[i]の値と対応する説明文とを一行ずつポップアップウィンドウ16bに表示させる(ステップS105)。また、制御部11は、変数jに1を加算する。一方、有効な値ではないと判別された場合には、制御部11は、この変数dlevel[i]及び対応する説明文をポップアップウィンドウ16bに表示させず、1が加算された次の変数iについて、ステップS103〜S105の処理を繰り返す。
【0047】
ステップS103〜S105のループ処理で、変数iの値が変数Nに達すると、制御部11による処理は、ステップS106に移行する。制御部11は、変数jが0であるか否かを判別する。変数jが0ではないと判別された場合には、制御部11はそのまま公開レベルリスト表示処理を終了する。変数jが0であると判別された場合には、制御部11は、ポップアップウィンドウ16bにエラー表示を行わせて(ステップS107)、それから公開レベルリスト表示処理を終了する。
【0048】
図9は、公開レベル設定処理の制御部11による制御手順を示すフローチャートである。
【0049】
この公開レベル設定処理は、ユーザーによりポップアップウィンドウ16bから公開レベルの一つが選択されることで開始される。
制御部11は、先ず、公開レベルを設定する対象のドキュメントファイルを読み込む(ステップS111)。続いて、制御部11は、読み込まれたドキュメントファイルに公開レベルが設定された表示範囲の表示データに対するセキュリティ設定に係るメタデータの記述が有るか否かを各判別する(ステップS112)。
図6に示したようなセキュリティ設定に係るメタデータがないと判別された場合には、制御部11は、セキュリティ設定に係るメタデータの記述を追加した後に(ステップS113)、ステップS114の処理に移行する。ここで、
図5に示したようなセキュリティ設定に係るスキーマ定義の記述自体が存在しない場合には、制御部11は、このスキーマ定義に係る記述も追加する。ステップS112の判別処理において、既にメタデータがあると判別された場合には、制御部11の処理は、そのままステップS114に移行する。
【0050】
ステップS114の処理に移行すると、制御部11は、ユーザーが設定した公開レベルを取得する。続いて、制御部11は、当該表示範囲の表示データに対するセキュリティ設定に係るメタデータの記述において、公開レベルが設定されているか否かを判別する(ステップS115)。ここで、公開レベルの設定がされているとは、本処理で指定された表示範囲と同一の範囲に対する設定に限らず、指定範囲の一部分に対してのみ、又は、指定範囲を含む広い範囲に設定されている場合も含む。公開レベルが未だ設定されていないと判別された場合には、制御部11の処理は、ステップS118に移行する。
【0051】
一方、公開レベルが設定されていると判別された場合には、制御部11は、新たなポップアップウィンドウを開いてユーザーに設定の上書きを行ってよいかの確認を求める表示、及び、OKボタンとキャンセルボタンの表示を行う(ステップS116)。そして、何れかのボタンが選択操作(クリック)されるまで待機する。何れかのボタンが選択操作されると、制御部11は、上書きが可であるか否かを判別する(ステップS117)。OKボタンの選択操作が検出されて上書きが可であると判別された場合には、制御部11の処理は、ステップS118に移行する。キャンセルボタンの選択操作が検出されて上書きが不可であると判別された場合には、制御部11は、そのまま公開レベル設定処理を終了する。
【0052】
ステップS118の処理に移行すると、制御部11は、ドキュメントファイルdocument.xmlに当該表示範囲に係る表示データに公開レベルの設定を書込む。なお、もともと設定されていた表示範囲の一部に対してのみ新たに公開レベルが設定された場合には、残された表示範囲に係る表示データに対して従来の公開レベルの設定が適用されるように、制御部11は、併せてメタデータの記述を変更する。そして、制御部11は、公開レベル設定処理を終了する。
【0053】
図10は、変更内容の設定処理に係る設定画面の例を示す図である。
【0054】
構造化文書データの出力時に公開レベルの設定に基づいて非公開となる表示範囲に対する表示変更内容の設定は、公開レベルが設定されたデータに対して各々行われる。なお、本実施形態のコンピューター1では、公開レベルが「1」(一般公開)に設定されている場合であってもこの変更内容の設定が行われるが、これに限られない。
【0055】
ポップアップウィンドウ16bを用いた公開レベルの設定が終了すると、続いて、ポップアップウィンドウ16cが開かれて変更内容の設定が行われる。先ず、ポップアップウィンドウ16cには、非公開時に当該表示範囲をどのように処理するかの選択を行わせるためのリストボックス162と、リストボックス162において「差し替え」が選択された場合の差し替え文を設定するためのリストボックス及びテキストボックスを含むサブウィンドウ163、及び、設定完了又は設定キャンセルの選択操作を行うためのボタン164a、164bが表示される。また、このポップアップウィンドウ16cにプルダウンメニュー161を表示させて、公開レベルの変更を可能としても良い。
【0056】
リストボックス162には、処理方法として「削除」、「空白」、及び、「差し替え」が表示されて、何れか一つが選択可能となっている。「削除」は、当該非表示部分を削除し、後続の表示部分を詰めて表示させる処理である。「空白」は、当該非表示部分と同等の空白スペースを形成して表示させる処理である。「差し替え」は、当該非表示部分の表示内容を他の表示内容に差し替える処理である。
【0057】
サブウィンドウ163に表示されたリストボックスには、リストボックス162で「差し替え」が選択された場合の差し替え文として頻繁に用いられる定型文が表示され、いずれか一つが選択可能となっている。また、このリストボックスで何れかの定型文を選択する代わりに、テキストボックスにユーザーが任意のテキストを入力することで、この入力されたテキストを差し替え内容として設定することが出来る。また、例えば、画像ファイル名を入力することで、画像を差し替え挿入させるように設定することも可能である。
【0058】
図11は、変更内容設定処理の制御手順を示すフローチャートである。
【0059】
この変更内容設定処理は、ポップアップウィンドウ16cにおいて設定ボタン164aが選択操作されることで開始される。
変更内容設定処理が開始されると、制御部11は、先ず、ドキュメントファイルを読み込む(ステップS121)。それから、制御部11は、このドキュメントファイルから変更内容の設定が行われた表示範囲の表示データに対するセキュリティ設定に係るメタデータを取得する(ステップS122)。また、制御部11は、ポップアップウィンドウ16cを用いて入力された変更内容を取得する(ステップS123)。
【0060】
次に、制御部11は、指定された表示範囲のデータの変更内容、即ち、変更種別“changeType”及び置換テキスト“replaceText”が既に設定されているか否かを判別する(ステップS124)。設定されていないと判別された場合には、制御部11の処理は、そのままステップS127に移行する。一方、既に変更内容が設定されていると判別された場合には、制御部11は、新たなポップアップウィンドウを開き、このポップアップウィンドウに設定内容の上書きを行ってよいかの確認を求める表示、及び、OKボタンとキャンセルボタンを表示させる(ステップS125)。そして、ユーザーによる何れかのボタンの選択操作が検出されるまで待機する。
【0061】
ユーザーによるボタンの選択操作が検出されると、制御部11は、上書きが可であるか否かを判別する(ステップS126)。キャンセルボタンの選択操作が検出されて上書きが不可であると判別された場合には、制御部11は、そのまま変更内容設定処理を終了する。一方、OKボタンの選択操作が検出されて上書きが可であると判別された場合には、制御部11の処理は、ステップS127に移行する。
【0062】
ステップS127の処理に移行すると、制御部11は、ドキュメントファイルdocument.xmlに変更対象の表示範囲の表示データに係る変更内容を、当該データ部分の設定属性値である変更種別“changeType”及び置換テキスト“replaceText”にメタデータとして書き込む。そして、制御部11は、変更内容設定処理を終了する。
【0063】
次に、この構造化文書の出力動作について説明する。
図12は、出力ファイル解析処理の制御部11による制御手順を示すフローチャートである。
【0064】
この出力ファイル解析処理は、公開レベルの設定がなされた構造化文書をユーザーが他所に送信する際に、データ出力プログラム14bを起動することで開始される。
出力ファイル解析処理が開始されると、制御部11は、先ず、ユーザーにより設定された配信先の数Mを取得する。また、変数iに初期値「0」を代入設定する(ステップS201)。
【0065】
次に、制御部11は、変数iが配信先数Mに達するまで1ずつ加算しながら、ステップS202〜S205の処理を繰り返し行うループ処理を行う。
このループ処理において、制御部11は、出力対象の構造化文書ファイルをコピーして一時ファイルを作成する(ステップS202)。次いで、制御部11は、変数i番目の配送先データを取得し、配送先公開レベルマッピングデータ14dを参照して当該配送先の公開レベルを取得する(ステップS203)。それから、制御部11は、後述のファイル内容変更処理(ステップS204)、及び、ファイル送信処理(ステップS205)を行う。配信先数Mの全てに対して配信が終了すると、制御部11は、出力ファイル解析処理を終了する。
【0066】
図13は、出力ファイル解析処理で呼び出されるファイル内容変更処理の制御手順を示すフローチャートである。
【0067】
ファイル内容変更処理(ステップS204)に移行すると、制御部11は、先ず、コピーされた構造化文書の一時データの先頭に解析位置を設定する(ステップS401)。次いで、制御部11は、現在の解析位置が一時データの終端であるか否かを判別する(ステップS402)。一時データの終端であると判別された場合には、制御部11の処理は、ステップS403に移行する。
【0068】
ステップS402の判別処理で、現在の解析位置が一時データの終端ではないと判別された場合には、制御部11は、順番に各行の解析を行う(ステップS411)。ここで行う解析は、公開レベルの設定に係る記載を検出する処理であり、具体的には、制御部11は、
図6に示したように、「<w:customXml w:element=”disclosureSettings”>」の記述を検出する。各行ごとに解析が行われると、制御部11は、上記公開レベルの設定に係る記述が検出されたか否かを判別する(ステップS412)。検出されていないと判別された場合には、制御部11の処理は、ステップS402に戻り、解析位置が一時データの終端に達するか、又は、公開レベルの設定に係る記述が検出されるまで、ステップS402、S411、S412の処理を繰り返す。
【0069】
ステップS412の判別処理で公開レベルの設定に係る記述が検出されたと判別された場合には、制御部11は、一時データを更に解析して、一時データ内の表示データに対して設定された公開レベルを読み取る(ステップS413)。即ち、制御部11は、公開レベルの設定データ(
図6(d)の先頭行)が検出されるまで順番に各行の解析を行い、公開レベルの設定データが検出されると、この検出された公開レベルの設定値を取得する。
図6では、制御部11は、設定値「3」を取得する。
【0070】
制御部11は、配信先の公開レベルが取得された公開レベルの設定値未満であるか否かを判別する(ステップS414)。配信先の公開レベルが取得された公開レベル未満ではないと判別された場合には、この表示範囲の表示データに対して変更を加えず、制御部11は、処理ステップをステップS402に戻して次の行以降の各行の解析を続ける。
【0071】
一方、配信先の公開レベルが取得された公開レベル未満であると判別された場合には、制御部11は、次に、変更種別“changeType”の設定を取得する(ステップS415)。制御部11は、ドキュメントファイルdocument.xmlの次の行(
図6(d)における二行目)の記述を解析する。取得された変更種別が「削除“delete”」であると判別された場合には、制御部11は、表示範囲の表示データを削除する(ステップS416)。ここでは、
図6(c)においてWORDテキストタグ<w:t>により記述された表示テキストを削除する。そして、制御部11の処理は、ステップS417に移行する。
【0072】
取得された変更種別が「空白“insertBlank”」であると判別された場合には、制御部11は、表示範囲を空白に変換する(ステップS426)。ここでは、制御部11は、表示データに係る各文字を各々スペースに変換するだけでも良いし、フォント情報等を取得して表示画面における当該表示範囲の形状及びサイズを算出し、同等の大きさで背景色と同色の図形を代わりに表示させるように記述を変更することとしても良い。この処理が終了すると、制御部11の処理は、ステップS417に移行する。
【0073】
また、取得された変更種別が「置換“replace”」であると判別された場合には、制御部11は、置換テキストを取得する(ステップS436)。制御部11は、ドキュメントファイルdocument.xmlにおける更に次の行(
図6(d)における三行目)のデータを解析して、置換テキスト“replaceText”の設定を取得する。そして、制御部11は、表示テキストをこの取得された置換テキストに置き換える処理を行う(ステップS437)。この処理が終了すると、制御部11の処理は、ステップS417に移行する。
【0074】
ステップS417の処理に移行すると、制御部11は、変更された表示範囲の表示データに対するセキュリティ設定に係るメタデータを削除する。又は、制御部11は、ステップS412及びステップS414の判別処理で“NO”に分岐し、変更が行われない場合であっても処理をステップS417に移行させることとして、解析が行われた表示範囲の表示データに対するセキュリティ設定に係るメタデータを全て削除しても良い。それから、制御部11の処理は、ステップS402に戻る。
【0075】
ステップS402の判別処理からステップS403の処理に移行すると、制御部11は、削除しなかったセキュリティ設定に係るメタデータが残っているか否かを判別する。メタデータが残っている、即ち、公開レベルが設定されていて且つ内容変更が行われていないデータが存在すると判別された場合には、そのままファイル内容変更処理を終了して出力ファイル解析処理に戻る。メタデータが全て削除されたと判別された場合、即ち、公開レベルが設定されていた全てのデータの内容変更が行われた場合には、制御部11は、当該セキュリティ設定に係るカスタム定義XMLスキーマの記載部分を削除する(ステップS404)。そして、ファイル内容変更処理を終了して出力ファイル解析処理に戻る。
【0076】
図14は、出力ファイル解析処理で呼び出されるファイル送信処理の制御手順を示すフローチャートである。
【0077】
出力ファイル解析処理において、ステップS205の処理に移行してファイル送信処理が呼び出されると、制御部11は、配送先公開レベルマッピングデータ14dから変数i番目の送信先に対して設定された送信方法を取得する(ステップS501)。なお、配送先公開レベルマッピングデータ14dからの読み出し動作は、ステップS203の処理で公開レベル情報と共にまとめてなされることとしても良い。次に、制御部11は、送信先との間での送信方法に係るネット接続(例えば、TCP/IP接続)を確立する(ステップS502)。また、コンピューター1がインターネットに常時接続されていない場合には、制御部11は、IPの設定等を行い、インターネットに接続する。それから、制御部11は、ファイル内容変更処理で変更処理がなされた一時ファイルを送信ファイルとして設定する(ステップS503)。
【0078】
制御部11は、送信方法による分別を行い(ステップS504)、送信方法ごとに各送信処理を行う。送信方法が電子メール(E-mail)である場合には、制御部11は、送信ファイルを送信先に対する電子メール原稿に添付して、SMTPサーバーに接続して電子メールの送信を行う(ステップS505)。ここで、制御部11は、予めユーザーにより別途準備されている送信状データを利用しても良いし、テンプレートデータに基づいて送信状を自動生成しても良い。また、制御部11は、送信に際し暗号化等の処理が必要な場合には、送信ファイルの暗号化を行ってから送信することとしてもよく、これらの処理に関しては、従来公知の種々の技術を用いることが出来る。送信が終了すると、制御部11の処理は、ステップS506に移行する。
【0079】
一方、送信方法がファイル転送である場合には、制御部11は、設定されたファイル転送方法により送信ファイルを送信先のサーバーにアップロードする(ステップS515)。この場合、公開レベル2以上の文書をSSHなどの転送方法を用いてアップロードする場合のパスワード等に関し、適宜ユーザーの入力を要求するようにデータ出力プログラム14bを設定することが可能である。アップロードが終了すると、制御部11の処理は、ステップS506に移行する。
【0080】
また、配信方法がFAX送信である場合には、例えば、制御部11は、送信ファイルを印刷機へプリントジョブとして送信する(ステップS525)。制御部11は、併せて、配送先への送信状データを作成してプリントジョブとして印刷機へ送信しても良い。この場合には、印刷機から出力された印刷物をユーザーがFAX機にセットして送信すればよい。また、印刷物を郵送する設定の場合にも、制御部11は、同様に送信ファイルを印刷機へプリントジョブとして送信すればよい。或いは、電子FAX機能を有するFAX機に直接出力する場合には、送信ファイルと送信先データとをFAX送信指令と共に当該FAX機に出力することで、FAX機に送信ファイルを解読させて形成された画像データを送信先に送信させる。
【0081】
また、コンピューター1自身が備える電子FAX機能を用いる場合には、制御部11は、送信ファイルを電子FAXソフトウェアが読み取り可能な画像データファイル(例えば、PDF)に変換する。そして、制御部11は、記憶部14に記憶された電子FAXソフトウェアを読み出して起動し、通信部17に接続された電話回線を介してこのPDFファイルから読み取られた画像データと送信状の画像データとを配信先に送信する。
FAX送信が終了すると、制御部11の処理は、ステップS506に移行する。
【0082】
ステップS506の処理に移行すると、制御部11は、ドキュメントファイルデータの送信用に接続した通信を切断する。そして、制御部11は、ファイル送信処理を終了して出力ファイル解析処理に戻る。
【0083】
以上のように、本実施形態のコンピューター1によれば、定義スキーマを用いたカスタム定義によりセキュリティ設定がなされたOOXML文書を出力する際に、このOOXML文書のドキュメントファイルdocument.xmlを解析して各表示範囲の表示データに対するセキュリティ設定に係る記述部分を検出し、検出されたセキュリティ設定に含まれる公開設定レベルと、送信先の公開レベルとを比較して、当該表示範囲における表示データの公開が可能であるか否かを判別し、公開が不可であると判別された場合には、セキュリティ設定に含まれる変更種別及び置換テキストの設定に基づいて当該表示データを変更することで出力部分から除外した上で出力先に構造化文書ファイルを出力する。従って、ユーザーは、出力の際に構造化文書の各所に設定されたセキュリティ設定の確認漏れを心配せずに確実に公開可能な部分のみを出力先に送信することができる。また、この際、公開不可の部分に対しては、予めこの表示範囲に係る表示データの削除方法を設定しておくことができるので、不自然な文書にならないように適切に送信ドキュメントを生成することができる。
【0084】
また、このような処理を実行可能なプログラムを各コンピューターにインストール可能とすることで、種々のコンピューターでこのようなセキュリティ設定に係るファイルの送信処理を容易に実行可能とすることができると共に、同様のファイルのやり取りに係る処理を共通化することができる。
【0085】
また、予め設定されたカスタム定義スキーマを用いてこのようなセキュリティ設定を構造化文書の設定対応部分にそれぞれメタ情報として付加しておくことで、文書の出力の際にユーザーの負担を軽減することができる。特に、出力対象のドキュメントに複数個所セキュリティ設定がなされている場合に、少ない負担でフレキシブルに公開レベルと合ったドキュメントを作成、送信することができる。
【0086】
また、特に、複数の公開レベルの送信先に対して同一のドキュメントソースを用いて送信する際に、セキュリティ設定において各公開レベルに対応した置換テキストを設定しておくことで、非公開となる表示データの前後関係や送信先に応じたドキュメントを柔軟に作成、送信することができる。従って、メールマガジンの配信などにおいても各々の公開レベルの受信者に対して適切な文書を迅速に送信することができる。
【0087】
また、出力される構造化文書から非公開とされた表示範囲の表示データに対するセキュリティ設定に係るメタデータの記述を合わせて削除するので、オリジナルの構造化文書に非公開部分が存在した痕跡を残したくない場合や非公開レベル情報を露出させたくない場合に表示内容だけではなく文書のソースからも非公開設定に係る情報を消去することができる。
一方で、公開される表示データへのセキュリティ設定に係るメタデータの記述を削除しないまま残すので、送信先から更に他所へ再配布する場合には、当該メタデータ情報に係る非公開設定を更に利用し、必要に応じて非公開の表示データを追加削除しながら送信することができる。
【0088】
また、一方で、各表示範囲のデータに係る非公開又は公開の判定にかかわらず全てのセキュリティ設定に係る記述を削除した構造化文書を送信する構成とすることもできる。このようにカスタム定義のメタデータを削除した構造化文書ファイルを出力することで、出力先で通常のOOXMLファイルと同様に受信された構造化文書ファイルを扱うことができる。
【0089】
また、全てのセキュリティ設定に係る記述が削除された場合には、このセキュリティ設定の様式を定めるカスタム定義スキーマの情報も併せて削除することで、不要な定義の読み込みを必要とさせず、通常の構造化文書ファイルとして利用することができる。
【0090】
また、出力先と当該出力先への送信方法、及び、この出力先の公開レベル設定を関連付けて配送先公開レベルマッピングデータ14dとして記憶し、保持しておくことで、複数の送信先に対して同一の構造化文書ファイルに基づく出力を行う場合に、送信先に応じて適切な公開レベル、且つ、非公開部分の変更削除が行われた文書が生成されて送信させることができるので、ユーザーの利便性を高めることができる。
【0091】
また、FAXのように画像データを送信する機器に出力する場合や、電子メールやファイル転送を行う場合であっても画像データを出力したい場合に対応し、適切なセキュリティレベルの画像ファイルを出力先のセキュリティ設定に応じて形成可能とすることで、ユーザー及び/又は出力先の希望に応じて適切なファイル形式での情報を送信することができる。
【0092】
また、UIを介し、ユーザーは、操作部15への入力操作により構造化文書ファイルにおける各表示範囲の表示データへの公開レベルの設定、及び、非公開時の変更種別や置換テキストの設定を容易に行うことができる。従って、ソースコードのエディターを用いずとも容易にセキュリティ設定を行うことができる。
【0093】
また、特に置換テキストとして定型文のみならず、ユーザー所望の任意のテキストを設定可能とし、更に、テキストだけではなく、図形と置き換えることも可能とすることで、より一層フレキシブルに非公開となる表示範囲への対処を行った上で安全に構造化文書ファイルを出力することができる。
【0094】
また、予め設定可能な公開レベルのリストを公開レベル設定リスト14cとして記憶部14に記憶させておき、このリストに記載された公開レベル及び当該公開レベルの説明を一覧表示させて、何れか1つを操作部15への入力操作に基づいて選択させることで公開レベルの設定を行うので、容易且つミス無く各表示範囲の表示データに対して公開レベルの設定を行うことができる。
【0095】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、配送先公開レベルマッピングデータ14dに登録された送信先に送信ファイルを出力することとしたが、配送先公開レベルマッピングデータ14dに登録されていない配信先への出力も可能である。このような場合には、送信先、送信方法、及び、公開レベルをユーザーの入力操作で設定できるように構成すればよい。
【0096】
また、上記実施の形態では、出力先ごとに元の構造化文書ファイルを一時ファイルにコピーし、この一時ファイルを編集して出力することとしたが、カスタム定義スキーマに係る記述を別ファイルで保持する場合などでは、構造化文書ファイルの各行が解析されるごとに逐次一時ファイルに出力内容を書き出していくことで出力ファイルを生成することとしても良い。
【0097】
また、もし、データ出力装置が複数の部や複数のプロジェクトで共通に用いられる場合には、ユーザー登録、認証などを行ってユーザーの所属部門、プロジェクト等の判定を可能としても良い。
【0098】
又は、出力されたデータのセキュリティ設定を受信者が再度利用する場合(本実施形態では、公開レベル2以上)に、最初のコンピューター1と、このコンピューター1で変更されたOOXML文書を受信して再配布する他のコンピューターとの間でセキュリティレベルの整合をとるため、カスタム定義スキーマに送信者情報を含むこととしても良い。
【0099】
また、画像出力を行う場合などであって公開レベル2以上で出力する場合には、公開レベルに対応して「社外秘」、「部外秘」などの標識をヘッダなどに追加表示させて出力することとしても良い。このような表示を付加することで、受信者が当該OOXML文書を再配布する際に誤って残されたセキュリティ設定を無視してしまう可能性を更に下げることができる。
【0100】
また、上記実施形態では、ファイル転送手段としてFTP及びSSH系のSCP及びSFTPを例に挙げて説明したが、他の転送方法、例えば、HTTP(Hypertext Transfer Protocol)であっても良い。
【0101】
また、上記実施の形態では、OOXML形式のワードファイルにカスタム定義スキーマを用いて定義を追加したが、他のOOXML形式の文書、即ち、パワーポイントファイル(登録商標:POWERPOINT)やエクセルファイル(登録商標:MICROSOFT EXCEL)や、その他のスキーマを利用したXMLファイル、又は、HTML文書などの任意の構造化文書に独自のXMLスキーマの定義を用いて設定することとしても良い。
【0102】
また、セキュリティ設定以外のカスタム定義スキーマが設定されているOOXMLファイルであっても良い。この場合には、タグ<w:customXML>による定義が複数存在することになるので、各々識別して処理を行うように構成することが出来る。
【0103】
また、上記実施の形態の説明では、本発明に係る各種プログラムのコンピューター読取可能な媒体としてハードディスクやSSDによる記憶部14を使用した例を開示したが、この例に限定されない。その他のコンピューター読取可能な媒体として、例えば、ROM、他の種々の不揮発性メモリー、CD−ROMやDVD等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ(搬送波)も本発明に適用される。
その他、上記実施の形態で示した具体的な処理の順序や内容、構成や数値設定などの細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。