Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5812695B2 - 情報処理装置および情報処理方法 - Google Patents
[go: Go Back, main page]

JP5812695B2 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP5812695B2
JP5812695B2 JP2011123138A JP2011123138A JP5812695B2 JP 5812695 B2 JP5812695 B2 JP 5812695B2 JP 2011123138 A JP2011123138 A JP 2011123138A JP 2011123138 A JP2011123138 A JP 2011123138A JP 5812695 B2 JP5812695 B2 JP 5812695B2
Authority
JP
Japan
Prior art keywords
configuration information
folder
page
pdf
rule
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
Application number
JP2011123138A
Other languages
English (en)
Other versions
JP2012252434A (ja
JP2012252434A5 (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 JP2011123138A priority Critical patent/JP5812695B2/ja
Priority to US13/479,370 priority patent/US8988692B2/en
Publication of JP2012252434A publication Critical patent/JP2012252434A/ja
Publication of JP2012252434A5 publication Critical patent/JP2012252434A5/ja
Application granted granted Critical
Publication of JP5812695B2 publication Critical patent/JP5812695B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、印刷用ファイルを作成・保存・編集・印刷する印刷ワークフローを提供する情報処理装置および情報処理方法に関する。特に、本発明は、PDFやPDF/Xなどを含む印刷用ファイル形式(フォーマット)を使用した情報処理装置および情報処理方法に関する。
近年、印刷用ファイルを作成・保存・編集・印刷する印刷ワークフローでは、印刷用ファイルの形式(フォーマット)としてPDF(Portable Document Format)が使用されることが多くなってきている。PDFは、Microsoft Windows(登録商標)、Mac OS(登録商標)を含めたさまざまなプラットフォームに対応している。また、PDFはフォントや画像等のすべてのデータを一つのファイルに格納することができる。
このため、PDFは印刷ワークフローに関わる複数の担当者間でやり取りするための可搬性にすぐれており、複数の担当者による校正作業も容易である。PDFは印刷目的以外の目的に使用する他の要素も格納することができる。これに関して、国際標準化機構(International Organization for Standardization;以下、ISOと表記する)によって、PDF/Xが策定された(非特許文献1)。PDF/Xは、印刷用のデータ交換を目的としたPDFのサブセットである。印刷ワークフローではPDF/Xも広く使用されている。
一方、電子写真方式の印刷装置やインクジェット方式の印刷装置の高速化・高画質化に伴い、プリント・オン・デマンド(Print On Demand;以下、PODと表記する)と呼ばれる市場が広がりを見せている。PODは、デジタル複写機やデジタル複合機等のデジタル画像形成装置を最大限に活用して、電子データを用いたデジタル印刷を行うことで、比較的小ロットのジョブを短納期で取り扱えることを目指している。
PODでは、電子データを用いる特性を生かして、バリアブルデータ印刷(Variable Data Printing;以下、VDPと表記する)として知られる印刷方法が行なわれている。VDPでは、文書中の固定部分と可変部分を分け、顧客DBなどのデータソースから取得したデータを加工して可変部分のデータを作成する。こうして、顧客ごとに内容の異なる印刷を行うことを可能とする。
VDPでは顧客ごとに内容の異なる印刷を行うことができるが、文書中の固定部分に関しては共通の内容であるため、印刷時に固定部分の処理を効率化することが求められる。また、顧客の性別や購買履歴などの特性に応じて、用紙の選択や印刷ページの選択などの印刷制御を行うという要求も高くなってきている。このような印刷制御を行う際は、JDF(Job Definition Format)と呼ばれるジョブチケット形式を使用して印刷設定を記述することが広まりつつある。これらの要求に応えるために、PDF/XをベースとしたVDP用のファイル形式として、ISOによってPDF/VTが策定された(非特許文献2)。PDF/VTでは、固定部分の処理を効率的に行うための仕様や、JDFによる印刷設定を容易にするための階層構造やメタデータの仕様が追加されている。
特開平11−250041号公報 特開2006−244467号公報
ISO 15930 Graphic technology − Prepress digital data exchange using PDF − ISO 16612−2 Graphic technology − Variable data exchange − Part 2: Using PDF/X−4 and PDF/X−5(PDF/VT−1 and PDF/VT−2)
従来から、企業においてはPDFやPDF/Xファイル(以下、PDFファイルと総称する)の形式のデータの蓄積がなされている。これらPDFやPDF/Xの印刷が可能なプリンタ(以下、PDF対応プリンタと表記する)を保有する印刷ワークフローも存在する。
この従来の印刷ワークフローにおいて、PDFとPDF/VTのいずれの印刷も可能なプリンタ(以下、PDF/VT対応プリンタと表記する)を新たに導入した場合、PDFファイルの形式のままでは、PDF/VT対応プリンタの利点が生かせない。
逆に、すべてのPDFファイルをPDF/VT形式に変換した場合、そのPDF/VTファイルに対する印刷設定を記述したJDFファイルを作成すると、既存のPDF対応プリンタではその印刷設定に対応した印刷ができない。
また、PDFファイルからPDF/VT形式に変換する場合、JDFによる印刷設定を容易に行うためには階層構造の作成やメタデータの付加を行う必要がある。このための方法として、たとえば特許文献1は、文書画像のレイアウトから階層構造、参照構造、関係構造等の論理構造を抽出し、異なる形式に変換可能な方法を開示している。特許文献2は、PDFの各ページに注釈(アノテーション)として階層構造を意味する情報を付加しておき、この情報にしたがって階層を自動作成する方法を開示している。しかしながら、これらの方法では、文書に明示的に表れている構造にしか対応していないという課題や、VDPに特有な繰り返しの含まれる構造に対応していないという課題がある。
本発明の一実施形態の情報処理装置は、繰り返し要素に対応した繰り返しルールを含み、かつ構成情報を作成するためのルールを作成するルール作成手段と、前記作成されたルールを第1のPDLデータに適用することによって、前記第1のPDLデータに対する構成情報を作成する構成情報作成手段と、前記構成情報作成手段によって作成された前記構成情報を保存する保存手段と、ユーザの指示に基づいて、印刷設定を行う印刷設定手段と、印刷を行うプリンタを指定するプリンタ指定手段と、前記構成情報と前記印刷設定と前記指定されたプリンタの能力とに基づいて、前記第1のPDLデータを第2のPDLデータに変換する変換手段と、前記変換手段で変換された前記第2のPDLデータに従って印刷の制御を行う印刷制御手段と、を有する。
本発明によれば、既存のページ記述言語によるファイル、例えばPDFファイルを保持したまま、構成情報、例えばJDFファイルを使用してその階層構造やメタデータを利用した印刷設定を行うことができる。また、本発明によれば、バリアブル印刷に特有の繰り返しの含まれる階層構造を定義することができる。
また、本発明によれば、既存のPDFファイルと新たに作成したJDFファイルを使って、既存のPDFプリンタまたは新規のPDF対応プリンタのいずれにおいても上記の印刷設定を反映した印刷を行うことができる。また、本発明によれば、既存のPDFファイルと新たに作成したJDFファイルを使って、バリアブル印刷用のプリンタ、例えばPDF/VT対応プリンタでPDF/VTの利点を生かした印刷を行うことができる。
なお、既存のページ記述言語によるファイルの形式はPDFに限らず、ページ単位の記述能力を持ち、ページ単位でアクセス可能な任意のページ記述言語(Print Description Language;以下、PDLと表記する)形式が使用可能である。ページ記述言語のファイルを変換した後のファイル形式はPDF/VTに限らず、階層構造とメタデータのいずれかあるいは両方の機能を持つ任意のPDL形式が使用可能である。ジョブチケット形式はJDFに限らず、目的の印刷設定を記述することのできる任意のジョブチケット形式が使用可能である。
本発明の情報処理装置の構成を示す図である。 (A)は本発明の情報処理装置のPCの構成を示す図であり、(B)はPC101、102の機能構成を示す図である。 PDF/VT文書の構造を示す図である。 印刷情報の構造を示す図である。 本発明の情報処理装置の全体処理を表わすフローチャートである。 本発明の情報処理装置のルール作成画面を示す図である。 ルール作成画面で開始条件を指定した例を示す図である。 オブジェクト指定の例を示す図である。 ルール作成画面で終了条件を指定した例を示す図である。 (A)は終了条件を指定して連結線が有効になった例を示し、(B)は開始条件を指定して連結線が有効になった例を示し、(C)は有効な連結線に対してリンク条件を指定した例を示す。 ルール作成画面でルールを作成した例を示す図である。 入力するPDFファイルの例を示す図である。 本発明により作成された構成情報を示す図である。 ルール作成画面でルールを作成した例を示す図である。 入力するPDFファイルの例を示す図である。 本発明により作成された構成情報を示す図である。 本発明によるメタデータを設定した構成情報の例を示す図である。 構成情報を表すデータ構造を示す図である。 構成情報のデータ構造のサンプルを示す図である。 構成情報のXML表現の例を示す図である。 ルール適用の処理を表すフローチャートである。 終端フォルダへの割り振り処理を表すフローチャートである。 終端フォルダへの割り振り処理を表すフローチャートである。 終端フォルダへの割り振り処理を表すフローチャートである。 構成情報に対して印刷設定を追加した印刷情報を示す図である。 不要なページを印刷しない例を示す図である。 印刷情報をPDF/VTに変換する処理を表わすフローチャートである。 印刷情報から変換されたPDF/VTファイルを示す図である。 印刷情報をPDFに変換する処理を表わすフローチャートである。 印刷情報から変換されたPDFファイルを示す図である。
(実施形態1)
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<PODシステムの構成>
図1は、本発明の実施形態に係る情報処理装置の構成を示す模式図である。この情報処理装置は、印刷ジョブ作成コンピュータ(PC)101と、ファイルサーバ102と、印刷オペレータPC103と、PDF対応プリンタ104と、PDF/VT対応プリンタ105とを有し、これらはネットワーク106を介して接続されている。
印刷ジョブ作成PC101は印刷ジョブを作成し、ファイルサーバ102に格納する。ファイルサーバ102に対して、ネットワーク106経由でデータの読み書きが行われる。印刷オペレータPC103は、ファイルサーバ102から取得した印刷ジョブを必要に応じて変更し、PDF対応プリンタ104またはPDF/VT対応プリンタ105に送信する。PDF対応プリンタ104またはPDF/VT対応プリンタ105は、受信した印刷ジョブの印刷を行う。
本発明の実施の形態では既存のPDLデータのファイル形式としてPDFを使用するが、本発明はこれに限定されるものではない。ページ単位の記述能力を持ち、そのページをページ番号や直接参照・間接参照によりアクセス可能なPDLのPDLデータであれば任意の形式が使用可能である。例えば、PDF/Xであってもよい。
本発明の実施の形態では変換後のファイル形式としてPDF/VT(バリアブル印刷用のフォーマット)を使用するが、本発明はこれに限定されるものではなく、それ以外のファイル形式にも適用できる。階層構造とメタデータのいずれかあるいは両方の機能を持ち、その階層構造とメタデータのいずれかあるいは両方に外部からアクセスすることで印刷制御が可能なPDLであれば任意の形式が使用可能である。
本発明の実施の形態ではジョブチケット形式としてJDFを使用するが、本発明はこれに限定されるものではない。印刷ワークフローで行なわれる印刷の目的に合った設定を記述することのできる任意の形式が使用可能である。
本発明の実施の形態では、各PC、サーバが個々の機能を提供しているが、本発明はこれに限定されるものではない。個々の機能がさらに複数のコンピュータに分散していても良い。PC、サーバのうちのいくつか、あるいはすべてが同一コンピュータであっても良い。印刷ワークフローを構成するプログラムとして、全体のワークフローを管理するワークフローソフトや、印刷ジョブに関連する種々の情報を格納する経営情報システム(Management Information System;MIS)が存在していても良い。印刷ジョブを入稿するWeb to Printプログラム、プリンタ等のデバイスを管理するデバイスマネージャ、印刷ジョブを管理するジョブマネージャ、その他のプログラムが存在していても良い。
本発明の実施の形態では、PDF対応プリンタとPDF/VT対応プリンタをそれぞれの能力に応じて使い分けているが、本発明はこれに限定されるものではない。同じ能力を持つプリンタが複数存在しても良い。PDF対応プリンタのみが存在する場合や、PDF/VT対応プリンタのみが存在する場合にも適用可能である。
本発明の実施の形態では、各PC、サーバ、プリンタがネットワーク接続されているが、本発明はこれに限定されるものでない。一部のPC、サーバ、プリンタが遠隔地のネットワークに存在し、それらとリモート接続されているのでも良い。一部の機能はインターネットを通じてWebサービスとして実行されるのでも良い。一部のPC、サーバがインターネット上でいわゆるクラウドサービスとして実行されるものでも良い。
<コンピュータ装置の構成>
次に、図2を使用して、本発明の実施の形態に係るコンピュータ装置の構成を説明する。図2(A)は、印刷ジョブ作成PC101、ファイルサーバ102、印刷オペレータPC103の構成の一例を示すブロック図である。
CPU201はRAM202に格納されている制御プログラムに従って本装置全体の制御を行う。内部記憶部202はCPU201が実行する本装置の制御プログラムや、文書画像等のデータを格納するRAM等である。ネットワークインタフェース203はCPU201の制御の下にネットワーク106との接続を行なってデータ等を送受信する。外部記憶装置204はデータを保存する磁気ディスク等である。205はディスプレイ、206はキーボード、207はマウス等のポインティングデバイスである。RAM202に格納されているプログラムは、所定の動作を行うために、同じくRAM202に格納されているOS(Operating System)の機能を必要に応じて使用する。また、RAM202に格納されているプログラムは、RAM202に一時記憶するデータの内容の読み書きを行なったり、外部記憶装置204上でデータの読み書きを行なったり、ネットワークインタフェース203を通じてデータの送受信を行なったりする。また、RAM202に格納されているプログラムは、キーボード206やポインティングデバイス207からの入力を受け取ったり、ディスプレイ205に表示を行なったりする。
クライアントPC101は、RAM202に格納されたプログラムがキーボード206やポインティングデバイス207からの入力を受け付けて印刷ジョブを作成し、ネットワークインタフェース203を通じてファイルサーバ102に書き込む。ファイルサーバ102は、外部記憶装置204に印刷ジョブを格納する。また、RAM202に格納されたプログラムがネットワークインタフェース203を通じて印刷ジョブの読み書きを行う命令を受信すると、CPU201が命令を実行してネットワークインタフェース203を通じて結果を送信する。
印刷オペレータPC103は、RAM202に格納されたプログラムがキーボード206やポインティングデバイス207からの入力を受け付けてネットワークインタフェース203を通じてファイルサーバ102から印刷ジョブを読み込む。そして、印刷オペレータPC103は、印刷ジョブの形式を必要に応じて変更した上で、PDF対応プリンタ104やPDF/VT対応プリンタ105にネットワークインタフェース203を通じてその印刷ジョブを送信する。
図2(B)は、印刷ジョブ作成PC101のRAM202に格納されている制御プログラムの機能ブロック図である。この制御プログラムは、構成情報403(図4)を作成する構成情報作成プログラム211(構成情報作成手段)と、構成情報の一部を追加、削除、変更するための構成情報編集プログラム212(構成情報編集手段)とを含んでいる。印刷オペレータPC103は、印刷情報401のうちJDF404の部分を作成する印刷設定プログラム213(印刷設定手段)と、印刷情報を用いて印刷の指示等の制御を行う印刷制御プログラム214(印刷制御手段)を含んでいる。
<PDF/VTの構造>
次に、図3を使用して、PDF/VT文書の構造を説明する。図3はPDF/VTファイルに格納されるPDF/VT文書301の論理的な構造を概念的に示すブロック図である。Catalog辞書302はPDF/VT文書301内に存在するさまざまなオブジェクトへの参照を格納する。これらの参照には、Page Tree303やDPartRoot辞書305への参照が含まれる。Page Tree303はPDF/VT文書301内に存在するPageオブジェクト304の順序を保持する。Pageオブジェクト304は一ページ分の描画に必要なオブジェクトへの参照を保持する。DPartRoot辞書305はDPart(Document Part)階層構造に存在するルートノードへの参照を保持する。DPart辞書306はDPart階層構造を構成する各ノードを表現する。DPM(Document Part Metadata)307は各DPart辞書に関連付けられたメタデータを保持する。DPart階層構造の終端ノードはPageオブジェクト304への参照を保持する。外部JDFファイル308はPDF/VT文書301のDPart階層構造やDPMメタデータを参照した印刷設定を記述することができる。
Catalog辞書302、Page Tree303、Pageオブジェクト304はPDFにもともと定義されている構造である。DPartRoot辞書305、DPart辞書306、DPM辞書307、Catalog辞書302からDPartRoot辞書305への参照、DPart辞書306からPageオブジェクト304への参照はPDFに対して拡張された構造である。
<印刷情報の構成>
次に、図4を使用して、本発明の実施の形態に係る印刷情報の構造を説明する。図4は本発明の実施の形態で使用する印刷ジョブの形式である印刷情報401の論理的な構造を概念的に説明するブロック図である。402はPDFファイルである。構成情報403はPDFファイル402を参照し、PDF/VT文書301のDPart階層構造やDPMメタデータと同様の構造を保持することができる。
構成情報403がPDF/VT文書301のDPart階層構造と異なる点が二点ある。一点は、DPartRoot辞書305からの参照はないことである。もう一点は、終端ノードがPageオブジェクト304への参照を保持しないことである。その代わり、構成情報403の終端ノードは、参照先のPDFファイルのページ番号を保持する。JDFファイル404は構成情報403のDPart階層構造やDPMメタデータを参照して印刷設定を記述する。印刷情報401を外部記憶装置204に保持する際は、PDFファイル402、構成情報403、JDFファイル404をZIP形式でアーカイブする。
構成情報403とPDFファイルの例は図9C、図11を用いて後述する。印刷情報の例は図17、図18を用いて後述する。構成情報をRAM202に保持する際のデータ構造は図12、図13を用いて後述する。構成情報を外部記憶装置204に保持する際の表現形式は図14を用いて後述する。
本発明の実施の形態では、PDFファイルを一つだけ使用しているが、本発明はこれに限定されるものではない。複数のPDFファイルを使用し、それぞれのPDFファイルのページを構成情報から参照することも可能である。本発明の実施の形態では、構成情報としてPDF/VTと同様の構造を使用しているが、本発明はこれに限定されるものではない。階層構造とメタデータを表現する構造であれば任意の形式を使用可能である。本発明の実施の形態では、構成情報は参照先のPDFファイルのページ番号を保持しているが、本発明はこれに限定されるものではない。PDFファイル内のページを参照することが可能であれば任意の形式が使用可能であり、たとえばPDFのReference XObjectを使用することもできる。
本発明の実施の形態では、印刷情報をZIP形式でアーカイブしているが、本発明はこれに限定されるものではない。LZH形式などの各種のアーカイブ形式も使用可能である。OPC(Open Package Convention)、MIME(Multipurpose Internet Mail Extensions)などの各種のパッケージ形式も使用可能である。あるいは、ファイルシステムのディレクトリ構造を使用し、印刷情報内の各ファイルをアーカイブやパッケージしないことも可能である。
<全体処理>
次に、図5のフローチャートを使用して、本発明の実施形態に係る情報処理装置の全体処理を説明する。図5(A)は情報処理装置の全体処理を表している。
まずステップ501で処理が開始される。次に、ステップ502で、印刷ジョブ作成PC101の構成情報作成プログラム211(構成情報作成手段)が、ユーザーからの入力を受け付けて、構成情報403を作成し、印刷情報の一部としてファイルサーバ502に格納する。構成情報作成処理の詳細についてはステップ507〜513で後述する。
ステップ503で、印刷ジョブ作成PC101の構成情報編集プログラム212(構成情報編集手段)が、ユーザーからの入力を受け付けて、ファイルサーバ502に格納されている印刷情報401のうち構成情報403の部分を編集する。構成情報403の編集は、構成情報作成処理で作成された構成情報403の一部を追加、削除、変更する処理であり、作成処理から自明であるので詳細は述べない。
ステップ504で、印刷オペレータPC103の印刷設定プログラム(印刷設定手段)が、ユーザーからの入力を受け付けて、ファイルサーバ502に格納されている印刷情報401のうちJDF404の部分を作成する。印刷設定処理の詳細は図17、図18を用いて後述する。ステップ505で、印刷オペレータPC103の印刷制御プログラム214(印刷制御手段)が、ユーザーからの入力を受け付けて、ファイルサーバ502に格納されている印刷情報401を用いて印刷の指示を行う。この印刷処理の詳細についてはステップ514〜522で後述する。ステップ506で処理が終了する。
図5(B)は、印刷ジョブ作成PC101の構成情報作成プログラム211が行う構成情報作成処理502の詳細を表すフローチャートである。ステップ507で、処理が開始される。
ステップ508で、構成情報作成プログラム211が、ルール作成手段として、ユーザーからの入力を受け付けて、構成情報403を作成するためのルールを作成する。ルールの作成方法については図6〜図10を用いて後述する。ステップ509で、ステップ508で作成したルールを適用するために、構成情報作成プログラム211が印刷ジョブ作成PC101やファイルサーバ102に格納されているPDFファイル(PDLデータ)の指定をユーザーから受け付ける。
ステップ510で、ルール適用手段として、構成情報作成プログラム211がステップ508で作成したルールをステップ509で指定されたPDFファイルに適用し、構成情報403を作成する。ルール適用処理の詳細は図15、図16A、図16B、図16Cを用いて後述する。ステップ511で、構成情報作成プログラム211が、ユーザーからの入力を受け付けて、ステップ510で作成した構成情報403にメタデータを設定する。メタデータ設定の詳細は図11を用いて後述する。
ステップ512で、構成情報作成プログラム211が、ユーザーからの入力を受け付けて、ステップ510、ステップ511で作成・編集した構成情報403を印刷情報の一部としてファイルサーバ502に格納する。ステップ513で、処理が終了する。
図5(C)は、印刷オペレータPC103の印刷制御プログラム214が行う印刷処理505の詳細を表わすフローチャートである。ステップ514で処理が開始される。
ステップ515で、印刷制御プログラム214が、ファイルサーバ102に格納されている印刷情報401のいずれかの指定をユーザーから受け付ける。ステップ516で、印刷制御プログラム214が、プリンタ指定手段として、印刷を行うプリンタの指定をユーザーから受け付ける。
ステップ517で、印刷制御プログラム214が、ステップ516で指定されたプリンタがPDF/VTファイルを印刷可能かどうかを判定する。判定は、ステップ516で指定されたプリンタの能力をたとえばJMF(Job Messaging Format)のような形式を用いて印刷制御プログラム214が問い合わせ、その能力を調べることで行う。あるいは、ネットワーク上で使用可能なすべてのプリンタの能力を印刷制御プログラム214がアクセス可能な場所にあらかじめ静的に格納しておき、ステップ516で指定されたプリンタの能力を印刷制御プログラム214がそれを読み込むことで行っても良い。プリンタがPDF/VTファイルを印刷可能な場合は、ステップ518に進む。それ以外の場合はステップ520に進む。本実施形態では、ユーザーがPDF対応プリンタ104を指定した場合は、ステップ520に進む。ユーザーがPDF/VT対応プリンタ105を指定した場合は、ステップ518に進む。
ステップ518で、変換手段としての印刷制御プログラム214が、ステップ515で指定された印刷情報を変換してPDF/VTファイルとJDFファイルを作成する。PDF/VTへの変換処理の詳細は図19A、図19Bを用いて後述する。ステップ519で、印刷制御プログラム214が、ステップ518で作成したPDF/VTファイルとJDFファイルを、ステップ516で指定されたプリンタに送信する。ステップ520で、変換手段としての印刷制御プログラム214が、ステップ515で指定された印刷情報を変換してPDFファイルとJDFファイルを作成する。PDFへの変換処理の詳細は、図20A、図20Bを用いて後述する。ステップ521で、印刷制御プログラム214が、ステップ520で作成したPDFファイルとJDFファイルを、ステップ516で指定されたプリンタに送信する。ステップ522で、処理が終了する。
<ルール作成画面>
次に、図6〜図8を使用して、ステップ508でルール作成手段として使用するルール作成画面について説明する。前述したように、ここで作成するルールをPDFファイルに適用することで構成情報403が作成される。
図6は、印刷ジョブ作成PC101の構成情報作成プログラム211がディスプレイ205に表示するルール作成画面の一例を示す図である。ルール作成画面601は、フォルダ作成ペイン602、開始条件指定ペイン607、終了条件指定ペイン609を含んでいる。
フォルダ作成ペイン602で、構成情報作成プログラム211がユーザーからの入力を受け付けて階層構造のフォルダを作成・編集し、その結果を階層表示する。ここで作成する階層構造が、構成情報403を作成する際の階層構造として使用される。ユーザーからの入力を受け付けて階層構造のフォルダを作成、移動、変更、削除する方法は、Microsoft Windows(登録商標)のエクスプローラー等で既知であるので詳細は述べない。603はフォルダ作成ペインで作成されたフォルダである。各フォルダには名前を指定することができる。フォルダの階層は、左から第一階層、第二階層…のように呼ぶ。図6のルール作成画面の場合、第一階層にCustomerフォルダ、第二階層にLetterフォルダ、第三階層にCoverLetterフォルダとBrochureフォルダが作成されている。
チェックボックス604はフォルダが構成情報403で繰り返し使用されることをユーザーに指示させるために用いられる。図6のルール作成画面の場合、Customerフォルダが繰り返しフォルダ(すなわち、繰り返し要素)であると指定されている。繰り返しフォルダは、ルールをPDFファイルに適用すると、構成情報403の階層構造内で繰り返しルールとして繰り返し使用される。
ボタン605、606はフォルダの階層がレコードレベル(Record Level;RL)であることをユーザーに指示させるために用いられる。ここで、レコードレベルについて説明する。VDPでは、VDP文書テンプレートにデータソースの各行(レコード)を適用して印刷ジョブを生成する。したがって、VDPの印刷ジョブでは、1つのレコードを適用することによって生成されるページ群が、データソースの行数だけ繰り返される構造になっているのが一般的である。レコードレベルとは、この繰り返しが行なわれるフォルダ階層のことである。ボタン605はレコードレベルが有効である状態を示しており、そのフォルダの階層がレコードレベルであることを示す。ボタン606はレコードレベルが無効である状態を示しており、そのフォルダの階層がレコードレベルではないことを示す。フォルダ作成ペイン602で作成されたフォルダの階層においてレコードレベルであると指定可能なのは一つの階層のみである。また、その階層にはフォルダが一つだけ存在し、かつ、そのフォルダが繰り返しフォルダであると指定されていなければならない。図6のルール作成画面の場合、レコードレベルであると指定可能なのは第一階層のみである。ある階層がレコードレベルであると指定された場合、構成情報作成プログラム211は、その他の階層のボタンをすべて無効状態にする。
開始条件指定ペイン607で、構成情報作成プログラム211がユーザーの入力を受け付けて、フォルダ作成ペイン602で作成したフォルダのうち終端フォルダ(もっとも右の階層に位置するフォルダ)に対して開始条件を指定させる。ここで指定した開始条件は、ルールをPDFファイルに適用する際に、PDFファイルのページをフォルダに割り振る際に使用される。なお、ドロップダウンリストボックス608は、個々の終端フォルダに対する開始条件をユーザーに指示させるために用いられる。
終了条件指定ペイン609で、構成情報作成プログラム211はユーザーの入力を受け付けて、フォルダペイン602で作成したフォルダのうち終端フォルダに対して終了条件を指定させる。ここで指定した終了条件は、ルールをPDFファイルに適用する際に、PDFファイルのページをフォルダに割り振る際に使用される。ドロップダウンリストボックス610は、個々の終端フォルダに対する終了条件をユーザーに指示させるために用いられる。
連結線611は終了条件と開始条件の連結関係を示す。構成情報作成プログラム211は、フォルダペイン602で隣接する終端フォルダについては、先行する(図で上側に位置する)終端フォルダの終了条件と、後続の(図で下側に位置する)終端フォルダの開始条件を連結して表示する。図6のルール作成画面の場合、CoverLetterフォルダの終了条件とBrochureフォルダの開始条件が連結されている。また、繰り返しフォルダが存在する場合、その繰り返しフォルダの下位にある終端フォルダのうち、最後の(図でもっとも下側に位置する)終端フォルダの終了条件と、先頭の(図でもっとも上側に位置する)終端フォルダの開始条件を連結して表示する。図6のルール作成画面の場合、Brochureフォルダの終了条件とCoverLetterフォルダの開始条件が連結されている。連結線には接続状態が無効である状態と有効である状態がある。図6のルール作成画面ではすべて無効状態である。後述のように開始条件または終了条件を指定することで連結線を有効化することができる。すべての連結線が有効化された場合、そのルールはPDFファイルに適用可能となる。なお、612はルール作成内容を保存して終了するためのOKボタンである。613はルール作成内容を破棄して終了するためのキャンセルボタンである。
図7A(a)は、ルール作成画面601において、ユーザーが開始条件ペイン607で指定可能な開始条件の一例を示す図である。開始条件指定ドロップダウンリストボックス608(図6)において、CoverLetterフォルダに対して、「ページサイズ変化」が選択されている(701)。構成情報作成プログラム211は、この開始条件が指定されたフォルダがある場合、ルールをPDFファイルに適用する際にPDFファイルのページサイズの変化(例:A4サイズ→A3サイズ)をチェックする。そして、この開始条件が指定されたフォルダに対して、PDFファイルのページサイズが変わったページから割り振りを始める。
図7A(b)は、ルール作成画面601において、ユーザーが開始条件ペイン607で指定可能な開始条件の一例を示す図である。開始条件指定ドロップダウンリストボックス608(図6)において、CoverLetterフォルダに対して「オブジェクト指定」が選択されている(702)。構成情報作成プログラム211は、この開始条件が指定されたフォルダがある場合、ルールをPDFファイルに適用する際に、PDFファイルのページ内で指定されたオブジェクトが指定された位置に存在するかどうかをチェックする。そして、この開始条件が指定されたフォルダに対して、指定されたオブジェクトが指定された位置に存在するページから割り振りを始める。
図7Bは、図7A(b)で「オブジェクト指定」が選択された場合に構成情報作成プログラム211がディスプレイ205に表示するオブジェクト指定画面の一例を示す図である。オブジェクト指定画面703で、構成情報作成プログラム211は、ユーザーからの入力を受け付けて、オブジェクト指定で使用するPDFファイルを指定させる。たとえば、Microsoft Windows(登録商標)であれば、デスクトップ画面やエクスプローラーからのドラッグ&ドロップによってPDFファイルを指定する方法がある。
ページ指定ペイン704で、構成情報作成プログラム211は、指定されたPDFファイルに存在するページをすべて表示する。そして、構成情報作成プログラム211は、オブジェクトを選択するページをユーザーに選択させる。
オブジェクト指定ペイン705で、構成情報作成プログラム211は、ページ指定ペインで選択されたページの内容を表示する。そして、構成情報作成プログラム211は、そのページの表示を構成するオブジェクトのうち一つをユーザーに選択させる。構成情報作成プログラム211は、ここで選択されたオブジェクトの内容と位置を保持しておき、ルールをPDFファイルに適用する際に使用する。なお、706は選択されたオブジェクトを示す。707はオブジェクト指定内容を保存して終了するためのOKボタンである。708はオブジェクト指定内容を破棄して終了するためのキャンセルボタンである。
図7C(a)は、ルール作成画面601において、ユーザーが終了条件ペイン609で指定可能な終了条件の一例を示す図である。終了条件指定ドロップダウンリストボックス610(図6)で、CoverLetterフォルダに対して「ページ数指定」が選択され(709)、ページ数として「4」が入力されている(710)。構成情報作成プログラム211は、この終了条件が指定されたフォルダがある場合、ルールをPDFファイルに適用する際にPDFファイルのページ数をカウントする。そして、構成情報作成プログラム211は、この開始条件が指定されたフォルダに対して、PDFファイルのページの割り振りを開始した後、指定されたページ数(図7C(a)の例では4ページ)を割り振り終わると、そのフォルダへの割り振りを終了する。
図7C(b)は、ルール作成画面601において、ユーザーが終了条件ペイン609で指定可能な終了条件の一例を示す図である。終了条件指定ドロップダウンリストボックス610で、CoverLetterフォルダに対して、「オブジェクト指定」が選択されている(711)。構成情報作成プログラム211は、この開始条件が指定されたフォルダがある場合、ルールをPDFファイルに適用する際に、PDFファイルのページ内で指定されたオブジェクトが指定された位置に存在するかどうかをチェックする。そして、構成情報作成プログラム211は、この終了条件が指定されたフォルダに対して、PDFファイルのページの割り振りを開始した後、指定されたオブジェクトが指定された位置に存在するページを割り振り終わると、そのフォルダへの割り振りを終了する。オブジェクトの指定方法は図7Bに示したものと同様である。
図8(A)は、ルール作成画面601において、連結された終了条件と開始条件が有効状態になった一例を示す図である。フォルダ作成ペイン602では、CoverLetterとBrochureという二つの終端フォルダが作成されている。終了条件指定ドロップダウンリストボックス610(図6)で、先行する終端フォルダであるCoverLetterフォルダに対して「ページ数指定」が選択され、ページ数として「4」が入力されている(801)。構成情報作成プログラム211がCoverLetterフォルダに対してPDFファイルのページの割り振りを開始したのち、4ページを割り振り終わると、CoverLetterフォルダへの割り振りを終了する。そして、後続の終端フォルダであるBrochureフォルダへの割り振りを開始する。つまり、先行する終端フォルダであるCoverLetterに有効な終了条件が指定されていれば、後続する終端フォルダであるBrochureには開始条件を指定する必要がない。このため、構成情報作成プログラム211は、両終端フォルダの連結線802を有効表示する。
図8(B)は、ルール作成画面601において、連結された終了条件と開始条件が有効状態になった一例を示す図である。フォルダ作成ペイン602では、CoverLetterとBrochureという二つの終端フォルダが作成されている。後続の終端フォルダであるBrochureフォルダに対して、開始条件指定ドロップダウンリストボックス608で「オブジェクト指定」が選択されている(803)。構成情報作成プログラム211がCoverLetterフォルダに対してPDFファイルのページの割り振りを開始した後、803で指定されたオブジェクトが指定された位置に存在するページを見つけると、Brochureフォルダへの割り振りを開始する。つまり、後続する終端フォルダであるBrochureに有効な開始条件が指定されていれば、先行する終端フォルダであるCoverLetterには終了条件を指定する必要がない。このため、構成情報作成プログラム211は、両終端フォルダの連結線804を有効表示する。
図8(C)は、ルール作成画面601において、連結された終了条件と開始条件が有効状態になった一例を示す図である。フォルダ作成ペイン602は図8(A)、図8(B)と同様である。CoverLetterフォルダの終了条件指定805は801と同様である。Brochureフォルダの開始条件指定806は803と同様である。
CoverLetterフォルダの終了条件とBrochureフォルダの開始条件が指定されているので、両終端フォルダの連結線807が有効表示されている。ただし、この例では終了条件と開始条件がどちらも指定されているため、両条件が矛盾する可能性がある。このため、構成情報作成プログラム211はリンク条件の指定ポップアップメニュー808を表示して、ユーザーに連結線の動作を選択させる。選択可能な動作、すなわち状態遷移の条件となるものは「AND」「OR」「SKIP」の三種類である。ANDを選択した場合は、構成情報作成プログラム211は、両終端フォルダの条件が満たされれば後続する終端フォルダであるBrochureフォルダへの割り振りを開始する。「OR」を選択した場合は、構成情報作成プログラム211は、いずれかの終端フォルダの条件が満たされれば後続する終端フォルダであるBrochureフォルダへの割り振りを開始する。「SKIP」を選択した場合は、先行する終端フォルダであるCoverLetterフォルダの終了条件が満たされれば、構成情報作成プログラム211は、後続フォルダであるBrochureへの割り振りをスキップする。そして、Brochureに後続する終端フォルダへの割り振りを行うかどうかを判断する。リンク条件が指定されている場合の割り振り処理の詳細は図16A〜図16Cを用いて後述する。
<ルールの適用例>
次に、図9〜図10を使用して、構成情報作成プログラム211がステップ510のルール適用処理を行なって構成情報403を作成する様子を例を挙げて説明する。ここでは適用結果だけを示し、ルール適用処理の詳細は図15、図16A〜図16Cを用いて後述する。
図9aは、ルール作成画面601において、ルールを作成した一例を示す図である。Customerフォルダが繰り返しフォルダとして指定されている。Customerフォルダの階層がレコードレベルであると指定されている。終端フォルダはCoverLetterフォルダとBrochureフォルダであり、この順で隣接している。CoverLetterフォルダに対して、終了条件指定ドロップダウンリストボックス610で「ページ数指定」が選択され、ページ数として「1」が入力されている(901)。Brochureフォルダに対して、終了条件指定ドロップダウンリストボックス610で「ページ数指定」が選択され、ページ数として「3」が入力されている(902)。903はCoverLetterフォルダの終了条件とBrochureフォルダの開始条件との連結線である。連結線903は、先行する終端フォルダであるCoverLetterフォルダの終了条件が指定されているので、有効表示されている。
904はBrochureフォルダの終了条件とCoverLetterフォルダの開始条件との連結線である。Customerフォルダが繰り返しフォルダとして指定されている。このため、その下位にある終端フォルダのうち、最後の終端フォルダであるBrochureフォルダの終了条件と、先頭の終端フォルダであるCoverLetterフォルダの開始条件が連結されている。連結線904は、先行する終端フォルダであるBrochureフォルダの終了条件が指定されているので、有効表示されている。
図9bは、入力するPDFファイルの内容をサムネールで示した図である。PDFファイル905は、図9Bに示すように8ページで構成されている。
図9Cは、図9BのPDFファイルに対して図9Aで作成したルールを適用した結果、作成される構成情報の論理的な構造を概念的に説明するブロック図である。906は作成された構成情報である。907は構成情報906のルートノードである。ルートノードは常に「PDFVT」という名前となる。908は図9Aで第一階層がレコードレベルであると指定されているのに対応してルートノードに生成されたメタデータである。このメタデータの使い方については図19A、図19Bを用いて後述する。
909〜916は、図9Aのフォルダ作成ペイン602で作成したフォルダに対応して構成情報906に作成されたノードである。Customerフォルダが繰り返しフォルダとして指定されていたため、Customerノードが繰り返し作成されている。917は図9Bに示した入力PDFファイルである。918〜921はPDFファイル917の各ページである。922〜925は、構成情報906の終端ノードからPDFファイル917のページへのリンクである。図9Aに示すように、作成したルールではCoverLetterに1ページ、Brochureフォルダに3ページの割り振りが指定されていた。このルールに従って、ノード911に最初の1ページ、ノード912に次の3ページ、ノード915に次の1ページ、ノード916に次の3ページがリンクされている。PDFファイルのページへのリンクは、前述のようにリンク先のページのページ番号を保持している。
図10Aは、ルール作成画面601において、ルールを作成した別の例を示す図である。
フォルダ作成ペインの内容は図9Aと同様である。CoverLetterフォルダに対して、開始条件指定ドロップダウンリストボックス610で「オブジェクト指定」が選択されている(1001)。この時のオブジェクトとしては、オブジェクト指定画面703において、図10Bに示すPDFファイルのオブジェクト1006または1008が指定されているものとする。オブジェクト1006とオブジェクト1008は同じ内容で同じ位置に描画されるオブジェクトである。
また、Brochureフォルダに対して、開始条件指定ドロップダウンリストボックス610で「オブジェクト指定」が選択されている(1002)。この時のオブジェクトとしては、オブジェクト指定画面703において、図10Bに示すPDFファイルのオブジェクト1007または1009が指定されているものとする。オブジェクト1007とオブジェクト1009は同じ内容で同じ位置に描画されるオブジェクトである。
1003はCoverLetterフォルダの終了条件とBrochureフォルダの開始条件との連結線である。連結線1003は、後続する終端フォルダであるBrochureフォルダの開始条件が指定されているので、有効表示されている。1004はBrochureフォルダの終了条件とCoverLetterフォルダの開始条件との連結線である。Customerフォルダが繰り返しフォルダとして指定されている。このため、その下位にある終端フォルダのうち、最後の終端フォルダであるBrochureフォルダの終了条件と、先頭の終端フォルダであるCoverLetterフォルダの開始条件が連結されている。連結線1004は、後続する終端フォルダであるCoverLetterフォルダの開始条件が指定されているので、有効表示されている。
図10Bは、入力するPDFファイルの内容をサムネールで示した図である。PDFファイル1005は、図に示すように8ページで構成されている。前述のように、1ページ目のオブジェクト1006と5ページ目のオブジェクト1008は同じ内容で同じ位置に描画されるオブジェクトである。また、4ページ目のオブジェクト1007と8ページ目のオブジェクト1009は同じ内容で同じ位置に描画されるオブジェクトである。
図10Cは、図10BのPDFファイルに対して図10aで作成したルールを適用した結果、作成される構成情報の論理的な構造を概念的に説明するブロック図である。1010〜1013は図9Cと同様に作成されたノードである。1014〜1017は入力されたPDFファイル1005の各ページである。1018〜1021は、構成情報の終端ノードからPDFファイルのページへのリンクである。図10Aに示すように、作成したルールでは、CoverLetterに対して、オブジェクト1006、1008と同じ内容を同じ位置を持つページがあれば割り振りを開始するように指定していた。このルールに従って、CoverLetterノード1010から、オブジェクト1006を持つ1ページ目にリンク1018が作成されている。また、作成したルールでは、Brochureフォルダに対して、オブジェクト1007、1009と同じ内容を同じ位置に持つページがあれば割り振りを開始するようにしていた。このルールに従って、Brochureフォルダ1011から、オブジェクト1007を持つ4ページ目にリンクが作成されている。リンク1021、1022についても同様である。PDFファイルのページへのリンクの保持方法については図12、図13を用いて後述する。
<メタデータの設定>
次に、図11を使用して、ステップ511で構成情報403にメタデータを設定した様子を説明する。図11は、図9Cの構成情報に対してメタデータを設定した一例を説明するブロック図である。
構成情報では任意のノードに任意のメタデータを設定することができる。本実施の形態では、メタデータはキーと値を「Key=Value」の形式で表現する。Customerフォルダ1104にメタデータ1121「Name=Jone Doe」とメタデータ1122「Gender=Male」が設定されている。Customerフォルダ1108にメタデータ1123「Name=Jane Doe」とメタデータ1124「Gender=Female」が設定されている。ユーザーからの入力を受け付けてメタデータを作成、変更、削除する方法はMicrosoft Windows(登録商標)のプロパティ設定等で既知であるので詳細は述べない。
<構成情報の内部表現>
次に、図12〜図13を使用して、構成情報作成プログラム211が構成情報403をRAM202に保持する際のデータ構造について説明する。図12は構成情報作成プログラム211が構成情報403をRAM202に保持する際に使用するデータ構造をUML(Unified Modeling Language)を用いて表記したクラス図である。本発明の実施の形態では以下のような仮想的な基本データ型と文法構造を使用する。
基本データ型はboolean、integer、stringの三種類である。booleanは真偽値型であり、値としてtrue(真)またはfalse(偽)を格納する。integerは整数型であり、値として任意の整数値を格納する。stringは文字列型であり、値として任意長の文字列を格納する。文法構造は構造体、ポインタ、配列の三種類である。構造体、ポインタはC言語で使用可能なものと同等である。無効なポインタ値としては0を使用する。配列も表記法はC言語で使用可能なものと同等であるが、宣言時にサイズを指定する必要がなく、実行時に必要に応じてサイズが拡張あるいは縮小される。
1201はDPartノードの情報を格納するためのDPart構造体である。parent1202は親DPartノードへの参照を格納するためのポインタである。name1203はDPartノードの名前を格納するための文字列である。isLeaf1204はDPartノードが終端ノードかどうかを格納するための真偽値である。children1205は子DPartノードへの参照を格納するためのポインタの配列である。page1206はリンク先のPDFのページ番号を格納するための整数の配列である。構成情報403の定義により、isLeaf1204の値がtrueの場合はpage1206を使用し、children1205は使用しない。isLeaf1204の値がfalseの場合はchildren1205を使用し、page1206は使用しない。metadeta1207はDPM構造体1208への参照を格納するためのポインタの配列である。1208はDPMメタデータの情報を格納するためのDPM構造体である。key1209はメタデータのキーを格納するための文字列である。value1210はメタデータの値を格納するための文字列である。
本発明の実施形態では、上記のような仮想的なデータ型や文法構造を使用したが、本発明はこれに限定されるものではない。構成情報作成プログラム211を記述する言語で使用可能なデータ型や文法構造であれば任意のものが使用可能である。本発明の実施形態では、メタデータの値を文字列に限定しているが、本発明はこれに限定されるものではない。構成情報作成プログラム211を記述する言語で使用可能なデータ型や文法構造であれば任意のものが使用可能である。
図13は、図11に示した構成情報1101を図12に示したデータ構造を用いて表現したインスタンス図である。
DPart構造体1201のインスタンス1301はノード1102に対応する。親ノードはないのでparent1202に無効なポインタ値として0を格納する。name1203はノード1102の名前である「PDFVT」を格納する。ノード1102は終端ノードではないので、isLeaf1204はfalseを格納する。ノード1102は子ノードとして1104、1108を持つので、children1205はそれぞれの子ノードに対応するインスタンスである1302へのポインタ(p2)と1306へのポインタ(p6)を格納する。page1206は使用しない。ノード1102はメタデータとして1103を持つので、metadata1207はメタデータ1103に対応するインスタンスである1310へのポインタ(p9)を格納する。
DPart構造体1201のインスタンス1302はノード1104に対応する。親ノードは1102なので、parent1202はノード1102に対応するインスタンスである1301へのポインタ(p1)を格納する。ノード1104はメタデータとして1121、1122を持つので、metadata1207はそれぞれのメタデータに対応するインスタンスである1311へのポインタ(p10)と1312へのポインタ(p11)を格納する。
DPart構造体1201のインスタンス1304はノード1106に対応する。ノード1106は終端ノードなので、isLeaf1204はtrueを格納する。children205は使用しない。ノード1106はPDFファイル1112の1ページ目である1113へリンクしているので、page1206にはページ番号として「1」を格納する。
DPM構造体1208のインスタンス1310はメタデータ1103に対応する。メタデータ1103は「RecordLevel=1」なので、key1209に「RecordLevel」、value1210に「1」を格納する。他のインスタンス1303、1305〜1309、1311〜1314についても上記と同様である。
<構成情報のXML表現>
次に図14を使用して、構成情報作成プログラム211が構成情報403を外部記憶装置204に保持する際の記述方法について説明する。図14は、構成情報作成プログラム211が図13に示した構成情報を外部記憶装置204に保持する際の記述方法の一例を示す図である。
ここでは、構成情報403をXML(eXtensible Markup Language)で表記している。これは、非特許文献2のAppendix B“XML Representation of the document part hierarchy”で規定されている表記方法に従ったものである。図13と図14の構成要素は一対一に対応しており、図13から図14への変換方法は自明であるので詳しくは述べない。
本発明の実施の形態では、上記のようなXML表記方法を使用したが、本発明はこれに限定されるものではない。構成情報を表現可能な表記方法であれば任意のものが使用可能である。
<ルール適用処理>
次に図15〜図16Cを使用して、構成情報作成プログラム211がステップ510のルール適用手段が構成情報403を作成する処理の詳細について説明する。ここでは処理内容の概要だけを説明し、実際のルールから構成情報を作成する例については後述する。
図15(A)は、構成情報作成プログラム211がルール作成画面601で作成したルールをPDFファイルに適用する際の処理の詳細を示すフローチャートである。
ステップ1501で、構成情報作成プログラム211が処理を開始する。ステップ1502で、構成情報作成プログラム211は、ルール作成画面601のフォルダ作成ペイン602で作成したフォルダのうちルートフォルダを指すポインタを変数Pfに格納する。ステップ1503で、構成情報作成プログラム211は、適用するPDFファイルのうち1ページ目を指すポインタを変数Ppに格納する。ステップ1504で、構成情報作成プログラム211は、Pfが指すフォルダ(以降、単にPfフォルダと表記する)が終端フォルダかどうかを判定する。終端フォルダでない場合はステップ1505に進み、終端フォルダの場合はステップ1506に進む。
Pfフォルダが終端フォルダでない場合、ステップ1505で、構成情報作成プログラム211はPfとPpを引数としてステップ1508から始まる「非終端ループ」処理を呼び出す。Pfフォルダが終端フォルダの場合、ステップ1506で、構成情報作成プログラム211はPfとPpを引数として図16Aのステップ1601から始まる「終端ループ」処理を呼び出す。ステップ1507で、構成情報作成プログラム211は処理を終了する。
図15(B)は、構成情報作成プログラム211が行う「非終端ループ」処理の詳細を示すフローチャートである。
ステップ1508で、構成情報作成プログラム211が「非終端ループ」処理を開始する。なお、引数のPfは処理対象のルールフォルダ、引数のPpは処理対象のPDFファイルのページを表わす。ステップ1509で、構成情報作成プログラム211は、Pfフォルダのうち、最初の子フォルダを指すポインタを変数Cfに格納する。Pfフォルダは非終端フォルダなので、子フォルダが少なくとも一つ存在する。ステップ1510で、構成情報作成プログラム211は、Cfが指すフォルダ(以降、単にCfフォルダと表記する)が終端フォルダがどうかを判定する。終端フォルダでない場合はステップ1511に進み、終端フォルダの場合はステップ1512に進む。
Cfフォルダが終端フォルダでない場合、ステップ1511で構成情報作成プログラム211はPfフォルダの子フォルダに対するループを開始する。ステップ1512で、構成情報作成プログラム211はCfとPpを引数としてステップ1508から始まる「非終端ループ」処理を呼び出す。ステップ1513で、構成情報作成プログラム211はPfフォルダの子フォルダのうち、Cfフォルダの次の子フォルダをCfに格納する。ステップ1514で、ステップ1511から始まるループが終了する。すなわち、Pfフォルダの子フォルダがまだ存在すれば、構成情報作成プログラム211はステップ1510に戻って処理を繰り返す。構成情報作成プログラム211がPfフォルダの子フォルダに対する処理をすべて終了すればステップ1515に進む。
Cfフォルダが終端フォルダである場合、ステップ1515で、構成情報作成プログラム211はCfとPpを引数として図16Aのステップ1601から始まる「終端ループ」処理を呼び出す。ステップ1516で、構成情報作成プログラム211は「非終端ループ」を終了する。
図16A〜図16Cは、構成情報作成プログラム211がルール作成画面601で作成したルールをPDFファイルに適用する際に、終端フォルダに対してPDFファイルのページを割り振る処理の詳細を示すフローチャートである。
ステップ1601で、構成情報作成プログラム211は処理を開始する。引数のPfは処理対象のルールフォルダ、引数のPpは処理対象のPDFファイルのページを表す。ステップ1602で、構成情報作成プログラム211はPfフォルダに対応するノードを構成情報403に作成する。Pfフォルダの祖先フォルダに対応するノードが構成情報403に存在しない場合は、構成情報作成プログラム211はそれも作成する。
ステップ1603で、ルール作成画面601の開始条件指定ペイン607・終了条件指定ペイン609において、構成情報作成プログラム211はPfフォルダの終了条件と連結されている開始条件を検索する。そして構成情報作成プログラム211は、その開始条件に対応するフォルダを指すポインタを変数Ffに格納する。
ステップ1604で、構成情報作成プログラム211はPfフォルダに終了条件が設定されているかどうかを判定する。Pfフォルダに終了条件が設定されていなければステップ1605に進む。終了条件が設定されていればステップ1606に進む。
Pfフォルダに終了条件が設定されていない場合、ステップ1605で、構成情報作成プログラム211はFfフォルダの開始条件を満たしているかどうかを判定する。前述のように、ルールのすべての連結線が有効状態になった場合にそのルールがPDFファイルに適用可能となるため、Pfフォルダに終了条件が設定されていない場合は、Ffが指すフォルダ(以降、単にFfフォルダと表記する)に開始条件が設定されている。Ffフォルダの開始条件を満たしていない場合は、Pfフォルダでの割り振り処理が継続することになる。その場合は、ステップ1619に進んで、構成情報作成プログラム211はPpが指すPDFファイルのページ(以降、単にPpページと表記する)をPfフォルダに割り振る処理を行う。Ffフォルダの開始条件を満たしている場合は、Pfフォルダでの割り振り処理が終了することになる。その場合は、処理はステップ1623に進んで、構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。
Pfフォルダに終了条件が設定されている場合、ステップ1606で構成情報作成プログラム211はFfフォルダに開始条件が設定されているかどうかを判定する。Ffフォルダに開始条件が設定されていなければステップ1607に進む。終了条件が設定されていればステップ1608に進む。
Pfフォルダに終了条件が設定されており、Ffフォルダに終了条件が設定されていない場合、ステップ1607で構成情報作成プログラム211はPfフォルダの終了条件を満たしているかどうかを判定する。Pfフォルダの終了条件を満たしていない場合は、Pfフォルダでの割り振り処理が継続することになる。その場合は、処理はステップ1619に進んで、構成情報作成プログラム211はPpページをPfフォルダに割り振る処理を行う。Pfフォルダの終了条件を満たしている場合は、Pfフォルダでの割り振り処理が終了することになる。その場合は、処理はステップ1623に進んで、構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。
Pfフォルダに終了条件が設定されており、Ffフォルダに開始条件が設定されている場合、ステップ1608で構成情報作成プログラム211は両終端フォルダに設定されているリンク条件を判定する。前述のように、両終端フォルダの条件が設定されている場合は、リンク条件の指定ポップアップメニュー808を表示して、ユーザーに連結線の動作を選択させている。リンク条件が「AND」の場合はステップ1609に進む。リンク条件が「OR」の場合はステップ1611に進む。リンク条件が「SKIP」の場合はステップ1613に進む。
ステップ1609、ステップ1610は、PfフォルダとFfフォルダのリンク条件が「AND」の場合の処理である。前述のように、この場合は両終端フォルダの条件が満たされれば構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。このため、ステップ1609で構成情報作成プログラム211はPfフォルダの終了条件を満たしているかどうかを判定し、ステップ1610でFfフォルダの開始条件を満たしているかどうかを判定する。いずれかの条件が満たされていない場合は、ステップ1619に進んで、構成情報作成プログラム211はPpページをPfフォルダに割り振る処理を行う。両方の条件を満たしている場合は、ステップ1623に進んで構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。
ステップ1611、ステップ1612は、PfフォルダとFfフォルダのリンク条件が「OR」の場合の処理である。前述のように、この場合はいずれかの終端フォルダの条件が満たされれば構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。このため、ステップ1611で構成情報作成プログラム211はPfフォルダの終了条件を満たしているかどうかを判定し、ステップ1612でFfフォルダの開始条件を満たしているかどうかを判定する。両方の条件が満たされていない場合は、ステップ1619に進んで、構成情報作成プログラム211はPpページをPfフォルダに割り振る処理を行う。いずれかの条件を満たしている場合は、ステップ1623に進んで構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。
ステップ1611、ステップ1612は、PfフォルダとFfフォルダのリンク条件が「SKIP」の場合の処理である。前述のように、この場合はPfフォルダの終了条件が満たされればFfフォルダに対する割り振り処理をスキップする。このため、ステップ1613で構成情報作成プログラム211はPfフォルダの終了条件を満たしているかどうかを判定する。Pfフォルダの終了条件が満たされていない場合は、ステップ1619に進んで、構成情報作成プログラム211はPpページをPfフォルダに割り振る処理を行う。Pfフォルダの終了条件を満たしている場合は、ステップ1614に進んで構成情報作成プログラム211はFfフォルダに対するスキップ処理を行う。
図16Bに進んで、ステップ1614は、PfフォルダとFfフォルダのリンク条件が「SKIP」で、Pfフォルダの終了条件を満たしており、Ffフォルダに対するスキップを行う場合の処理である。まず、構成情報作成プログラム211は現在のFfフォルダを指すポインタを変数Pfに格納する。そして、ルール作成画面601の開始条件指定ペイン607・終了条件指定ペイン609において、構成情報作成プログラム211はPfフォルダの終了条件と連結されている開始条件を検索し、その開始条件に対応するフォルダを指すポインタを変数Ffに格納する。
ステップ1615で、構成情報作成プログラム211はFfフォルダに開始条件が設定されているかどうかを判定する。開始条件が設定されていない場合は、ステップ1623に進んで構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。開始条件が設定されている場合はステップ1616に進む。
ステップ1616で、構成情報作成プログラム211は、スキップ対象のPfフォルダと、現在割り振りを行なおうとしているFfフォルダに、リンク条件が設定されているかどうかを判定する。リンク条件が設定されていない場合はステップ1617に進む。リンク条件が設定されている場合はステップ1618に進む。
ステップ1617は、Ffフォルダに開始条件が設定されており、PfフォルダとFfフォルダにリンク条件が設定されていない場合の処理である。構成情報作成プログラム211はFfフォルダの開始条件を満たしているかどうかを判定し、満たしている場合はステップ1623に進んでFfフォルダに対する割り振り処理を開始する。Ffフォルダの開始条件を満たしていない場合は、ルール作成画面601で作成したルールが適用中のPDFファイルと合致していないことになるので、ステップ1624に進んで構成情報作成プログラム211は割り振りエラー処理を行う。
ステップ1618で、PfフォルダとFfフォルダにリンク条件が設定されている場合に、構成情報作成プログラム211がそのリンク条件を判定する。ここでは、スキップ対象のPfフォルダの終了条件は満たしていると仮定する。リンク条件が「AND」の場合は、Ffフォルダの開始条件を満たしているかどうかだけを判定するためにステップ1617に進む。リンク条件が「OR」の場合は、ステップ1623に進んで、構成情報作成プログラム211はFfフォルダに対する割り振り処理を開始する。リンク条件が「SKIP」の場合は、ステップ1614に進んで、構成情報作成プログラム211はFfフォルダに対するスキップ処理を行う。
図16Cに進んで、ステップ1620で、構成情報作成プログラム211はPfフォルダにPpページを割り振る。ステップ1621で、構成情報作成プログラム211はPpページがPDFファイルで最後のページかどうかを判定する。最後のページでない場合はステップ1622に進んで、構成情報作成プログラム211は割り振り処理を継続する。最後のページの場合はステップ1626に進んで、構成情報作成プログラム211は割り振り処理を終了する。ステップ1622で、次のページの割り振り処理を行うために、構成情報作成プログラム211はPpページの次のページを指すポインタを変数Ppに格納する。ステップ1622で、構成情報作成プログラム211はステップ1601から始まる「終端ループ」処理を呼び出して、Pfフォルダに対するPpページの割り振り処理を行う。ステップ1623で、構成情報作成プログラム211はステップ1601から始まる「終端ループ」処理を呼び出して、Ffフォルダに対するPpページの割り振り処理を行う。一方、ステップ1625で、構成情報作成プログラム211は割り振りエラーを見つけた場合のエラー処理を行う。ステップ1625で、構成情報作成プログラム211は処理を終了処理する。
<ルール適用処理の例>
次に、図15〜図16Cで説明したフローチャートを使用して、図9A、図9Bで説明したルールとPDFファイルから図9Cで説明した構成情報906が生成される様子を説明する。
ステップ1502で、PfフォルダはCustomerフォルダとなる。ステップ1503で、Ppページは1ページ目となる。ステップ1504で、Customerフォルダは終端フォルダではないため、構成情報作成プログラム211はステップ1505からステップ1508を呼び出す。ステップ1509で、CfフォルダはLetterフォルダとなる。ステップ1510で、Letterフォルダは終端フォルダではないため、構成情報作成プログラム211はステップ1512からステップ1508を呼び出す。
ステップ1509で、CfフォルダはCoverLetterフォルダとなる。ステップ1510で、CoverLetterフォルダは終端フォルダのため、構成情報作成プログラム211はステップ1515からステップ1601を呼び出す。ステップ1601で、PfフォルダはCoverLetterフォルダとなり、Ppページは1ページ目である。
ステップ1602で、構成情報作成プログラム211はPfフォルダに相当するCoverLetterノード911を構成情報906に作成する。この時点で親ノードが作成されていなかったため、構成情報作成プログラム211はPDFVTノード907、Customerノード909、Letterノード910も同時に作成する。図9Aのルール作成画面で第一階層がレコードレベルであると指定されているため、構成情報作成プログラム211はPDFVTノード907の作成時にRecordLevel=1というメタデータ908を作成する。
ステップ1603で、FfフォルダはBrochureフォルダとなる。Pfフォルダに終了条件があり、Ffフォルダに開始条件がないため、ステップ1607に進む。ステップ1607で、Pfフォルダには構成情報作成プログラム211がまだPDFページの割り振りを行なっていないため、Pfフォルダの終了条件を満たさず、ステップ1619に進む。
ステップ1619で、構成情報作成プログラム211はPfフォルダに相当するCoverLetterノード911にPpページである1ページ目918を割り当て、リンク922を作成する。ステップ1620〜1621でPpページが2ページ目となり、構成情報作成プログラム211はステップ1622からステップ1601を呼び出す。
ステップ1601で、PfフォルダはCoverLetterフォルダであり、Ppページは2ページ目である。この時点でPfフォルダに相当するCoverLetterノード911は作成済みのため、ステップ1602では何も行なわれない。ステップ1603で、FfフォルダはBrochureフォルダとなる。Pfフォルダに終了条件があり、Ffフォルダに開始条件がないため、ステップ1607に進む。ステップ1607で、すでにPDFページの割り振りを1ページ行なっているため、Pfフォルダの終了条件を満たし、ステップ1623からステップ1601を呼び出す。
ステップ1601で、PfフォルダはBrochureフォルダ、Ppページは2ページ目である。ステップ1602で、構成情報作成プログラム211はPfフォルダに相当するBrochureノード912を構成情報906に作成する。ステップ1603で、FfフォルダはCoverLetterフォルダとなる。Pfフォルダに終了条件があり、Ffフォルダに開始条件がないため、ステップ1607に進む。
ステップ1607で、PfフォルダにはまだPDFページの割り振りを行なっていないため、Pfフォルダの終了条件を満たさず、ステップ1619に進む。ステップ1619で構成情報作成プログラム211はPfフォルダに相当するBrochureノード912にPpページである2ページ目(919の1ページ目)を割り当て、リンク923を作成する。
ステップ1620〜1621でPpページが3ページ目となり、ステップ1622からステップ1601を呼び出す。ステップ1601で、PfフォルダはBrochureフォルダ、Ppページは3ページ目である。この時点でPfフォルダに相当するBrochureノード912は作成済みのため、ステップ1602では何も行なわれない。ステップ1603で、FfフォルダはCoverLetterフォルダとなる。Pfフォルダに終了条件があり、Ffフォルダに開始条件がないため、ステップ1607に進む。
ステップ1607で、Pfフォルダにはまだ1ページしかPDFページの割り振りを行なっていないため、Pfフォルダの終了条件を満たさず、ステップ1619に進む。ステップ1619で構成情報作成プログラム211はPfフォルダに相当するBrochureノード912にPpページである3ページ目(919の2ページ目)を割り当てる。
ステップ1620〜1621でPpページが4ページ目となり、ステップ1622からステップ1601を呼び出す。ステップ1602、1602、1603、1604、1606は上記Ppページが3ページ目の処理と同様である。ステップ1607で、すでにPfフォルダに割り振りを3ページ行なっているため、Pfフォルダの終了条件を満たし、ステップ1623からステップ1601を呼び出す。
ステップ1601で、PfフォルダはCoverLetterフォルダであり、Ppページは5ページ目である。ステップ1602で、Pfフォルダに相当するCoverLetterノード915を構成情報906に作成する。この時点で親ノードが作成されていなかったため、構成情報作成プログラム211はCustomerノード913、Letterノード914も同時に作成する。ステップ1603、1604、1607は上記Ppページが1ページ目の処理と同様である。
ステップ1619で、構成情報作成プログラム211はPfフォルダに相当するCoverLetterノード915にPpページである5ページ目920を割り当て、リンク924を作成する。ステップ1620〜1621でPpページが6ページ目となり、ステップ1622からステップ1601を呼び出す。
ステップ1601で、PfフォルダはCoverLetterフォルダであり、Ppページは6ページ目である。ステップ1602、1603、1604、1606は上記Ppページが2ページ目の処理と同様である。
ステップ1607で、すでにPDFページの割り振りを1ページ行なっているため、Pfフォルダの終了条件を満たし、ステップ1623からステップ1601を呼び出す。
ステップ1601で、PfフォルダはBrochureフォルダ、Ppページは6ページ目である。ステップ1602で、構成情報作成プログラム211はPfフォルダに相当するBrochureノード916を構成情報906に作成する。ステップ1603、1604、1606、1607は上記Ppページが2ページ目の処理と同様である。
ステップ1619で、構成情報作成プログラム211はPfフォルダに相当するBrochureノード916にPpページである6ページ目(921の1ページ目)を割り当て、リンク925を作成する。以降、7ページ目と8ページ目も上記3ページ目と4ページ目と同様に作成する。最後に、ステップ1620でPpが8ページ目の時に最後のページと判定され、ステップ1625に進んで処理を終了する。
<印刷情報の設定>
次に、図17〜図18を使用して、ステップ515で構成情報403を参照する印刷設定404を印刷設定プログラム213が印刷情報401に追加した様子を説明する。図17は、図11の構成情報に対して印刷設定を追加した一例を説明するブロック図である。
本発明の実施の形態では印刷設定のジョブチケット形式としてJDF(ワークフロー用の工程指示ファイルフォーマット)を使用している。しかし、JDFの記述方式は複雑であり、またその記述方式は既知であるため、図11では説明の煩雑さを避けるために印刷設定の内容を自然言語で表現している。
JDF1725で、「PDFVT¥Customer¥Letter¥CoverLetter直下のページはA4コート紙カラーで印刷」という印刷設定が行なわれている。このため、CoverLetterノード1706がリンクしているページ1713と、CoverLetterノード1710がリンクしているページ1715はA4コート紙カラーで印刷される。
JDF1725で、「PDFVT¥Customer¥Letter¥Brochure直下のページはA4上質紙モノクロで印刷」という印刷設定が行なわれている。このため、Brochureノード1707がリンクしているページ1714と、Brochureノード1711がリンクしているページ1716はA4上質紙モノクロで印刷される。
JDF1725で、「PDFVT¥Customer単位で封入封緘」という印刷設定が行なわれている。このため、Customerノード1704の下位ノードがリンクしているページ1713、1714と、Customerノード1708の下位ノードがリンクしているページ1715、1716は別々に封入封緘される。
JDF1725で、「封入封緘の際の封筒は、PDFVT¥CustomerのメタデータGenderがMaleなら青い封筒、Femaleならピンクの封筒を使用」という印刷設定が行なわれている。このため、Customerノード1704の下位ノードがリンクしているページ1713、1714には青い封筒が使用される。Customerノード1708の下位ノードがリンクしているページ1715、1716にはピンクの封筒が使用される。
図18は、印刷設定プログラム213が別の構成情報に対して印刷設定を追加した一例を説明するブロック図である。
この構成情報1802では、Ignoreノード1803、1804が追加されており、PDFファイル1805の4ページ目1806と8ページ目1807をそれぞれリンクしている。JDF1801で、「PDFVT¥Customer¥Letter¥Ignore直下のページは印刷しない」という印刷設定が行なわれている。このため、Ignoreノード1803がリンクしているページ1806と、Ignoreノード1804がリンクしているページ1807は印刷されない。
このように、本実施形態によれば、個々のPDFファイル402のページに依存せず、構成情報403のノードとメタデータを参照して印刷設定404を記述した印刷情報401を作成することができる。ユーザーからの入力を受け付けて印刷設定を作成する方法は既知であるので詳細は述べない。
<PDF/VTへの変換処理>
次に、図19A、図19Bを使用して、ステップ518で印刷情報をPDF/VTファイルとJDFファイルに変換する処理の詳細を説明する。図19Aは、構成情報作成プログラム211が印刷情報401をPDF/VTファイルとJDFファイルに変換する処理の詳細を示すフローチャートである。図19Bは、図17に示した印刷情報から変換したPDF/VTファイルとJDFファイルを説明するブロック図である。
ステップ1901で、構成情報作成プログラム211が処理を開始する。ステップ1902で、構成情報作成プログラム211は印刷情報401のPDFファイル402からPDF/VTファイルのひな型を作成する。図19Bの例では、PDFファイル1712を使用して、Catalog辞書、Page Tree、Pageオブジェクトを含むPDF/VTファイル1909を作成する。
ステップ1903で、構成情報作成プログラム211は、ステップ1902で作成したPDF/VTファイルにDPartRoot辞書305を作成する。この時、構成情報作成プログラム211は、構成情報403のルートノードに付加したRecordLevelメタデータを参照して、DPartRoot辞書305のRecordLevelプロパティを設定する。図20の例では、DPartRoot辞書1910を作成する。この時、構成情報1701のルートノード1702にはRecordLevelメタデータ1703の値として「1」が設定されている。これを参照して、DPartRoot辞書1910のRecordLevelプロパティ1911を作成し、値として「1」を設定する。
ステップ1904で、構成情報作成プログラム211は、構成情報403を参照してステップ1903で更新したPDF/VTファイルにDPart階層構造を作成する。図19Bの例では、構成情報作成プログラム211はPDFVTノード1702からDPart1912を作成する。同様に、Customerノード1704、1708からDPart1913、1917がそれぞれ作成される。同様に、Letterノード1705、1709からDPart1914、1918がそれぞれ作成される。同様に、CoverLetterノード1706、1710からDPart1915、1919がそれぞれ作成される。同様に、Brochureノード1707、1711からDPart1916、1920がそれぞれ作成される。同様に、メタデータ1721、1722からDPM1921、1922がそれぞれ作成される。同様に、メタデータ1723、1724からDPM1923、1924がそれぞれ作成される。
ステップ1905で、構成情報作成プログラム211は構成情報403を参照して、ステップ1904で更新したPDF/VTファイルのDPart階層構造から、ステップ1902で作成したPageオブジェクトへの参照を作成する。前述したように、構成情報403の終端ノードはPDFファイル402のページ番号を保持しているが、PDF/VTのDPart終端ノードはPageオブジェクトへの参照を保持するので、この変換を行う。図19Bの例では、リンク1717からPageオブジェクトへの参照1925が作成される。同様に、リンク1718、1719、1720から、Pageオブジェクトへの参照1926、1927、1928がそれぞれ作成される。
ステップ1906で、構成情報作成プログラム211は、印刷情報401のJDFファイル404から、ステップ1902〜1906で作成したPDF/VTファイルを参照するJDFファイルを作成する。図19Bの例では、JDFファイル1715からJDFファイル1908が作成される。印刷設定の内容は同じである。ステップ1907で、構成情報作成プログラム211は処理を終了する。
<PDFへの変換処理>
次に、図20A、図20Bを使用して、ステップ520で印刷情報をPDFファイルとJDFファイルに変換する処理の詳細を説明する。図20Aは、構成情報作成プログラム211が印刷情報401をPDFファイルとJDFファイルに変換する処理の詳細を示すフローチャートである。図20Bは、図17に示した印刷情報から変換したPDFファイルとJDFファイルを説明するブロック図である。
ステップ2001で、構成情報作成プログラム211が処理を開始する。ステップ2002で、構成情報作成プログラム211は印刷情報401のPDFファイル402をそのまま使用したPDFファイルを作成する。図20Bの例では、構成情報作成プログラム211はPDFファイル1712を使用してPDFファイル2006を作成する。両PDFファイルの内容は同じである。
ステップ2003で、構成情報作成プログラム211は印刷情報401のJDFファイル404から、ステップ2002で作成したPDFファイルを参照するJDFファイルを作成する。PDFファイルは構造化されていないため、階層構造やメタデータを使用した印刷設定は使用できない。このため、PDFファイルのページ番号を参照した印刷設定に変換する。
JDFファイル1725では、「PDFVT¥Customer¥Letter¥CoverLetter直下のページはA4コート紙カラーで印刷」という印刷設定が行なわれている。このため、前述のように、ページ1713とページ1715がA4コート紙カラーで印刷される。図20の例では、ページ1713とページ1715にそれぞれ対応するページ番号1と5を使用し、「1ページと5ページはA4コート紙カラーで印刷」という印刷設定に変換している。
また、JDFファイル1725では、「PDFVT¥Customer¥Letter¥Brochure直下のページはA4上質紙モノクロで印刷」という印刷設定が行なわれている。このため、前述のように、ページ1714とページ1716がA4上質紙モノクロで印刷される。図20の例では、ページ1714とページ1716にそれぞれ対応するページ番号2―4、6−8を使用し、「2−4ページと6−8ページはA4上質紙モノクロで印刷」という印刷設定に変換している。
また、JDFファイル1725では、「PDFVT¥Customer単位で封入封緘」という印刷設定が行なわれている。このため、前述のように、ページ1713、1714と、ページ1715、1716が別々に封入封緘される。図20の例では、それぞれ対応するページ番号を使用し、「1−4ページと5−8ページを封入封緘」という印刷設定に変換している。
また、JDFファイル1725では、「封入封緘の際の封筒は、PDFVT¥CustomerのメタデータGenderがMaleなら青い封筒、Femaleならピンクの封筒を使用」という印刷設定が行なわれている。このため、前述のように、ページ1713、1714には青い封筒、ページ1715、1716にはピンクの封筒が使用される。図20の例では、それぞれ対応するページ番号を使用し、「1−4ページには青い封筒、5−8ページにはピンクの封筒を使用する」という印刷設定に変換している。ステップ2004で、構成情報作成プログラム211は処理を終了する。
以上述べたように、本発明によれば、既存のページ記述言語によるファイル、例えばPDFファイルを保持したまま、構成情報、例えばJDFファイルを使用してその階層構造やメタデータを利用した印刷設定を行うことができる。また、本発明によれば、バリアブル印刷に特有の繰り返しの含まれる階層構造を定義することができる。
また、本発明によれば、既存のPDFファイルと新たに作成したJDFファイルを使って、既存のPDFプリンタまたは新規のPDF対応プリンタのいずれにおいても上記の印刷設定を反映した印刷を行うことができる。また、本発明によれば、既存のPDFファイルと新たに作成したJDFファイルを使って、バリアブル印刷用のプリンタ、例えばPDF/VT対応プリンタでPDF/VTの利点を生かした印刷を行うことができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
101 印刷ジョブ作成コンピュータ(PC)
102 ファイルサーバ
103 印刷オペレータPC
104 PDF対応プリンタ
105 PDF/VT対応プリンタ

Claims (12)

  1. 繰り返し要素に対応した繰り返しルールを含み、かつ構成情報を作成するためのルールを作成するルール作成手段と、
    前記作成されたルールを第1のPDLデータに適用することによって、前記第1のPDLデータに対する構成情報を作成する構成情報作成手段と、
    前記構成情報作成手段によって作成された前記構成情報を保存する保存手段と、
    ユーザの指示に基づいて、印刷設定を行う印刷設定手段と、
    印刷を行うプリンタを指定するプリンタ指定手段と、
    前記構成情報と前記印刷設定と前記指定されたプリンタの能力とに基づいて、前記第1のPDLデータを第2のPDLデータに変換する変換手段と、
    前記変換手段で変換された前記第2のPDLデータに従って印刷の制御を行う印刷制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記構成情報は階層構造を有し、前記変換手段は前記階層構造を用いて前記印刷設定を変換することを特徴とする請求項1記載の情報処理装置。
  3. 前記ルールは前記階層構造に対応した開始条件と終了条件を有することを特徴とする請求項2に記載の情報処理装置。
  4. 前記開始条件には、ページサイズ変化、オブジェクト指定の少なくともいずれか一つが含まれることを特徴とする請求項3に記載の情報処理装置。
  5. 前記終了条件には、ページ数指定、オブジェクト指定の少なくともいずれか一つが含まれることを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記構成情報に対してメタデータを設定するメタデータ設定手段を更に有し、
    前記保存手段は、前記メタデータが設定された前記構成情報を保存し、
    前記印刷設定手段は前記メタデータを用いて印刷設定を行ない、
    前記変換手段は前記メタデータを用いて前記印刷設定を変換することを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
  7. 前記ルール作成手段は前記ルールにレコードレベルを設定することを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
  8. 前記構成情報を編集する構成情報編集手段を更に有することを特徴とする請求項1〜7のいずれか1項に記載の情報処理装置。
  9. 前記第1のPDLデータは、PDFまたはPDF/Xのデータであることを特徴とする請求項1〜8のいずれか1項に記載の情報処理装置。
  10. 前記第2のPDLデータ、PDF/VTのデータであることを特徴とする請求項1〜のいずれか1項に記載の情報処理装置。
  11. 前記印刷設定はJDFを用いて行うことを特徴とする請求項1〜10のいずれか1項に記載の情報処理装置。
  12. ルール作成手段が、繰り返し要素に対応した繰り返しルールを含み、かつ構成情報を作成するためのルールを作成するルール作成工程と、
    構成情報作成手段が、前記作成されたルールを第1のPDLデータに適用することによって、前記第1のPDLデータに対する構成情報を作成する構成情報作成工程と、
    保存手段が、前記構成情報作成工程で作成された前記構成情報を保存する保存工程と、
    印刷設定手段が、ユーザの指示に基づいて、印刷設定を行う印刷設定工程と、
    プリンタ指定手段が、印刷を行うプリンタを指定するプリンタ指定工程と、
    変換手段が、前記構成情報と前記印刷設定と前記指定されたプリンタの能力とに基づいて、前記第1のPDLデータを第2のPDLデータに変換する変換工程と、
    印刷制御手段が、前記変換工程で変換された前記第2のPDLデータに従って印刷の制御を行う印刷制御工程と、を有することを特徴とする情報処理方法。
JP2011123138A 2011-06-01 2011-06-01 情報処理装置および情報処理方法 Expired - Fee Related JP5812695B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011123138A JP5812695B2 (ja) 2011-06-01 2011-06-01 情報処理装置および情報処理方法
US13/479,370 US8988692B2 (en) 2011-06-01 2012-05-24 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011123138A JP5812695B2 (ja) 2011-06-01 2011-06-01 情報処理装置および情報処理方法

Publications (3)

Publication Number Publication Date
JP2012252434A JP2012252434A (ja) 2012-12-20
JP2012252434A5 JP2012252434A5 (ja) 2014-07-17
JP5812695B2 true JP5812695B2 (ja) 2015-11-17

Family

ID=47261486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011123138A Expired - Fee Related JP5812695B2 (ja) 2011-06-01 2011-06-01 情報処理装置および情報処理方法

Country Status (2)

Country Link
US (1) US8988692B2 (ja)
JP (1) JP5812695B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6163853B2 (ja) * 2013-04-30 2017-07-19 株式会社リコー プログラム及びデータ変換方法
US10152284B2 (en) 2016-10-26 2018-12-11 Ricoh Company, Ltd. Synchronizing metadata with alterations to a portable document format print job
JP7229680B2 (ja) * 2018-06-29 2023-02-28 キヤノン株式会社 情報処理装置、制御方法及びプログラム
JP7658202B2 (ja) * 2021-07-20 2025-04-08 ブラザー工業株式会社 印刷装置、印刷システムおよびプログラム
JP7814867B2 (ja) * 2021-08-31 2026-02-17 キヤノン株式会社 アプリケーションプログラム、記憶媒体、情報処理装置の制御方法、および情報処理装置
US20240036777A1 (en) * 2022-07-26 2024-02-01 Kyocera Document Solutions Inc. Printing system and methods for conflict checking in printing operations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187334A (ja) * 1992-12-21 1994-07-08 Fuji Xerox Co Ltd ページ記述言語変換装置
JP3940491B2 (ja) 1998-02-27 2007-07-04 株式会社東芝 文書処理装置および文書処理方法
JP2003162520A (ja) * 2001-09-14 2003-06-06 Canon Inc 情報処理装置及び方法
JP5053550B2 (ja) 2005-02-01 2012-10-17 キヤノン株式会社 文書処理装置及び方法と文書処理システム
US7872765B2 (en) * 2006-02-23 2011-01-18 Ricoh Company, Ltd. Non-postscript printer description file generating tool
EP2075685B1 (en) * 2007-12-28 2017-02-22 Canon Europa N.V. A print-job distribution program, a printer program and corresponding methods
US8233180B2 (en) * 2009-02-05 2012-07-31 Xerox Corporation Methods for automatically determining workflow for print jobs

Also Published As

Publication number Publication date
US20120307295A1 (en) 2012-12-06
US8988692B2 (en) 2015-03-24
JP2012252434A (ja) 2012-12-20

Similar Documents

Publication Publication Date Title
US7603618B2 (en) Document processing apparatus, control method therefor, and computer program
US8537408B2 (en) Information processing apparatus, information processing method, program, and storage medium
JP5540558B2 (ja) プリンタ定義ファイルを用いてjdfを生成するための方法、システムおよびプログラム
US7688459B2 (en) Document processing method
US7992145B2 (en) Multilevel ticket-based job management architecture for computing devices
US7161693B2 (en) Printing control apparatus and printing control method
US7810040B2 (en) Document processing apparatus, control method therefor, computer program, and computer-readable storage medium
US7394562B2 (en) Information processing apparatus and method
JP4059488B2 (ja) 文書処理方法および装置
US20060092467A1 (en) Print job workflow system
JP5812695B2 (ja) 情報処理装置および情報処理方法
CN101739224A (zh) 略图创建方法以及图像形成装置
US20090241024A1 (en) Information processing apparatus, information processing method, and printing system
US8274670B2 (en) Information processing apparatus print control method, and storage medium
CN101815146B (zh) 图像处理装置,信息处理装置,以及用户界面提供方法
US20100131566A1 (en) Information processing method, information processing apparatus, and storage medium
JP2006107142A (ja) 文書処理装置及び方法
CN100389417C (zh) 文档处理方法及装置
US8213037B2 (en) Multifunctional peripheral print container modification
JP5804758B2 (ja) 情報処理装置、情報処理装置の制御方法およびコンピュータプログラム
CN101667108B (zh) 打印控制方法、打印控制终端设备和成像装置
US8335984B2 (en) Information processing for generating print data for variable-data printing
JP3829798B2 (ja) 画像形成装置およびプログラム
US9430446B2 (en) Information processing apparatus, method and storage medium including a function for establishing exceptions applied to print settings when specified conditions are met
JP2013161459A (ja) 文書処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150915

R151 Written notification of patent or utility model registration

Ref document number: 5812695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees