JP5538995B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP5538995B2 JP5538995B2 JP2010105435A JP2010105435A JP5538995B2 JP 5538995 B2 JP5538995 B2 JP 5538995B2 JP 2010105435 A JP2010105435 A JP 2010105435A JP 2010105435 A JP2010105435 A JP 2010105435A JP 5538995 B2 JP5538995 B2 JP 5538995B2
- Authority
- JP
- Japan
- Prior art keywords
- record level
- record
- print job
- data
- unit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
- G06F3/1243—Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
- G06F3/1264—Job scheduling, e.g. queuing, determine appropriate device by assigning post-processing resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1431—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using a single graphics controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
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)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、商品の多品種化、インターネット利用の普及による消費者のカスタマイズサービス指向等の要因からOne−to−Oneマーケティングの必要性が注目されている。これらの手法は、顧客満足度を高め、顧客の開拓や囲い込みを目指すという目的に対して非常に効果的なものである。
One−to−Oneマーケティングはデータベース(DB)・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものである。その代表的な具体的手法としてバリアブルデータプリント(以下、VDPと呼ぶ)が挙げられる。
VDPは、文書を顧客ごとにカスタマイズできる可変領域を持ち、可変領域のデータをDB等から供給しながら出力する、可変情報印刷である。VDP文書の作成は、VDP文書の編集機能を持つVDPアプリケーションで行う。VDPアプリケーションで編集したVDP文書に対して印刷指示が与えられると、可変領域にルールに従ったコンテンツが差し込まれて印刷データとされ、その印刷データにジョブコントロール言語が付されて印刷ジョブが生成される。印刷ジョブは印刷装置に対して発行され、印刷装置で印刷出力される。
One−to−Oneマーケティングはデータベース(DB)・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものである。その代表的な具体的手法としてバリアブルデータプリント(以下、VDPと呼ぶ)が挙げられる。
VDPは、文書を顧客ごとにカスタマイズできる可変領域を持ち、可変領域のデータをDB等から供給しながら出力する、可変情報印刷である。VDP文書の作成は、VDP文書の編集機能を持つVDPアプリケーションで行う。VDPアプリケーションで編集したVDP文書に対して印刷指示が与えられると、可変領域にルールに従ったコンテンツが差し込まれて印刷データとされ、その印刷データにジョブコントロール言語が付されて印刷ジョブが生成される。印刷ジョブは印刷装置に対して発行され、印刷装置で印刷出力される。
PPML(Personalized Print Markup Language)は、可変領域のデータ(バリアブルデータ)と固定領域のデータ(リユーザブルオブジェクト)とを用いた印刷を効率的に行うためのVDP言語フォーマットの一つである。PPMLは、VDPアプリケーションから印刷ジョブとして出力される。以下、PPMLで記述されるVDPの印刷ジョブをPPMLデータと呼ぶ。
PPMLデータは、複数レコードを1つの印刷ジョブとして記述できる。ここで、レコードとは、VDPの印刷ジョブ生成時に参照するDBにおいて、印刷の1単位を定義する項目を指す。レコードは、例えば顧客でもよいし、営業所や地域でもよい。
一方、JDF(Job Definition Format)等のジョブチケットを印刷ジョブと対にして後工程に送信すると、レコードごとのステープルやパンチ等の後加工を指定することが可能である。
しかしPPMLのように、1レコードに対応する要素の記述方法について明確に定義されていない言語フォーマットを使った印刷ジョブでは、レコードと印刷データとの構成要素の対応付けができない。そのため、ジョブチケットを使ってレコード単位の処理を実行することはできない。
PPMLのレコード区切りについては、複数のレコードで構成されたVDPの印刷ジョブを解析し、解析結果を用いて各レコードと各レコードに対応する印刷ページとを対応付ける技術がある。特許文献1には、リユーザブルオブジェクトの参照周期(PAGE又はDOCUMENT単位)及びバリアブルデータの描画位置を解析してレコードの分割を行う技術が記載されている。
PPMLデータは、複数レコードを1つの印刷ジョブとして記述できる。ここで、レコードとは、VDPの印刷ジョブ生成時に参照するDBにおいて、印刷の1単位を定義する項目を指す。レコードは、例えば顧客でもよいし、営業所や地域でもよい。
一方、JDF(Job Definition Format)等のジョブチケットを印刷ジョブと対にして後工程に送信すると、レコードごとのステープルやパンチ等の後加工を指定することが可能である。
しかしPPMLのように、1レコードに対応する要素の記述方法について明確に定義されていない言語フォーマットを使った印刷ジョブでは、レコードと印刷データとの構成要素の対応付けができない。そのため、ジョブチケットを使ってレコード単位の処理を実行することはできない。
PPMLのレコード区切りについては、複数のレコードで構成されたVDPの印刷ジョブを解析し、解析結果を用いて各レコードと各レコードに対応する印刷ページとを対応付ける技術がある。特許文献1には、リユーザブルオブジェクトの参照周期(PAGE又はDOCUMENT単位)及びバリアブルデータの描画位置を解析してレコードの分割を行う技術が記載されている。
しかしながら、特許文献1の技術では、リユーザブルオブジェクトの参照周期がPAGE(又はDOCUMENT)で不定期である場合や、バリアブルデータの描画位置がレコードごとに異なる場合には適用できず、適用ケースが限られる。PPML等の書式で記述された印刷ジョブでは、レコードに対応する要素がどれかの明確な規定がないためジョブチケットに記述されているレコード単位の処理を実行することができない。
本発明はこのような問題点に鑑みなされたもので、PPML等の書式で記述された、どの要素がレコードレベルに対応するかの規定が明確にはない印刷ジョブにおいて、レコード単位の処理を可能にすることを目的とする。
そこで、本発明の情報処理装置は、VDPアプリケーションから印刷ジョブを取得するデータ取得手段と、前記データ取得手段で取得された印刷ジョブを解析し、可変データの繰り返しの単位であるレコードに対応する印刷ジョブを構成する要素のレコードレベルを推定するデータ解析手段と、前記データ解析手段で推定されたレコードレベルを含む複数のレコードレベルからユーザからのレコードレベルの選択を受け付けるレコードレベル選択オブジェクトを含み、前記レコードレベル選択オブジェクトにおいて、前記データ解析手段で推定されたレコードレベルが選択された状態のレコードレベル設定画面を初期画面として表示装置に表示するよう制御するレコードレベル表示制御手段と、前記レコードレベル設定画面の前記レコードレベル選択オブジェクトを介して選択されたレコードレベルを取得するレコードレベル選択取得手段と、前記レコードレベル選択取得手段で取得された前記レコードレベルを前記印刷ジョブの後工程の装置に伝達する伝達手段と、を有する。
本発明によれば、PPML等の書式で記述された、どの要素がレコードレベルに対応するかの規定が明確にはない印刷ジョブにおいて、レコード単位の処理を可能にすることができる。
以下、本発明の実施形態について図面に基づいて説明する。
(実施形態1)
<PPMLデータの説明>
図1は、PPMLデータの一例を示す図である。図1に示すように、PPMLは、XML形式をベースとした階層構造となっており、複数の文書や文書を一体化した文書グループを格納することができる。階層構造は、PPML要素を最上位の階層とし、PPML要素の1つ下の階層に文書グループを定義するJOB要素(又はDOCUMENT_SET。以下JOBのみ記載)を持つ。JOB要素は、1つ下の階層に文書を定義するDOCUMENT要素を持つ。DOCUMENT要素は、1つ下の階層に論理ページを定義するPAGE要素を持つ。JOB、DOCUMENT、PAGE要素は、1つの印刷ジョブに各々複数個持つことができる。つまり、1つの印刷ジョブは、複数のJOBを持つことが可能であり、1つのJOBは複数のDOCUMENTを持つことができ、1つのDOCUMENTは複数のPAGEを持つことができる。
<PPMLデータの説明>
図1は、PPMLデータの一例を示す図である。図1に示すように、PPMLは、XML形式をベースとした階層構造となっており、複数の文書や文書を一体化した文書グループを格納することができる。階層構造は、PPML要素を最上位の階層とし、PPML要素の1つ下の階層に文書グループを定義するJOB要素(又はDOCUMENT_SET。以下JOBのみ記載)を持つ。JOB要素は、1つ下の階層に文書を定義するDOCUMENT要素を持つ。DOCUMENT要素は、1つ下の階層に論理ページを定義するPAGE要素を持つ。JOB、DOCUMENT、PAGE要素は、1つの印刷ジョブに各々複数個持つことができる。つまり、1つの印刷ジョブは、複数のJOBを持つことが可能であり、1つのJOBは複数のDOCUMENTを持つことができ、1つのDOCUMENTは複数のPAGEを持つことができる。
図2、図3を用いて、VDPアプリケーションの、DBを参照したVDPの印刷ジョブの生成について説明する。図2は、VDPアプリケーションが使用するDBのイメージ図である。図2は、顧客DBの例であり、201は、1人分の顧客のデータである。この例では、レコードは顧客であるとする。図3は、VDPアプリケーションのイメージ図である。VDPアプリケーション30は、VDP文書31を編集する機能を持つ。VDPアプリケーション30は、ユーザの指示により、VDP文書31に、可変領域301、302と、固定領域303と、を配置する。可変領域には、DBの項目を割り当てることができる。ここでは、可変領域301に顧客名を割り当て、可変領域302に住所を割り当てる。VDPアプリケーション30は、ユーザからの印刷指示を受けると、顧客DBを参照し、可変領域301に各レコードの顧客名データ、可変領域302に各レコードの住所データを使用して、VDP文書を作成する。こうして、VDPアプリケーション30は、顧客の人数分の、複数レコードの記述を1つの印刷ジョブとして出力する。
1レコード分の記述は、JOB要素でも、DOCUMENT要素でも、PAGE要素でも可能である。ある要素が1レコードに対応するとき、その要素の階層をレコードレベルと呼ぶ。例えば、1つのDOCUMENT要素の開始〜終了が1レコードに対応する場合、DOCUMENT要素の階層がレコードレベルとなる。同様に、1つのJOB要素の開始〜終了が1レコードに対応する場合は、レコードレベルはJOB要素の階層となり、1つのPAGEの開始〜終了が1レコードに対応する場合は、レコードレベルはPAGE要素の階層となる。
なお、前述したように、レコードとは、可変データ(バリアブルデータ)の繰り返しの単位である。
1レコード分の記述は、JOB要素でも、DOCUMENT要素でも、PAGE要素でも可能である。ある要素が1レコードに対応するとき、その要素の階層をレコードレベルと呼ぶ。例えば、1つのDOCUMENT要素の開始〜終了が1レコードに対応する場合、DOCUMENT要素の階層がレコードレベルとなる。同様に、1つのJOB要素の開始〜終了が1レコードに対応する場合は、レコードレベルはJOB要素の階層となり、1つのPAGEの開始〜終了が1レコードに対応する場合は、レコードレベルはPAGE要素の階層となる。
なお、前述したように、レコードとは、可変データ(バリアブルデータ)の繰り返しの単位である。
<基本構成>
図4は、バリアブル印刷システムの基本構成の一例を示すブロック図である。本実施形態に係るバリアブル印刷システムは、クライアントPC(パーソナル・コンピュータ)401、プリントサーバ402、プリンタ403、後加工機404、DBサーバ405を有する。プリンタ403、プリントサーバ402、及びクライアントPC401は、ネットワーク(NW)を介して接続され、お互いに通信可能である。DBサーバ405は、クライアントPC401と通信経路421で接続されている。後加工機404は、プリンタ403と通信経路422で接続されている。
クライアントPC401は、アプリケーションファイルの編集や印刷指示を行う機能を有する。また、クライアントPC401は、プリントサーバ402内で管理されているプリンタや印刷ジョブの制御を行うためのアプリケーションを格納し、操作する機能を有する。
VDPアプリケーション411、ホットフォルダ414は、クライアントPC401上で動作する。このホットフォルダは、プリント条件設定やその他のプリント依頼情報等を属性として含む仮想的なフォルダであり、クライアントPC401が持つハードディスク等のメモリに複数個作成可能なものである。VDPアプリケーション411は、可変領域のデータとして指定されたデータに対する取得要求を、通信経路421を介してDBサーバ405に送信することにより、通信経路421を介してDB412からDBデータを取得する。VDPアプリケーション411は、取得したDBデータを使用し、PPML等のVDP文書フォーマットを使用してVDPの印刷ジョブを作成する。以降、VDPの印刷ジョブはPPMLで出力されるものとして説明するが、PPMLは一例であり、他の言語フォーマットで記述されていてもよい。ホットフォルダ414は、VDPアプリケーション411からの印刷ジョブの投入を監視し、ホットフォルダ414に定義されたプロセスを印刷ジョブに対して実行し、ネットワークを通じてプリントサーバに送信する。
図4は、バリアブル印刷システムの基本構成の一例を示すブロック図である。本実施形態に係るバリアブル印刷システムは、クライアントPC(パーソナル・コンピュータ)401、プリントサーバ402、プリンタ403、後加工機404、DBサーバ405を有する。プリンタ403、プリントサーバ402、及びクライアントPC401は、ネットワーク(NW)を介して接続され、お互いに通信可能である。DBサーバ405は、クライアントPC401と通信経路421で接続されている。後加工機404は、プリンタ403と通信経路422で接続されている。
クライアントPC401は、アプリケーションファイルの編集や印刷指示を行う機能を有する。また、クライアントPC401は、プリントサーバ402内で管理されているプリンタや印刷ジョブの制御を行うためのアプリケーションを格納し、操作する機能を有する。
VDPアプリケーション411、ホットフォルダ414は、クライアントPC401上で動作する。このホットフォルダは、プリント条件設定やその他のプリント依頼情報等を属性として含む仮想的なフォルダであり、クライアントPC401が持つハードディスク等のメモリに複数個作成可能なものである。VDPアプリケーション411は、可変領域のデータとして指定されたデータに対する取得要求を、通信経路421を介してDBサーバ405に送信することにより、通信経路421を介してDB412からDBデータを取得する。VDPアプリケーション411は、取得したDBデータを使用し、PPML等のVDP文書フォーマットを使用してVDPの印刷ジョブを作成する。以降、VDPの印刷ジョブはPPMLで出力されるものとして説明するが、PPMLは一例であり、他の言語フォーマットで記述されていてもよい。ホットフォルダ414は、VDPアプリケーション411からの印刷ジョブの投入を監視し、ホットフォルダ414に定義されたプロセスを印刷ジョブに対して実行し、ネットワークを通じてプリントサーバに送信する。
プリントサーバ402は、入力された印刷ジョブや、ネットワークを介して接続されているプリンタ403を制御する。プリントサーバ402は、印刷ジョブの一時停止、設定変更、印刷再開、或いは印刷ジョブの複製、移動、削除等の制御を行うことができる。
プリントサーバ402は、PPMLデータを入力として受け取り、RIP413により、印刷データに含まれるデータを解析してビットマップ画像データを生成する。これを、RIP(Raster Image Processor)処理という。このとき、クライアントPC401が、PPMLデータと一緒にジョブチケットをプリントサーバ402に送る。すると、プリントサーバ402がジョブチケットに基づいて、プリンタ403及び後加工機404を制御する。本実施形態における、ジョブチケットとは、例えばJDF等の、ジョブの作業指示を記載したデータを指し、ステープルやパンチ等の後加工に関する情報も含まれる。ジョブチケットは、VDPアプリケーション411からPPMLデータと一緒に出力される場合もあるし、MIS(Management Information System)等の外部システムから設定される場合もある。
プリンタ403は、印刷機能を有する。
後加工機404は、プリンタ403と通信経路422で接続されており、プリントサーバ402により制御可能になっている。後加工機404は、プリントサーバ402からの印刷ジョブ制御により、後加工を行う。
プリントサーバ402、プリンタ403、後加工機404は、印刷ジョブの後工程の装置の一例である。
プリントサーバ402は、PPMLデータを入力として受け取り、RIP413により、印刷データに含まれるデータを解析してビットマップ画像データを生成する。これを、RIP(Raster Image Processor)処理という。このとき、クライアントPC401が、PPMLデータと一緒にジョブチケットをプリントサーバ402に送る。すると、プリントサーバ402がジョブチケットに基づいて、プリンタ403及び後加工機404を制御する。本実施形態における、ジョブチケットとは、例えばJDF等の、ジョブの作業指示を記載したデータを指し、ステープルやパンチ等の後加工に関する情報も含まれる。ジョブチケットは、VDPアプリケーション411からPPMLデータと一緒に出力される場合もあるし、MIS(Management Information System)等の外部システムから設定される場合もある。
プリンタ403は、印刷機能を有する。
後加工機404は、プリンタ403と通信経路422で接続されており、プリントサーバ402により制御可能になっている。後加工機404は、プリントサーバ402からの印刷ジョブ制御により、後加工を行う。
プリントサーバ402、プリンタ403、後加工機404は、印刷ジョブの後工程の装置の一例である。
図5は、制御装置の一例を示すブロック図である。本実施形態の制御装置は、クライアントPC401上で動作する。
図5の制御装置500は、表示装置部501、入力部502、制御部503、RAM504、操作部505、印刷部506、ROM507、HDD508からなる。表示装置部501は、CRTや液晶モニタ等の表示装置である。入力部502は、キーボードやマウス等のポインティングデバイスに対応している。
制御部503はCPUである。制御部503はRAM504に格納されている制御プログラムに従って本装置全体の制御を行う。ROM507は、制御部503によって実行されるコンピュータプログラムを格納する。HDD508(ハードディスクドライブ)は、ハードディスクとハードディスクへのデータの読み書きを行う駆動部で構成されている。HDD508には、DBや文書やイメージデータ等が格納される。ここで、DBには、顧客データ等のバリアブルデータ作成に使用する1つ以上のDBが含まれる。
RAM504は、不揮発性のメモリであり、ROM507やHDD508からロードされた各種プログラムや、データファイルを格納する。RAM504に格納されているプログラムは、RAM504に格納するデータの内容を読み書きしたり、入力部502からの入力を受け取ったり、表示装置部501に表示を行ったりする。
操作部505は、入力部502からの入力処理を受け付け、制御部503に送信する。印刷部506は、ネットワーク等を通じてプリントサーバ402経由でプリンタ403に対して、データを送信する。
図5の制御装置500は、表示装置部501、入力部502、制御部503、RAM504、操作部505、印刷部506、ROM507、HDD508からなる。表示装置部501は、CRTや液晶モニタ等の表示装置である。入力部502は、キーボードやマウス等のポインティングデバイスに対応している。
制御部503はCPUである。制御部503はRAM504に格納されている制御プログラムに従って本装置全体の制御を行う。ROM507は、制御部503によって実行されるコンピュータプログラムを格納する。HDD508(ハードディスクドライブ)は、ハードディスクとハードディスクへのデータの読み書きを行う駆動部で構成されている。HDD508には、DBや文書やイメージデータ等が格納される。ここで、DBには、顧客データ等のバリアブルデータ作成に使用する1つ以上のDBが含まれる。
RAM504は、不揮発性のメモリであり、ROM507やHDD508からロードされた各種プログラムや、データファイルを格納する。RAM504に格納されているプログラムは、RAM504に格納するデータの内容を読み書きしたり、入力部502からの入力を受け取ったり、表示装置部501に表示を行ったりする。
操作部505は、入力部502からの入力処理を受け付け、制御部503に送信する。印刷部506は、ネットワーク等を通じてプリントサーバ402経由でプリンタ403に対して、データを送信する。
<モジュール構成>
図6は、ホットフォルダ414のモジュール構成を説明する図である。情報処理装置600は、情報処理装置(コンピュータ)の好適な実施形態である制御装置500上で動作する。各モジュールは、図5の制御部503によって実行処理を制御される。情報処理装置600は、レコードレベル設定表示部60、レコードレベル推定部61、レコードレベル選択部62を有する。
レコードレベル設定表示部60は、表示手段601を有し、表示に関する情報を取得し、表示の指示を制御部503に送信し、表示装置部501の表示を制御する。
レコードレベル推定部61は、PPMLデータを取得し、解析する。レコードレベル推定部61は、データ取得手段611、データ解析手段612を有する。データ取得手段611は、VDPアプリケーションからのPPMLデータの投入を監視し、PPMLデータを取得する。データ解析手段612は、データ取得手段611で取得したPPMLデータを解析し、レコードレベルを推定する。
図6は、ホットフォルダ414のモジュール構成を説明する図である。情報処理装置600は、情報処理装置(コンピュータ)の好適な実施形態である制御装置500上で動作する。各モジュールは、図5の制御部503によって実行処理を制御される。情報処理装置600は、レコードレベル設定表示部60、レコードレベル推定部61、レコードレベル選択部62を有する。
レコードレベル設定表示部60は、表示手段601を有し、表示に関する情報を取得し、表示の指示を制御部503に送信し、表示装置部501の表示を制御する。
レコードレベル推定部61は、PPMLデータを取得し、解析する。レコードレベル推定部61は、データ取得手段611、データ解析手段612を有する。データ取得手段611は、VDPアプリケーションからのPPMLデータの投入を監視し、PPMLデータを取得する。データ解析手段612は、データ取得手段611で取得したPPMLデータを解析し、レコードレベルを推定する。
レコードレベル選択部62は、ユーザの入力部502による操作部505への選択を受け付け、ユーザが選択したレコードレベルを取得する。以下、ユーザの入力部502からのレコードレベルの選択を操作部505が受け付ける一連の内部処理を、ユーザからのレコードレベルの選択と呼ぶ。レコードレベル選択部62は、レコードレベル推定結果取得手段622、レコードレベル表示制御手段623、レコードレベル選択取得手段624、レコードレベル選択結果伝達手段625を有する。
レコードレベル推定結果取得手段622は、レコードレベル推定部61からレコードレベルの推定結果を取得する。レコードレベル表示制御手段623は、レコードレベル推定結果取得手段622が取得したレコードレベルの推定結果を表示手段601に渡して表示装置部501の表示を制御し、レコードレベル設定画面を表示する。また、レコードレベル表示制御手段623は、後述するレコードレベル選択ラジオボタンを介してユーザによってレコードレベルが選択された場合、選択されたレコードレベルで印刷ジョブのページの内容を後述するページ表示領域に表示するよう制御する。レコードレベル設定画面については、後述する。レコードレベル選択取得手段624は、ユーザからのレコードレベルの選択を受け付け、選択されたレコードレベルを取得する。レコードレベル選択結果伝達手段625は、レコードレベル選択取得手段624で取得されたレコードレベル選択結果を、プリントサーバ402経由で後加工機404に伝達する。レコードレベル伝達方法については後述する。
レコードレベル推定結果取得手段622は、レコードレベル推定部61からレコードレベルの推定結果を取得する。レコードレベル表示制御手段623は、レコードレベル推定結果取得手段622が取得したレコードレベルの推定結果を表示手段601に渡して表示装置部501の表示を制御し、レコードレベル設定画面を表示する。また、レコードレベル表示制御手段623は、後述するレコードレベル選択ラジオボタンを介してユーザによってレコードレベルが選択された場合、選択されたレコードレベルで印刷ジョブのページの内容を後述するページ表示領域に表示するよう制御する。レコードレベル設定画面については、後述する。レコードレベル選択取得手段624は、ユーザからのレコードレベルの選択を受け付け、選択されたレコードレベルを取得する。レコードレベル選択結果伝達手段625は、レコードレベル選択取得手段624で取得されたレコードレベル選択結果を、プリントサーバ402経由で後加工機404に伝達する。レコードレベル伝達方法については後述する。
<全体フロー>
図7は、本実施形態におけるレコードレベル推定・表示・選択・伝達処理を説明するフローチャートである。図7は、本実施形態における情報処理装置600が、VDPアプリケーション411から印刷ジョブを受け取ってから、プリントサーバ402経由でプリンタ403にレコード単位の印刷制御操作の指示を出すまでの処理を示す。
まず、ステップS701にて、情報処理装置600は、データ取得手段611により、VDPアプリケーション411から印刷ジョブとしてPPMLデータを取得する。次に、ステップS702にて、情報処理装置600は、データ解析手段612により、取得したデータを、レコードレベル推定アルゴリズムを使って解析し、レコードレベルを推定する。レコードレベル推定アルゴリズムについては後述する。次に、ステップS703にて、レコードレベル選択部62は、ユーザからのレコードレベルの選択を取得する。次に、ステップS704にて、レコードレベル選択結果伝達手段625は、前記取得したレコードレベルを後工程に伝達する。
図7は、本実施形態におけるレコードレベル推定・表示・選択・伝達処理を説明するフローチャートである。図7は、本実施形態における情報処理装置600が、VDPアプリケーション411から印刷ジョブを受け取ってから、プリントサーバ402経由でプリンタ403にレコード単位の印刷制御操作の指示を出すまでの処理を示す。
まず、ステップS701にて、情報処理装置600は、データ取得手段611により、VDPアプリケーション411から印刷ジョブとしてPPMLデータを取得する。次に、ステップS702にて、情報処理装置600は、データ解析手段612により、取得したデータを、レコードレベル推定アルゴリズムを使って解析し、レコードレベルを推定する。レコードレベル推定アルゴリズムについては後述する。次に、ステップS703にて、レコードレベル選択部62は、ユーザからのレコードレベルの選択を取得する。次に、ステップS704にて、レコードレベル選択結果伝達手段625は、前記取得したレコードレベルを後工程に伝達する。
<レコードレベル推定アルゴリズム>
図8は、図7のS702の処理の詳細を説明するフローチャートである。
ステップS801において、データ解析手段612は、PPMLデータの出力アプリケーションの特定によるレコードレベル推定を行う。PPMLでは、ルート要素であるPPML要素のCreator属性により、PPMLデータを出力したVDPアプリケーション名やそのバージョン番号を記述することが可能である。PPML要素のCreator属性には、VDPアプリケーション名やそのバージョン番号が記述されており、VDPアプリケーションが特定の方法でレコード区切りを行うことが既知である場合、データ解析手段612は、レコードレベルを特定することができる。例えば、Creator属性により特定されたVDPアプリケーションが、「1レコードを常に1DOCUMENTに対応付けて出力」するということが既知である場合、データ解析手段612は、DOCUMENT要素の階層をレコードレベルに決定する。データ解析手段612は、ステップS801で推定が成功した場合は、ステップS802にて、推定アルゴリズムを終了し、推定できなかった場合は、ステップS803に進む。
次に、ステップS803において、データ解析手段612は、レコードレベル候補要素の個数によるレコードレベル推定を行う。ここで、レコードレベル候補要素とは、文書又は文書グループを記述する要素であり、前述のJOB要素、DOCUMENT要素、PAGE要素を指す。レコードレベル候補要素の個数によるレコードレベル推定については、後述する。データ解析手段612は、ステップS803で推定が成功した場合は、ステップS804にて、推定アルゴリズムを終了し、推定できなかった場合は、ステップS805にて、解析木を使ったレコードレベル推定を行う。解析木を使ったレコードレベル推定については、後述する。
図8は、図7のS702の処理の詳細を説明するフローチャートである。
ステップS801において、データ解析手段612は、PPMLデータの出力アプリケーションの特定によるレコードレベル推定を行う。PPMLでは、ルート要素であるPPML要素のCreator属性により、PPMLデータを出力したVDPアプリケーション名やそのバージョン番号を記述することが可能である。PPML要素のCreator属性には、VDPアプリケーション名やそのバージョン番号が記述されており、VDPアプリケーションが特定の方法でレコード区切りを行うことが既知である場合、データ解析手段612は、レコードレベルを特定することができる。例えば、Creator属性により特定されたVDPアプリケーションが、「1レコードを常に1DOCUMENTに対応付けて出力」するということが既知である場合、データ解析手段612は、DOCUMENT要素の階層をレコードレベルに決定する。データ解析手段612は、ステップS801で推定が成功した場合は、ステップS802にて、推定アルゴリズムを終了し、推定できなかった場合は、ステップS803に進む。
次に、ステップS803において、データ解析手段612は、レコードレベル候補要素の個数によるレコードレベル推定を行う。ここで、レコードレベル候補要素とは、文書又は文書グループを記述する要素であり、前述のJOB要素、DOCUMENT要素、PAGE要素を指す。レコードレベル候補要素の個数によるレコードレベル推定については、後述する。データ解析手段612は、ステップS803で推定が成功した場合は、ステップS804にて、推定アルゴリズムを終了し、推定できなかった場合は、ステップS805にて、解析木を使ったレコードレベル推定を行う。解析木を使ったレコードレベル推定については、後述する。
<レコードレベル候補要素の個数によるレコードレベル推定>
図9は、PPMLデータからレコードレベル候補要素を抽出するイメージの図である。図9Aは、JOB要素とDOCUMENT要素とが1個しかなく、PAGE要素が複数ある場合の図である。図9Aの場合は、レコードに対応付けられるのは複数存在するPAGE要素である可能性が高いため、データ解析手段612は、PAGE要素の階層をレコードレベルと推定する。図9Bは、JOBが1個しかなく、DOCUMENTが複数個ある場合の図である。この場合、JOBは1つしかないため、レコードレベルとは考えられない。このとき更に、各DOCUMENTのPAGEの個数が同じ場合、各DOCUMENTのページ構成が等しいことから、印刷の1単位が1DOCUMENTである可能性が高いと考えられる。したがって、データ解析手段612は、DOCUMENT要素の階層をレコードレベルと推定する。図9Cは、JOBが複数あり、その各JOBにはDOCUMENTが1個しかない場合の図である。このとき更に、各DOCUMENTのPAGEの個数が同じ場合は、各JOB要素の構成が等しいことから、印刷の1単位を1JOBと対応付けることができる可能性が高いと考えられる。したがって、データ解析手段612は、JOB要素の階層をレコードレベルと推定する。
図9は、PPMLデータからレコードレベル候補要素を抽出するイメージの図である。図9Aは、JOB要素とDOCUMENT要素とが1個しかなく、PAGE要素が複数ある場合の図である。図9Aの場合は、レコードに対応付けられるのは複数存在するPAGE要素である可能性が高いため、データ解析手段612は、PAGE要素の階層をレコードレベルと推定する。図9Bは、JOBが1個しかなく、DOCUMENTが複数個ある場合の図である。この場合、JOBは1つしかないため、レコードレベルとは考えられない。このとき更に、各DOCUMENTのPAGEの個数が同じ場合、各DOCUMENTのページ構成が等しいことから、印刷の1単位が1DOCUMENTである可能性が高いと考えられる。したがって、データ解析手段612は、DOCUMENT要素の階層をレコードレベルと推定する。図9Cは、JOBが複数あり、その各JOBにはDOCUMENTが1個しかない場合の図である。このとき更に、各DOCUMENTのPAGEの個数が同じ場合は、各JOB要素の構成が等しいことから、印刷の1単位を1JOBと対応付けることができる可能性が高いと考えられる。したがって、データ解析手段612は、JOB要素の階層をレコードレベルと推定する。
図10は、図8のS803の処理の詳細を説明するフローチャートである。
ステップS1001において、データ解析手段612は、VDPアプリケーション411から受信したPPMLデータから、レコードレベル候補要素を取得する。次に、ステップS1002において、データ解析手段612は、JOB、DOCUMENT、PAGE要素の何れかの要素の個数が0個か否かを判定し、0個であれば、ステップS1007に進んでレコードレベルの設定不要とし、レコードレベル推定を終了する。JOB、DOCUMENT、PAGE要素の何れかの要素の個数が0個の場合というのは、例えば、複数の印刷ジョブで利用可能な、リユーザブルオブジェクトの宣言だけを行い、実際の印刷データは記述されていないような場合である。ステップS1002において、データ解析手段612は、JOB要素の個数が0個でなければ、ステップS1003に進む。
ステップS1003において、データ解析手段612は、JOB要素の個数が1個か否かを判定し、1個であればステップS1004に進む。ステップS1004において、データ解析手段612は、JOB要素が持つDOCUMENT要素の個数が1個より大きいか否かを判定する。データ解析手段612は、DOCUMENT要素の個数が1個の場合は、ステップS1005に進む。ステップS1005において、データ解析手段612は、DOCUMENT要素が持つPAGE要素の個数が1個より大きい場合は、図9Aのケースであるので、ステップS1006に進み、PAGE要素をレコードレベルと推定する。ステップS1005において、データ解析手段612は、DOCUMENT要素が持つPAGE要素の個数が1個である場合は、JOB、DOCUMENT、PAGE要素が全て1個となり、どの要素をレコードレベルとしても同じ結果になる。このように、どの要素をレコードレベルとしても同じ結果になる場合は、特定できない場合とは区別できるように、データ解析手段612は、予め定められたどの要素をレコードレベルとするかの設定に基づき、何れかの要素をレコードレベルとする。ここでは、「どの要素をレコードレベルとしても同じ結果になる場合は、JOB要素をレコードレベルとする」と予め設定されているものする。したがって、データ解析手段612は、ステップS1010に進み、JOB要素をレコードレベルと推定する。
ステップS1001において、データ解析手段612は、VDPアプリケーション411から受信したPPMLデータから、レコードレベル候補要素を取得する。次に、ステップS1002において、データ解析手段612は、JOB、DOCUMENT、PAGE要素の何れかの要素の個数が0個か否かを判定し、0個であれば、ステップS1007に進んでレコードレベルの設定不要とし、レコードレベル推定を終了する。JOB、DOCUMENT、PAGE要素の何れかの要素の個数が0個の場合というのは、例えば、複数の印刷ジョブで利用可能な、リユーザブルオブジェクトの宣言だけを行い、実際の印刷データは記述されていないような場合である。ステップS1002において、データ解析手段612は、JOB要素の個数が0個でなければ、ステップS1003に進む。
ステップS1003において、データ解析手段612は、JOB要素の個数が1個か否かを判定し、1個であればステップS1004に進む。ステップS1004において、データ解析手段612は、JOB要素が持つDOCUMENT要素の個数が1個より大きいか否かを判定する。データ解析手段612は、DOCUMENT要素の個数が1個の場合は、ステップS1005に進む。ステップS1005において、データ解析手段612は、DOCUMENT要素が持つPAGE要素の個数が1個より大きい場合は、図9Aのケースであるので、ステップS1006に進み、PAGE要素をレコードレベルと推定する。ステップS1005において、データ解析手段612は、DOCUMENT要素が持つPAGE要素の個数が1個である場合は、JOB、DOCUMENT、PAGE要素が全て1個となり、どの要素をレコードレベルとしても同じ結果になる。このように、どの要素をレコードレベルとしても同じ結果になる場合は、特定できない場合とは区別できるように、データ解析手段612は、予め定められたどの要素をレコードレベルとするかの設定に基づき、何れかの要素をレコードレベルとする。ここでは、「どの要素をレコードレベルとしても同じ結果になる場合は、JOB要素をレコードレベルとする」と予め設定されているものする。したがって、データ解析手段612は、ステップS1010に進み、JOB要素をレコードレベルと推定する。
ステップS1003で判定した結果、JOB要素の個数が1個より大きい場合、データ解析手段612は、ステップS1008に進む。ステップS1008において、データ解析手段612は、各JOB要素が持つDOCUMENT要素が全て1個ずつか否かを判定する。DOCUMENT要素の個数が1個より大きい場合は、レコードレベル推定候補要素の個数だけでは推定できないため、データ解析手段612は、ステップS1011に進み、推定失敗のフラグを立てる。ステップS1008で、DOCUMENT要素が1個である場合、データ解析手段612は、更にステップS1009で各DOCUMENT要素が持つPAGE要素の個数が同じか否かを判定する。PAGE要素の個数が同じでない場合は、DOCUMENT要素の階層がレコードレベルである可能性と、PAGE要素の階層がレコードレベルである可能性と、があり、どちらか特定することができない。そのため、ステップS1011において、データ解析手段612は、推定失敗のフラグを立てる。
各DOCUMENT要素が持つPAGE要素の個数が同じ場合、図9Cのケースであるので、データ解析手段612は、ステップS1010に進み、JOB要素の階層をレコードレベルと推定する。ステップS1004で、DOCUMENT要素の個数が1個より大きい場合、データ解析手段612は、ステップS1012で各DOCUMENT要素が持つPAGE要素の個数が同じか否かを判定する。PAGE要素の個数が同じでなければ、JOB要素の階層がレコードレベルである可能性とPAGE要素の階層がレコードレベルである可能性とがあり、どちらか特定することができない。そのため、データ解析手段612は、ステップS1011で推定失敗のフラグを立てる。PAGE要素の個数が同じであれば、図9Bのケースなので、データ解析手段612は、ステップS1013に進み、DOCUMENT要素の階層をレコードレベルと推定する。
各DOCUMENT要素が持つPAGE要素の個数が同じ場合、図9Cのケースであるので、データ解析手段612は、ステップS1010に進み、JOB要素の階層をレコードレベルと推定する。ステップS1004で、DOCUMENT要素の個数が1個より大きい場合、データ解析手段612は、ステップS1012で各DOCUMENT要素が持つPAGE要素の個数が同じか否かを判定する。PAGE要素の個数が同じでなければ、JOB要素の階層がレコードレベルである可能性とPAGE要素の階層がレコードレベルである可能性とがあり、どちらか特定することができない。そのため、データ解析手段612は、ステップS1011で推定失敗のフラグを立てる。PAGE要素の個数が同じであれば、図9Bのケースなので、データ解析手段612は、ステップS1013に進み、DOCUMENT要素の階層をレコードレベルと推定する。
<解析木を使ったレコードレベル推定>
図11は、PPMLデータを構文解析した解析木(タグ木構造)として扱うイメージ図である。図11は、データ解析手段612が、印刷ジョブであるPPMLデータを解釈して要素を取得し、取得した要素をノードとすることにより得られる。図11は、説明の簡単のために、PPMLデータの要素のうち、JOBからMARKまでの要素で解析木を記述し、PPML要素と、MARK要素と、より下の階層の要素を省略しているが、実際にはMARK要素の下にも要素は存在する。図12、13、14は、図11の解析木のレコードレベル候補要素であるJOB、DOCUMENT、PAGE要素をルートノード(根ノード)として分割した部分木のイメージ図である。図12の1201〜1202は、ルートノードをJOBとした部分木である。図13の1301、1302〜1304は、ルートノードをDOCUMENTとした部分木である。図14の1401〜1410はルートノードをPAGEとした部分木である。a〜iは、前述の部分木がもつ部分木である。前述したように、レコードとは一連の印刷単位であるため、各レコードのページ数や、各ページが持つ固定領域、可変領域等の構造が似ている。このため、レコードレベルである要素をルートノードとして分割した部分木同士も、構造が似ている。そこで、データ解析手段612は、レコードレベル候補要素ごとに部分木同士の類似度を求め、類似度の最も高い要素の階層がレコードレベルであると推定することができる。
木の類似度の求め方は、同じルートノードを持つ部分木同士がどれだけ類似しているかを判断することが可能であれば、どんな方法でもよい。本実施形態では、木の編集距離を用いてレコードレベルを推定する方法について説明する。木の編集距離を用いたXML文書間の類似度の計算は従来技術である。データ解析手段612は、複数のXML文書の間の類似度を測るため、XML文書を構成する木構造について、二つの木構造の各ノードに対して、挿入、削除、置換、といった編集操作を行って同じ木構造に変更するために要する編集操作の手数を数える。そして、データ解析手段612は、前記編集操作の手数に基づき木の編集距離を求める。この編集操作の手数を、以降コストと呼ぶ。データ解析手段612は、木の編集距離が小さいものは類似しているとして、類似した部分木を見つけ出す。
図11は、PPMLデータを構文解析した解析木(タグ木構造)として扱うイメージ図である。図11は、データ解析手段612が、印刷ジョブであるPPMLデータを解釈して要素を取得し、取得した要素をノードとすることにより得られる。図11は、説明の簡単のために、PPMLデータの要素のうち、JOBからMARKまでの要素で解析木を記述し、PPML要素と、MARK要素と、より下の階層の要素を省略しているが、実際にはMARK要素の下にも要素は存在する。図12、13、14は、図11の解析木のレコードレベル候補要素であるJOB、DOCUMENT、PAGE要素をルートノード(根ノード)として分割した部分木のイメージ図である。図12の1201〜1202は、ルートノードをJOBとした部分木である。図13の1301、1302〜1304は、ルートノードをDOCUMENTとした部分木である。図14の1401〜1410はルートノードをPAGEとした部分木である。a〜iは、前述の部分木がもつ部分木である。前述したように、レコードとは一連の印刷単位であるため、各レコードのページ数や、各ページが持つ固定領域、可変領域等の構造が似ている。このため、レコードレベルである要素をルートノードとして分割した部分木同士も、構造が似ている。そこで、データ解析手段612は、レコードレベル候補要素ごとに部分木同士の類似度を求め、類似度の最も高い要素の階層がレコードレベルであると推定することができる。
木の類似度の求め方は、同じルートノードを持つ部分木同士がどれだけ類似しているかを判断することが可能であれば、どんな方法でもよい。本実施形態では、木の編集距離を用いてレコードレベルを推定する方法について説明する。木の編集距離を用いたXML文書間の類似度の計算は従来技術である。データ解析手段612は、複数のXML文書の間の類似度を測るため、XML文書を構成する木構造について、二つの木構造の各ノードに対して、挿入、削除、置換、といった編集操作を行って同じ木構造に変更するために要する編集操作の手数を数える。そして、データ解析手段612は、前記編集操作の手数に基づき木の編集距離を求める。この編集操作の手数を、以降コストと呼ぶ。データ解析手段612は、木の編集距離が小さいものは類似しているとして、類似した部分木を見つけ出す。
図13を用いて、ルートノードがDOCUMENTの部分木の編集距離を算出する例を説明する。木の編集距離は、ある木Aに挿入、削除、置換の操作を施して、別の木Bに変換するために要する最小のコストt(回数)であり、これをt(A、B)とする。ここで、JOB、DOCUMENT、PAGE要素をルートノードとした木の編集距離の平均値を、それぞれSjob、Sdocument、Spageとする。
編集距離の種類には、挿入、削除、置換のコストが全て1のものや、操作ごとにコストが違うもの等があるが、ここでは説明の簡単のため、操作のコストは全て1とする。まず、データ解析手段612は、図13のDOCUMENT要素をルートノードとした部分木のうち、基準となる1つの部分木を基準木として定義する。
図13の例では、データ解析手段612は、1302を基準木とする。そして、データ解析手段612は、基準木1302以外の木が基準木と一致するように、挿入、削除、置換の編集操作を行う。データ解析手段612は、この編集操作のコストの最小値から、基準木1302と1302以外の木との編集距離を算出し、その平均値を計算する。1303、1304は、基準木1302と構造が同じ木であるので、木の編集距離は、t(1302、1303)=t(1302、1304)=0となる。また、1301は、PAGEをルートノードとする部分木e、fの挿入が2回必要となるため、t(1302、1301)=2となる。したがって、DOCUMENT要素をルートノードとした木の編集距離の平均値は、Sdocument=(0+0+2)/3=0.66・・・となる。同様に、図12の木の編集距離の平均値Sjobは、1201を1202に変換するのに、PAGEをルートノードとする部分木a、bの挿入が2回、DOCUMENT要素をルートノードとする部分木c、dの挿入が2回必要である。したがって、t(1201、1202)=4となり、Sjob=(4)/1=4となる。図14は、基準木を1401とすると、1402を変換して1401にするコストは、MARKをルートノードとする部分木g、hの削除が2回必要なので、t(1402、1401)=2である。1405、1408、1410についても1402と同じ編集操作が必要であるので、t(1405、1401)=t(1408、1401)=t(1410、1401)=2となる。1406を変換して1401にするコストは、MARKをルートノードとする部分木iの削除が1回必要なので、t(1406、1401)=1である。1403、1409についても1406と同じ編集操作が必要であるので、t(1403、1401)=t(1409、1401)=1となる。1404、1407、1410の部分木は基準木1401と同じ構造のため、コストは0となる。したがって、Spage=(2+1+0+2+1+0+2+1+0)/9=9/9=1となる。したがって、最も木の編集距離の平均値が小さいDOCUMENT要素をルートノードとした部分木同士の、木の類似度が高いと見なすことができる。そのため、データ解析手段612は、DOCUMENT要素の階層をレコードレベルと推定する。
編集距離の種類には、挿入、削除、置換のコストが全て1のものや、操作ごとにコストが違うもの等があるが、ここでは説明の簡単のため、操作のコストは全て1とする。まず、データ解析手段612は、図13のDOCUMENT要素をルートノードとした部分木のうち、基準となる1つの部分木を基準木として定義する。
図13の例では、データ解析手段612は、1302を基準木とする。そして、データ解析手段612は、基準木1302以外の木が基準木と一致するように、挿入、削除、置換の編集操作を行う。データ解析手段612は、この編集操作のコストの最小値から、基準木1302と1302以外の木との編集距離を算出し、その平均値を計算する。1303、1304は、基準木1302と構造が同じ木であるので、木の編集距離は、t(1302、1303)=t(1302、1304)=0となる。また、1301は、PAGEをルートノードとする部分木e、fの挿入が2回必要となるため、t(1302、1301)=2となる。したがって、DOCUMENT要素をルートノードとした木の編集距離の平均値は、Sdocument=(0+0+2)/3=0.66・・・となる。同様に、図12の木の編集距離の平均値Sjobは、1201を1202に変換するのに、PAGEをルートノードとする部分木a、bの挿入が2回、DOCUMENT要素をルートノードとする部分木c、dの挿入が2回必要である。したがって、t(1201、1202)=4となり、Sjob=(4)/1=4となる。図14は、基準木を1401とすると、1402を変換して1401にするコストは、MARKをルートノードとする部分木g、hの削除が2回必要なので、t(1402、1401)=2である。1405、1408、1410についても1402と同じ編集操作が必要であるので、t(1405、1401)=t(1408、1401)=t(1410、1401)=2となる。1406を変換して1401にするコストは、MARKをルートノードとする部分木iの削除が1回必要なので、t(1406、1401)=1である。1403、1409についても1406と同じ編集操作が必要であるので、t(1403、1401)=t(1409、1401)=1となる。1404、1407、1410の部分木は基準木1401と同じ構造のため、コストは0となる。したがって、Spage=(2+1+0+2+1+0+2+1+0)/9=9/9=1となる。したがって、最も木の編集距離の平均値が小さいDOCUMENT要素をルートノードとした部分木同士の、木の類似度が高いと見なすことができる。そのため、データ解析手段612は、DOCUMENT要素の階層をレコードレベルと推定する。
図15は、図8のS805の処理の詳細を説明するフローチャートである。
ステップS1501において、データ取得手段611は、PPMLデータを取得する。データ解析手段612は、前記PPMLデータを解釈して解析木を作成する。そして、ステップS1502において、データ解析手段612は、レコードレベル候補要素をルートノードとして解析木を分割し、部分木を抽出する。次に、ステップS1503において、データ解析手段612は、前記部分木の、木の編集距離の平均値を計算し、各レコードレベル候補要素の木の類似度を比較する。木の編集距離の平均値Sjobが最も小さい場合、ステップS1504において、データ解析手段612は、JOBをルートノードとしたときの類似度が一番高いと判断する。この場合は、データ解析手段612は、ステップS1505に進み、JOB要素の階層をレコードレベルと推定する。木の編集距離の平均値Sdocumentが最も小さい場合、データ解析手段612は、DOCUMENTをルートノードとしたときの類似度が一番高いと判断する。この場合は、データ解析手段612は、ステップS1506に進み、DOCUMENT要素の階層をレコードレベルと推定する。木の編集距離の平均値Spageが最も小さい場合、データ解析手段612は、PAGEをルートノードとしたときの類似度が一番高いと判断する。この場合は、データ解析手段612は、ステップS1507に進み、PAGE要素の階層をレコードレベルと推定する。
ステップS1501において、データ取得手段611は、PPMLデータを取得する。データ解析手段612は、前記PPMLデータを解釈して解析木を作成する。そして、ステップS1502において、データ解析手段612は、レコードレベル候補要素をルートノードとして解析木を分割し、部分木を抽出する。次に、ステップS1503において、データ解析手段612は、前記部分木の、木の編集距離の平均値を計算し、各レコードレベル候補要素の木の類似度を比較する。木の編集距離の平均値Sjobが最も小さい場合、ステップS1504において、データ解析手段612は、JOBをルートノードとしたときの類似度が一番高いと判断する。この場合は、データ解析手段612は、ステップS1505に進み、JOB要素の階層をレコードレベルと推定する。木の編集距離の平均値Sdocumentが最も小さい場合、データ解析手段612は、DOCUMENTをルートノードとしたときの類似度が一番高いと判断する。この場合は、データ解析手段612は、ステップS1506に進み、DOCUMENT要素の階層をレコードレベルと推定する。木の編集距離の平均値Spageが最も小さい場合、データ解析手段612は、PAGEをルートノードとしたときの類似度が一番高いと判断する。この場合は、データ解析手段612は、ステップS1507に進み、PAGE要素の階層をレコードレベルと推定する。
木の編集距離の平均値を比較した結果、2つ以上の要素で同じ値であるような場合を回避するためには、予めユーザが、レコードレベルにする要素の優先順位をJOB>DOCUMENT>PAGEのように設定しておく。優先順位は、PAGE>DOCUMENT>JOBであっても何でもよい。これにより、木の編集距離の平均値が同じになった場合に、データ解析手段612が、優先順位の高い方の要素の階層をレコードレベルと推定することが可能である。
一般的に、PPMLで複数レコードの記述を行う場合、上位階層のPPMLやJOB等のノードは共通パターンが多く、下位階層はレコードごとに共通パターンである必要はないことが多い。例えば、DOCUMENTやPAGE等の要素は、顧客ごとに共通の数である場合が多いが、そのページに含まれる、MARKやOBJECT等のコンテンツを表現する要素は、顧客ごとに配置や個数を変えるため、異なっている。そのため、上位階層のノードに対する編集操作のコストに重みをつけることにより、文書の特徴を反映した木の類似度の算出を行うことも可能となる。
また、予めページが持つ可変領域や固定領域の配置や個数が印刷単位ごとに異なっているということが既知である場合、データ解析手段612は、PPMLデータが持つ要素全てを使わず、ある要素より上位階層の要素のみの木の類似度の比較を行う。このことにより、推定を効率化することができる。
一般的に、PPMLで複数レコードの記述を行う場合、上位階層のPPMLやJOB等のノードは共通パターンが多く、下位階層はレコードごとに共通パターンである必要はないことが多い。例えば、DOCUMENTやPAGE等の要素は、顧客ごとに共通の数である場合が多いが、そのページに含まれる、MARKやOBJECT等のコンテンツを表現する要素は、顧客ごとに配置や個数を変えるため、異なっている。そのため、上位階層のノードに対する編集操作のコストに重みをつけることにより、文書の特徴を反映した木の類似度の算出を行うことも可能となる。
また、予めページが持つ可変領域や固定領域の配置や個数が印刷単位ごとに異なっているということが既知である場合、データ解析手段612は、PPMLデータが持つ要素全てを使わず、ある要素より上位階層の要素のみの木の類似度の比較を行う。このことにより、推定を効率化することができる。
<レコードレベル選択>
図16は、レコードレベル設定画面160のイメージ図である。レコードレベル設定画面160は、レコードレベル設定表示部60が表示手段601により、表示装置部501に表示する。ページ表示領域1601は、レコードレベルの推定結果又はユーザからのレコードレベルの選択を反映させて、ページの内容を表示する領域である。レコードレベル選択オブジェクトの一例であるレコードレベル選択ラジオボタン1602は、ユーザからのレコードレベル候補要素の選択を受け付けるラジオボタンである。なお、ラジオボタンはレコードレベル選択オブジェクトの一例であって、レコードレベル選択オブジェクトとしては例えばプルダウンメニュー等であってもよい。レコードレベル設定画面160の初期画面においては、ラジオボタンにおいて、レコードレベル推定部61で推定されたレコードレベルが選択された状態であるものとする。
ユーザから、JOB、DOCUMENT、PAGE要素の何れかのラジオボタンの選択を受け付けると、レコードレベル選択取得手段624は、前記選択を受け付けた要素をレコードレベルとして受け取る。レコードレベル表示制御手段623は、前記レコードレベルを表示手段601に伝達し、表示手段601は、レコードレベル設定画面160を前記取得したレコードレベルを反映する表示に変更する。確定ボタン1603は、現在、レコードレベル設定画面160で選択を受け付けている要素をレコードレベルに設定するためのボタンである。キャンセルボタン1604は、レコードレベルの設定を行わずに、レコードレベル設定表示部をクローズしてレコードレベルの設定のための処理を終了するためのボタンである。
図16は、レコードレベル設定画面160のイメージ図である。レコードレベル設定画面160は、レコードレベル設定表示部60が表示手段601により、表示装置部501に表示する。ページ表示領域1601は、レコードレベルの推定結果又はユーザからのレコードレベルの選択を反映させて、ページの内容を表示する領域である。レコードレベル選択オブジェクトの一例であるレコードレベル選択ラジオボタン1602は、ユーザからのレコードレベル候補要素の選択を受け付けるラジオボタンである。なお、ラジオボタンはレコードレベル選択オブジェクトの一例であって、レコードレベル選択オブジェクトとしては例えばプルダウンメニュー等であってもよい。レコードレベル設定画面160の初期画面においては、ラジオボタンにおいて、レコードレベル推定部61で推定されたレコードレベルが選択された状態であるものとする。
ユーザから、JOB、DOCUMENT、PAGE要素の何れかのラジオボタンの選択を受け付けると、レコードレベル選択取得手段624は、前記選択を受け付けた要素をレコードレベルとして受け取る。レコードレベル表示制御手段623は、前記レコードレベルを表示手段601に伝達し、表示手段601は、レコードレベル設定画面160を前記取得したレコードレベルを反映する表示に変更する。確定ボタン1603は、現在、レコードレベル設定画面160で選択を受け付けている要素をレコードレベルに設定するためのボタンである。キャンセルボタン1604は、レコードレベルの設定を行わずに、レコードレベル設定表示部をクローズしてレコードレベルの設定のための処理を終了するためのボタンである。
図16のページ表示領域1601は、JOB要素の階層をレコードレベルとした場合の表示のイメージである。JOB要素の階層をレコードレベルとする場合は、JOB要素が持つDOCUMENT要素の階層構造が無視され、各DOCUMENT要素が持つページが、JOB要素の直下の階層に存在するものとして表示される。このようなJOB要素をレコードレベルとしたページ表示領域1601の表示を、JOB単位の表示と呼ぶ。DOCUMENT要素の階層、PAGE要素の階層をレコードレベルとして表示する場合も同様に、DOCUMENT単位の表示、PAGE単位の表示と呼ぶ。ページ表示領域1601のページの表示方法としては、表示する予定のページを予めRIP処理し、得られたページのビットマップ画像データをサムネイル表示してもよいし、RIP処理は行わずにページのレイアウトの出力イメージを表示するのでもよい。レコードレベル表示制御手段623は、レコードレベル推定結果取得手段622で取得したレコードレベルを反映させてレコードレベル設定画面160を表示するか、又はレコードレベル選択取得手段で取得したレコードレベルを反映させて表示する。レコードレベルをレコードレベル設定画面160のページ表示領域1601に反映させて表示することを、以下、レコードレベルによるページ表示と呼ぶ。
図17A、図17B、図18A、図18Bを使って、レコードレベルによる表示の切り替えを説明する。図17Aは、PPMLデータの印刷イメージを、JOB単位でレコードレベル設定画面160に表示する場合の一例の図である。図17Bは、図17Aと同じPPMLデータの印刷イメージを、DOCUMENT単位でレコードレベル設定画面160に表示する場合の一例の図である。レコードレベル表示制御手段623は、ユーザからレコードレベル選択ラジオボタン1602の選択を受け付けることにより、ラジオボタンの選択がJOBの場合は図17A、DOCUMENTの場合は図17Bに切り替える。現在のレコードレベル設定画面160が図17Aであり、ユーザがページ表示領域1601の表示をJOB単位からDOCUMENT単位に変更したいとする。この場合、レコードレベル選択取得手段624が、ユーザからレコードレベル選択ラジオボタン1602の選択を受け付ける。このことにより、レコードレベル表示制御手段623が、ページ表示領域1601の表示をDOCUMENT単位の表示(図17B)に切り替える。
同様に、図18Aは、PPMLデータの印刷イメージを、DOCUMENT単位でレコードレベル設定画面160に表示する場合の一例の図である。図18Bは、図18Aと同じPPMLデータの印刷イメージを、PAGE単位でレコードレベル設定画面160に表示するときの一例の図である。レコードレベル表示制御手段623は、レコードレベル選択ラジオボタン1602の選択を受け付けることにより、ラジオボタンの選択がDOCUMENTの場合は図18A、PAGEの場合は図18Bの表示に切り替える。現在のレコードレベル設定画面160が図18Aであるとき、ユーザが、レコードレベル設定表示部のページ表示領域1601の表示をDOCUMENT単位からPAGE単位に変更したいとする。この場合は、レコードレベル選択取得手段624が、ユーザからレコードレベル選択ラジオボタン1602の選択を受け付ける。このことにより、レコードレベル表示制御手段623が、ページ表示領域1601の表示をPAGE単位の表示(図18B)に切り替える。
図17の例では、図17Bのレコードレベルによる表示のとき、表紙がレコードレベルとして設定した要素の最初に現れることが確認できるので、図17Bの方がレコードレベルである可能性が高いと考えられる。図18の例では、全てのページが同じ構成のページであることから、1ページが1レコードに対応しているため、PAGEをレコードに対応づけた図18Bの方がレコードレベルである可能性が高いと考えられる。図17、図18で説明した表示の切り替えによって、ユーザから受け付けたレコードレベルの選択が適切か否かをユーザが判断することができる。
同様に、図18Aは、PPMLデータの印刷イメージを、DOCUMENT単位でレコードレベル設定画面160に表示する場合の一例の図である。図18Bは、図18Aと同じPPMLデータの印刷イメージを、PAGE単位でレコードレベル設定画面160に表示するときの一例の図である。レコードレベル表示制御手段623は、レコードレベル選択ラジオボタン1602の選択を受け付けることにより、ラジオボタンの選択がDOCUMENTの場合は図18A、PAGEの場合は図18Bの表示に切り替える。現在のレコードレベル設定画面160が図18Aであるとき、ユーザが、レコードレベル設定表示部のページ表示領域1601の表示をDOCUMENT単位からPAGE単位に変更したいとする。この場合は、レコードレベル選択取得手段624が、ユーザからレコードレベル選択ラジオボタン1602の選択を受け付ける。このことにより、レコードレベル表示制御手段623が、ページ表示領域1601の表示をPAGE単位の表示(図18B)に切り替える。
図17の例では、図17Bのレコードレベルによる表示のとき、表紙がレコードレベルとして設定した要素の最初に現れることが確認できるので、図17Bの方がレコードレベルである可能性が高いと考えられる。図18の例では、全てのページが同じ構成のページであることから、1ページが1レコードに対応しているため、PAGEをレコードに対応づけた図18Bの方がレコードレベルである可能性が高いと考えられる。図17、図18で説明した表示の切り替えによって、ユーザから受け付けたレコードレベルの選択が適切か否かをユーザが判断することができる。
図19は、ユーザからのレコードレベルの選択を説明するフローチャートである。
ステップS1901において、レコードレベル推定結果取得手段622は、レコードレベル推定部61により推定されたレコードレベルを取得する。ステップS1902において、レコードレベル表示制御手段623は、前記推定された結果を反映して、レコードレベル設定画面160のページ表示領域1601にレコードレベルによるページ表示を行う。
ステップS1903において、レコードレベル選択取得手段624は、ユーザから確定ボタンの選択がない場合、ステップS1904に進み、レコードレベル選択ラジオボタン1602より、ユーザからのレコードレベルの選択を受け付ける。次に、ステップS1905において、レコードレベル表示制御手段623は、ステップS1904で選択を受け付けたレコードレベルによるページ表示を行う。レコードレベル選択部62は、ユーザから確定ボタンの選択を受け付けるまでステップS1903〜S1905を繰り返す。ステップ1903で、ユーザから確定ボタン1603の選択を受け付けた場合、レコードレベル選択部62は、ステップS1906に進み、現在選択中の要素をレコードレベルに設定してレコードレベルの選択を終了する。このフローの途中で、キャンセルボタン1604の選択を受け付けた場合、レコードレベル選択部62は、レコードレベルを設定せずに、終了する。
ステップS1901において、レコードレベル推定結果取得手段622は、レコードレベル推定部61により推定されたレコードレベルを取得する。ステップS1902において、レコードレベル表示制御手段623は、前記推定された結果を反映して、レコードレベル設定画面160のページ表示領域1601にレコードレベルによるページ表示を行う。
ステップS1903において、レコードレベル選択取得手段624は、ユーザから確定ボタンの選択がない場合、ステップS1904に進み、レコードレベル選択ラジオボタン1602より、ユーザからのレコードレベルの選択を受け付ける。次に、ステップS1905において、レコードレベル表示制御手段623は、ステップS1904で選択を受け付けたレコードレベルによるページ表示を行う。レコードレベル選択部62は、ユーザから確定ボタンの選択を受け付けるまでステップS1903〜S1905を繰り返す。ステップ1903で、ユーザから確定ボタン1603の選択を受け付けた場合、レコードレベル選択部62は、ステップS1906に進み、現在選択中の要素をレコードレベルに設定してレコードレベルの選択を終了する。このフローの途中で、キャンセルボタン1604の選択を受け付けた場合、レコードレベル選択部62は、レコードレベルを設定せずに、終了する。
<レコードレベル伝達方法>
レコードレベル伝達方法は、プリントサーバ402が後加工機404を制御することができれば、どのような方法でもよい。レコードレベルを伝達する方法の1つに、情報処理装置600が、メタデータを使ってレコードレベルと要素とを対応付けてプリントサーバ402に伝達する方法がある。
図20は、メタデータを使ってレコードレベルを後工程に伝達するPPMLデータの記述のイメージ図である。2001は、レコードレベルと要素とを対応付けるメタデータの記述部分である。図20では、レコードレベルをDOCUMENT要素と対応付ける記述が、メタデータを用いてなされている。メタデータを使って後工程にレコードレベルを伝達する場合、レコードレベル選択結果伝達手段625は、メタデータの中にあるDATUM要素のKey属性に、このメタデータがレコードレベルを指定するという記述を行う。そして、レコードレベル選択結果伝達手段625は、DATUM要素のコンテンツとしてレコードレベルとする要素名を記述する。レコードレベルがJOB、PAGEの場合、DATUM要素の値の"DOCUMENT"の部分が"JOB","PAGE"となる。
メタデータにレコードレベルを明示的に記述したPPMLデータを後工程に伝達することにより、プリントサーバ402は、後加工機404を制御し、ジョブチケットに記載のレコード単位の印刷制御が可能となる。
レコードレベル伝達方法は、プリントサーバ402が後加工機404を制御することができれば、どのような方法でもよい。レコードレベルを伝達する方法の1つに、情報処理装置600が、メタデータを使ってレコードレベルと要素とを対応付けてプリントサーバ402に伝達する方法がある。
図20は、メタデータを使ってレコードレベルを後工程に伝達するPPMLデータの記述のイメージ図である。2001は、レコードレベルと要素とを対応付けるメタデータの記述部分である。図20では、レコードレベルをDOCUMENT要素と対応付ける記述が、メタデータを用いてなされている。メタデータを使って後工程にレコードレベルを伝達する場合、レコードレベル選択結果伝達手段625は、メタデータの中にあるDATUM要素のKey属性に、このメタデータがレコードレベルを指定するという記述を行う。そして、レコードレベル選択結果伝達手段625は、DATUM要素のコンテンツとしてレコードレベルとする要素名を記述する。レコードレベルがJOB、PAGEの場合、DATUM要素の値の"DOCUMENT"の部分が"JOB","PAGE"となる。
メタデータにレコードレベルを明示的に記述したPPMLデータを後工程に伝達することにより、プリントサーバ402は、後加工機404を制御し、ジョブチケットに記載のレコード単位の印刷制御が可能となる。
なお、前述の方法によりレコードレベルを後工程に送るとき、本実施形態の情報処理装置は、PPMLデータを入力として受け付け、メタデータを付与したPPMLデータを出力し、ジョブチケットと一緒にプリントサーバ402に送信する。プリントサーバ402はこのデータを受け付け、メタデータ付与後のPPMLデータを使用してRIP処理を行い、ジョブチケットにより後加工機404を制御して印刷する。
プリントサーバ402にレコードレベルを伝達する上記以外の方法としては、PPMLにメタデータを付与するのではなく、ジョブチケットのレコードレベルに相当する部分にレコードレベルとする要素名を記述する方法がある。また、レコードレベルを、システムが理解可能な内部情報として格納する方法等がある。
本実施形態ではVDPアプリケーションから出力された印刷ジョブの解析・表示・選択・伝達をホットフォルダで行っているが、RIP処理の前であれば、どこで実施してもよく、VDPアプリケーション、ワークフローソフト、プリントサーバ等に適用可能である。
プリントサーバ402にレコードレベルを伝達する上記以外の方法としては、PPMLにメタデータを付与するのではなく、ジョブチケットのレコードレベルに相当する部分にレコードレベルとする要素名を記述する方法がある。また、レコードレベルを、システムが理解可能な内部情報として格納する方法等がある。
本実施形態ではVDPアプリケーションから出力された印刷ジョブの解析・表示・選択・伝達をホットフォルダで行っているが、RIP処理の前であれば、どこで実施してもよく、VDPアプリケーション、ワークフローソフト、プリントサーバ等に適用可能である。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、PPML等の書式で記述された印刷ジョブを構造的に解析することにより、レコードに対応する要素の階層を推定する機能を提供することができる。推定結果の確認と、推定ができない場合に対応するため、ユーザが明示的にレコードに対応する要素の階層を設定できる手段を提供することができる。取得したレコードに対応する要素の階層を後工程に伝達することにより、印刷の後工程でレコード単位の後加工を行う手段を提供することができる。これにより、VDP言語フォーマットがレコード区切りを指定できない場合であっても、レコードに対応する要素の階層を指定できる。また、VDP言語フォーマットについての知識がなくても、上記推定結果が正しいのかどうかをユーザが確認でき、正しくない場合は修正を指示できる。また、上記により決定されたレコードに対応する要素の階層を印刷の後工程に伝達し、レコードごとの後処理ができるようになる。
上述した各実施形態によれば、PPML等の書式で記述された、どの要素がレコードレベルに対応するかの規定が明確にはない印刷ジョブにおいて、レコード単位の処理を可能にすることできる。
上述した各実施形態によれば、PPML等の書式で記述された、どの要素がレコードレベルに対応するかの規定が明確にはない印刷ジョブにおいて、レコード単位の処理を可能にすることできる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
Claims (9)
- VDPアプリケーションから印刷ジョブを取得するデータ取得手段と、
前記データ取得手段で取得された印刷ジョブを解析し、可変データの繰り返しの単位であるレコードに対応する印刷ジョブを構成する要素のレコードレベルを推定するデータ解析手段と、
前記データ解析手段で推定されたレコードレベルを含む複数のレコードレベルからユーザからのレコードレベルの選択を受け付けるレコードレベル選択オブジェクトを含み、前記レコードレベル選択オブジェクトにおいて、前記データ解析手段で推定されたレコードレベルが選択された状態のレコードレベル設定画面を初期画面として表示装置に表示するよう制御するレコードレベル表示制御手段と、
前記レコードレベル設定画面の前記レコードレベル選択オブジェクトを介して選択されたレコードレベルを取得するレコードレベル選択取得手段と、
前記レコードレベル選択取得手段で取得された前記レコードレベルを前記印刷ジョブの後工程の装置に伝達する伝達手段と、
を有する情報処理装置。 - 前記レコードレベル設定画面は、前記印刷ジョブのページの内容を表示する領域を更に含み、
前記レコードレベル表示制御手段は、前記レコードレベル選択オブジェクトで選択されたレコードレベルで前記印刷ジョブのページの内容を前記領域に表示するよう制御する請求項1記載の情報処理装置。 - 前記データ解析手段は、印刷ジョブを出力したVDPアプリケーションの種類からレコードレベルを推定する請求項1又は2記載の情報処理装置。
- 前記データ解析手段は、前記印刷ジョブを構成する要素の個数からレコードレベルを推定する請求項1又は2記載の情報処理装置。
- 前記データ解析手段は、前記印刷ジョブを構成する各要素をルートノードとした木の類似度を算出し、比較して、木の類似度が最も高い要素をレコードレベルと推定する請求項1又は2記載の情報処理装置。
- 前記伝達手段は、前記印刷ジョブを構成する要素と、前記レコードレベル選択取得手段で取得された前記要素の前記レコードレベルと、を対応付けたメタデータを前記印刷ジョブに記述することによって前記レコードレベルを前記印刷ジョブの後工程の装置に伝達する請求項1乃至5何れか1項記載の情報処理装置。
- 前記伝達手段は、前記印刷ジョブを構成する要素と、前記レコードレベル選択取得手段で取得された前記要素の前記レコードレベルと、を対応付けたメタデータを前記印刷ジョブのジョブチケットに記述することによって前記レコードレベルを前記印刷ジョブの後工程の装置に伝達する請求項1乃至5何れか1項記載の情報処理装置。
- 情報処理装置が実行する情報処理方法であって、
VDPアプリケーションから印刷ジョブを取得するデータ取得ステップと、
前記データ取得ステップで取得された印刷ジョブを解析し、可変データの繰り返しの単位であるレコードに対応する印刷ジョブを構成する要素のレコードレベルを推定するデータ解析ステップと、
前記データ解析ステップで推定されたレコードレベルを含む複数のレコードレベルからユーザからのレコードレベルの選択を受け付けるレコードレベル選択オブジェクトを含み、前記レコードレベル選択オブジェクトにおいて、前記データ解析ステップで推定されたレコードレベルが選択された状態のレコードレベル設定画面を初期画面として表示装置に表示するよう制御するレコードレベル表示制御ステップと、
前記レコードレベル設定画面の前記レコードレベル選択オブジェクトを介して選択されたレコードレベルを取得するレコードレベル選択取得ステップと、
前記レコードレベル選択取得ステップで取得された前記レコードレベルを前記印刷ジョブの後工程の装置に伝達する伝達ステップと、
を含む情報処理方法。 - コンピュータに、
VDPアプリケーションから印刷ジョブを取得するデータ取得ステップと、
前記データ取得ステップで取得された印刷ジョブを解析し、可変データの繰り返しの単位であるレコードに対応する印刷ジョブを構成する要素のレコードレベルを推定するデータ解析ステップと、
前記データ解析ステップで推定されたレコードレベルを含む複数のレコードレベルからユーザからのレコードレベルの選択を受け付けるレコードレベル選択オブジェクトを含み、前記レコードレベル選択オブジェクトにおいて、前記データ解析ステップで推定されたレコードレベルが選択された状態のレコードレベル設定画面を初期画面として表示装置に表示するよう制御するレコードレベル表示制御ステップと、
前記レコードレベル設定画面の前記レコードレベル選択オブジェクトを介して選択されたレコードレベルを取得するレコードレベル選択取得ステップと、
前記レコードレベル選択取得ステップで取得された前記レコードレベルを前記印刷ジョブの後工程の装置に伝達する伝達ステップと、
を実行させるプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010105435A JP5538995B2 (ja) | 2010-04-30 | 2010-04-30 | 情報処理装置、情報処理方法及びプログラム |
KR1020110037668A KR101375907B1 (ko) | 2010-04-30 | 2011-04-22 | 정보 처리 장치, 정보 처리 방법 및 기억 매체 |
EP11163714.6A EP2383643B1 (en) | 2010-04-30 | 2011-04-26 | Information processing apparatus, information processing method and program |
CN201110107451.1A CN102236534B (zh) | 2010-04-30 | 2011-04-27 | 信息处理装置及信息处理方法 |
US13/095,583 US20110267651A1 (en) | 2010-04-30 | 2011-04-27 | Information processing apparatus, information processing method and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010105435A JP5538995B2 (ja) | 2010-04-30 | 2010-04-30 | 情報処理装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011233094A JP2011233094A (ja) | 2011-11-17 |
JP5538995B2 true JP5538995B2 (ja) | 2014-07-02 |
Family
ID=44201352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010105435A Expired - Fee Related JP5538995B2 (ja) | 2010-04-30 | 2010-04-30 | 情報処理装置、情報処理方法及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110267651A1 (ja) |
EP (1) | EP2383643B1 (ja) |
JP (1) | JP5538995B2 (ja) |
KR (1) | KR101375907B1 (ja) |
CN (1) | CN102236534B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100053186A (ko) * | 2008-11-12 | 2010-05-20 | 삼성전자주식회사 | 썸네일 생성 방법 및 화상형성장치 |
JP5591866B2 (ja) * | 2012-05-02 | 2014-09-17 | 富士フイルム株式会社 | データ作成装置、方法及びプログラム |
US10203850B2 (en) * | 2015-02-27 | 2019-02-12 | Mitsubishi Electric Corporation | Data editing apparatus, data editing method, and data editing program |
JP7026018B2 (ja) * | 2018-07-27 | 2022-02-25 | 株式会社日立製作所 | リスク分析支援装置、リスク分析支援方法、およびリスク分析支援プログラム |
US11838459B2 (en) * | 2019-06-07 | 2023-12-05 | Canon Kabushiki Kaisha | Information processing system, information processing apparatus, and information processing method |
CN113570348A (zh) * | 2021-09-26 | 2021-10-29 | 山东光辉人力资源科技有限公司 | 一种简历筛选方法 |
CN115883508B (zh) * | 2021-09-26 | 2024-06-07 | 中移物联网有限公司 | 一种号码处理方法、装置、电子设备及存储介质 |
US11861250B2 (en) * | 2022-05-27 | 2024-01-02 | Kyocera Document Solutions Inc. | Industrial printing system, server, and variable printing method that reduce delays due to proofreading delays in variable printing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002108844A (ja) * | 2000-09-28 | 2002-04-12 | Hitachi Software Eng Co Ltd | Xmlデータ分割編集装置 |
US7375842B2 (en) * | 2002-04-09 | 2008-05-20 | Eastman Kodak Company | Variable data printing using variants |
US20030189727A1 (en) * | 2002-04-09 | 2003-10-09 | Nexpress Solutions Llc | Method and apparatus for using fields of data to organize variable data print jobs |
JP5127232B2 (ja) * | 2007-01-05 | 2013-01-23 | キヤノン株式会社 | データ処理装置、データ処理方法、及びコンピュータプログラム |
JP4891137B2 (ja) * | 2007-04-19 | 2012-03-07 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP4974749B2 (ja) * | 2007-04-20 | 2012-07-11 | キヤノン株式会社 | 情報処理装置、配信方法、その方法を実行する制御プログラム |
JP4968931B2 (ja) * | 2007-08-24 | 2012-07-04 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US20090080025A1 (en) * | 2007-09-20 | 2009-03-26 | Boris Aronshtam | Parallel processing of page description language |
-
2010
- 2010-04-30 JP JP2010105435A patent/JP5538995B2/ja not_active Expired - Fee Related
-
2011
- 2011-04-22 KR KR1020110037668A patent/KR101375907B1/ko active IP Right Grant
- 2011-04-26 EP EP11163714.6A patent/EP2383643B1/en active Active
- 2011-04-27 US US13/095,583 patent/US20110267651A1/en not_active Abandoned
- 2011-04-27 CN CN201110107451.1A patent/CN102236534B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102236534B (zh) | 2015-07-29 |
EP2383643A2 (en) | 2011-11-02 |
KR20110121550A (ko) | 2011-11-07 |
EP2383643A3 (en) | 2013-05-29 |
JP2011233094A (ja) | 2011-11-17 |
EP2383643B1 (en) | 2019-09-04 |
CN102236534A (zh) | 2011-11-09 |
US20110267651A1 (en) | 2011-11-03 |
KR101375907B1 (ko) | 2014-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5538995B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5183444B2 (ja) | 印刷制御装置、印刷制御方法、及びコンピュータプログラム | |
JP5178227B2 (ja) | 印刷装置、文書管理装置、及びコンピュータプログラム | |
JP5046984B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP4586057B2 (ja) | 画像処理装置、画像処理方法および記録媒体 | |
JP2016162184A (ja) | 情報処理システム、情報処理装置、制御方法、およびコンピュータプログラム | |
JP2010102510A (ja) | クライアント装置、サーバ装置、及び、それらを用いた文書管理システム、文書管理方法、文書管理プログラム | |
US10353998B2 (en) | Information processing apparatus with real time update related to data edited while form document data is browsed, control method, and storage medium | |
CN102622193B (zh) | 打印控制装置及其控制方法 | |
US8848214B2 (en) | System and method for automatically validating a workflow plan using an automated planner | |
US7978374B2 (en) | Printing system to optimize printing workflow | |
JP6795767B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP2012098927A (ja) | 情報処理装置、情報処理方法、プログラム及び情報処理システム | |
JP4956259B2 (ja) | 情報処理装置及びその制御方法、コンピュータプログラム | |
US9870185B2 (en) | Print manager server, print management method, and storage medium for predictive print preview of print jobs | |
JP2016167816A (ja) | 情報処理装置およびプログラム | |
US7689514B2 (en) | Printer transformation service | |
JP6230281B2 (ja) | 画像処理装置、制御方法、プログラム | |
JP7396061B2 (ja) | 情報処理装置及びプログラム | |
JP2011154728A (ja) | 印刷制御装置及び方法 | |
US10216991B2 (en) | Automatically editing print job based on state of the document to be printed | |
JP6756967B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP2004151870A (ja) | 出力制御装置 | |
JP2021015645A (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP2013131109A (ja) | 印刷管理装置、印刷管理方法、及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130426 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140221 |
|
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 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140430 |
|
LAPS | Cancellation because of no payment of annual fees |