(57)【要約】      （修正有）【課題】編集可能な形式への変換を防止する、ページ記述言語出力を難読化する方法を提供する。【解決手段】電子文書（ＥＤ）を管理する方法であって、ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルの生成要求を受信するステップ２０５と、ＥＤ内で、複数の文字を有する第一のテキストフローを特定するステップ２１０と、当該複数の文字について、ページ上における複数の位置を算出するステップ２１５と、上記の要求に応じて、難読化技術を第一のテキストフローに適用することにより、変更テキストフローを生成するステップ２２０と、複数の位置及び変更テキストフローを含む難読化ＰＤＬファイルを生成するステップ２４０と、を含む。【選択図】図２
2015115065.tif 000002
【特許請求の範囲】
【請求項１】
電子文書（ＥＤ）を管理する方法であって、
前記ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルの生成要求を受信する工程と、
前記ＥＤ内で、複数の文字を有する第一のテキストフローを特定する工程と、
前記複数の文字について、ページ上における複数の位置を算出する工程と、
前記要求に応じて、難読化技術を前記第一のテキストフローに適用することにより、変更テキストフローを生成する工程と、
前記複数の位置及び前記変更テキストフローを含む前記難読化ＰＤＬファイルを生成する工程と、
を含む方法。
【請求項２】
前記要求を受信する前に、ユーザーに対し、前記難読化ＰＤＬファイルを生成するという選択肢と、前記ＥＤの標準ＰＤＬファイルを生成するという選択肢と、を含むグラフィカル・ユーザー・インターフェース（ＧＵＩ）を表示する工程をさらに含み、
前記要求は、前記難読化ＰＤＬファイルを生成するという前記選択肢を前記ユーザーが選択するのに応じて生成される、請求項１に記載の方法。
【請求項３】
前記ＥＤはＯＯＸＭＬ（Open Office XML）ファイルであり、前記ＰＤＬはＰＤＦ（Portable Document Format）である、請求項１に記載の方法。
【請求項４】
前記難読化技術を適用する工程は、前記複数の文字の順序を変更する工程を含む、請求項１に記載の方法。
【請求項５】
前記順序を変更する工程は、前記第一のテキストフロー内の複数の単語を反転する工程を含む、請求項４に記載の方法。
【請求項６】
前記難読化技術を適用する工程は、前記ＥＤ内の第二のテキストフローから文字を抜き取り、当該抜き取った文字を前記複数の文字に挿入する工程を含む、請求項１に記載の方法。
【請求項７】
前記難読化技術を適用する工程は、前記複数の文字を複数のＰＤＬグループに分割する工程を含む、請求項１に記載の方法。
【請求項８】
前記難読化技術を適用する工程は、
前記複数の文字のうち第一の文字を、ＲＧＢ（Red-Green-Blue）色空間における（０，０，０）に設定する工程と、
前記複数の文字のうち第二の文字を、グレー色空間における（０）に設定する工程と、
を含む請求項１に記載の方法。
【請求項９】
前記要求に応じて、前記ＥＤ内において、前記ページ上で部分的に重なり合っている第一のベクター画像と第二のベクター画像とを特定する工程と、
前記第二のベクター画像に一部重なっている前記第一のベクター画像のラスター表現を生成する工程と、
をさらに含み、
前記難読化ＰＤＬファイルは、前記ラスター表現をさらに含む、請求項１に記載の方法。
【請求項１０】
前記要求に応じて、前記ＥＤ内において、図形と当該図形に施された塗りつぶし色とを特定する工程と、
前記塗りつぶし色に基づき、グラデーション塗りつぶしテンソルパッチを有する陰影色空間を生成する工程と、
をさらに含み、
前記難読化ＰＤＬファイルは、前記グラデーション塗りつぶしテンソルパッチを含む、請求項１に記載の方法。
【請求項１１】
電子文書（ＥＤ）を管理するための命令を格納する非一時的なコンピューター可読媒体（ＣＲＭ）であって、前記命令が、
前記ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルを生成するという選択肢を含むグラフィカル・ユーザー・インターフェース（ＧＵＩ）をユーザーに対して表示する機能と、
前記ＥＤの前記難読化ＰＤＬファイルの生成要求を受信する機能と、
前記ＥＤ内で、複数の文字を有する第一のテキストフローを特定する機能と、
前記複数の文字について、ページ上における複数の位置を算出する機能と、
前記要求に応じて、難読化技術を前記第一のテキストフローに適用することにより、変更テキストフローを生成する機能と、
前記複数の位置及び前記変更テキストフローを含む前記難読化ＰＤＬファイルを生成する機能と、
を含む非一時的なＣＲＭ。
【請求項１２】
前記変更テキストフローを生成する命令は、前記第一のテキストフロー内の複数の単語を反転することによって前記複数の文字の順序を変更する機能を含む、請求項１１に記載の非一時的なＣＲＭ。
【請求項１３】
前記変更テキストフローを生成する命令は、前記ＥＤ内の第二のテキストフローから文字を抜き取り、当該抜き取った文字を前記複数の文字に挿入する機能を含む、請求項１１に記載の非一時的なＣＲＭ。
【請求項１４】
前記変更テキストフローを生成する命令は、
前記複数の文字のうち第一の文字を、ＲＧＢ（Red-Green-Blue）色空間における（０，０，０）に設定する機能と、
前記複数の文字のうち第二の文字を、グレー色空間における（０）に設定する機能と、
を含む請求項１１に記載の非一時的なＣＲＭ。
【請求項１５】
前記変更テキストフローを生成する命令は、前記複数の文字を複数のＰＤＬグループに分割する機能を含む、請求項１１に記載の非一時的なＣＲＭ。
【請求項１６】
コンピュータープロセッサーと、
複数の文字を有する第一のテキストフローを含む電子文書（ＥＤ）を記憶するように構成されたバッファーと、
前記コンピュータープロセッサー上で実行されるとともに、前記複数の文字の、ページ上における複数の位置を算出するように構成された位置エンジンと、
前記コンピュータープロセッサー上で実行されるとともに、難読化技術を前記第一のテキストフローに適用することによって変更テキストフローを生成するように構成された難読化エンジンと、
前記コンピュータープロセッサー上で実行されるとともに、前記複数の位置及び前記変更テキストフローを含む、前記ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルを生成するように構成されたＰＤＬエンジンと、
を備えるシステム。
【請求項１７】
前記ＥＤはＯＯＸＭＬ（Open Office XML）ファイルであり、前記ＰＤＬはＰＤＦ（Portable Document Format）である、請求項１６に記載のシステム。
【請求項１８】
前記難読化ＰＤＬファイルを生成するという選択肢と、前記ＥＤの標準ＰＤＬファイルを生成するという選択肢と、を含むグラフィカル・ユーザー・インターフェース（ＧＵＩ）をさらに含む、請求項１６に記載のシステム。
【請求項１９】
前記難読化技術を適用する工程は、
前記第一のテキストフロー内の複数の単語を反転することによって前記複数の文字の順序を変更する工程と、
前記ＥＤ内の第二のテキストフローから文字を抜き取り、当該抜き取った文字を前記複数の文字に挿入する工程と、
を含む請求項１６に記載のシステム。
【請求項２０】
前記難読化技術を適用する工程は、
前記複数の文字を複数のＰＤＬグループに分割する工程と、
前記複数のＰＤＬグループのうち第一のＰＤＬグループを、ＲＧＢ（Red-Green-Blue）色空間における（０，０，０）に設定する工程と、
前記複数のＰＤＬグループのうち第二のＰＤＬグループを、グレー色空間における（０）に設定する工程と、
を含む請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書（ＥＤ）の管理に関し、特に、編集可能な形式への変換防止のためのページ記述言語出力の難読化に関する。
【背景技術】
【０００２】
一般に、電子文書（ＥＤ）の記述形式は、マークアップ言語（ＭＬ）形式とページ記述言語（ＰＤＬ）形式の二つに分類できる。ＭＬ形式は、文書の作成と編集のための形式であり、文書の外見やレイアウトをより高水準の言語で記述することが多い。例えば、ＭＬは、余白、行間隔、フォント、フォントサイズ等を指定することによって一段落のテキストを記述し、当該段落の表示や印刷のためにレンダリングを行うソフトウェア又は装置に、各文字の正確な位置決定の詳細を委ねる。これに対して、ＰＤＬ形式は編集用ではなく、文書の忠実かつ効率的なレンダリングを容易にするためのものである。通常、当該段落のＰＤＬ版ではテキスト中の各文字の位置が明確に指定されるが、余白や行間隔等の高水準のデータについては、正確なレンダリングのみが目的であれば不要なため、指定されない。
【０００３】
従来から、ＰＤＬデータは編集不可能とされているため、変更を防ぐ完璧ではない手段として、ユーザーは文書をＭＬ形式からＰＤＬ形式に変換することが多い。例えば、文書の作成者は一般に、ＭＬ形式の一種であるＯＯＸＭＬ（Open Office XML）形式で文書を作成及び保存し、編集可能なものとする。一方、文書の作成者は、当該ファイルを配布する際には、ＰＤＬ形式の一種であるＰＤＦ（Portable Document Format）ファイルに変換する。その主な理由は、ＰＤＦにした文書は可搬性があるからである。また、場合によっては、第二の理由として、ＰＤＦ形式であれば、受け取った人が内容を盗んだり、ファイルを変更して自分自身の作成物であるとして配布したりする等、不正目的でファイルを変更することがより難しくなる、ということが挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近では、ＰＤＬ形式（例えば、ＰＤＦ）からＭＬ形式（例えば、ＯＯＸＭＬ形式）への逆変換を可能にする様々なツールが登場している。ＭＬ形式からＰＤＬ形式への変換の際には高水準の状況情報が失われているので、ＰＤＬ形式からＭＬ形式へ逆変換するにはデータの推測が必要である。そのため、逆変換は通常少なくとも不完全で、多くの場合はほとんど役に立たない。それでもなお、逆変換によって元の文書の複製物が作成されることがあり、変更不可能な形式を用いた配布者の目的を十分妨害し得る。
【課題を解決するための手段】
【０００５】
概括すると、本発明は、一側面において、電子文書（ＥＤ）を管理する方法に関する。当該方法は、前記ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルの生成要求を受信する工程と、前記ＥＤ内で、複数の文字を有する第一のテキストフローを特定する工程と、前記複数の文字について、ページ上における複数の位置を算出する工程と、前記要求に応じて、難読化技術を前記第一のテキストフローに適用することにより、変更テキストフローを生成する工程と、前記複数の位置及び前記変更テキストフローを含む前記難読化ＰＤＬファイルを生成する工程と、を含む。
【０００６】
概括すると、本発明は、一側面において、電子文書（ＥＤ）を管理するための命令を格納する非一時的なコンピューター可読媒体（ＣＲＭ）に関する。当該命令は、前記ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルを生成するという選択肢を含むグラフィカル・ユーザー・インターフェース（ＧＵＩ）をユーザーに対して表示する機能と、前記ＥＤの前記難読化ＰＤＬファイルの生成要求を受信する機能と、前記ＥＤ内で、複数の文字を有する第一のテキストフローを特定する機能と、前記複数の文字について、ページ上における複数の位置を算出する機能と、前記要求に応じて、難読化技術を前記第一のテキストフローに適用することにより、変更テキストフローを生成する機能と、前記複数の位置及び前記変更テキストフローを含む前記難読化ＰＤＬファイルを生成する機能と、を含む。
【０００７】
概括すると、本発明は、一側面において、システムに関する。当該システムは、コンピュータープロセッサーと、複数の文字を有する第一のテキストフローを含む電子文書（ＥＤ）を記憶するように構成されたバッファーと、前記コンピュータープロセッサー上で実行されるとともに、前記複数の文字の、ページ上における複数の位置を算出するように構成された位置エンジンと、前記コンピュータープロセッサー上で実行されるとともに、難読化技術を前記第一のテキストフローに適用することによって変更テキストフローを生成するように構成された難読化エンジンと、前記コンピュータープロセッサー上で実行されるとともに、前記複数の位置及び前記変更テキストフローを含む、前記ＥＤの難読化ページ記述言語（ＰＤＬ）ファイルを生成するように構成されたＰＤＬエンジンと、を備える。
【０００８】
本発明の他の側面は、以下の記述及び添付の特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】本発明の一又は複数の実施形態に係るシステムを示す図である。
【図２】本発明の一又は複数の実施形態に係るフローチャートである。
【図３（ａ）】本発明の一又は複数の実施形態に係る例を示す図である。
【図３（ｂ）】本発明の一又は複数の実施形態に係る例を示す図である。
【図４】本発明の一又は複数の実施形態に係るコンピューターシステムを示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の具体的な実施形態について、添付の図面を参照して詳細に説明する。整合性を保つため、各図において、同様の要素は同様の参照符号で示す。
【００１１】
以下の本発明の実施形態の詳細な説明において、本発明の理解をより完全なものにするために数多くの具体的詳細が示されているが、これらの具体的詳細に限らず本発明が実施可能であることは、当業者にとって明白である。また、記載が不必要に複雑になることを避けるため、周知の要素については詳述しない。
【００１２】
本発明の実施形態は、概括すると、一又は複数のテキストフローを含むＥＤを管理するためのシステム及び方法を提供する。当該ＥＤは、ＯＯＸＭＬ（Open Office XML）形式であっても、その他のＭＬ形式であってもよい。ユーザーからＥＤの難読化ＰＤＬファイルの生成要求を受けると、テキストフローの各文字の位置（例えば、座標）が算出される。次いで、一又は複数の難読化技術がＰＤＬデータ（例えば、テキストフロー、クリップアート、画像、図形等）に適用されて変更ＰＤＬデータが生成される。例えば、難読化技術がテキストフローに適用されて変更テキストフローが生成される。生成された難読化ＰＤＬファイルは、変更テキストフロー及び算出された位置を含む。また、難読化ＰＤＬファイルは、ＥＤ内のベクター画像をラスター表現したものも含む。難読化ＰＤＬファイルは、ＰＤＦであっても、その他のＰＤＬ形式であってもよい。難読化ＰＤＬファイルは、標準ＰＤＬファイルと同様に、ＥＤの忠実なレンダリングを容易にする。一方、難読化ＰＤＬファイルは、標準ＰＤＬファイルに比べ、ＰＤＬファイルを元のＭＬ（例えば、ＯＯＸＭＬ）形式やその他の編集／変更可能な形式に逆変換するように作られたツールに対して耐性が高い。言い換えると、このようなツールが当該難読化ＰＤＬファイルに作用して出力されたものは、ＥＤとは似つかないもので、出力物の、容易に変更可能かつ忠実な原本複製物としての有用性は低い。
【００１３】
図１は、本発明の一又は複数の実施形態に係るシステム（１００）を示す。システム（１００）は、図１に示すように、バッファー（１１４）、グラフィカル・ユーザー・インターフェース（ＧＵＩ）（１１６）、位置エンジン（１１８）、難読化エンジン（１２０）、及びＰＤＬエンジン（１２２）を含む複数の要素を有する。これらの各要素（１１４、１１６、１１８、１２０、１２２）は、同一のハードウェア装置（例えば、パーソナルコンピューター（ＰＣ）、デスクトップ型コンピューター、メインフレーム、サーバー、電話、キオスク、ケーブルボックス、携帯情報端末（ＰＤＡ）、電子書籍リーダー、スマートフォン、タブレット型コンピューター等）に搭載されてもよいし、有線及び／又は無線のセグメントを有するネットワークで接続された複数のハードウェアデバイスに搭載されてもよい。本発明の一又は複数の実施形態において、システム（１００）はＥＤ（１０６）を入力し、当該ＥＤ（１０６）の難読化ＰＤＬファイル（１１０）を出力する。システム（１００）は当該ＥＤ（１０６）の標準ＰＤＬファイル（１０８）も出力してもよい。
【００１４】
本発明の一又は複数の実施形態において、ＥＤ（１０６）は、一又は複数のテキストフローを含む。各テキストフローは、任意の数の文字、ひいては任意の数の単語を持つことができる。一つのテキストフローは、一つの文、段落、文字列欄、脚注、写真の説明文、後注、節、章等に対応する。一ページにつき複数のテキストフローが存在してもよいし、一つのテキストフローが複数ページに亘って広がっていてもよい。また、ＥＤ（１０６）は、一のページ上又は複数ページに亘って表示されることになる図形要素（例えば、写真、ベクター画像、クリップアート、図形等）を含んでもよい。二つ以上の図形要素が一部重なっていることもある。ＥＤ（１０６）は、ＭＬ形式（例えば、ＯＤＦ（Open Document Format）、ＯＯＸＭＬ等）によって表現／定義される。したがって、テキストフロー、図形要素、及びテキストフローや図形要素の属性は、ＭＬ形式のタグ内に属性として記録／特定することができる。当該テキストフロー、図形要素、及び属性は、ＥＤ（１０６）を正確にレンダリング（例えば、表示、印刷）するために必要である。
【００１５】
上述した通り、ＥＤ（１０６）は編集／変更可能な文書である。さらに、ＥＤ（１０６）は、例えば、文書処理アプリケーション、表計算アプリケーション、デスクトップ・パブリッシングアプリケーション、グラフィックスアプリケーション、写真印刷アプリケーション、インターネットブラウザ、スライドショー作成アプリケーション、フォームジェネレーター等を含むユーザーアプリケーションによって、作成及び／又は変更することができる。
【００１６】
本発明の一又は複数の実施形態において、標準ＰＤＬファイル（１０８）は、ＰＤＬ形式（例えば、ＰＤＦ、ＸＰＳ等）のＥＤ（１０６）である。標準ＰＤＬファイル（１０８）は、ＥＤ（１０６）の忠実なレンダリングを容易にするものである。したがって、標準ＰＤＬファイル（１０８）は、ＥＤ（１０６）と同様に、テキストフロー及び図形要素を含む。一方、標準ＰＤＬファイル（１０８）は、ＥＤ（１０６）とは異なり、各テキストフローの各文字及び各図形要素の明確な位置（例えば、ｘｙ座標、ずれ量等）を含む。さらに、ＥＤ（１０６）とは異なり、標準ＰＤＬファイル（１０８）は容易に変更することができない。
【００１７】
本発明の一又は複数の実施形態において、難読化ＰＤＬファイル（１１０）は、ＰＤＬ形式（例えば、ＰＤＦ、ＸＰＳ等）のＥＤ（１０６）である。難読化ＰＤＬファイル（１１０）は、標準ＰＤＬファイル（１０８）と同様に、ＥＤ（１０６）の忠実なレンダリングを容易にするものであり、かつ明確な位置を含む。つまり、標準ＰＤＬファイル（１０８）であっても難読化ＰＤＬファイル（１１０）であっても、レンダリング（例えば、印刷、表示）して得られる出力物は基本的に同じである。一方、難読化ＰＤＬファイルは、標準ＰＤＬファイル（１０８）とは異なり、一又は複数のテキストフローや他のデータ（後述）の変更版を含む。さらに、標準ＰＤＬファイル（１０８）とは異なり、難読化ＰＤＬファイルは、ＥＤ（１０６）内の図形要素（例えば、ベクター画像等）のラスター表現（後述）を含む。また、難読化ＰＤＬファイル（１１０）は、標準ＰＤＬファイル（１０８）と同様に、容易に変更することができない。
【００１８】
当業者は、本詳細な説明によって、ＰＤＬ形式のファイルをＭＬ形式に変換することにより当該ファイルを編集可能にするツールが存在することを理解するだろう。難読化ＰＤＬファイル（１１０）は、少なくともテキストフローの変更版及び図形要素のラスター表現を含むため、標準ＰＤＬファイル（１０８）に比べ、このようなツールに対する耐性が高い。言い換えれば、このようなツールが難読化ＰＤＬファイル（１１０）に作用して出力されたものは、ＥＤ（１０６）とは似つかないものであり、難読化ＰＤＬファイル（１１０）の有用な変更が難しくなる。
【００１９】
本発明の一又は複数の実施形態において、システム（１００）は、ＧＵＩ（１１６）を有する。ＧＵＩ（１１６）は、ＥＤ（１０６）を作成又は変更するためのユーザーアプリケーション（図示せず）によって起動することができる。具体的には、ＧＵＩ（１１６）は、ＥＤ（１０６）をＭＬ形式からＰＤＬ形式へ変換することを求める要求を受けて起動してもよい。ＧＵＩ（１１６）は、任意の数のウィジェット（例えば、ラジオボタン、チェックボックス、ドロップダウンリスト、ボタン等）を有していてもよい。ユーザーは、一又は複数のウィジェットを操作することにより、標準ＰＤＬファイル（１０８）及び／又は難読化ＰＤＬファイル（１１０）をＥＤ（１０６）に基づいて生成するか否かを指定することにしてもよい。
【００２０】
本発明の一又は複数の実施形態において、システム（１００）はバッファー（１１４）を有する。バッファー（１１４）は任意の種類のメモリや長期記憶装置（例えば、ハードドライブ）に相当するものであってもよい。バッファー（１１４）は、標準ＰＤＬファイル（１０８）及び／又は難読化ＰＤＬファイル（１１０）の生成要求を受けて、ＥＤ（１０６）を記憶するように構成されている。
【００２１】
本発明の一又は複数の実施形態において、システム（１００）は位置エンジン（１１８）を有する。位置エンジン（１１８）は、ＥＤ（１０６）内の各テキストフローの各文字の位置を算出するように構成されている。また、位置エンジン（１１８）は、ＥＤ（１０６）内の各図形要素の位置も算出するように構成されている。一又は複数の実施形態において、各位置はページにおける座標の組（例えば、ｘ成分及びｙ成分）として特定される。一又は複数の実施形態において、各位置は、基準となる座標の組からのずれ量として特定される。
【００２２】
本発明の一又は複数の実施形態において、システム（１００）は難読化エンジン（１２０）を有する。難読化エンジン（１２０）は、一又は複数の難読化技術を、各テキストフローや他の内容に適用することによってテキストフローの変更版を生成するように構成されている。テキストフローや他の内容に適用可能な難読化技術は数多く存在する。
【００２３】
本発明の一又は複数の実施形態において、ある難読化技術は、テキストフロー内の文字の順序をかき混ぜて変更テキストフローを生成することによって、ＰＤＬデータの文字列順序をＭＬデータの文字列順序と異ならせる工程を含む。例えば、テキストフロー内の任意の文字について位置を交換してもよい。また、他の例として、テキストフロー内の個々の単語を反転させてもよい。さらに他の例として、テキストフローの全体の順序を反転させてもよい（すなわち、末尾にあった文字が先頭に、先頭にあった文字が末尾になるようにする）。本発明の一又は複数の実施形態において、ある難読化技術は、テキストフローから一又は複数の文字を抜き取り、抜き取った文字を別のテキストフローに加えることによって、変更テキストフローを生成する工程を含む。
【００２４】
当業者は、本詳細な説明によって、テキストフロー内の文字順をかき混ぜる工程、及び／又は、あるテキストフローから文字を抜き取り、その文字を別のテキストフローに加える工程によって、算出された文字の位置は変化しないことを理解するであろう。一方、そのような工程によって、ＰＤＬデータ（例えば、変更テキストフロー）における文字の位置が変化する。具体的には、そのような工程により、ＰＤＬデータにおける文字順と、画面やハードコピーに現れる文字順とが関係無いものになる。その目的は、コンピュータプログラムの観点から通常はるかに単純なＰＤＬデータの構造に基づいてではなく、できるだけレンダリングされたページにおける文字の配置のみに基づいて、逆変換ツール（すなわち、ＰＤＬからＭＬへの変換ツール）に文字間の関係（例えば、テキストフロー内の文字順、文書における複数の文字の、一連のテキストフローへの適切な分割等）を解釈させることである。
【００２５】
本発明の一又は複数の実施形態において、ある難読化技術は、一つのテキストフローを複数のＰＤＬグループ（例えば、ＰＤＦグループ、ＸＰＳグループ等）に分割することによって、変更テキストフローを生成する工程を含む。例えば、テキストフローの一字おきの文字を第一のＰＤＬグループに分類し、テキストフローの残りの文字を第二のＰＤＬグループに分類する。すなわち、元のＭＬデータに存在していたグループ構造を隠しつつ、無関係なグループ構造の内容を故意にＰＤＬデータに導入する。その意図は、ＰＤＬデータ内のグループ構造に基づいて高水準の情報（例えば、テキスト内容を複数のテキストフローに適切に分割する等）を推測する逆変換ツール（すなわち、ＰＤＬからＭＬへの変換ツール）を惑わすことである。この難読化技術は、他のいかなる難読化技術と組み合わせて用いてもよい。
【００２６】
本発明の一又は複数の実施形態において、ある難読化技術は、機能的に等価だが構文上では異なる要素を用いて、ＭＬデータ内で関連するオブジェクトを表現し、それらが関連しているように見せかける工程を含む。例えば、全ての文字が黒色で表現されるテキストフローがあると仮定する。当該複数の文字のうちの一部について色空間をＲＧＢ、色を（０，０，０）に設定し、残りの文字について色空間をグレー、色を（０）に設定することにより、変更テキストフローを生成してもよい。これらの設定はレンダリング結果には影響しない（すなわち、画面上やハードコピー上において、ＲＧＢ（０，０，０）及びグレー（０）は共に黒色である）。しかしながら、色空間が異なるので、極めて単純な逆変換ツール（すなわち、ＰＤＬからＭＬへの変換ツール）ならば、上記文字群同士が同じテキストフローに属さないと認識する可能性がある。同様の方法は、塗りつぶしや輪郭線等、テキストではないデータにも適用することができる。
【００２７】
本発明の一又は複数の実施形態において、難読化エンジン（１２０）はＥＤ（１０６）内の図形要素に対しても作用するように構成されている。例えば、難読化エンジン（１２０）は、ＥＤ内のベクター画像のラスター表現を生成してもよい。他の例として、難読化エンジン（１２０）は、複数の重なり合った図形要素に対し、一つの（すなわち、合成した）ラスター表現を生成してもよい。一般に、ＰＤＬからＭＬへの変換ツールにとって、ラスター表現から高水準の情報を抽出・解析するのは、ベクター画像から抽出・解析するよりも難しい。
【００２８】
本発明の一又は複数の実施形態において、難読化エンジン（１２０）は、あえて複雑かつＰＤＬに特有の要素を用いてデータを表現するように構成される。例えば、ＥＤ（１０６）が青色で表現される長方形を含み、作成されるＰＤＬ形式がＰＤＦだと仮定する。当該ＰＤＦ表現では、色を単に青色に設定するのではなく、グラデーション塗りつぶしテンソルパッチを有する陰影色空間を作成する。当該グラデーション塗りつぶしテンソルパッチを評価すると、一定の青色となる。テンソルパッチ陰影は標準的なＭＬ形式の特徴ではなく、テンソルパッチ方式がベタ一色となることを突き止めるのは幾分難しい。そのため、ＰＤＬからＭＬへの変換ツールは、ＭＬ形式における長方形の元の単純な描写を再構成できない可能性が高い。
【００２９】
当業者は、本詳細な説明によって、難読化エンジン（１２０）が、標準ＰＤＬファイル（１０８）ではなく、難読化ＰＤＬファイル（１１０）を生成するためにのみ用いられることを理解するであろう。さらに、当業者は、本詳細な説明によって、難読化ＰＤＬファイル（１１０）を生成するには、変更テキストフローやラスター表現の生成等が必要であるため、標準ＰＤＬファイル（１０８）の生成に比べて時間がかかることを理解するであろう。同様に、難読化ＰＤＬファイルをレンダリングするには、標準ＰＤＬファイルのレンダリングに比べて時間がかかるかもしれない。
【００３０】
本発明の一又は複数の実施形態において、システム（１００）は、ＰＤＬエンジン（１２２）を有する。ＰＤＬエンジン（１２２）は、標準ＰＤＬファイル（１０８）及び難読化ＰＤＬファイル（１１０）の両方を生成するように構成されている。標準ＰＤＬファイル（１０８）及び難読化ＰＤＬファイル（１１０）は、どちらも位置エンジン（１１８）によって算出される位置を含む。一方、難読化ＰＤＬファイル（１１０）は、変更テキストフロー、ラスター表現、及び難読化エンジン（１２０）によるその他の生成物（例えば、グラデーション塗りつぶしテンソルパッチ）を含む。
【００３１】
図１には、要素（１１４、１１６、１１８、１２０、１２２）を特定の数と配置で有するシステム（１００）が示されているが、当業者は、本詳細な説明によって、他のシステム構成も可能であると理解するであろう。
【００３２】
図２は、本発明の一又は複数の実施形態に係るフローチャートである。図２に示す処理は、例えば、上記で図１を参照して説明した一又は複数の要素（例えば、位置エンジン（１１８）、難読化エンジン（１２０）、ＰＤＬエンジン（１２２））によって実施することができる。当該一又は複数の要素がソフトウェアモジュールとして構成されている場合、コンピュータープログラムコードはシステム（１００）のメモリに記憶されており、プロセッサーが当該プログラムコードを読み出して実行することによって、上述の処理が実施される。本発明の異なる実施形態においては、図２に示すステップのうち一又は複数のステップを省略、繰り返し、及び／又は異なる順序で実施してもよい。したがって、本発明の実施形態は、図２に示すステップの特定の数や順序に限定されない。
【００３３】
まず、難読化ＰＤＬファイルを生成するという選択肢を含むＧＵＩが表示される（ステップ２０２）。当該ＧＵＩは、ＥＤをＭＬ形式からＰＤＬ形式へ変換することを求めるユーザー要求に応じて表示されてもよい。当該ＧＵＩは、ラジオボタン、チェックボックス、ドロップダウンボックス、ボタン等を含む複数のウィジェットを有してもよい。ユーザーは、一又は複数のウィジェットを操作することにより、標準ＰＤＬファイルではなく難読化ＰＤＬファイルを生成するという選択肢を含む、複数の選択肢を起動することができる。
【００３４】
ステップ２０５において、難読化ＰＤＬファイルの生成要求が受信される。言い換えれば、ユーザーが、ＥＤの（難読化されていない標準ＰＤＬファイルではなく）難読化ＰＤＬファイルを生成するよう指示する。当該要求によってＰＤＬファイルの種類（例えば、ＰＤＦ、ＸＰＳ等）も指定してもよい。
【００３５】
ステップ２１０において、ＥＤ内の一つのテキストフローが選択される。当該ＥＤ内のテキストフローは、（例えば、当該ＥＤがバッファー（１１４）に記憶されている間に）当該ＥＤを解析することによって特定されてもよい。解析中にテキストフローを見つけたときに、当該テキストフローを選択してもよい。上述した通り、各テキストフローは、任意の数の文字、ひいては任意の数の単語を持つことができる。一つのテキストフローは、一つの文、段落、文字列欄、脚注、写真の説明文、後注、節、章等に対応していてもよい。一ページにつき複数のテキストフローが存在してもよいし、一つのテキストフローが複数ページに亘って広がっていてもよい。
【００３６】
ステップ２１５において、テキストフローの各文字の位置が算出される。当該位置は、各文字の座標の組（例えば、ｘ成分及びｙ成分）を含んでもよい。また、当該位置は、座標の組に加え、あるいは座標の組の代わりに、基準となる座標の組からのずれ量を含んでもよい。
【００３７】
ステップ２２０において、一又は複数の難読化技術をテキストフローに適用することによって、変更テキストフローが生成される。前述したとおり、適用できる難読化技術としては、テキストフロー内の文字順をかき混ぜる、テキストフローから文字を抜き取って当該文字を別のテキストフローに加える、同一のテキストフロー内の異なる文字に異なる色空間を設定する、等が挙げられる。
【００３８】
ステップ２２５において、ＥＤ内に他のテキストフローが存在するかどうかが判定される。他のテキストフローが存在すると判定された場合、処理はステップ２１０に戻る。一方、他のテキストフローが存在しないと判定された場合、処理はステップ２３０に移行する。
【００３９】
ステップ２３０において、ＥＤ内の図形要素（例えば、ベクター画像）のラスター表現が生成される。二つ以上の図形要素が重なり合っている場合、重なり合った複数の図形要素に対して一つの（すなわち、合成した）ラスター表現を生成してもよい。また、ＥＤ内に図形要素が存在しない場合には、ステップ２３０を省略してもよい。
【００４０】
ステップ２３５において、ＥＤ内の塗りつぶし色付き図形に対し、グラデーション塗りつぶしテンソルパッチを有する陰影色空間が作成される。ＥＤがこのような図形を有さない場合、及び／又は生成されるＰＤＬファイルの種類がＰＤＦでない場合には、ステップ２３５を省略してもよい。前述した通り、グラデーション塗りつぶしテンソルパッチの陰影はＰＤＦに特有の特徴で、ＭＬ形式の標準的な特徴ではない。さらに、ＰＤＬからＭＬへの変換ツールが、当該グラデーション塗りつぶしテンソルパッチを評価して、実際は単純なベタ塗りに相当すると判定する可能性は極めて低い。
【００４１】
ステップ２４０において、変更テキストフロー、算出された文字の位置、ラスター表現、及び陰影色空間を有する難読化ＰＤＬファイルが生成される。当該難読化ＰＤＬファイルは、任意の数のユーザーに配布してもよい。当該難読化ＰＤＬファイルは、少なくともテキストフローの変更版及び図形要素のラスター表現を含むため、標準ＰＤＬファイルに比べ、ＰＤＬからＭＬへの変換ツールに対する耐性が高い。言い換えれば、このようなツールが当該難読化ＰＤＬファイルに作用して出力されたものは、ＥＤとは似つかないものであるため、当該難読化ＰＤＬファイルが変更可能になるのを防ぐことができる。
【００４２】
上述した実施形態の一例では、各テキストフローに対して少なくとも一つの難読化技術を適用しているが、本発明の他の実施形態においては、（全てのではなく）一部のテキストフロー、又はユーザーがあらかじめ選択したテキストフローのみに対して難読化技術を適用してもよい。例えば、ステップ２０２において、ＧＵＩ上にＥＤのプレビューを表示し、ユーザーが難読化したいテキストフローを少なくとも一つ選択するようにしてもよい。この場合、ステップ２２０において、選択されたテキストフローについてのみ変更テキストフローが生成される。
【００４３】
図３（ａ）及び図３（ｂ）は、本発明の一又は複数の実施形態に係る例を示す図である。図３（ａ）はＥＤ（３０２）を示している。ＥＤ（３０２）は、上記で図１を参照して説明したＥＤ（１０６）に対応していてもよい。ＥＤ（３０２）は、ＯＯＸＭＬ形式であるため、編集可能である。ＥＤは、複数のテキストフロー、すなわちテキストフローＡ（３１２Ａ）及びテキストフローＢ（３１２Ｂ）を含む。各テキストフロー（３１２Ａ、３１２Ｂ）は、複数の単語、ひいては複数の文字を有する。ＥＤは、二つのベクター画像、すなわち、ベクター画像Ａ（３１４Ａ）及びベクター画像Ｂ（３１４Ｂ）を含む。
【００４４】
また、図３（ａ）はレンダリングされたＥＤ（３０４）も示している。レンダリングされたＥＤ（３０４）とは、ＥＤ（３０２）が表示又は印刷される際に出力されるものである。図３（ａ）に示すように、テキストフローＡ（３１２Ａ）はほぼレンダリングされたＥＤ（３０４）のページ幅に亘って広がっているのに対して、テキストフローＢ（３１２Ｂ）はレンダリングされたＥＤ（３０４）の縦の欄内に配置されている。また、当該レンダリングされたＥＤ（３０４）において、二つのベクター画像（３１４Ａ、３１４Ｂ）が重なり合っている（すなわち、星が象の上部に配置されている）。
【００４５】
図３（ｂ）は、標準ＰＤＬファイル（３０６）及び難読化ＰＤＬファイル（３０８）を示している。標準ＰＤＬファイル（３０６）及び難読化ＰＤＬファイル（３０８）は、上記で図１を参照して説明した標準ＰＤＬファイル（１０８）及び難読化ＰＤＬファイル（１１０）にそれぞれ対応していてもよい。当該ＰＤＬファイル（３０６、３０８）は、どちらもＰＤＦである。また、当該ＰＤＬファイル（３０６、３０８）は、どちらもＥＤ（３０２）の忠実なレンダリングを容易にすることができる。つまり、標準ＰＤＬファイル（３０６）をレンダリングした結果物と、難読化ＰＤＬファイルをレンダリングした結果物のいずれも、レンダリングされたＥＤ（３０４）と基本的に同一である。
【００４６】
図３（ｂ）に示すように、標準ＰＤＬファイル（３０６）は、テキストフローＡ（３１２Ａ）及びテキストフローＢ（３１２Ｂ）を含む。図３（ｂ）に再現されているのは、各テキストフローの一部のみである。具体的には、テキストフローＡ（３１２Ａ）のうち「quick」に対応する文字、及びテキストフローＢ（３１２Ｂ）のうち「lemon」に対応する文字のみが示されている。さらに重要なのは、標準ＰＤＬファイル（３０６）が各文字の位置を含む点である。例えば、テキストフローＡ（３１２Ａ）の文字「q」は、位置＜x１, y１＞を有する。他の例として、テキストフローＢ（３１２Ｂ）の「lemons」の文字「o」は、位置＜x９, y９＞を有する。さらに、標準ＰＤＬファイル（３０６）は、ベクター画像Ａ（３１４Ａ）及びベクター画像Ｂ（３１４Ｂ）両方の位置を含む。
【００４７】
図３（ｂ）は難読化ＰＤＬファイル（３０８）を示している。難読化ＰＤＬファイル（３０８）は、標準ＰＤＬファイル（３０６）と同様に、各文字の位置を含む。一方、難読化ＰＤＬファイル（３０８）は、標準ＰＤＬファイル（３０６）とは異なり、変更テキストフロー、すなわち、変更テキストフローＡ（３２２Ａ）及び変更テキストフローＢ（３２２Ｂ）を含む。同図では、各変更テキストフローの一部のみが示されている。変更テキストフローＢ（３２２Ｂ）は、一の難読化技術をＥＤ（３０２）のテキストフローＢ（３１２Ｂ）に適用することによって生成される。具体的には、変更テキストフローＢ（３２２Ｂ）は、テキストフローＢ（３１２Ｂ）内の各単語を反転させ、さらに「lemons」の「m」を抜き取ることによって生成される。つまり、「lemons」は反転によって「snomel」になり、次いで「m」の抜き取りによって「snoel」になる。一方、変更テキストフローＡ（３２２Ａ）は、複数の難読化技術をＥＤ（３０２）のテキストフローＡ（３１２Ａ）に適用することによって生成される。具体的には、変更テキストフローＡ（３２２Ａ）は、テキストフローＡ（３１２Ａ）内の全ての単語を反転させ、テキストフローＢ（３１２Ｂ）から抜き取られた「m」を挿入し、さらにテキストフローを二つのＰＤＦグループ、すなわち、ＰＤＦグループＩ（３２６）及びＰＤＦグループＩＩ（３２８）に分割することによって生成される。つまり、「quick」は反転によって「kciuq」になり、「m」の挿入によって「kcmiuq」になり、次いで「kcmi」と「uq」に分割される。さらに、難読化ＰＤＬファイル（３０８）は、重なり合ったベクター画像Ａ（３１４Ａ）及びベクター画像Ｂ（３１４Ｂ）に対応する一つの合成ラスター表現（３２５）を含む。
【００４８】
当業者は、本詳細な説明によって、難読化ＰＤＬファイル（３０８）は、標準ＰＤＬファイル（３０６）に比べ、ＰＤＬ形式からＭＬ形式への変換ツールに対する耐性が高いことを理解するであろう。具体的には、変更テキストフロー（３２２Ａ、３２２Ｂ）は、このようなツールがテキストフローに正しく文字を割り当てテキストフロー内の文字順を正しく決定することを、極めて困難にする。さらに、合成ラスター表現（３２５）は、このようなツールが二つの別個のベクター画像を抽出することを（不可能ではないとしても）極めて困難にする。言い換えれば、変更テキストフロー（３２２Ａ、３２２Ｂ）及び合成ラスター表現（３１４）によって、難読化ＰＤＬファイル（３０８）の変更不可能な状態が確実に維持できる。
【００４９】
本発明の実施形態は、以下の利点のうち一つ以上を有する。すなわち、ＰＤＬファイルが容易に変更可能になるのを防止することができるという利点、変更テキストフローを生成することができるという利点、重なり合ったベクター画像の合成ラスター表現を生成することができるという利点、ＰＤＬからＭＬへの変換ツールに対する耐性の高いＰＤＬファイルを生成することができるという利点である。
【００５０】
本発明の実施形態は、用いられるプラットフォームにかかわらず、基本的にあらゆる種類の演算システムで実施することができる。例えば、演算システムは、一又は複数の携帯機器（例えば、ラップトップ型コンピューター、スマートフォン、ＰＤＡ、タブレット型コンピューター、あるいはその他の携帯機器）、デスクトップ型コンピューター、サーバー、サーバー筐体のブレード、あるいは本発明の一又は複数の実施形態を実施するための最低限の処理能力、メモリ、及び入出力装置を少なくとも備える他のいかなる種類の一又は複数の演算装置であってもよい。例えば、図４に示すように、演算システム（４００）は、一又は複数のコンピュータープロセッサー（４０２）、関連するメモリ（４０４）（例えば、ＲＡＭ（Random Access Memory）、キャッシュメモリ、フラッシュメモリ等）、一又は複数の記憶装置（４０６）（例えば、ハードディスク、ＣＤ（Compact Disk）ドライブやＤＶＤ（Digital Versatile Disk）ドライブなどの光学ドライブ、フラッシュメモリスティック等）、及びその他の多数の要素や機能を持っていてもよい。コンピュータープロセッサー（４０２）は、命令を処理するための集積回路であってもよい。例えば、コンピュータープロセッサーは、プロセッサーの一又は複数のコア又はマイクロコアであってもよい。また、演算システム（４００）は、タッチパネル、キーボード、マウス、マイク、タッチパッド、電子ペン、その他の入力装置等、一又は複数の入力装置（４１０）を備えていてもよい。さらに、演算システム（４００）は、画面（例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、タッチパネル、ブラウン管（ＣＲＴ）モニター、プロジェクター、あるいはその他の表示装置）、プリンター、外部記憶装置、その他の出力装置等、一又は複数の出力装置（４０８）を備えていてもよい。当該出力装置のうち一又は複数の出力装置は、上述の入力装置と共通であっても異なっていてもよい。また、演算システム（４００）は、図示しないネットワークインターフェース接続を介して、ネットワーク（４１２）（例えば、ＬＡＮ（Local Area Network）、インターネット等のＷＡＮ（Wide Area Network）、携帯ネットワーク、あるいはその他のあらゆる種類のネットワーク）に接続されていてもよい。入力装置及び出力装置は、コンピュータープロセッサー（４０２）、メモリ（４０４）、及び記憶装置（４０６）に、（例えば、ネットワーク（４１２）を介して）ローカル接続又はリモート接続されていてもよい。その他様々な演算システムが存在し、上述した入力装置及び出力装置は他の形態をとってもよい。
【００５１】
本発明の実施形態を実施するためのソフトウェア命令は、その全体又は一部が、コンピューター可読プログラムコードとして、一時的に又は恒久的に、非一時的なコンピューター可読媒体（例えば、ＣＤ，ＤＶＤ，記憶装置、フロッピーディスク（登録商標）、テープ、フラッシュメモリ、物理メモリ、あるいはその他のあらゆるコンピューター可読記憶媒体）に記憶されていてもよい。具体的には、当該ソフトウェア命令は、プロセッサーによって実行された際に本発明の実施形態を実施するように構成された、コンピューター可読プログラムコードに対応していてもよい。
【００５２】
演算システム（４００）の一又は複数の要素は、遠隔地に配置され、ネットワーク（４１２）を介して他の要素と接続されていてもよい。また、本発明の実施形態は、複数のノードを有する分散システムで実施してもよい。当該分散システムにおいて、本発明の各部は異なるノードに配置されている。本発明の一実施形態においては、一つのノードが個別の演算装置に対応する。あるいは、一つのノードが、関連する物理メモリを有するコンピュータープロセッサーに対応していてもよい。もしくは、一つのノードが、共有メモリ及び／又は共有資源を有するコンピュータープロセッサー、又はコンピュータープロセッサーのマイクロコアに対応していてもよい。
【００５３】
本発明の限られた数の実施形態について説明したが、当業者は、本開示によって、ここに開示されている本発明の範囲を逸脱することなく、他の形態も考えられることを理解するであろう。したがって、本発明の範囲は添付の特許請求の範囲によってのみ限定される。
【図１】
2015115065.tif 000003
【図２】
2015115065.tif 000004
【図３（ａ）】
2015115065.tif 000005
【図３（ｂ）】
2015115065.tif 000006
【図４】
2015115065.tif 000007
【外国語明細書】
2015115065000001.pdf
2015115065000002.pdf
2015115065000003.pdf
2015115065000004.pdf