JP2012137838A - 情報処理装置、レイアウト生成方法、およびプログラム - Google Patents

情報処理装置、レイアウト生成方法、およびプログラム Download PDF

Info

Publication number
JP2012137838A
JP2012137838A JP2010288157A JP2010288157A JP2012137838A JP 2012137838 A JP2012137838 A JP 2012137838A JP 2010288157 A JP2010288157 A JP 2010288157A JP 2010288157 A JP2010288157 A JP 2010288157A JP 2012137838 A JP2012137838 A JP 2012137838A
Authority
JP
Japan
Prior art keywords
layout
output
unit
information
web page
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
Application number
JP2010288157A
Other languages
English (en)
Inventor
Yuka Kihara
酉華 木原
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010288157A priority Critical patent/JP2012137838A/ja
Priority to US13/327,204 priority patent/US20120166934A1/en
Priority to CN201110439886.6A priority patent/CN102609227B/zh
Publication of JP2012137838A publication Critical patent/JP2012137838A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】Webページからユーザにより指定されたコンテンツだけをレイアウトすることができる情報処理装置、印刷方法およびプログラムを提供する。
【解決手段】Webページ情報をビットマップデータに変換する変換部102と、Webページ情報が表示された表示部105に、ビットマップデータのイメージ画像を、Webページ情報と切り換えて表示する表示制御部106と、表示されたイメージ画像から出力領域の指定の入力を受け付ける受付部103と、ビットマップデータから、出力領域に対応する対応領域を抽出する抽出部107と、抽出された対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成部104と、を備えた。
【選択図】図1

Description

本発明は、情報処理装置、レイアウト生成方法、およびプログラムに関する。
従来、HTML(Hyper Text Markup Language)言語等で記述され、表示画面に表示されるWebページ上のデータの一部を印刷する場合、バナー広告等のユーザにとって不要なデータを除いたり、必要な領域だけを指定したりして印刷することは困難である。
このような課題を解決する目的で、ユーザから指定された任意の領域の画像を出力する印刷装置が提案されている(例えば、特許文献1参照。)。特許文献1では、Webページをビットマップに変換し、ビットマップをWebページから切り替えてブラウザ画面上に表示し、表示した画面上でユーザから指定された領域を印刷データとして出力する方法が開示されている。
しかしながら、特許文献1に開示されている印刷装置では、Webページ上の不要な部分を除去して印刷することを主目的とするものであり、Webページ上の必要な画像だけを集めて効率的にレイアウトすることまでは考慮されていない。一方、所望のコンテンツを含むWebページを印刷して利用するケースは多く、環境への負荷軽減や、紙コスト削減のためには無駄なコンテンツを省くだけでは十分でなく、必要なコンテンツをなるべく少ない枚数で印刷することが要求される。
本発明は、上記に鑑みてなされたものであって、Webページからユーザにより指定されたコンテンツだけをレイアウトすることができる情報処理装置、レイアウト生成方法、およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、取得されたWebページ情報をビットマップデータに変換する変換部と、前記Webページ情報が表示された表示部に、変換された前記ビットマップデータのイメージ画像を、前記Webページ情報と切り換えて表示する表示制御部と、表示された前記イメージ画像から出力対象となる出力領域の指定の入力を受け付ける受付部と、前記ビットマップデータから、受け付けられた前記出力領域に対応する対応領域を抽出する抽出部と、抽出された前記対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成部と、を備えたことを特徴とする。
また、本発明にかかる印刷方法は、取得されたWebページ情報をビットマップデータに変換する変換ステップと、前記Webページ情報が表示された表示部に、変換された前記ビットマップデータのイメージ画像を、前記Webページ情報と切り換えて表示する表示制御ステップと、表示された前記イメージ画像から出力対象となる出力領域の指定の入力を受け付ける受付ステップと、前記ビットマップデータから、受け付けられた前記出力領域に対応する対応領域を抽出する抽出ステップと、抽出された前記対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成ステップと、を含むことを特徴とする。
また、本発明にかかる印刷プログラムは、コンピュータを、取得されたWebページ情報をビットマップデータに変換する変換ステップと、前記Webページ情報が表示された表示部に、変換された前記ビットマップデータのイメージ画像を、前記Webページ情報と切り換えて表示する表示制御ステップと、表示された前記イメージ画像から出力対象となる出力領域の指定の入力を受け付ける受付ステップと、前記ビットマップデータから、受け付けられた前記出力領域に対応する対応領域を抽出する抽出ステップと、抽出された前記対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成ステップ、として機能させることを特徴とする。
本発明によれば、Webページから所望のコンテンツだけをまとめたドキュメントを容易に作成できるという効果を奏する。
図1は、本実施の形態にかかるWebページ印刷支援システムの構成を示すブロック図である。 図2は、情報処理装置による対応領域抽出処理の手順を示すフローチャートである。 図3は、情報処理装置による印刷データの生成処理の手順を示すフローチャートである。 図4は、レイアウト生成部によるレイアウトの手順の詳細を示すフローチャートである。 図5は、矩形のコンテンツの一例を示す図である。 図6は、FFDHによるコンテンツの一例の配置方法を概略的に示すフローチャートである。 図7は、FFDHにより生成した最密充填レイアウトの一例を示す図である。 図8は、配置領域における行を示す図である。 図9−1は、ブロックが異なる出力ページに配置される例を示す図である。 図9−2は、ブロックが異なる出力ページに配置される例を示す図である。 図10は、本実施形態によるページレイアウトの生成方法の一例の処理を示すフローチャートである。 図11は、プレビュー表示処理の手順を示すフローチャートである。 図12は、他の例にかかるプレビュー表示処理の手順を示すフローチャートである。 図13は、本実施の形態にかかる情報処理装置のハードウェア構成を示す説明図である。
以下に添付図面を参照して、この発明にかかる情報処理装置の最良な実施の形態を詳細に説明する。図1は、本実施の形態にかかるWebページ印刷支援システムの構成を示すブロック図である。ネットワークから取得したWebページの印刷を支援するWebページ印刷システムは、図1に示すように、情報処理装置100と、情報処理装置100に接続された画像出力装置200とから構成される。
まず、情報処理装置100は、Webページ情報取得部101と、変換部102と、受付部103と、レイアウト生成部104と、表示部105と、表示制御部106と、抽出部107と、印刷データ生成部108と、通信制御部109と、記憶部110と、プレビュー画面生成部111とを主に備える。
Webページ情報取得部101は、通信制御部109を介してWebページ情報を取得し、取得したWebページ情報を記憶部110に保存する。また、Webページ情報取得部101は、取得したWebページ情報を後述する表示制御部106に表示させる。
変換部102は、Webページ情報取得部101により取得されたWebページ情報をビットマップデータに変換する。例えば、変換部102は、まず、表示部105に表示されているWebページ情報をキャプチャする。そして、変換部102は、キャプチャしたWebページ情報をセルの集合であるビットマップデータに変換する。
表示制御部106は、記憶部110からWebページ情報を取得し、取得したWebページ情報を表示部105に表示する。また、表示制御部106は、表示部105に表示したWebページ情報を、変換部102により変換されたビットマップデータのイメージ画像に切り換えて表示する。
受付部103は、表示部105に表示されたビットマップデータのイメージ画像から出力領域の指定をユーザから受け付ける。ここで、出力領域とは、画像出力装置200により出力する対象となる領域のことである。例えば、受付部103は、表示部105に表示されたビットマップデータのイメージ画像のうち出力対象となる領域を矩形のアイコン操作により受け付ける。
抽出部107は、ビットマップデータから対応領域を抽出し、抽出した対応領域のビットマップデータを記憶部110に保存する。ここで、対応領域とは、ビットマップデータのうち、ユーザにより指定を受け付けた出力領域に対応するビットマップデータ上の領域のことである。例えば、抽出部107は、受付部103から入力を受け付けた出力領域を受け取り、受け取った出力領域から対応領域を決定し、決定した対応領域をビットマップデータから抽出する。
また、記憶部110が抽出した対応領域のビットマップデータを保存する方法としては、複数の方法がある。ここで、記憶部110は、対応領域のビットマップデータを、すでに記憶しているローカルフォルダに保存することとする。なお、抽出部107は、対応領域のビットマップデータの保存先を記憶部110のほか、サーバやクラウド上の所定領域としてもよい。
記憶部110は、受付部103により出力領域が受け付けられたタイミングで、対応領域のビットマップデータをファイル形式でフォルダに蓄積する。なお、フォルダは、予め定められた所定のフォルダであっても良いし、ユーザにより指定されたフォルダであっても良い。
また、記憶部110は、Webページ情報の取得先であるWebサイトの階層構造や、Webページの構造等の構造情報に応じてフォルダ毎にカテゴライズしてビットマップデータを保存してもよい。例えば、階層構造を利用する例としては、記憶部110は、上位階層が等しい下位階層のデータを同一フォルダに割り当てて、対応領域のビットマップデータを保存してもよい。また、ページ情報を利用する例としては、記憶部110は、同一の出力ページにレイアウトされた対応領域のビットマップデータは同一フォルダに保存してもよい。
レイアウト生成部104は、抽出部107により抽出された対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報(以下、レイアウトという。)を生成する。ここで、出力ページとは、画像出力装置200により出力されるページであって、例えば、1枚の印刷用紙に印刷されるページのことである。
また、レイアウト生成部104は、記憶部110により同一フォルダに格納されたビットマップデータを対象としてそれぞれのレイアウトを決定する。また、記憶部110に、Webページの構造に従って階層構造上にビットマップデータが保存されている場合、レイアウト生成部104は、当該階層構造に従って対応領域のビットマップデータをレイアウトしてもよい。例えば、レイアウト生成部104は、記憶部110に上位フォルダと下位フォルダが存在する場合、上位フォルダに存在するビットマップデータを下位フォルダに存在するビットマップデータよりも出力ページの上位にレイアウトする。
このように、記憶部110が抽出された対応領域のビットマップデータを分類・整理してフォルダを管理することで、Webページの構造がレイアウト結果に反映される。
印刷データ生成部108は、レイアウト生成部104により生成されたレイアウトに従って印刷データを生成する。ここで、印刷データとは、画像出力装置200により出力されるデータであって、1または複数の出力ページからなるデータのことである。
通信制御部109は、WWW(World Wide Web)と通信し、Webページ情報を受信する。また、通信制御部109は、画像出力装置200と通信し、印刷データ生成部108により生成された印刷データを画像出力装置200に送信する。
次に、画像出力装置200の詳細について説明する。画像出力装置200は、図1に示すように、通信制御部201と、出力部202とを主に備える。
通信制御部201は、情報処理装置100と通信し、情報処理装置100から印刷データを受信する。
出力部202は、あらかじめ受け付けた印刷設定に従って、通信制御部201を介して情報処理装置100から受信した印刷データを出力する。例えば、出力部202は、印刷データを印刷用紙に印刷する。
次に、以上のように構成された情報処理装置100による対応領域を抽出する対応領域抽出処理の手順について説明する。図2は、情報処理装置100による対応領域抽出処理の手順を示すフローチャートである。
Webページ情報取得部101は、通信制御部109を介してWWWからWebページ情報を取得する(ステップS101)。ここで、Webページ情報取得部101は、取得したWebページ情報を記憶部110に保存する。
表示制御部106は、表示部105にWebページ情報取得部101により取得されたWebページ情報を表示部105に表示する(ステップS102)。変換部102は、Webページ情報取得部101により取得されたWebページ情報をビットマップデータに変換する(ステップS103)。
表示制御部106は、表示部105に表示されているWebページ情報を、変換部102により変換されたビットマップデータのイメージ画像に切り換えて表示する(ステップS104)。
受付部103は、出力領域の指定を受け付ける(ステップS105)。例えば、受付部103は、ビットマップデータのイメージ画像上に大きさを変動可能な矩形のアイコン操作により出力領域の指定を受け付ける。
抽出部107は、ビットマップデータから対応領域を抽出する(ステップS106)。抽出部107は、抽出した対応領域を記憶部110に保存する(ステップS107)。
次に、情報処理装置100による印刷データの生成処理の手順について説明する。図3は、情報処理装置100による印刷データの生成処理の手順を示すフローチャートである。
レイアウト生成部104は、抽出部107により抽出された対応領域のビットマップデータを出力ページにレイアウトする(ステップS201)。ここで、レイアウト生成部104によるレイアウト方法の詳細を説明する。図4は、レイアウト生成部104によるレイアウトの手順の詳細を示すフローチャートである。
レイアウト生成部104は、記憶部110から対応領域のビットマップデータ(以下、コンテンツデータという。)を取得する(ステップS1)。レイアウト生成部104は、取得したビットマップデータに基づき、最密充填レイアウト生成処理を実行する(ステップS2)。レイアウト生成部104は、ステップS2で生成した最密充填レイアウトに基づき出力ページ毎の最終レイアウトを決定する(ステップS3)。レイアウト生成部104は、決定した最終レイアウトを示すレイアウトデータを、印刷データ生成部108に渡す。
ここで、図4のステップS2における最密充填レイアウト生成処理について、より詳細に説明する。なお、実際に入力されるコンテンツとしてのデータは、様々な形状が想定されるが、以下では説明の簡潔化のため矩形であることとする。なお、コンテンツデータによる画像を含む最小の矩形を想定してもよいし、コンテンツデータによる画像に対してマージンなどを考慮した矩形を想定してもよい。以下では、煩雑さを避けるため、「コンテンツデータによる画像」を単に「コンテンツ」と呼ぶ。
まず、ここで用いる矩形のコンテンツの一例を説明する。図5は、矩形のコンテンツの一例を示す図である。図5に示すように、レイアウト生成部104は、様々な大きさ(幅×高さ)を有する複数の矩形コンテンツを、幅W、高さHの配置領域200上に配置する際のレイアウトを生成する。ここで、幅Wは有限の値を持ち、高さHは、無限大の値を持つものとする。また、このフローチャートにおいてレイアウトとは、出力ページ内の印刷可能な配置領域200上におけるコンテンツの配置を示し、レイアウトデータは、レイアウトにおけるコンテンツの配置を示す情報(例えば座標情報)からなるものとする。また、出力ページとは、一度に表示を行うための領域をいい、以下では、幅Wを持つ配置領域を一度に表示を行う所定の高さh毎に区切った各領域を出力ページと呼ぶ。
ステップS2の最密充填レイアウトでは、予め決められた幅を持ち、高さが無限の領域に対して、下記の条件を満たし、且つ、高さを最小にするように複数のコンテンツを配置する問題として考えて、各コンテンツのレイアウトを決める。
(1)コンテンツの形状が矩形であって、幅および高さが有理数値である。
(2)回転を許容しない。
(3)各コンテンツが互いに重ならない。
ここで、(3)の各コンテンツが互いに重ならないという条件は、2つのコンテンツCiおよびCjについて、下記の式(1)〜式(4)のうち少なくとも1つが成立することと等価である。なお、式(1)〜式(4)において、値wおよび値hは、それぞれコンテンツの幅および高さ、値xおよび値yは、それぞれコンテンツの一端(例えば左下隅)のx座標およびy座標である。
xi+wi≦xj …(1)
xj+wj≦xi …(2)
yi+hi≦yj …(3)
yj+hj≦yi …(4)
各コンテンツに対して、式(1)〜式(4)のうち何れを採用するかを決める場合、単純に見積もって4(n(n-1)/2)通りの可能性があるといえる。この問題は、一般的に箱詰め問題と称され、NP困難に属しており、実用的な演算時間で解決することが極めて困難であると考えられる。そこで、本実施形態では、最適解に近似する最適近似解をできるだけ簡単な手順で求める手法を用いて、最密充填レイアウトの生成を行う。
このような問題を解決するために、上述の各条件を満たし、且つ、評価値すなわち最適解からの外れ度が定まっている基本的なアルゴリズムとして、FFDH(First-Fit Decreasing-Height)やNFDH(Next-Fit Decreasing-Height)などが知られている。本発明の第1の実施形態では、FFDHを用いて最密充填レイアウトの生成を行う。FFDHについては、「E.G.Coffman, JR., M.R.Garey, D.S.Johonson, R.E.Tarjan(Bell Lab.&Stanford Univ.) "Performance bounds for level-oriented two-dimensional packing algorithms", SIAM J. Comput, vol.9., pp808-826, No.4, 1980.」(非特許文献1)に記載がある。
図6は、FFDHによるコンテンツの一例の配置方法を概略的に示すフローチャートである。FFDHによれば、先ず、コンテンツを高さ(長さ)の値が大きい順にソートして、ソート順で1番目のコンテンツ(すなわち最も高さ(長さ)の高いコンテンツ)を、配置領域の配置開始位置に配置して、処理を開始する。以下では、説明のため、配置開始位置を配置領域の左上隅とする。
図6のフローチャートによる処理の開始に先立って、何らかのコンテンツ(例えばソート順で1番目のコンテンツ)が配置領域に配置されているものとする。これを最後に配置されたコンテンツとして、図4のフローチャートによる処理が開始される。ステップS10で、レイアウト生成部104は、全てのコンテンツについて配置が完了したか否かを判定し、完了していないと判定したら、処理がステップS11に移行される。一方、レイアウト生成部104は、全てのコンテンツについて配置が完了していると判断したら、図6のフローチャートによる一連の処理を終了する。
ステップS11で、レイアウト生成部104は、直前に選択したコンテンツに対してソート順で次のコンテンツを選択する。次のステップS12で、レイアウト生成部104は、ステップS11で選択したコンテンツがソート順で最後のコンテンツか否かを判定する。若し、レイアウト生成部104は、最後のコンテンツではないと判定したら、処理をステップS13に移行する。
ステップS13では、レイアウト生成部104は、ステップS11で選択したコンテンツが、最後に配置したコンテンツの右隣に配置可能か否かを判定する。すなわち、最後に配置したコンテンツの右端から配置領域の右端までの幅が、ステップS11で選択したコンテンツの幅以上であれば、レイアウト生成部104は、当該選択されたコンテンツが配置可能であると判定する。若し、レイアウト生成部104は、配置不可であると判定したら(ステップS13:No)、処理をステップS10に戻し、全てのコンテンツについて配置が完了していなければソート順でさらに次のコンテンツを選択し(ステップS11)、処理を繰り返す。
一方、ステップS13でレイアウト生成部104は、配置可能であると判定したら(ステップS13:Yes)、処理をステップS14に移行し、最後に配置したコンテンツの右隣にステップS11で選択されたコンテンツを配置する。コンテンツの配置位置を示す情報は、記憶部110に記憶される。そして、処理がステップS10に戻される。
上述のステップS12で、レイアウト生成部104は、ステップS11で選択したコンテンツがソート順で最後のコンテンツであると判定したら、処理はステップS15に移行する。ステップS15では、レイアウト生成部104は、未配置のコンテンツのうち、ソート順が最も早い(すなわち高さ(長さ)が最も高い)コンテンツを、最後に配置したコンテンツに対して幅方向の左隣に配置されるコンテンツの下に、配置領域に対して左詰めで配置する。コンテンツの配置位置を示す情報は、例えばRAM53に記憶される。そして、処理はステップS10に戻される。
図7は、上述のようにしてFFDHにより生成した最密充填レイアウトの一例を示す図である。この例では、幅が「10」の配置領域に、8個のコンテンツが配置されている。この、図4のステップS2において生成された最密充填レイアウトを、初期ページレイアウトと呼ぶ。
図6および図4のフローチャートによる処理で分かるように、FFDHによる最密充填レイアウトでは、コンテンツの右隣には、当該コンテンツと高さが同じかまたは低いコンテンツが配置される。また、左端のコンテンツについては、コンテンツの下には当該コンテンツと高さが同じかまたは低いコンテンツが配置される。以下、配置領域の幅を持ち、左端のコンテンツの上下端で高さおよび配置領域における高さ方向の位置が規定される領域を、「ブロック」と呼び、ブロックとブロックとの区切りを、「行」と呼ぶ。図8は、配置領域における行を示す図である。図8に示すように、配置領域は矩形のコンテンツの長さに応じて複数の行に区切られている。
ここで、図7の例では、各コンテンツは、上端を揃えて一列に配置されている。これに限らず、左端のブロックに対して右方向に一列に配置される一連のブロックは、上下端が左端のブロックの上端および下端からなる範囲を越えなければ、他の配置でもよい。
なお、FFDHでは、最適解に対する評価値が下記の式(5)のようになることが知られている。式(5)は、コンテンツの高さと幅とをそれぞれ「1」に正規化した場合の例である。また、式(5)において、値HalgはFFDHにより求められる高さ、値Hoptは最適解を表す。
Halg≦1.7×Hopt+1 …(5)
<ページレイアウトの生成>
次に、上述した図4のステップS3における、出力ページ毎の最終レイアウトの生成について説明する。図4のステップS2において、図6を用いて説明した手順に従い最密充填レイアウトによる初期ページレイアウトを生成した後に、配置領域を、幅が配置領域の幅と一致し、所定の高さを持つ出力ページ単位に分割する。図9−1および図9−2は、ブロックが異なる出力ページに配置される例を示す図である。図9−1に例示されるように、あるブロックが異なる出力ページに跨って配置されてしまうことがある。図9−1の例では、配置領域300に配置されたブロック301〜304のうち、ブロック303が出力ページを跨いで配置されてしまっている。このままでは、コンテンツが途中で分断されてしまう結果となり、好ましくない。そこで、本実施形態では、各ブロックが出力ページを跨がないようにレイアウトを調整して、出力ページ毎の最終レイアウトを生成する。
本実施形態では、出力ページを跨いで配置されたブロックを、次の出力ページの先頭に移動させる。ここで、次の出力ページとは、出力ページを跨いで配置されたブロックの上端が属する出力ページから見た次の出力ページをいう。すなわち、図9−1の例では、図9−2に示すように、出力ページを跨いで配置されているブロック303を次出力ページの先頭に移動させ、当該ブロック303より下に配置された各ブロックも、当該ブロック303の移動に伴い下方に位置をずらす。以降、この処理を出力ページ毎に順次、繰り返して行うことで、最終的には全てのコンテンツが出力ページを跨がないように配置されたレイアウトを生成することができる。
図10は、本実施形態によるページレイアウトの生成方法の一例の処理を示すフローチャートである。先ず、ステップS20で、レイアウト生成部104は、出力ページのページレイアウトを取得する。なお、ステップS20で取得されるページレイアウトは、処理の対象となる出力ページに係るブロックからなるレイアウトである。出力ページが第1ページ目の場合は、初期ページレイアウトから出力ページのページレイアウトを取得することになる。
次のステップS21で、レイアウト生成部104は、出力ページのページレイアウトにページを跨るブロックがあるか否かを判定する。若し、レイアウト生成部104は、出力ページを跨るブロックが無いと判定したら(ステップS21:No)、処理をステップS23に移行する。
一方、ステップS21で、レイアウト生成部104は、出力ページのレイアウトに出力ページを跨るブロックがあると判定したら(ステップS21:Yes)、処理をステップS22に移行する。ステップS22では、レイアウト生成部104は、出力ページのレイアウト中において出力ページを跨って配置されたブロックが、出力ページの次の出力ページの先頭に配置されるように、当該ブロックおよび当該ブロックの下に配置される各ブロックを下方へずらして再配置する。レイアウト生成部104は、ブロックの再配置が終了すると、処理をステップS23に移行する。
ステップS23では、レイアウト生成部104は、現在のブロックの配置状態に従い、出力ページにおけるページレイアウトを生成し、当該出力ページのページレイアウトを決定する。そして、レイアウト生成部104は、処理をステップS24に移行し、全ての出力ページについてページレイアウトが決定されたか否かを判定する。若し、レイアウト生成部104は、ページレイアウトが決定されていない出力ページが存在すると判定したら(ステップS24:No)、処理をステップS20に戻し、ステップS23でページレイアウトが決定された次の出力ページを出力ページとして、処理を繰り返す。
一方、ステップS24で、レイアウト生成部104は、全ての出力ページについてページレイアウトを決定したと判定したら(ステップS24:Yes)、一連の処理を終了する。この場合、レイアウト生成部104は、未配置のブロックが存在しない場合に、全ての出力ページについてページレイアウトを決定したと判定する。
このように、本実施形態によれば、様々なサイズのコンテンツを複数ページに亘る配置領域に配置する場合に、出力ページ数がなるべく小さくなり、且つ、コンテンツが出力ページで分断されないようなレイアウトを自動的に生成できる。
また、配置領域に対して様々なサイズのコンテンツを配置する場合、全てのコンテンツが出力ページを跨がないように出力ページ区切りを設けることができる保証が無く、出力ページを跨いで配置されるコンテンツが発生する可能性が高い。すなわち、コンテンツが配置された状態でコンテンツを区切らないように幅方向の線(ページ区切り)を引くためには、幅方向に見たときに、コンテンツの上辺または下辺が揃っているなどの条件が必要となる。図9−1は、効率的な配置であっても、適当なページ区切りが見つからない例を示す図である。
なお、ここでは、レイアウト生成部104によるレイアウト処理の一例として、図4および図6のフローチャートを用いて、FFDHによる配置方法を示したが、これに限定されない。例えば、レイアウト生成部104は、モノクロコンテンツとカラーコンテンツを分ける方法によりレイアウト生成してもよい。また、レイアウト生成部104は、元のWebページの構造化情報に基づいてレイアウトを生成してもよい。
図3に戻り、ステップS202において、印刷データ生成部108は、出力ページにレイアウトされたビットマップデータを取得する(ステップS202)。
次に、情報処理装置100によるプレビュー表示処理の手順について説明する。図11は、プレビュー表示処理の手順を示すフローチャートである。
レイアウト生成部104は、抽出部107により抽出された対応領域のビットマップデータを出力ページにレイアウトする(ステップS501)。印刷データ生成部108は、印刷データを生成する(ステップS502)。
プレビュー画面生成部111は、印刷データ生成部108により生成された印刷データのプレビュー画面を生成する(ステップS503)。表示制御部106は、プレビュー画面生成部111により生成されたプレビュー画面を表示部105に表示する(ステップS504)。例えば、プレビュー画面生成部111は、Webページ記述言語(例えばhtml)で記述されたファイルを同一ブラウザ上に表示する。
次に、情報処理装置100によるプレビュー表示処理の他の例について説明する。図12は、他の例にかかるプレビュー表示処理の手順を示すフローチャートである。
ステップS601の処理は、図11のフローチャートのステップS501の処理と同様である。また、ステップS602の処理は、図11のフローチャートのステップS503と同様である。また、ステップS603の処理は、図11のステップS504の処理と同様である。
つまり、図12に示す他の例にかかるプレビュー表示処理では、図11のフローチャートにおけるステップS502の処理が省略される。図11のフローチャートのステップS502では、プレビュー画面生成部111は、プレビューのタイミングでレイアウト結果を反映したプレビュー画面を生成した。しかし、図12のように、プレビュー画面生成部111は、印刷データのプレビュー画面の生成に代えて、html上で各々のビットマップデータを配置した画像を生成してブラウザで表示してもよい。この場合、印刷データ生成部108は、出力が指示されてから始めて印刷データを生成するため、プレビュー表示の時間を短縮することができる。
また、以上のように構成されたWebページ印刷支援システムは、例えば、ブラウザのプラグイン等として実装することもできる。この場合、表示制御部106は、ツールバー等にレイアウト実行ボタンが追加されるIF(Interface)を表示部105に表示することとなる。受付部103は、ユーザからこのレイアウト実行ボタンの押下を受け付ける。受付部103から押下指示を受信した表示制御部106は、ブラウザ上にレイアウト結果を表示する。なお、受付部103によりユーザから再度レイアウト実行ボタンの押下が受け付けられた場合、レイアウト生成部104は、最初に生成したレイアウトと異なるレイアウトを生成し、表示制御部106に表示させる。これら一連の処理の繰り返しにより、Webページ印刷支援システムは、ユーザに所望のレイアウト結果を提示することができる。
このように、本実施の形態によれば、Webページ情報を変換したビットマップデータのイメージ画像から出力領域の指定を受け付け、ビットマップデータから対応領域を抽出し、レイアウトするので、Webページからユーザにより指定されたコンテンツだけをレイアウトすることができる。
次に、本実施の形態にかかる情報処理装置のハードウェア構成について図13を用いて説明する。図13は、本実施の形態にかかる情報処理装置のハードウェア構成を示す説明図である。
図13に示すように、本実施の形態にかかる情報処理装置100は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(RANDOM Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施の形態にかかる情報処理装置100で実行されるレイアウト生成プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、本実施の形態にかかる情報処理装置100で実行されるレイアウト生成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかる情報処理装置100で実行されるレイアウト生成プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、本実施の形態のレイアウト生成プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態にかかる情報処理装置100で実行されるレイアウト生成プログラムは、上述した各部(変換部102、表示制御部106、受付部103、抽出部107、レイアウト生成部104)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体からレイアウト生成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
100 情報処理装置
101 Webページ情報取得部
102 変換部
103 受付部
104 レイアウト生成部
105 表示部
106 表示制御部
107 抽出部
108 印刷データ生成部
109、201 通信制御部
110 記憶部
111 プレビュー画面生成部
200 画像出力装置
202 出力部
特開2007−094950号公報
E.G.Coffman, JR., M.R.Garey, D.S.Johonson, R.E.Tarjan(Bell Lab.&Stanford Univ.) "Performance bounds for level-oriented two-dimensional packing algorithms", SIAM J. Comput, vol.9., pp808-826, No.4, 1980.

Claims (6)

  1. 取得されたWebページ情報をビットマップデータに変換する変換部と、
    前記Webページ情報が表示された表示部に、変換された前記ビットマップデータのイメージ画像を、前記Webページ情報と切り換えて表示する表示制御部と、
    表示された前記イメージ画像から出力対象となる出力領域の指定の入力を受け付ける受付部と、
    前記ビットマップデータから、受け付けられた前記出力領域に対応する対応領域を抽出する抽出部と、
    抽出された前記対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成部と、
    を備えたことを特徴とする情報処理装置。
  2. 前記受付部は、複数の前記出力領域の指定を受け付け、
    前記レイアウト生成部は、予め定められたソート順に応じて前記レイアウト情報を生成すること、
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記ソート順は、前記出力領域の長さが長い順であって、
    前記レイアウト生成部は、複数の前記出力領域を、前記出力領域の長さが長い順に前記出力ページの空き領域に配置するレイアウトを表す前記レイアウト情報を生成すること、
    を特徴とする請求項2に記載の情報処理装置。
  4. 前記Webページ情報は構造情報を有し、
    前記レイアウト生成部は、前記構造情報に基づいてレイアウトを生成すること、
    を特徴とする請求項1に記載の情報処理装置。
  5. 取得されたWebページ情報をビットマップデータに変換する変換ステップと、
    前記Webページ情報が表示された表示部に、変換された前記ビットマップデータのイメージ画像を、前記Webページ情報と切り換えて表示する表示制御ステップと、
    表示された前記イメージ画像から出力対象となる出力領域の指定の入力を受け付ける受付ステップと、
    前記ビットマップデータから、受け付けられた前記出力領域に対応する対応領域を抽出する抽出ステップと、
    抽出された前記対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成ステップと、
    を含むことを特徴とするレイアウト生成方法。
  6. コンピュータを、
    取得されたWebページ情報をビットマップデータに変換する変換ステップと、
    前記Webページ情報が表示された表示部に、変換された前記ビットマップデータのイメージ画像を、前記Webページ情報と切り換えて表示する表示制御ステップと、
    表示された前記イメージ画像から出力対象となる出力領域の指定の入力を受け付ける受付ステップと、
    前記ビットマップデータから、受け付けられた前記出力領域に対応する対応領域を抽出する抽出ステップと、
    抽出された前記対応領域を出力ページ上に配置したレイアウトを表すレイアウト情報を生成するレイアウト生成ステップ、
    として機能させることを特徴とするプログラム。
JP2010288157A 2010-12-24 2010-12-24 情報処理装置、レイアウト生成方法、およびプログラム Pending JP2012137838A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010288157A JP2012137838A (ja) 2010-12-24 2010-12-24 情報処理装置、レイアウト生成方法、およびプログラム
US13/327,204 US20120166934A1 (en) 2010-12-24 2011-12-15 Information processing apparatus, layout generating method, and computer program product
CN201110439886.6A CN102609227B (zh) 2010-12-24 2011-12-23 信息处理装置和排版产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010288157A JP2012137838A (ja) 2010-12-24 2010-12-24 情報処理装置、レイアウト生成方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2012137838A true JP2012137838A (ja) 2012-07-19

Family

ID=46318556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010288157A Pending JP2012137838A (ja) 2010-12-24 2010-12-24 情報処理装置、レイアウト生成方法、およびプログラム

Country Status (3)

Country Link
US (1) US20120166934A1 (ja)
JP (1) JP2012137838A (ja)
CN (1) CN102609227B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905842A (zh) * 2012-12-25 2014-07-02 华为技术有限公司 视频显示方法、视频服务器、终端设备和视频系统
US9544463B2 (en) 2015-03-18 2017-01-10 Ricoh Company, Ltd. Information processing apparatus and information processing system
US10520816B2 (en) 2014-05-23 2019-12-31 Hitachi Chemical Company, Ltd. Method for forming resist pattern, method for manufacturing printed wiring board, photosensitive resin composition for projection exposure and photosensitive element

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794369B2 (en) 2012-06-10 2017-10-17 Mcgushion Kevin D Active web page consolidator
JP6171353B2 (ja) 2013-01-18 2017-08-02 株式会社リコー 情報処理装置、システム、情報処理方法およびプログラム
WO2014174369A2 (en) * 2013-03-29 2014-10-30 Mcgushion Kevin D Mapping of defined regions within a webpage
US20140365906A1 (en) * 2013-06-10 2014-12-11 Hewlett-Packard Development Company, L.P. Displaying pre-defined configurations of content elements
JP6255944B2 (ja) 2013-11-27 2018-01-10 株式会社リコー 画像解析装置、画像解析方法及び画像解析プログラム
AU2014202321A1 (en) * 2014-04-29 2015-11-12 Canon Kabushiki Kaisha Print-ready document editing using intermediate format
JP6721832B2 (ja) * 2016-08-24 2020-07-15 富士通株式会社 データ変換プログラム、データ変換装置及びデータ変換方法
CN112162714B (zh) * 2020-12-03 2021-03-12 广州市玄武无线科技股份有限公司 动态配置页面的打印方法、装置及设备
CN113448521B (zh) * 2021-06-23 2023-01-13 深圳市润天智数字设备股份有限公司 图片打印方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344078A (ja) * 2000-06-05 2001-12-14 Fujitsu Ltd 印刷システム及び当該印刷システムによる印刷方法
EP1176500A1 (en) * 2000-07-28 2002-01-30 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for job preview in printer device
US7424509B2 (en) * 2001-06-04 2008-09-09 Hewlett-Packard Development Company, L.P. System and method for printing from a web application
US7196806B2 (en) * 2001-06-29 2007-03-27 International Business Machines Corporation Data processing system for converting content relative to a space used as an advertising medium into a printable object
US7346668B2 (en) * 2002-05-17 2008-03-18 Sap Aktiengesellschaft Dynamic presentation of personalized content
JP4966533B2 (ja) * 2005-09-30 2012-07-04 セイコーエプソン株式会社 印刷システム、印刷方法、印刷プログラムおよび記録媒体
CN101169707A (zh) * 2006-10-27 2008-04-30 英业达股份有限公司 网页打印方法及网页打印系统
JP4961975B2 (ja) * 2006-11-30 2012-06-27 富士通株式会社 地図データ処理方法及び装置
US9529438B2 (en) * 2007-06-27 2016-12-27 Hewlett-Packard Development Company, L.P. Printing structured documents
US20090021790A1 (en) * 2007-07-20 2009-01-22 Yahoo! Inc. User-controlled print friendly page
EP2351352A4 (en) * 2008-10-26 2012-11-14 Hewlett Packard Development Co ARRANGEMENT OF PICTURES TO PAGES WITH CONTENT-BASED FILTERING AND THEMED-BASED CLUSTERING

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905842A (zh) * 2012-12-25 2014-07-02 华为技术有限公司 视频显示方法、视频服务器、终端设备和视频系统
US10520816B2 (en) 2014-05-23 2019-12-31 Hitachi Chemical Company, Ltd. Method for forming resist pattern, method for manufacturing printed wiring board, photosensitive resin composition for projection exposure and photosensitive element
US9544463B2 (en) 2015-03-18 2017-01-10 Ricoh Company, Ltd. Information processing apparatus and information processing system

Also Published As

Publication number Publication date
CN102609227A (zh) 2012-07-25
US20120166934A1 (en) 2012-06-28
CN102609227B (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
JP2012137838A (ja) 情報処理装置、レイアウト生成方法、およびプログラム
JP5482208B2 (ja) 画像処理装置、画像処理システム、及び画像処理方法
US10306085B2 (en) Information processing apparatus, control method of information processing apparatus, and recording medium
US20120229860A1 (en) Information processing apparatus, method for controlling same, and storage medium on which computer program has been recorded
JP5769131B2 (ja) 画像処理装置およびプログラム
JP5565130B2 (ja) 縮小画像生成装置及びプログラム
JP5612882B2 (ja) 印刷制御装置、印刷プログラムおよび画像形成装置
JP2011118818A (ja) 画像処理装置
US8484558B2 (en) Document generation method and document generation apparatus
JP2009065339A (ja) 印刷データ生成装置、印刷データ生成システム、印刷データ生成方法および印刷データ生成プログラム
JP2004110411A (ja) 文書表示システム、文書表示方法および文書表示用プログラム
JP2014079942A (ja) 画像形成装置及びプログラム
JP2009116543A (ja) 情報処理装置およびプログラム
JP2006252527A (ja) 文書ファイル管理装置、文書ファイル管理方法、および文書ファイル管理プログラム
JP2010072857A (ja) 画像処理装置、情報処理装置、印刷システム、画像処理プログラム
JP4893820B2 (ja) 制御装置及びコンピュータプログラム
JP5771087B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP5012760B2 (ja) 情報処理装置
JP4599950B2 (ja) 処理装置、及び処理方法
JP5619245B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP7314627B2 (ja) 制御装置、画像形成装置、制御方法および制御プログラム
KR100765782B1 (ko) XHTML-Print 데이터 생성방법 및 장치
JP2011186835A (ja) 画像処理装置及び画像処理プログラム
JP5712612B2 (ja) 電子文書変換装置及び電子文書変換方法
JP2006091956A (ja) 処理装置、及び処理方法