JP2009251803A - 情報処理装置、データ処理方法、プログラム - Google Patents
情報処理装置、データ処理方法、プログラム Download PDFInfo
- Publication number
- JP2009251803A JP2009251803A JP2008097241A JP2008097241A JP2009251803A JP 2009251803 A JP2009251803 A JP 2009251803A JP 2008097241 A JP2008097241 A JP 2008097241A JP 2008097241 A JP2008097241 A JP 2008097241A JP 2009251803 A JP2009251803 A JP 2009251803A
- Authority
- JP
- Japan
- Prior art keywords
- information
- document
- metadata
- processing apparatus
- document information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Abstract
【課題】 文書内部に保持される情報を参照することで、通常の表示処理ではセキュリティのために置換されて正しく表示されない情報であっても、印刷要求時に復元された状態で文書を正しく印刷することである。
【解決手段】 セキュリティフィルタ1003が、ファイル名でFixedPageを検索し、該当するFixedPageを見つける(S903)。次に、メタデータのPseudo要素からGUIDの文字列を取得する(S904)。そして、セキュリティフィルタ1003は、FixedPageの中から、Glyph要素を列挙し、メタデータの中のUnicodeString属性の中に同じGUID文字列を見つけたら、FixedPageのGlyph要素をメタデータのGlyph要素で置き換えて復元する(S905)ことを特徴とする。
【選択図】 図10
【解決手段】 セキュリティフィルタ1003が、ファイル名でFixedPageを検索し、該当するFixedPageを見つける(S903)。次に、メタデータのPseudo要素からGUIDの文字列を取得する(S904)。そして、セキュリティフィルタ1003は、FixedPageの中から、Glyph要素を列挙し、メタデータの中のUnicodeString属性の中に同じGUID文字列を見つけたら、FixedPageのGlyph要素をメタデータのGlyph要素で置き換えて復元する(S905)ことを特徴とする。
【選択図】 図10
Description
本発明は、文書情報を処理する情報処理装置に関するものである。
昨今、文書が大量に流通されるようになり、第三者への漏えいを防止するためのセキュリティへの関心が高くなっている。そこで、情報処理装置において、機密情報を含む文書を表示する、もしくは印刷するといったときには、セキュリティが施されたシステムを構築し、文書を保護した状態で情報を管理するのが一般的である。
しかし、電子文書の場合は、比較的容易にコピーや改ざんが行われてしまう。そこで、電子文書自体にセキュリティ対策を施すことが一般的に行われている。
例えば、電子文書自体を暗号化し、秘密鍵を持っている人だけが復号化して読むことができるシステムや、電子文書に署名ファイルを添付し、署名ファイルが一致しないときには見たり印刷したりすることができないシステムなどが存在する。
しかし、このように電子文書全体にセキュリティ対策を施してしまうと、電子文書の一部分だけを保護し、大半の部分は一般に開示したいといったときには、電子文書を大きく編集し再暗号化しなければならなくなる。また、署名を付ける場合においては、編集作業が発生してしまうと、再度署名をつけなければならないので、手間が大きくかかっていたのが現状である。
また、プリンタの性能が上るにつれて、プリンタに電子文書をそのまま送りつけて印刷するダイレクトプリントという形態が増えてきた。
しかし、現状のプリンタの性能や規格では署名ファイルや暗号鍵方式に対応しているものがまだまだ少なく、せっかく施されているこれらの機能を無視して印刷してしまい、電子文書としては守られていても、機密データが紙という媒体では簡単に出力されてしまうことも珍しくなかった。
そこで、機密情報を保護するという観点では、前述したように電子文書そのものを編集してしまうのが最も有効である。例えば、ファイル内の機密情報部分を抽出し、アルファベットやイニシャル文字などファイル内に存在しない他の文字に置き換えるという技術が従来から存在する(特許文献1参照)。
しかし、置き変えてしまうと元のデータに戻すことができなくなってしまう。そこで、置き換える文字との変換テーブルを作ることで元の文書に戻すという方法がよく使われている(特許文献2参照)。この方法であれば、保護したい機密情報だけを置き換えることができるので、機密でない部分については容易に一般にも開示可能である。
特開2002−259363号公報
特開2007−156861号公報
しかし、前述した方法では、管理者が変換テーブルを管理していなければならず、機密文書が大量にあるケースでは、変換テーブルが同じ数だけ生成されてしまい、変換テーブルの管理が煩雑になっていた。
また、これを防ぐために同じ変換テーブルを使う場合は、1つの文書が解析されてしまうと、すべての文書に適用できてしまうという課題があった。
さらに、電子文書内に存在しない文字で置き換える場合、文書全体の文字をチェックしなければならない。電子文書では数百ページ、数千ページに上ることも当たり前のように存在するので、変換テーブル作成に時間がかかってしまっていた。また、電子文書内にほぼすべての文字が存在している場合は、変換テーブルを作りにくいといった問題があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、文書内部に保持される情報を参照することで、通常の表示処理ではセキュリティのために置換されて正しく表示されない情報であっても、印刷要求時に復元された状態で文書を正しく印刷する仕組みを提供することである。
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
文書情報を処理する情報処理装置であって、前記文書情報の中から表示しない情報を指定する指定手段と、前記指定手段により指定された情報から一意に決定される識別情報を生成する生成手段と、生成された識別情報と、前記指定された情報を特定する情報を前記文書情報の中に保持させるためのメタデータを生成するメタデータ生成手段と、前記文書情報の中で指定された情報を前記識別情報で置き換える置換手段と、前記置換手段で置き換えられた情報を含む文書情報と、前記メタデータとを一体とする文書情報を保持する保持手段とを有することを特徴とする。
本発明によれば、文書内部に保持される情報を参照することで、通常の表示処理ではセキュリティのために置換されて正しく表示されない情報であっても、印刷要求時に復元された状態で文書を正しく印刷できる。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示す情報処理システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。また、本システムは、一般的なコンピュータを用いたシステム例である。
〔第1実施形態〕
図1は、本実施形態を示す情報処理システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。また、本システムは、一般的なコンピュータを用いたシステム例である。
図1において、CPU101はROM102あるいはRAM103あるいは外部記憶装置105に格納されたプログラムに従って装置全体の制御を行う。
RAM103はCPU101が各種処理を行う際のワークエリアとしても使用される。外部記憶装置105はオペレーティングシステム(OS)1054やアプリケーション1051等を記録する。ここで、外部記憶装置は、ハードディスク等の不揮発性の記憶装置で構成される。なお、外部記憶装置105には、印刷関連プログラム1052、プリンタドライバ1053、OS1054が記憶されている。
キーボード108やポインティング・デバイス109などの入力機器は、入力I/F104を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。
出力I/F106は、データを外部に出力するためのインタフェースであり、モニタ110やプリンタ111に対してデータを出力する。プリンタ111とはローカルI/Oのみならず、ネットワークを通して接続されていてもよい。また、107はシステムバスで、共通データバスとして、それぞれのデータ間でデバイス間でデータのやりとりを行う。
図2は、本実施形態を示す情報処理システムの構成を説明するブロック図である。本例は、XPSDrv印刷システム例である。なお、ユーザはキーボード108やポインティング・デバイス109などといった入力装置を使用して、出力装置のモニタ110に映し出されたWin32アプリケーションプログラム201(以下、Win32アプリと略す)、もしくはWindows(登録商標) Presentation Foundationアプリケーションプログラム202(以下、WPFアプリと略す)から印刷処理を実行する。
印刷処理はプリンタの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで実行する。
まずは、ユーザは、モニタ110に表示されるユーザインタフェースを介して印刷したいプリンタ214の選択を行う。これは、ユーザがポインティング・デバイス109等を操作することにより、モニタ110に表示されるユーザインタフェース上で印刷を実行するプリンタに対応したプリンタドライバを選択することと同義である。
次に、プリンタドライバが印刷設定を作成する。ここで、印刷設定はアプリケーション1051が印刷設定用のメモリを確保し、アプリケーション1051かプリンタドライバ1053のコンフィギュレーションモジュール204が、機種依存ファイル205を利用して設定データを埋めるという形で行われる。
Win32アプリケーション201では印刷設定データとしてバイナリのDEVMODE構造体215を用い、WPFアプリケーション202ではマークアップ言語のXMLで記載されたPrintTicket(プリントチケット)203を用いる。このDEVMODE構造体215もしくはPrintTicket203が印刷設定を保持しており、アプリケーションが直接書き換えることで印刷設定を変更する。プリンタ214に依存した専用の設定は、コンフィギュレーションモジュール204が持つプリンタドライバのユーザインタフェースを表示し、ユーザがユーザインタフェースを操作することで行う。
プリンタドライバ1053は、ユーザインタフェースの設定に従い、DEVMODE構造体215もしくはPrintTicket203のプリンタ214に依存した設定を変更する。
ここで、印刷設定とは具体的に、出力する用紙サイズを「A4」にする、両面印刷を行う、カラーとモノクロを切り替える、給紙段を指定するなどといった設定のことを指す。また、PrintTicket203はXML形式で記述されているので、アプリケーション1051がすべての設定値を直接変更して書き換えることは容易だが、従来のようにプリンタドライバのユーザインタフェースを使って設定変更してもかまわない。
最後に描画データの変換を行う。印刷設定が確定したら、ユーザはアプリケーション1051から印刷処理を実行する。Win32アプリケーション(Win32アプリ)201から印刷する場合は、バージョン3プリンタドライバの形態を取るGDItoXPS変換モジュール206に描画データが送られ、XPSスプールファイル207が作成される。このときGDItoXPS変換モジュール206はコンフィギュレーションモジュール204を呼び出し、印刷設定をDEVMODE構造体215からPrintTicket203に変換する。
WPFアプリ202から印刷する場合は、XPSファイルをWPFアプリ自身が生成するのと、オペレーティングシステム(OS)1054がWPFアプリ202に命令に応じてXPSファイルを生成するのと2通りの方法がある。どちらの方法によっても、XPSスプールファイル207が生成される。
このようにXPSDrv印刷システムは、印刷時に必ずXPSスプールファイル207を生成するのが特徴である。
XPSスプールファイル207が生成されたら、プリントフィルタパイプラインプロセスに処理が渡される。プリントフィルタパイプラインプロセスは複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル208でフィルタの数や順番を制御する。
プリントフィルタパイプラインプロセスで動作するフィルタパイプラインマネージャは、フィルタコンフィギュレーションファイル208に従って、本実施形態ではセキュリティフィルタ209、レイアウトフィルタ210、レンダラフィルタ211の順に処理を行う。
本処理はXPSスプールファイル207をフィルタに受け渡すことで行われ、フィルタがそれぞれXPSスプールファイル207を加工し次のフィルタに渡していくことで処理が進む。
そして、最後にはプリンタ214が理解できるデータ言語であるプリンタ制御言語(以下、PDL(Page Description Language)と略す)となって出力される。もちろんプリンタ214がXPSスプールファイル207を直接読み込めるのであれば、そのままでもよい。以下、各フィルタの機能について説明する。
セキュリティフィルタ209では、セキュリティ対策が施されたXPS復元する処理を行う。また、レイアウトフィルタ210では倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。
また、レイアウトフィルタ210では、XPSスプールファイル207に含まれる印刷設定PrintTicket203に従って動作するため、たとえば面付けの設定がPrintTicket203に存在しないときは、レイアウトフィルタ210は何も動作せずフィルタをスルーして、次のフィルタにXPSスプールファイル207をそのまま渡す。
最後のレンダラフィルタ211では、XPSスプールファイル207をレンダリングしてPDLデータに変換する。そして、変換されたPDLデータは印刷処理のスケジュール管理を行うプリントマネージャ212で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。
そして、プリンタ214が印刷できる状態になったら、キューに登録した順にPDLデータをI/Oモニタ213を通して送信する。
このようにして、アプリケーション1051からの印刷データをプリンタ言語に変換することがプリンタドライバ1053の主な役目であり、実際の印刷処理が行われる。
図3は、図2に示したXPSスプールファイル207の構造を示す図である。本例では、XPSスプールファイル207は3層構造からなる。
図3において、XPSスプールファイル207は、3層からなるXMLファイルの集合で構成される。具体的には、第1層にFixed Document Sequense301(以下、ジョブと略す)が、次の層にFixed Document302(以下、ドキュメントと略す)が、最下層にFixed Page303(以下、ページと略す)が存在する。
なお、それぞれの階層はレベルとも呼ばれる。実際の描画データとなる文書の各ページはページレベルに置かれ、1つのドキュメントレベルの中に複数ページが含まれる。
また、1つのXPSスプールファイル207の中に複数のドキュメントを持つことができるため、ジョブが複数のドキュメントを管理している。これらはすべてXMLで記載されているが、リソースデータのようなバイナリデータはイメージ304、フォント305といった形で、そのままXPSスプールファイル207の中に含まれている。
印刷設定であるPrintTicket306は、ジョブレベル、ドキュメントレベル、ページレベルのすべてのレベルで持つことができ、ページごとに印刷設定を切り替えることが可能になっている。
また、PrintTicket306の中にある印刷設定の機能1つ1つにも、どのレベルに対して適用するのかが示されており、機能名称の接頭辞(Prefix)で定義されている。
例えば、“Job”が機能の接頭辞としてつけば、ジョブレベルの機能設定ということになる。PrintTicketはプリンタやプリンタドライバが持つ機能をFeatureという要素で、機能の選択肢をOptionという要素で表している。ScoredPropertyやPropertyはOptionに付随する属性情報であり、ParameterInitは機能の値を表している。
サムネイル307は、最初のページのスナップショット画像ファイルになっており、ページをレンダリングしなくてもこの画像を使用することでページを見ることができるので、複数のXPSスプールファイル207の一覧表示などに役立つ。コアプロパティ308は文書の属性(プロパティ)情報を持っていて、文書名、リビジョン、編集者などの情報が含まれている。
Document Structure309はドキュメントレベルに付属する情報で、ドキュメントの章の区切りが記載されている。これらのデータが圧縮され1つのファイルとなっているのが、XPSスプールファイル207である。なお、文書フォーマットのXPSファイルもXPSスプールファイル207とまったく同一の構造である。
以下、セキュリティ対策を施した電子文書としてXPSファイルを書き換える方法と、元のファイルに戻して印刷する方法について、順を追って説明する。
外部記憶装置105には、アプリケーション1051として、機密処理アプリケーションと電子文書を作成する文書アプリケーション、そしてXPSビューアの3つのアプリケーションがインストールされている。
ここで、機密処理アプリケーションは、セキュリティを施したXPSファイルを作成するアプリケーションである。また、電子文書を作成する文書アプリケーションは、ユーザが編集したデータをXPSファイルとして保存するアプリケーションである。XPSビューアは、XPSファイルを実際に印刷した場合のレイアウトを表示するもので、XPSファイルを直接印刷することができる(登録商標)dows Presentation Foundationアプリケーション202である。
また、作成したXPSファイルは、外部記憶装置105に保存される。さらに、作成したXPSファイルは、プリンタドライバ1053のXPSドライバで印刷することで、セキュリティフィルタ209の処理によって復元することができる。
図4は、本実施形態を示す情報処理装置におけるXPSファイルの一例を示す図である。
図4において、501はFixed Document Sequenseで、502がFixed Documentで、503はFixed Pageである。これらの501〜503は、XPSファイルフォーマットの第1層から第3層に相当するものである。
504はメタデータで、Fixed Page503のGlyph文字をGUID505で置き換えることで生成される。
上記のように構成された出力処理システムにおいて、ユーザは、アプリケーションを実行して、対象となる電子文書XPSファイルを作成する。ここで、電子文書XPSファイルの中に機密事項、例えば、個人情報である氏名や住所、電話番号などが記載されている場合がある。このような場合、例えば氏名や住所などが掲載された書類、例えば住民票や身分証明書などの公的文書を作成したときなどに本実施形態を使用して機密情報を隠す。
また、解答を記載した試験問題を作成し、解答部分だけを隠すといったことにも使える。さらに、会社の組織図において、組織名や個人名を隠すといったことや、売り上げの粗利益や販売実績・シェアなどの数値の機密情報、開発プロジェクト名やコードネームなどにも使用できる。
本実施形態では、ユーザがアプリケーションを実行して作成した電子文書XPSファイルとして、プリンタドライバのテストページデータを、機密情報として、図7,図8に示すように、”Windows(登録商標)XP “という文字を対象にして作業を進める例を説明する。
まず、ユーザは、対象とするXPSファイルを専用の機密処理アプリケーションで開く。機密処理アプリケーションは、セキュリティを施すアプリケーションであるが、ユーザが文字列を指定しやすいように、XPSファイルを読み取ってXPSファイルのプレビューを行う機能も備えている。
以下、機密にしたい箇所を選択して、文字列を置き換える方法を、図5のフローチャートに従って説明する。
図5は、本実施形態を示す情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、機密にしたい箇所を選択して、文字列を置換える処理例である。なお、S401〜S407は各ステップを示す。各ステップは、CPU101がアプリケーション1051を実行することで実現される。
まず、S401で、機密処理アプリケーションは、XPSファイルをモニタ110上にプレビューし、ユーザがポインティング・デバイス109を操作することによって選択された機密事項の文字を指定する。ここで、機密事項の文字を指定したら、機密処理アプリケーションはユーザの機密処理を行うボタンを押す動作によって、機密処理を開始する。
次に、S402で、最初の処理として機密処理アプリケーションは、ユーザによって選択された位置と文字列から、対象となるXPSファイルのFixedPageのXMLの中から、指定された文字を見つける。これは対象となるGlyph要素を特定することを指す。FixedPageのXMLにおいて、文字はGlyph要素というタグで記載されているため、指定された文字が記載されたGlyph要素を特定する。Glyph要素には文字列の位置と、文字列データが記載されている。文字列データはUnicodeString属性で文字列がそのまま記載されている場合と、指定されたフォントの位置を示すIndices属性のどちらかで記載されている。
このようにしてGlyph要素を特定したら、S403で、機密処理アプリケーションは、128ビットのUUID(universal unique identifier)としてGUID(Global Unique Identifier)を生成する(図4に示すGUID505)。ここで、GUIDは、UUIDの一種で、ソフトウェア"ソフトウェアで使用される擬似乱数で、世界で一意に決定される識別子として使用される128ビットの2進数値の識別情報である。
また、GUIDは、対象となる機密文字、すなわちGlyphタグ1つにつき1つ生成し、ペアにして管理する。
次に、S404で、機密処理アプリケーションは、XPSファイルの中にメタデータ(図4に示すメタデータ504)があるかどうかを確認する。メタデータは、機密データとして保持するために使用するXMLファイルで、図6の構造をしており、XPSファイルの中に分離された分離文字列ファイルとして保持する。なお、この分離文字列ファイルには、指定されて抽出されている情報、本実施形態では、文字列の対応するページ番号(ページ位置)と、対応するユニークなランダム文字列のテーブルを備える。
ここで、メタデータが存在しないと機密処理アプリケーションが判断した場合は、S407で、機密処理アプリケーションは、XPSファイルの中に新しくメタデータを生成し、S405へ進む。
一方、S404で、メタデータがすでに存在していると機密処理アプリケーションが判断した場合は、メタデータの中に新しい要素を追加していく形を取る。ここで、メタデータは、1つの文字列と1つのGUIDをGlyphDataという要素でそれぞれ管理しており、複数の機密対象の文字列とGUIDのペアを1つのメタデータで管理するように構成されている。
GlyphData要素には機密対象となる文字列があるページのURI、つまりファイル名が記載されている。また、GUIDはPseudo要素で記載され、その中に機密対象となる文字列のGlyphが、FixedPageに記載されていたままの形で記載するようになっている。
次に、S405で、機密処理アプリケーションは生成したGUIDと、対象となるGlyphをXPSファイルのメタデータに追加する。これで、機密対象の文字列とGUIDがペアで管理できる。機密処理アプリケーションは、XPSファイルのメタデータに追加したら、対象となるXPSファイルの中に入れ込む。
このようにして、メタデータへの追加が終了すると、S406で、機密処理アプリケーションは、対象となるXPSファイルの機密対象の文字列を、GUIDで置き換え、本処理を終了する。
具体的にはGlyph要素の中のUnicodeString属性を、生成したGUIDで書き換える。なお、UnicodeString属性が存在しないGlyphの場合は、UnicodeString属性を新しく追加し、GUIDの文字を記載する。
これにより、図4に示すようにXPSファイルの文字「abcdefg」が書き換えられることになる。本実施形態ではこれ以降、書き換えたXPSファイルを、セキュリティXPSファイルと呼ぶ。
セキュリティXPSファイルは、通常のXPSファイルを表示することができるビューアを使って表示することが可能である。これは通常のXPSファイルを表示するXPSビューアは、メタデータは知らないデータとして読み飛ばす(解釈できない)ためである。
ここで、XPSファイルを書き換える前と後で、ビューアを使って表示したものを図7、図8に示す。
図7、図8は、本実施形態を示す出力制御装置で処理されるXPS文書ファイルの表示例を示す図である。本例は、XPSビューアでXPS文書ファイルを表示した例であって、図7は、セキュリティをかける前の元のXPSファイルの表示であり、図8は、セキュリティをかけた後のXPSファイルの表示である。
本実施形態では、書き換える前のXPSファイルは図7のように表示されていたものが、書き換えた後のXPSファイルは図8のように対象文字列がGUIDで表示される。
ここで、正常なGUID文字として表示されていないのは、文字を表示するためにXPSファイル内に持つ埋め込みフォントデータが、新しく追加したGUIDの文字をすべて持っていないことからなる。
これによって、XPSファイルを表示するビューアからは機密にしたい文字が表示されなくなる。
次に、セキュリティXPSファイルを機密処理した文字を復元して印刷する方法を、図9と図10を参照して説明する。
図9は、本実施形態を示す情報処理装置を適用する情報処理システムの構成を説明するブロック図である。
図9において、セキュリティXPSファイルを直接印刷するアプリケーション1001が、印刷を開始する。セキュリティXPSファイルはそのままXPSスプールファイル1002となり、プリントフィルタパイプラインに送信される。プリントフィルタパイプラインは、最初にセキュリティフィルタ1003にXPSスプールファイル1002を渡す。本実施形態では、セキュリティXPSファイルが描画データ1004と分離文字列メタデータ1005から構成されている。ここで、分離文字列メタデータ1005は、図6に示すデータ構造であって、図5に示した処理で、生成される識別情報と、当該識別情報に対応付けられた情報を含んで構成されている。
次に、セキュリティフィルタ1003の動作を図10に示すフローチャートに従って説明する。ここで、セキュリティフィルタ1003は、メタデータを生成するメタデータ生成機能を備え、描画データと、分離文字列メタデータとを以下のように生成する。
図10は、本実施形態を示す情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は、フィルタパイプラインマネージャによる処理例である。なお、S901〜S906は各ステップを示す。また、各ステップは、ユーザが実行するアプリケーションから印刷要求がなされた場合に、CPU101が専用のプリンタドライバでプリントフィルタパイプラインを実行することで実現される。
S901で、セキュリティフィルタ1003は、まず、渡されてきたXPSスプールファイル1002の中に、メタデータがあるかどうかを確認する。なお、メタデータは、図4に示す処理で生成されている。
ここで、メタデータが存在しないとセキュリティフィルタ1003が判断した場合は、何も変更することなく、XPSスプールファイル1002をスルーして、S906へ進み、次のフィルタに送信して、本処理を終了する。以下、図6に示すメタデータを参照して説明する。
一方、S901で、メタデータが存在するとセキュリティフィルタ1003が判断した場合は、セキュリティXPSファイル保存サーバ1006にアクセスする。なお、セキュリティXPSファイルは、描画データ1004と、文書情報の中でユーザが指定した情報、本実施形態では、文字列を分離して、GUIDで置き換えられたメタデータ(分離文字列メタデータ)が一体して構成されている。つまり、描画データ1004と分離文字列メタデータ1005とは同一のファイル内に保持される構成となっている。
そして、セキュリティXPSファイルを保存するセキュリティXPSファイル保存サーバ1006にアクセスできたら、S902で、セキュリティフィルタ1003は、渡されてきたXPSスプールファイル1002を送信し、セキュリティXPSファイル保存サーバ1006に保存する。
このとき、印刷したユーザ名と日時も同時に保存しておく。これで、セキュリティXPSファイルのバックアップをセキュリティXPSファイル保存サーバ1006上に保存できるとともに、変換した履歴を残すことができる。
次に、セキュリティXPSファイルの復元処理に入り、メタデータの中にあるGlyphData要素を1つずつ処理していく。そして、セキュリティフィルタ1003は、GlyphData要素のPage属性から、置き換えた文字列が存在するFixedPageのファイル名を取得する。
次に、S903で、セキュリティフィルタ1003は、ファイル名が取得できたら、XPSスプールファイル1002の中から、ファイル名でFixedPageを検索し、該当するFixedPageを見つける。
次に、S904で、図6に示したメタデータのPseudo要素からGUIDの文字列を取得する。そして、セキュリティフィルタ1003は、S903で見つけたFixedPageの中から、Glyph要素を列挙し、図6に示したメタデータの中のUnicodeString属性の中に同じGUID文字列があるかどうかを検索する。ここで、GUID文字列は世界で一意の識別子のため、誤って置き換えた文字でないデータや、他の置き換えたGUIDを検索してしまうことはない。
このようにしてセキュリティフィルタ1003が、FixedPageに該当するGUIDを見つけたら、S905で、FixedPageのGlyph要素を図6に示したメタデータのGlyph要素(Windows(登録商標)XP)で置き換える。これにより、GUIDが「Windows(登録商標)XPに置き換えられた状態に復元される。
この操作を、メタデータのGlyphData要素すべてに対して行う。このようにして、元のXPSファイルの状態に復元する。復元が終わったら、セキュリティフィルタ1003は、S906で、次のフィルタにXPSスプールファイル1002を渡して、セキュリティフィルタ1003の動作は終了となる。
そして、次のフィルタであるレイアウトフィルタ1008とレンダラフィルタ1009の処理を行って、最後はプリンタ1010に出力される。
このように、セキュリティフィルタが存在する専用のプリンタドライバを使って印刷すると、セキュリティXPSファイルを復元して、機密情報を含んだ形で印刷することができる。もちろん、セキュリティフィルタが存在しないプリンタドライバを使う場合は、機密情報はGUIDの文字として印刷されるので、機密情報は守られる。
また、復元する際はセキュリティXPSファイル保存サーバ1006に履歴が残るので、機密情報を含んだ形で印刷されたものを特定することもできる。
また、GUIDの文字をそのまま表示すると、図8のように文字のレイアウトが崩れてしまう。そこで、GUIDの文字を付加するときは、GlyphにOpacity属性を「0」にして、文字を全て透明にすると、表示されなくなり、レイアウトが崩れることもない。
また、復元処理を常に行いたくないときは、以下のように処理する。セキュリティXPSファイルの印刷設定であるPrintTicketのFeatureには、JobRestructSecurityXPSがある。そこで、JobRestuructSecurityXPSをONにしておくと、セキュリティフィルタが復元処理を行うことができる。
また、JobRestuructSecurityXPSをOFFにしておくと、セキュリティフィルタは復元処理を行わない。すなわち、セキュリティフィルタは、メタデータを見ることなくセキュリティXPSファイルをスルーする。
なお、上記実施形態では、表示しない情報をユーザが指定する場合について説明したが、あらかじめ表示しない情報を特定するための情報テーブルを備え、その情報テーブルに登録されている情報とを比較して、自動的に表示しない情報を特定する構成としてもよい。
以下、図11に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
図11は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図5、図10に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
101 CPU
102 ROM
103 RAM
104 入力I/F
105 外部記憶装置
1051 アプリケーション
1052 印刷関連プログラム
1053 プリンタドライバ
1054 OS
106 出力I/F
107 システムバス
108 キーボード
109 ポインティングデバイス
110 モニタ
111 プリンタ
102 ROM
103 RAM
104 入力I/F
105 外部記憶装置
1051 アプリケーション
1052 印刷関連プログラム
1053 プリンタドライバ
1054 OS
106 出力I/F
107 システムバス
108 キーボード
109 ポインティングデバイス
110 モニタ
111 プリンタ
Claims (17)
- 文書情報を処理する情報処理装置であって、
前記文書情報の中から表示しない情報を指定する指定手段と、
前記指定手段により指定された情報から一意に決定される識別情報を生成する生成手段と、
生成された識別情報と、前記指定された情報を特定する情報を前記文書情報の中に保持させるためのメタデータを生成するメタデータ生成手段と、
前記文書情報の中で指定された情報を前記識別情報で置き換える置換手段と、
を有することを特徴とする情報処理装置。 - 前記メタデータは、文書情報のページ位置を特定する情報を含むことを特徴とする請求項1記載の情報処理装置。
- 前記メタデータは、通常のビューアに読み飛ばされるデータであることを特徴とする請求項1記載の情報処理装置。
- 前記識別情報は、擬似乱数を含むことを特徴とする請求項1記載の情報処理装置。
- 特定の情報に置き換えられて保持手段に保持されている文書情報を処理する情報処理装置であって、
印刷要求がなされた場合に、前記保持手段に保持される文書情報の中にメタデータが存在するかどうかを判断する判断手段と、
前記メタデータが前記文書情報の中に存在すると前記判断手段が判断した場合、前記メタデータの中から取得される識別情報、及び当該識別情報に対応付けられている情報に基づいて、前記文書情報で置き換えられている情報を元の情報に復元する復元手段と、
を有することを特徴とする情報処理装置。 - 前記復元手段により復元された文書情報を印刷する印刷手段を備えることを特徴とする請求項5記載の情報処理装置。
- 前記文書情報は、XML形式の文書情報であることを特徴とする請求項1、2、5、6のいずれか1項に記載の情報処理装置。
- 指定される情報は、文字列であることを特徴とする請求項1記載の情報処理装置。
- 文書情報を処理する情報処理装置におけるデータ処理方法であって、
前記文書情報の中から表示しない情報を指定する指定ステップと、
前記指定ステップにより指定された情報から一意に決定される識別情報を生成する生成ステップと、
生成された識別情報と、前記指定された情報を特定する情報を前記文書情報の中に保持させるためのメタデータを生成するメタデータ生成ステップと、
前記文書情報の中で指定された情報を前記識別情報で置き換える置換ステップと
を有することを特徴とするデータ処理方法。 - 前記メタデータは、文書情報のページ位置を特定する情報を含むことを特徴とする請求項9記載のデータ処理方法。
- 前記メタデータは、通常のビューアに読み飛ばされるデータであることを特徴とする請求項9記載のデータ処理方法。
- 前記識別情報は、擬似乱数を含むことを特徴とする請求項9記載のデータ処理方法。
- 特定の情報に置き換えられて保持手段に保持されている文書情報を処理する情報処理装置におけるデータ処理方法であって、
印刷要求がなされた場合に、前記保持手段に保持される文書情報の中にメタデータが存在するかどうかを判断する判断ステップと、
前記メタデータが前記文書情報の中に存在すると前記判断ステップが判断した場合、前記メタデータの中から取得される識別情報、及び当該識別情報に対応付けられている情報に基づいて、前記文書情報で置き換えられている情報を元の情報に復元する復元ステップと、
を有することを特徴とするデータ処理方法。 - 前記復元ステップにより復元された文書情報を印刷する印刷ステップを備えることを特徴とする請求項13記載のデータ処理方法。
- 前記文書情報は、XML形式の文書情報であることを特徴とする請求項9、10、13、14のいずれか1項に記載のデータ処理方法。
- 指定される情報は、文字列であることを特徴とする請求項9記載のデータ処理方法。
- 請求項9〜16のいずれか1項に記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008097241A JP2009251803A (ja) | 2008-04-03 | 2008-04-03 | 情報処理装置、データ処理方法、プログラム |
US12/417,526 US8302001B2 (en) | 2008-04-03 | 2009-04-02 | Document encryption and decryption printing apparatus, method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008097241A JP2009251803A (ja) | 2008-04-03 | 2008-04-03 | 情報処理装置、データ処理方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009251803A true JP2009251803A (ja) | 2009-10-29 |
Family
ID=41134361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008097241A Pending JP2009251803A (ja) | 2008-04-03 | 2008-04-03 | 情報処理装置、データ処理方法、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8302001B2 (ja) |
JP (1) | JP2009251803A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9064201B2 (en) | 2012-04-11 | 2015-06-23 | Canon Kabushiki Kaisha | Information processing apparatus that instructs printing using metadata without divulging content of the metadata and method thereof |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069767B1 (en) | 2010-12-28 | 2015-06-30 | Amazon Technologies, Inc. | Aligning content items to identify differences |
US9846688B1 (en) | 2010-12-28 | 2017-12-19 | Amazon Technologies, Inc. | Book version mapping |
US8798366B1 (en) * | 2010-12-28 | 2014-08-05 | Amazon Technologies, Inc. | Electronic book pagination |
US20120173995A1 (en) * | 2010-12-30 | 2012-07-05 | Motorola-Mobility, Inc. | Electronic gate filter |
US9881009B1 (en) | 2011-03-15 | 2018-01-30 | Amazon Technologies, Inc. | Identifying book title sets |
JP2012242895A (ja) * | 2011-05-16 | 2012-12-10 | Canon Inc | ドキュメント変換装置、情報処理方法及びプログラム |
JP6209901B2 (ja) * | 2013-08-26 | 2017-10-11 | 富士通株式会社 | 文字データ処理方法、プログラム及び情報処理装置 |
WO2015116235A1 (en) * | 2014-02-03 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Replacement text for textual content to be printed |
JP6289276B2 (ja) * | 2014-06-06 | 2018-03-07 | キヤノン株式会社 | 情報処理装置およびプログラム、制御方法 |
US10402471B2 (en) | 2014-09-26 | 2019-09-03 | Guy Le Henaff | Method for obfuscating the display of text |
JP6632424B2 (ja) * | 2016-02-25 | 2020-01-22 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法 |
US10331861B2 (en) | 2016-11-28 | 2019-06-25 | Ricoh Company, Ltd. | Piecewise encryption for content in print jobs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034378A (ja) * | 2005-07-22 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | 文書処理方法及び装置及びプログラム |
JP2007233818A (ja) * | 2006-03-02 | 2007-09-13 | Fuji Xerox Co Ltd | 電子フォーム、並びに電子文書生成装置、プログラム及び方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2084515A (en) * | 1933-03-27 | 1937-06-22 | John Van Buren | Machine for wrapping and boxing articles |
TW464817B (en) * | 1999-08-18 | 2001-11-21 | Ibm | Technique for creating audience-specific views of documents |
JP2002259363A (ja) | 2001-03-01 | 2002-09-13 | Nippon Telegr & Teleph Corp <Ntt> | 文書伏字加工方法、文書伏字加工装置、文書伏字加工処理プログラム及びその記録媒体 |
AUPR439501A0 (en) * | 2001-04-12 | 2001-05-17 | Set for Study Pty Ltd. | System and method for preventing unauthorised copying of electronic document |
US7240209B2 (en) * | 2001-06-12 | 2007-07-03 | International Business Machines Corporation | Methods of invisibly embedding and hiding data into soft-copy text documents |
JP4651096B2 (ja) * | 2004-09-09 | 2011-03-16 | キヤノン株式会社 | 暗号化印刷処理方法及び装置 |
JP2007156861A (ja) | 2005-12-06 | 2007-06-21 | Nec Software Chubu Ltd | 機密情報保護装置及び機密情報保護方法並びにプログラム |
US7904732B2 (en) * | 2006-09-27 | 2011-03-08 | Rocket Software, Inc. | Encrypting and decrypting database records |
JP4352274B2 (ja) * | 2006-11-16 | 2009-10-28 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置及び印刷方法並びに制御プログラム |
US20080168554A1 (en) * | 2007-01-10 | 2008-07-10 | Samsung Electronics Co., Ltd. | Image forming apparatus and method of outputting |
US8014560B2 (en) * | 2007-05-25 | 2011-09-06 | Xerox Corporation | Preserving scanner signature using MRC technology |
JP4902451B2 (ja) * | 2007-07-18 | 2012-03-21 | キヤノン株式会社 | 文書出力装置及びその制御方法とプログラム |
-
2008
- 2008-04-03 JP JP2008097241A patent/JP2009251803A/ja active Pending
-
2009
- 2009-04-02 US US12/417,526 patent/US8302001B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034378A (ja) * | 2005-07-22 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | 文書処理方法及び装置及びプログラム |
JP2007233818A (ja) * | 2006-03-02 | 2007-09-13 | Fuji Xerox Co Ltd | 電子フォーム、並びに電子文書生成装置、プログラム及び方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9064201B2 (en) | 2012-04-11 | 2015-06-23 | Canon Kabushiki Kaisha | Information processing apparatus that instructs printing using metadata without divulging content of the metadata and method thereof |
Also Published As
Publication number | Publication date |
---|---|
US8302001B2 (en) | 2012-10-30 |
US20090254810A1 (en) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8302001B2 (en) | Document encryption and decryption printing apparatus, method, and storage medium | |
JP4646832B2 (ja) | 印刷装置及びそれらの制御方法、印刷管理システム、プログラム | |
JP4347123B2 (ja) | 文書処理システムおよび文書処理方法およびコンピュータが読取り可能な記憶媒体およびプログラム | |
JP5371289B2 (ja) | 情報処理装置、データ処理方法、プログラム | |
JP5078555B2 (ja) | 帳票作成システム、帳票作成方法、プログラム、記憶媒体 | |
US7403297B2 (en) | Printing system that manages font resources using system independent resource references | |
US8259322B2 (en) | Printing system, printing program, information collection method, information search method and information search system | |
JP2011118860A (ja) | 認証方法、情報処理装置、及びコンピュータプログラム | |
JP2007280230A (ja) | 印刷装置 | |
JP2010224830A (ja) | 情報処理装置、印刷装置、情報処理方法及び印刷方法 | |
US8320001B2 (en) | Information processing method and apparatus for banner printing | |
JP4586057B2 (ja) | 画像処理装置、画像処理方法および記録媒体 | |
JP4810332B2 (ja) | 情報処理装置、印刷設定方法、記憶媒体、プログラム | |
KR20100074567A (ko) | 전자서명 생성 방법, 인쇄 제어 단말장치, 및 화상형성장치 | |
JP2007323191A (ja) | 印刷システム、情報処理装置、印刷ログ情報抽出方法、及びプログラム | |
JP2007034490A (ja) | 印刷システムおよび印刷制御方法 | |
JP2005190426A (ja) | データ処理方法及びデータ処理装置及びコンピュータプログラム | |
JP2006003998A (ja) | 文書処理装置及び文書処理方法、文書処理プログラム | |
JP2010033360A (ja) | 情報処理装置、ジョブ処理方法、記憶媒体及びプログラム | |
JP2009020553A (ja) | 電子ファイル管理装置および電子ファイル管理プログラム | |
JP4143638B2 (ja) | 印刷システム、情報処理装置、およびその制御方法、プログラム | |
US8490109B2 (en) | Printing control apparatus, printing control method, and computer-readable storage medium storing computer program | |
JP2007288410A (ja) | 情報処理装置、データ処理方法、記憶媒体、プログラム | |
JP4298412B2 (ja) | 文書処理装置および印刷制御方法およびプログラム | |
JP2009289121A (ja) | 情報処理装置、出力装置、出力処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121030 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130226 |