JP2012190144A - 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2012190144A
JP2012190144A JP2011051626A JP2011051626A JP2012190144A JP 2012190144 A JP2012190144 A JP 2012190144A JP 2011051626 A JP2011051626 A JP 2011051626A JP 2011051626 A JP2011051626 A JP 2011051626A JP 2012190144 A JP2012190144 A JP 2012190144A
Authority
JP
Japan
Prior art keywords
page
pages
reduction
group
maximum
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.)
Granted
Application number
JP2011051626A
Other languages
English (en)
Other versions
JP2012190144A5 (ja
JP5675445B2 (ja
Inventor
Keisuke Morita
佳佑 森田
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 JP2011051626A priority Critical patent/JP5675445B2/ja
Priority to US13/412,752 priority patent/US8780404B2/en
Publication of JP2012190144A publication Critical patent/JP2012190144A/ja
Publication of JP2012190144A5 publication Critical patent/JP2012190144A5/ja
Application granted granted Critical
Publication of JP5675445B2 publication Critical patent/JP5675445B2/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3872Repositioning or masking

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)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (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)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】集約印刷をする場合にも印刷用紙に空白ページを生じさせないようにページ削減処理を行う情報処理装置を提供する。
【解決手段】印刷用紙に文書データのページを複数割り当てる集約印刷のための情報を含む印刷体裁情報を取得する印刷体裁取得部501と、複数のオブジェクトをグループ化して1又は複数のグループを生成するグループ生成部502と、前記グループを移動させることによって前記ページを最大限削減できる最大削減ページ数を算出する最大削減数算出部503と、前記最大削減ページ数に基づいて、前記集約印刷がされる場合に前記印刷用紙に空白のページを出さずに前記印刷用紙を最大限削減するための前記ページの削減目標ページ数を算出する印刷目標ページ数算出部504と、前記印刷体裁情報と前記削減目標ページ数に基づいて前記グループを移動させて前記ページを削減するページ削減部506とを備える。
【選択図】図5

Description

本発明は、印刷された文書の総ページ数を削減する情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。
文書を印刷する際に、用紙節約のため、元文書のデータを加工し、再レイアウトする技術が提案されている。具体的には、行間や、図と図の隙間といったコンテンツ間の余白を詰めることで、削除可能な空白のみを有するページを作成する技術が提案されている。下記の特許文献1は、原稿の総ページ数を求め、総ページ数が用紙の面に配置されるページ数で割り切れるか否かを判断する。そして、割り切れないと判断された場合に、用紙の面に配置されるページ数で割り切れるように原稿のレイアウトを変更する画像形成方法を開示している。
特開2007−150698号公報
特許文献1が開示する画像形成方法は、印刷用紙を節約するために、単に総ページ数を用紙の面に配置されるページ数で割ったときの余りのページ数を減らす。したがって、この画像形成方法によれば、印刷用紙に複数のページを割り当てる集約印刷をした場合、最終印刷用紙の一部に空白ページが生じるという問題があった。例えば、1枚の印刷用紙の面に4ページを配置するとき、レイアウトを変更してページ数を削減した場合、最終印刷用紙に3ページのみが配置され、1ページ分の空白が生じる可能性がある。
本発明は、集約印刷をする場合にも印刷用紙に空白ページを生じさせないようにページ削減処理を行う情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムの提供を目的とする。
本発明の情報処理装置は、レイアウト済みの文書データに含まれるオブジェクトを配置する情報処理装置であって、各印刷用紙に前記文書データの複数ページを割り当てる集約印刷のための情報を含む印刷体裁情報を取得する印刷体裁取得手段と、複数の前記オブジェクトをグループ化して1又は複数のグループを生成するグループ生成手段と、前記グループを移動させることによって前記ページを最大限削減できる最大削減ページ数を算出する最大削減数算出手段と、前記最大削減ページ数に基づいて、前記集約印刷がされる場合に前記印刷用紙に空白のページを出さずに前記印刷用紙を最大限削減するための前記ページの削減目標ページ数を算出する印刷目標ページ数算出手段と、前記印刷体裁情報と前記削減目標ページ数に基づいて前記グループを移動させて前記ページを削減するページ削減手段とを備える。
本発明の情報処理装置によれば、印刷用紙に複数のページを割り当てる集約印刷をした場合であっても、最終印刷用紙の一部に空白ページが生じるのを防止することができるという効果がある。
本実施形態のシステム構成例を示す図である。 プロセッサによるオブジェクト情報の管理例を説明する図である。 オブジェクトの情報の例を示す図である。 文書データ構造の一例を示す図である。 コンピュータの機能ブロック図の一例である。 実施形態1によるページ削減処理を示すフローチャートである。 実施形態1による再レイアウトの例を説明する図である。 削減可能なページ数を算出する処理を示すフローチャートである。 削減可能なページ数の算出例を説明する図である。 オブジェクトのグループ化処理を示すフローチャートである。 オブジェクトのグループ化処理の例を説明する図である。 ページの最大削減数を算出する処理を示すフローチャートである。 削減目標ページ数を算出する処理を示すフローチャートである。 優先度を設定してページを削減する処理の例を説明する図である。 優先度を設定して削減するページの候補を探索する処理を示すフローチャートである。 ページを探索して優先度を設定する処理の例を説明する図である。
図1は、実施形態1のシステム構成例を示す図である。図1に示すシステムは、コンピュータ1と、プリンタ2と、ディスプレイ装置3とを備える。コンピュータ1は、本実施形態の情報処理装置である。コンピュータ1は、印刷レイアウト済みの文書データについて間締め処理を実行する。間締め処理は、文書データに含まれる行間等の空白部を詰める処理である。コンピュータ1が間締め処理を実行することにより、文書の総ページ数を削減することができる。また、コンピュータ1は、プリンタ2に対して上記間締め処理された文書データを送信し、この文書データを印刷させる。また、コンピュータ1は、ディスプレイ装置3に対して各種の表示データを送信し、この表示データを表示させる。本実施形態において、文書データは、例えばPDF(Portable Document Format)等の、ページに配置されるオブジェクトを含むデータである。プリンタ2は、コンピュータ1からの指示に従って文書データを印刷する。また、ディスプレイ装置3は、コンピュータ1からの指示に従って表示データを表示する。
コンピュータ1は、プロセッサ11、I/O(Input/ Output)インタフェース12、16、メモリ13を備える。また、コンピュータ1は、CD−ROM(Compact Disk Read Only Memory )ドライブ14、ビデオインタフェース15、記憶装置17を備える。プロセッサ11乃至記憶装置17は、システムバス18を介して互いに接続されている。プロセッサ11は、コンピュータ1全体を制御する。プロセッサ11は、例えば、CPU(Central Processing Unit )である。プロセッサ11は、ネットワークインタフェース16及びI/Oインタフェース16を通じてネットワーク19から文書データを外部装置から受信する。プロセッサ11が、受信した文書データを解析する。この文書データの解析結果は、例えば、オブジェクトリストを含む。オブジェクトリストは、オブジェクト情報のリストである。オブジェクト情報は、文書データに含まれるオブジェクトに関する情報である。プロセッサ11は、オブジェクトリストを記憶装置17に記憶して管理する。本実施形態に特有の動作として、プロセッサ11は、上記文書データの解析結果に基づいて文書データをブロック化し、該ブロック化結果に基づいて文書データの段組構成を検知する。そして、プロセッサ11は、検知した段組構成に応じて、文書データに含まれるブロック間の空白を詰める間締め処理を行う。
I/Oインタフェース12は、キーボード4、マウス5を介して入力された情報をコンピュータ1に入力する。I/Oインタフェース16は、コンピュータ1からプリンタ2に対する文書データの送信を媒介する。また、I/Oインタフェース16は、ネットワークを通じて外部装置と通信する。ネットワークは、例えば、LAN(Local Area Network)や、WAN(Wide Area Network )等である。
メモリ13は、RAM(Random Access Memory)とROM(Read Only Memory)とを備える記憶手段である。RAMは、プロセッサ11が処理に用いる作業領域を有する。ROMには、コンピュータ1の制御方法を実現するためのコンピュータプログラムとデータとが予め記憶されている。CD−ROMドライブ14は、不揮発性の記憶媒体であるCD−ROMが格納される装置である。ビデオインタフェース15は、コンピュータ1からディスプレイ装置3への表示データの送信を媒介する。記憶装置17は、例えば、文書データやオブジェクトリストを記憶する。図1に示す例では、記憶装置17は、HDD(Hard Disk Drive )とFDDとを備える。FDDは、Floppy(登録商標) Disk Driveの略語である。記憶装置17が、磁気テープドライブを備えるようにしてもよい。
図2は、プロセッサによるオブジェクト情報の管理例を説明する図である。プロセッサ11は、オブジェクト情報をリスト構造の形式でオブジェクトリスト201に格納する。各々のオブジェクト情報は、オブジェクトID203、オブジェクト種類204、左上座標205、右下座標206、オブジェクト固有情報207を含む。オブジェクトID203は、オブジェクトを一意に識別する識別子である。オブジェクト種類204は、オブジェクトの種類を示す。オブジェクトの種類は、例えば、図形、文字列、イメージ、グループ等を含む。オブジェクト種類204に設定されているグループは、このオブジェクト種類204に対応するオブジェクトが、複数のオブジェクトがグループ化されたものであることを示す。グループ化とは、2つ以上のオブジェクトをひとまとめにして、一つのオブジェクトとする処理のことを指す。このひとまとめにされたオブジェクトをグループと呼称する。グループ化の対象となるオブジェクトとは、文字や画像を始めとするあらゆるオブジェクトである。もちろん、グループそのものもグループ化の対象となり、その場合、グループに対応するオブジェクト情報は階層的に保持される。オブジェクトがグループ化された場合、オブジェクト情報内のオブジェクトIDはブロックのIDを示す。なお、本実施形態において、1つのオブジェクトからなるグループや内部にオブジェクトを保持しないグループも構造上可能である。
左上座標205はオブジェクトの左上座標を示す。右下座標は、オブジェクトの右下の座標を示す。オブジェクト固有情報207は、オブジェクトに固有の属性情報を示す。オブジェクト固有情報207は、例えばオブジェクトの種類が図形である場合の線の太さ、線種等を示す情報である。また、オブジェクト固有情報207は、例えばオブジェクトの種類が文字列である場合の文字の書体、サイズ等を示す情報である。オブジェクト情報内のオブジェクト種類204にグループが設定されている場合、オブジェクト固有情報207には、オブジェクトリスト202へのポインタ情報が設定される。オブジェクトリスト202内のオブジェクト情報は、上記オブジェクト情報に対応するグループ化されたオブジェクトに含まれるオブジェクトのオブジェクト情報である。
図3は、オブジェクト情報の例である。例えば、図3(B)に示すオブジェクト情報は、図3(A)中に示す、左上座標が(20,34),右下座標が(81,65)である矩形の図形オブジェクトを示す。図4は、本実施形態において処理対象となる文書データの構造の一例を示す図である。コンピュータ1は、例えば図4(A)に示すPDFフォーマット文書を処理対象とする。図4(A)に示すPDFフォーマット文書は、始点(20,34)から、順次、(81,34)、(81,65)、(20,65)、(20,34)を結ぶ図形を示す。図4(B)は、図4(A)に示すPDFフォーマット文書から読み込まれた図形オブジェクトに対応するオブジェクト情報を示す。このオブジェクト情報は、左上座標(20,34)、右下座標(81,65)の長方形に対応する図形オブジェクトを示す。
図5は、コンピュータの機能ブロック図の一例である。コンピュータ1は、印刷体裁取得部501、グループ生成部502、最大削減数算出部503、印刷目標ページ数算出部504、削減ページリスト生成部505、ページ削減部506を備える。本実施形態では、図1に示すメモリ13内のROMに印刷体裁取得部501からページ削減部506までの機能を実現するコンピュータプログラムが予め記憶されている。プロセッサ11が、ROM内の上記コンピュータプログラムを読み出して実行することにより、本実施形態の情報処理装置の制御方法が実現される。
印刷体裁取得部501は文書データの印刷体裁情報を取得する。グループ生成部502は、文書データの各ページ内において近傍に位置するオブジェクト同士をグループとしてまとめる。最大削減数算出部503は、ページ削減処理を限界まで行った場合に最大で何ページを削減することが可能なのかを算出する。印刷目標ページ数算出部504は、削減可能なページ数と印刷体裁情報に基づいて、印刷用紙の最終ページに空白ページを出さずに印刷用紙を最大限削減するためには何ページを削減することが可能なのかを算出する。削減ページリスト生成部505は、削減すべきページのリストを作成するとともに、優先的に削減すべきページの組み合わせを決定する。ページ削減部506は、ページのリストに基づいて、ページを削減する。
図6は、本発明の実施形態1の情報処理装置のページの削減処理を示すフローチャートである。図7は、ページの削減処理の具体例を示す図である。以下、図6のフローチャートを、図7を参照しながら説明する。なお、以下の説明において、印刷用紙とは、文書を印刷されたときの用紙をいうものとし、ページとは文書データにおけるページをいう。なお、本願のフローチャートはCPU11がメモリから関連するプログラムを読み出して実行することで実現される。
まず、コンピュータ1の印刷体裁取得部501が文書データの印刷体裁情報を取得する(ステップS601)。印刷体裁情報は、各印刷用紙の面に複数ページを割り当てる集約印刷におけるページ割り当て情報や両面印刷を行うか否かの情報を含む、印刷用紙1枚当たりに何ページが配置されるかを示す情報である。次に、グループ生成部502は、文書データの各ページ内において近傍に位置するオブジェクト同士をグループとしてまとめる(ステップS602)。例えば、図7において、グループ生成部502は、ページ701に存在する各行ごとの文字オブジェクトや図形オブジェクトをグループ706、707としてまとめる。
次に、最大削減数算出部503は、ページ削減処理を限界まで行った場合に最大で何ページを削減することが可能なのかを算出する(ステップS603)。例えば、図7では、ページ701〜705の5つに対してページ数の削減を行う場合、最大削減数算出部503は文書712に示すように「2ページ」を削減可能であると算出する。次に、印刷目標ページ数算出部504は、ステップS603で算出した削減可能なページ数(すなわち、「2ページ」)とステップS601で取得した印刷体裁情報に基づいて、次の処理を行う。すなわち、印刷目標ページ数算出部504は、最終印刷用紙に空白ページを出さずに、印刷用紙を最大限削減するためには何ページ分の印刷用紙を削減することが可能なのかを算出する(ステップS604)。ここでいう空白ページとはいわゆる端数ページ、すなわち集約印刷時における最終印刷用紙に配置されたページのうち空白のページをいう。例えば、図7に示す文書712では、1枚の印刷用紙上に4ページを割り付けたとしても、3ページしか存在しないため、1ページ分の空白ページが発生する。このため、印刷目標ページ数算出部504は、2ページ削減するのではなく、1ページ削減するのが適当であると判断し、「1ページ」を削減目標ページ数に設定する。
次に、ページ削減部506は、ステップS604で求めた削減目標ページ数がゼロ以上か否かを判定し(ステップS605)、削減目標ページが存在する場合はステップS606に移行する。削減目標ページ数がゼロである場合とは、ページ数の削減ができない場合、あるいはページ数は削減できるものの結果として印刷用紙を減らす事ができない場合をいう。削減目標ページ数がゼロの場合は、フローを終了する。
次に、ページ削減部506は、ページリスト(詳細は後述する)に基づいて、ページ削減処理を行う(ステップS606)。ページ削減処理とは、例えばページ702、703の2ページを対象とした場合、グループ708〜710の下にグループ711を移動させることでページ715を空白ページにする処理を指す。グループ711をグループ710の下に移動できない場合は、ページ削減部506はグループ708〜710の間に存在する空白(余白)を詰めた後にグループ711を移動させる。空白を詰める際には、ページ削減部506はあらかじめ設定されている必要最低限の空白を残すものとし、必要に応じてページ上端とグループ708の間の空白も詰める。
ページ削減部506は、2ページ間のグループの移動によってもページの削減ができない場合は、ページ703内のグループを上から順に可能な限り移動する。複数のページを対象としたページ削減処理は、グループの移動操作を全ページに対して繰り返し行うことによって行う。この際、通常はページ先頭から削減目標ページ数となるまでページ削減処理を行い、図7に示すページ713〜717のような結果を得る。しかし、場合によっては、文書の末尾から順にページ削減処理を行ってもよい。
図8は、実施形態1のコンピュータ1のグループ生成部502がページ内の近傍に位置するオブジェクト同士をグループ化し、全ページ分のグループのリストを生成する処理を示す。図9は、実施形態1によるグループのリストを生成する処理の具体例を示す図である。
まず、グループ生成部502は未処理のページを順次取得していく(ステップS801)。ページの情報はドキュメント情報911にリストとして格納されており、グループ生成部502はこのドキュメント情報911に従ってページ先頭から順に取得する。次に、グループ生成部502は、ページ内において近傍に位置するオブジェクト同士をグループにまとめる(ステップS802)。例えば、図9の例では、グループ生成部502は、ページ901のオブジェクトをグループ903、904としてまとめる。この際、グループ生成部502はページ情報912の内容を更新し、グループのリストを作成する。グループのリストとは、グループという属性を持ったオブジェクトをいうが、以下の説明では単にグループと呼称する。グループのリスト913にはグループ内に存在するオブジェクトをリスト915として管理しており、ここからグループ内のオブジェクトに対する編集操作や情報の取得を行うことができる。
グループ生成部502は、続いてグループの生成を行うと同時にグループ情報リスト918を作成する(ステップS803)。このグループ情報リスト918は、全てのページのグループを順次取得できるようにするために作成されるもので、グループのリスト913の末尾グループの直後にリスト914の先頭リストが続く構造を有する。概略としては、図9の906の例のように、ページ移動を行うことなく、次々とドキュメント上のグループにアクセスできる状態となる。このグループ情報リスト918内のグループ923には、該当グループにアクセスする際に必要な格納ページ番号やグループの持つオブジェクトIDを始めとする情報がグループ情報リスト919として格納されている。グループ生成部502は、続いて未処理のページが存在するかどうかの判定を行う(ステップS804)。未処理ページが存在する場合は、ステップS801に移行し、未処理ページが存在しない場合はフローを終了する。
図10は、PDFデータ構造の文書、すなわちオブジェクトの読み出し順序がランダムである文書に対して、本発明の実施形態1のコンピュータ1がグループの生成を行うフローを示す。図11は、実施形態1によるPDFデータ構造に対する処理の具体例を示す図である。図11において、ページ1101内において、文書内の各単語が別々のオブジェクトに分断されており、かつオブジェクトが取得できる順序もランダムとなっている。グループ生成部502は、ページ1101内のこれらオブジェクトをグループにまとめる処理を行う。
まず、グループ生成部502は、このPDFデータ構造に対して未処理のオブジェクトのうち、先頭のオブジェクトを読み込む(ステップS1001)。次に、グループ生成部502は、読み込んだオブジェクトが既に読み込まれているオブジェクトとY軸上で重なっているか否かを判断する(ステップS1002)。例えば、オブジェクト1105が読み込まれた場合、既に読み込まれているオブジェクト1104とY軸上で重なっていないため、グループ生成部502はオブジェクト1104、1105を別々のグループとする(ステップS1003)。次に、オブジェクト1108が読み込まれると、オブジェクト1108はオブジェクト1106とY軸上で重なるため、グループ生成部502は、重なっているオブジェクト1106及び1108を1つのグループ1109にまとめる(ステップS1004)。オブジェクト1106がグループオブジェクトであった場合は、グループ生成部502は、一旦グループ化を解除してからオブジェクト1108を加え、再度グループ化を行う。また、読み込まれたオブジェクト1108がページ上の複数のオブジェクト、例えばオブジェクト1106、1107の両方と重なっていた場合、グループ生成部502は重なっている全てのオブジェクト1106、1107、1108をグループ化する。
次に、グループ生成部502は、そのページ内に未処理のオブジェクトが存在しているかどうかを判定する(ステップS1005)。未処理のオブジェクトが存在する場合は、再度ステップS1001に戻り、グループ生成部502がそのオブジェクトを読み込む。これらの処理を繰り返すことによって、複数のオブジェクトがランダムに読み出されるページ1101が複数のオブジェクトがY軸に沿ってグループ化されたページ1102に再構成される。
全てのオブジェクトの処理を終えたらステップS1006に移り、グループ生成部502はページに配置されたオブジェクト間の全空白を走査する。次に、グループ生成部502は、走査した値のうち既定の閾値以下の値を持つ空白を抽出する(ステップS1007)。次に、グループ生成部502は、抽出された空白が閾値以下であるところの隣接したグループ同士をグループ化する(ステップS1008)。これによってページ1102がページ1103のように再構成される。
図12は、本発明の実施形態1であるコンピュータ1における最大削減数算出部503が文書を最大で何ページまで削減できるか(すなわち最大削減ページ数)を算出する処理を示すフローである。図7の文書712の例では、最大削減数算出部503は2ページ削減することが可能であると算出する。この処理を概略的に説明すると、最大削減数算出部503は文書内の全てのグループを配置するために何ページ必要であるかを求める。すなわち、文書712の例では、最大削減数算出部503が全てのコンテンツの配置には3ページが必要であるということを求め、総ページ数である5ページから必要ページ数である3ページを引くことで、2ページ分を削減することが可能であると算出する。この処理は具体的には以下のように行われる。
まず、最大削減数算出部503は、グループ情報リスト918を用いてその文書データ内に存在する次のグループを取得する(ステップS1201)。次に、最大削減数算出部503は、取得したグループの高さを合計値に加えた値を求める(ステップS1202)。具体的には、初期状態ではグループの高さの合計値の値はゼロである。最初にステップS1201が実行されると、合計値は最初に取得したグループの高さ(例えば図9におけるグループ907の高さ)となる。2回目にステップS1201が実行されると、2つめのグループ908が取得され、合計値は2つのグループ907、908の高さを合計した値となる。ここでの合計値は、単純に各グループの高さを合計したものではなく、例えばグループ間の空白等のページに配置する上で必要な空白分の値も含まれている。
最大削減数算出部503は、求めた合計値がページの高さを超えるか否かを判定する(ステップS1203)。図9の例において、ステップS1201の処理によってグループ910まで取得されたとき、グループの高さの合計値、すなわちグループ907〜910の高さの合計値が1ページの高さを上回る。この場合はステップS1204に移行する。一方、ステップS1201の処理によって取得されたグループがグループ908又は909である状態では、合計値がページの高さより小さいため、ステップS1206に戻って、最大削減数算出部503は次のグループを取得する。
ステップS1204において最大削減数算出部503がグループ910を取得すると、最大削減数算出部503は合計値(グループ907〜910の高さの合計値)をゼロにリセットして、合計値をグループ910の高さに再設定する(ステップS1204)。続いて、最大削減数算出部503はページのカウント値を1つ上げる(ステップS1205)。具体的には、図9の例において最大削減数算出部503は、グループ910を取得してS1203およびS1204の処理を行った後に、ページのカウント値を0から1に増加させる。カウントが1であるということは、オブジェクト909までを配置するために1ページが必要であるということを意味する。次に、最大削減数算出部503は未処理のグループが存在しているか否かを判定する(ステップS1206)。未処理グループが存在する場合は、ステップS1201に戻り、最大削減数算出部503は次のグループを取得する。全てのグループの処理が完了すると、フローはステップS1207に移る。最大削減数算出部503は、総ページ数からカウント値を引き、さらに1ページ引くことによって、最大削減数を求める(ステップS1207)。
図13は、本発明の実施形態1であるコンピュータ1における印刷目標ページ数算出部504の処理を示すフローチャートである。この処理は、印刷目標ページ数算出部504は、空白ページ(端数ページ)が出ないようにページの削減を行う場合に何ページ削減するのが適正であるかを求める処理である。
まず、印刷目標ページ数算出部504は文書の総ページ数(T)と最大削減数(S)を求める(ステップS1301)。総ページ数(T)はドキュメントの情報911(図9)の総ページ数916から取得し、最大削減数(S)は図12のフローで求めた値を使用する。印刷目標ページ数算出部504は印刷紙面上に配置されるページ数(N)を求める(ステップS1302)。本実施形態1においては、片面に4ページが印刷されることが設定されているので、Nの値は4となる。両面印刷である場合は裏表の各紙面上に印刷されるページ数の合計がNの値となる。例えば、片面4ページが裏表に印刷される場合、Nの値は8となる。表に4ページ印刷され、且つ裏に2ページ印刷される場合、Nの値は6となる。印刷目標ページ数算出部504は、総ページ数(T)を配置ページ数(N)で割った値(T/N)と、総ページ数−最大削減数(T−S)を配置ページ数(N)で割った値((T−S)/N)を比較する。値(T/N)と値((T−S)/N)を比較した結果に基づいて、印刷目標ページ数算出部504は、印刷に必要な用紙の枚数を減らせるかどうかを判定する(ステップS1303)。たとえば、総ページ数が6ページであり(T=6)、用紙に配置されるページ数が4であり(N=4)、図12により得られた削減数が1である場合(S=1)、(T/N)の算出結果が1.5となる。一方、(T−S)/Nの算出結果が1.25となる。つまり、削減処理を行う場合も2枚の用紙が使用され、削減処理を行わない場合も2枚の用紙が使用される。よって、枚数は減らせないと判断される。一方、T=9、N=4、S=2である場合、(T/N)の算出結果が2.25となる。一方、(T−S)/Nの算出結果が1.75となる。つまり、つまり、削減処理を行う場合は1枚の用紙が使用され、削減処理を行わない場合は2枚の用紙が使用される。よって、枚数は減らせると判断される。印刷に必要な用紙の枚数を減らせる場合は、印刷目標ページ数算出部504は、削減後の必要な紙の枚数に配置ページ数(N)を掛けた値と総ページ数の差を削減目標ページ数とする(ステップS1304)。具体的には、図7の文書712の例において、総ページ数「5」から、印刷に必要な紙の枚数「1」と1枚あたりに配置されるページ数「4」をかけた値を引いて得られた値「1」を削減目標ページ数とする。印刷に必要な紙の枚数が減らせない場合は削減目標ページ数に0を設定する(ステップS1305)。
以上述べたように、本実施形態の情報処理装置によれば、印刷用紙に複数のページを割り当てる集約印刷が設定された場合であっても、最終印刷用紙の一部に空白ページが生じるのを防止することができるという効果がある。
(実施形態2)
続いて、本発明の実施形態2である情報処理装置について説明する。実施形態1では、ページの削減を前から順に行っていたが、その結果、図14に示す文書1408のようにレイアウトが大きく変化してしまうことがある。しかし、限界までページの削減を行わないのであれば、ページ削減の処理の順序を変えることによってドキュメントのレイアウト変化を抑えることができる場合がある。例えば、図14の例において、1ページを削減するためにページ1401〜1403のコンテンツを移動させると3ページ分のコンテンツが入り混じってしまう。一方、ページ1402、1403の2ページにおける移動によってページを削減した方がレイアウトの変化はより少なくなる。さらに、ページ1402、1403の組み合わせによって1ページ削減する方法と、ページ1404、1405の組み合わせによって1ページ削減する方法の2通りの選択肢がある。実施形態2は、レイアウトの変化が少ないページ1404、1405の組み合わせを選択し、ページ削減処理を行い、ページ1409、1410の結果を得る。実施形態2によるページの組み合わせの選択方法やその選択がレイアウトに与える影響について以下に説明する。
図15は、本発明の実施形態2の情報処理装置であるコンピュータ1の削減ページリスト生成部505が行う処理を示すフローである。この処理は、削減すべきページのリストを作成するとともに、優先的に削減すべきページの組み合わせを決定する。なお、図15は、図6のS605とS606の間で実行される。実施形態2において、このフローは全体の処理を示す図6のフローのステップS606の前に実行される。なお、図6のステップS606では、優先に削減すべきページの組み合わせを削減ページリストとして作成するため、ページ削減部506はそのリストに従ってページの削減順序を決定する。この処理を、図16の具体例を参照しながら説明する。
まず、削減ページリスト生成部505は、空白ページ(端数ページ)が発生するか否か、すなわち、総ページ数と最大削減数の差(T−S)の算出結果を配置ページ数(N)で割ったときの余りが0にならないかを判定する(ステップS1501)。空白ページが発生しない場合は、基本的に限界まで行間の空白を詰めてページ削減を行えば良いため、削減ページリスト生成部505は優先順位のリストを生成せずにフローを終了する。空白ページが発生する場合は、削減ページリスト生成部505は探索ページ範囲を決定する(ステップS1502)。
このページ削減処理においては、2ページ分のコンテンツを1ページに収めることでページ削減を行う場合、または、3ページ分のコンテンツを2ページに収めることでページ削減を行う場合等が考えられる。探索ページ範囲とは、1ページを削減するための処理の対象となるページの範囲をいう。一般に、探索ページ範囲に含まれるページ数が多いほどページの削減は行いやすいが、その分レイアウトが変化するページ数も多くなってしまう。このため、レイアウトが変化するページ数が少なくなるように、探索ページ範囲の初期値は2ページに設定されている。そして、順次1ページずつ探索ページ範囲を拡張していく。探索ページ範囲の算出方法の一例について説明する。まず1枚の用紙の高さを特定する。その後、1ページ目においてオブジェクトが配置されていない空白部分の高さと2ページ目においてオブジェクトが配置されていない空白部分の高さとの和が、1枚の用紙の高さを超えたかを判定する。ここで、空白部分の高さの和が1枚の用紙の高さを超えた場合、探索ページ範囲は1−2ページと特定される。一方、1ページ目と2ページ目の空白部分の高さの和が1枚の用紙の高さを超えない場合、さらに3ページ目の空白部分の高さを1ページ目と2ページ目の空白部分の高さの和に加える。その結果が空白部分の高さの和が1枚の用紙の高さを超えた場合、探索ページ範囲は1−3ページと特定される。
削減ページリスト生成部505は、次の探索ページ範囲の取得、すなわち次に何ページから何ページを対象としてページ削減処理の判定を行うのかを決定する(ステップS1503)。具体的には、図14の例において、探索ページ範囲が2ページの場合、削減ページリスト生成部505はまずページ1401、1402を探索対象ページ群として取得し、次にページ1402、1403を探索対象ページ群として取得する。
ステップS1504〜S1507では、探索対象ページ群でページ削減が可能なのか否かという判断、および削減対象となるページの優先度の決定を行う。具体的な例として、図16を用いて説明する。図16は、ページ1601−1602とページ1611−1612の4ページで構成された文書を示す。また探索ページ範囲のページ群としてページ1601、1602の組み合わせと、ページ1611、1612の組み合わせの2つが特定され、この2つについての優先度の決定処理を説明する。
まず、ページ1601、1602の組み合わせによってページを削減する場合、削減ページリスト生成部505は、グループ1604の下部の空白にグループ1605、1606が収まると判断できる。そのため、グループ1605、1606をグループ1604の下部に移動させ、ページ1603を得る。一方、ページ1611、1612の組み合わせによってページを削減する場合、グループ1614の下部の空白にグループ1615、1616が収まらない。このため、削減ページリスト生成部505は、グループ間の空白1617、1618を詰めてページの削減を行い、ページ1613を得る。これら2つの場合を比較すると、ページ1613は元のページ1611に対してコンテンツ間の空白を詰めることで得られる。一方、ページ1603では空白を詰めないため空白1607、1608、1609、1610の値は変化していない。よって、ページ1603の方がページ1613よりもコンテンツのレイアウトの変化は少ない。すなわち、オブジェクトの移動のみが行われ、空白は変更がない。
このように、ページ削減処理には「行間空白を詰めながらページ削減」する方法と「行間を詰めずにページ削減」する方法がある。本実施形態2においては、これら2つの方法のうち「行間を詰めずにページ削減」できる方法に対する優先度を高めている。そして、ステップS1504では、削減ページリスト生成部505は「行間を詰めずにページ削減」が可能か否かを判定する。可能な場合は、削減ページリスト生成部505は、対象となっているページの組み合わせを、削減ページリスト1621内の要素1622に優先度「高」として追加する(ステップS1505)。また、不可能な場合は、削減ページリスト生成部505は「行間空白を詰めながらページ削減」が可能か否かを判定する。削減可能な場合は、削減ページリスト生成部505は、対象となっているページの組み合わせを削減ページリスト1621内の要素1622に優先度「低」として追加する(ステップS1507)。
削減ページリスト生成部505は、処理ページがさらに存在しているかどうかを判定する(ステップS1508)。最終ページに到達していた場合には、処理はステップS1509に進む。次に、削減ページリスト生成部505は、削減ページリスト1621内の削減ページ候補の数が削減目標ページ数に達しているか否かを判定する(ステップS1509)。削減目標ページ数に達している場合は、処理を終了する。削減目標ページ数に達していない場合は、探索ページ範囲を拡大して、再度ページ先頭から処理を再開する。このような処理によって、削減ページリスト生成部505は、削減する対象となるページの組み合わせとその優先度を含むリストを生成する。その後、S606のページ削減処理において、優先度の高いページから順次削減処理が実行される。具体的には、例えば図16において削減目標ページが1ページである場合、ページ1611とページ1612との間で削減処理を行うよりもページ1601とページ1602との間で削減処理を行った方がレイアウト変更が少ない。よって、ページ1601と1602の間で図16の削減処理を行い、ページ1611と1612の間では削減処理は行われない。
本実施形態の情報処理装置によれば、印刷用紙に複数のページを割り当てる集約印刷をした場合であっても、最終印刷用紙の一部に空白ページが生じるのを防止することができるという効果がある。また、削減の対象となるページに優先度を設定し、優先度の高いページから順次削減を行うため、ページ削減後のコンテンツのレイアウトの変更が最小限に抑えられるという効果がある。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
1 コンピュータ
2 プリンタ
3 ディスプレイ装置

Claims (6)

  1. レイアウト済みの文書データに含まれるオブジェクトを配置する情報処理装置であって、
    各印刷用紙に前記文書データの複数ページを割り当てる集約印刷のための情報を含む印刷体裁情報を取得する印刷体裁取得手段と、
    複数の前記オブジェクトをグループ化して1又は複数のグループを生成するグループ生成手段と、
    前記グループを移動させることによって前記ページを最大限削減できる最大削減ページ数を算出する最大削減数算出手段と、
    前記最大削減ページ数に基づいて、前記集約印刷がされる場合に前記印刷用紙に空白のページを出さずに前記印刷用紙を最大限削減するための前記ページの削減目標ページ数を算出する印刷目標ページ数算出手段と、
    前記印刷体裁情報と前記削減目標ページ数に基づいて前記グループを移動させて前記ページを削減するページ削減手段とを備える
    ことを特徴とする情報処理装置。
  2. 前記グループ生成手段は、前記オブジェクトが他の前記オブジェクトとY軸上で重なっているか否かを判断し、Y軸上で重なっている複数の前記オブジェクトをグループ化し、さらに、前記オブジェクト間の空白を走査し、走査した空白の値のうち閾値以下の値を持つ空白である隣接した複数の前記グループをグループ化する
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記印刷目標ページ数算出手段は、前記最大削減ページ数に基づいて前記ページを最大限削減した場合の印刷に必要な紙の枚数に、各印刷用紙に割り当てられる前記ページの数を掛けた値から、前記ページの総ページ数の差を前記削減目標ページ数とする
    ことを特徴とする請求項1記載の情報処理装置。
  4. 削減の対象となる前記ページのリストを作成するとともに、前記削減の対象となるページに対して削減に関する優先度を設定する削減ページリスト生成手段をさらに備え、前記ページ削減手段は前記削減目標ページ数に達するまで、前記優先度にしたがって前記リストにある前記ページを削減する
    ことを特徴とする請求項1記載の情報処理装置。
  5. レイアウト済みの文書データに含まれるオブジェクトを配置する情報処理装置の制御方法であって、
    各印刷用紙に前記文書データの複数ページを割り当てる集約印刷のための情報を含む印刷体裁情報を取得する印刷体裁取得工程と、
    複数の前記オブジェクトをグループ化して1又は複数のグループを生成するグループ生成工程と、
    前記グループを移動させることによって前記ページを最大限削減できる最大削減ページ数を算出する最大削減数算出工程と、
    前記最大削減ページ数に基づいて、前記集約印刷がされる場合に前記印刷用紙に空白のページを出さずに前記印刷用紙を最大限削減するための前記ページの削減目標ページ数を算出する印刷目標ページ数算出工程と、
    前記印刷体裁情報と前記削減目標ページ数に基づいて前記グループを移動させて前記ページを削減するページ削減工程とを備える
    ことを特徴とする情報処理装置の制御方法。
  6. 請求項5に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2011051626A 2011-03-09 2011-03-09 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム Active JP5675445B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011051626A JP5675445B2 (ja) 2011-03-09 2011-03-09 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
US13/412,752 US8780404B2 (en) 2011-03-09 2012-03-06 Information processing apparatus, method for controlling same, and storage medium on which computer program has been recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011051626A JP5675445B2 (ja) 2011-03-09 2011-03-09 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2012190144A true JP2012190144A (ja) 2012-10-04
JP2012190144A5 JP2012190144A5 (ja) 2014-04-24
JP5675445B2 JP5675445B2 (ja) 2015-02-25

Family

ID=46795327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011051626A Active JP5675445B2 (ja) 2011-03-09 2011-03-09 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8780404B2 (ja)
JP (1) JP5675445B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150302B (zh) * 2013-03-19 2016-04-13 小米科技有限责任公司 一种排版方法和装置
CN105224540A (zh) * 2014-05-29 2016-01-06 广州市动景计算机科技有限公司 页面排版方法及装置
US9912832B2 (en) 2014-08-14 2018-03-06 Kabushiki Kaisha Toshiba Image forming apparatus and control method of the same
WO2016058646A1 (en) * 2014-10-16 2016-04-21 Sato Holdings Kabushiki Kaisha Label cost saving function
US10168969B2 (en) * 2017-03-13 2019-01-01 Kyocera Document Solutions Inc. Information processing apparatus, non-transitory computer readable recording medium that records printer driver program, and blank page handling method
CN112083899A (zh) * 2020-09-10 2020-12-15 深圳开立生物医疗科技股份有限公司 一种医疗报告打印方法、装置、超声设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003276271A (ja) * 2002-03-20 2003-09-30 Ricoh Co Ltd 印刷装置
JP2006021395A (ja) * 2004-07-07 2006-01-26 Canon Inc 割り付け印刷制御装置
JP2007150698A (ja) * 2005-11-28 2007-06-14 Ricoh Co Ltd 画像形成方法、画像形成装置、画像形成システム及び画像形成装置用プログラム
JP2008124951A (ja) * 2006-11-15 2008-05-29 Kyocera Mita Corp 画像読取装置及び画像形成装置
JP2011076223A (ja) * 2009-09-29 2011-04-14 Canon Inc 情報処理装置、制御方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4201009B2 (ja) * 2006-03-24 2008-12-24 ブラザー工業株式会社 印刷装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003276271A (ja) * 2002-03-20 2003-09-30 Ricoh Co Ltd 印刷装置
JP2006021395A (ja) * 2004-07-07 2006-01-26 Canon Inc 割り付け印刷制御装置
JP2007150698A (ja) * 2005-11-28 2007-06-14 Ricoh Co Ltd 画像形成方法、画像形成装置、画像形成システム及び画像形成装置用プログラム
JP2008124951A (ja) * 2006-11-15 2008-05-29 Kyocera Mita Corp 画像読取装置及び画像形成装置
JP2011076223A (ja) * 2009-09-29 2011-04-14 Canon Inc 情報処理装置、制御方法及びプログラム

Also Published As

Publication number Publication date
US20120229860A1 (en) 2012-09-13
US8780404B2 (en) 2014-07-15
JP5675445B2 (ja) 2015-02-25

Similar Documents

Publication Publication Date Title
JP5675445B2 (ja) 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5049515B2 (ja) 情報処理装置および情報処理方法および情報処理プログラム
JP5419412B2 (ja) 文書編集装置、文書編集方法およびコンピュータプログラム
JPH1199723A (ja) 印刷制御装置及び印刷制御方法並びに記憶媒体
KR20100037555A (ko) 화상처리장치, 화상처리방법, 및 그 프로그램을 기억한 매체
JP4208860B2 (ja) 情報処理装置、情報処理方法、ならびに記憶媒体
US20070070441A1 (en) Print data generating apparatus and image recording system
US8749834B2 (en) Information processing apparatus that perform margin reduction depending on the column group structure, method for controlling same, and storage medium on which computer program has been recorded
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
JP2011158998A (ja) 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5397678B2 (ja) 画像処理装置、画像形成装置、画像処理方法およびプログラム
US8441676B2 (en) Information processing apparatus for removing blank portions from a document and taking print setting into consideration
JP5963474B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP4267047B2 (ja) 情報処理装置および制御方法および記憶媒体
US8687235B2 (en) Print saving page deduction suppression processing minimizing the number of color pages
JP2017038329A (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP6590606B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6323209B2 (ja) 画像処理装置及びプログラム
JP2010111099A (ja) 画像処理装置およびその制御方法
JP2007317225A (ja) 情報処理装置及びその方法及び印刷制御プログラム
KR100875376B1 (ko) 멀티뷰 출력 시스템 및 방법
JP3747185B2 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
JP4211711B2 (ja) 印刷制御方法及び装置、記録媒体
JP2011141613A (ja) 画像処理装置、画像処理システム、画像処理プログラムおよび記憶媒体
JP2006318055A (ja) 印刷制御装置、印刷制御方法、プログラム及びコンピュータ読み取り可能な記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141224

R151 Written notification of patent or utility model registration

Ref document number: 5675445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151