JP5675047B2 - 文書処理装置およびコンピュータプログラム - Google Patents

文書処理装置およびコンピュータプログラム Download PDF

Info

Publication number
JP5675047B2
JP5675047B2 JP2008318941A JP2008318941A JP5675047B2 JP 5675047 B2 JP5675047 B2 JP 5675047B2 JP 2008318941 A JP2008318941 A JP 2008318941A JP 2008318941 A JP2008318941 A JP 2008318941A JP 5675047 B2 JP5675047 B2 JP 5675047B2
Authority
JP
Japan
Prior art keywords
document
print setting
print
setting information
structured document
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
JP2008318941A
Other languages
English (en)
Other versions
JP2010140445A (ja
JP2010140445A5 (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 JP2008318941A priority Critical patent/JP5675047B2/ja
Priority to US12/619,659 priority patent/US8634102B2/en
Priority to CN2012102362188A priority patent/CN102830945A/zh
Priority to CN200910225443XA priority patent/CN101901117B/zh
Publication of JP2010140445A publication Critical patent/JP2010140445A/ja
Publication of JP2010140445A5 publication Critical patent/JP2010140445A5/ja
Priority to US14/158,173 priority patent/US9557947B2/en
Application granted granted Critical
Publication of JP5675047B2 publication Critical patent/JP5675047B2/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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • 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
    • 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
    • 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/1253Configuration of print job parameters, e.g. using UI at the client

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)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、例えば印刷処理を行う前に、印刷イメージをユーザが認識可能に表示する、いわゆるプレビュー機能等を有する文書処理装置および文書処理方法に関する。
オペレーティングシステム(OS)としてマイクロソフト社のウインドウズ(登録商標)を搭載した計算機を用いた印刷システムにおいて、アプリケーションプログラム(アプリケーション)等で生成された印刷データは、OS標準のデータ形式でスプールファイルに格納される。OSは印刷データを印刷するためにプリンタドライバを呼び出す。そしてプリンタドライバが、スプールファイルに格納された印刷データを読み取り、イメージ生成処理部により印刷イメージを作成し、さらにプリンタが解釈可能な印刷コマンドに変換する。印刷コマンドはプリンタに送信され、プリンタは印刷コマンドを解釈し、記録媒体に像を形成することで印刷処理が実行される。
また、プリンタドライバには、印刷コマンドがプリンタに対して送信される前に印刷データおよび印刷設定を解析して印刷結果を示す表示用のデータを作成し、それを前もって表示する印刷プレビュー機能が実現されている。プレビュー機能はプリンタドライバの1モジュールとして提供されている。プレビュー機能によって、プリンタドライバのレンダリングモジュールもしくはOSの描画モジュールにより描画された内容を表示部に印刷プレビューとして出力する機能を備えている(例えば特許文献1又は特許文献2等参照)。さらに印刷プレビューにおいて印刷設定の表示や、必要に応じて変更を行う機能も実現されている(例えば特許文献3参照)。
一方、近年では従来の印刷システムとは異なる印刷システムが登場してきた。この新しい印刷システム(XPS印刷システムと呼ぶ)では、スプールファイルに格納されるデータ形式として従来のEMF形式(Enhanced Meta File)ではなくXPS形式(XML Paper Specification)が用いられる。XPSはマイクロソフト社が開発したオープン規格の電子文書フォーマットである。
特開2003−167721号公報 特開2004−102618号公報 特開2006−011847号公報
印刷プレビューにおいて印刷設定の変更を行う場合、ユーザが変更内容の影響範囲を認識しやすいように、印刷設定変更の対象をジョブ中の全ページが同じ印刷設定を持つジョブに限定し、変更内容をジョブ全体に反映させる方法が用いられることがある。その場合、ジョブ中の全ページが印刷設定が同一であるかの判定が必要になる。XPS印刷システムでは、印刷設定を記述したXMLデータであるプリントチケット(PrintTicket)をページ等のパートごとに持つことができる。そのためXPS形式の文書データについてページごとの印刷設定が互いに同一であることの判定を行う場合、プリントチケット同士の比較が必要になる。
しかし、プリントチケットに記述された各項目を個々に比較して行く場合、ページ数やプリントチケットに記述された項目数によっては大きな処理負荷がかかると考えられる。また、印刷設定の変更を行った後にプリントチケットに変更内容を反映する際、全ページに反映されるようにプリントチケットの更新を行う必要がある。
本発明は上記の問題点に鑑みて成されたもので、印刷設定変更の対象をジョブ中の全ページが同じ印刷設定を持つジョブに限定したい場合に、印刷設定の比較や更新の処理負荷を最小限に抑える文書処理装置および文書処理方法を提供することを目的とする。
上記目的を達成するために、本発明は以下の構成を有する。すなわち、複数の階層の要素のそれぞれに対して印刷設定情報を付加することが可能な構造化文書を扱う文書処理装置であって、
前記構造化文書が当該構造化文書に含まれる文書要素の階層と、当該文書要素に含まれる全てのページ要素の階層とに印刷設定情報が存在しない状態を示す第1の状態であるかを判定する第1の判定手段と、
前記第1の判定手段により第1の状態ではないと判定された際に、前記構造化文書が当該構造化文書に含まれる文書要素の総数が複数である第2の状態であるかを判定する第2の判定手段と、
前記第1の判定手段が前記構造化文書は前記第1の状態であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可する制御手段とを有し、
前記制御手段は、前記第2の判定手段が前記構造化文書は前記第2の状態であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を禁止する。
上記構成により本発明によれば、全ページについて同一の印刷設定がされた印刷ジョブであることを軽い処理負担で迅速に判定することができる
また、PrintTicketの更新量を抑えながら、印刷設定の変更をXPSデータ全体に反映することができる。
[実施形態1]
以下、図面に示す実施例に基づき本発明を詳細に説明する。尚、本文中のXPSとはXML Paper Specificationの略で、Microsoft社が開発したオープン規格の電子文書フォーマットの一つである。
<XPS文書の構成>
本文の理解を容易にするため、まずXPSについて簡単に説明する。XPS文書は階層構造を持ち、各階層に要素を有する構造化文書である。具体的には、XPS文書は、FixedDocumentSequence (以下FDSあるいはジョブ要素)をルートすなわち最上位の階層とするツリー構造になっている。FDSは複数のFixedDocument(以下FDあるいは文書要素)を持ち、FDは複数のFixedPage(以下FPあるいはページ要素)を持つ。すなわち最上位階層に下位の階層が属している。FDSとFDとFPのそれぞれは、XPSパートと呼ばれることがある。これらはまたXPSの要素と呼ばれることもある。FPには文書のページの内容がXML形式で記述されており、実際に表示または印刷される内容を含んでいる。すなわちFPには描画情報が記述されている。FPのページ内容で使用されるフォントや画像等のリソースは複数のFPで共有することができる。また、FDSとFDとFPははそれぞれ印刷設定をプリントチケット(以下PT)で持つことができる。すなわちプリントチケットが、各要素に付加された印刷設定情報に相当する。PTはXPS文書を印刷する際の印刷設定をXML形式で記述したものである。ここで各FPを印刷する際に使用する印刷設定は、FDSのPTと、印刷対象FPの親FDのPTと、印刷対象FPのPTをマージしたPTとなる。マージする際には、下位の階層の印刷設定が優先される。XPS形式の文書データでは、FPが文書の各ページに相当し、FDがページを束ねた文書に相当し、FDSが文書を束ねたジョブに相当する。ジョブがひとまとまりの文書データに相当することになる。
図1はXPS文書の論理構造を示したブロック図の一例である。XPS文書101の論理構造はFDS103がルートとなるツリー構造となっている。FDS103は子としてFD111とFD113を有する。FD111は子としてFP121とFP123を有する。FD113は子としてFP125を有する。印刷設定を記述したPTについては、FDS103がPT131を、FD111がPT133を、FP121がPT135を、FD113がPT137をそれぞれ保持している。ここで保持しているとは関連づけられていると換言することもできる。FP123とFP125はPTを保持していない。また、FP121とFP123がフォントや画像等のリソース141を共有しており、FP125はフォントや画像等のリソース143を利用している。ここで例えばFP121を印刷する際に使用するPTは、PT131とPT133とPT135をマージしたPTとなる。また、実際のXPS文書は前記図1の構造化文書が圧縮されたデータである。
図16はPTの一例である。前述したように印刷設定がXMLで記述されており、図16のPTでは用紙サイズ:A4、用紙の種類:普通紙といった印刷設定が記述されている。このPTがFDS、FD、FPそれぞれに付けられる。
図17はPTのマージによって生成されるFPの印刷設定の一例である。マージの際に各PTの印刷設定は、子要素の設定が優先して適用される。また、どのパートのPTにも存在しない印刷設定は、ユーザのデフォルト印刷設定が適用される。例えば、図17のようにFDS、FD、FPのPTに用紙サイズの設定がない場合、ここではユーザのデフォルト設定である「A4」がページレベルの印刷設定として適用される。また用紙の種類に関してはFDSに「普通紙」、FDに「はがき」と記述されており、FPのPTには記述されていない。この場合、FDSの設定より、子要素であるFDの設定が適用されるため、ページレベルの印刷設定における用紙の種類は「はがき」となる。同様に給紙方法ではFDSのPTに記述された「カセット」が、印刷の向きではFPのPTに記述された「横」が、モノクロ印刷ではFPのPTに記述された「ON」が適用される。このように、該当する印刷設定が存在するPTの内、木構造上でより下位のXPSパートの設定がページレベルの印刷設定として適用される。また、各設定項目にはどのレベルで使用されるかが指定されており、指定されるレベルより下位のレベルのパートに存在するPTをマージする場合はその項目を考慮しないようにする必要がある。例えば、FPのPTをマージする際、FPのPTに記述されたジョブレベルの項目は反映されない。それに対して、FDSのPTをマージする場合、FDSのPTに記述されたページレベルの項目は反映される。
以降ユーザのデフォルト印刷設定とFDSのPTをマージしたPTをジョブレベルのPT、ジョブレベルのPTとFDのPTをマージしたPTをドキュメントレベルのPT、ドキュメントレベルのPTとFPのPTをマージしたPTをページレベルのPTと呼ぶ。
<印刷システムの構成>
図2は本発明の実施の一形態に係る印刷システムの構成を示すブロック図である。プリンタ201は、画像形成を行うインクジェット方式のプリンタであり、後述するデータ処理装置(情報処理装置とも呼ぶ)202で生成された印刷コマンドに基づいて記録媒体200に画像の形成を行う。データ処理装置202は、本実施形態の手順を実行するための文書処理プログラムをインストールした汎用コンピュータなどでよく、文書処理装置ということもできる。プリンタの種類については特に問わないが、ここではインクジェット方式のカラープリンタを想定している。データ処理装置202では、不図示のアプリケーションが印刷ジョブを作成し、プリンタドライバ230がスプールされた印刷ジョブから、接続されたプリンタ201の印刷動作を制御する印刷コマンドの生成を行う。本実施形態ではデータ処理装置202としてパーソナルコンピュータを用いている。印刷の設定に関するユーザからの指示や入力を受ける役割も果たす。データ処理装置202は、各種機能ブロック230〜235、240〜243によって構成される。また、データ処理装置202には、データ処理装置202を制御するOSが組み込まれており、このOS上で各種機能ブロックが動作する。通信インタフェース203は、データ処理装置202とプリンタ201を接続する通信インタフェースである。本実施形態ではシリアルインターフェースであるUSBを用いている。この他に、IEEE1394、Ethernet(登録商標)、IrDA、IEEE802.11、電力線などのシリアルインターフェースや、セントロニクス、SCSIなどのパラレルインタフェースを利用することもできる。通信を実現するものであれば有線/無線を問わずどのようなインタフェースであっても構わない。このように、本実施形態における印刷システムは単体の装置ではなく、データ処理装置202と画像形成を行うプリンタ201とが特定の双方向インタフェースで接続された構成をとっている。しかし、この例に限られることなく、このようなデータ処理装置とプリンタの機能が一体となった装置一体型の印刷システムであってもよい。尚、プリンタ201及びデータ処理装置202とも本実施形態の特徴を説明する上で特に必要ないと思われる機能については省略する。
各機能ブロックについて説明する。印刷設定処理部231は、ユーザインタフェースモジュールとも呼ばれ、ユーザが印刷設定を変更するためのプログラムモジュールである。印刷設定処理部231は、ユーザの操作に応じて印刷設定情報を表示し、また、印刷設定情報の編集などの入力を受け付けることができる。さらに受け付けた印刷設定の変更を、印刷設定情報に反映する。ここで、印刷設定が受け付けられない状態にあれば、印刷設定処理部231は、印刷設定の表示のみを行って編集を受け付けない。これは印刷設定情報全体についても可能であるし、また部分的にも可能である。フィルタ群319には、レイアウト処理部321,プレビュー文書処理部323,印刷コマンド生成処理部325が含まれる。これらはそれぞれフィルタとも呼ばれるプログラムモジュールである。処理内容については図3を参照して説明する。データ通信処理部233は、生成された印刷コマンド等を出力するためのプログラムモジュールである。プレビュー制御部235はプレビュー制御モジュールとも呼び、プレビューデータ指示に応じてプレビューデータを生成させたり、あるいは指定されたページを表示するなど、プレビュー表示に係る制御を行う。
ブロック240−244はハードウエアモジュールであり、プリンタドライバ319やアプリケーション、オペレーティングシステム等を実行する環境となる。中央制御装置241はプロセッサであり、記憶部244等に記憶されたプログラムを実行して、文書データやそれに付随する印刷設定情報を加工する。情報通知部243は、中央制御部241に種々の信号を入力する。またディスプレイ等の表示機器を含むこともできる。記憶部244は半導体メモリや、半導体メモリおよびハードディスク等から構成されており、プログラムのほか文書データを記憶する。オペレーティングシステムが印刷に用いるスプールファイルも記憶部244に確保される。入力操作部242は入力を制御し、たとえばキーボード等の入力デバイスを制御する。
なお、ソフトウェアで実現される前記各種機能ブロックは、そのプログラムコードを記憶媒体から供給される。媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
<プリンタドライバの動作>
図3は、本発明におけるプリンタドライバの実施形態を説明するために図2の印刷システムをOSの印刷サポート機能とプリンタドライバを中心に概念的に表したブロック図である。本発明に関わるモジュールは、印刷設定機能を有するユーザインタフェースモジュール231と、フィルタ群319である。フィルタ群319は、XPSデータのページをレイアウト処理する機能を有するレイアウトフィルタ321と、プレビュー機能を提供するためのフィルタであるプレビューフィルタ323と、XPSデータをプリンタが解釈可能な印刷コマンドに変換する機能を有する印刷コマンドフィルタ325で構成される。ここでフィルタとは、一般的に入力されたデータをもとに、加工、変換、無変換、生成等の工程を介して、何らかのデータを出力する機能を有するプログラムのことを称する。
図3における印刷システムでは、アプリケーション301が作成した文書の各ページの印刷データは、OSの印刷サポート機能313を通じてXPSスプールファイル317に一時的に蓄えられる。これをプリンタドライバのフィルタ群319が、印刷設定情報に基づきプリンタが解釈可能な印刷コマンドに変換してプリンタ201に供給して印刷されるように構成されている。
ユーザインタフェースモジュール231は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。ユーザインタフェースモジュール231は、複数の印刷設定項目の設定値が格納された印刷設定情報をアプリケーション301に返却する。ユーザインタフェースモジュール231が提供する印刷設定ダイアログの一例については図4を用いて後述する。
アプリケーション301は作成した任意の文書の印刷にあたり、OSの印刷サポート機能313に対して、印刷開始や印刷終了を通知したり、印刷設定を行うためにユーザインタフェースモジュール231から返却された印刷設定情報を通知したりする。また、文書の各ページの描画開始や描画終了を通知する。OSの印刷サポート機能313は、アプリケーションが描画した内容や印刷設定情報をXPSスプールファイル317に格納する。各フィルタはスプールされた印刷ジョブをデスプールする際にOSの印刷サポート機能から呼び出される。
プリンタドライバのフィルタ群319は一つ以上のフィルタで構成されており、印刷時にXPSスプールファイルから印刷ジョブを読込み、プリンタが解釈可能な印刷コマンドに変換してプリンタ201に供給し、印刷を行う機能を有する。本実施形態におけるフィルタ群319は、レイアウト処理部であるレイアウトフィルタ321と、プレビュー文書作成部であるプレビューフィルタ323と、印刷コマンド変換部である印刷コマンドフィルタ325で構成される。ただし、レイアウト機能とプレビュー機能を一つのフィルタで実現したり、不要なフィルタは取り除いたりすることも可能であり、本提案は上記フィルタ構成に限定されるものではない。
レイアウトフィルタ321はXPSスプールファイル317に格納されたXPSデータを入力とし、印刷設定情報に基づきページのレイアウト処理を行い、レイアウト済みのXPSデータを出力する機能を有する。本実施例におけるレイアウト処理とは例えば複数のページを一つの用紙面に印刷するN−up印刷や、一つのページを複数の用紙面に印刷するポスター印刷等を含む。
プレビューフィルタ323は、レイアウトフィルタ321の出力を入力とし、印刷設定に基づきユーザにプレビュー機能を提供する。
印刷コマンドフィルタ325はプレビューフィルタ323の出力を入力とし、印刷設定情報に従い、XPSデータをプリンタが解釈可能な印刷コマンドに変換し出力する機能を有する。印刷コマンドフィルタ325が入力のXPSデータを一度イメージデータに変換する場合、一般的にレンダーフィルタと呼ばれる。レンダーフィルタはインクジェットプリンタに代表される廉価なラスタープリンタ用のプリンタドライバにおいて多く見られる。印刷コマンドフィルタ325がレンダーフィルタとして動作する場合は、入力のXPSデータを一度イメージデータに変換する。その後、色空間の変換や二値化等の画像処理の過程を経て、ラスタープリンタが解釈可能な印刷コマンドに変換される。ページプリンタに代表される高機能なプリンタにおいて、プリンタが解釈できる印刷コマンドの種類にXPSが含まれるならば、印刷コマンドフィルタ325は入力のXPSデータを編集しXPSデータを出力する。印刷コマンドフィルタ325にて処理する必要がなければ、入力のXPSデータをそのまま出力するか、印刷コマンドフィルタ325はプリンタドライバに含めなくても良いことは言うまでもない。
出力デバイスであるプリンタ201は、印刷コマンドフィルタ325で生成された印刷コマンドを解釈し、可視画像を印刷用紙に対して形成する機能を持つ。印刷用紙200で図示される印刷結果の例は、レイアウトフィルタ321が2アップ(2ページをシートの一面に縮小レイアウトした配置)の処理を行った場合を示している。
<印刷設定画面>
図4は本実施形態における印刷モードや各種用紙設定を行う際に表示される印刷設定ダイアログの一例を示す図である。図4において、印刷設定ダイアログ401は、表示エリア402,403,404,405,406,407,408,409,410,411、420,422,423,424,425,431等から構成される。印刷設定では表示する項目が非常に多いため、タブシートを使用して設定項目を内容ごとに分けて見やすい構成にするのが通例である。
図4に基本設定タブ402が選択された場合の表示例を示す。基本設定の簡易表示エリア420には、文字情報だけでなく視覚に訴える形で設定された情報を表示する。用紙種類選択部422は、用紙の種類を表示するとともに利用者により選択させることができる。用紙種類選択部422はドロップダウンメニューとなっており普段は選択されている用紙の種類が表示され、そこをクリックすることで選択可能な用紙種類がリスト表示される。選択可能な用紙の種類はプリンタで印刷可能な用紙であり、図示されている普通紙の他にも例えば光沢紙、コート紙、写真専用紙、ハガキ、年賀状葉書等が含まれる。給紙方法選択部423は、プリンタ本体が用紙を給紙する給紙方法を表示し、利用者による給紙方法の選択をさせることができる。利用者は、給紙方法選択部423により、たとえば自動給紙口である給紙トレイや給紙カセット、または印刷用紙を一枚ずつ手動で給紙する「手差し給紙」などを選択できる。印刷品質選択部424は利用者に印刷の品位を設定させるための項目である。色調整部425は利用者に印刷の色を調整させるための項目である。モノクロ印刷設定部426は、印刷文書がカラーであっても印刷結果をグレースケールにするためのチェックボックスである。プレビュー印刷設定部427は、各種印刷設定がどのように印刷文書に反映されるかを、プリンタによる実際の印刷が行われる前に確認するためのチェックボックスである。標準設定部431が押されると、基本設定402の設定が標準(出荷時設定)に戻される。
ユーザは各項目を選択した後にOKボタン408を押下することで印刷設定ダイアログ401を閉じ、選択した印刷設定を印刷に反映させることができる。キャンセルボタン409を押下すると印刷設定ダイアログ401が閉じ、選択した設定項目の内容は破棄され印刷に反映されることはない。適用ボタン410は印刷設定ダイアログ401を開いたままで選択した印刷設定を印刷に反映させることができる。ヘルプボタン411は基本設定402の各設定項目に関する説明文を別ウィンドウで表示させることができる。
<プレビュー制御モジュールのプレビューウィンドウ>
図5に、本実施の形態におけるプレビュー制御モジュールによって提供される表示画面(プレビューウィンドウ)の一例を示す。印刷プレビューウィンドウ501は、プレビュー画像や印刷ジョブの印刷設定等を表示するための表示エリアと、ユーザがプレビュー画像の表示方法等を変更するための入力手段を兼備している。
メニューバー502は、ユーザは表示切り替え等プレビューアへの命令をメニュー形式で選択することができる。ユーザ操作部503〜506が用意される領域はツールバーであり、ユーザはメニューバー502を使用しなくともツールバー503を押下することで容易にプレビューページの切り替え等を行うことができる。ページ切り替えボタン503は4つのボタンで構成されており、先頭ページ、前ページ、次ページ、最終ページへプレビュー表示を切り替えることが可能である。ドロップダウンリスト504はプレビュー画像の表示サイズを変更する為のドロップダウンリストで、全体表示や100%、200%表示等を選択することができる。印刷開始ボタン505においては、ユーザがこのボタンを押下することでプレビューアを終了し、プレビューしていたプレビュー用XPS文書を印刷処理可能な状態にすることができる。ユーザが印刷中止ボタン506を押下することでプレビューアを終了し、印刷ジョブをキャンセルすることができる。プレビュー表示領域507は、プレビュー用XPSファイルの内容を利用し、印刷用紙と印刷用紙に形成されるであろう可視象を印刷イメージとして表示する。表示領域508はプレビュー機能を実行している印刷ジョブの印刷設定に関わる代表的な設定項目の設定値を表示する。本図においては文書の総ページ数は3ページであり、現在プレビュー表示しているページ番号は2ページであり、印刷設定で設定された部数は1部であり、かつ等倍印刷が設定されていた例を示している。表示領域509はプレビュー機能を実行している印刷ジョブにおいて現在表示しているページの印刷設定に関わる代表的な設定項目の設定値を表示する。本図においては、出力用紙サイズはA4であり、用紙の種類は普通紙であり、給紙方法はカセットが設定されていた例を示している。また、用紙の種類の種類と給紙方法は印刷プレビューに置いてユーザが設定変更可能となっている。
また、本実施形態において、図5に例示する表示画面は、プレビュー設定がONである印刷設定情報を伴う印刷ジョブがスプールされ、OSの印刷サポート機能によりフィルタパイプラインが起動され、プレビューフィルタがプレビュー制御モジュールを起動した時点で表示される。
<印刷設定の変更>
上記のように印刷結果の確認と併せて、印刷設定の確認や一部設定の変更機能を有する印刷プレビュー機能が存在する。その際、個々のページに対して印刷設定の変更を許可すると、ユーザが変更内容の影響範囲を認識することが困難であると考えられる。そこで、全てのページが同じ印刷設定である場合のみ印刷設定の変更を可能とし、変更された設定はジョブ全体に反映させるといった手法がとられてきた。
XPSにおいて全てのページの印刷設定が同じであるということは、全てのページにおけるページレベルのPTが同じ設定であるということである。ページレベルのPTとはユーザのデフォルト印刷設定のPTと、FDSのPTと、印刷対象FPの親FDのPTと、印刷対象FPのPTをマージしたPTである。図1を例として説明すると、FP121のページレベルPTは、ユーザのデフォルト印刷設定のPTと、FDS103のPT131と、親FD111のPT133と、FP121のPT135をマージしたPTとなる。また、FP123ではFPにPTが存在しないため、FP123のページレベルPTは、ユーザのデフォルト印刷設定のPTと、FDS103のPT131と、親FD111のPT133をマージしたPTとなる。同様にFP125ではFPにPTが存在しないため、ページレベルPTは、ユーザのデフォルト印刷設定のPTと、FDS103のPT131と、親FD113のPT137をマージしたPTとなる。つまり、全てのページが同じ印刷設定であるためには、FD111のPT133とFP121のPT135をマージしたPTと、FD111のPT133と、FD113のPT137とが同じ印刷設定であることが必要となる。単に同一性の判定のためであれば、共通部分である印刷設定、この場合にはユーザのデフォルト印刷設定のPTとFDS103のPT131は、マージする対象から除外できる。
<ページ間の印刷設定判定処理>
ジョブ中の全てのページが同一の印刷設定が設定されているかどうかの判定を行う場合、全てのページレベルのPTを比較する方法が考えられる。その場合PTに記述されている印刷設定を一つ一つ比較していく必要があり、ページ数や設定内容によっては大きな処理負荷がかかることが考えられる。また、PTをバイナリレベルで比較しようとした場合、同じ設定であっても記載内容や並び順の違いなどがあり、同一であると判断できないことが考えられる。そこで、PTの内容の比較を最小限に抑えながら、同一印刷設定の判定を行うために、PTの配置に基づき判定を行う方法について提案する。
まず、全てのFD及びFPにPTが存在しなければ、全ページの印刷設定は同一であるとする。例えば図6(a)のように、FDS601にのみPT621が存在し、FD603から605、及びFP607から611にはPTが存在しない場合を考える。この場合、全てのFPのページレベルのPTは、ユーザのデフォルト印刷設定のPTとFDS601のPT621をマージしたものとなり、同じ印刷設定となる。それに対して図6(b)のように、FDS631にPT651が存在するのに加え、FD633にPT653が、FP639及び641にPT655、657が存在するというように、FDやFPにPTが存在する場合がある。この場合、各ページレベルのPTは、デフォルト印刷設定のPTに、FP637ではPT651、653をマージしたPTであり、FP639ではPT651、653、655をマージしたPTであり、FP641ではPT651、657をマージしたPTである。そのため、それぞれのFPが異なったページレベルのPTとなるため同じ印刷設定である可能性は低いと考えられる。このようにFD及びFPにおけるPTの有無を全ページで印刷設定が同一であるかの判定における基本条件とする。
さらに、上記条件に以下のような条件を加えることで判定の精度はさらに向上する。
・FD及びFPに印刷設定の記述されていないPT(以下、空のPT)が存在する場合、PTが付加されていない場合と同義とする。
・FPが1つのみ存在する場合、FD及びFPにPTが存在していても全ページの印刷設定は同一であるとする。
・FDが1つのみ存在する場合、FDにPTが存在していてもFPにPTが存在しなければ全ページの印刷設定は同一であるとする。
・FDが一つ、もしくは全てのFDにPTが存在しない場合、全てのFPに同じPTが関連付けられていれば、全ページの印刷設定は同一であるとする。
図7(a)のように、FDもしくはFPにPTが存在していたとしても、それが空のPTだった場合、ユーザのデフォルト印刷設定のPTやFDSのPTとマージを行っても設定内容に影響を与えることがないため、存在しないのと同義である。つまり図7(a)では、FP707から711のページレベルのPTは、全てユーザのデフォルト印刷設定のPTとFDS701のPT721をマージしたものとなり、全ページが同じ印刷設定であると言える。空のPTかどうかの判定にはPTの内容を参照する必要があるが、設定が何も記述されていないPTであるため極めて小さな負荷で判定が可能である。
図7(b)のようにFPが1つしか存在しない場合は当然ページ毎に印刷設定が異なるということはないので、FD及びFPにPTが存在していようと全ページが同じ印刷設定であると言える。
図7(c)のようにFDが1つしか存在しない場合、全てのFPの親FDが同じであるため、ページレベルのPTを作成する際のマージに用いられるFDのPTは全て同じとなる。したがってFDが1つの場合、FPにPTが存在しなければFDのPTの有無は関係なく全ページが同じ印刷設定となる。図7(c)では、FP755から759のページレベルのPTは全てユーザのデフォルト印刷設定のPTとFDS751のPT761と、FD753のPT763をマージしたものとなり、全ページが同じ印刷設定であると言える。
図7(d)のように全てのFPが同じPTに関連付けられている場合、全てのFPの親FDのPTが同じであればページレベルのPTは全て同じとなる。したがって、FDが一つのみ存在する、もしくは全てのFDにPTが存在しない場合、全ページが同じ印刷設定ととなる。図7(d)では、FP775から779のページレベルのPTは、全てユーザのデフォルト印刷設定のPTとFDS771のPT781と、FD773のPT783と、全FPに共通に関連付けられているPT785をマージしたものとなる。つまり、全ページが同じ印刷設定といえる。
以上をまとめると、それぞれの階層の要素の印刷設定が、要素間で共通している場合には、全ページの印刷設定が同一であると判定される。具体的には、処理対象のXPSデータ(すなわち構造化文書)の或る階層について、当該階層の要素に前記印刷設定情報が付加されているか、又は、当該階層の要素に付加された前記印刷設定情報が当該階層の全要素により共有されており、全階層がこの条件に該当する場合に、その構造化文書の各ページの印刷設定は互いに同一であると判定できる。このようにすることで、印刷設定の実質にかかわりなく、形式的に同一性を判定できるために、判定が簡易且つ迅速に行える。
<プレビューフィルタ処理>
図8は、プレビューフィルタ323により行われるXPSパートの取得処理において、図7で説明した上述の判定処理を行うフローチャートの一例である。なお、本処理はプレビューフィルタだけでなく、プレビュー処理を行う前に、たとえばプレビュー制御モジュール235などで実行してもよい。
プレビューフィルタ323は、ステップS101で、スプールもしくは前のフィルタから渡されるXPSパートを順次取得する。ここで取得されるXPSパートはFDSやFD、FPである。ステップS103でXPSパートが取得できたと判定した場合、その判定結果に応じて取得したパートの種類に応じて処理を行う。XPSパートの種類はそれぞれの要素にその識別子等で記述されている。一方取得できなければ当該XPSデータのXPSパートは全て取得したものと判定されてステップS141に分岐する。
ステップS111,S121,S131では取得したパートの判別を行う。取得したパートがFDSの場合、ステップS113でFDSに対応したジョブレベルのPTが作成される。ジョブレベルのPT生成処理については図9を用いて後述する。取得したパートがFDの場合、ステップS123で取得したFDに対応したドキュメントレベルのPTが作成される。ドキュメントレベルのPT生成処理については図10を用いて後述する。取得したパートがFPの場合、ステップS133で取得したFPに対応したページレベルのPTが作成される。ページレベルのPT生成処理については図11を用いて後述する。また、FPのPTについてはPTのURI(すなわちリンクであり、関連づけということもできる)を取得しておく(ステップS135)。
これらの処理は全てのXPSパートを取得するまで繰り返される。全てのXPSパートの取得が終了すると、ステップS141に移りプレビュー時の印刷設定変更を許可するかの判定が行われる。プレビューにおける印刷設定変更可否の判定処理については図12を用いて後述する。ここではXPSパートの取得終了後に判定を行う方法について説明するが、その他にもXPSパートを取得しながら併せて判定処理を行うことも可能である。
<PTのマージ処理>
図9は図8のステップS113の詳細であり、ジョブレベルのPT生成処理の一例である。最初にステップS201でユーザのデフォルト印刷設定のPTを取得する。次にステップS203で取得したFDSのPTを取得する。FDSにはPTが必ず存在するわけではないため、FDSのPTが取得できたかどうか判定し(S205)、取得できた場合はS207へ移り、取得できなかった場合はS211へ移る。ステップS207では取得したPTが空のPTかどうかの判定を行い、印刷設定が記述されている場合はステップS209へ移り、空のPTだった場合はステップS211に移る。ステップS209ではユーザのデフォルト印刷設定のPTとFDSのPTをマージしてジョブレベルのPTを生成する。また、ステップS211では、FDSにPTが存在しないか、もしくは空のPTであり存在しないものとして扱われている場合であるため、マージを行わずにユーザのデフォルト印刷設定のPTをジョブレベルのPTとする。
図10は図8のステップS123の詳細であり、ドキュメントレベルのPT生成処理の一例である。最初にステップS301では、取得したFDのPTの取得を行い、取得できたかどうか判定し(S303)、取得できた場合はステップS305へ移り、取得できなかった場合はステップS309へ移る。ステップS305では取得したPTが空のPTかどうかの判定を行い、印刷設定が記述されている場合はステップS307へ移り、空のPTだった場合はステップS309に移る。ステップS307ではジョブレベルのPTと取得したFDのPTをマージして、ドキュメントレベルのPTを生成する。ステップS309ではFDのPTが存在しないので、ジョブレベルのPTをドキュメントレベルのPTとする。XPSパート取得時にFDSは必ずFDの前に取得されるため、ドキュメントレベルのPT生成時にはジョブレベルのPTが必ず存在する。
図11は図8のステップS133の詳細であり、ページレベルのPT生成処理の一例である。最初にステップS401では、取得したFPのPTの取得を行い、取得できたかどうか判定し(S403)、取得できた場合はステップS405へ移り、取得できなかった場合はステップS409へ移る。ステップS405では取得したPTが空のPTかどうかの判定を行い、印刷設定が記述されている場合はステップS407へ移り、空のPTだった場合はステップS409に移る。ステップS407では当該FPの親FDのドキュメントレベルのPTと取得したFPのPTをマージして、ページレベルのPTを生成する。ステップS409ではFPのPTが存在しないので、親FDのドキュメントレベルのPTをページレベルのPTとする。当該FPの親FDはそのFP取得前には必ず取得されるため、ページレベルのPT生成時には親FDのドキュメントレベルのPTが必ず存在する。
<プレビュー時における印刷設定情報の変更の可否の判定処理>
図12は、全ページの印刷設定が同じであるかを判定し、プレビューによる印刷設定変更を許可するかの判定を行う処理のフローチャートの一例である。まずステップS501で、取得したFDもしくはFPにPTが一つでも存在していたか判定する。ただし、PTが存在していてもそのPTが空のPTはであった場合は存在しないものと判断する。1つもPTが存在しなかった場合はステップS511に移り、印刷プレビューにおける印刷設定の変更をユーザに許可する。許可するとは、たとえば設定変更の禁止フラグ等を変更許可を示す値にセットすることで実現できる。一つでもPTが存在した場合はステップS503に移る。ステップS503ではジョブ中のFPの総数を判定する。取得したFPが1つのみの場合はステップS511に移り、印刷プレビューにおける印刷設定の変更をユーザに許可する。FPが複数存在する場合はステップS505に移る。ステップS505ではジョブ中のFDの総数を判定する。取得したFDが1つのみの場合はステップS507に移る。FDも複数存在する場合はステップS513に移り、印刷プレビューにおける印刷設定の変更を不許可とする。ステップS507ではFPにPTが存在するかを判定する。全てのFPにPTが存在しない場合はステップS511に移り、印刷プレビューにおける印刷設定の変更をユーザに許可する。FPにPTが存在する場合はステップS509に移る。ステップS509では全てのFPが同じPTに関連付けられているかを判定する。FPのPT取得時に併せて取得したPTのURIが全FPに関して同一の場合、すなわち同じ印刷設定情報に関連づけられている場合はS511に移り、印刷プレビューにおける印刷設定の変更をユーザに許可する。ページ毎に関連付けられているPTが異なる場合はステップS513に移り、印刷プレビューにおける印刷設定の変更を不許可とする。不許可とは、たとえば設定変更の禁止フラグ等を変更禁止を示す値にセットすることで実現できる。
プレビュー表示時に印刷設定の変更がユーザインターフェースから指示された場合には、たとえばこの設定変更の禁止フラグを参照し、変更許可であれば設定値の変更を受け付け、禁止であれば設定値は表示されるのでのみであり、その変更は受け付けられない。本実施形態では、これはプレビュー表示時の設定変更に限られ、プレビュー表示していないときの設定変更時には、設定変更の禁止フラグは参照されず、設定変更は受け付けられる。しかしながら、プレビュー表示以外に、全ページの印刷設定が同一である場合に限って印刷設定の変更を許可するような場合には、印刷設定の変更操作が行われると、図12の手順で値を与えられた設定変更の禁止フラグが参照されてもよい。
前記判定処理によって、PTの内容の参照を最小限に抑えながら、ページ毎の印刷設定が全ページで同じかどうかの判定を高い精度で行うことが可能となる。
<設定変更内容の反映(印刷設定情報編集)>
前記判定処理において印刷プレビューにおける印刷設定の変更が許可され、ユーザが印刷プレビューで印刷設定の変更を行った場合、変更された設定内容をPTに反映する必要がある。本来、変更した印刷設定をどのPTに反映するかは設定項目によって異なる。例えば、ジョブ全体に反映したい設定項目の場合はFDSのPTの更新を行い、また特定のページにのみ反映した設定項目の場合はFPのPTを更新するといったことが必要となる。しかし、本実施形態では印刷設定の変更を全ページが同じ印刷設定の場合のみ許可し、変更内容は全ページに反映するものとしている。つまり、全てのページレベルのPTには同じ印刷設定が記述されており、印刷設定変更後も設定内容が全てのページに反映される必要がある。そこで印刷設定変更内容に従ってページレベルのPTを更新し、更新したPTをFDSに付加するとともに、FD,及びFPに存在するPTを削除する方法を提案する。
図13は本実施形態の手法によって印刷設定の変更を反映した際に作成されるXPSデータの一例である。変更前のXPSデータ1301は、FDS1311とFD1313、FP1315から1319によって構成されている。そしてFDS1311にはPT1321、FD1313にはPT1323、FP1315から1319にはPT1325が存在する。この場合、全てのFPのページレベルのPTは、ユーザのデフォルト印刷設定のPTとFDS1311のPT1321と、FD1313のPT1323と、FPのPT1325をマージしたPTとなる。この結果全ページが同じ印刷設定と判定されるため、印刷プレビューにおける印刷設定変更が許可される。ここで印刷設定が変更された場合、更新内容の反映は上記ページレベルのPTに対して行う。そして、変更内容の反映されたページレベルのPT1331をFDS1311のPT1321と入れ替える。さらにFD1313のPT1323とFP1315から1319のPT1325を削除して、変更した印刷設定を反映したXPSデータ1303とする。XPSデータ1303にはFD及びFPにPTが存在しないため、全てのFPのページレベルのPTはユーザのデフォルト印刷設定のPTと、新たにFDS1311に付加したPT1331をマージしたものとなる。これによって最小限のPTの変更で全てのページに対して、ユーザの行った印刷設定の変更を反映させることが可能となる。
<プリントチケット更新処理>
図14は前述した印刷設定変更内容の反映処理におけるPT更新処理のフローチャートの一例である。この手順はたとえばプレビューフィルター323やプレビュー制御モジュール325により実行される。最初にステップS601で印刷設定変更が行われたかを判定する。印刷設定の変更が行われた場合はステップS603に移り、変更が一切行われていない場合は更新処理を終了する。ステップS603ではFDもしくはFPにPTが存在するかを判定し、存在しない場合はステップS605に移り、存在する場合はステップS607に移る。ステップS605ではジョブレベルのPTに対して変更内容に基づく更新を行いステップS615に移る。ここではFD及びFPにPTが存在しないので、ジョブレベルのPTはページレベルのPTと同義である。ステップS607ではFPにPTが存在するかを判定し、存在する場合はステップS609に移り、存在しない場合はステップS611に移る。ステップS609ではページレベルのPTに対して変更内容に基づく更新を行いステップS613に移る。また、ステップS611ではドキュメントレベルのPTに対して変更内容に基づく更新を行いステップS613に移る。ここではFPにPTが存在しないので、ジョブレベルのPTはページレベルのPTと同義である。ステップS613ではFD及びFPに存在するPTを全て削除し、ステップS615に移る。ステップS615ではFDSにPTが存在するかを判定し、存在する場合はステップS617に移り、存在しない場合はステップS619に移る。ステップS617ではFDSに存在するPTを削除し、ステップS619に移る。ステップS619では設定変更内容に基づき更新されたPTをFDSに付加して処理を終了する。これによって変更した印刷設定はジョブ中の全てのページに反映される。
本実施形態ではプレビューフィルタにおいて印刷設定の判定処理及び設定変更の反映処理を行っているが、ドライバ処理中のどの段階でも実施することが可能である。また、プリンタドライバ処理に限らず、XPSドキュメントの編集を行うアプリケーション等に対しても適用可能である。
[実施形態2]
実施形態1ではPTの配置から全ページの印刷設定が同一であるかの判定を行っており、PTの内容については空のPTの判定以外で参照することはなかった。しかし、FP毎に異なるPTが存在しても全てのPTに記述されている設定が同じであればページの印刷設定は同じであると言える。そのような場合、実施形態1では実際には同じ印刷設定であっても設定の異なるものと判定してしまう。そこで本実施形態では、実施形態1の手法に加え、PTに記述された個々の印刷設定の比較を行うことなく、設定内容の比較を行うためにDevmodeSnapShotを利用する手法について提案する。DevmodeSnapShotとは、印刷設定情報等を含むデータ構造体であるDEVMODEがバイナリデータに変換されたものであり、PTに記述される。DevmodeSnapShotは印刷設定が同じであれば同じデータとなるため、バイナリ比較によって印刷設定が同じか判定することができる。
<DevmodeSnapShot比較処理>
図15はDevmodeSnapShot比較処理のフローチャートの一例である。まず、ステップS701でFDが複数存在するかを判定する。FDが1つの場合はFDのDevmodeSnapShotは比較する必要がないためステップS709に移り、FDが複数存在する場合はステップS703に移る。ステップS703からステップS707ではFDのPTに含まれるDevmodeSnapShotの比較を行う。DevmodeSnapShotは全てのPTに必ず存在するものではないので、ステップS703では全てのFDのPTにDevmodeSnapShotが存在するかの判定を行う。存在する場合はステップS705へ移り、全てのFDのPTには存在しない場合はステップS717に移り、印刷プレビューにおけるユーザの印刷設定変更を不許可として処理を終了する。ステップS705ではFDのPTに含まれるDevmodeSnapShotの比較を行い、ステップS707に移る。比較の結果、全てのDevmodeSnapShotが同一のものであればステップS709に移り、異なるものがある場合はステップS717に移り、印刷プレビューにおけるユーザの印刷設定変更を不許可として処理を終了する。同様に、ステップS709からステップS713ではFPのPTに含まれるDevmodeSnapShotの比較を行う。ステップS709では全てのFDのPTにDevmodeSnapShotが存在するかの判定を行い、存在する場合はステップS711へ移り、全てのFPのPTには存在しない場合はステップS717に移る。ステップS717では、印刷プレビューにおけるユーザの印刷設定変更を不許可として処理を終了する。ステップS711ではFPのPTに含まれるDevmodeSnapShotの比較を行い、ステップS715に移る。比較の結果、全てのDevmodeSnapShotが同一のものであればステップS715に移り、印刷プレビューにおけるユーザの印刷設定変更を許可して処理を終了する。異なるものがある場合はステップS717に移り、印刷プレビューにおけるユーザの印刷設定変更を不許可として処理を終了する。
上記手法では全てのFD及びFPにPTが存在するように記載しているが、PTが存在しないパートは、そのパートの親パートのPTを当該パートのPTとして扱うものとする。例えばFDにPTが存在しない場合は代替でFDSのPTをFDのPTとして扱う。また、FPにPTが存在しない場合も同様に親FDのPTを利用するものとし、親FDにもPTが存在しない場合はさらに親のFDSをFPのPTとして扱う。
上記手法によると、PTにDevmodeSnapShotが記述されたデータに関して、PTに記述された個々の設定を比較することなく、バイナリデータの比較によって印刷設定が同一かどうかの判定を行うことができる。本手法を実施形態1の手法と併せて実施することで判定精度の向上を図ることができる。
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
XPSの論理構造の概念図 本発明の実施形態に係わる印刷システムの一例を示すブロック図 本発明の実施形態に係わるプリンタドライバ一例を示すブロック図 本発明の実施形態に係わる印刷設定ダイアログの一例を示す図 本発明の実施形態に係わるプレビューウィンドウの一例を示す図 本発明の実施形態に係わる印刷設定の同一判定に用いる基本条件を表すXPSの一例を示す図 本発明の実施形態に係わる印刷設定の同一判定に用いる追加条件を表すXPSの一例を示す図 本発明の実施形態に係わるXPSパートの取得処理の一例を示す図 本発明の実施形態に係わるジョブレベルのPT生成処理の一例を示す図 本発明の実施形態に係わるドキュメントレベルのPT生成処理の一例を示す図 本発明の実施形態に係わるページレベルのPT生成処理の一例を示す図 本発明の実施形態に係わる印刷設定変更可否判定処理の一例を示す図 本発明の実施形態に係わる印刷設定変更のXPSデータへの反映を示す概念図 本発明の実施形態に係わるPT更新処理の一例を示す図 本発明の実施形態に係わるDevmodeSnapShotを用いた印刷設定の比較処理の一例を表す図 PTの一例を示す概念図 PTのマージ結果の一例を示す図

Claims (14)

  1. 複数の階層の要素のそれぞれに対して印刷設定情報を付加することが可能な構造化文書を扱う文書処理装置であって、
    前記構造化文書が当該構造化文書に含まれる文書要素の階層と、当該文書要素に含まれる全てのページ要素の階層とに印刷設定情報が存在しない状態を示す第1の状態であるかを判定する第1の判定手段と、
    前記第1の判定手段により第1の状態ではないと判定された際に、前記構造化文書が当該構造化文書に含まれる文書要素の総数が複数である第2の状態であるかを判定する第2の判定手段と、
    前記第1の判定手段が前記構造化文書は前記第1の状態であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可する制御手段とを有し、
    前記制御手段は、前記第2の判定手段が前記構造化文書は前記第2の状態であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を禁止することを特徴とする文書処理装置。
  2. 前記第1の判定手段により第1の状態ではないと判定された際に、前記第2の判定手段による判定が行われる前に、前記構造化文書に含まれるページ要素の総数が1であるかどうかを判定する第3の判定手段をさらに有し、
    前記制御手段は、前記第3の判定手段が前記構造化文書に含まれるページ要素の総数が1であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可することを特徴とする請求項1に記載の文書処理装置。
  3. 前記構造化文書に含まれる文書要素の総数が1であった際に当該文書要素に含まれるページ要素の階層に印刷設定情報が存在しないかを判定する第4の判定手段をさらに有し、
    前記制御手段は、前記第4の判定手段が前記ページ要素の階層に印刷設定情報が存在しないと判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可することを特徴とする請求項1又は2に記載の文書処理装置。
  4. 前記第4の判定手段が前記ページ要素の階層に印刷設定手段が存在すると判定した際に当該文書要素に含まれる全てのページ要素の印刷設定情報のリンク先が同一であるかを判定する第5の判定手段をさらに有し、
    前記制御手段は、前記第5の判定手段が前記全てのページ要素の印刷設定情報のリンク先が同一であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可することを特徴とする請求項3に記載の文書処理装置。
  5. 前記第1の状態とは前記ページ要素の階層と前記文書要素の階層の両方の印刷設定情報が空である状態を含むことを特徴とする請求項1乃至4のいずれか一項に記載の文書処理装置。
  6. 前記構造化文書は前記文書要素を含むジョブ要素を含むことを特徴とする請求項1乃至5のいずれか一項に記載の文書処理装置。
  7. 前記構造化文書はXPSデータであり、前記印刷設定情報はプリントチケットであることを特徴とする請求項1乃至6のいずれか一項に記載の文書処理装置。
  8. 複数の階層の要素のそれぞれに対して印刷設定情報を付加することが可能な構造化文書を扱うコンピュータで実行されるプログラムであって、
    前記構造化文書が当該構造化文書に含まれる文書要素の階層と、当該文書要素に含まれる全てのページ要素の階層とに印刷設定情報が存在しない状態を示す第1の状態であるかを判定する第1の判定手段と、
    前記第1の判定手段により第1の状態ではないと判定された際に、前記構造化文書が当該構造化文書に含まれる文書要素の総数が複数である第2の状態であるかを判定する第2の判定手段と、
    前記第1の判定手段が前記構造化文書は前記第1の状態であると判定した場合にユーザによる前記構造化文書全体の印刷設定情報の変更を許可する制御手段としてコンピュータを機能させるためのプログラムであって、
    前記制御手段は、前記第2の判定手段が前記構造化文書は前記第2の状態であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を禁止することを特徴とするコンピュータプログラム。
  9. 前記第1の判定手段により第1の状態ではないと判定された際に、前記第2の判定手段による判定が行われる前に、前記構造化文書に含まれるページ要素の総数が1であるかどうかを判定する第3の判定手段として前記コンピュータさらに機能させ、
    前記制御手段は、前記第3の判定手段が前記構造化文書に含まれるページ要素の総数が1であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可することを特徴とする請求項8記載のプログラム。
  10. 前記構造化文書に含まれる文書要素の総数が1であった際に当該文書要素に含まれるページ要素の階層に印刷設定情報が存在しないかを判定する第4の判定手段として前記コンピュータさらに機能させ、
    前記制御手段は、前記第4の判定手段が前記ページ要素の階層に印刷設定情報が存在しないと判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可することを特徴とする請求項8または9記載のプログラム。
  11. 前記第4の判定手段が前記ページ要素の階層に印刷設定手段が存在すると判定した際に当該文書要素に含まれる全てのページ要素の印刷設定情報のリンク先が同一であるかを判定する第5の判定手段として前記コンピュータさらに機能させ、
    前記制御手段は、前記第5の判定手段が前記全てのページ要素の印刷設定情報のリンク先が同一であると判定した場合に、ユーザによる前記構造化文書全体の印刷設定情報の変更を許可することを特徴とする請求項10に記載のプログラム。
  12. 前記第1の状態とは前記ページ要素の階層と前記文書要素の階層の両方の印刷設定情報が空である状態を含むことを特徴とする請求項8乃至11のいずれか一項に記載のプログラム。
  13. 前記構造化文書は前記文書要素を含むジョブ要素を含むことを特徴とする請求項8乃至12のいずれか一項に記載のプログラム。
  14. 前記構造化文書はXPSデータであり、前記印刷設定情報はプリントチケットであることを特徴とする請求項8乃至13のいずれか一項に記載のプログラム。
JP2008318941A 2008-12-15 2008-12-15 文書処理装置およびコンピュータプログラム Active JP5675047B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008318941A JP5675047B2 (ja) 2008-12-15 2008-12-15 文書処理装置およびコンピュータプログラム
US12/619,659 US8634102B2 (en) 2008-12-15 2009-11-16 Document processing for handling a document comprising a document element with bundled page elements
CN2012102362188A CN102830945A (zh) 2008-12-15 2009-12-10 文档处理装置及文档处理方法
CN200910225443XA CN101901117B (zh) 2008-12-15 2009-12-10 文档处理装置及文档处理方法
US14/158,173 US9557947B2 (en) 2008-12-15 2014-01-17 Controlling changing of print setting for structured document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008318941A JP5675047B2 (ja) 2008-12-15 2008-12-15 文書処理装置およびコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2010140445A JP2010140445A (ja) 2010-06-24
JP2010140445A5 JP2010140445A5 (ja) 2012-02-02
JP5675047B2 true JP5675047B2 (ja) 2015-02-25

Family

ID=42240173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008318941A Active JP5675047B2 (ja) 2008-12-15 2008-12-15 文書処理装置およびコンピュータプログラム

Country Status (3)

Country Link
US (2) US8634102B2 (ja)
JP (1) JP5675047B2 (ja)
CN (2) CN102830945A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186176A (ja) * 2007-01-29 2008-08-14 Canon Inc 画像処理装置、文書結合方法および制御プログラム
KR101631605B1 (ko) * 2009-12-03 2016-06-20 삼성전자주식회사 인쇄제어 단말장치 및 인쇄제어방법
JP2011147015A (ja) * 2010-01-15 2011-07-28 Seiko Epson Corp 画像出力装置およびプログラム並びにモノクロ画像製造方法
JP5093266B2 (ja) * 2010-03-02 2012-12-12 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、同装置におけるプレビュー表示方法及び表示プログラム
JP5097796B2 (ja) * 2010-05-10 2012-12-12 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5867993B2 (ja) * 2010-09-29 2016-02-24 キヤノン株式会社 印刷制御装置、印刷制御方法、およびコンピュータプログラム
JP5746530B2 (ja) * 2011-03-17 2015-07-08 キヤノン株式会社 印刷設定情報を設定する装置及びその制御方法
JP6053491B2 (ja) * 2012-12-13 2016-12-27 キヤノン株式会社 情報処理装置及びプログラム、制御方法
JP5801354B2 (ja) * 2013-07-17 2015-10-28 シャープ株式会社 画像形成装置
JP6229370B2 (ja) * 2013-08-23 2017-11-15 ブラザー工業株式会社 中継装置、プログラムおよび中継装置の制御方法
JP2015158728A (ja) * 2014-02-21 2015-09-03 東芝テック株式会社 情報閲覧装置、及び、情報閲覧プログラム
JP6418754B2 (ja) * 2014-02-25 2018-11-07 キヤノン株式会社 画像処理装置及び画像処理装置の制御方法
JP2015149077A (ja) * 2015-03-05 2015-08-20 セイコーエプソン株式会社 プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JP2017222127A (ja) * 2016-06-17 2017-12-21 富士ゼロックス株式会社 画像処理装置及び画像形成装置
JP7275511B2 (ja) * 2018-09-21 2023-05-18 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
CN111159762B (zh) * 2019-12-23 2022-08-12 北京工业大学 一种强制访问控制下的主体可信验证方法及***
JP2023034958A (ja) 2021-08-31 2023-03-13 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3747175B2 (ja) 2001-11-30 2006-02-22 キヤノン株式会社 印刷制御装置及び方法
JP2004102618A (ja) 2002-09-09 2004-04-02 Canon Inc 印刷制御装置及び方法、コンピュータプログラム、コンピュータ読み取り可能な記憶媒体、プレビュー装置及び方法、プリンタドライバ及びそのプレビュー方法
JP3962679B2 (ja) * 2002-12-05 2007-08-22 キヤノン株式会社 印刷制御方法及び装置
JP4136634B2 (ja) * 2002-12-10 2008-08-20 キヤノン株式会社 文書処理装置及び方法
JP4054726B2 (ja) * 2003-07-09 2008-03-05 キヤノン株式会社 情報処理装置及びその制御方法及びプログラム
JP4269861B2 (ja) * 2003-09-12 2009-05-27 沖電気工業株式会社 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
JP4250569B2 (ja) 2004-06-25 2009-04-08 キヤノン株式会社 印刷制御装置及び印刷制御方法
JP4822732B2 (ja) * 2005-04-07 2011-11-24 キヤノン株式会社 情報処理装置及び方法
JP2006297632A (ja) * 2005-04-15 2006-11-02 Canon Inc 画像処理装置
JP4401347B2 (ja) * 2005-10-27 2010-01-20 シャープ株式会社 分散印刷制御システム及び分散印刷制御方法
JP4785579B2 (ja) * 2006-03-17 2011-10-05 キヤノン株式会社 情報処理装置および情報処理装置における印刷設定反映方法とプログラム
US8537408B2 (en) 2006-12-20 2013-09-17 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and storage medium
JP4857135B2 (ja) * 2007-01-30 2012-01-18 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP4799460B2 (ja) 2007-03-26 2011-10-26 キヤノン株式会社 印刷制御装置及び方法
JP2008271098A (ja) * 2007-04-19 2008-11-06 Konica Minolta Business Technologies Inc 文書結合装置、文書結合方法および文書結合プログラム

Also Published As

Publication number Publication date
US20140136974A1 (en) 2014-05-15
CN101901117B (zh) 2012-08-22
JP2010140445A (ja) 2010-06-24
US20100149598A1 (en) 2010-06-17
US9557947B2 (en) 2017-01-31
CN101901117A (zh) 2010-12-01
US8634102B2 (en) 2014-01-21
CN102830945A (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
JP5675047B2 (ja) 文書処理装置およびコンピュータプログラム
JP5408904B2 (ja) 情報処理装置、プレビュー方法、及びプログラム
US8300238B2 (en) Print control device and method
JP5072676B2 (ja) 情報処理装置、情報処理方法及び印刷システム
US8537408B2 (en) Information processing apparatus, information processing method, program, and storage medium
KR101064065B1 (ko) 정보 처리 장치, 제어 방법, 및 기억 매체
JP4857135B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
EP2085872B1 (en) Image forming apparatus, print control method and control program
RU2565004C2 (ru) Устройство обработки документов, способ управления и считываемый компьютером носитель информации
US20180260181A1 (en) Information processing apparatus, control method, and storage medium storing program
JP5031514B2 (ja) データ処理装置およびデータ処理方法
JP7467217B2 (ja) プログラム及び情報処理装置の制御方法
JP5344583B2 (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2015118570A (ja) 情報処理方法および用紙サイズ設定方法
JP4891052B2 (ja) 情報処理装置、プレビュー方法、プログラム、及び記憶媒体
JP4442875B2 (ja) データ処理装置及び該装置における印刷制御方法、プログラム
JP2007026054A (ja) 情報処理装置及び情報処理装置を制御するプログラム及び記憶媒体
US8456703B2 (en) Information processing apparatus for printing print job information
JP5677550B2 (ja) 情報処理装置、プレビュー方法、及びプログラム
JP2005063315A (ja) 情報処理装置、印刷システム、プリンタドライバのユーザインタフェース制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
WO2022138317A1 (ja) サポートプログラム
JP4661832B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
JP2007261172A (ja) 画像形成装置及び画像形成方法
JP2007087292A (ja) 印刷制御装置
JP2013025530A (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131009

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131016

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20131220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141028

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151