JP5043769B2 - 文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム - Google Patents

文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP5043769B2
JP5043769B2 JP2008182046A JP2008182046A JP5043769B2 JP 5043769 B2 JP5043769 B2 JP 5043769B2 JP 2008182046 A JP2008182046 A JP 2008182046A JP 2008182046 A JP2008182046 A JP 2008182046A JP 5043769 B2 JP5043769 B2 JP 5043769B2
Authority
JP
Japan
Prior art keywords
distance
page
document
objects
layout
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.)
Expired - Fee Related
Application number
JP2008182046A
Other languages
English (en)
Other versions
JP2010020646A (ja
Inventor
斉 尾坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008182046A priority Critical patent/JP5043769B2/ja
Priority to US12/500,494 priority patent/US20100011287A1/en
Publication of JP2010020646A publication Critical patent/JP2010020646A/ja
Application granted granted Critical
Publication of JP5043769B2 publication Critical patent/JP5043769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラムに関し、特に、文書に配置されたオブジェクトのレイアウトを編集するために用いて好適なものである。
従来のページレイアウト技術として、異なる文章から取り込んだ"イメージ画像化された文書"の文字間及び行間を揃えてレイアウトする技術がある(特許文献1を参照)。また、複数のテキストオブジェクトを並べてレイアウトする際に、それら複数のテキストオブジェクトが連続した文字段落に見えるように、それら複数のテキストオブジェクトの間の距離を調整する技術がある(特許文献2を参照)。
特開平5−108793号公報 特開2004−295864号公報
ところで、ページレイアウトにおいては、オブジェクトの配置の統一感が、文書の見栄えの美しさに大きく関わっている。特に、オブジェクトとオブジェクトとの間の距離についての統一感は、文書の見栄えの美しさに大きく関わっている。文書内に様々なオブジェクトが配置される場合、ページ上のオブジェクト間の距離が大小まったくばらばらであると、文書の見栄えの美しさが得られない。つまり、文書の見栄えの美しさを得るためには、ページ上のオブジェクト間の距離が、一定のルールに基づいて設計されている必要がある。
ページ上にオブジェクトを配置していくレイアウト方法には、Adobe Illustrator等のドロー系描画アプリケーションによる方法がある。また、Adobe Acrobat等のアプリケーションで既存文書を変換したPDF(Portable Document Format)文書データを、いったんオブジェクトに分解してレイアウトする方法等もある。
前者の方法では、ユーザは、オブジェクト間の距離に注意しながら各種のオブジェクトを配置してレイアウトを行う必要がある。
一方、後者の方法では、仮に、1文書を取り込んだ結果、オブジェクト間の距離が統一的な規則になっていたとしても、複数の文書をマージ(merge)すると、複数の異なる規則が文書内で共存することになり得る。例えば、ページ境界を跨いでオブジェクトを移動し、複数の文書をページ毎にマージするという技術を念頭に置いた場合、複数の規則が同一ページ内で共存することが起こり得る。これはオブジェクト間の距離の規則の不統一に繋がる。
そこで、文書内においてオブジェクト間の距離の規則を統一する手段が求められる。
前述した特許文献1に記載の技術によれば、イメージ画像として取りこんだ文書の文字列の間隔を均一にすることはできる。しかしながら、一般的に文書上の表現においては、単純に全ての間隔を均一にすればよいのではなく、例えば、タイトル文字列と本文段落、本文段落と挿入図の間隔等、意味を持ってオブジェクトの間隔の大きさを使い分けることが必要である。この使い分けが1文書におけるオブジェクト間の距離の規則となる。特許文献1に記載の技術では、このように、複数のオブジェクト間の距離を使い分けることができない。
また、前述した特許文献2に記載の技術おいても、文字オブジェクトの視認上の行間の連続性だけが問題とされており、文書全体にわたるオブジェクトの距離の規則の統一という問題を解決するものにはなり得ない。
また、これらの特許文献1、2に記載の技術に拠らずに、オブジェクトの間隔の規則を統一するためには、前述したようなアプリケーションを利用して、ユーザが手作業でオブジェクトを直接編集操作して位置を整えることが求められる。
しかしながら、オブジェクトを個々に選択し位置を変更する作業は煩雑である。更に、統一感をもったレイアウトを設計するには、レイアウト技能の熟練を要する。
また、文書を取り込んでPDFに変換する場合、取り込んだ元々の文書にもレイアウト上の意図があるはずである。そこで、できるだけ元の文書のレイアウトが持っていたオブジェクト間の距離の規則を大きく崩さずに全体をレイアウトし直すことが望ましい。しかしながら、そのような修正作業はきわめて煩雑で困難である。
本発明は、以上のような問題点に鑑みてなされたものであり、文書のオブジェクト間の距離を従来よりも容易に且つ適切に調整できるようにすることを目的とする。
本発明の文書レイアウト編集装置は、文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出手段と、前記抽出手段により抽出された複数の距離の値の差に基づいて、当該複数の距離を1つ又は複数のグループに纏める纏め手段と、前記纏め手段により纏められた距離を代表値に統一する統一手段と、前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更手段とを有することを特徴とする。
本発明によれば、文書における互いに隣り合うオブジェクトの間の距離を抽出し、抽出した複数の距離の値の差に基づいて、当該複数の距離を1つ又は複数に纏めて代表値に統一し、その代表値に基づいてオブジェクトの間隔を調整する。したがって、ユーザが試行錯誤によりオブジェクトの間の距離を調整しなくても、元々のレイアウトを大きく崩さずに、オブジェクトの間の距離を調整することが可能になる。よって、文書のオブジェクト間の距離を従来よりも容易に且つ適切に調整できる。
まず、本発明の実施形態を説明する前に、本発明で使用される用語について説明する。第1に、本発明における「ページ」とは、A4用紙等、限られた領域であって、コンテンツが記載される領域のことである。第2に、本発明における「オブジェクト」とは、図形や文字列や画像或いはそれらの組み合わせ等の、独立して扱える描画要素のことを指す。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、ページレイアウトを実行する文書レイアウト編集装置を有するシステムの構成の一例を示す図である。
図1において、コンピュータモジュール101には、入力/出力インタフェイス(I/Oインタフェイス)143を介して、キーボード132やマウス133のようなポインティングデバイス等の入力装置が接続される。また、コンピュータモジュール101には、ディスプレイ装置144や、状況に応じてはローカルプリンタ145を含む出力装置が接続される。入力/出力インタフェイス(I/Oインタフェイス)138は、コンピュータモジュール101をネットワーク107に接続し、コンピュータモジュール101を、外部の他のコンピュータ装置と通信可能に接続する。ネットワーク107としては、例えば、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)やインターネットが挙げられる。
コンピュータモジュール101は、少なくとも1つのプロセッサユニット(CPU)135を有している。また、コンピュータモジュール101は、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)を備えて構成されるメモリユニット136を有している。また、コンピュータモジュール101は、ビデオインタフェイス137を含む入力/出力(I/O)インタフェイスと、キーボード132やマウス133とコンピュータモジュール101とを相互に接続するためのI/Oインタフェイス143とを有している。
更に、コンピュータモジュール101は、例えばハードディスクドライブ(HDD)140やフレキシブルディスクドライブ(FDD)141を含む記憶装置139を有している。図1には示していないが、磁気テープドライブ等が記憶装置139に含まれることもある。CD−ROMドライブ142は、不揮発性のデータソースとして提供される。
コンピュータモジュール101は、LINUX(登録商標)やWINDOWS(登録商標)のようなオペレーションシステムや、相互接続バス134を介して通信を行うコンピュータモジュール101のコンポーネント135〜143を利用して処理を実行する。
以下に示すフローチャートで示された手順を実現するソフトウェアは、例えば記憶装置139を含む"コンピュータモジュール101の可読媒体"に格納される。ソフトウェアは、コンピュータモジュール101の可読媒体からメモリユニット136にロードされ、プロセッサユニット(CPU)135によって実行される。コンピュータモジュール101でコンピュータプログラム製品を使用することにより、文書レイアウト編集装置を、ドキュメントのレイアウト編集に有利な装置として作動することができる。
図2は、オブジェクトリストの一例を示す図である。
図2に示すオブジェクトリスト200は、例えばHDD140に格納される。本実施形態では、コンピュータモジュール101は、図2に示すようなオブジェクトリスト200を用いることにより、文書内のオブジェクトの情報を管理する。図2に示すように、各オブジェクトの情報がリスト構造になってオブジェクトリスト200に格納されている。また、各オブジェクトの情報には、オブジェクトID201と、オブジェクト種類202と、左上座標203と、右下座標204と、オブジェクト固有情報205とが含まれている。ここで、左上座標203及び右下座標204は、オブジェクトの位置を示す情報である。
図3は、オブジェクトリスト200に格納されるオブジェクトの情報と、実際のオブジェクトとの関係の一例を示す図である。
図3に示すように、左上座標203aが(20,34)、右下座標204aが(81,65)の位置にある長方形のオブジェクト301の情報は、図3の右図に示す内容でオブジェクトリスト200に格納(登録)される。
図4は、PDFフォーマットの文書から、図3に示したような長方形のオブジェクト301が読み出され、そのオブジェクト301の情報が取り出されることの一例を概念的に示す図である。
図5は、本実施形態で利用するオブジェクトをブロック化する際の文書レイアウト編集装置のレイアウト処理部の処理の一例を説明するフローチャートである。尚、本実施形態では、レイアウト処理部は、プロセッサユニット(CPU)135、メモリユニット136、CD−ROMドライブ142、及びHDD140等を用いることにより実現できる。また、図5のフローチャートで示す手順は、メモリユニット(RAM又はROM)136、及びHDD140の何れかに記憶されており、その手順がプロセッサユニット(CPU)135により実行される。
まず、ステップS501において、レイアウト処理部は、オブジェクトリストLOから、オブジェクトを1つ取得する。オブジェクトリストLOは、例えば図2に示したオブジェクトリスト200である。
次に、ステップS502において、レイアウト処理部は、新しいオブジェクトグループGを生成する。ここで、オブジェクトグループGは、オブジェクトリストLOと同等の形式を有し、且つ、レイアウト処理部が1つのオブジェクトとして操作することのできるデータ形式を有する。
次に、ステップS503において、レイアウト処理部は、生成したオブジェクトグループGに、ステップS501で取得したオブジェクトを追加する。
次に、ステップS504において、レイアウト処理部は、オブジェクトグループGに追加したオブジェクトを、オブジェクトリストLOから削除する。
次に、ステップS505において、レイアウト処理部は、オブジェクトリストLOに、オブジェクトがまだ残っているか否かを判定する。この判定の結果、オブジェクトリストLOに、オブジェクトが残っていない場合には、ステップS510に進む。ステップS510に進むと、レイアウト処理部は、オブジェクトグループGをオブジェクトリストLOに追加する(ステップS510)。そして、図5のフローチャートによる処理を終了する。
一方、オブジェクトリストLOに、オブジェクトが残っている場合には、ステップS511に進む。ステップS511に進むと、レイアウト処理部は、オブジェクトリストLOから、次のオブジェクトPOを取得する。
次に、ステップS512において、レイアウト処理部は、オブジェクトグループGの中のオブジェクトGOを1つ取得する。
次に、ステップS513において、レイアウト処理部は、オブジェクトグループGの中から、オブジェクトGOを取得できたか否かを判定する。この判定の結果、オブジェクトグループGの中から、オブジェクトGOを取得できない場合には、前述したステップS502に戻る。
一方、オブジェクトグループGの中から、オブジェクトGOを取得できた場合には、ステップS514に進む。ステップS514に進むと、レイアウト処理部は、ステップS511で取得したオブジェクトPOと、ステップS512で取得したオブジェクトGOとの間の垂直方向の距離を計算する。
図6は、2つのオブジェクトの間の垂直方向(縦方向)の距離の一例を説明する図である。
図6に示すように、本実施形態では、オブジェクト間の距離とは、オブジェクト601、602を包む外接矩形の間の最短距離のことをいう。図6に示す例では、オブジェクト601は長方形のオブジェクトであるのに対し、オブジェクト602は楕円のオブジェクトである。したがって、レイアウト処理部は、楕円のオブジェクト602の外接矩形603を作成し、この外接矩形603と長方形のオブジェクト601との垂直方向の最短距離604を、2つのオブジェクト601、602の間の垂直方向の距離として計算する。
図5の説明に戻り、ステップS515において、レイアウト処理部は、ステップS514で計算した距離が閾値以内か否かを判定する。この判定の結果、ステップS514で計算した距離が閾値以内でなければ、前述したステップ512に戻る。一方、ステップS514で計算した距離が閾値以内であれば、前述したステップ503に戻る。
ここで閾値とは、システムで定められる一定の大きさの距離のことであり、本実施形態では、この距離の閾値でブロック化するオブジェクト同士を垂直方向で分離している。
図7は、文書と、その文書のオブジェクトを図5のフローチャートによってブロック化した結果の一例を示す図である。
図7に示すように、ページ701上で、オブジェクト711とオブジェクト712とがブロック化され、1つのブロック721にブロック化されている。同様に、オブジェクト713とオブジェクト714とが1つのブロック722に、オブジェクト715とオブジェクト716とが1つのブロック723に夫々ブロック化されている。尚、オブジェクト711とオブジェクト712はとなりあっているため、両者の垂直方向の差異は0とみなされる。その結果、両者の垂直方向の差異が閾値値以内に収まるため、両者がブロック化されている。
図7に示すように、本実施形態では、ページレイアウトを変更するに際し、最も小さい区分けによるオブジェクトの距離を全て考慮するのではなく、ある程度のまとまったオブジェクト群からなる「ブロックの距離」を考慮するようにしている。そのため、本実施形態では、ページレイアウトを変更(設定)する手順においては、ブロックを変更(設定)対象とする場合を例に挙げて説明することにする。尚、本発明では、「オブジェクト」と記載する場合、図7に示したようにして複数のオブジェクトを纏めた「ブロック(以下の説明では、オブジェクトブロックと称することもある)」のことも包含しているものとする。
図8は、レイアウトの変更対象となる文書のページレイアウトの一例を示す図である。図8に示すように、ページ800上のオブジェクト間の(垂直方向の)距離は、ばらついている。ページ800の上に、オブジェクト801〜809(前述したように、ブロック化されたものも含めてオブジェクトと呼ぶ)が配置されている。それらのオブジェクト801〜809の間には、垂直方向に距離1〜8が存在している。図8に示すページレイアウトでは、距離1〜8に、統一された明確な規則がないため、文書の見栄えが損なわれている。
図9は、図8に示したオブジェクト間の垂直方向(縦方向)の距離のインデックスと、実際のオブジェクト間の垂直方向(縦方向)の距離との対応の一例を表形式で示す図である。
本実施形態では、「階層型クラスタ分析」を利用して、図8のばらついたオブジェクト間の距離1〜8を1つ又は複数に揃え、規則化していく場合を例に挙げて説明する。クラスタ分析自体は公知の技術であるため、その詳細な説明を省略するが、階層型クラスタ分析では、デンドログラム(樹形図)と呼ばれるグラフを用いて、複数の項目をグループ化していく考え方をとる。デンドログラムとは、各要素及び要素のグループたるクラスタ間の結合レベルを樹形図で表したものである。
図10は、図8に示したページレイアウト上のオブジェクト間の距離1〜8から生成されたデンドログラムの一例を示す図である。
図10の下部に、前述した距離1〜8がインデックス(index)として並べられている。一方、デンドログラムの縦軸は、各オブジェクト間の距離(distance)である。例えば、図8及び図9を参照すると、距離1と距離7の値の差は「1」しかなく、これらの距離1、7を、最も近い値を有する1つのグループとみなすことができる。そこで、図10に示すように、距離1、7の2つのインデックスが最初のグループ(クラスタ1)を形成している。次に近い距離は、距離2と距離4、或いは距離4と距離5であり、どちらも値の差が「2」である。そこで、これら距離2、4、5の3つのインデックスが新しいグループ(クラスタ2)を形成している。
クラスタ分析では、形成されたクラスタに対して「代表値」が割り振られる。一例としては、距離1と距離7とからなるクラスタ1を代表する代表値として、例えば、距離1と距離7の値のうち小さい方の値である「5」を採ってもよいし、大きい方の値である「6」を採ってもよい。或いは、距離1と距離7の値の平均値である「5.5」を代表値として採ってもよい。
更に、図10に示すデンドログラムのように、クラスタ1とクラスタ2とをさらに統一したクラスタ3を形成し、このクラスタ3と距離8とを統一する、というように、統一する距離のインデックスの数を順次増やしていくことができる。どの程度距離を統一するかは、ユーザが選択すべき項目である。全ての距離を完全に統一してしまうと、元々ユーザがあえて異なる距離にしたいと思っていた部分まで統一してしまい、ページレイアウトとしてはメリハリのないレイアウトになってしまう虞がある。そこで、本実施形態では、ある程度近い値の距離のグループ同士を別々に統一し、値の差の大きい距離のグループを統一せずにそのままの状態にすることを1つ目の目的としている。
以上のことを図8に示したページレイアウトに即して説明する。図8に示したページレイアウトで、距離1の部分と距離7の部分は、距離の値が近いので統一することのできる第一候補と考えられる。そこで、これらを統一してしまえば、文書中の距離のばらつきが1つ減ることになる。このとき、距離の値をどの値に統一するかという問題が発生する。そこで利用されるのが、前述したクラスタの「代表値」である。この代表値は、レイアウトを調整する際に、ユーザの選択に委ねられるべき項目である。同じく、距離2と距離4、或いは距離4と距離5は、お互いに距離の値が近いので、統一してしまえば距離のばらつきが減り、レイアウトの見栄えが向上する。しかしここでも、3つの距離の値の中からどの値に距離の値を統一するのかというユーザに委ねるべき問題が生じる。そこで、本実施形態では、元々のページレイアウトに存在していた距離の値を尊重しながら、ユーザの選択によって距離を統一していくことを2つ目の目的としている。
図11は、レイアウトを変更するための距離調整ユーザインタフェイス(GUI)の一例を示す図である。本実施形態では、図11に示す距離調整ユーザインタフェイス1100を用いることにより、前述した本実施形態の2つの目的を同時に達成することが可能になる。
図11に示す例では、ユーザインタフェイス領域1101の中を自由に動かせるボタン1102を、ユーザがマウスポインタ1103で操作する。
図11において、ユーザインタフェイス領域1101の左右方向にボタン1102を移動させることによって、1つ目の目的である「どの程度距離を統一するか」をコントロールすることができる。この具体例を説明する。まず、ユーザインタフェイス領域1101の最も左にボタン1102がある場合には、文書の初期の状態、すなわち距離1〜8がばらばらの状態のままとなる。一方、ユーザインタフェイス領域1101の最も右にボタン1102がある場合には、全ての距離1〜8が1つの代表値に揃えられた状態となる。更に、ユーザインタフェイス領域1101の最も左の位置と最も右の位置との間にボタン1102を位置させることにより、段階的に距離を揃えることができる。例えば、ユーザインタフェイス領域1101の左右方向(横方向)を、デンドログラムの階層数(図10に示した例では6階層)で分割する。そして、ボタン1102の横方向の位置とデンドログラムの階層とを相互に対応付けておき、ボタン1102の横方向の位置に応じて、デンドログラムのどの階層まで距離を統一するかを判断するようにする。
また、ユーザインタフェイス領域1101の上下方向にボタン1102を移動させることによって、2つ目の目的である「近い距離同士をどの値に統一するか」をコントロールすることができる。この具体例を説明する。まず、ユーザインタフェイス領域1101の最も上にボタン1102がある場合には、クラスタをなす距離の値のうち、最も小さい値を代表値とする。一方、ユーザインタフェイス領域1101の最も下にボタン1102がある場合には、クラスタをなす距離の値のうち、最も大きい値を代表値とする。また、ユーザインタフェイス領域1101の最も上の位置と最も下の位置との中間にボタン1102がある場合には、クラスタをなす距離の値の平均を代表値とする。
以上のように本実施形態では、例えば、距離調整ユーザインタフェイス1100を用いることにより、操作手段の一例が実現される。
図12及び図13は、距離調整ユーザインタフェイス1100の横方向(水平方向)の操作によって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの一例を示す図である。尚、図12及び図13では、統一されている距離のペアをデンドログラム上に太線で示している。
図12(a)は、初期状態を示す図であり、文書のページ800aのオブジェクト間の距離はばらばらである。
図12(a)に示す初期状態から、図12(b)に示すように、ユーザがユーザインタフェイス領域1101上でボタン1102を上に寄せた状態でやや右に移動すると、デンドログラムの第1階層まで距離が統一される。すなわち、距離1、7が同じ代表値に統一される。ボタン1102は上寄せであるため、距離1、7のうち小さい方の値(=「5」)が代表値となり、距離1、7が、この代表値に統一される(ページ800bを参照)。
図12(b)に示す状態から、図12(c)に示すように、更にボタン1102が右に寄せられると、デンドログラムの第2階層である距離2、4、5が同じ値に統一される。ボタン1102は上寄せであるため、距離2、4、5のうち最も小さい値(=「9」)が代表値となり、距離2、4、5が、この代表値に統一される(ページ800cを参照)。
このようにして、図12(d)、図13(a)〜図13(c)に示すように、ユーザは、ばらついていたオブジェクト間の距離が徐々に統一され、ページレイアウトが整えられていく状態を見ることができる(ページ800d〜800gを参照)。図13(c)に示すページ800gでは、全ての距離1〜7が、同じ小さな値(=「5」)に統一されてしまうが、元々のレイアウトの製作意図からすると、図13(b)に示す状態で距離の統一を止めるのが適切である可能性が高い。
図14及び図15は、距離調整ユーザインタフェイス1100の上下方向(垂直方向)の中央付近への操作と横方向(水平方向)の操作とによって、図8のページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの一例を示す図である。尚、図14及び図15でも、統一されている距離のペアをデンドログラム上に太線で示している。また、図14(a)〜図14(d)、図15(a)〜図15(c)は、夫々、図12(a)〜図12(d)、図13(a)〜図13(c)と、ボタン1102の上下方向の位置が異なる。
図14及び図15に示すように、デンドログラムの階層の上り方は、図12及び図13に示したものと同じであるが、各図の状態で得られる代表値は、クラスタ中の距離の値を平均した値になっている。そのため、図14及び図15に示したページレイアウトは、図12及び図13に示したものよりも、オブジェクト間の距離が開いたものになっている(図12、図13のページ800b〜800gと、図14、図15のページ800h〜800mを参照)。
図16と図17は、距離調整ユーザインタフェイス1100の上下方向(垂直方向)の下部への操作と横方向(水平方向)の操作とによって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの一例を示す図である。尚、図16及び図17でも、統一されている距離のペアをデンドログラム上に太線で示している。また、図16(a)〜図16(d)、図17(a)〜図17(c)は、夫々、図14(a)〜図14(d)、図15(a)〜図15(c)と、ボタン1102の上下方向の位置が異なる。
図16及び図17に示すように、デンドログラムの階層の上り方は、図12及び図13、図14及び図15と同じであるが、各図の状態で得られる代表値は、クラスタ中の距離の値のうち、もっとも大きい値になっている。そのため、図16及び図17に示したページレイアウトは、図14及び図15に示したものよりも、オブジェクト間の距離が更に開いたものになっている(図14、図15のページ800h〜800mと、図16、図16の800o〜800s、800uを参照)。
その結果、図17(b)、図17(c)に示す状態では、距離が増大してオブジェクトがページ範囲を超えてしまう。これを解決するために、本実施形態では次のような処理を行っている。すなわち、レイアウト処理部は、オブジェクトがページを超える原因となった代表値を、当該ページ内のオブジェクトが1ページ内に収まるサイズに変更する(例えば丸める)ことによって、オブジェクトを1ページ内に収めるようにしている。
具体的に説明すると、図17(b)に示すページ800sのようにオブジェクトがページ800sからはみ出している場合には、オブジェクト間の距離の代表値を変更してページ800tのように、全てのオブジェクトがページ800tに収まるようにする。また、図17(c)に示すページ800uのようにオブジェクトがはみ出している場合にも、オブジェクト間の距離の代表値を変更してページ800vのように、全てのオブジェクトがページ800vに収まるようにする。
オブジェクト間の距離の代表値を変更する方法として、例えば次の方法がある。すなわち、対象となるページ内の全てのオブジェクトを垂直方向(上下方向)に並べたサイズ(高さ)をページの高さから引いた値(余白部分)を、はみ出した状態での各オブジェクト間の距離の大きさの比率によって案分するという方法等がある。
以上のように、本実施形態の距離調整ユーザインタフェイス1100では、「どの程度距離を統一するか」ということと、「近い距離同士をどの値に統一するか」ということとを同時に設定できるようにしている。
尚、本実施形態では、距離調整ユーザインタフェイス1100(ボタン1102)の操作に応じて、図12〜図17に示すようなページ800a〜800vの様子が、ディスプレイ装置144に逐次表示されるようにしている。
次に、図18〜図20のフローチャートを参照しながら、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置の処理の一例を説明する。尚、本実施形態では、レイアウト処理部、クラスタ分析処理部、及び再レイアウト処理部は、プロセッサユニット(CPU)135、メモリユニット136、CD−ROMドライブ142、及びHDD140等を用いることにより実現できる。また、図18〜図20のフローチャートで示す手順(プログラム)は、メモリユニット(RAM又はROM)136、及びHDD140の何れかに記憶されており、その手順がプロセッサユニット(CPU)135により実行される。
レイアウト処理部は、現在の編集対象となっている文書を参照し、その文書のページレイアウト上に配置されているオブジェクトの位置を調整する処理を行う。ユーザによる所定の操作をレイアウト処理部が検出すると、まず、図18のステップS1801に処理が移行するようになっている。
ステップS1801において、レイアウト処理部は、図6に示したようなオブジェクト間の距離の定義に基づいて、全てのオブジェクトブロック間の距離を抽出し、オブジェクトブロックにインデックスを付ける処理を行う。ここでのオブジェクトブロックは、図5に示したフローチャートによって、オブジェクトをある程度のまとまりにグループ化された状態を想定する。そのため、単に「オブジェクト」と記載された場合であっても、その記載を「オブジェクトブロック」とすることができる。一方、「オブジェクトブロック」と記載された場合であっても、その記載を単なる「オブジェクト」とすることができる。
以上のように本実施形態では、例えば、ステップS1801の処理を行うことにより、抽出手段の一例が実現される。
次に、ステップS1802において、レイアウト処理部は、ステップS1801で抽出した距離の情報を、リストLBにまとめる。
図21は、オブジェクトブロックと距離の情報をまとめるリストLBの構造の一例を示す図である。
図21において、リストLB内には、オブジェクトID2101と、オブジェクトID2101により識別されるオブジェクトの位置2102とが格納される。更に、リストLB内には、オブジェクトID2101により識別されるオブジェクトとそのオブジェクトに続くオブジェクトとの間の距離を識別する距離ID2103と、距離ID2103で識別される距離の大きさ2104とが格納される。これらの情報が繰り返し連なってリストLBに格納される。
図18の説明に戻り、ステップS1803において、レイアウト処理部が稼動するオペレーティングシステムは、図11に示した距離調整ユーザインタフェイス1100に対するユーザの入力操作があるまで待機する。そして、距離調整ユーザインタフェイス1100に対するユーザの入力操作があると、オペレーティングシステムは、レイアウト処理部に、ユーザの入力操作の内容を示す情報を渡す。
そして、ステップS1804において、レイアウト処理部は、距離調整ユーザインタフェイス1100の入力状態をオペレーティングシステムから取得する。
次に、ステップS1805において、レイアウト処理部は、距離調整ユーザインタフェイス1100の入力状態を示す情報と、ステップS1802で得られたリストLBの情報とをクラスタ分析処理部に渡す。そして、クラスタ分析処理部は、これらの情報に基づいて、クラスタ分析処理を実行する。このステップS1805の処理の詳細については、図19を参照しながら後述する。
そして、クラスタ分析処理が完了したら、ステップS1806において、レイアウト処理部は、次の処理を行う。すなわち、レイアウト処理部は、クラスタ分析処理の実行結果を、クラスタ分析処理部から取得し、取得した情報に基づいて、図21に示したリストLBにおける"オブジェクト間の距離の大きさ2104"の値を、最終代表値に変更する。
次に、ステップS1807において、再レイアウト処理部は、リストLBの情報と、クラスタ分析処理の実行結果の情報とをレイアウト処理部から受け取る。そして、受け取った情報に基づいて、オブジェクトブロックをページ上で再レイアウトする再レイアウト処理を実行する。このステップS1807の処理の詳細については、図19を参照しながら後述する。
図19は、図18のステップS1805におけるクラスタ分析処理の一例を詳細に説明するフローチャートである。
クラスタ分析処理は、現在のページレイアウトに基づくオブジェクトの位置を分析し、距離調整ユーザインタフェイス1100の状態によって、オブジェクト間の距離の値を調整する処理である。クラスタ分析処理の実行が、クラスタ分析処理部において開始されると、まず、図19のステップS1901に処理が移行するようになっている。
ステップS1901において、クラスタ分析処理部は、レイアウト処理部から渡されたリストLBの情報から、オブジェクト間の距離の要素(例えば距離ID2103、距離の大きさ2104)だけを取り出してリストLDに登録する。
次に、ステップS1902において、クラスタ分析処理部は、そのリストLDに基づいて、全ての距離の大きさの値をペアにし、各ペアでの距離の値の差を計算する。
次に、ステップ1903において、クラスタ分析処理部は、リストLDに、距離の値のペアが1ペア以上残っているか否かを判定する。
この判定の結果、リストLDに、距離の値のペアが1ペア以上残っていない場合には、後述するステップS1911に進む。一方、リストLDに、距離の値のペアが1ペア以上残っている場合には、ステップS1904に進む。ステップS1904に進むと、クラスタ分析処理部は、リストLDから、距離の差が最短である"距離の値のペア"を見つける。
次に、ステップS1905において、クラスタ分析処理部は、ステップS1904で見つけたペアの値をリストLDから削除する。
次に、ステップS1906において、クラスタ分析処理部は、ステップS1905でリストLDから削除した"2つの距離の値"を纏めて、クラスタを生成する。
以上のように本実施形態では、例えば、ステップS1906の処理を行うことにより纏め手段の一例が実現される。
次に、ステップS1907において、クラスタ分析処理部は、レイアウト処理部から渡された距離調整ユーザインタフェイス1100の入力状態のうち、ボタン1102の縦方向(垂直方向)の位置の状態を参照する。そして、クラスタ分析処理部は、ステップS1906で生成したクラスタを代表する距離の値(代表値)を計算・決定する。
次に、ステップS1908において、クラスタ分析処理部は、ステップS1906で生成したクラスタを、オブジェクトの間の新しい距離の要素としてリストLDに追加する(1908)。
次に、ステップS1909において、クラスタ分析処理部は、クラスタ化済みの距離のインデックスとクラスタの情報とをリストLRに保存する。
図22は、クラスタに関する情報を纏めるリストLRの構造の一例を示す図である。
図22において、クラスタ化されたオブジェクト間の距離を識別する距離ID2201〜2204等が、クラスタを識別する情報と関連付けられてリスト化される。そして、その距離ID2201〜2204に対応するクラスタを識別するクラスタID2203、2204等が、そのクラスタにおける代表値(統一値)と関連付けられてリスト化される。
図19の説明に戻り、ステップS1910において、クラスタ分析処理部は、レイアウト処理部から渡された距離調整ユーザインタフェイス1100の入力状態のうち、ボタン1102の横方向(水平方向)の位置の状態を参照する。そして、クラスタ分析処理部は、計算済みのクラスタの階層と、距離調整ユーザインタフェイス1100の入力状態とが一致するか否かを判定する。
この判定の結果、計算済みのクラスタの階層と、距離調整ユーザインタフェイス1100の入力状態とが一致しない場合には、前述したステップS1902に戻る。そして、クラスタが距離の要素として追加されたリストLDも対象に含めて、再度クラスタ化の処理を繰り返す。
一方、計算済みのクラスタの階層と、距離調整ユーザインタフェイス1100の入力状態とが一致する場合には、ステップS1911に進む。ステップS1911に進むと、クラスタ分析処理部は、例えば、クラスタ化済みの距離のインデックスと、それらの距離の値がどの値に統一されるかを示すリストLRの情報を、クラスタ分析処理の実行結果の情報としてレイアウト処理部に渡す。そして、前述した図18のステップS1806に進む。
以上のように本実施形態では、例えば、ステップS1907、S1909〜S1911の処理と、前述した図18のステップS1806の処理とを行うことにより、統一手段の一例が実現される。
図20は、図18のステップS1807における再レイアウト処理の一例を詳細に説明するフローチャートである。
再レイアウト処理は、クラスタ分析処理の結果得られたオブジェクト間の距離の統一結果に基づいて、実際にページレイアウト上のオブジェクト間の距離を調整する処理である。再レイアウト処理の実行が、再レイアウト処理部において開始されると、まず、図20のステップS2001に処理が移行するようになっている。また、ステップS2001に処理が移行する際には、再レイアウト処理部は、前述したリストLB、LRの情報をレイアウト処理部等から入力している。
ステップS2001において、再レイアウト処理部は、配置開始位置を記憶しておくための配置開始位置値SPを、ページ上端にリセットする。
次に、ステップS2002において、再レイアウト処理部は、未選択のオブジェクトのうち、先頭の項目の情報をリストLBから取得する。
次に、ステップS2003において、再レイアウト処理部は、ステップS2002で取得した項目が、ページ上の最初のオブジェクトか否かを判定する。この判定の結果、ステップS2002で取得したオブジェクトが、ページ上の最初のオブジェクトでなければ、後述するステップS2021に進む。
一方、ステップS2002で取得した項目が、ページ上の最初のオブジェクトであれば、ステップS2011に進む。ステップS2011に進むと、再レイアウト処理は、ステップS2002で取得したオブジェクトを規定の位置に配置する。
次に、ステップS2013において、再レイアウト処理は、配置開始位置SPを、ステップS2002で取得したオブジェクトの高さ分だけ、例えば下方に移動する。
次に、ステップS2014において、再レイアウト処理部は、移動した配置開始位置SPが、ページサイズを超えているか否かを判定する。この判定の結果、移動した配置開始位置SPが、ページサイズを超えている場合には、後述するステップS2024に進む。
一方、移動した配置開始位置SPが、ページサイズを超えていない場合には、ステップS2030に進む。ステップS2030に進むと、再レイアウト処理部は、リストLBの全てのオブジェクトについて処理したか否かを判定する。この判定の結果、リストLBの全てのオブジェクトについて処理していない場合には、前述したステップS2002に進み、リストLBに登録されている次の項目について処理を行う。
一方、リストLBの全てのオブジェクトについて処理している場合には、図18のステップS1803に進む。
ステップS2003において、ステップS2002で取得した項目が、ページ上の最初のオブジェクトでないと判定された場合には、ステップS2021に進む。ステップS2021に進むと、リストLBから取得した項目が、オブジェクト及び距離の何れであるかを判定する。この判定の結果、リストLBから取得した項目が距離である場合には、後述するステップS2022に進む。
一方、リストLBから取得した項目がオブジェクトである場合には、ステップS2012に進む。ステップS2012に進むと、再レイアウト処理部は、オブジェクト配置開始位置SPに、取得したオブジェクトを移動させる。そして、前述したステップS2013に進み、配置開始位置SPを、取得したオブジェクトの高さ分だけ移動する。
ステップS2021において、リストLBから取得した項目が距離であると判定されると、ステップS2022に進む。ステップS2022に進むと、再レイアウト処理部は、リストLBから取得した距離に対応する代表値を、レイアウト処理部から渡されたリストLRから取得する。すなわち、再レイアウト処理部は、リストLBから取得した距離の値が最終的にどの代表値に変更されたのかをリストLRから判断する(もちろん距離の値が変更されていない場合もある)。
次に、ステップS2023において、再レイアウト処理は、配置開始位置SPを、ステップS2022で取得した代表値の分だけ、例えば下方に移動する。そして、前述したステップS2014に進み、移動した配置開始位置SPが、ページサイズを超えているか否かを判定する。
以上のように本実施形態では、例えば、ステップS2023の処理を行うことにより、変更手段の一例が実現される。
ステップS2014において、移動した配置開始位置SPが、ページサイズを超えていると判定された場合には、ステップS2024に進む。ステップS2024に進むと、再レイアウト処理部は、ステップS2022にて取得された距離の代表値と同じ距離の項目を、ページをさかのぼって取得し、取得済みの全てのオブジェクトが1ページ内に収まるように代表値を縮小する。そして、前述したステップS2001から再度処理を行う。
以上のように本実施形態では、例えば、ステップS2024の処理を行うことにより、修正手段の一例が実現される。
以上のように本実施形態では、文書中の互いに隣り合うオブジェクトの間の距離を抽出する。次に、距離調整ユーザインタフェイス1100の水平方向(横方向)の位置に基づく値に基づいて、抽出した複数の距離を纏め、それら複数の距離を、距離調整ユーザインタフェイス1100の垂直方向(縦方向)の位置に基づく代表値に統一する。次に、文書中の互いに隣り合うオブジェクトの間の距離が代表値となるように、オブジェクトを再配置(再レイアウト)する。
したがって、1ページ内で不揃いなオブジェクト間の距離を、単純に全ての距離を均一にするのではなく、ユーザの意図を反映しながら、文書における距離の規則として統一することを、可及的に簡単な操作で、且つ可及的に正確に行うことができる。
よって、例えば、ドロー系アプリケーションにおけるオブジェクトの編集においては、大ざっぱにオブジェクトを配置し、後でオブジェクト間の距離を整えて整形するといった利用法を提供することができ、ページレイアウトの作業が従来よりも簡便になる。また、ページレイアウトを行う技能の低いユーザでも、文書内で統一されたオブジェクト間の距離の規則を容易に形成することができる。よって、文書全体の見栄えを容易に向上することができる。
また、PDF編集系等、既存の文書を変換するアプリケーションにおいては、複数の既存の文書をマージ(merge)した文書に対し、元々のレイアウトの規則を尊重しつつ、文書におけるオブジェクト間の距離の規則を、マージした文書内で統一できる。よって、文書全体の見栄えを向上することができる。
また、距離調整ユーザインタフェイス1100操作の結果を、ページレイアウト上に逐次反映しユーザに視認させることができる。このため、ユーザは、オブジェクトの間隔が狭い範囲から広い範囲まで、オブジェクトの間隔が段階的に統一されていく状態を逐次確認しながら、距離調整インタフェイスに対する入力操作を行うことができる。そのため、非熟練者であっても自分の求めるレイアウトを確認することが可能になる。
また、本実施形態では、互いに隣り合うオブジェクトの間の複数の距離を代表値に統一して再配置(再レイアウト)した結果、オブジェクトがページからはみ出す場合には、全てのオブジェクトがページ内に入るように代表値を修正するようにした。したがって、ページレイアウトに失敗してしまうことを、より確実に防止することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、1ページ内部のページレイアウトを調整する方法を例に挙げて説明したが、本実施形態では、ページレイアウトを文書全体にわたって変更する方法を例に挙げて説明する。本実施形態と第1の実施形態との違いは、リストLBの内容の一部と、再レイアウト処理の一部である。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図22に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
図23は、図18のステップS1807における再レイアウト処理の一例を詳細に説明するフローチャートである。図20に示した第1の実施形態の再レイアウト処理との処理の違いは、ステップS2301、S2311、S2321、S2322の部分のみであり、その他は図20に示したものと共通である。そのため、ここでは、図20との差異の部分のみに限って説明する。
本実施形態の目的は、ページ境界を越えてオブジェクトブロックを再配置することである。図24は、ページ境界を越えてオブジェクトブロックを再配置する様子の一例を概念的に示す図である。
図24では、ページ2401とページ2402とが存在し、オブジェクトブロック2403をページ2402からページ2401に移動して再配置する様子を示している。ページ2401のオブジェクト間の距離を調整することによってオブジェクトブロック間の距離が詰まり、ページ下部に余白2404が生じた場合には、ページ2402からオブジェクトブロック2403を取り除き、ページ2402を不要なページにできる。このようにすれば、不要なページを文書から削除することができ、印刷ページ数を削減することを目的とした「節約印刷」にとっては有効な手法になる。
前述したように再レイアウト処理は、クラスタ分析処理の結果得られたオブジェクト間の距離の統一結果に基づいて、実際にページレイアウト上のオブジェクト間の距離を調整する処理である。再レイアウト処理の実行が、再レイアウト処理部において開始されると、まず、図23のステップS2001に処理が移行するようになっている。また、ステップS2001に処理が移行する際には、再レイアウト処理部は、前述したリストLB、LRの情報をレイアウト処理部等から入力している。だたし、本実施形態のリストLBでは、再レイアウトの対象となる文書の全ページのオブジェクトの情報をリスト化している。
図25は、文書の全ページについて、オブジェクトブロックと距離の情報をまとめるリストLBの構造の一例を示す図である。
図25において、オブジェクトID2101や位置2102、距離ID2103や距離の大きさ2104がリストLBに含まれる点は、図21に示したリストLBと同様である。しかし、実施形態のリストLBでは、ページ毎のオブジェクトを区切る情報として、ページID2501とそのページのページサイズ2502とがリストLBに挿入されており、この点が図21に示したリストLBと異なる。図25では、リストLBにおける各データ要素が、実際のページ上のオブジェクトとどう対応するかを矢印で示している。尚、ここでは、文書中の全ページを繋いだ一続きの長い領域を仮想的に考え、そのうえで再レイアウト処理を実行することを想定している。
以下、図25に示すページ境界情報(ページID2501、ページサイズ2502)を利用した場合を例に挙げて、再レイアウト処理を行う方法の一例を説明する。
図23のステップS2003において、ステップS2002で取得した項目が、ページ上の最初のオブジェクトでないと判定された場合には、ステップS2301に進む。そして、再レイアウト処理部は、リストLBから取得した項目が、オブジェクト、距離、及びページ境界の何れであるかを判定する。
この判定の結果、リストLBから取得した項目がページ境界であった場合には、ステップS2321に進む。ステップS2321に進むと、再レイアウト処理部は、そのページ境界の次に出現するオブジェクトの情報をリストLBから取得する。
次に、ステップS2322において、再レイアウト処理部は次の処理を行う。すなわち、再レイアウト処理部は、ステップS2321で取得したオブジェクトの位置と、ページレイアウト(再レイアウト)を行っている最中のページに含まれるオブジェクトの情報とに基づいて、そのページにおいて空けるべき距離を計算する。
このステップS2322における処理の一例を、図24を用いて説明する。
図24に示すように、例えばページ2401の下部の余白に、次ページのオブジェクトブロック2403が再配置される場合、オブジェクトブロック2403とオブジェクトブロック2405との間の距離を決定する必要がある。オブジェクトブロック2403とオブジェクトブロック2405は、元々は属するページが違っている。したがって、元々は隣り合う関係になかったオブジェクトブロック間の余白をどう取るかが問題となる。
そこで、本実施形態では、例えば、ページ2401を調べると、オブジェクトブロック2406の左端の位置と、オブジェクトブロック2403の左端の位置とが近いので、これらのオブジェクトブロック2403、2406は類似する関係にあるとみなす。そして、再レイアウト処理部は、オブジェクトブロック2406とその上のオブジェクトブロックとの距離2を参照し、その距離2を、オブジェクトブロック2403とオブジェクトブロック2405との間の距離に設定する。これがステップS2322で行われる処理の一例である。尚、ここでは、オブジェクトブロックの左端の位置にのみ注目しているが、必ずしもこのようにする必要はない。例えば、オブジェクトブロックの左端の位置に加え、又は代えて、オブジェクトブロックのその他の要素の類似度(右端位置、横幅、縦長さ、図像密度等)を利用してもよい。このようにしても、前述したのと同様に、例えばページ2401の下部の余白に、次ページのオブジェクトブロック2403を再配置することができる。
以上のように本実施形態では、例えば、ステップS2322の処理を行うことにより、決定手段の一例が実現される。
図23の説明に戻り、この距離が決まったら、ステップS2023において、再レイアウト処理部は、配置開始位置SPを、ステップS2322で得られた距離に基づいて、例えば下方に移動する。
以上のように本実施形態では、例えば、ステップS2322の処理を行うことにより、変更手段に加えて第2の変更手段の一例も実現される。
また、ステップS2014において、移動した配置開始位置SPが、ページサイズを超えていると判定された場合には、ステップS2311に進む。ステップS2311に進むと、再レイアウト処理部は、配置開始位置値SPの値を次ページの上端にリセットする。そしてステップS2012に進み、オブジェクト配置開始位置SPに、取得したオブジェクトを移動させる。
以上のようにすることによって、リストLBが、文書の全ページのオブジェクトと距離の情報を保持していても、第1の実施形態と同様に、ページレイアウトを行うことができる。このように本実施形態では、前述した第1の実施形態における効果に加えて、ページの境界を跨いで、ページ間でオブジェクトを再配置することができ、文書のページ領域を効率的に利用することを促進できる。更に、配置するページを変更するオブジェクトブロック2403と、オブジェクトブロック2403の移動先となるページ2401のオブジェクトブロックの属性(類似度等)に基づいて、オブジェクトブロック2403、2405の距離を決定した。このようにしてページの境界を跨ぐオブジェクト間の距離として最適な距離を求めることで、違和感の少ないレイアウト結果を得ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1及び第2の実施形態では、何れも専用のアプリケーションソフトウェアで各処理を行う場合を例に挙げて説明した。これに対し、本実施形態では、プリンタドライバで各処理を行う場合を例に挙げて説明する。このように本実施形態と前述した第1、第2の実施形態との違いは、処理を行う主体が異なる。したがって、本実施形態の説明において、前述した第1、第2の実施形態と同一の部分については、図1〜図25に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
本実施形態のシステムも、第1、第2の実施形態と同様に、ホストコンピュータとなるコンピュータモジュール101と、これに接続されたローカルプリンタ145とを備える(図1を参照)。コンピュータモジュール101は、ローカルプリンタ145に対する描画命令を含んだ印刷ジョブデータを生成するためのプリンタドライバを有する。
図26は、コンピュータモジュール101とローカルプリンタ145の機能的な構成の一例を示す図である。
コンピュータモジュール101においてオペレーティングシステム(OS)2602が稼動し、OS2602上でアプリケーション2601とプリンタドライバ2604とが動作する。アプリケーション2601及びプリンタドライバ2604は、OS2602内部のAPI(Application Program Interface)システム2603を利用・経由しながら互いに協調して印刷処理を行う。APIシステム2603には、GDI(Graphic Device Interface)等が含まれる。
OS2602及びAPIシステム2603を介してプリンタドライバ2604で生成された印刷ジョブデータは、ローカルプリンタ145のコントローラ2611に送られる。コントローラ2611は、印刷ジョブデータに含まれる描画命令に基づくデータを印刷バッファ2612に展開する。印刷エンジン2613は、印刷バッファ2612に展開されたデータを使って描画処理を行う。
ここでプリンタドライバ2604は、少なくとも描画命令の中に、個々のオブジェクトを識別できる情報と、その個々のオブジェクトのページ上の位置を決定するための座標等の位置情報を含めるものとする。このようにすることによって、前述した第1、第2の実施形態で説明したレイアウト処理部等の動作を、プリンタドライバ2604においても同様に作動することができる。
以上のような前提のもとで、図18〜図20に示したフローチャートの処理をプリンタドライバ2604にて実現し、CPU135において実行することで、本実施形態においても、前述した第1、第2の実施形態と同様の効果が得られる。
図27は、距離調整ユーザインタフェイスの一例を示す図である。図27に示す距離調整ユーザインタフェイスは、プリンタドライバ2604において、図11に示した距離調整ユーザインタフェイス1100と同等の設定を行うためのものである。
UI処理部は、オブジェクト間の距離を自動的に調整するかどうかのユーザによる選択操作を、画面2701内のボタンコントロール2704の操作によって受け取ることができる。プリンタドライバ2604は、図11に示した距離調整ユーザインタフェイス1100と同様の操作を提供する"領域2705とボタン2706"のユーザによる操作内容に基づいて、オブジェクト間の距離を自動調整する場合の設定値を入力することができる。図27に示す例では、ボタン2702がユーザによって押下されることによって、設定値がプリンタドライバ2604に伝えられ保存される。尚、図27に示すボタン2703がユーザによって押下されると、画面2701内の設定はキャンセルされる。
ここでは、プリンタドライバ2604に、オブジェクト間の距離の自動調整の設定を、前もって行う場合を例に挙げて示した。通常、印刷においては、ユーザの調整入力は一回のみで一回の印刷ジョブとして出力することができる。そのため、ここでは、第1、第2の実施形態のように、画面で距離の調整の状態を見ながらコントロールすることを考慮していない。しかしながら、例えば、印刷内容のプレビュー機能を持つプリンタドライバであれば、第1、第2の実施形態と同様に、オブジェクトの間隔が調整される様子を逐次表示し、ユーザに確認させながら調整を行わせるようにすることもできる。
以上のように本実施形態では、例えば、図27に示す画面2701を用いることにより、操作手段の一例が実現される。
図28は、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置内のプリンタドライバ2604の処理の一例を説明するフローチャートである。
プリンタドライバ2604は、現在の印刷対象となっている文書を参照し、その文書のページレイアウト上に配置されているオブジェクトの位置を調整する処理を行う。ユーザによる所定の操作をプリンタドライバ2604が検出すると、まず、ステップS3101に処理が移行するようになっている。
ステップS3101において、プリンタドライバ2604は、全てのオブジェクトブロック間の距離を抽出し、オブジェクトブロックにインデックスを付ける処理を行う。
以上のように本実施形態では、例えば、ステップS3101の処理を行うことにより、抽出手段の一例が実現される。
次に、ステップS3102において、プリンタドライバ2604は、ステップS3101で抽出した情報を、リストLBに纏める。ここで利用されるリストLBのデータ構造は、第1又は第2の実施形態で使われたものと同等となる。
次に、ステップS3103において、プリンタドライバ2604は、図27に示した距離調整ユーザインタフェイスに対するユーザの入力操作の内容を取得し、オブジェクト間の距離の自動調整を行うことが設定されているか否かを判定する。この判定の結果、オブジェクト間の距離の自動調整を行うことが設定されていない場合には、ステップS3110に進み、プリンタドライバ2604は、通常の印刷処理を行い、図28のフローチャートによる処理を終了する。
一方、オブジェクト間の距離の自動調整を行うことが設定されている場合には、ステップS3121に進む。ステップS3121に進むと、プリンタドライバ2604は、距離調整ユーザインタフェイスの入力状態を示す情報と、ステップS3102で得られたリストLBの情報とに基づいて、クラスタ分析処理を実行する。このステップS3121の処理は、図19に示した処理と同一であるので、ここでは、その説明を省略する。以上のように本実施形態では、例えば、図19のステップS1906の処理を行うことにより、纏め手段の一例が実現される。
そして、クラスタ分析処理が完了したら、ステップS3122において、プリンタドライバ2604は、クラスタ分析処理の実行結果に基づいて、オブジェクト間の距離の大きさを変更する。
以上のように本実施形態では、例えば、図19のステップS1907、S1909〜S1911の処理と、ステップS3122の処理とを行うことにより、統一手段の一例が実現される。
次に、ステップS3123において、プリンタドライバ2604は、リストLBの情報と、クラスタ分析処理の実行結果の情報とに基づいて、オブジェクトブロックをページ上で再レイアウトする再レイアウト処理を実行する。このステップS3123の処理は、図20に示した処理と同一であるので、ここでは、その説明を省略する。
以上のように本実施形態では、例えば、図20のステップS2023の処理を行うことにより、変更手段、第2の変更手段の一例が実現され、図20のステップS2024の処理を行うことにより、修正手段の一例が実現される。また、例えば、図23のステップS2322の処理を行うことにより、決定手段の一例が実現される。
以上のように本実施形態では、第1、第2のプリンタドライバ2604にレイアウト調整の仕組みを組み込むようにした。したがって、特別なアプリケーションソフトウェアを用意したり、そのアプリケーションソフトウェア用に文書データを変換したりすることなく、印刷操作を行うことができる。よって、第1、第2の実施形態で説明したレイアウトの自動調整を行うという効果に加えて、より汎用的な機構を提供することができるという効果が得られる。
尚、本実施形態では、図28の全ての処理をプリンタドライバ2604が行うようにしたが、必ずしもこのようにする必要はない。例えば、ステップS3121の処理については、第1、第2の実施形態で説明したクラスタ分析処理部が実行し、ステップS3123の処理については、第1、第2の実施形態で説明した再レイアウト処理部が実行するようにしてもよい。
(第4の実施形態)
次に、本発明の第4の実施形態を説明する。前述した第1〜第3の実施形態では、文書レイアウト編集装置を、パーソナルコンピュータ等のホストコンピュータに適用した場合を例に挙げて説明した。これに対し、本実施形態では、プリンタ・複写機・FAX等の機能を複合的に有するMFP等の画像形成装置に文書レイアウト編集装置を適用した場合を例に挙げて説明する。このように本実施形態と、第1〜第3の実施形態とは、文書レイアウト編集装置を適用する対象が異なる。したがって、本実施形態の説明において、第1〜第3の実施形態と同一の部分については、図1〜図28に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
図29は、画像形成装置を有する印刷システムの構成の一例を示す図である。
図29に示す印刷システムでは、ホストコンピュータ40及び3台の画像形成装置10、20、30がLAN50に接続されている。ただし、印刷システムにおけるホストコンピュータ及び画像形成装置の接続数は、これに限定されることはない。また、ホストコンピュータ及び画像形成装置の接続方法もLANに限られることはない。例えば、WAN(公衆回線)等の任意のネットワーク、USB等のシリアル伝送方式、セントロニクスやSCSI等のパラレル伝送方式等を採用することも可能である。
画像形成装置10、20は同じ構成を有する装置である。画像形成装置30はプリント機能のみの画像形成装置であり、画像形成装置10、20が有するスキャナ部を有していない。そこで、以下では、説明を簡単にするために、画像形成装置10、20、30のうち画像形成装置10の構成を詳細に説明する。
画像形成装置10は、画像入力デバイスであるスキャナ部13と、画像出力デバイスであるプリンタ部14と、画像形成装置10全体の動作制御を司るコントローラユニット11と、ユーザインターフェース(UI)である操作部12とを有している。
図30は、画像形成装置10の外観構成の一例を示す図である。
スキャナ部13は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換し、画像データとしてコントローラユニット11に対して出力する。
原稿は原稿フィーダ2901のトレイ2902にセットされる。ユーザが操作部12から読み取り開始を指示すると、コントローラユニット11からスキャナ部13に原稿読み取り指示が与えられる。スキャナ部13は、この原稿読み取り指示を受けると、原稿フィーダ2901のトレイ2902から原稿を1枚ずつフィードして、原稿の読み取り動作を行う。
プリンタ部14は、コントローラユニット11から受け取った画像データを用紙上に形成する画像形成デバイスである。プリンタ部14には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット2903、2904、2905が設けられている。排紙トレイ2906には印字後の用紙が排出される。
図31は、画像形成装置10の機能構成の一例を示す図である。特にここでは、画像形成装置10にて行われるコピー処理において、オブジェクト間の距離を調整して再レイアウトを行う場合を例に挙げて説明する。
スキャン部3002は、原稿フィーダ2901から入力された画像3001をスキャンして画像化する。その後、像域分離部3003は、スキャンされた画像を公知の技術によって像域分離し、複数のブロックに分割する。符号部3004は、複数のブロックを、位置等のデータに変換する。再レイアウト部3005は、位置等のデータに基づいてオブジェクト間の距離を調整して再レイアウトする。そして、印刷部3006は、再レイアウト済みの情報を印刷する。こうして出力画像3007がプリンタ部14から出力される。
図32は、画像形成装置10のコントローラユニット11の構成の一例をより詳細に示す図である。
図32において、コントローラユニット11は、スキャナ部13やプリンタ部14と電気的に接続されている。また、図29に示したように、コントローラユニット11は、LAN50を介して、ホストコンピュータ40や外部の装置等と相互に接続されている。このようにすることによって、画像形成装置10は、画像データやデバイス情報の入出力を行うことが可能となっている。
CPU3202は、ROM3206に記憶された制御プログラム等に基づいて、システムバス3200を介してCPU3202と相互に接続されている各種デバイスとのアクセスを統括的に制御する。また、CPU3202は、コントローラユニット11の内部で行われる各種処理についても統括的に制御する。ROM3206には、画像形成装置10のブートプログラム等が格納されている。HDD3207はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
操作部I/F3204は、システムバス3200と操作部12とを相互に接続するためのインタフェイス部である。操作部12は、図27に示した画面2701を表示する。ユーザは、操作部12に表示される画面2701に対する操作を行うことによって、画像形成装置10でのレイアウト調整(オブジェクト間の距離の調整)の設定を行うことができる。
ネットワークI/F3205は、LAN50及びシステムバス3200に接続し、情報の入出力を行う。
スキャナ画像処理部3214は、スキャナ部13からスキャナI/F3215を介して受け取った画像データに対して、補正、加工、及び編集を行う。尚、スキャナ画像処理部3214は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿か等を判定する。そして、スキャナ画像処理部3214は、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。
プリンタ画像処理部3217は、外部から送られた画像データを受け取り、受け取った画像データに対して画像処理を施す。画像処理を施した後の画像データは、プリンタI/F3218を介してプリンタ部14に出力される。
像域分離部3003は、スキャナ部13が受け取った画像を像域分離する。符号化部3211は、像域分離されたデータを、再レイアウト部3005が処理できるデータ形式に変換する。
再レイアウト部3005は、図28に示したフローチャートによる処理を実行し、像域分離された画像データを再レイアウトすることによって、画像形成装置10上で、レイアウト調整(オブジェクト間の距離の調整)を実施する。図28に示したフローチャートによる処理は、第3の実施形態と同じであるので、その詳細な説明を省略する。
このように本実施形態では、再レイアウト部3005によって、抽出手段、変更手段、修正手段、第2の変更手段、決定手段の一例が実現される。また、図11、図27に示したような距離調整インタフェイスを操作部12に表示してユーザによる操作を受け付けることにより、操作手段の一例が実現される。
以上のように本実施形態では、画像形成装置にレイアウト調整の仕組みを組み込むようにした。したがって、第1、第2の実施形態で説明したレイアウトの自動調整を行うという効果に加えて、複写を行った文書に対しても、第1、第2の実施形態で説明したようなレイアウト調整を行うことが可能となるという効果が得られる。したがって、電子データの存在しない紙文書についても、見栄えの整ったレイアウト結果を得ることが可能となる。
(本発明の他の実施形態)
前述した本発明の実施形態における文書レイアウト編集装置を構成する各手段、並びに文書レイアウト編集方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図18〜図20、図23、図28に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、ページレイアウトを実行する文書レイアウト編集装置を有するシステムの構成の一例を示す図である。 本発明の第1の実施形態を示し、オブジェクトリストの一例を示す図である。 本発明の第1の実施形態を示し、オブジェクトリストに格納されるオブジェクトの情報と、実際のオブジェクトとの関係の一例を示す図である。 本発明の第1の実施形態を示し、PDFフォーマットの文書から、図3に示したような長方形オブジェクトが読み出され、そのオブジェクトの情報が取り出されることの一例を概念的に示す図である。 本発明の第1の実施形態を示し、オブジェクトをブロック化する際の文書レイアウト編集装置のレイアウト処理部の処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、2つのオブジェクトの間の垂直方向の距離の一例を説明する図である。 本発明の第1の実施形態を示し、文書と、その文書のオブジェクトを図5のフローチャートによってブロック化した結果の一例を示す図である。 本発明の第1の実施形態を示し、レイアウトの変更対象となる文書のページレイアウトの一例を示す図である。 本発明の第1の実施形態を示し、図8に示したオブジェクト間の垂直方向の距離のインデックスと、実際のオブジェクト間の垂直方向の距離との対応の一例を表形式で示す図である。 本発明の第1の実施形態を示し、図8に示したページレイアウト上のオブジェクト間の距離から生成されたデンドログラムの一例を示す図である。 本発明の第1の実施形態を示し、レイアウトを変更するための距離調整ユーザインタフェイス(GUI)の一例を示す図である。 本発明の第1の実施形態を示し、距離調整ユーザインタフェイスの横方向の操作によって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第1の例を示す図である。 本発明の第1の実施形態を示し、距離調整ユーザインタフェイスの横方向の操作によって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第2の例を示す図である。 本発明の第1の実施形態を示し、距離調整ユーザインタフェイスの上下方向の中央付近への操作と横方向の操作とによって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第1の例を示す図である。 本発明の第1の実施形態を示し、距離調整ユーザインタフェイスの上下方向の中央付近への操作と横方向の操作とによって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第2の例を示す図である。 本発明の第1の実施形態を示し、距離調整ユーザインタフェイスの上下方向の下部への操作と横方向の操作とによって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第1の例を示す図である。 本発明の第1の実施形態を示し、距離調整ユーザインタフェイスの上下方向の下部への操作と横方向の操作とによって、図8に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第2の例を示す図である。 本発明の第1の実施形態を示し、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置の処理の一例を説明するメインフローチャートである。 本発明の第1の実施形態を示し、図18のステップS1805におけるクラスタ分析処理の一例を詳細に説明するフローチャートである。 本発明の第1の実施形態を示し、図18のステップS1807における再レイアウト処理の一例を詳細に説明するフローチャートである。 本発明の第1の実施形態を示し、オブジェクトブロックと距離の情報をまとめるリストLBの構造の一例を示す図である。 本発明の第1の実施形態を示し、クラスタに関する情報をまとめるリストの構造の一例を示す図である。 本発明の第2の実施形態を示し、図18のステップS1807における再レイアウト処理の一例を詳細に説明するフローチャートである。 本発明の第2の実施形態を示し、ページ境界を越えてオブジェクトブロックを再配置する様子の一例を概念的に示す図である。 本発明の第2の実施形態を示し、文書の全ページについて、オブジェクトブロックと距離の情報をまとめるリストの構造の一例を示す図である。 本発明の第3の実施形態を示し、コンピュータモジュールとローカルプリンタの機能的な構成の一例を示す図である。 本発明の第3の実施形態を示し、距離調整ユーザインタフェイスの一例を示す図である。 本発明の第3の実施形態を示し、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置内のプリンタドライバの処理の一例を説明するフローチャートである。 本発明の第4の実施形態を示し、画像形成装置を有する印刷システムの構成の一例を示す図である。 本発明の第4の実施形態を示し、画像形成装置の外観構成の一例を示す図である。 本発明の第4の実施形態を示し、画像形成装置の機能構成の一例を示す図である。 本発明の第4の実施形態を示し、画像形成装置のコントローラユニット11の構成の一例をより詳細に示す図である。
符号の説明
101 コンピュータモジュール
1100 距離調整ユーザインタフェイス
1101 ユーザインタフェイス領域
1102 ボタン
1103 マウスポインタ

Claims (6)

  1. 文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出手段と、
    前記抽出手段により抽出された複数の距離の値の差に基づいて、当該複数の距離を1つ又は複数のグループに纏める纏め手段と、
    前記纏め手段により纏められた距離を代表値に統一する統一手段と、
    前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更手段とを有することを特徴とする文書レイアウト編集装置。
  2. 前記文書における互いに隣り合うオブジェクトの間の距離を調整する操作をユーザに行わせるための操作手段を有し、
    前記統一手段は、前記纏め手段により得られたグループのうち、前記操作手段の操作の結果に対応するグループを選択し、選択したグループに属する距離を、前記操作手段の操作の結果に基づく代表値に統一することを特徴とする請求項1に記載の文書レイアウト編集装置。
  3. 前記変更手段によりオブジェクトの配置が変更された結果、前記オブジェクトが、当該オブジェクトが配置されていたページからはみ出すと判定された場合、当該ページに配置されていたオブジェクトが、当該ページに収まるように、前記代表値を修正する修正手段を有することを特徴とする請求項1又は2に記載の文書レイアウト編集装置。
  4. 前記文書におけるオブジェクトを、当該オブジェクトが配置されていたページと異なるページに配置するに際し、配置するページを変更するオブジェクトの属性と、当該オブジェクトの移動先となるページのオブジェクトとの属性とに基づいて、前記配置するページを変更するオブジェクトと、当該オブジェクトの移動先となるページで当該オブジェクトと互いに隣り合うことになるオブジェクトとの間の距離を決定する決定手段と、
    前記決定手段により決定された距離に基づいて、前記配置するページを変更するオブジェクトの配置を変更する第2の変更手段とを有することを特徴とする請求項1〜3の何れか1項に記載の文書レイアウト編集装置。
  5. 文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出ステップと、
    前記抽出ステップにより抽出された複数の距離の値の差に基づいて、当該複数の距離を1つ又は複数のグループに纏める纏めステップと、
    前記纏め手段により纏められた距離を代表値に統一する統一ステップと、
    前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更ステップとを有することを特徴とする文書レイアウト編集方法。
  6. 文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出ステップと、
    前記抽出ステップにより抽出された複数の距離の値の差に基づいて、当該複数の距離を1つ又は複数のグループに纏める纏めステップと、
    前記纏め手段により纏められた距離を代表値に統一する統一ステップと、
    前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2008182046A 2008-07-11 2008-07-11 文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム Expired - Fee Related JP5043769B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008182046A JP5043769B2 (ja) 2008-07-11 2008-07-11 文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム
US12/500,494 US20100011287A1 (en) 2008-07-11 2009-07-09 Apparatus and method for editing document layout and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008182046A JP5043769B2 (ja) 2008-07-11 2008-07-11 文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2010020646A JP2010020646A (ja) 2010-01-28
JP5043769B2 true JP5043769B2 (ja) 2012-10-10

Family

ID=41506205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008182046A Expired - Fee Related JP5043769B2 (ja) 2008-07-11 2008-07-11 文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US20100011287A1 (ja)
JP (1) JP5043769B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110078194A1 (en) * 2009-09-28 2011-03-31 Oracle International Corporation Sequential information retrieval
US10013641B2 (en) * 2009-09-28 2018-07-03 Oracle International Corporation Interactive dendrogram controls
US10552710B2 (en) * 2009-09-28 2020-02-04 Oracle International Corporation Hierarchical sequential clustering
WO2013133806A1 (en) 2012-03-06 2013-09-12 Hewlett-Packard Development Company, L.P. Probabilistic content layout model flowing multiple compositions over multiple pages via multiple breakpoints
CN103064920B (zh) * 2012-12-20 2014-03-05 优视科技有限公司 移动终端中的页面字体大小缩放方法及装置
US10521161B2 (en) * 2017-09-29 2019-12-31 Ricoh Company, Ltd. Information processing device, communication system, and recording medium storing instructions
US11176310B2 (en) * 2019-04-01 2021-11-16 Adobe Inc. Facilitating dynamic document layout by determining reading order using document content stream cues
US20230306185A1 (en) * 2020-10-23 2023-09-28 Gary Bloom Text editor for literary works with rhyme or rhythm

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108793A (ja) * 1991-10-18 1993-04-30 Ricoh Co Ltd 文書編集装置
US5642473A (en) * 1994-10-17 1997-06-24 Xerox Corporation Paper saving reprographic device
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
JP4082351B2 (ja) * 2003-03-12 2008-04-30 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
US20050080645A1 (en) * 2003-07-08 2005-04-14 Counts Mary C. Systems and methods for providing information for collectibles
US7092552B2 (en) * 2003-07-30 2006-08-15 Xerox Corporation System and method for measuring and quantizing document quality
JP4110105B2 (ja) * 2004-01-30 2008-07-02 キヤノン株式会社 文書処理装置及び文書処理方法及び文書処理プログラム
JP4095592B2 (ja) * 2004-08-06 2008-06-04 キヤノン株式会社 情報処理装置、情報処理方法ならびにプログラム
US7552386B2 (en) * 2005-06-10 2009-06-23 Microsoft Corporation Methods and systems for treating overflow conditions and for re-sizing printable content
GB2431758A (en) * 2005-10-27 2007-05-02 Hewlett Packard Development Co Grouping of information items on a page
JP4912139B2 (ja) * 2006-12-22 2012-04-11 キヤノン株式会社 情報処理装置

Also Published As

Publication number Publication date
JP2010020646A (ja) 2010-01-28
US20100011287A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
JP5043769B2 (ja) 文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラム
JP3962721B2 (ja) 文書処理装置及び文書処理方法
EP1696337A2 (en) Document processing apparatus, document processing method and computer program
US7882432B2 (en) Information processing apparatus having font-information embedding function, information processing method therefor, and program and storage medium used therewith
JP4817556B2 (ja) 情報処理装置、情報処理装置における文書処理方法およびプログラム
US20160062707A1 (en) Information processing apparatus, and print control method
US8244035B2 (en) Image processing apparatus and control method thereof
JP4095512B2 (ja) 文書変換方法及び装置
US7864199B2 (en) Image processing apparatus and control method thereof
US20070127055A1 (en) Information processing apparatus and information processing method
US20090204888A1 (en) Document processing apparatus, document processing method, and storage medium
JP5161647B2 (ja) 文書処理装置、文書処理方法、プログラム及び記憶媒体
JP4785655B2 (ja) 文書処理装置及び文書処理方法
JP2004192248A (ja) 文書処理装置及び方法
US8788936B2 (en) Information processing apparatus and method
JP2007049388A (ja) 画像処理装置及びその制御方法、プログラム
JP5393104B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
JP2004206170A (ja) 文書処理方法および装置
US20190138581A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable medium
JP4673200B2 (ja) 印刷処理システムおよび印刷処理方法
JP2006293598A (ja) 文書処理システム
JP2009110391A (ja) 情報処理装置および制御方法および制御プログラム
JP2010157099A (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP2009140441A (ja) 画像処理装置及び検索方法
JP4549379B2 (ja) 文書処理装置及び文書処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120712

R151 Written notification of patent or utility model registration

Ref document number: 5043769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees