説明

ページレイアウト編集方法

【課題】 オブジェクトブロックを利用するレイアウト編集系において、オブジェクトブロックをひとつのコンテンツの単位としてその内部のレイアウト変更を容易にし、コンテンツの再利用を容易にすること
【解決手段】 オブジェクトブロックの描画データとテキストデータをそれぞれ抽出し、描画データおよびテキストデータの配置の指定と、フォント属性の指定を可能とし、指定の内容に沿ってオブジェクトブロックを再レイアウトする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ページ上に、図形、イメージ、文字列などの描画オブジェクトを、位置を指定して配置するための、ページレイアウト技術に関する。
【背景技術】
【0002】
従来のページレイアウト技術においては、PDF(Portable Document Format)などのページデータを、テキスト図形、イメージ図形、ベクター図形などの細かな図形オブジェクトに分解する。これらの細かなオブジェクトを、オブジェクト間の距離をもとにして、ある程度近いオブジェクト同士をグループ(ブロック)にまとめる技術がある(特許文献1参照)。このブロックを本書においては「オブジェクトブロック」と呼ぶことにする。この技術を使うと、多数の図形オブジェクトから成るページデータを、1ページ内に数個のオブジェクトブロックに分割することができる。
【0003】
ここで、オブジェクトブロックはオブジェクト間の距離をもとに生成されるので、一般にひとつのオブジェクトブロックに含まれるコンテンツ同士は互いに密接な関係があると考えられる。その前提では、オブジェクトブロックを単位に移動、削除、入れ替えなどの編集をすることで、関係が深いオブジェクト同士をまとめて操作でき、煩雑な操作することなく、一貫性の持ったコンテンツ単位での編集が簡単に行えることになる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−20646号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
前記のように、オブジェクトをオブジェクトブロックに分割して編集する方式は、オブジェクトブロックをひとつのコンテンツのまとまり、すなわち「記事」として簡単に編集することを意味する。そこから利用方法を発展させると、複数の文書から複数の「記事」を集めて、別の文書を作成することも極めて簡単になる。ここでは、オブジェクトブロックを生成した複数の文書から、任意にオブジェクトブロック=「記事」を拾い集めて、新しい文書を作成することを想定する。
【0006】
しかしPDFなどのページデータにおいては、そのオブジェクトブロックはもともとのページ上でのオブジェクトの位置情報を固定的に保持している。そのため単に記事をオブジェクトブロックにして記事を集め、ページ上に並べただけでは、各々がもともと保持していた記事のレイアウト体裁がバラバラとなり読みにくいものとなってしまう。またオブジェクトブロックの固定的な領域サイズでは、並べた時に用紙面の無駄な余白が生じてしまう可能性が高い。
【0007】
本発明の目的は、「記事」を単位とした文書の編集において、オブジェクトブロックとして切りだした「記事」を再利用して別の文書の作成を容易にするためのレイアウト編集方法である。
【課題を解決するための手段】
【0008】
文書ページ上に図形や文字をオブジェクトとして配置する編集方法で、ページ中のオブジェクトをいくつかのブロックに分類して編集単位とするレイアウト編集方法で、
オブジェクトブロックから文字情報をもったオブジェクトを抽出する手段と(ステップ304)、文字オブジェクトから書式なしテキスト情報を抽出する手段と(ステップ305)、抽出したテキスト情報を保持する手段と(ステップ306)、
オブジェクトブロックから文字情報をもたないオブジェクトを抽出し保持する手段と(ステップ307)、
オブジェクトブロックの領域に対して文字情報およびその他の情報の配置を決定する手段と(図9、ステップ604)、
オブジェクトブロックの領域に対して、指定された値に基づいて文字以外の情報の配置を行う手段と(ステップ605)、
文字以外の情報の配置により残されたオブジェクトブロック内の領域に文字情報を配置する手段(ステップ606)を有する。
【発明の効果】
【0009】
本発明によれば、簡単なソフトウェア操作によって、関連の深いオブジェクト同士を記事としてまとめ、その記事を再レイアウト可能にすることで、記事を単位としてのコンテンツ再利用ベースの文書の作成、編集作業を簡単に行うことができる。
【図面の簡単な説明】
【0010】
【図1】システム図
【図2】本システムでの編集単位の概念図
【図3】実施例1のフローチャート1
【図4】本システムでのデータ処理の概念図
【図5】本システムでのデータ管理の概念図
【図6】実施例1のフローチャート2
【図7】実施例1のユーザインタフェイス例
【図8】領域サイズおよび位置の変更UIの例
【図9】レイアウト設定のUIの例
【図10】フォント設定のUIの例
【図11】もともとのオブジェクトブロックの例
【図12】変更されたオブジェクトブロックのレイアウト例
【図13】変更されたオブジェクトブロックのレイアウト例
【図14】複数の描画データが含まれているオブジェクトブロックの例
【図15】描画データの位置を変更するUI例
【図16】描画データの位置を変更したオブジェクトブロックのレイアウト例
【発明を実施するための形態】
【0011】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0012】
[実施例1]
図1はレイアウト変更を実行する情報処理装置としてのコンピュータシステムを図示している。コンピュータモジュール101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置144や状況に応じてはローカルプリンタ145を含む出力装置を連結する。入力/出力インタフェイス138はコンピュータモジュール101をネットワーク接続107から接続してシステムの他のコンピュータ装置につなげることができる。そのネットワーク接続107の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。
【0013】
コンピュータモジュール101は典型的に少なくとも1つのプロセッサーユニット(CPU)135、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット136、ビデオインタフェイス137を含むINPUT/OUTPUT (I/O)インタフェイス、キーボード132やマウス133のためのI/Oインタフェイス143を含んでいる。記憶装置139は典型的にハードディスクドライブ140やフロッピー(登録商標)ディスクドライブ141を含んでいる。図には示されていないが磁気テープドライブなどもまた使用される可能性がある。CD−ROMドライブ142は不揮発性のデータソースとして提供される。コンピュータモジュール101はLINUMやマイクロソフトウィンドウズ(登録商標)のようなオペレーションシステムや相互接続バス134を介して通信を行うコンピュータモジュール101のコンポーネント135からI/Oインタフェイス143を利用する。
【0014】
本発明のフローチャートで示された手順を実現するソフトウェアは例えば上記に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ101のCPU135によって実行される。そのソフトウェアを使用することにより電子文書のレイアウト変更に有利な装置として作動することができる。
【0015】
なお、特に断らない限り本発明の機能が実行されるのであれば、単体の機器であっても複数の機器から成るシステムであっても、本発明を適用できることはいうまでもない。あるいは実行されるソフトウェアが、コンピュータのシステムに組み込まれたプリンタドライバであっても、あるいはプリンタなどの印刷装置上で動作するオペレーティングシステムに組み込まれるものであってもかまわない。またLAN,WANなどのネットワークを介して接続され処理されるシステムでも、同様に本発明を適用できることはいうまでもない。
【0016】
図7は、本実施例におけるレイアウト変更を行うソフトウェアのユーザインタフェイスの一例である。アプリケーションウィンドウ701に含まれるユーザインタフェイスは、ディスプレイ装置144に表示される。ウィンドウ701には、メニューバー702、ツールバー703、そしてマウス720の位置と動作によって操作可能なワークエリア721がある。また、サムネイルエリア722では、マウス133で操作するマウスカーソル720を使って、縮小表示されるページのイメージから、レイアウト編集の対象とするページが選択可能である。サムネイルエリア722には文書中に含まれるページが先頭から順に表示され、レイアウト変更の対象として選択されたページがワークエリア721にページ711や712として表示される。ページ711にはオブジェクト713が、ページ712にはオブジェクト714が存在する。
【0017】
図2は、ページ中のオブジェクトをまとめてオブジェクトブロックが生成された例である。ページ201、202、203にオブジェクトブロック211、212と213、214が、オブジェクトの距離の近いもの同士をまとめることで生成されている。
【0018】
図3は本実施例の前処理のフローチャートである。このフローチャートは、ひとつのオブジェクトブロックを再レイアウト可能にする際の、制御部の動作を説明する。
【0019】
本明細書では、制御部はCPU135、メモリ136、ROM142、HDD140等からなる。なお、フローチャートで示す手順がRAM、ROM、HDDのいずれかの記憶手段に記憶され、CPUにより実行される。制御部は、現在の編集対象となっている文書を参照し、ページ上に配置されているオブジェクトを変更する処理をおこなう。
【0020】
使用者によるオブジェクトブロックの編集操作を受けつけた制御部は、フローチャートをCPU135で実行し、まず図3に示すステップ301に移行するようになっている。
【0021】
ステップ301において制御部は、オブジェクトブロック内部のすべてのオブジェクトを列挙し、そのオブジェクトを包含する外接矩形の左上の座標値でソートする。座標値は左上からまず右方向へ、次に下方向へ降りてまた左から右方向へ、のZ字型の順番にソートする。このソートによって制御部は、左上から順にオブジェクトブロックに含まれるオブジェクトのリストにアクセスすることが可能となる。
【0022】
次に制御部は、このソートされたリストの中のオブジェクトをひとつずつ処理する。まだ処理していないオブジェクトがあるかどうかをステップ302で確認し、残っていれば次のオブジェクトをステップ303で取り出す。
【0023】
ステップ304で制御部は取り出したオブジェクトの種類を判定し、文字オブジェクトであったらオブジェクト情報の中からテキストの情報(書式をもたない)を取り出す(ステップ305)。そしてそれを、このオブジェクトブロックと関連付けて保存しておくテキストデータの情報に連結し(ステップ306)保存する。前述のステップで、左上からのソートを行われているため、横書きの文章であれば、オブジェクトの単位がどんなに細かくなっていても、正常に文章内容を保持した形でテキストデータ化できる。
【0024】
ステップ304でオブジェクトの種類が文字オブジェクトでない場合、制御部はそのオブジェクトを描画オブジェクトと判断する。そしてそれを、このオブジェクトブロックと関連付けて保存しておく描画データの情報に追加し(ステップ307)保存する。
【0025】
図4は、図3で制御部が行った処理を模式的に説明した図である。
【0026】
ステップ306の処理により、上側のオブジェクトブロック401から書式を持たないテキスト情報403が生成され。描画データ情報402が生成される。
【0027】
もし仮に、もともとのレイアウト済みデータである401が1文字1文字ばらばらの文字オブジェクトからなっていたとしても、ステップ306の連結処理によって文として連続した書式を持たないテキストデータ情報に変換できる。
【0028】
図5は、図4の各データを制御部が関連付けて保持および管理するためのメモリ管理の一例である。501の組の各要素でオブジェクトブロックを複数個管理することができる。その要素へのリンクとして、502の描画データ情報の組と、503の書式を持たないテキスト情報の組を備えている。もしオブジェクトブロックにおいてどちらかの情報が空であれば、502、503の対応する要素が空になる。
【0029】
図6は本実施例の本処理のフローチャートである。このフローチャートは、ひとつのオブジェクトブロックを実際に再レイアウトする際の、制御部の動作を説明する。
【0030】
使用者によるオブジェクトブロックの変更操作を受けつけた制御部は、フローチャートをCPU135で実行し、まず図6に示すステップ601に移行するようになっている。
【0031】
ステップ601において制御部は、先に図3のステップ307で保存した描画データを取得する。さらにステップ602において制御部は、先に図3のステップ306で保存した書式を持たないテキストデータを取得する。
【0032】
ここでオブジェクトブロックの領域は、使用者の編集操作によって変更できる。図8に示すように、オブジェクトブロック領域を包含する外接矩形801を、使用者がマウスポインタ802でドラッグすることにより、領域のサイズと位置は変更可能とする。この使用者の操作によって決定された領域の位置とサイズを、制御部はステップ603で、オブジェクトブロックが再レイアウトされるための領域の位置とサイズとして取得する。
【0033】
またさらにオブジェクトブロックの領域に対して、使用者の編集操作によって描画データと文字の配置のレイアウト設定を行うことができる。
【0034】
描画データと文字の配置のレイアウト設定のためには、制御部は図9に示すような領域901をディスプレイ137に表示し、使用者は図の配置を選択コントロール902から「左上/上中央/右上/左中央/中央/右中央/左下/下中央/右下」より選択できる。また使用者は文字の配置を選択コントロール903から「左上寄せ」「上中央寄せ」「右上寄せ」「左下寄せ」「下中央寄せ」「右下寄せ」より選択できる。また使用者は文字が描画データをよけて描画データの周囲の余白を埋めるように回り込むかどうかを設定コントロール904からOn/Offすることができる。使用者は設定条件を、OKボタン911を押すことで確定できる。
【0035】
またさらにオブジェクトブロックの領域に対して、使用者の編集操作によって書式を持たないテキストデータにフォントの設定を行うことができる。
【0036】
フォントの設定のためには、制御部は図10に示すような領域1001をディスプレイ137に表示し、使用者はフォント名を選択コントロール1002より選択できる。また使用者はフォントサイズ/フォントスタイル/フォント色をそれぞれ選択コントロール1003、1004、1005から選択できる。使用者は設定条件を、OKボタン1011を押すことで確定できる。
【0037】
このように、図9、10で設定された条件を制御部はステップ604で取得する。
【0038】
次に制御部は、領域の再レイアウト処理に移り、まず、ステップ603で取得した領域の位置に対して、ステップ604で取得したレイアウトパラメータにもとづいて、ステップ601で取得した描画データを配置する(ステップ605)。これは、描画データの配置設定が「左上」であれば、領域の左上に寄せて描画データを配置する、という処理である。
【0039】
次に制御部は、残りの領域に対して、ステップ604で取得したフォントパラメータにもとづいて、ステップ602で取得した書式を持たないテキストデータのフォントを指定し、組版を行う(ステップ606)。ここでフォントサイズが大きい場合、領域内に指定のフォントサイズでは組版できずはみ出してしまう場合がある。その場合、単にはみ出して組版する・はみ出した部分をクリッピングする・領域に収まるようフォントサイズを自動的に縮小する、などの対応が取れる。
【0040】
以上の結果を制御部はステップ607でディスプレイ装置144に再表示する。
【0041】
以上の手順により得られる再レイアウト結果の例を示す。
【0042】
図11は、図4に示したのと同じ、オリジナルオブジェクトブロックである。
【0043】
これに対して、レイアウト領域のサイズをやや変更し、描画データの配置を「左上」に変更し、フォントパラメータを「Arial/12ポイント/イタリック」に変更し、前記の再レイアウト処理を施したのが図12の例である。このように、このオブジェクトブロック記事としての独立性は変わらないが、再レイアウトすることにより、レイアウト上の扱いやすさが向上している。
【0044】
なお、同じ記事を、パラメータを変更して再レイアウトしなおした他の例を図13に4つ示す。
【0045】
[実施例2]
実施例1において、レイアウトの例としては、描画データがオブジェクトブロックに1つのみ存在する場合を示した。もし描画データが複数個オブジェクトブロックに含まれている場合、描画データの位置を調整することができる。
【0046】
図14は、複数の描画データが含まれるオブジェクトブロックの例である。
【0047】
図15で、使用者はオブジェクトブロック内部を編集状態にし、描画データを移動している。編集状態への移行は、オブジェクトブロックをダブルクリックするなどの一般的な操作方法で行う。また、描画データは領域内でのみ移動可能とし、マウスによるドラッグなど一般的な操作方法で移動することができる。
【0048】
図16で、使用者が描画データを右上部に移動し終わったあと、制御部はレイアウト変更を実施し、文字の配置を変更している。
【0049】
[本実施例特有の効果]
このように実施例2では、複数の描画データがオブジェクトブロックに含まれている場合、領域内でその位置を変更することでより柔軟なレイアウト変更をおこなうことができる。なお、この例では2個の描画データを示したが、もちろんより多くの描画データが存在してもかまわない。また、ここでは位置の変更だけを示したが、描画データのサイズの変更や削除など、他の一般的な編集操作を前提としてもかまわないことはいうまでもない。
【0050】
なお、描画データは、オブジェクトブロックを生成するときと同様、自身を含むオブジェクトブロックの中で、他のオブジェクトと距離をもとにグループ化されて、扱いやすくすることが望ましい。
【符号の説明】
【0051】
101 コンピュータモジュール
132 キーボード
133 マウス


【特許請求の範囲】
【請求項1】
文書ページ上に図形や文字をオブジェクトとして配置する編集方法で、ページ中のオブジェクトをいくつかのブロック(オブジェクトブロック)に分類して編集単位とするレイアウト編集方法で、
オブジェクトブロックから文字情報をもったオブジェクトを抽出する手段と(ステップ304)、文字オブジェクトから書式なしテキスト情報を抽出する手段と(ステップ305)、抽出したテキスト情報を保持する手段と(ステップ306)、
オブジェクトブロックから文字情報をもたないオブジェクトを抽出し保持する手段と(ステップ307)、
オブジェクトブロックの領域に対して文字情報およびその他の情報の配置を決定する手段と(図9、ステップ604)、
オブジェクトブロックの領域に対して、指定された値に基づいて文字以外の情報の配置を行う手段と(ステップ605)、
文字以外の情報の配置により残されたオブジェクトブロック内の領域に文字情報を配置する手段(ステップ606)を有することを特徴とするレイアウト編集方法。
【請求項2】
オブジェクトブロックに対してフォント属性の指定を行う手段と(図10、ステップ604)、抽出された文字情報にそのフォント属性を反映させて配置する手段を有する(ステップ606)ことを特徴とする請求項1に記載のレイアウト編集方法。
【請求項3】
オブジェクトブロック領域の位置およびサイズを変更する手段(図8)と、変更された領域の位置及びサイズに基づいてオブジェクトの配置処理を行う手段を有する(ステップ605、606)ことを特徴とする請求項1に記載のレイアウト編集方法。
【請求項4】
オブジェクトブロックに対して、含まれるオブジェクトの領域内での位置を指定して変更する手段と、
指定されたオブジェクトの位置以外領域に文字情報を配置する手段を有する(図14、15)ことを特徴とする請求項1に記載のレイアウト編集方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−8170(P2013−8170A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−140001(P2011−140001)
【出願日】平成23年6月24日(2011.6.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】