JP5539280B2 - データ処理装置、データ処理方法およびプログラム - Google Patents

データ処理装置、データ処理方法およびプログラム Download PDF

Info

Publication number
JP5539280B2
JP5539280B2 JP2011194963A JP2011194963A JP5539280B2 JP 5539280 B2 JP5539280 B2 JP 5539280B2 JP 2011194963 A JP2011194963 A JP 2011194963A JP 2011194963 A JP2011194963 A JP 2011194963A JP 5539280 B2 JP5539280 B2 JP 5539280B2
Authority
JP
Japan
Prior art keywords
data
printer driver
print
intermediate data
processing
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
JP2011194963A
Other languages
English (en)
Other versions
JP2013058007A (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 JP2011194963A priority Critical patent/JP5539280B2/ja
Priority to US13/599,782 priority patent/US9158488B2/en
Publication of JP2013058007A publication Critical patent/JP2013058007A/ja
Application granted granted Critical
Publication of JP5539280B2 publication Critical patent/JP5539280B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common 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/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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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
    • 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
    • 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/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、編集対象のデータを処理するデータ処理装置、データ処理方法およびプログラムに関する。
インターネット上のWebページにアクセスして様々な情報を取得することが一般的に行なわれている。Webページには、HTML(Hyper Text Markup Language)又はXHTML(Extensible Hyper Text Markup Language)等のような構造化言語で記述された構造化文書などがある。Webページは、Webブラウザと呼ばれるソフトウェアによってディスプレイ上に表示され、また、プリンタによって印刷出力することができる。
Webブラウザを用いて取得したWebページを編集してから出力する場合、文字や図形のオブジェクトはベクタ形式のまま取得した方が画質の劣化が生じず、編集後のWebページの画質が高くなる。
特許文献1には、仮想プリンタドライバを用いて編集可能なデータを生成し、生成されたデータを編集することが示されている。このように仮想プリンタドライバを用いて編集可能なデータを生成することにより、ベクタ形式のオブジェクトをベクタ形式のまま出力可能なプリンタドライバを用いてベクタ形式での編集が可能となる。
特開2000−187566号公報
例えばWebページのようにページの情報を持たないデータをプリンタドライバで印刷可能な形式のデータに変換する際、プリンタドライバは印刷に用いる用紙サイズに従ってページ単位で区切りながら印刷用データを生成する。このとき、プリンタドライバによっては、生成される各ページの外縁部分にマージンを設けるものがある。従って、プリンタドライバが生成したデータの編集に際して、ページ間に跨っていたオブジェクトがあった場合、当該オブジェクトに対してマージンが挿入されてしまう。そのため、プリンタドライバが生成したデータの編集に際して当該オブジェクトがページ間で跨らないように移動等を行わせる場合、プリンタドライバによって設けられたマージンを削除しなくてはならず、処理負荷が高くなったり、画質の劣化を招いてしまう。また、プリンタドライバによっては上記のようにページ間に跨るオブジェクトがあった場合、それを次のページに移動させるものがある。この場合、元のデータとはレイアウトが変わってしまうため、元のレイアウトに従った編集結果を得ることができない。
本発明は以上の課題に鑑みなされたものであり、編集対象のデータを、プリンタドライバを用いて生成させる場合に、適切に編集処理を行えるデータを生成させることができるデータ処理装置、データ処理方法及びプログラムを提供することを目的とする。
上記課題を解決するため本発明のデータ処理装置は、データを入力する入力手段と、前記入力手段で入力されたデータに基づき、入力されたデータの中間データを生成可能なプリンタドライバに対し、印刷設定の用紙サイズとして当該データの編集領域がページ分割されない用紙サイズを設定させることによって当該プリンタドライバを用いて編集領域がページ分割されていない中間データを生成させる第1の処理手段と、前記第1の処理手段によって生成された中間データに基づき編集処理を行う第2の処理手段とを有する。
本発明によれば、プリンタドライバに編集領域がページ分割されないよう決定された印刷設定に従って中間データを生成させるので、適切に編集処理を行えるデータを生成させることができる。
実施例におけるデータ処理装置を含むシステムの構成を示す図である。 PC101の構成を示すブロック図である。 PC101に含まれるソフトウェアの構成を示すブロック図である。 ブラウザ301の画面の一例を示す図である。 構造化モジュール302による画面の一例を示す図である。 実施例による処理の流れを示すフローチャートである。 構造化文書の取得、中間データファイルへの変換、中間データファイルの編集までの流れを示す図である。 印刷プレビューの例を示す図である。
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図1は、本発明に係る実施例におけるデータ処理装置を含むシステムの構成を示すブロック図である。データ処理装置であるPC101は、ネットワーク102を介して複数のWWWサーバ103からWebページをPC101上へダウンロードして表示することができる。Webページには、HTMLやXHTML等の構造化言語で記述された構造化文書が含まれる。また、PC101はプリンタ104とも接続されており、WWWサーバ103上のWebページをPC101上へダウンロードして、これをプリンタ104にシート上に印刷出力させることができる。プリンタ104はPC101から送られてくる印刷データを解釈し、これに基づきシート(用紙)上にインク等の記録剤を付与して可視画像のプリントを行う。
図2は、PC101の内部の構成を示すブロック図である。CPU201は、RAM202、ROM203又はハードディスク204に格納されたプログラムに従って、データや命令を処理する。RAM202は、CPU201が各種処理を行う際の一時記憶領域として用いられる。ハードディスク204は、オペレーティングシステム(OS)、Webブラウザ(以下、ブラウザという)やその他のアプリケーションソフトウェア等を格納する。USBインタフェース205は、USBケーブルが接続されるインタフェースであり、プリンタ104とのデータ通信を行うためのインタフェースである。なお、プリンタ104との通信は、USBケーブルではなく、SCSIや無線等により行われても良い。
表示装置206は、CPU201による制御に基づき、WWWサーバ103からダウンロードしたWebページや、印刷プレビュー画像、又は、GUI等を可視画像として表示する。入力装置207は、ユーザがPC101に対して各種指示を行うための装置であり、例えば、ポインティングデバイスやキーボードである。システムバス209は、CPU201やRAM202、ROM203、ハードディスク204等との間を接続し、データはシステムバス209上で通信される。LANインタフェース208は、PC101をLANに接続するためのインタフェースである。LANインタフェース208を介してルータ(不図示)やネットワーク102を経由して接続された外部のWWWサーバ103とデータ通信が行われる。また、PC101に無線に対応したインタフェースを構成して、データ通信を無線で行うようにしても良い。また、PC101は、表示装置206、入力装置207などが一体となった装置であっても別体となった装置であっても良い。
図3は、PC101にインストールされるソフトウェアの構成を示すブロック図である。ブラウザ301は、Webページを表示するためのアプリケーションであり、WWWサーバ103からWebページ(構造化文書)をPC101のハードディスク204にダウンロードし、表示装置206に表示する。ここで、構造化文書とは、HTMLやXHTML等の構造化言語で記述された構造化文書データであり、構造化文書を構成するテキストや画像等の要素が、タグを用いて記述されている。また、それらの要素の表示スタイルを指定するCSS(Cascading Style Sheet)と呼ばれる別ファイルが構造化文書内に指定されている。ブラウザ301は、入力された構造化文書を解析してタグ等によって指定された形態に従って構造化文書を表示装置206に表示する。なお、ブラウザ301は、少なくとも構造化文書の可視化処理が行え、以下に述べるプラグインソフトウェアを組み込むことが可能な汎用的なブラウザを採用可能である。
構造化文書印刷モジュール302は、ブラウザ301に組み込まれるプラグインソフトウェアであり、ブラウザ301によって呼び出される。ブラウザ301が起動されたとき、ブラウザ301が構造化文書印刷モジュール302を実行する。構造化文書印刷モジュール302に含まれる各処理単位はサブモジュールとしてモジュール化されたものとしてもよいし、1つのモジュール内の処理単位としてもよく、その形態は種々のものを採用可能である。
構造化文書印刷モジュール302において、ユーザインターフェース(UI)部304は、構造化文書印刷モジュール302の実行により起動される。そして、ブラウザ301のウィンドウ内に、ユーザが印刷開始を指示するための印刷ボタン(図4の404)および印刷プレビューの表示を指示するための印刷プレビューボタン(図4の405)を表示する。
中間データ生成部307は、UI部304によって表示された印刷ボタン404または印刷プレビューボタン405がユーザにより操作された場合に実行される。中間データ生成部307は、上記操作により、ブラウザ301が取得した構造化文書の出力先プリンタに対応するプリンタドライバを、OS308に設定されているデフォルトプリンタに拘わらずプリンタドライバ1(309)に設定する。プリンタドライバ1(309)は、中間データファイル310を生成するための仮想プリンタドライバであり、任意のサイズを選択可能なユーザ定義用紙サイズを用紙サイズとして選択することができる。なお、プリンタドライバ1(309)は、所定の用紙サイズに従ってページ単位で画像データを生成可能な汎用的な仮想プリンタドライバを採用可能である。
また、中間データ生成部307は、上記操作がなされた場合、ブラウザ301が取得し、表示する構造化文書303の幅(横サイズ)、高さ(縦サイズ)からなるサイズ情報をサイズ情報取得部305より取得する。サイズ情報取得部305は構造化文書303を解析し、サイズ情報を判定(取得)する。判定されるサイズ情報の単位はピクセル、長さ(ミリ、インチ)などである。そして中間データ生成部307は、ブラウザ301からの構造化文書のプリンタドライバ1(309)を用いた印刷処理時の用紙サイズとして印刷設定部306を用いてユーザ定義用紙サイズに設定するとともに上記のように取得したサイズ情報を設定する。中間データ生成部307は、Webページの編集対象領域(印刷対象のオブジェクトが存在する編集領域)ができるだけ複数ページ(複数の用紙)に跨らないように用紙サイズを決定する。
また、中間データ生成部307は、ブラウザ301に対して印刷命令を発行し、ブラウザ301に構造化文書に基づく印刷処理(印刷用の描画データの生成)を実行させることができる。ブラウザ301は印刷命令が発行されるとOS308を介してプリンタドライバ1(309)に対して描画処理を実行し、プリンタドライバ1(309)に描画データを出力する。この描画データは、構造化文書に文字、図形等のベクタ形式のデータが含まれていた場合、ベクタ形式のままとなる。この描画データを受け取ったプリンタドライバ1(309)は、この描画データに基づきスプールデータである中間データファイル310を生成し、RAM202内の所定の記憶領域に保存する。中間データ生成部307は自身で中間データの生成を行うのではなく、プリンタドライバ1(309)に対して印刷ジョブを実行させ、中間データファイルを生成するよう指示するものである。なお、プリンタドライバ1(309)は仮想プリンタドライバであるため、中間データファイル310の生成を行った後、実際のプリンタへの出力は行わない。ただし、ブラウザ301は実際にプリンタへの出力を行う実プリンタドライバへの出力と同様に描画データを出力する。
中間データファイル310は、実際にプリンタへ出力される場合に生成される中間データファイルと同様の形式であり、文字や図形等の情報はベクタ形式のままとする。ただし、これらを画像形式に変換し、ビットマップデータ形式等としてもよい。中間データファイルとしては、EMF(Enhanced Metafile Format)、XPS(XML Paper Specification)、PDF(Portable Document Format)などを用いることができる。
中間データ生成部307は、ブラウザ301に対して印刷命令を発行した後、OS308のスプーラの状況を監視し、ブラウザ301によって生成された描画データがプリンタドライバ1(309)による中間データファイルへの変換が終了したか判断する。中間データ生成部307は、これによってプリンタドライバ1(309)による印刷ジョブの処理が終了したことを検出し、これに応じて中間データファイル310の編集を行うための中間データ編集部311を起動する。中間データファイル310は編集用データとして中間データ編集部311に出力され、編集処理が行われることになる。
中間データ編集部311は、中間データ生成部307が抽出した、プリンタドライバ1(309)が生成した中間データファイル310を取得して印刷設定に従って実際の印刷においてシート上に適切に収まるようレイアウト等の編集を行う。中間データ編集部311は中間データファイル310の各オブジェクトのレイアウト等の編集を行い、各オブジェクトの配置情報を決定し、記憶するとともに、編集済み中間データファイル315を生成する。中間データ編集部311は、編集に際して用紙サイズ、解像度、印刷可能領域等の情報を含む印刷設定を、OS308を介してプリンタドライバ2(314)から取得する。プリンタドライバ2(314)は編集済みのWebページを実際に印刷する際に用いるプリンタの実プリンタドライバである。プリンタドライバ2(314)は、入力された中間データに基づき用紙上に印刷させるための処理が可能な汎用的な実プリンタドライバを用いることができる。プリンタは予め決められたものとしてもよいし、印刷に際してユーザによって選択されたものとしてもよい。ここではプリンタ104用のプリンタドライバであるものとする。
印刷プレビュー部312は中間データ編集部311でレイアウト等の編集が行われた編集済み中間データファイル315に基づく印刷プレビュー画像データを生成し、表示装置206に表示させる(図5)。印刷プレビュー部312による印刷プレビューを行った後、ユーザにより再編集の操作が行われると中間データファイル315を再度編集し、その内容が書き換えられる。
印刷処理部313は、実際の印刷のための各種印刷制御を実行する。印刷処理部313はユーザにより印刷ボタン404または印刷ボタン503が操作された場合に、中間データ編集部311により行われた編集の結果である編集済み中間データファイル315の印刷処理(印刷ジョブの処理)を実行する。なお、ここでは編集済み中間データファイル315を用いるのに代え、中間データファイル310を用い、中間データ編集部311が記憶した配置情報等に従ってレイアウト等を変更しながら印刷ジョブの処理を実行するようにしてもよい。印刷処理部313は、プリンタドライバ2(314)の印刷設定に従ってレイアウト編集された中間データファイルの描画処理を行い、OS308を介してプリンタドライバ2(314)に対して描画データを出力する。プリンタドライバ2(314)は、印刷処理部313から描画データを受け取り、これに基づきプリンタ104が解釈可能な形式の印刷データを生成し、これをプリンタ104に対して出力する。
OS308は汎用的なOSを用いることができる。OS308は構造化文書印刷モジュール302とプリンタドライバとが印刷設定データ等のやり取りを行うためのAPI(Application Programming Interface)を提供する。またOS308はプリンタドライバを介した描画処理のためのやり取りのためのAPIも提供する。またOS308には印刷ジョブの管理を行うスプーラシステム、プリントコマンドをポートへ出力するポートモニタ等の各種制御ソフトウェアが含まれる。
図4は、PC101の表示装置206で表示されるブラウザ301上において構造化文書印刷モジュール302を起動させ、さらに取得されたWebページを表示させた場合のGUI画面の一例を示す図である。
図4において、戻るボタン401、進むボタン402、アドレス入力欄403などがブラウザ301によって提供される。印刷ボタン404、印刷プレビューボタン405は構造化文書印刷モジュール302のUI部304によって提供されるものであり、構造化文書印刷モジュール302が起動されたときに表示される。印刷ボタン404が押されると構造化文書印刷モジュール302によって処理されたデータを、印刷プレビューを行うことなくプリンタドライバ2(314)によって処理させてプリンタ104で当該データに基づく画像を印刷させる。印刷プレビューボタン405が押されると、印刷プレビュー部312を用いた印刷プレビューを行う。Webページ406はブラウザ301が取得したWebページを、ブラウザ301によって解釈し、可視画像として表示させたものである。
戻るボタン401は現在表示されているWebページ406を表示させる前に表示していたWebページの表示に切り替えるためのボタンである。進むボタン402は一旦戻るボタン401で表示を切り替えた後、元のWebページの表示に切り替えるためのボタンである。アドレス入力欄403は取得したいWebページのURLを入力する欄であり、現在表示しているWebページのURLを表示する。なお、ブラウザ301は自身でも印刷メニューを有しており、構造化文書印刷モジュール302を用いた処理を行わずにWebページの印刷を行わせる場合、ブラウザ301の印刷メニューを用いて印刷指示を行う。
図5は、PC101の表示装置206で表示される構造化文書印刷モジュール302によるGUI画面の一例を示す図である。図5の画面は、図4の画面において印刷プレビューボタン405が押された場合に表示される。図5の画面は図4の画面におけるウィンドウとは別のウィンドウとして表示される。
図5において、印刷プレビュー画面501は、構造化文書印刷モジュール302によって表示される画面(ウィンドウ)である。印刷プレビュー502は図4の画面で表示されたWebページ406に基づき印刷プレビュー部312が生成した編集済みの印刷プレビュー画像データに基づく画像である。印刷ボタン503は印刷プレビューの内容で印刷を開始させるためのボタンである。印刷ボタン503の横には印刷設定を変更するための画面を呼び出すボタンも含まれ、これによって呼び出された画面を用いて用紙サイズ、向き、段組みなどの印刷体裁を変更することができる。印刷用倍率指定部504は印刷の際、印刷対象のWebページを拡大させたり縮小させたりする際の拡大・縮小率を設定するためのスライダである。この指定部504で拡大・縮小率を変更させることにより印刷プレビュー502も変倍され(用紙イメージは変更されない)、用紙上にどのように印刷されるかを確認可能である。ボタン505は印刷対象のWebページが用紙からはみ出してしまう場合に用紙にちょうどフィットするようWebページの縮小率を自動的に決定して印刷させるためのボタンである。ページ切替ボタン506は、現在表示されている印刷プレビュー502を前のページまたは次のページに切り替えるためのボタンである。ここでのページは、用紙単位でのページである。表示用変倍ボタン507は印刷プレビュー502の表示倍率を変更するためのボタンであり、用紙全体を表示させるようにしたり、用紙幅を基準にして表示させるようにしたりするためのボタンである。表示用変倍ボタン507による変倍は印刷時の拡大・縮小率には影響しない。また、表示用変倍ボタン507において「サムネイル表示」を選択した場合、印刷対象のWebページが複数ページとなる場合、複数ページ分のWebページを一覧表示させることができる。
次に以上の構成による構造化文書印刷モジュール302によって行われる処理の流れについて説明する。図6は、構造化文書印刷モジュール302によって中間データファイル315を生成するまでの処理を示すフローチャートである。このフローチャートは、CPU201が構造化文書印刷モジュール302に対応するプログラムをハードディスク204から読み出し、RAM202にロードし、それを実行することにより行われる処理の流れを示す。また、各ステップにおける処理の詳細は図3などを用いて上述した通りである。
図4の画面において印刷ボタン404または印刷プレビューボタン405がユーザによって押されると、本フローが開始される(S601)。S602では、処理対象のWebページ406の幅及び高さのサイズ(ピクセル単位)をサイズ情報取得部305により取得する。このとき取得する幅サイズ及び高さサイズはブラウザ301の現在のウィンドウのサイズに依存するものではなく、表示対象となっている全領域である。即ち、ある時点では隠れており表示されていない領域であってもスクロールさせることによって表示させることのできる領域までを指す。なお、ブラウザによってはWebページの幅が現在のウィンドウサイズに依存するものがあるため、サイズ情報取得部305は、ブラウザ301のウィンドウ幅を変更した後のサイズ情報を取得するようにしてもよい。このウィンドウ幅の変更は、Webページの幅サイズが所定のサイズより小さい場合に拡張させたり、取得したWebページの構造化文書を解析した結果、変更の必要があると判断された場合に拡張させるものである。
S603では、中間データ生成部307がブラウザ301からのWebページの出力先プリンタ(プリンタドライバ)を仮想プリンタドライバであるプリンタドライバ1(309)に設定する。
S604では、印刷設定部306がブラウザ301から指定可能なプリンタドライバ1(309)の印刷設定に含まれる用紙サイズ種類の中からユーザ定義サイズを選択し、用紙サイズを先に取得した幅サイズと高さサイズ(ページ数は1)に設定する。このとき、取得したWebページの大きさによっては幅サイズまたは高さサイズが大き過ぎて1ページに収まらない場合がある。その場合は、所定のサイズで区切って複数ページとなるように用紙サイズを決定する。また、Webページの大きさが1枚の用紙サイズ分に収めることができる場合、必ずしもページ数を1とする必要はなく、2以上のページ数となるようにしてもよい。ただし、2以上のページとなる場合、編集の妨げとならないように改ページ位置を制御してから分割することが望ましい。また、ページ数を2ページ以上とする条件としては処理対象のWebページのサイズが所定サイズ以上であった場合が含まれる。例えば、処理対象のWebページのサイズ(ピクセル)がユーザ定義用紙サイズとして設定可能なサイズに設けられている上限を超える場合、この上限を超えない位置でページを区切る。また、ページ数を2ページ以上とする条件として、Webページのサイズに拘わらず予め2ページ以上とするよう決められている場合などがある。
S605では、ブラウザ301の印刷設定に含まれるヘッダー、フッターの印刷をOFFに設定する。このヘッダー、フッターの印刷設定とは、Webページの印刷時に各ページのヘッダー、フッターとしてWebページのタイトル、URL、日時、ページ数などを印刷させる設定である。これらがプリンタドライバ1(309)への出力の際に付加されるとブラウザ301で表示させている状態とは見た目が異なってしまうため、ここではこれらをOFFにする。ただし、後の編集処理においてヘッダー、フッターの削除を行うことが可能な場合やヘッダー、フッターを付加したい場合などにはこの処理を省略しても構わない。
S606では、中間データ生成部307が、ブラウザ301の印刷設定に含まれる余白設定を0(ゼロ)に設定する。この余白設定とは印刷の際、各ページの上下左右に余白を付加するためのものであるが、ここでもよりブラウザ301で表示させた場合の見た目に近付けるために0とするものである。この処理は後の編集処理によって解消できる場合や余白が付加されていても構わない場合などには省略しても構わない。
S607では、中間データ生成部307が、ブラウザ301に対して印刷命令を発行し、これに応じてブラウザ301は印刷設定に従ってOS308を介してプリンタドライバ1(309)に対するWebページの印刷ジョブの処理を実行する。
S608では、中間データ生成部307がOS(スプーラ)308から処理対象のWebページの印刷ジョブのステータスを取得し、S609において印刷ジョブが完了したと判断されるまでスプーラの監視を行う。
S609において印刷ジョブの処理が完了したと判断された場合、S610に進み、当該印刷ジョブの処理により生成された中間データファイルの編集を行うために中間データ編集部311を起動し、中間データ生成部307の処理を終了する(S611)。
図7は、ブラウザ301がWebページ(構造化文書)を取得し、中間データ生成部307がプリンタドライバ1(309)に中間データファイルを生成させ、中間データ編集部311が編集済み中間データファイルを生成するまでの処理の流れを示す図である。
図7において、303はブラウザ301が取得したWebページ(構造化文書)であり、幅サイズがWピクセル、高さサイズがHピクセルであるとする。この構造化文書303を上述のように中間データ生成部307がプリンタドライバ1(309)に生成させた中間データファイル310は幅サイズがWピクセル、高さサイズがHピクセルの1ページ分の印刷データとなる。この幅サイズWピクセル、高さサイズHピクセルは、前述のとおり用紙サイズとしてユーザ定義サイズを選択し、そのサイズに幅サイズWピクセル、高さサイズHピクセルを指定することによって実現する。
ここで、例えば構造化文書303のサイズがユーザ定義サイズに指定可能なサイズの上限値を超えてしまう場合はページ数を2以上とせざるを得ない。このような場合、ページ数をnとすると、1ページ当たりの高さサイズをH/nとすると最終ページでの後端部分の余分な余白の発生を防止できる。ただし、これ以外の方法で分割するようにしてもよい。これ以外の分割方法としては、1ページ目を上限値またはそれより微小サイズ分小さいサイズとし、残った分を同サイズ単位で分割する方法がある。この場合、最終ページに大きく余白領域が入ってしまうこともある。この余白領域が発生しないよう、最終ページのサイズを元のWebページが存在していた位置までとするようにしてもよい。また、上記のようにH/nとなるように分割位置を特定した後、その分割位置に特定のオブジェクトが存在する場合、分割位置を前後のいずれかにずらす方法もある。この場合、ページ毎の異なるサイズとなることもある。
そしてこの中間データファイル310が中間データ編集部311によってプリンタ104を用いた実際の印刷のためにレイアウト編集等が行われ、編集済み中間データファイル315として出力される。ここではプリンタドライバ2(314)の印刷設定に含まれる用紙サイズ、解像度、印刷可能領域に応じた変倍やページ区切り処理などが行われる。またWebページが用紙内に適切に収まるように(オブジェクトの欠けや分断などが発生しないように)各オブジェクトのレイアウトの変更やサイズ変更などの処理も行われる。また、この各オブジェクトのレイアウトの変更やサイズ変更などの処理は、中間データファイル310に含まれる各オブジェクトを解析することによって自動的に行うようにしてもよいし、ユーザからの指示に従って行うようにしてもよい。また、ユーザの指示によってオブジェクトの配置パターンを決定し、これに従って自動的に各オブジェクトの位置やサイズを決定するようにしてもよい。
ここでは、編集済みの中間データファイル315における各ページが幅サイズW’、高さサイズH’に編集されたものとする。例えば、プリンタドライバ2(314)において印刷時に用いる用紙サイズがISO A4サイズに設定されていた場合、W’が210mm、H’が297mmとなる。元の構造化文書303のサイズが最終的な印刷の際の用紙1枚分以下であった場合、編集済み中間データファイル315は複数ページに分割はされない。
このように、中間データファイル310のサイズを、実際の印刷に用いる用紙サイズより十分大きいものとした(ここでは最終的には複数ページとなるものが1ページとなる大きさ)。従って、ページ間で余白などが入ったり、オブジェクトの移動などが行われない状態で後段での中間データ編集部311による編集を行うことができ、編集の自由度が上がる。
図8は、図5における印刷プレビューにおいて表示用変倍ボタン507で「サムネイル表示」が選ばれた場合に表示される複数ページのWebページの一覧画面である。「サムネイル表示」が選ばれると、図8(a)に示すように図5ではページ単位で表示されていた印刷プレビュー502が複数ページの一覧表示となる。図8(a)では構造化文書303の全部を1画面で表示しているが、多数ページとなる場合、画面を順次切り替えて表示させるようにしてもよい。
図8(a)は、中間データファイル310を中間データ編集部311によって編集した結果、8ページに分割された編集済み中間データファイル315の印刷プレビューの例を示している。この編集に際してページ間に跨るオブジェクト(文字領域や画像)などは分断されることがないよう次のページへ移動させて配置されている。この状態でユーザが印刷用倍率指定部504で縮小を指示すると図8(b)に示すように例えば7ページに分割された印刷プレビューに変更される。このとき、ページ間にくるオブジェクトは図8(a)の場合とは異なるので、元の中間データファイル310に基づきページ間に跨るオブジェクトを次ページに移動させる処理などが行われる。そしてさらに縮小が指示されると、図8(c)に示すように例えば6ページに分割された印刷プレビューに変更される。このとき元の中間データファイル310に従って編集処理が行われるのは上述の通りである。図8(d)はさらに縮小が指示され5ページに分割された印刷プレビューの例である。
また、図8(e)は、印刷設定から用紙の向きと段組みを変更した場合の印刷プレビューの例を示している。例えば、図8(d)の印刷プレビューから印刷設定の用紙の向きを縦(ポートレイト)から横(ランドスケープ)に変更し、段組みを2段組みレイアウトに変更することにより、5ページに分割されていたものが横向きとなった用紙に2ページずつ収められる。結果として、図8(e)に示すように3ページ分の印刷プレビューが表示される。
なお、ここでは印刷用倍率指定部504による倍率の変更、あるいは印刷設定の変更による編集の例について示したが、中間データ編集部311はこれ以外の編集も可能である。例えばユーザによる入力装置207(ポインティングデバイス等)の操作により印刷プレビュー中の所定の領域のトリミングを行ったり、任意のオブジェクトの拡大・縮小・移動などを行ったりすることも可能である。
以上のように、取得した構造化文書に基づき仮想プリンタドライバを用いて中間データファイルを生成させることにより、構造化文書内にベクタ形式のデータが含まれる場合、ベクタ形式の状態のまま後段の編集処理を行うことができる。そのため、後段の編集においても画質のよい画像を得ることができる。そして仮想プリンタドライバを用いて中間データを生成させる際、構造化文書のサイズに応じて用紙サイズを設定することにより、ページ分割されず、またブラウザで表示させた場合と同様の形態で後段の編集を行うことができ、編集の自由度が上がる。
なお、本実施例では仮想プリンタドライバであるプリンタドライバ1と実プリンタドライバであるプリンタドライバ2の2つのプリンタドライバを用いるものとしたが、これを1つのプリンタドライバとするようにしてもよい。この場合、中間データファイル310を生成する際は用紙サイズを構造化文書のサイズに従ったものとするとともにプリンタ104への出力を行うのではなく、スプーラで保持させたままとする。そして、中間データファイルの生成が完了したら中間データ編集部311に処理を移す。そして中間データ編集部311では用紙サイズを元々設定されていた実印刷用の用紙サイズに変更し、中間データ編集部311による編集が終了した場合、印刷処理部313による処理を行い、プリンタ104へ出力する。
また、以上の実施例では仮想プリンタドライバにおける中間データの生成において、用紙サイズを構造化文書のサイズに従ったものとすることによりページ分割されないようにするものとした。しかしながら、仮想プリンタドライバに拡大・縮小機能がある場合、これを用いて縮小させたり、用紙サイズの設定と縮小処理とをともに用いてページ分割されないようにしてもよい。また、仮想プリンタドライバの印刷ジョブ処理時の用紙サイズにユーザ定義用紙サイズを用いるのではなく、ページ数が1ページとなる大きさの定型サイズを選択するようにしてもよい。
また、以上の実施例では最終的にWebページの印刷を行うものとしたが、これには限らず、中間データ編集部311で編集された編集済み中間データファイルを所定の記憶装置に記憶させたり、外部の装置に送信したりするようにしてもよい。
また、以上の実施例では処理対象のデータを、ブラウザが取得したWebページとしたが、ページ単位で区切られていない他の形式のデータを処理対象のデータとしてもよい。
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。

Claims (12)

  1. データを入力する入力手段と、
    前記入力手段で入力されたデータに基づき、入力されたデータの中間データを生成可能なプリンタドライバに対し、印刷設定の用紙サイズとして当該データの編集領域がページ分割されない用紙サイズを設定させることによって当該プリンタドライバを用いて編集領域がページ分割されていない中間データを生成させる第1の処理手段と、
    前記第1の処理手段によって生成された中間データに基づき編集処理を行う第2の処理手段とを有することを特徴とするデータ処理装置。
  2. 前記入力手段で入力したデータの幅サイズ及び高さサイズを判定する判定手段を有し、前記第の処理手段は、前記印刷設定に含まれる用紙サイズを前記判定手段によって判定された幅サイズ及び高さサイズとして前記プリンタドライバを用いて中間データを生成させることを特徴とする請求項1に記載のデータ処理装置。
  3. 前記第1の処理手段は、前記印刷設定に含まれる用紙サイズとして前記入力手段で入力されたデータに基づき中間データを生成したときのページ数が1ページとなる用紙サイズ前記プリンタドライバに設定させることによって編集領域がページ分割されていない中間データを生成させることを特徴とする請求項1または2に記載のデータ処理装置。
  4. 前記第1の処理手段は、前記入力手段で入力されたデータがベクタ形式であった場合、ベクタ形式の中間データを生成させることを特徴とする請求項1〜3のいずれか1項に記載のデータ処理装置。
  5. 前記第2の処理手段によって編集された結果をプレビューするプレビュー手段を有し、前記第2の処理手段は前記プレビュー手段によるプレビューに対するユーザからの指示に基づき再度編集を行うことを特徴とする請求項1〜4のいずれか1項に記載のデータ処理装置。
  6. 前記第2の処理手段によって処理されたデータを第2のプリンタドライバを用いて当該データに基づく画像を印刷装置に印刷させる印刷制御手段を有し、
    前記第2の処理手段は、前記第2のプリンタドライバの印刷設定に従って編集を行うことを特徴とする請求項1〜5のいずれか1項に記載のデータ処理装置。
  7. 前記入力手段は、構造化文書を処理対象のデータとして入力することを特徴とする請求項1〜6のいずれか1項に記載のデータ処理装置。
  8. 前記入力手段は、構造化文書を解析して表示させるためのブラウザから処理対象のデータを入力し、
    前記第1の処理手段は、前記ブラウザを介して印刷指示が行われた場合に、前記プリンタドライバに対し、印刷設定の用紙サイズとして編集対象のデータの編集領域がページ分割されないよう決定された用紙サイズを設定させることを特徴とする請求項7に記載のデータ処理装置。
  9. 前記第1の処理手段は、前記プリンタドライバを用いて中間データを生成させる場合に、前記ブラウザの印刷設定としてヘッダー及びフッターの印刷を行わないように設定することを特徴とする請求項8に記載のデータ処理装置。
  10. 前記第1の処理手段は、前記プリンタドライバを用いて中間データを生成させる場合に、前記ブラウザの設定として余白をゼロに設定することを特徴とする請求項8または9に記載のデータ処理装置。
  11. 入力されたデータに基づき、入力されたデータの中間データを生成可能なプリンタドライバの印刷設定の用紙サイズとして当該データの編集領域がページ分割されない用紙サイズを決定し、
    決定された印刷設定に従ってプリンタドライバを用いて中間データを生成させ、
    前記プリンタドライバによって生成された中間データを編集用データとして出力することを特徴とするデータ処理方法。
  12. 請求項1〜10のいずれか1項に記載のデータ処理装置の各手段、または請求項11に記載のデータ処理方法をコンピュータにより実現することを特徴とするプログラム。
JP2011194963A 2011-09-07 2011-09-07 データ処理装置、データ処理方法およびプログラム Active JP5539280B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011194963A JP5539280B2 (ja) 2011-09-07 2011-09-07 データ処理装置、データ処理方法およびプログラム
US13/599,782 US9158488B2 (en) 2011-09-07 2012-08-30 Data processing apparatus and data processing method for generating data to be edited using a print driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011194963A JP5539280B2 (ja) 2011-09-07 2011-09-07 データ処理装置、データ処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013058007A JP2013058007A (ja) 2013-03-28
JP5539280B2 true JP5539280B2 (ja) 2014-07-02

Family

ID=47752953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011194963A Active JP5539280B2 (ja) 2011-09-07 2011-09-07 データ処理装置、データ処理方法およびプログラム

Country Status (2)

Country Link
US (1) US9158488B2 (ja)
JP (1) JP5539280B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229231B2 (en) 2011-12-07 2016-01-05 Microsoft Technology Licensing, Llc Updating printed content with personalized virtual data
US9182815B2 (en) 2011-12-07 2015-11-10 Microsoft Technology Licensing, Llc Making static printed content dynamic with virtual data
US9183807B2 (en) * 2011-12-07 2015-11-10 Microsoft Technology Licensing, Llc Displaying virtual data as printed content
US9165381B2 (en) 2012-05-31 2015-10-20 Microsoft Technology Licensing, Llc Augmented books in a mixed reality environment
JP6111728B2 (ja) * 2013-02-20 2017-04-12 株式会社リコー 画像形成出力制御システム、画像形成出力制御プログラム及び情報処理装置
JP2014239364A (ja) * 2013-06-10 2014-12-18 コニカミノルタ株式会社 出力設定装置およびコンピュータープログラム
JP6458427B2 (ja) * 2014-09-29 2019-01-30 ブラザー工業株式会社 情報処理装置、記録システム、及びプログラム
WO2018119648A1 (zh) * 2016-12-27 2018-07-05 深圳市柔宇科技有限公司 电子装置及输入控制方法
US10789411B2 (en) * 2018-07-02 2020-09-29 Adobe Inc. Utilizing a genetic framework to generate enhanced digital layouts of digital fragments for cross-platform distribution to client devices
CN114296662B (zh) * 2021-12-28 2023-10-13 城云科技(中国)有限公司 基于网页的表格文书分页打印方法、装置及其应用

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3673643B2 (ja) * 1997-07-30 2005-07-20 キヤノン株式会社 印刷レイアウト装置及び印刷レイアウト方法並びに記憶媒体
JP3700435B2 (ja) 1998-12-22 2005-09-28 カシオ計算機株式会社 ドキュメント処理装置
US7808663B2 (en) * 1999-12-07 2010-10-05 Minolta Co., Ltd. Apparatus, method and computer program product for processing document images of various sizes and orientations
JP3884943B2 (ja) * 2000-12-26 2007-02-21 キヤノン株式会社 情報処理装置、印刷データ生成方法、印刷制御プログラム及びコンピュータ読み取り可能な記録媒体
JP3689662B2 (ja) * 2001-07-16 2005-08-31 キヤノン株式会社 情報処理装置及びその表示方法
JP3572059B2 (ja) * 2002-05-31 2004-09-29 キヤノン株式会社 情報処理装置及び情報処理方法
JP2006277057A (ja) * 2005-03-28 2006-10-12 Brother Ind Ltd 情報処理装置及びプログラム
JP4530974B2 (ja) * 2005-11-11 2010-08-25 理想科学工業株式会社 画像形成装置及び画像形成用プログラム
JP2010157208A (ja) * 2008-12-02 2010-07-15 Ricoh Co Ltd データ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記録媒体
JP5455456B2 (ja) * 2009-06-09 2014-03-26 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP5371560B2 (ja) * 2009-06-09 2013-12-18 キヤノン株式会社 レイアウト編集装置、レイアウト編集方法及びプログラム
JP5629435B2 (ja) * 2009-06-30 2014-11-19 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP5460215B2 (ja) * 2009-09-29 2014-04-02 キヤノン株式会社 情報処理装置及びその方法
JP2011079162A (ja) * 2009-10-05 2011-04-21 Canon Inc 印刷装置及びその制御方法及びプログラム

Also Published As

Publication number Publication date
JP2013058007A (ja) 2013-03-28
US20130057891A1 (en) 2013-03-07
US9158488B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
JP5539280B2 (ja) データ処理装置、データ処理方法およびプログラム
US7821690B2 (en) Information processing apparatus, image forming apparatus and method, and storage medium readable by computer therefor
JP5371560B2 (ja) レイアウト編集装置、レイアウト編集方法及びプログラム
CN106055290B (zh) 图像处理设备和图像处理方法
JP4966533B2 (ja) 印刷システム、印刷方法、印刷プログラムおよび記録媒体
JP5920670B2 (ja) 画像形成装置及び印刷制御プログラム並びに印刷制御方法
JP5629435B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20090265626A1 (en) Apparatus and method of controlling display
JP5792942B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5735778B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR101508075B1 (ko) 정보 처리 장치, 웹브라우저 제어 방법 및 그 프로그램을 저장한 저장 매체
JP5947508B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2009048467A (ja) 拡大縮小印刷方法
JP2024118525A (ja) プログラム、情報処理装置及びその制御方法
JP2004213305A (ja) 印刷制御システムおよび情報処理装置および印刷制御方法およびプログラム
JP2012027632A (ja) 印刷制御プログラム、プログラム、情報処理装置、コンピュータ読み取り可能な記録媒体、印刷システム、及び印刷装置
JP2012033055A (ja) 印刷制御装置、その制御方法及びプログラム
JP2010176286A (ja) 文書データ処理システム
JP2012014282A (ja) レイアウト編集方法、レイアウト編集装置、およびプログラム
JP2011096267A (ja) 印刷装置、印刷方法、印刷プログラムおよび記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

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

R151 Written notification of patent or utility model registration

Ref document number: 5539280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140430