説明

情報処理装置、印刷システム、制御方法、及びプログラム

【課題】PPMLスクリプトを用いた印刷処理に於いて、印刷処理の効率化を図る。
【解決手段】クライアント端末600において生成するPPMLファイル801に含まれるPPMLスクリプト803を解析し、INTERNAL_DATAタグ802が存在した場合は、外部ファイルを参照する形式に変換するため、INTERNAL_DATAタグ802からEXTERNAL_DATAタグ805へ変換し、PPMLスクリプト808及び外部ファイル807を含むPPMLファイル804を生成し、印刷装置に対して、生成したPPMLファイル804を用いて印刷指示を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PPML(Personalized Print Markup Language)で記述されたスクリプトを用いた印刷処理に於いて、特に印刷処理の処理効率に関するものである。
【背景技術】
【0002】
PPMLは、XML(eXtensible Markup Language)の一種であり、PODiという組織が主導で仕様を決定され出版されているオープンな規格である。
【0003】
PPMLは、ページ上にオブジェクトを配置するための領域を定義したうえで、当該領域にPostscript(登録商標、以下PS)や、Portable
Document Format(以下PDF)、JPEG等で与えられたオブジェクトを描画して、ページ上の所定の位置に配置するといった指示を、非常に簡単に記述できる。
【0004】
このPPMLで記述されたスクリプト(PPMLスクリプト)には、前述した画像の要素を指定する方法として2種類のタグが存在する。一つは、画像の要素を直接PPMLスクリプト内に記述する(内部参照形式)INTERNAL_DATAタグであり、もう一つはファイル名称を記述して画像の要素を参照するEXTERNAL_DATAタグ(外部参照形式)である。
【0005】
図2及び図3は、PPMLスクリプトにおける画像の要素を指定する2つのタグの一例を示す参考図である。
【0006】
EXTERNAL_DATA要素は、src属性を有し、属性値としてリソースファイルのファイル名称を指定する事ができる。図2の201では、別途用意されたPDFファイルを相対パスで参照している。
【0007】
一方のINTERNAL_DATA要素は、開始タグから終了タグの間に、バイナリまたはテキストのデータを直接記述する。また、INTERNAL_DATA要素は、Encording属性を有し、画像の要素をエンコードして記述する事ができる。図3の301では、BASE64でエンコードされたPDFファイルをPPMLスクリプト内で記述している。
【0008】
バリアブル印刷データを生成するVDPアプリケーションでは、現状の仕様として画像要素を使用したPPMLスクリプトを生成する場合、常にINTERNAL_DATAを用いて生成されるものも存在している。
【0009】
このPPMLスクリプトは、印刷装置内部のPPML
Interpreter(以下PPMLi)にて解釈される。PPMLiでは、受信したPPMLスクリプトの先頭から順に解析処理を行う。
【0010】
図4及び図5は、情報処理装置であるクライアント端末600と印刷装置であるMFP700とがネットワークを介して接続された印刷システムが示されており、この印刷システムにおいて実行されるINTERNAL_DATAタグとEXTERNAL_DATAタグ、それぞれの処理フローを示しており、その違いを示すシステム構成図である。
【0011】
以下、図4におけるEXTERNAL_DATAタグが指定された場合の処理順序について説明する。
【0012】
まず、クライアント端末600で生成されたPPMLスクリプトが記述された圧縮されたPPMLファイル104をMFP700が受信すると、MFP制御部103にてZIP形式であるPPMLファイル104が伸長される。
【0013】
ここで伸長されたPPMLファイル104内部に含まれるPPMLスクリプト402は、PPMLi102に渡される。また、PPMLスクリプト402以外に外部オブジェクト401が存在する場合は、MFP制御部にて当該オブジェクトが管理される。
【0014】
続いて、PPMLi102では、受け取ったPPMLスクリプト402を解析する。PPMLスクリプト402内でEXTERNAL_DATAタグが検出されると、MFP制御部103に対し、EXTERNAL_DATAタグが指定する外部オブジェクト401を他のPDL
Interpreter(PDLi)に解析させる処理依頼を行う。
【0015】
以下、図5におけるINTERNAL_DATAタグが指定された場合の処理順序について説明する。
【0016】
まず、図4と同様に、クライアント端末600から受信した圧縮されたPPMLファイル104は、MFP制御部103にて伸長され、PPMLスクリプト502がPPMLi102に渡される。
【0017】
続いてPPMLi102では、受け取ったPPMLスクリプト502を解析する。PPMLスクリプト502内でINTERNAL_DATAタグが検出されると、INTERNAL_DATAの開始タグから終了タグ内に記述された、バイナリまたはテキストのデータを解析し外部オブジェクト501を生成する。生成された外部オブジェクト501は、MFP制御部103に渡され、MFP制御部103にて管理される。
【0018】
外部オブジェクト501の生成後、PPMLi102は、MFP制御部103に対し、生成した外部オブジェクト501を他のPDLiに解析させる処理依頼を行う。
【0019】
このように、外部オブジェクト501は描画エンジンによって描画され、PPMLi102は、それら外部オブジェクト501の配置を制御する構造になっている。そのため、PPMLファイル104の印刷には、MFP700内部で処理効率の高いオブジェクトの指定、及びPPMLi102にて解析しやすいオブジェクトの指定方式を使用し、印刷処理を高速化出来ることが望ましい。
【0020】
前記の印刷処理の高速化のうち、処理効率の高いオブジェクトの指定に関しては、PSから処理効率の高いPDF/VT(Variable data and Transactional)への変換技術が存在する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0021】
【特許文献1】特開2011−84045号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
しかしながら、特許文献1は、バリアブル印刷データ内において、オブジェクトを処理効率の高い形式に変換し、印刷処理を高速化するような発明であるが、上記従来のPPMLiの解析処理では以下の様な課題が生じる。
【0023】
PPMLスクリプト内部に直接画像要素を記載するINTERNAL_DATAタグが用いられる場合、印刷装置内部においてPPMLスクリプトの解析処理に加えて、指定された画像要素の外部ファイル化処理が必要となる。
【0024】
そのため多数、または大容量のINTERNAL_DATAが使用されると、同じ画像要素を使用するEXTERNAL_DATAで記載されたPPMLスクリプトの処理に比べて印刷スループットが低下してしまう。
【0025】
また、従来のPPMLiの解析処理は、PPMLスクリプトを先頭から順に解析していくため、PPMLスクリプトに記載された順番にデータが送信されない場合、受信待ちによる解析処理の中断が発生する事になり、印刷スループットが低下してしまう。
【0026】
従って、本発明では、PPMLスクリプトを用いた印刷処理に於いて、印刷処理の効率化を図ることが可能な情報処理装置、印刷システム、制御方法、及びプログラムを提供する。
【課題を解決するための手段】
【0027】
上記課題を解決するための第一の発明は、PPML形式で印刷内容を記述したスクリプトを用いて印刷装置に対して印刷指示を行う情報処理装置であって、前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、を備えたことを特徴とする情報処理装置である。
【0028】
上記課題を解決するための第二の発明は、印刷出力を行う印刷装置と、PPML形式で印刷内容を記述したスクリプトを用いて前記印刷装置に対して印刷指示を行う情報処理装置と、がネットワークを介して接続された印刷システムであって、前記情報処理装置は、前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、前記変換手段によって変換したスクリプト及びリソースファイルを前記印刷装置へ送信する送信手段と、を備え、前記印刷装置は、前記送信手段によって送信されたスクリプト及びリソースファイルを受信する受信手段と、前記受信手段によって受信したスクリプト及びリソースファイルを用いて印刷出力する手段と、を備えたことを特徴とする印刷システムである。
【0029】
上記課題を解決するための第三の発明は、情報処理装置におけるPPML形式で印刷内容を記述したスクリプトを用いて印刷装置に対して印刷指示を行う印刷方法であって、前記情報処理装置の解析手段は、前記スクリプトに対してリソースファイルの参照形式を解析する解析ステップ、前記情報処理装置の変換手段は、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換ステップ、を実行することを特徴とする印刷方法である。
【0030】
上記課題を解決するための第四の発明は、PPML形式で印刷内容を記述したスクリプトを用いて印刷装置に対して印刷指示を行う情報処理装置で実行されるプログラムあって、前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、を機能させることを特徴とするプログラムである。
【0031】
上記課題を解決するための第五の発明は、印刷出力を行う印刷装置と、PPML形式で印刷内容を記述したスクリプトを用いて前記印刷装置に対して印刷指示を行う情報処理装置と、がネットワークを介して接続された印刷システムの制御方法であって、前記情報処理装置は、前記スクリプトに対してリソースファイルの参照形式を解析する解析ステップ、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換ステップ、前記変換ステップによって変換したスクリプト及びリソースファイルを前記印刷装置へ送信する送信ステップと、を実行し、前記印刷装置は、前記送信ステップによって送信されたスクリプト及びリソースファイルを受信する受信ステップと、前記受信ステップによって受信したスクリプト及びリソースファイルを用いて印刷出力するステップと、を実行することを特徴とする印刷システムの制御方法である。
【0032】
上記課題を解決するための第六の発明は、印刷出力を行う印刷装置と、PPML形式で印刷内容を記述したスクリプトを用いて前記印刷装置に対して印刷指示を行う情報処理装置と、がネットワークを介して接続された印刷システムにおいて実行されるプログラムであって、前記情報処理装置を、前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、前記変換手段によって変換したスクリプト及びリソースファイルを前記印刷装置へ送信する送信手段と、して機能させ、前記印刷装置を、前記送信手段によって送信されたスクリプト及びリソースファイルを受信する受信手段と、前記受信手段によって受信したスクリプト及びリソースファイルを用いて印刷出力する手段と、して機能させることを特徴とするプログラムである。
【発明の効果】
【0033】
本発明によれば、INTERNAL_DATAが含まれるPPMLスクリプトの印刷を行う場合に、印刷装置の解析処理に適したEXTERNAL_DATAに置き換える事で、印刷装置の印刷処理の効率化を図ることができる。
【図面の簡単な説明】
【0034】
【図1】本発明の実施形態に係る印刷システムのシステム構成を示す図である。
【図2】EXTERNAL_DATAタグを使用するPPMLスクリプトの構成例である。
【図3】INTERNAL_DATAタグを使用するPPMLスクリプトの構成例である
【図4】従来のEXTERNAL_DATAタグの解析処理を行うシステムの構成図である。
【図5】従来のINTERNAL_DATAタグの解析処理を行うシステムの構成図である。
【図6】本発明の実施形態に係るクライアントPCのハードウェアの構成を示す構成図である。
【図7】本発明の実施形態に係る印刷装置のハードウェアの構成を示す構成図である。
【図8】本発明の実施形態におけるINTERNAL_DATAタグからEXTERNAL_DATAタグへの書き換え方法の一例を説明するための説明図である。
【図9】本発明の実施形態におけるINTERNAL_DATAタグからEXTERNAL_DATAタグへの書き換えを行うに当たり、印刷装置への送信順の変換方法の一例を説明するための説明図である。
【図10】本発明の実施形態に係る印刷システムにおけるPPMLスクリプトの解析処理を説明するためのフローチャートである。
【図11】本発明の実施形態に係る印刷システムにおけるINTERNAL_DATAの解析処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0035】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0036】
図1は、本発明の実施形態に係る情報処理装置を含めた印刷システムの構成例を示すシステム構成図である。
【0037】
図1において、本発明の実施形態における印刷システム100は、情報処理装置としてのクライアント端末600と、印刷装置であるMFP700とを備え、これらはネットワークを介して互い接続されている。
【0038】
クライアント端末600には、バリアブル印刷データを生成するVDPアプリケーション101がインストールされている。このVDPアプリケーションにおいて、出力形式をPPMLに指定する事で、PPMLファイルを生成することができる。
【0039】
また、クライアント端末600には、プリンタドライバ105がインストールされ、クライアント端末600からの出力指示に基づいてプリンタドライバ105にて印刷データを生成し、MFP700に生成した印刷データを送信する。
【0040】
MFP700には、印刷全般を制御するMFP制御部103、PDLデータを解析するInterpreter部、解析されたデータを描画する描画モジュールを有する。
【0041】
MFP制御部103は、印刷全般の制御部であり、印刷設定の反映や各PPMLi102とのやり取り、印刷データの管理を行う。PPMLにおいては、本MFP制御部103にてZIPファイルを展開し、内部に含まれるPPMLスクリプトをPPMLi102に送信する。
【0042】
PPMLi102は、VDPアプリケーション101により生成されたPPMLスクリプトの解析、及び画素情報への展開を制御する。PPMLスクリプトの解析結果に、他のPDLデータの描画処理が含まれる場合、制御部を通じて他のPDLiに解析を依頼する。
【0043】
以下、図1におけるPPMLファイルの印刷処理順序について説明する。
【0044】
まず、クライアント端末600にインストールされたVDPアプリケーション101によりPPMLファイル104が生成される。生成されたPPMLファイル104は、クライアント端末600にインストールされたプリンタドライバ105を介して、MFP700に送信される。この際、プリンタドライバ105により、印刷属性が付加されるが本発明の主要部ではないため説明は省略する。
【0045】
続いて、MFP700内部のMFP制御部103及びPPMLi102にて、前述したPPMLファイル104の解析処理(図4または図5)が行われる。図1ではEXTERNAL_DATAを例としており、図4で説明した処理手順で解析処理が行われる。
【0046】
PPMLファイル104の解析後、PPMLi及び他のPDLiから描画モジュールに対し、解析された描画情報のレンダリング処理依頼が行われる。描画モジュールにてレンダリングが終了した描画情報は画像出力される。
【0047】
以下、図6を用いて、図1に示したクライアント端末のハードウェア構成について説明する。
【0048】
図6において、601はCPUで、システムバス604に接続される各デバイスやコントローラを統括的に制御する。また、ROM602あるいは外部メモリ611には、CPU601の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0049】
603はRAMで、CPU601の主メモリ、ワークエリア等として機能する。CPU601は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ611からRAM603にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0050】
また、605は入力コントローラで、キーボード(KB)609や不図示のマウス等のポインティングデバイス等からの入力を制御する。606はビデオコントローラで、CRTディスプレイ(CRT)610等の表示器への表示を制御する。
【0051】
なお、図6では、CRT610と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0052】
607はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ611へのアクセスを制御する。
【0053】
608は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0054】
なお、CPU601は、例えばRAM603内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT610上での表示を可能としている。また、CPU601は、CRT610上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0055】
本発明を実現するための後述する各種プログラムは、外部メモリ611に記録されており、必要に応じてRAM603にロードされることによりCPU601によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ611に格納されており、これらについての詳細な説明も後述する。
【0056】
次に、図7を用いて、図1に示したMFP700を制御するコントローラユニットのハードウェア構成について説明する。
【0057】
図7において、716はコントローラユニットで、画像入力デバイスとして機能するスキャナ部714や、画像出力デバイスとして機能するプリンタ部712と接続する一方、LANや公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。
【0058】
コントローラユニット716において、701はCPUで、システム全体を制御するプロセッサである。702はRAMで、CPU701が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
【0059】
703はROMで、システムのブートプログラムや各種制御プログラムが格納されている。704はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム,画像データ等を格納する。
【0060】
707は操作部インタフェース(操作部I/F)で、操作部(キーボード)708とのインタフェース部である。また、操作部I/F707は、操作部708から入力したキー情報(例えば、スタートボタンの押下)をCPU701に伝える役割をする。
【0061】
705はネットワークインタフェース(Network
I/F)で、ネットワーク(LAN)に接続し、データの入出力を行う。706はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
【0062】
718は外部インタフェース(外部I/F)で、USB、IEEE1394,プリンタポート、RS−232C等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となる携帯端末のICカード(記憶媒体)の読み取り用のカードリーダ719が外部I/F部718に接続されている。そして、CPU701は、この外部I/F部718を介してカードリーダ719による携帯端末のICカードからの情報読み取りを制御し、該携帯端末のICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス709上に配置される。
【0063】
720はイメージバスインタフェース(IMAGE
BUS I/F)であり、システムバス709と画像データを高速で転送する画像バス715とを接続し、データ構造を変換するバスブリッジである。
【0064】
画像バス715は、PCIバスまたはIEEE1394で構成される。画像バス715上には以下のデバイスが配置される。
【0065】
710はラスタイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。711はプリンタインタフェース(プリンタI/F)で、プリンタ部712とコントローラユニット716を接続し、画像データの同期系/非同期系の変換を行う。また、713はスキャナインタフェース(スキャナI/F)で、スキャナ部714とコントローラユニット716を接続し、画像データの同期系/非同期系の変換を行う。
【0066】
717は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部717は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
【0067】
スキャナ部714は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部708から読み取り起動指示することにより、CPU701がスキャナ部714に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
【0068】
プリンタ部712は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU701からの指示によって開始する。なお、プリンタ部712には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
【0069】
操作部708は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F707を介してCPU701に伝える。また、操作部708は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
【0070】
尚、表示部はプリンタによって表示性能がことなり、タッチパネルを介して操作をできるプリンタ、単に液晶画面を備え文字列を表示(印刷状態や印刷している文書名の表示)させるだけのプリンタによって本発明は構成されている。
【0071】
ここで、操作部708のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部708のストップキーは、稼働中の動作を止める働きをする。また、操作部708のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【0072】
カードリーダ719は、CPU701からの制御により、携帯端末内に備えられたICカードに記憶されている情報を読み取り、該読み取った情報を外部I/F部718を介してCPU701へ通知する。
【0073】
以上のような構成によって、MFP700は、スキャナ部714から読み込んだ画像データをLAN上に送信したり、LANから受信した印刷データをプリンタ部712により印刷出力することができる。
【0074】
また、スキャナ部714から読み込んだ画像データをモデム706により、公衆回線上にFAX送信したり、公衆回線からFAX受信した画像データをプリンタ部712により出力することできる。
【0075】
以下、図10及び図11のフローチャートを参照して、図8に示したPPMLタグの書き換え処理を説明する。
【0076】
まず、ステップS1001において、プリンタドライバ105は、VDPアプリケーション101で生成されたPPMLファイル104を受け取る。
【0077】
ステップS1002では、プリンタドライバ105は、受け取ったZIP形式のPPMLファイル801を伸張し、ステップS1003では、ステップS1002で伸張したPPMLファイル801に含まれるPPMLスクリプト803を抽出する。また、PPMLファイル801に外部ファイルが含まれる場合、それらをRAM203等の記憶領域に格納する。
【0078】
ステップS1003の後、ステップS1004において図2及び図3で示すようなPPMLスクリプト803が解析される。ステップS1004でのPPMLスクリプトの解析処理は、PPMLスクリプト803の先頭から順に行われ、以降の処理は、PPMLスクリプト803の末尾に達するまで繰り返し処理が行われる。
【0079】
ステップS1005において、S1004で逐次解析される中で図3に示す様なINTERNAL_DATAタグ802がPPMLスクリプト803内に存在するか否かを判定する。
【0080】
INTERNAL_DATAタグ802がPPMLスクリプト内に存在する場合は、ステップS1006へ処理を進め、INTERNAL_DATAタグ802の解析処理を実行する。
【0081】
一方、ステップS1005において、PPMLスクリプト803を解析した中にINTERNAL_DATAタグ802が存在しないと判定した場合、解析内容をそのまま、新たに生成するPPMLスクリプト808に出力する。
【0082】
ステップS1006において、ステップS1004で抽出されたINTERNAL_DATAタグの解析、及びEXTERNAL_DATAタグへの変換を行う。当該処理の詳細については、図11のフローチャートにて記載する。
【0083】
尚、図8では、INTERNAL_DATAタグを含むPPMLスクリプトを解析し,EXTERNAL_DATAタグへ変換したことが示されており、PPMLファイル801に含まれるPPMLスクリプト803には、INTERNAL_DATAタグとして、802に示すような記述がなされている。
【0084】
そして、802に記述された内容を基に、外部ファイル807を生成するとともに、PPMLスクリプト808から外部ファイル807を参照可能なように、PPMLスクリプト803に記述された802のINTERNAL_DATAタグに対してPPMLスクリプト808に記述された805のEXTERNAL_DATAタグ(外部ファイル807の保管先へのパスの情報等)へ変換を行い、PPMLスクリプト808及び外部ファイル807を含むPPMLファイル804を、例えばZIP形式で圧縮する。
【0085】
ステップS1007において、S1004にて解析されステップS1005〜S1006までに生成されたPPMLスクリプト808、及び外部ファイル807を、新たにPPMLファイル804として圧縮する。
【0086】
次に、図9を用いてステップS1007におけるPPMLファイル804のZIP形式での圧縮処理の詳細を説明する。
【0087】
圧縮処理に際しては、MFP700内部のPPMLI102において受信待ち及び解析待ちの発生を抑えるため、PPMLスクリプト808及び外部ファイル807の順序を適切に配置して圧縮する。
【0088】
尚、PPMLスクリプト900からPPMLスクリプト903を生成し、その際には、INTERNAL_DATAタグ802をEXTERNAL_DATAタグ805に変換している。
【0089】
また、PPMLスクリプト900については、INTERNAL_DATAタグ802以外にも、EXTERNAL_DATAタグ901を含んでおり、EXTERNAL_DATAタグ901から外部ファイル902が特定される。
【0090】
圧縮する順序は、PPMLスクリプト808の先頭から、PPMLI102にて解析される順番に、外部ファイル807を並べ替える。尚、PPMLI102での解析は、PPMLスクリプト808の先頭から順に行われる。
【0091】
プリンタドライバ105で解析、生成されたPPMLスクリプト808が、図9に示す範囲のPPMLスクリプト903である場合、PPMLI102で解析される順序は、まずEXTERNAL_DATAタグ805、続いてEXTERNAL_DATAタグ901となる。
【0092】
この解析される順番に合わせるために、既存の外部ファイル902より前に、新規に生成したEXTERNAL_DATAタグ805に対応する外部ファイル809を配置して圧縮する。
【0093】
圧縮する形態は、ZIP形式であり、前述の通りZIP圧縮されたデータにはLocal
File Headerと呼ばれるヘッダ部と、ファイルデータと呼ばれるデータ部分が繰り返される事で構成されている。
【0094】
ステップS1007で生成するPPMLファイル804にLocal
File Headerを付与し、既にプリンタに送信済みのPPMLファイルと連結が可能な形式で生成し、プリンタ内部で一つのPPMLファイルと認識させる。上記以外の圧縮手順については省略する。
【0095】
ステップS1008において、S1007にて生成されたPPMLファイル804をMFP700に送信する。MFP700では、前述したように、受信したPPMLファイル804を伸張し、PPMファイルに含まれるPPMLスクリプト808及び外部ファイル807を用いて印刷出力を行う。
【0096】
ステップS1010において、プリンタドライバに投入されたPPMLスクリプトの解析が末尾に達したかを判定する。PPMLスクリプトの解析が末尾に達していない場合、ステップS1004〜S1010を繰り返し処理する。
【0097】
一方、PPMLスクリプトの解析が終了した場合、クライアント端末600で行う処理は終了する。
【0098】
以下では、図11におけるINTERNAL_DATAタグの解析処理について説明する。
【0099】
ステップS1101では、INTERNAL_DATAタグ内に記載されたデータを取得し、ステップS1102では、ステップS1101で取得したデータにおいて、INTERNAL_DATAタグ802の子要素であるEncodingタグを解析し、PPMLスクリプト803内部に記載されたデータのエンコード種類を判定する。
【0100】
Encordingタグが存在し、属性が有効である場合、ステップS1103へ処理を進め、データのデコード処理を実行する。Encordingタグ例として、以下のPPMLスクリプトの断片を用いる。
<INTERNAL_DATA
Encording="Base64">
【0101】
上記のPPMLスクリプト803の断片を構文解析すると、”INTERNAL_DATAタグ”は属性”Encording”を有する。次いで、Encording属性は属性値として”Base64”を持つ。当該ステップにおいては、子要素Encordingタグを有し、属性値に解析可能な種類が指定される場合にエンコードが有効であると判断する。
【0102】
一方、Encording属性が存在しない、または指定された属性値が無効である場合、デコード処理(ステップS1103)は処理されず、次のステップS1104に処理を進める。
【0103】
ステップS1103において、ステップS1102で解析されたEncording属性に応じて、INTERNAL_DATA要素内に記載されたデータをデコードする。
【0104】
ステップS1104において、ステップS1103でデコードされたデータもしくは、INTERNAL_DATAタグ802内にエンコード無しで直接記載されたデータを、外部ファイル化する。
【0105】
生成する外部ファイルのフォーマットは、INTERNAL_DATAタグ802の親要素であるSOURCEタグが有するFormat属性により決定する。また、ファイル名は他の外部ファイルと重複しない一意な名前とする。
【0106】
ステップS1105において、本フローにより解析処理が完了したINTERNAL_DATAタグ802の開始タグから終了タグまでを、生成した外部ファイルを参照するEXTERNAL_DATAタグ805に書き換える。
【0107】
EXTERNAL_DATAタグ805に属性srcを追加し、属性値としてS1104にて生成したファイル名を指定する。変換されたEXTERNAL_DATAタグの内容は新規に作成されるPPMLスクリプト808に出力する。
【0108】
本発明の実施形態に依れば、INTERNAL_DATAが含まれるPPMLスクリプトの印刷を行う場合に、印刷装置の解析処理に適したEXTERNAL_DATAに置き換える事で、印刷装置の印刷処理の効率化を図ることが可能となる。
【0109】
また、実施形態例を詳述したが、本発明は、例えば、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0110】
また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能(読み取り可能)なプログラムであり、本発明の記憶媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。
【0111】
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
【0112】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
【0113】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0114】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0115】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータで稼働しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0116】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0117】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。
【0118】
この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0119】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム、あるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0120】
100 印刷システム
600 クライアント端末
601 CPU
602 ROM
603 RAM
604 システムバス
605 入力コントローラ
606 ビデオコントローラ
607 メモリコントローラ
608 通信I/Fコントローラ
609 キーボード
610 CRT
611 外部メモリ
700 印刷装置
701 CPU
702 RAM
703 ROM
704 ハードディスクドライブ
705 ネットワークインタフェース
706 モデム
707 操作部インタフェース
708 操作部
709 システムバス
710 ラスタイメージプロセッサ
711 プリンタインタフェース
712 プリンタ部
713 スキャナインタフェース
714 スキャナ部
715 画像バス
716 コントローラユニット
717 画像処理部
718 外部インタフェース
719 カードリーダ
720 イメージバスインタフェース

【特許請求の範囲】
【請求項1】
PPML形式で印刷内容を記述したスクリプトを用いて印刷装置に対して印刷指示を行う情報処理装置であって、
前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、
前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記変換手段は、前記スクリプトの解析順序に応じて、前記リソースファイルの印刷装置への送信順を決定する決定手段を備えたことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
印刷出力を行う印刷装置と、PPML形式で印刷内容を記述したスクリプトを用いて前記印刷装置に対して印刷指示を行う情報処理装置と、がネットワークを介して接続された印刷システムであって、
前記情報処理装置は、
前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、
前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、
前記変換手段によって変換したスクリプト及びリソースファイルを前記印刷装置へ送信する送信手段と、
を備え、
前記印刷装置は、
前記送信手段によって送信されたスクリプト及びリソースファイルを受信する受信手段と、
前記受信手段によって受信したスクリプト及びリソースファイルを用いて印刷出力する手段と、
を備えたことを特徴とする印刷システム。
【請求項4】
情報処理装置におけるPPML形式で印刷内容を記述したスクリプトを用いて印刷装置に対して印刷指示を行う印刷方法であって、
前記情報処理装置の解析手段は、前記スクリプトに対してリソースファイルの参照形式を解析する解析ステップ、
前記情報処理装置の変換手段は、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換ステップ、
を実行することを特徴とする印刷方法。
【請求項5】
PPML形式で印刷内容を記述したスクリプトを用いて印刷装置に対して印刷指示を行う情報処理装置で実行されるプログラムあって、
前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、
前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、
を機能させることを特徴とするプログラム。
【請求項6】
印刷出力を行う印刷装置と、PPML形式で印刷内容を記述したスクリプトを用いて前記印刷装置に対して印刷指示を行う情報処理装置と、がネットワークを介して接続された印刷システムの制御方法であって、
前記情報処理装置は、
前記スクリプトに対してリソースファイルの参照形式を解析する解析ステップ、
前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析ステップによって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換ステップ、
前記変換ステップによって変換したスクリプト及びリソースファイルを前記印刷装置へ送信する送信ステップと、
を実行し、
前記印刷装置は、
前記送信ステップによって送信されたスクリプト及びリソースファイルを受信する受信ステップと、
前記受信ステップによって受信したスクリプト及びリソースファイルを用いて印刷出力するステップと、
を実行することを特徴とする印刷システムの制御方法。
【請求項7】
印刷出力を行う印刷装置と、PPML形式で印刷内容を記述したスクリプトを用いて前記印刷装置に対して印刷指示を行う情報処理装置と、がネットワークを介して接続された印刷システムにおいて実行されるプログラムであって、
前記情報処理装置を、
前記スクリプトに対してリソースファイルの参照形式を解析する解析手段と、
前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が内部参照形式である場合、前記リソースファイルを示す情報を用いて前記リソースファイルを生成し、当該生成したリソースファイルを外部参照形式へ変換し、一方、前記解析手段によって前記スクリプトに記述されたリソースファイルの参照形式が外部参照形式である場合、外部参照形式のまま前記スクリプトを変換する変換手段と、
前記変換手段によって変換したスクリプト及びリソースファイルを前記印刷装置へ送信する送信手段と、
して機能させ、
前記印刷装置を、
前記送信手段によって送信されたスクリプト及びリソースファイルを受信する受信手段と、
前記受信手段によって受信したスクリプト及びリソースファイルを用いて印刷出力する手段と、
して機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−97727(P2013−97727A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−242594(P2011−242594)
【出願日】平成23年11月4日(2011.11.4)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】