JP5963474B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP5963474B2
JP5963474B2 JP2012043793A JP2012043793A JP5963474B2 JP 5963474 B2 JP5963474 B2 JP 5963474B2 JP 2012043793 A JP2012043793 A JP 2012043793A JP 2012043793 A JP2012043793 A JP 2012043793A JP 5963474 B2 JP5963474 B2 JP 5963474B2
Authority
JP
Japan
Prior art keywords
page
range
pages
reduction
cpu
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.)
Active
Application number
JP2012043793A
Other languages
English (en)
Other versions
JP2013182301A (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 JP2012043793A priority Critical patent/JP5963474B2/ja
Priority to CN201310056650.3A priority patent/CN103294417B/zh
Priority to US13/776,482 priority patent/US9483446B2/en
Publication of JP2013182301A publication Critical patent/JP2013182301A/ja
Application granted granted Critical
Publication of JP5963474B2 publication Critical patent/JP5963474B2/ja
Active 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/114Pagination
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1219Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Record Information Processing For Printing (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
従来、文書データによる印刷物の出力用紙枚数を削減するためにページ削減処理が行われている(特許文献1)。
ここで、ページ削減処理とは、行間や図と図の隙間をはじめとするコンテンツ間の余白を詰めることで、削除可能な空白のみのページを作るというものである。
特許文献1の技術では、まず選択ページに再レイアウトが可能な十分な余白があるかを判定している。また、特許文献1の技術では、判定で十分な余白が無いと判断された場合、選択ページ以降で再レイアウト可能な余白を持つページがあるかを探索していき、見つかった場合は、対象ページまで移動処理を行う。
これらの処理によって、ユーザがページ上のオブジェクトの配置状態を確認し、どのページが再レイアウト可能な組み合わせかを逐一判断する必要が無くなる。
特開2010−231379号公報
しかしながら、先行技術ではドキュメント前方から逐次処理を行うため、ページ削減ができない領域に対しても無駄な処理が行われていた。
本発明はこのような問題点に鑑みなされたもので、効率的なページ削減処理を実現することを目的とする。
そこで、本発明の情報処理装置は、文書データの最初のページから最終のページの方向に走査していき1ページを減らすために要する第1のページ範囲を抽出し、前記第1のページ範囲の最終のページから前記第1のページ範囲を抽出する際に走査した方向とは逆方向に走査していき1ページを減らすために要する第2のページ範囲を抽出する抽出手段と、前記第2のページ範囲に含まれるページ数が前記第1のページ範囲に含まれるページの数よりも少ない場合、前記第2のページ範囲に含まれるページの空白領域を削減することでページ削減処理を実行するページ削減手段と、を有する。
本発明によれば、効率的なページ削減処理を実現できる。
文書処理システムのハードウェア構成等の一例を示す図である。 ページ削減処理で扱う余白削減処理について説明するための図である。 コンピュータ101の本実施形態に係る主な処理に関するソフトウェア構成を示す図である。 主な処理に付随する処理に関するソフトウェアも加えたソフトウェア構成を示す図である。 レイアウト処理の主な処理の一例を示すフローチャートである。 S402の処理の詳細を示すフローチャートである。 ページ削減処理で除外するページを走査する処理を示す図である。 S602の処理の詳細を示すフローチャートである。 印刷体裁情報に合わせて削減ページ数を調整する処理の一例を示すフローチャートである。 S901の処理の詳細を示すフローチャートである。 最終ページ部分の処理を行う上での効果を説明するための図である。 実施形態1と実施形態3との処理の差分の処理を示すフローチャートである。 最終ページ部分の処理を説明するための図である。 オブジェクトの縮小処理も加えた余白削減処理を説明するための図である。 実施形態1と実施形態4との処理の差分の処理を示すフローチャート(その1)である。 実施形態1と実施形態4との処理の差分の処理を示すフローチャート(その2)である。 余白削減処理判定の拡張処理を説明するための図である。 実施形態1と実施形態5との処理の差分の処理を示すフローチャートである。 余白削減処理における追加判定の設定画面の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、文書処理システムのハードウェア構成等の一例を示す図である。
文書処理システムの一例として、コンピュータ101に対し、キーボード132やマウス133を始めとするポインティングデバイス上からデータの入力、編集操作をすることで処理を行うシステムを用いて説明を行う。このコンピュータ101は、典型的に少なくともひとつのCPU135と半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット136とを含んでいる。加えて、コンピュータ101は、ビデオインタフェイス137、キーボード132やマウス133のためのI/Oインタフェイス143も含んでいる。また、コンピュータ101は、ハードディスクドライブ140やSSD141を始めとする記憶装置139も含んでおり、ここにLINUX(登録商標)やウィンドウズ(登録商標)のようなオペレーションシステムが格納される。また、コンピュータ101は、ネットワークインタフェイス138を有し、ネットワークインタフェイス138を介してネットワーク107やプリンタ等に接続される。
CPU135が記憶装置139に記憶されたプログラムを実行されることによって後述するコンピュータのソフトウェア構成やフローチャートに係る処理が実現される。
なお、特に断らない限り以下に示す実施形態の機能が実行されるのであれば、単体の機器であっても複数の機器から成るシステムであっても、以下に示す実施形態を適応できるものとする。或いは、実行されるソフトウェア(プログラム)がコンピュータのシステムに組み込まれたプリンタドライバであっても、或いはプリンタ等の印刷装置上で動作するオペレーティングシステムに組み込まれるものであってもよい。また、LAN、WANを始めとするネットワークを介して接続され処理されるシステムであっても、同様に以下に示す実施形態を適用できるものとする。
なお、コンピュータ101は、情報処理装置の一例である。
本実施形態を説明するにあたって、予め基本的な処理となるページ削減処理の説明を行う。
図2のページ501と502とを例に、ページ削減処理で扱う余白削減処理について説明する。
余白削減処理とは、ページ内の行間や段落間の余白を埋めるようにページ内オブジェクトの再配置を行う処理を指す。コンピュータは、ページ501の下部に存在している余白を埋めるように、ページ502の上部に存在しているオブジェクトを移動させる。その後、コンピュータは、ページ502の下部のオブジェクトをページ上部に移動させることで、ページ507、508の結果を得る。以後、このようにページ内の余白を削減する処理を余白削減処理と呼称する。この処理で、オブジェクトがページ間を跨いで移動する際の、オブジェクトの移動元であるページ508のことを移動元ページ、オブジェクトの移動先であるページ507のことを移動先ページと呼称する。
ページ削減処理とは、上記の余白削減処理を、空白ページができるか、或いは最終ページに到達するまで繰り返す処理を指す。ページ501〜506にページ削減処理を適用した結果はページ507〜512となる。ここでの、空白ページとはページ511のようにコンテンツが全て無くなった状態のページを指す。
なお、コンピュータ101は、空白スペースのような目に見えないオブジェクトや背景として検出されている画像、ヘッダ・フッタのような編集対象から外れているオブジェクトのみから構成されるページを空白ページとみなす。また、ここで言うオブジェクトとは、文字やベクター描画等のことを言う。また、以下に示す実施形態では、コンピュータ101は、オブジェクトをひとまとめにしたグループもオブジェクトとして扱う。加えて、以下に示す実施形態では、コンピュータ101は、注釈等の本文とは別の領域に付加されている情報も編集対象として扱える場合は、同様にオブジェクトとして扱う。
図3、図4は、コンピュータ101のソフトウェア構成の一例を示す図である。ソフトウェア構成を説明するに際し、図2を用いて説明する。ここで、図3は、コンピュータ101の本実施形態に係る主な処理に関するソフトウェア構成を示す図である。図4は、主な処理に付随する処理に関するソフトウェアも加えたソフトウェア構成を示す図である。
まず、図2の例で、ページ501〜506に対してページ削減処理をかけた場合の処理結果は、ページ507〜512となり、6ページ間の処理で1ページ削減することができた。しかしながら、ページ501〜506の区間で1ページ削減するだけでよいなら、ページ505のオブジェクトをページ504の下部に移動させるだけでも事足りる。つまり、この際、ページ501、502の間のオブジェクトの移動処理や、ページ506のオブジェクト移動は特に行う必要が無いといえる。
これを踏まえ、除外ページ選定部201では、複数のページから構成される文書データに対してページ削減処理を行う上で不要なページの抽出を行う。図2の例では、ページ501〜503、506をページ削減処理の対象から外す。この結果を用いてページ削減部202では、ページ504、505のみを対象としてページ削減処理を行う。この処理でページ513の結果を得ることができる。除外ページ選定部201は、内部的にページ削減可能範囲算出部203を呼び出している。ページ削減可能範囲算出部203は、開始ページから1ページ削減するために必要なページ範囲を探索する。ここでのページ範囲とは、例えば図2のページ501を開始ページとした場合、初めて空白ページができるページ505を範囲の終端とした、ページ501〜505までの範囲を指す。詳細な算出方法は後述する。本実施形態のレイアウト処理の主な処理はこれらの処理を行うことであり、それによって必要最低限の処理でページ削減の効果を得ることができる。
また、ページ削減可能範囲算出部203は、必要に応じて301〜303の各部を呼び出すことができる。これらの各部の処理は後述する実施形態3、又は実施形態4で説明する。削減到達目標ページ算出部304は、用紙1枚あたりに複数ページを割り付ける印刷を行う等、最大限ページを削減しつつ指定された割り付けに最適化したページ数の算出を行う処理である。ページ削減部202では、この削減目標ページになるようにページ削減処理を行う。削減到達目標ページ算出部304の処理の詳細は、後述する実施形態2で説明する。縮小余白削減処理部305は、必要に応じてページ中のオブジェクトに縮小処理をかけながら余白削減処理を行う。縮小余白削減処理部305の処理の詳細は、後述する実施形態5で説明する。
図5は、レイアウト処理の主な処理の一例を示すフローチャートである。ここでは図2を例として説明を行う。なお、実施する際の詳細処理は後述するため、ここでは処理の概要を述べる。
ステップS401では、CPU135は、ドキュメントの取得処理を行う。この処理でCPU135は、記憶装置139或いはネットワークインタフェイス138を介してドキュメントのデータを読み込み、メモリユニット136に格納する。
ステップS402では、CPU135は、図2のページ501〜506を含むドキュメントから除外ページ501〜503、506を選出する。CPU135は、選出したページを識別する情報として、メモリユニット136に格納されているドキュメントデータのページ部分に除外を意味するフラグを設定する。なお、このデータは、除外ページのリストとしてメモリユニット136上に設定されてもよい。なお、より具体的にはこのステップの処理は、除外ページ選定部201が行う処理である。
ステップS403では、CPU135は、処理を行う次のページを取得する。この処理では、基本的に未処理のページがドキュメントの先頭に近い順に読み込まれ、先頭の連続した2ページが移動先ページ、移動元ページの順に読み込まれる。例外的に移動元ページがページ511のように空白ページであった場合は、連続したページではなく空白ページの次のページ、例えばページ512が読み込まれる。
ステップS404では、CPU135は、読み込んだページが除外ページ対象かどうかを判定する。移動先、移動元ページの何れかが除外ページとして設定されていた場合は、CPU135は、処理をスキップし次のページの読み込み処理に移る。
除外ページとして設定されていない場合は、CPU135は、移動先、移動元ページ間で余白削減処理を行う(S405)。
ステップS406では、CPU135は、処理していないページがあれば次のページの読み込み処理(S403)に移り、処理すべきページがなければ図5に示す処理を終了する。
以上の処理によって、必要の無い余白削減処理を節減しつつページ削減を行うことが可能となる。
図6は、S402の処理の詳細を示すフローチャートである。ここでは、図7を用いて説明する。
CPU135は、計算を行う前に、1ページ削減するために必要なページ範囲を保持する領域ListX、ListYの初期化を行う(S601)。この領域ListX、ListYはメモリユニット136に一時的に保持される値であり、開始ページから終了ページまでの値を示す値が格納されている。この際、データの持ち方として開始ページと終了ページとの2つの数値データが保持されている。例えば、図7のページ801〜805をListXに格納する場合は開始ページと終了ページとを表す「801、805」が保存されている。その他のデータの持ち方として、CPU135は、該当する全てのページ番号、例えば図7のページ801〜805を表す場合、「801、802、803、804、805」を順次、数値データのリストとして保持してもよい。なお、この除外ページ選定の処理はページ削減処理のシミュレートを仮想的に行うだけであり、オブジェクトの移動を始めとする編集操作は行われないものとする。
開始ページは、最初のページの一例である。終了ページは、最後のページの一例である。
図7のProcess:1の処理「1−A」では、CPU135は、ドキュメントの先頭から順方向に1ページ削減するために必要なページ範囲(第1のページ範囲)を計算する(S602)。ここでの順方向は、ドキュメントの先頭ページから後方ページに向かう方向であるとし、逆に後方から先頭ページに向かう方向を逆方向と定義する。ステップS602の処理の詳細は後述するため、ここでは結果のみ述べるが、処理「1−A」でページ801を開始ページとしてステップS602の処理を行うとページ801〜805の範囲が1ページを削減するために必要なページ範囲として取得される。
そして、CPU135は、この結果をListXに格納する(S603)。
次に処理「1−B」では、CPU135は、ListXの最終ページ、ここではページ805から逆方向に1ページ削減するために必要なページ範囲(第2のページ範囲)を計算する(S605)。このとき、ページ804のオブジェクトが全てページ805の余白部分に収まるため、CPU135は、ページ804〜805の範囲を結果として取得する。なお、より具体的には、このステップの処理は、ページ削減可能範囲算出部203が行う処理である。
そして、CPU135は、逆方向の処理の結果をListYに格納する(S606)。
順方向と逆方向の処理が終了した後、CPU135は、ページ範囲ListXとListYとの比較を行う(S607)。
CPU135は、比較の結果、差分から除外するページを算出する(S608)。図7のProcess:1の例では、処理「1−A」がページ801〜805の5ページでページ削減が可能となっているのに対し、処理「1−B」ではページ804〜805の2ページでページ削減が可能となっている。つまりページ801〜805の範囲でページ削減を行う際に必要なのは、実質、ページ804〜805の範囲だけであり、ページ801〜803の範囲は処理から除外しても結果が変わらない。したがって、CPU135は、ページ801〜803を除外ページとして設定する。つまり、処理「1−A」で抽出されたページ範囲に含まれるページ数より処理「1−B」で抽出されたページ範囲に含まれるページ数の方が少ないので、処理「1−B」で抽出されたページ範囲のページに対して空白領域を削減するページ削減処理が適用される。
ステップS609にて、図7の例では処理すべきページが残っているため、CPU135は、ListXに格納された最終ページ、図7の例ではページ805を開始ページとしてステップS602に移行する。
次にProcess:2の処理として処理「2−A」が実行される。この際、開始ページであるページ805は直前の処理Process:1の「1−A」の処理結果を用いて計算される。このときの処理結果等の説明は後述するが、図7の例では結果807が用いられる。以上を踏まえて、CPU135は、処理「2−A」を開始する。ここで、結果807の余白部分にページ806のコンテンツは入らないためページ削減は行えず、この段階で最終ページに到達した判定が結果として帰ってくる。最終ページに到達したと判定した場合(S604においてYes)、CPU135は、処理をステップS610へ移す。
ステップS610では、CPU135は、走査対象ページとなったページのうち、新規に対象となったページを除外ページに設定する。図7の処理「2−A」の例では、ページ805、806が処理「2−A」の対象であるが、ページ805は直前のProcess:1の「1−A」や「1−B」で処理の対象となっているため、ここで除外ページとして設定されるのはページ806のみとなる。
これらの処理を行うことで、CPU135は、除外ページを設定した図7のProcess:3の結果を得ることができる。
図8は、S602の処理の詳細を示すフローチャートである。ここでは、図7の処理「1−A」「2−A」を用いて説明する。
なお、本実施形態では、CPU135は、図7の例ではページを跨いでオブジェクトが移動できるかどうかの条件としてオブジェクトやページの「高さ」を基準として用いる。図7の例では、ページの高さを(100)、オブジェクト内に書かれている数値をオブジェクトの高さとしている。例えばページ801には既に高さ(50)のオブジェクトが入っており、ページ下部の余白はページの高さ(100)からオブジェクトの高さ(50)を引いた値、(50)である。このとき、実際に処理をする上では、CPU135は、ページ上下のマージンやオブジェクト同士が重ならないように最低限確保するオブジェクト間の余白等を計算する。
図7の「1−A」の処理では、まず、CPU135は、ページの取得を行う(S701)。より具体的に「1−A」の例では、CPU135は、ページ801内のページ情報、特に高さの値(100)を取得し、初期化を行う。サイズ情報等の他にも、CPU135は、章情報、モノクロ/カラー情報、タイトルページ等特定のページを示す付加情報等も取得するようにしてもよい。また、初期ページとして取得の対象とするのは開始ページとして指定されたページ801以外のページ、例えばページ802等でもよいものとする。
CPU135は、開始の状態(開始ページの状態)を状態Aの値とする(S702)。なお、後述するように、状態Aとは、高さの合計値のことであり、初期値は0(ゼロ)である。
ページの高さを取得した後に、CPU135は、次の処理(移動)対象となるオブジェクトの取得を行う(S703)。図7の例では、ページ802の上部のオブジェクト808の取得を行う。
CPU135は、取得したオブジェクトの高さ(50)とページ801に存在するオブジェクトの高さ(50)との合計値(100)を求める(S704)。
CPU135は、この時点では算出した合計値(100)がページの高さ(100)の値を超えていないため取得オブジェクトはページに収まると判断する(S705においてYes)。
CPU135は、空白ページができてなく(S709においてNo)、未処理のオブジェクトが存在するため(S708においてYes)、次のオブジェクト(ページ802下部のオブジェクト809)の取得を行う(S703)。
そして、CPU135は、高さの合計値(100)に取得したオブジェクト809の高さ(50)を加える(S704)。
この結果、合計値(150)がページに収まらない(ページ高さ(100)を超える)ため(S705においてNo)、CPU135は、あふれたオブジェクト809の高さ(50)で合計値を再設定する(S706)。
これと同時に、CPU135は、次のページ802の取得(高さ情報の取得)を行う(S707)。
以下、CPU135は、ページ803、804に対しても同様に処理を行う。より具体的には、ページ803のオブジェクトの高さ(100)は合計値(50)と足すとページに収まらない。そのため、CPU135は、合計値を(100)で初期化し、初期化した合計値(100)とページ804のオブジェクトの高さ(30)との合計値(130)を出す。CPU135は、合計値(130)はページに収まらないため合計値を(30)で初期化する。
最後に、CPU135は、ページ805のオブジェクトを取得した段階で現高さの合計値(30)とページ805のオブジェクトの高さの合計値は60なのでページに収まり、空白ページができたと判定できる(S709においてYes)。ここで、空白ページができたとは、ページ805の全オブジェクトがページ804に収まるということである。
空白ページが出来たため、CPU135は、開始ページ801から現ページ805までの範囲を結果として設定する(S710)。そして、CPU135は、ページ範囲最終ページの状態Aを結果807として保存する(S711)。本実施形態での状態Aとは、計算していた高さの合計値(60)のことであり、数値「60」が保持される。この値は、CPU135によってメモリユニット136上に格納され、必要に応じてCPU135から読み出される。
途中結果を持ち越して処理を再開する場合、つまり図7の「2−A」の処理では、CPU135は、先ほど保持した状態A(結果807)で開始ページの状態を設定する(S702)。結果、807の余白部分にページ806のオブジェクトは収まらず(S705においてNo)、未処理のオブジェクトが存在しない(S708においてNo)。そのため、CPU135は、これ以上ページ削減ができないことを示すフラグとページ範囲とを結果として返す(S712)。
本実施形態により、空白ページ511を効率的に生成することが可能となる。また、無駄にオブジェクトのレイアウト変更が行われないため、印刷品質の向上を図ることもできる。
<実施形態2>
実施形態1におけるレイアウト処理では、用紙1枚あたりに複数ページを割り付ける印刷を行う場合、端数ページが発生するという問題がある。つまり、4ページ割り付ける設定で、実施形態1の処理により12ページが9ページに削減された場合、最終の用紙部分に1ページのみが配置され、自ずと用紙の4分の3が空白になる。その結果、用紙は減らせていないので、3ページ分のページ削減処理は行われなくてもよい。
本実施形態では、CPU135は、予め最大で何ページ削減するかをシミュレートし、何ページになるまで削減を行えばよいかを示す削減到達目標ページ数を決定する。これによって、印刷体裁で指定された印刷体裁情報に従って適切なページ削減処理を実現できる。このときの印刷体裁とは、表裏印刷設定や割り付け数の設定等、印刷用紙に対して何ページ分のコンテンツが割り当てられるかを示している。なお、割り付け数は、用紙の一つの面に配置されるページの数を示す。そのため、4ページ割り付けとは、用紙の一つの面に4ページが配置されることを示す。
図9は、印刷体裁情報に合わせて削減ページ数を調整する処理の一例を示すフローチャートである。このフローチャートは図5のフローチャートに、ステップS901、S902が加えられたものである。
ステップS901において、CPU135は、削減到達目標ページ数の算出を行う。この処理の詳細は後述するが、例えば用紙1枚の一つの面に2ページを割り付ける設定で、5ページの文書が3ページまで削減可能であった場合、削減到達目標ページ数は4となる。なお、より具体的にはこのステップの処理は、削減到達目標ページ算出部304が行う処理である。
ステップS902において、CPU135は、ページ削減を行った結果、ドキュメントページが削減到達目標ページ数に到達したかどうかの判定を行う。なお、ページは削減できても、用紙数が減らない場合、CPU135は、余白削減処理を行わず図9に示す処理を終了する。なお、図9におけるS403からS406は実施形態1で説明済みであるため省略する。
図9の処理により、文書データにおいて削減可能なページ数が削減到達目標ページ数に到達すると判定された場合、ページ削減処理が実行される。一方、削減可能なページ数が削減到達目標ページ数に到達しない判定された場合、ページ削減処理が実行されないように、ページ削減部が制御される。
図10は、S901の処理の詳細を示すフローチャートである。ここでは、CPU135は、図8のページ削減可能範囲算出の処理を用いて、何ページ削減可能かを調べ、その結果から削減到達目標ページ数を求める。
まずステップS1001において、CPU135は、フローチャートで使用する変数の値の初期化を行う。ここでのページ範囲ListXは、1ページ削減するために必要なページの範囲を表している。また、削減可能ページ数Sとは、処理対象のドキュメントが削減可能な最大ページ数を表している。ドキュメントのページ数Tは、ドキュメントの総ページ数を表している。
ステップS1002において、CPU135は、印刷体裁情報、ここでは用紙1枚当たりに何ページ割り付ける設定か、を取得する。例えば、用紙1枚の一つの面に4ページ割り付ける場合は割り付け数Nに4が設定される。
ステップS1003〜S1006の処理では、CPU135は、以下の処理を行う。つまり、CPU135は、最終ページに到達するまで、1ページ削減可能なページ範囲を求める(S1003)。そして、CPU135は、結果をListXに代入する(S1004)。なお、この処理は図6のS602−S603にて説明しているため省略する。そして、CPU135は、最終ページに到達しておらず、かつ、削減できると判断する(削減可能な判定、範囲が返ってくる)(S1005)度に、削減可能ページ数Sの値をひとつ増加させていく(S1006)。
ステップS1005において最終ページに到達した(又はページ削減ができない)と判断された場合、CPU135は、ステップS1007へと処理を進める。
ステップS1007において、CPU135は、最終ページに到達した際に、総ページ数Tと削減可能ページ数Sとの差分を、割り付け数Nで割って端数を切り上げた値を削減目標値として設定する。例えば、ドキュメントのページ数Tが10で、削減可能ページ数Sが3で、割り付け数Nが4の場合、「(T−S) /N」の値は1.75となる。この値の端数を切り上げた2に、割り付け数Nの4をかけた値8が削減到達目標ページとなる。
つまり、本実施形態により処理ページが存在する場合、削減到達目標ページ数に到達するまでページ削減処理が実行されることになる。これらの処理によって印刷体裁情報に従って、適切なページ削減処理を実現することができる。
<実施形態3>
実施形態1の処理では、ドキュメントの最終ページはページ削減処理の対象外になることが多い。しかしながら、ドキュメントの最終ページは余白を多く含む傾向にあるため余白削減処理に加えた方がより少ないページ数でページを削減することができる。例えば、図11の(α)は実施形態1の処理を行った際の結果を表している。実施形態1の処理ではドキュメントの最終4ページ1201〜1204のうちページ1201〜1203の3ページが対象となり(α)の結果が得られる。しかしページ1203、1204の2ページを対象としても(β)のようにページ削減を行うことができる。
本実施形態では、CPU135は、実施形態1の処理の後、もう一度、最終ページから逆方向にページ削減可能範囲算出処理を行うことで、より少ないページ数で処理が行える可能性を探索する。
図12は、実施形態1と本実施形態との処理の差分の処理を示すフローチャートである。図12の処理は図6のS610の下部に挿入される。このときの例を、図13を用いて説明する。
図13のProcess:[N−3]、Process:[N−2]の処理はCPU135が行う実施形態1の処理である。実施形態1では、処理「[N−2]−A」の処理で、CPU135は、ページ1301をページ削減処理の対象から外して処理を終える(S610)。
本実施形態では、処理「[N−1]−B」として、CPU135は、ドキュメントの最終ページからページ削減可能範囲(第3のページ範囲)の探索を行う(S1101)。探索の結果、ページ1304、1305の2ページでページ削減可能であると判定される。CPU135は、この結果と処理対象ページとの比較を行い(S1102)、探索の結果、ページ1304、1305の方が処理対象となるページ数が少ない場合は、除外ページの切り替えを行う。
図13の例では、直前の処理「[N−3]−B」で処理の対象となったページ数(ページ1302〜1304の3ページ)よりも「[N−1]−B」で処理の対象となったページ数(ページ1304、1305の2ページ)の方が少ない。そのため、CPU135は、Process:[N−1]の時点で除外ページとして設定されているページ1305を処理対象ページとし、直前の処理「[N−3]−B」で処理対象とされていたページ1302、1303を除外ページとして設定する。このとき、ページ1304は直前の処理「[N−3]−B」で処理対象とされているものの別の処理「[N−1]−B」で処理対象となっている。そのため、CPU135は、ページ1304を除外ページとはしない。
なお、より具体的には図12の処理は、最終ページ判定部301が行う処理である。
これらの処理によって、処理ページ数を節減する判定を行うことができる。
<実施形態4>
実施形態1におけるレイアウト処理では、オブジェクトの移動処理でページ削減ができるかどうかを判定していた。しかしながら、ページ間で小さいオブジェクトが少量ずつ移動していき、処理が多数のページに波及する場合には対応できなかった。図14のドキュメントの例でページ削減するためには、最終的にページ1603内のオブジェクトをページ1602の余白部に移動させなければならない。しかしそのためにはオブジェクト1605をページ1601に移動しなければならず、更にそのためにはオブジェクト1604を別ページに移動させなければならないといった具合にオブジェクトの移動処理が先頭ページまで波及してしまっている。
本実施形態では、CPU135は、ページ内のオブジェクトに縮小処理をかけることで(図14のページ1606)、編集ページの節減を行う。
図15、図16は、実施形態1と本実施形態との処理の差分の処理を示すフローチャートである。図15は、図8のステップS704の直下に挿入され、図16は図5のステップS405と置き換えられる。この説明の際に図14を用いる。
図15において、まず、CPU135は、逆方向のページ削減可能範囲の探索か否か判定を行う(S1401)。逆方向の処理であると判断すると(S1401においてYes)、CPU135は、移動対象のページ内のオブジェクトが予め設定されている閾値以下の縮小率でページに収まるか否か判断する(S1402)。移動対象のページ内のオブジェクトが予め設定されている閾値以下の縮小率でページに収まると判断された場合(S1402においてYes)、CPU135は、ページに縮小フラグを設定する(S1403)。CPU135は、縮小フラグをメモリユニット136に格納されているドキュメントのページ部に書き込む。このとき、このデータは縮小ページリストとしてメモリユニット136上に設定されてもよいし、記憶装置139に保存されたデータに付加情報として書き込まれてもよい。また、S1402のオブジェクト縮小の判定で用いられる値は、ユーザが記憶装置139に予め初期情報として設定した値が用いられる。それ以外にも、CPU135は、設定画面を表示し、そこでユーザによって設定された値を用いるようにしてもよい。
なお、より具体的には図15の処理は、余白削減処理の縮小判定部302が行う処理である。
図16において、CPU135は、余白削減処理を行う際に前記ページ縮小フラグが設定されているかどうかを判定する(S1501)。フラグが設定されていた場合(S1501においてYes)、CPU135は、図14のページ1606のようにオブジェクトに縮小処理をかけながら余白削減処理を行う(S1502)。ページ縮小フラグが設定されていない場合(S1501においてNo)、CPU135は、通常の余白削減処理を行う(S1503)。
以上の操作で、小さいオブジェクトが複数ページに波及して行われる場合でも効果的に編集ページの節減を行うことができる。
<実施形態5>
実施形態1のページ削減処理の判定では、オブジェクトの高さでオブジェクトがページ間の移動が可能かを判断していたが、現実には高さの判断だけでは移動可否を検出できない場合、或いは移動を抑制したい場合が考えられる。高さだけでは移動可否を検出できない場合の例として図17の(a)が挙げられる。オブジェクト1802の高さは空白スペース1803の高さに収まるが、オブジェクト1802の幅はページ1801の幅よりも大きいため、オブジェクト1802はページ1801に移動することができない。
また、移動を抑制したい場合の例として図17の(b)、(c)が挙げられる。図17の(b)の例について、ページ1804はモノクロのページ、ページ1805がカラーページとして考える。この場合、ページ1805のカラーオブジェクトがページ1804に入ることで、ページ1804がカラーページ扱いとなってしまう。印刷コストの高いカラーページは増やしたくない場合、このようなオブジェクトの移動処理は抑制した方がよい。また、図17の(c)のようにページ1806とページ1807とが章を跨ぐ場合、章ごとのコンテンツ内容が混じらないようにこのページ間での移動を抑制したい場合が考えられる。このとき、章情報は本実施形態の処理を実現するソフトウェアの上位のソフトウェアから別途入力されるものとする。また、ドキュメントが構造化されている、或いは、ドキュメントの付加情報として予め設定されており、CPU135によって読み出しが可能であるものとしてもよい。
図18は、実施形態1と本実施形態との処理の差分の処理を示すフローチャートである。図18の処理は図8のS705の処理の直前に挿入される。ここでは、CPU135は、移動対象のオブジェクトが移動先ページの横幅に収まるかの判定(S1702)を行っている。また、CPU135は、余白削減処理の結果、カラーページが増えるかどうかの判定(S1704)を行っている。更に、CPU135は、余白削減処理の対象ページが章を跨いでいないかどうかの判定(S1706)を行っている。ここで、何れかの条件で移動できない判断がされた場合は、CPU135は、オブジェクトがページに収まらない旨の判定結果を返す。このことで、移動を抑制する。これらの判定を行うかどうかはユーザが図19のUI(画面)上から設定することもできる。UI上のチェックボックス1901、1902、1903は、それぞれ図18のステップS1701、S1703、S1705と対応している。チェックが入っていれば設定が有効であるとして、CPU135は、その判定を行う。
なお、より具体的には図18の処理は、余白削減処理の拡張判定部303が行う処理である。
これらの処理を行うことで、高さの判断だけでは移動可否を検出できない場合、或いは移動を抑制したい場合でも効果的に編集ページの節減を行うことができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、効率的なページ削減処理を実現することができる。また、ページ削減に係る処理時間を削減すると共にレイアウト品質の低下を防ぐことができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (11)

  1. 文書データの最初のページから最終のページの方向に走査していき1ページを減らすために要する第1のページ範囲を抽出し、前記第1のページ範囲の最終のページから前記第1のページ範囲を抽出する際に走査した方向とは逆方向に走査していき1ページを減らすために要する第2のページ範囲を抽出する抽出手段と、
    前記第2のページ範囲に含まれるページ数が前記第1のページ範囲に含まれるページの数よりも少ない場合、前記第2のページ範囲に含まれるページの空白領域を削減することでページ削減処理を実行するページ削減手段と、
    を有する情報処理装置。
  2. 前記第1のページ範囲と、前記第2のページ範囲と、の差分のページをページ削減処理の対象から除外するページとして選定する選定手段を更に有する請求項1記載の情報処理装置。
  3. 前記抽出手段は、更に、最後のページから前記第1のページ範囲を抽出する際に走査した方向とは逆方向に走査していき、1ページを減らすために要する第3のページ範囲を抽出し、前記第3のページ範囲に含まれるページ数が前記第2のページ範囲に含まれるページ数よりも少ない場合、前記第1のページ範囲と、前記第3のページ範囲と、の差分のページをページ削減処理の対象から除外するページとして選定する請求項1又は2記載の情報処理装置。
  4. 前記抽出手段は、ページを走査していき、ページに含まれるオブジェクトの高さに基づき、1ページを減らすために要するページ範囲を抽出する請求項1乃至3何れか1項記載の情報処理装置。
  5. 前記抽出手段は、更に、前記オブジェクトの幅に基づき、1ページを減らすために要するページ範囲を抽出する請求項4記載の情報処理装置。
  6. 情報処理装置が実行する情報処理方法であって、
    文書データの最初のページから最終のページの方向に走査していき1ページを減らすために要する第1のページ範囲を抽出し、前記第1のページ範囲の最終のページから前記第1のページ範囲を抽出する際に走査した方向とは逆方向に走査していき1ページを減らすために要する第2のページ範囲を抽出する抽出ステップと、
    前記第2のページ範囲に含まれるページ数が前記第1のページ範囲に含まれるページの数よりも少ない場合、前記第2のページ範囲に含まれるページの空白領域を削減することでページ削減処理を実行するページ削減ステップと、
    を含む情報処理方法。
  7. コンピュータに、
    文書データの最初のページから最終のページの方向に走査していき1ページを減らすために要する第1のページ範囲を抽出し、前記第1のページ範囲の最終のページから前記第1のページ範囲を抽出する際に走査した方向とは逆方向に走査していき1ページを減らすために要する第2のページ範囲を抽出する抽出ステップと、
    前記第2のページ範囲に含まれるページ数が前記第1のページ範囲に含まれるページの数よりも少ない場合、前記第2のページ範囲に含まれるページの空白領域を削減することでページ削減処理を実行するページ削減ステップと、
    実行させるためのプログラム。
  8. 前記コンピュータに、前記第1のページ範囲と、前記第2のページ範囲と、の差分のページをページ削減処理の対象から除外するページとして選定する選定ステップを更に実行させるための請求項7記載のプログラム。
  9. 前記抽出ステップでは、更に、最後のページから前記第1のページ範囲を抽出する際に走査した方向とは逆方向に走査していき、1ページを減らすために要する第3のページ範囲を抽出し、前記第3のページ範囲に含まれるページ数が前記第2のページ範囲に含まれるページ数よりも少ない場合、前記第1のページ範囲と、前記第3のページ範囲と、の差分のページをページ削減処理の対象から除外するページとして選定する請求項7又は8記載のプログラム。
  10. 前記抽出ステップでは、ページを走査していき、ページに含まれるオブジェクトの高さに基づき、1ページを減らすために要するページ範囲を抽出する請求項7乃至何れか1項記載のプログラム。
  11. 前記抽出ステップでは、更に、前記オブジェクトの幅に基づき、1ページを減らすために要するページ範囲を抽出する請求項10記載のプログラム。
JP2012043793A 2012-02-29 2012-02-29 情報処理装置、情報処理方法及びプログラム Active JP5963474B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012043793A JP5963474B2 (ja) 2012-02-29 2012-02-29 情報処理装置、情報処理方法及びプログラム
CN201310056650.3A CN103294417B (zh) 2012-02-29 2013-02-22 信息处理装置及信息处理方法
US13/776,482 US9483446B2 (en) 2012-02-29 2013-02-25 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012043793A JP5963474B2 (ja) 2012-02-29 2012-02-29 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013182301A JP2013182301A (ja) 2013-09-12
JP5963474B2 true JP5963474B2 (ja) 2016-08-03

Family

ID=49004669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012043793A Active JP5963474B2 (ja) 2012-02-29 2012-02-29 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9483446B2 (ja)
JP (1) JP5963474B2 (ja)
CN (1) CN103294417B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014199507A (ja) * 2013-03-29 2014-10-23 ブラザー工業株式会社 画像処理装置およびコンピュータプログラム
CN104317782B (zh) * 2014-11-24 2017-11-28 联想(北京)有限公司 文本文档处理方法、处理装置及电子设备
WO2016121674A1 (ja) * 2015-01-29 2016-08-04 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成装置の制御方法
TWI543110B (zh) * 2015-04-27 2016-07-21 虹光精密工業股份有限公司 產生影像之方法及影像處理設備

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58124067A (ja) 1982-01-19 1983-07-23 Hitachi Ltd ノツク制御装置
JP4008628B2 (ja) * 1999-09-07 2007-11-14 株式会社沖データ ページ編集装置、ページ編集方法、ページ編集プログラム、及び画像形成装置
US7248737B2 (en) * 2001-10-02 2007-07-24 Siemens Corporate Research, Inc. Page decomposition using local orthogonal transforms and a map optimization
JP4244027B2 (ja) * 2004-09-14 2009-03-25 株式会社リコー 画像処理装置および画像形成装置およびデジタルスチルカメラ印刷システム
JP5036224B2 (ja) * 2006-06-07 2012-09-26 キヤノン株式会社 印刷制御装置及び印刷制御方法及びプログラム
JP5239356B2 (ja) * 2008-01-25 2013-07-17 株式会社リコー 白紙排紙抑制機能を有する画像形成装置、白紙排紙抑制方法、白紙排紙抑制プログラム
JP4997210B2 (ja) * 2008-10-20 2012-08-08 京セラドキュメントソリューションズ株式会社 画像形成装置
JP2010226535A (ja) * 2009-03-24 2010-10-07 Fuji Xerox Co Ltd 制御装置、画像形成装置及びプログラム
JP5473363B2 (ja) * 2009-03-26 2014-04-16 キヤノン株式会社 情報処理装置および制御方法および制御プログラム
US8804139B1 (en) * 2010-08-03 2014-08-12 Adobe Systems Incorporated Method and system for repurposing a presentation document to save paper and ink

Also Published As

Publication number Publication date
US9483446B2 (en) 2016-11-01
JP2013182301A (ja) 2013-09-12
CN103294417A (zh) 2013-09-11
CN103294417B (zh) 2016-03-02
US20130227400A1 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
JP5963474B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5419412B2 (ja) 文書編集装置、文書編集方法およびコンピュータプログラム
JP6494249B2 (ja) 画像形成装置、画像形成方法、プログラム
US8610931B2 (en) Information processing apparatus, information processing method, and storage medium
KR102613255B1 (ko) 화상 처리 방법 및 화상 처리 시스템
US8780404B2 (en) Information processing apparatus, method for controlling same, and storage medium on which computer program has been recorded
CN112346669A (zh) 控制方法、图像处理设备和非暂时性计算机可读存储介质
US20160127584A1 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium for performing printing based on collection settings
JP2017024321A (ja) 画像処理装置、画像形成装置及び画像処理時間予測方法及びプログラム
KR101945581B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 저장 매체
JP5842590B2 (ja) 画像処理装置、及び画像処理装置の制御プログラム
JP5063501B2 (ja) 画像形成装置、制御方法、制御プログラム
US8570619B2 (en) Control devices for scanning documents, systems including such control devices, and non-transitory, computer-readable media storing instructions for such control devices
JP6643056B2 (ja) 画像処理装置、画像処理方法、データ生成方法及びプログラム
US11683424B2 (en) Printing apparatus that displays a determined plurality of sets of image data, a method of controlling the printing apparatus, and a non-transitory computer-readable storage medium
US9720629B2 (en) Print data generating apparatus, print data generating program, and printing apparatus
JP2010105191A (ja) 画像処理装置
US9646232B2 (en) Rendering apparatus, rendering method, and computer readable medium storing rendering program
JP7313919B2 (ja) 印刷制御装置、印刷制御方法、及びプログラム
JP2012164207A (ja) ワークフロー処理装置、情報処理方法及びプログラム
US20160048729A1 (en) Information processing apparatus, control method, and storage medium storing program
JP5954971B2 (ja) 情報処理装置、データ処理方法、及びプログラム
JP2007018413A (ja) レイアウト装置及びレイアウトプログラム、並びにレイアウト方法
CN111831235A (zh) 图像处理装置、图像处理方法及计算机可读存储介质
JP2011141613A (ja) 画像処理装置、画像処理システム、画像処理プログラムおよび記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160229

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: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160628

R151 Written notification of patent or utility model registration

Ref document number: 5963474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151