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

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

Info

Publication number
JP2014238698A
JP2014238698A JP2013120717A JP2013120717A JP2014238698A JP 2014238698 A JP2014238698 A JP 2014238698A JP 2013120717 A JP2013120717 A JP 2013120717A JP 2013120717 A JP2013120717 A JP 2013120717A JP 2014238698 A JP2014238698 A JP 2014238698A
Authority
JP
Japan
Prior art keywords
print setting
setting information
filter
information
merged
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
JP2013120717A
Other languages
English (en)
Other versions
JP6150621B2 (ja
JP2014238698A5 (ja
Inventor
敬二 川嵜
Keiji Kawasaki
敬二 川嵜
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 JP2013120717A priority Critical patent/JP6150621B2/ja
Priority to CN201410245033.2A priority patent/CN104238967B/zh
Priority to US14/296,219 priority patent/US9870184B2/en
Publication of JP2014238698A publication Critical patent/JP2014238698A/ja
Publication of JP2014238698A5 publication Critical patent/JP2014238698A5/ja
Application granted granted Critical
Publication of JP6150621B2 publication Critical patent/JP6150621B2/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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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/1211Improving printing performance
    • 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/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1277Print workflow management, e.g. defining or changing a workflow, cross publishing using filter pipeline, e.g. outside the driver, adding traps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Abstract

【課題】 複数のフィルターで順次印刷データを処理するような印刷システムにおいて、印刷設定情報のマージ処理の合計処理時間を低減する。【解決手段】 第1の階層の第1の印刷設定情報と、第1の階層より下位の階層である第2の階層の第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を第1のフィルターが生成して保存して、第3の印刷設定情報を第1のフィルターに後続する第2のフィルターで取得する。【選択図】 図5

Description

本発明は情報処理装置及びプログラム、制御方法に関する。
特定処理を行うためのフィルターを複数個組み合わせて印刷コマンドを生成するよう構成される印刷システムが存在する。このような構成の印刷システムでは、各フィルターは、自身の担う役割に応じて印刷コマンドの元となる印刷データを変更し、次のフィルターに渡す。このように、フィルター間を流れる印刷データは、適宜フィルターによって編集される。従って、各フィルターは前のフィルターによって渡された印刷データを処理する。
特許文献1はレイアウトフィルターの処理の後にレイアウトフィルターに後続するプレビューフィルターが階層ごとに印刷設定情報を取得する技術を開示している。
特開2009−282843号公報
ここで第1のフィルターが第1の階層より下位の階層である第2の階層の出力用の第2の印刷設定情報を特定するために、第2の印刷設定情報と第1の階層の第1の印刷設定情報をマージする環境を想定する。また第1のフィルターは第1のフィルターに後続する第2のフィルターにマージ前の印刷設定情報(第1の印刷設定情報と第2の印刷設定情報)を送信するものとする。
次に想定した環境で特許文献1を用いる場合について考える。この場合、特許文献1は前述の環境を開示していない。さらに前述の環境で処理を行った場合、第2のフィルターにはマージ前の印刷設定情報が渡されているため、第2のフィルターが第2の階層の出力用の第2の印刷設定情報を特定するために、第1の印刷設定情報と第2の印刷設定情報を第1のフィルターと同様に第2のフィルターが再度マージする虞がある。よって、このように構成すると第1のフィルターと第2のフィルターで処理が重複して行われてしまい、その結果、フィルター全体の処理が遅延する可能性がある。
本発明は前述のフィルター全体の処理が遅延する可能性を低減することを目的とする。
上記の目的を達成するための本発明に係る情報処理装置は、
第1の階層の第1の印刷設定情報と、前記第1の階層より下位の階層である第2の階層の第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を生成して保存する保存手段と、
前記保存手段が保存する前記第3の印刷設定情報を取得する取得手段と、を有し、
前記保存手段は第1のフィルターによって実行され、前記取得手段は前記第1のフィルターに後続する第2のフィルターによって実行されることを特徴とする。
本発明によれば、フィルター全体の処理が遅延する可能性を低減することができる。
印刷装置と情報処理装置によって構成される印刷システムのブロック図 プリンタドライバの構成を示すブロック図 レイアウトフィルターの処理を示すフローチャート レイアウトフィルターのFPの加工・編集処理を示すサブフローチャート レイアウトフィルターのFP送信処理を示すサブフローチャート レイアウトフィルターの逆順用FP送信処理を示すサブフローチャート PropertyBagに格納する印刷設定情報の構造を示すブロック図 レンダーフィルターの処理を示すフローチャート プレビューフィルターの処理を示すフローチャート XPS文書の論理構造を示すブロック図 実施形態3のレイアウトフィルターのFP送信処理を示すサブフローチャート 実施形態3のレイアウトフィルターの逆順用FP送信処理を示すサブフローチャート 実施形態3のレンダーフィルターの処理を示すフローチャート 実施形態3のプレビューフィルターの処理を示すフローチャート 従来処理と本発明の処理時間の違いを概念的に示したブロック図
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
ここで印刷設定情報のマージ処理について説明する。
印刷設定情報のマージ、及び印刷設定の整合を取る処理は、構成によっては処理負荷が高い。さらに、各フィルターは、前記印刷設定情報のマージ処理を行い、自身の担う処理を必要に応じて実行した後、印刷設定情報を含むパーツを、実行が終了したものから順次次のフィルターに渡すよう構成する必要がある。従って、次のフィルターは、前のフィルターの前記印刷設定情報のマージ処理が完了しないと、自身の印刷設定情報のマージ処理を開始できない。そのため、印刷システムを構成するフィルターの数が増えるほど、印刷設定情報のマージ処理に要する処理時間が長くなってしまう。よって、アプリケーションが印刷データを作成してから、実際に印刷装置で記録動作に至るまでの時間が遅くなる等の問題があった。
なお、本明細書における印刷設定とはPrintTicket(PT)やDEVMODE構造体に格納される情報を意味する。また本明細書では以降、印刷設定情報としてPTを例に説明するが、印刷設定が格納されている情報であればよくPTに限られない。
そこで本発明は、前記のような構成の印刷システムにおいて、印刷設定情報のマージ処理の合計処理時間を削減する方法を提供することを目的とする。
<実施形態1>
図1は印刷装置2と印刷装置2に接続された情報処理装置(パソコン1)によって構成される印刷システムの全体構成を概念的に表したブロック図の一例である。
パソコン1は入力インターフェース11とCPU12、ROM13、RAM14、外部記憶装置15、出力インターフェース16、表示部17、キーボード10、マウス18、入出力インターフェース19を有する。ROM13には初期化プログラムが入っており、外部記憶装置15にはアプリケーションプログラム群とOS(Operating System)、プリンタドライバやその他各種のデータが保存されている。外部記憶装置15にストアされる各種プログラムはRAM14をワークメモリとして使用する。
印刷装置2は入出力インターフェース21とRAM22、プリントエンジン23、ROM24、CPU25を有する。入出力インターフェース21はパソコン1の入出力インターフェース19に接続してある。RAM22はCPU25の主メモリとワークメモリとして用いられ、受信した印刷データを一旦保存するための受信バッファや各種のデータを保存する。プリントエンジン23はRAM22に保存されたデータに基づき印刷を行う。ROM24には各種の制御プログラムが使用するデータが入っており、CPU25はこれらの制御プログラムに従って印刷装置2の各部を制御する。
ここでは、例としてパソコン1と印刷装置2の処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であっても構わない。
図2は本実施形態におけるプリンタドライバの構成を説明するためにプリンタドライバ207を中心に概念的に表したブロック図の一例である。以下、一般的に普及しているパソコンにMicrosoft社のWindows(登録商標)をOSとして使用し、スプールデータとしてMicrosoft社が開発したオープン規格の電子文書フォーマットの一つであるXML Paper Specification(以下、XPS)を用いる印刷システムについて説明する。
アプリケーション201が作成した印刷データは、OSの印刷サポート機能202を介しスプールデータ205としてスプーラ203のプリントキュー204に一時的に蓄えられる。印刷データは、プリンタドライバ207によって印刷装置2が解釈可能な印刷コマンドに変換された後に、印刷装置2に供給されて印刷されるよう構成されている。アプリケーション201は印刷指示を行う際にOSの印刷サポート機能202を介して、ユーザーインターフェースモジュール206から返却された印刷設定情報を印刷データに付加する。印刷設定情報は、アプリケーション201からの印刷開始指示を行う前に予め設定された情報である。
プリンタドライバ207に渡された印刷データは、先ずレイアウトフィルター208によって処理される。ここでフィルターとは、入力されたデータをもとに、加工、変換、無変換、生成等の工程を介して、何らかのデータを出力する機能を有するプログラムのことで、不図示のOSのフィルター管理機能から呼び出される。レイアウトフィルター208は、印刷設定情報に従って印刷データのページを並べ替えたり複数ページを1つのページにまとめたりといったページ構成処理を印刷データに対して行う。次に印刷データは、プレビューフィルター209に渡される。プレビューフィルター209は、印刷設定情報内に印刷プレビュー情報を表示する指示がなされている場合、印刷プレビュー表示モジュール210を呼び出す。印刷プレビュー表示モジュール210は印刷プレビュー画面をパソコンの表示部17上に表示し、印刷結果をユーザーが事前に確認する手段を提供する。その後、印刷プレビュー画面でユーザーが印刷指示をした場合には印刷データは再度スプールされて、レイアウトフィルター208から処理される。プレビューフィルター209は、印刷設定情報に印刷プレビュー情報を表示する指示がなされていない場合は、印刷データをレンダーフィルター211に渡す。レンダーフィルター211は、印刷設定情報に従って印刷データを印刷装置2が解釈可能な印刷コマンドに変換する。レンダーフィルター211が送信した印刷コマンドは順次印刷装置2に送信される。
図10はXPS文書の論理構造を示したブロック図の一例である。XPS文書1001の論理構造はFixedDocumentSequence(FDS)1002がルートとなるツリー構造となっている。FDS1002は子として(下位の階層として)FixedDocument(FD)1011とFD1012を有する。FD1011は子としてFixedPage(FP)1021とFP1022を有する。FD1012は子としてFP1023を有する。印刷設定を記述したPTについては、FDS1002がPT1031を、FD1011がPT1032を、FP1021がPT1033を、FD1012がPT1034をそれぞれ保持している。FP1022とFP1023はPTを保持していない。また、FP1021とFP1022がフォントや画像等の資源1041を共有しており、FP1023はフォントや画像等の資源1042を利用している。
ここで例えばFP1021を印刷する際に使用するPTは、不図示のユーザーデフォルトPTとPT1031とPT1032とPT1033をマージしたPTとなる。マージとは、2つのPT同士を併合し、1つのPTを生成する処理を示す。従って、FP1021を印刷する際に使用するPTを決定するためには、3回のマージ処理が必要となる。通常、マージにはバリデーションと呼ばれる複数の印刷設定同士の整合性を取る処理も含まれる。
以上のようにXPSはツリー構造を持ち、表示や印刷において必要な資源を内包する。
図3は本実施形態におけるレイアウトフィルター208の処理フローを示すフローチャートである。図3のフローチャートは、レイアウトフィルター208の代表的な処理として、通常印刷処理、割り付け印刷(Nup印刷)処理、逆順印刷処理の3つのモードの処理フローを含む。レイアウトフィルター208は、それ以外にも冊子印刷処理、スタンプ挿入処理、部数印刷処理など、ページ構成変更やページ内容加工に関する種々の処理を含んでも良い。
レイアウトフィルター208は、まずFDSを受信する(S301)。フィルターは、不図示のOSのフィルター管理機能の提供するAPIを呼び出すことで、XPS文書を構成するパーツを受信したり送信したりすることができる。次に、レイアウトフィルター208は、P、Q、Rの3つの変数をそれぞれ0に初期化する(S302)。
Pは処理ページ数、Qは割り付け印刷処理で利用する蓄積ページ数、Rは逆順印刷処理で利用する送信済みページ数を示す。
次に、レイアウトフィルター208はFDS階層のマージ済みPrintTicket(MergedFDSPT)を決定する(S303)。レイアウトフィルター208は、ユーザーデフォルトPTと、FDSが保持するPTをマージすることによって、MergedFDSPTを決定する。FDSがPTを保持しない場合、レイアウトフィルター208は、ユーザーデフォルトPTをMergedFDSPTとして採用する。また、このマージ処理は、通常、ユーザーインターフェースモジュール206によって提供されるものであり、呼び手はユーザーインターフェースモジュール206の特定のAPIを呼び出すことでマージ処理を依頼することができる。
次に、レイアウトフィルター208は、S301で受信したFDSを送信する(S304)。レイアウトフィルター208がFDSを送信すると、次のフィルターであるプレビューフィルター209がFDSを受信可能になる。各フィルターは並行に動作することができるが、各パーツは、前のフィルターの処理が完了し送信されるまで、次のフィルターで受信することはできない。このような動作は、FD、FPに関しても同様である。
次にレイアウトフィルター208はFDを受信する(S305)。次に、レイアウトフィルター208は、MergedFDSPTと、FDが保持するPTをマージすることによって、MergedFDPTを決定する(S306)。FDがPTを保持しない場合、レイアウトフィルター208は、MergedFDSPTをMergedFDPTとして採用する。次にレイアウトフィルター208はFDを送信する(S307)。なお、本発明では、最終的に確定したMergedFPPTを各FPに付加するため、レイアウトフィルター208以降のフィルターは、構成によってはFDを参照する必要が無い。
その場合には、S307の処理は次のように行うように構成しても良い。具体的には、S304の後に、予め用意された固定のFDを1つだけ送信する。また、レイアウトフィルター208がFDを送信する場合、逆順印刷時にはFDの順番も逆にして送信する必要があるが、その処理については本発明の特徴的な処理部分では無いため本フローチャートから省略している。
次にレイアウトフィルター208はFPを受信する(S308)。次に、レイアウトフィルター208はMergedFDPTと、FPが保持するPTをマージすることによって、MergedFPPTを決定する(S309)。FPがPTを保持しない場合、レイアウトフィルター208は、MergedFDPTをMergedFPPTとして採用する。
次にレイアウトフィルター208は、MergedFPPTの印刷設定に従って、FPを加工・編集する処理を行う(S310)。FPの加工・編集処理の詳細は、図4のフローチャートに示し、その説明は後述する。S310でFPの加工・編集処理が終了すると、レイアウトフィルター208は、P番目の出力FPが存在するか否かを判定する(S311)。出力FPとは、レイアウトフィルター208が必要に応じて加工・編集した、次のフィルターに渡すためのFPを示す。レイアウトフィルター208は、S310の処理の1つとして、この出力FPの生成処理を行うが、その処理については後述する。S311で出力FPが存在した場合、レイアウトフィルター208は、1ページ目のMergedFPPTで逆順印刷が指示されているか確認する(S312)。S312で逆順印刷が指示されていなかった場合、レイアウトフィルター208はFP送信処理を行う(S313)。FP送信処理の詳細は、図5のフローチャートに示し、その説明は後述する。S311でP番目の出力FPが存在しなかった場合、及びS312で逆順印刷が指示されていた場合、レイアウトフィルター208は、S313のFP送信処理をスキップする。
レイアウトフィルター208は、次のFPが存在するか否か判断し(S314)、存在した場合はS308からS313の処理を繰り返す。次のFPが存在しなかった場合、レイアウトフィルター208は、次のFDが存在するか否か判断する(S315)。次のFDが存在した場合、レイアウトフィルター208はS305からS314の処理を繰り返す。次のFDが存在しなかった場合、レイアウトフィルター208は、1ページ目のMergedFPPTで逆順印刷が指示されているか確認する(S316)。逆順印刷が指示されていた場合、レイアウトフィルター208は、逆順用のFP送信処理を行い(S317)、処理を終了する。逆順用のFP送信処理の詳細は、図6のフローチャートに示し、その説明は後述する。逆順印刷が指示されていなかった場合、レイアウトフィルター208は、逆順用のFP送信処理を行わず、処理を終了する。
図4は、レイアウトフィルター208がS310で行う、FPの加工・編集処理の詳細を示すサブフローチャートである。レイアウトフィルター208は、1ページ目のMergedFPPTで割り付け印刷が指示されているか確認する(S401)。
割り付け印刷が指示されていなかった場合、レイアウトフィルターは、Pに1を加える(S402)。次に、レイアウトフィルターは、現在のFPをP番目の出力FPとして保存する(S403)。さらに、レイアウトフィルター208は、現在のMergedFPPTをP番目のMergedFPPTとして保存する(S404)。S401で割り付け印刷が指示されていなかった場合の、本サブフローチャートにおけるレイアウトフィルターの処理は以上で終了である。
S401で割り付け印刷が指示されていた場合、レイアウトフィルターはQに1を加える(S405)。次に、レイアウトフィルターは、QをNで割った余りが0か否かを判断する(S406)。
ここで、Nは、割り付け印刷設定における割り付け数を示し、MergedFPPT内で指定されている。
S406の判定が偽の場合、レイアウトフィルターはQをNで割った余りが1か否かを判断する(S407)。S407が真の場合、レイアウトフィルターは、MergedFPPTを一時的にキャッシュする(S408)。S408の処理後、及びS407が偽の場合、レイアウトフィルターはFPを一時的にキャッシュする(S409)。S401で割り付け印刷が指示され、かつS406が偽であった場合の、本サブフローチャートにおけるレイアウトフィルターの処理は以上で終了である。
S406が真であった場合、レイアウトフィルターは、Pに1を加える(S410)。次に、レイアウトフィルターは、現在のFPとS409でキャッシュした複数のFPを元に、割り付け済みのFPを生成し、それをP番目の出力FPとして保存する(S411)。割り付け済みのFPは、元となる複数のFPにおけるページ内オブジェクトを縮小して配置することで作成される。ここで、S411で作成する割り付け済みのFPには、割り付け前の最初のFPが保持するPTを付加する。さらに、レイアウトフィルターは、S408でキャッシュしたMergedFPPTをP番目のMergedFPPTとして保存する(S412)。S411とS412の処理は、割り付け印刷を行う場合に、割り付け前の最初のFPの印刷設定を、割り付け後のFPの印刷設定として扱うことを意味している。
なお、レイアウトフィルターは、その他の方法で、割り付け後のFPの印刷設定を決定するように構成しても良い。具体的には最初のFPの印刷設定に限らず割り付け対象のFPのうち最初から最後のページのいずれか1ページの印刷設定を割り付け後のFPの印刷設定とすればよい。
次に、レイアウトフィルターは、Qを0にする(S413)。最後に、レイアウトフィルターは、S408及びS409でキャッシュしたデータを破棄する(S414)。S401で割り付け印刷が指示され、かつS406が真であった場合の、本サブフローチャートにおけるレイアウトフィルターの処理は以上で終了である。
図5は、レイアウトフィルター208がS313で行う、FPの送信処理の詳細を示すサブフローチャートである。レイアウトフィルターは、P番目のMergedFPPTが、P−1番目のMergedFPPTと等しいか否かを判定する(S501)。この判定処理は、MergedFPPTの元になった、FDPT、FPPTをもとに行う。例えば、連続するFP1とFP2、及びそれらの親であるFD1のいずれもPTを保持していなかった場合、必然的にFP1とFP2のマージ済み印刷設定は等しいと判断できる。また、FP1とFP2が同じPTを保持していた場合も、FP1とFP2のマージ済み印刷設定は等しいと判断できる。レイアウトフィルター208は、S306及びS309で、処理中パーツの保持するPTが、前のパーツ(FPであれば、その1つ前のFP)の保持するPTと等しいか否かの判定を追加で行う。さらにレイアウトフィルター208は、その判定結果に従い、適宜マージ処理をスキップして、代わりに前のパーツからPTは変わっていないという情報を残す。このような情報を元に、レイアウトフィルター208は、S501で、P番目のMergedFPPTが、P−1番目のMergedFPPTと等しいか否かを判定することができる。
S501が偽の場合、レイアウトフィルター208は、P番目のMergedFPPTを後述する中間設定情報706であるDEVMODE構造体の形式に変換する(S502)。DEVMODE構造体は、印刷設定を格納するための構造体である。この変換処理は、通常、ユーザーインターフェースモジュール206によって提供されるものであり、呼び手はユーザーインターフェースモジュール206の特定のAPIを呼び出すことで変換処理を依頼することができる。次に、レイアウトフィルター208は、P番目の後述する中間設定情報706及び更新情報707をP番目のデータとしてPropertyBag(PB)に登録する(S503)。PropertyBagとは、不図示のOSのフィルター管理機能により提供されるデータ管理機能であり、データはRAM14、若しくは外部記憶装置15に格納される。全てのフィルターは、PropertyBagに、任意のデータを格納したり、取得したりできる。
ここで、レイアウトフィルター208がPropertyBagに格納する情報の構造を図7に示す。図7(A)は、複数ページの中間情報を格納するためのリスト構造である。
中間情報は印刷設定情報をマージすることで生成した印刷設定情報に基づいて生成される情報である。なお、中間情報も印刷設定に関する情報という意味では印刷設定情報の一種である。
図7の説明を続ける。リスト構造701の中には、排他用オブジェクト702、ページ1の中間情報703からページMの中間情報704までが格納される。リスト構造701は、必要に応じてジョブ階層の中間情報を格納しても良い。排他用オブジェクト702は、複数のスレッドが同時にリスト構造701にアクセスした場合にデータが壊れてしまうのを防止するため、それぞれのスレッドからの処理を排他するために利用される。
中間情報705の構造を図7(B)に示す。中間情報705は、中間設定情報706、更新情報707で構成される。中間設定情報706には、前述のDEVMODE構造体の形式の印刷設定が格納される。中間設定情報706に格納される情報は、PTや、DEVMODE以外の構造体の形式であっても良い。更新情報707には、中間設定情報706からの更新情報が格納される。例えば、S401で割り付け印刷が指示されていた場合、レイアウトフィルターは、指示内容によって、A4サイズの2ページを、B5サイズ1枚に割り付けるなどする。この場合、レイアウトフィルターがS411で作成するFPはB5サイズである。従って、レイアウトフィルター以降のフィルターは、このFPをB5サイズとして処理する必要がある。このようなケースにおいて、レイアウトフィルター208は、更新情報707に、用紙サイズをB5に変更した事を示す情報を格納する。レイアウトフィルターは、更新情報707を格納する代わりに、中間設定情報706に、変更を反映させる構成としても良い。
なお、中間情報の実体はメモリ上に図7(B)の構造で格納され、その格納されたメモリ空間上のアドレスが、リスト構造701の各ページの中間情報として格納される。リスト構造701において、異なるページの中間情報として、1つの中間情報を示すアドレスを格納しても良い。このような構成とすることで、メモリ使用量を削減できるし、また、アドレスの同一判定を行うことで、中間情報の同一判定を容易に行うことができる。
図5のフローチャートの説明に戻る。レイアウトフィルターは、S503で、リスト構造701を適宜作成・更新し、PropertyBagに格納する。さらに、リスト構造701に、中間情報705の構成で、P番目の中間設定情報706及び更新情報707を格納する。S501で、P番目のMergedFPPTがP−1番目と同じだった場合、レイアウトフィルターは、P番目の印刷設定はP−1番目(P番目の前ページ)と等しいことをPropertyBagに保存する(S504)。レイアウトフィルターは、リスト構造701のP−1番目の中間情報として格納されているアドレスを、P番目の中間情報として格納することで、S504の処理を実現する。
S503、及びS504でPropertyBagに情報を格納後、レイアウトフィルター208は、P番目の出力FPを送信する(S505)。レイアウトフィルターが出力したFPは、レイアウトフィルター以降のフィルターで受信可能になる。このように、PropertyBagへの中間情報の格納処理の後にFPを送信することで、以降のフィルターが該FPを受信したタイミングで、そのFPに対する中間情報がPropertyBagに格納されている事を保証できる。
図5のフローチャートでは、レイアウトフィルターは、連続するページ間で印刷設定が等しい場合に、その情報をPropertyBagに格納する。ここで、レイアウトフィルターは、連続するページ間でなくても、印刷設定が等しい場合はその情報をPropertyBagに格納するよう構成しても良い。その場合、利用するメモリをより削減することができる。
図6は、レイアウトフィルター208がS317で行う、逆順設定時のFPの送信処理の詳細を示すサブフローチャートである。まず、レイアウトフィルター208は、Pが0より大きいか否かを判断する(S601)。Pが0以下の場合、レイアウトフィルター208は、本サブフローチャートの処理を終了する。Pが0より大きい場合、レイアウトフィルターは、Rに1を加える(S602)。次に、レイアウトフィルター208は、P番目のMergedFPPTがP+1番目のMergedFPPTと同じであるか否かを判断する(S603)。S603が偽の場合、レイアウトフィルター208は、P番目のMergedFPPTを中間設定情報であるDEVMODE構造体の形式に変換する(S604)。S604の処理はS502の処理と同一である。次に、レイアウトフィルター208は、P番目の中間設定情報706及び更新情報707を、R番目のデータとしてPropertyBag(PB)に登録する(S605)。S603が真の場合、レイアウトフィルター208は、R番目の印刷設定はR−1番目と等しいことをPropertyBagに保存する(S606)。S605、及びS606でPropertyBagに情報を格納後、レイアウトフィルター208は、P番目の出力FPを送信する(S607)。次にレイアウトフィルター208は、Pから1をひく(S608)。その後、レイアウトフィルターは、S601の処理に戻り、S601が偽になるまで処理を繰り返す。このように、逆順印刷設定が指定されている場合、レイアウトフィルターは、ページの順序を逆転させる処理を行う。
以上、本実施形態におけるレイアウトフィルターの特徴的な動作を中心に、図3から図6のフローチャートで説明した。なお、本実施形態では、代表的なレイアウト変更処理として割り付け印刷と逆順印刷を取り上げたが、レイアウトフィルター208がそれ以外のページ構成変更やページ内容加工を実施する場合も、本発明を適用可能であることは言うまでもない。レイアウトフィルター208は、ページ構成変更やページ内容加工を行った場合、次のフィルターに送信するFPの順番、単位で、中間情報が参照可能なよう、PropertyBagに印刷設定を格納すれば良い。
図3、及び図5のフローチャートでは、レイアウトフィルターは、中間情報をページ単位でPropertyBagに格納する。後続のフィルターが、MergedFDSPTやMergedFDPTを参照する場合、レイアウトフィルターは、それらのPTを格納するように構成しても良い。その場合、レイアウトフィルターは、S303の後にMergedFDSPTを、S306の後にMergedFDPTを格納する。その場合、図7(A)のリスト構造は、FDS階層、FD階層の情報を格納できるよう、構成する必要がある。
図8は本実施形態におけるレンダーフィルター211の処理フローを示すフローチャートである。レンダーフィルター211は、まずFDSを受信する(S801)。次に、レンダーフィルター211はPを0に初期化する(S802)。次に、レンダーフィルター211は、FDの受信(S803)、FPの受信(S804)を行う。次に、レンダーフィルター211はPに1を加える(S805)。次にレンダーフィルター211は、PropertyBagからP番目の中間情報を取得する(S806)。この中間情報は、レイアウトフィルター208によって、S503、S504、S605、S606で格納されたものである。フローチャートには記載されていないが、S806で中間情報の取得に失敗した場合、レンダーフィルター211は、受信済みのFDS、FD、FPの保持するPTを取得して印刷設定を決定する。これにより、何らかのトラブルが発生して中間情報を取得できなかった場合も、レンダーフィルター211は処理を続行することができる。
次に、レンダーフィルター211は、取得したP番目の中間情報が、1ページ前の中間情報と同じか否かを判定する(S807)。この判定は、P番目の中間情報と、P−1番目の中間情報が、それぞれ格納されているメモリ上のアドレスが等しいか否か、を判定することで実現できる。S807が偽の場合、中間情報に格納されているDEVMODE構造体の形式の印刷設定に対し、同じく中間情報に格納されている更新情報を反映する(S808)。反映後、印刷設定間の不整合が生じる可能性があるため、必要に応じて印刷設定間の不整合を取り除く処理も行う(S808)。既にレイアウトフィルター208によってDEVMODE構造体の形式の印刷設定が更新されている場合、S808の処理、及び処理の一部は不要である。次に、レンダーフィルター211は、印刷設定に従って、印刷コマンドの生成処理を初期化する(S809)。この処理は、具体的には、印刷設定に従って決定する印字領域及び解像度を元にレンダリングエンジンを初期化すること、印刷設定のうち必要な情報を印刷装置2に送信すること、等を含む。次に、レンダーフィルター211は、FPを元に印刷装置2が解釈可能な印刷コマンドを生成し、送信する(S810)。S807が真の場合、つまりP番目の中間情報が、1ページ前の中間情報と同じである場合、レンダーフィルター211は、S808、S809に相当する処理をスキップし、FPを元に印刷装置2が解釈可能な印刷コマンドを生成し、送信する(S811)。S807からS811のような構成により、印刷設定が変わらない場合に、不要な処理が発生することを防ぐことができる。
レンダーフィルター211は、S812で次のFPが存在するか否かを判断し、存在した場合はS804からS811の処理を繰り返す。S812で次のFPが存在しないと判断した場合、レンダーフィルター211はS813で次のFDが存在するか否かを判断し、存在した場合はS803からS812の処理を繰り返す。S813で次のFDが存在しないと判断した場合、レンダーフィルター211は本フローチャートの処理を終了する。以上が本実施形態におけるレンダーフィルター211の処理である。
各フィルターでマージ処理をそれぞれ行う(マージした結果(中間情報)をフィルター間で引き継がない)構成であれば、レンダーフィルター211は、レイアウトフィルター208が実施するS309等のPTのマージ処理を複数回実施する必要がある。しかし本実施形態の構成により、レンダーフィルター211は、メモリ空間からマージ済みの中間情報を取得することで、PTのマージ処理を省略することができる。マージは、PTの構造を理解した上での印刷設定の収集、バリデーション、さらにPTの構造への書き出しと、複数の処理を要し、一般的に処理負荷は高い。本実施形態でPTのマージ処理を省略することにより、より高速に印刷データの生成処理を行うことができる。具体的には、まず、アプリケーション201が印刷を開始してから、印刷装置2が実際に印刷動作を開始するまでの時間を短縮することができる。さらに、プリンタドライバ207が、複数ページの印刷データを処理する場合の1ページあたりの処理時間を短縮することができる。なお、プレビューフィルター209も、レンダーフィルター211と同様に、PTのマージ処理を省略して、PropertyBagから中間情報を取得する事が可能であることは言うまでもない。
図15は、本構成による印刷処理時間の短縮を概念的に示した図である。図15(A)は各フィルターでマージ処理をそれぞれ行う構成における処理時間を、(B)は本実施形態の構成における処理時間を示している。また、図15は、FDS、FD、FPがそれぞれPTを保持している場合に、各PTをマージして最初のページの印刷設定を確定させるまでの処理を示している。横軸は、右にいくほど時間が経過していることを示している。各フィルターでマージ処理をそれぞれ行う構成では、レイアウトフィルター208がS303、S306、S309で実施するマージ処理を、全てのフィルターが実施する必要がある。さらに、前のフィルターのPTの処理が終了しないと、次のフィルターはそのPTを処理できない。従って、図15(A)に示す通り、各フィルターが順次3回のマージ処理を実行する事になり、全体でマージ処理5回分の処理時間を要する。なお、実際には3つのフィルターのマージ処理を並列に動作させると、それぞれのマージ処理を単独で動作させるよりも処理時間を要する場合がある。これに対し、本発明では、レイアウトフィルター208がマージした結果をプレビューフィルター209及びレンダーフィルター211で参照する。これにより、全体でマージ処理3回分の処理時間で処理が終了する。
また、本実施形態ではプリンタドライバ207は3つのフィルターにより構成されているが、2個以上の異なる数のフィルターにより構成される場合も、本発明を適用可能である。フィルターの数が増えると、省略可能なPTのマージ処理の回数が増えるため、より処理時間を短縮することができる。また、本実施形態では、先頭のフィルターであるレイアウトフィルター208が、PTのマージ処理と、PropertyBagへの格納処理を行う。何らかの理由で中間情報の参照が不要なフィルターを先頭に配置する場合、2番目以降の中間情報を参照する最初のフィルターが、PTのマージ処理と、PropertyBagへの格納処理を行うよう構成する。
なお、上記説明ではレイアウトフィルターで中間情報をFPに基づいて生成する場合について示した。しかし、これに限らずレイアウトフィルターはMergedFDPTを中間情報として後続のフィルターに送り、後続のフィルターではMergedFDPTとFPをマージ処理することによってMergedFPPTを得るように構成しても良い。あるいはMergedFPPTをDEVMODEに変換せずに中間情報として保存する構成にしても構わない。
<実施形態2>
本実施形態では、2番目以降のフィルターが印刷設定を変更する構成をとる。なお、以後、特に言及が無い点は、実施形態1と同一の構成である。本実施形態の印刷プレビュー表示モジュール210は、印刷設定の一部をユーザーに変更可能とするユーザーインターフェースを提供する。変更可能な印刷設定は、例えば、用紙の種類等である。
図9は、印刷プレビュー表示モジュールを起動する、プレビューフィルター209の処理フローを示すフローチャートである。プレビューフィルター209は、まずFDSを受信し、それを後で参照可能なようにキャッシュする(S901)。次に、プレビューフィルター209はPを0に、Qを0にそれぞれ初期化する(S902)。次に、プレビューフィルター209は、FDを受信し、それを後で参照可能なようにキャッシュする(S903)。次に、プレビューフィルター209は、FPを受信し、それを後で参照可能なようにキャッシュする(S904)。次に、プレビューフィルター209はPに1を加える(S905)。次に、プレビューフィルター209は、次のFPが存在するか否かを判断し(S906)、存在した場合はS904からS905の処理を繰り返す。S906で次のFPが存在しないと判断した場合、プレビューフィルター209は次のFDが存在するか否かを判断し(S907)、存在した場合はS903からS906の処理を繰り返す。
S907で次のFDが存在しないと判断した場合、プレビューフィルター209はXPSデータの再構成を行う(S908)。具体的には、プレビューフィルター209は、キャッシュしたFDS、FD、FPを元に、再度XPSデータの形式のデータを生成する。このXPSデータの再構成処理は、印刷プレビュー表示モジュール210が実施しても良い。次に、プレビューフィルター209は、印刷プレビュー表示モジュール210を起動し、再構成したXPSデータを渡す(S909)。印刷プレビュー表示モジュール210は、XPSデータを受け取ると、XPSデータのプレビュー表示領域と、印刷設定の変更領域を持つ、不図示のユーザーインターフェース画面を表示部17に表示する。その間、プレビューフィルター209は、印刷プレビュー表示モジュール210の処理が完了するまで待つ。印刷プレビュー表示モジュール210のユーザーインターフェース画面で、ユーザーが適宜印刷設定を変更する。以降、ユーザーによって変更された印刷設定の情報を設定変更情報と称する。続いてユーザーが印刷開始を指示すると、印刷プレビュー表示モジュール210は、設定変更情報を伴ってプレビューフィルター209に応答を返す。プレビューフィルター209は、印刷プレビュー表示モジュール210から設定変更情報を受信すると(S910)、キャッシュしておいたFDSを送信する(S911)。次に、プレビューフィルター209は、キャッシュしておいたFDを送信する(S912)。次に、プレビューフィルター209は、Qに1を加える(S913)。次にプレビューフィルター209は、PropertyBagからQ番目の中間情報を取得する(S914)。次に、プレビューフィルター209は、取得したQ番目の中間情報が、1ページ前の中間情報と同じか否かを判定する(S915)。S915が偽の場合、プレビューフィルター209は、PropertyBagのQ番目の中間情報を更新する(S916)。更新は、印刷プレビュー表示モジュール210から受け取った、設定変更情報に基づいて行う。S916の処理完了後、及びS915が真の場合、プレビューフィルター209はFPを送信する(S917)。次に、プレビューフィルター209は、キャッシュにS912で送信したFDの子のFPが存在するか否かを判断し(S918)、存在した場合はS913からS917の処理を繰り返す。S918でFPが存在しないと判断した場合、プレビューフィルター209はキャッシュに次のFDが存在するか否かを判断し(S919)、存在した場合はS912からS918の処理を繰り返す。S919で次のFDが存在しないと判断した場合、プレビューフィルター209は本フローチャートの処理を終了する。
以上のように、本実施形態では、プレビューフィルター209が、レイアウトフィルター208によってPropertyBagに格納済みの中間情報を更新する処理を行う。プレビューフィルターは、中間情報の更新処理が完了してからFPを送信するため、レンダーフィルター211がFPを受信したタイミングでは、中間情報の更新は完了していることを保証できる。このように、複数のフィルターがPropertyBagに格納した中間情報を更新する場合も、中間情報を更新してからFPを送信することで、各フィルターが受信するFPとそれに対する印刷設定の不整合が起きず、正しい処理を行うことができる。なお、プレビューフィルター209は、逆順設定や割り付け設定など、ページ順やページ数が変わるような印刷設定変更を行うよう構成しても良い。その場合、プレビューフィルター209は、ページ編集や、ページ順変更処理を行う。その際も、プレビューフィルター209は、FPを送信する前に、そのFPに対する中間情報の更新を完了するように構成する。
<実施形態3>
本実施形態では、最初のフィルターが決定した印刷設定を、実施形態1、2とは別の方法で2番目以降のフィルターに渡す変形例について説明する。なお、以後、特に言及が無い点は、実施形態2と同一の構成である。
レイアウトフィルター208の基本的な処理フローは図3に示したものと同一である。図11は、レイアウトフィルター208がS313で実施するFP送信処理を示すサブフローチャートである。まず、レイアウトフィルター208は、P番目のMergedFPPTをP番目の出力FPに関連付ける(S1101)。これによってP番目のFPPTはP番目のMergedFPPTによって上書き保存される。次に、レイアウトフィルター208は、P番目の出力FPを送信する(S1102)。以上でレイアウトフィルター208がS313で実施するFP送信処理は終了である。本実施形態では、S501からS504の処理と異なり、P番目とP−1番目のMergedFPPTが等しいか否かによって処理を変える必要は無い。レイアウトフィルター208がP番目のFPとP−1番目のFPに同じMergedFPPTを関連付けた場合、以後のフィルターは取得したPT同士を比較することで、それらが同じPTであるか否かを判定することができる。
図12は、レイアウトフィルター208がS317で実施する逆順用FP送信処理を示すサブフローチャートである。S1201はS601と、S1202はS602と、それぞれ同一の処理である。S1202の後、レイアウトフィルター208は、P番目のMergedFPPTをP番目の出力FPに関連付ける(S1203)。これによってP番目のFPPTはP番目のMergedFPPTによって上書き保存される。S1204はS607と、S1205はS608と、それぞれ同一の処理である。以上で、レイアウトフィルター208がS317で実施する逆順用FP送信処理は終了である。
図13は、本実施形態におけるレンダーフィルター211の処理フローを示すフローチャートである。S1301からS1305までは、S801からS805までの処理と同一である。S1305の後、レンダーフィルター211は、FPが保持するPTを取得する(S1306)。これは、レイアウトフィルター208によって付加されたMergedFPPTである。S1307は、S807と同一である。S1307が偽の場合、レンダーフィルター211は、S1306で取得したPTをDEVMODEに変換する(S1308)。S1309からS1313までの処理は、S809からS813までの処理と同一である。以上でレンダーフィルター211の処理は終了である。
図14は、本実施形態におけるプレビューフィルター209の処理フローを示すフローチャートである。S1401からS1413までの処理は、S901からS913までの処理と同一である。S1413の後、プレビューフィルター209は、FPが保持するPTを取得する(S1414)。次にQ番目のFPPTと1ページ前のFPPTが同じか否かを判定する(S1415)。S1415が偽の場合、プレビューフィルター209は、取得したPTを更新して、再度FPに関連付け直す(S1416)。更新は、S916と同様に、印刷プレビュー表示モジュール210から受け取った、設定変更情報に基づいて行う。S1415が真の場合、プレビューフィルター209は、前ページの更新済みPTをFPに関連付けする(S1417)。S1418からS1420までの処理は、S917からS919までの処理と同一である。以上で、本実施形態におけるプレビューフィルター209の処理は終了である。
以上のように、本実施形態のレイアウトフィルター208は、PropertyBagにMergedFPPTを格納する代わりに、MergedFPPTをFPのPTとして付加し直す。プレビューフィルター209とレイアウトフィルター208は、FPにMergedFPPTが付加されている前提で、FDSとFDに付加されているPTの取得処理をスキップし、FPに付加されたPTをMergedFPPTとして扱う。これにより、実施形態1及び2と同様に、複数フィルターがPTのマージ処理を重複して行うことを避け、処理を高速化させることができる。なお、本実施形態のレイアウトフィルター208はMergedFPPTをFPPTとして格納するが、さらにDEVMODEに変換した印刷設定をバイナリとしてPTの中に格納する等しても良い。そうすることで、複数フィルターがDEVMODEへの変換処理を重複して行うことを避け、さらに処理を高速化させることができる。また、PT以外のパーツにMergedFPPTやDEVMODEを参照可能な形で格納するよう構成しても良い。
<実施形態4>
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、SSD、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
1 パソコン
2 印刷装置
207 プリンタドライバ
208 レイアウトフィルター
209 プレビューフィルター
211 レンダーフィルター

Claims (15)

  1. 第1の階層の第1の印刷設定情報と、前記第1の階層より下位の階層である第2の階層の第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を生成して保存する保存手段と、
    前記保存手段が保存する前記第3の印刷設定情報を取得する取得手段と、を有し、
    前記保存手段は第1のフィルターによって実行され、前記取得手段は前記第1のフィルターに後続する第2のフィルターによって実行されることを特徴とする情報処理装置。
  2. 前記保存手段は、前記第1の印刷設定情報と前記第2の印刷設定情報をマージすることでマージ済み印刷設定情報を生成して、前記マージ済み印刷設定情報の形式を変換することで中間情報として前記第3の印刷設定情報を生成して保存することを特徴とする請求項1に記載の情報処理装置。
  3. 前記マージ済み印刷設定情報の印刷設定に基づく中間設定情報と前記マージ済み印刷設定情報の印刷設定の更新に関する更新情報を前記中間情報として保存することを特徴とする請求項2に記載の情報処理装置。
  4. 前記マージ済み印刷設定情報はページ単位に存在し、
    前記保存手段は第1のページの前記マージ済み印刷設定情報と前記第1のページの前ページである第2のページの前記マージ済み印刷設定情報が等しい場合に、前記第1のページの前記マージ済み印刷設定情報に基づく前記中間情報を生成せずに、前記第1のページの前記マージ済み印刷設定情報と前記第2のページの印刷設定情報が等しいことを示す情報を保存することを特徴とする請求項2又は請求項3に記載の情報処理装置。
  5. 前記保存手段は、割り付け印刷が指示されている場合に割り付け後の印刷設定情報として、割り付け対象のページのいずれか1ページの印刷設定情報を決定して、決定された前記印刷設定情報に基づいて前記中間情報を生成して保存することを特徴とする請求項2乃至4のいずれか1項に記載の情報処理装置。
  6. 前記保存手段は、前記第2の階層より下位の階層である第3の階層の第4の印刷設定情報と前記第1の印刷設定情報と前記第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を生成して保存することを特徴とする請求項1に記載の情報処理装置。
  7. 前記保存手段は前記第3の印刷設定情報を前記第4の印刷設定情報に上書き保存することを特徴とする請求項6に記載の情報処理装置。
  8. コンピュータに、
    第1の階層の第1の印刷設定情報と、前記第1の階層より下位の階層である第2の階層の第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を生成して保存する保存工程と、
    前記保存工程で保存する前記第3の印刷設定情報を取得する取得工程と、を実行させ、
    前記保存工程は第1のフィルターで実行され、前記取得工程は前記第1のフィルターに後続する第2のフィルターで実行されることを特徴とするプログラム。
  9. 前記保存工程は、前記第1の印刷設定情報と前記第2の印刷設定情報をマージすることでマージ済み印刷設定情報を生成して、前記マージ済み印刷設定情報の形式を変換することで中間情報として前記第3の印刷設定情報を生成して保存することを特徴とする請求項8に記載のプログラム。
  10. 前記マージ済み印刷設定情報の印刷設定に基づく中間設定情報と前記マージ済み印刷設定情報の印刷設定の更新に関する更新情報を前記中間情報として保存することを特徴とする請求項9に記載のプログラム。
  11. 前記マージ済み印刷設定情報はページ単位に存在し、
    前記保存工程は第1のページの前記マージ済み印刷設定情報と前記第1のページの前ページである第2のページの前記マージ済み印刷設定情報が等しい場合に、前記第1のページの前記マージ済み印刷設定情報に基づく前記中間情報を生成せずに、前記第1のページの前記マージ済み印刷設定情報と前記第2のページの印刷設定情報が等しいことを示す情報を保存することを特徴とする請求項9又は請求項10に記載のプログラム。
  12. 前記保存工程は、割り付け印刷が指示されている場合に割り付け後の印刷設定情報として、割り付け対象のページのいずれか1ページの印刷設定情報を決定して、決定された前記印刷設定情報に基づいて前記中間情報を生成して保存することを特徴とする請求項9乃至11のいずれか1項に記載のプログラム。
  13. 前記保存工程は、前記第2の階層より下位の階層である第3の階層の第4の印刷設定情報と前記第1の印刷設定情報と前記第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を生成して保存することを特徴とする請求項8に記載のプログラム。
  14. 前記保存工程は前記第3の印刷設定情報を前記第4の印刷設定情報に上書き保存することを特徴とする請求項13に記載のプログラム。
  15. 第1の階層の第1の印刷設定情報と、前記第1の階層より下位の階層である第2の階層の第2の印刷設定情報をマージすることに基づいて第3の印刷設定情報を生成して保存する保存工程と、
    前記保存工程で保存する前記第3の印刷設定情報を取得する取得工程と、を有し、
    前記保存工程は第1のフィルターで実行され、前記取得工程は前記第1のフィルターに後続する第2のフィルターで実行されることを特徴とする制御方法。
JP2013120717A 2013-06-07 2013-06-07 情報処理装置及びプログラム、制御方法 Active JP6150621B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013120717A JP6150621B2 (ja) 2013-06-07 2013-06-07 情報処理装置及びプログラム、制御方法
CN201410245033.2A CN104238967B (zh) 2013-06-07 2014-06-04 信息处理装置及控制方法
US14/296,219 US9870184B2 (en) 2013-06-07 2014-06-04 Information processing apparatus combining multiple filters, recording medium, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013120717A JP6150621B2 (ja) 2013-06-07 2013-06-07 情報処理装置及びプログラム、制御方法

Publications (3)

Publication Number Publication Date
JP2014238698A true JP2014238698A (ja) 2014-12-18
JP2014238698A5 JP2014238698A5 (ja) 2016-07-21
JP6150621B2 JP6150621B2 (ja) 2017-06-21

Family

ID=52005250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013120717A Active JP6150621B2 (ja) 2013-06-07 2013-06-07 情報処理装置及びプログラム、制御方法

Country Status (3)

Country Link
US (1) US9870184B2 (ja)
JP (1) JP6150621B2 (ja)
CN (1) CN104238967B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6289276B2 (ja) * 2014-06-06 2018-03-07 キヤノン株式会社 情報処理装置およびプログラム、制御方法
JP6874626B2 (ja) * 2017-09-29 2021-05-19 ブラザー工業株式会社 プリンタドライバ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230413A (ja) * 2008-03-21 2009-10-08 Canon Inc 情報処理装置、情報処理方法及び印刷システム
JP2009282843A (ja) * 2008-05-23 2009-12-03 Canon Inc 情報処理装置、プレビュー方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4136634B2 (ja) * 2002-12-10 2008-08-20 キヤノン株式会社 文書処理装置及び方法
JP4759464B2 (ja) * 2006-07-31 2011-08-31 キヤノン株式会社 文書処理装置および文書処理方法
US8537408B2 (en) * 2006-12-20 2013-09-17 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and storage medium
JP4799460B2 (ja) * 2007-03-26 2011-10-26 キヤノン株式会社 印刷制御装置及び方法
US20080278741A1 (en) * 2007-05-09 2008-11-13 Canon Kabushiki Kaisha Scope-based xps filter driver configuration to perform dynamic operations
RU2565004C2 (ru) * 2009-11-26 2015-10-10 Кэнон Кабусики Кайся Устройство обработки документов, способ управления и считываемый компьютером носитель информации

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230413A (ja) * 2008-03-21 2009-10-08 Canon Inc 情報処理装置、情報処理方法及び印刷システム
JP2009282843A (ja) * 2008-05-23 2009-12-03 Canon Inc 情報処理装置、プレビュー方法、及びプログラム

Also Published As

Publication number Publication date
CN104238967B (zh) 2018-05-29
JP6150621B2 (ja) 2017-06-21
US9870184B2 (en) 2018-01-16
CN104238967A (zh) 2014-12-24
US20140362405A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
JP7158871B2 (ja) プログラム及び情報処理装置
JP6150621B2 (ja) 情報処理装置及びプログラム、制御方法
JP6188285B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム
JP2013001059A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6639269B2 (ja) 情報処理装置、制御方法及びプログラム
JP6202081B2 (ja) 情報処理装置、プログラム、画像処理システム
JP2010105388A (ja) 画像形成装置
US10620887B2 (en) Image forming apparatus and information processing apparatus configured to print a specified page of a plurality of documents, control method thereof, and non-transitory computer-readable storage medium
JP2007223163A (ja) 画像形成装置、画像表示方法
US9253343B2 (en) Information processing apparatus, control method, and storage medium for providing a preview and/or display of a main display document generated from all parts of a print document
US9176691B2 (en) Output control device and output control method
JP5316012B2 (ja) 印刷システム、印刷制御装置およびプリンタドライバプログラム
JP2006202025A (ja) 文書処理方法及び印刷制御方法及びそのシステム
JP7271208B2 (ja) プログラム、および情報処理装置
JP7091115B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5643866B2 (ja) 情報処理装置及びその方法とプログラム
WO2016080029A1 (ja) 電子ドキュメント管理装置、電子ドキュメント管理システムおよび電子ドキュメント管理用プログラム
JP2010125810A (ja) 情報処理装置、データ処理方法、プログラム及び記憶媒体
US8756491B2 (en) PDL data processing device
US20150302281A1 (en) Information processing system, information processing apparatus, information processing method, and storage medium
JP7006411B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2002152488A (ja) スプールデータ生成装置および方法ならびに記憶媒体
JP2024046140A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2016033771A (ja) 画像形成制御装置及び画像形成制御システム
JP5766059B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170523

R151 Written notification of patent or utility model registration

Ref document number: 6150621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151