(57)【要約】【課題】プリンター本体に保存するプログラムを軽減できる技術を提供する。【解決手段】ページ記述言語で記述された印刷データを印刷装置１００により印刷する印刷システム１であって、ページ記述言語を解釈するインタープリターを記憶しているストレージ（サーバー２００）を備え、前記印刷装置は、印刷データの印刷に先立って、ページ記述言語で記述された印刷データの解釈に必要なインタープリターを、ストレージから取得し、取得したインタープリターを用いて、印刷データを解釈し、言語解釈した印刷データに基づいて印刷を行う。【選択図】図１
2010176218.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述された印刷データを印刷装置により印刷する印刷システムであって、
前記ページ記述言語を解釈するインタープリターを記憶しているストレージを備えると共に、
前記印刷装置は、
前記印刷データの印刷に先立って、前記ページ記述言語で記述された前記印刷データの解釈に必要なインタープリターを、前記ストレージから取得するインタープリター取得部と、
前記インタープリター取得部が取得した前記インタープリターを用いて、前記印刷データを解釈する言語解釈部と、
前記言語解釈部で解釈した前記印刷データに基づいて印刷を行う印刷制御部と
を備え、前記ストレージが前記印刷装置からアクセス可能に接続されている
印刷システム。
【請求項２】
前記インタープリター取得部は、前記ページ記述言語で記述された前記印刷データを解析し、前記ページ記述言語の解釈に必要なインタープリターを判定する請求項１記載の印刷システム。
【請求項３】
前記ストレージはさらに、印刷データのページ記述言語の解釈に用いられるインタープリターを複数記憶している請求項１または２記載の印刷システム。
【請求項４】
請求項３記載の印刷システムであって、
前記ストレージは、前記印刷装置とデータのやり取りが可能に接続されたコンピューターに備えられ、
前記コンピューターは、前記インタープリター取得部が要求するインタープリターを、前記ストレージに記憶している前記複数のインタープリターから選択し、前記印刷装置に送信するインタープリター送信制御部を備える
印刷システム。
【請求項５】
ページ記述言語で記述された印刷データを印刷する印刷装置であって、
前記印刷データの印刷に先立って、前記ページ記述言語で記述された前記印刷データの解釈に必要なインタープリターを、外部から取得可能なインタープリター取得部を備えた
印刷装置。
【請求項６】
ページ記述言語で記述された印刷データを印刷する印刷方法であって、
前記印刷データの印刷に先立って、前記印刷データを解析することによって、ページ記述言語で記述された前記印刷データの解釈に必要なインタープリターを判定し、
該判定したインタープリターをアクセス可能に接続されたストレージから取得し、
前記取得したインタープリターを用いて、前記ページ記述言語で記述された前記印刷データを解釈し、
前記解釈した前記印刷データに基づいて印刷を行う
印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語で記述された印刷データの印刷処理に関するものである。
【背景技術】
【０００２】
近年、プリンターは多機能化の傾向にある。プリンターの多機能化に伴って、これら機能を実現するためのプログラム、例えばページ記述言語で記述された印刷データを解釈するためのインタープリターを複数記憶するなど、プリンターに備えられたＲＯＭの容量も増加している。これらプログラムの一部は、圧縮形式でプリンター本体のＲＯＭに保存されている。プログラム容量の増加に伴い、ＲＯＭの容量が不足の傾向にある。従ってプリンター本体に保存するプログラムの軽減が求められている。プリンターと接続された外部機器に、それらのプログラムの保存、及び実行処理を行わせる技術としては、例えば特許文献１、及び特許文献２に開示されたものが知られている。
【０００３】
【特許文献１】特開平７−３３４３１８号公報
【特許文献２】特開２０００−２２２１４５号公報
【０００４】
上記従来技術は、外部機器とプリンターの両方に、印刷データの処理に必要なプログラムと機能部を備え、印刷処理の実行時に、外部機器とプリンターのどちらで印刷データの処理を実行するのが効率的かを判断し、より効率的である方で処理を実行させる技術である。従って、プリンター本体の、プログラムを記憶するメモリの容量を軽減することはできなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上述した従来の課題を解決するためになされたものであり、プリンター本体にプログラムを保存する記憶装置の容量を軽減する技術の提供を目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するために、以下の形態または適用例を取ることが可能である。
【０００７】
[適用例１]
ページ記述言語で記述された印刷データを印刷装置により印刷する印刷システムであって、前記ページ記述言語を解釈するインタープリターを記憶しているストレージを備えると共に、前記印刷装置は、前記印刷データの印刷に先立って、前記ページ記述言語で記述された前記印刷データの解釈に必要なインタープリターを、前記ストレージから取得するインタープリター取得部と、前記インタープリター取得部が取得した前記インタープリターを用いて、前記印刷データを解釈する言語解釈部と、前記言語解釈部で解釈した前記印刷データに基づいて印刷を行う印刷制御部とを備え、前記ストレージが前記印刷装置からアクセス可能に接続されている印刷システム。
【０００８】
この印刷システムによれば、印刷装置は、印刷に先立って、ページ記述言語を解釈するインタープリターを、ストレージから取得するので、印刷装置内に常時、インタープリターを記憶しておく必要がない。なお、デフォルトで１又は少数のインタープリターを記憶しているとしてもよい。
【０００９】
[適用例２]
前記インタープリター取得部は、前記ページ記述言語で記述された前記印刷データを解析し、前記ページ記述言語の解釈に必要なインタープリターを判定する適用例１記載の印刷システム。
【００１０】
この印刷システムによれば、印刷装置は、印刷に先立って、印刷データのページ記述言語の解釈に必要なインタープリターを判定するので、ユーザーがこのインタープリターの情報を、印刷装置に入力する必要がない。
【００１１】
[適用例３]
前記ストレージはさらに、印刷データのページ記述言語の解釈に用いられるインタープリターを複数記憶している適用例１または２記載の印刷システム。
【００１２】
この印刷システムによれば、ストレージは、印刷データのページ記述言語の解釈に用いられる複数のインタープリターを記憶しており、印刷装置はそれらインタープリターを取得することができるので、印刷装置は、様々なページ記述言語の印刷データに対応して、印刷処理が可能である。また、ストレージには、異なる種類のインタープリターを複数記憶しているとしてもよいし、同じ種類のインタープリターでバージョンの異なるものを複数記憶しているものとしてもよい。さらに、異なる種類のインタープリター毎に各々異なるストレージに記憶するとしてもよい。
【００１３】
[適用例４]
適用例３記載の印刷システムであって、前記ストレージは、前記印刷装置とデータのやり取りが可能に接続されたコンピューターに備えられ、前記コンピューターは、前記インタープリター取得部が要求するインタープリターを、前記ストレージに記憶している前記複数のインタープリターから選択し、前記印刷装置に送信するインタープリター送信制御部を備える印刷システム。
【００１４】
この印刷システムによれば、印刷装置が要求するインタープリターをコンピューターが選択し、印刷装置に送信するので、ユーザーがコンピューターに対して、インタープリターの送信操作を行う必要がない。
【００１５】
[適用例５]
ページ記述言語で記述された印刷データを印刷する印刷装置であって、前記印刷データの印刷に先立って、前記ページ記述言語で記述された前記印刷データの解釈に必要なインタープリターを、外部から取得可能なインタープリター取得部を備えた印刷装置。
【００１６】
この印刷装置によれば、ページ記述言語で記述された印刷データの解釈に必要なインタープリターを外部から取得可能なので、印刷装置内にインタープリターを常時、記憶しておく必要がない。
【００１７】
[適用例６]
ページ記述言語で記述された印刷データを印刷する印刷方法であって、前記印刷データの印刷に先立って、前記印刷データを解析することによって、ページ記述言語で記述された前記印刷データの解釈に必要なインタープリターを判定し、該判定したインタープリターをアクセス可能に接続されたストレージから取得し、前記取得したインタープリターを用いて、前記ページ記述言語で記述された前記印刷データを解釈し、前記解釈した前記印刷データに基づいて印刷を行う印刷方法。
【００１８】
この印刷方法によれば、印刷データの印刷に必要なインタープリターを事前に備える必要がない。
【００１９】
なお、本発明は、種々の態様で実現することが可能である。例えば、印刷方法および装置、印刷システム、それらの方法または装置の機能を実現するための集積回路、コンピュータープログラム、そのコンピュータープログラムを記録した記録媒体等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の実施の形態を実施例に基づいて（以下の順序で）説明する。
Ａ．第１実施例：
（Ａ１）印刷システムの概略構成
（Ａ２）サーバーの構成
（Ａ３）プリンターの構成
（Ａ４）印刷システムとしての動作
Ｂ．変形例：
【００２１】
Ａ．第１実施例：
（Ａ１）印刷システムの概略構成：
図１は、第１実施例における印刷システム１の概略構成を示す説明図である。第１実施例の印刷システム１は、プリンター１００と、サーバー２００と、ホスト装置３００とを備えている。プリンター１００、サーバー２００、ホスト装置３００は、互いにＬＡＮ（Local Area Network）を介して接続されている。ＬＡＮには、さらに、他のクライアントコンピューター、スキャナー、プロジェクターなど、ネットワーク接続可能な機器を接続してもよい。また、本実施例では、図示するように、ネットワークとして、有線ＬＡＮを使用するものとしたが、無線ＬＡＮを使用するものとしてもよい。
【００２２】
ホスト装置３００は、ネットワークを介して印刷データをプリンター１００に送信する。プリンター１００は、ホスト装置３００からページ記述言語で記述された印刷データを受信し、この印刷データに基づき印刷処理を実行する。サーバー２００については後で詳しく説明する。
【００２３】
（Ａ２）サーバーの構成：
上述したように、本実施例のプリンター１００は、ページ記述言語により記述された印刷データを解釈して印刷を行う。ページ記述言語により記述された印刷データの解釈にはインタープリターと呼ばれるプログラムが必要になる。本実施例では、各種ページ記述言語用のインタープリターをサーバー２００が記憶し管理している。そこで、次にサーバー２００の構成について説明する。
【００２４】
第１実施例におけるサーバー２００の構成を図２に示す。サーバー２００は、周知のＣＰＵ２１０、ＲＯＭ２２０、ハードディスク（ＨＤＤ）２３０、ＲＡＭ２４０、ネットワークインターフェイス（以下「ＮＴ−ＩＦ」と呼ぶ）２５０を備え、相互にバス２８０で接続されている。
【００２５】
ＲＯＭ２２０はサーバー２００の起動に必要なＢＩＯＳプログラムを記憶している。サーバー２００の起動時にＣＰＵ２１０はＲＯＭ２２０にアクセスし、ＢＩＯＳを実行する。ＢＩＯＳの実行に伴い、ＨＤＤ２３０の所定のトラックに記憶されたオペレーティングシステム（以下「サーバーＯＳ」と呼ぶ）がＲＡＭ２４０にロードされ、次に、このサーバーＯＳに制御を移行する。ＣＰＵ２１０は、インタープリター送信制御部２１２を備える。このインタープリター送信制御部２１２は、ＨＤＤ２３０に記憶されたプログラムを実行することで実現される。
【００２６】
ＨＤＤ２３０は、磁気によってデータを記憶する記憶装置で、前述のサーバーＯＳやその他アプリケーションプログラムを記憶している。ＲＡＭ２４０はＣＰＵ２１０における主記憶を構成している。ＣＰＵ２１０は必要なプログラムを、この主記憶にロードして実行する。
【００２７】
また本実施例におけるサーバー２００は、インターネットを介してアクセス可能なインターネットサーバーとしてもよいし、ＬＡＮ内のみでアクセス可能なイントラネットサーバーとしてもよい。
【００２８】
（Ａ３）プリンターの構成：
以上説明したサーバー２００から、必要なインタープリターをダウンロードして、印刷を実行するプリンター１００の構成について、次に説明する。第１実施例におけるプリンター１００の構成を図３に示す。プリンター１００は、周知のＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１４０、ＮＴ−ＩＦ１５０、プリンターエンジン１９０を備え、相互にバス１８０で接続されている。
【００２９】
ＲＯＭ１２０は、プリンター１００の動作を全般的に制御するためのオペレーティングシステム（以下「ＯＳ」と呼ぶ）、ネットワーク制御プログラム、フォントプログラム等を記憶している。またＲＯＭ１２０は、通常、プリンターが少なくとも一つは備えるインタープリターを記憶していない。インタープリターとは、プリンターがホスト装置や、記憶媒体等から受け取った、ページ記述言語で記述された印刷データを、プリンターが解釈可能なプログラム言語に変換するプログラムである。
【００３０】
ＣＰＵ１１０は、インタープリター取得部１１２、言語解釈部１１４、ラスタライザ１１６、印刷制御部１１８を備えている。ＣＰＵ１１０が備えるこれら各部の働きは、ＲＯＭ１２０に記憶されたプログラムを実行することで実現される。これら機能部の詳細については、後で詳しく説明する。
【００３１】
ＲＡＭ１４０は、受信バッファ１４２、インタープリター格納部１４４を備える。受信バッファ１４２は、ホスト装置３００から受信した印刷データを一時的に記憶する。インタープリター格納部１４４については後述する。プリンターエンジン１９０は、感光ドラムを用いてトナーを印刷用紙上に転写・定着させて画像を形成する印刷機構である。プリンターエンジン１９０は、印刷制御部１１８からの制御により、実際に印刷を実行する。
【００３２】
（Ａ４）印刷システムとしての動作：
図４は、印刷システム１が行う処理における情報の流れを示したチャート図である。ホスト装置３００はページ記述言語で記述された印刷データを、ネットワークを介してプリンター１００に送信する（図４：ＲＱ１）。プリンター１００は、印刷データを受信し、受信バッファ１４２に記憶する。次に、プリンター１００は、サーバー２００に、この印刷データの解釈に必要なインタープリターを要求する（ＲＱ２）。
【００３３】
サーバー２００は、プリンター１００からインタープリター要求（ＲＱ２）を受信し、サーバー２００が備える複数のインタープリターから、プリンター１００が要求したインタープリターを、プリンター１００に送信する（ＡＣＫ２）。プリンター１００は、サーバー２００からインタープリターを受信し、このインタープリターを用いて、受信バッファ１４２に記憶していた印刷データを解釈し、プリンターが解釈可能なプログラム言語に変換する。変換されたプログラム言語に基づいてプリンター１００は、印刷を実行する。
【００３４】
プリンター１００は、印刷終了後、印刷完了ステータスをホスト装置３００に送信する（ＡＣＫ１）。印刷完了ステータスを受信したホスト装置３００は、印刷が完了した旨をホスト装置３００が備えるディスプレイ（図示は省略）にメッセージ表示し、ホスト装置３００のユーザーに印刷完了を知らせ、印刷システム１による印刷処理は終了する。
【００３５】
上記印刷処理において、プリンター１００が実行している処理の詳細を説明する。プリンター１００が実行する印刷処理の工程を図５に示した。ホスト装置３００から印刷データを受信すると（図４：ＲＱ１）、プリンター１００（図３）のＣＰＵ１１０は、受信バッファ１４２にこの印刷データを記憶する（図５：ステップＳ１２）。印刷データの記憶後、ＣＰＵ１１０は、ページ記述言語で記述された印刷データを受信バッファ１４２から読み込んで解析し、この印刷データのヘッダ情報から、印刷データのページ記述言語の種類を判定する（ステップＳ１４）。この処理はＣＰＵ１１０が、インタープリター取得部１１２に相当する機能として行う。印刷データのヘッダ情報の一例として図６に示す。なお、図６に記載した「Adobe」、「PostScript」は登録商標である。
【００３６】
印刷データのページ記述言語の種類の判定が終わると、ＣＰＵ１１０は判定結果をもとに、インタープリター格納部１４４にアクセスし、このページ記述言語を解釈するためのインタープリターが、先に行われた印刷処理時に取得されていないかを確認する（ステップＳ１５）。プリンターの電源投入後初めて印刷を行う場合には、インタープリターはインタープリター格納部１４４には記憶されていないので、インタープリターを要求するコマンド（ＲＱ２）をサーバー２００に送信する（ステップＳ１６）。上述したように、サーバー２００は、プリンター１００からのインタープリター要求（ＲＱ２）に応じて、プリンター１００が必要とするインタープリターを送信する（ＡＣＫ２）。プリンター１００が、インタープリター（ＡＣＫ２）を受信すると（ステップＳ１８）、ＣＰＵ１１０が、ＲＡＭ１４０内のインタープリター格納部１４４に、インタープリターを格納する（ステップＳ２０）。
【００３７】
ＣＰＵ１１０は、言語解釈部１１４に相当する機能として、インタープリター格納部１４４に格納したインタープリターを用いて、ページ記述言語で記述された印刷データを受信バッファ１４２から読み込んで解釈し、後述するラスタライザ１１６が処理可能な中間言語に変換する（ステップＳ２２）。
【００３８】
ＣＰＵ１１０は、ラスタライザ１１６に相当する機能として、言語解釈部１１４によって中間言語に変換された印刷データをラスタライズし、ビットマップデータに変換する（ステップＳ２４）。ＣＰＵ１１０は、印刷制御部１１８に相当する機能として、このビットマップデータに基づいて、プリンターエンジン１９０（図３）を制御して印刷を実行する（ステップＳ２６）。印刷完了後、印刷完了ステータスをホスト装置３００に送信し（ステップＳ２８）、プリンター１００は印刷処理を終了する。また、ステップＳ１５において、印刷処理に使用したインタープリターは、プリンター１００の電源がオフになるまでは、インタープリター格納部１４４に記憶され、ホスト装置３００から新たな印刷データを受信した際、この印刷データが、インタープリター格納部１４４に記憶しているインタープリターで解釈可能と判定した場合は、そのインタープリターを、再度用いて印刷処理を行う。つまり、ステップＳ１５からステップＳ２２に移行する。よって、サーバー２００に対してインタープリターを、再度、要求することはしない。
【００３９】
次に、印刷システム１が行う上記印刷処理において、サーバー２００が実行しているインタープリター送信処理について説明する。サーバー２００が実行するインタープリター送信処理の工程を図７に示した。プリンター１００からのインタープリター要求（図４：ＲＱ２）を受信すると（ステップＳ３２）、ＣＰＵ２１０（図２参照）は、インタープリター送信制御部２１２に相当する機能として、ＨＤＤ２３０にアクセスする（ステップＳ３４）。ＨＤＤ２３０は、様々なページ記述言語に対応できるように、複数のインタープリターを記憶している。例えば、PostScript（登録商標）、ESC/Page（登録商標）、LIPS（登録商標）、HP-PCL（登録商標）などのページ記述言語を用いて記述された印刷データを、各々解釈可能なインタープリターを記憶している。ＣＰＵ２１０は、ＨＤＤ２３０に記憶しているこれら複数のインタープリターから、プリンター１００が要求しているインタープリターを選択し、このインタープリターを、ネットワークを介してプリンター１００に送信する（ステップＳ３６）。インタープリターの送信後、サーバー２００のインタープリター送信処理は終了する。
【００４０】
以上説明したように、第１実施例における印刷システム１によると、プリンター１００は、印刷データに基づいて印刷処理を実行する際に、サーバー２００からインタープリターを取得するので、ＲＯＭ１２０に常時、インタープリターを記憶しておく必要が無い。したがって、ＲＯＭ１２０に記憶するプログラム容量の軽減が可能である。また、サーバー２００が、社内サーバー等のイントラネット接続されたサーバーの場合、サーバー管理者は、社内で使用されるインタープリターを一元管理することができる。よって、インタープリターのバージョンの更新作業の際に、サーバーに記憶しているインタープリターの更新作業を行うのみで、各プリンターに対してインタープリターの更新作業を行う手間を回避できる。さらに、サーバー２００がインターネットサーバーの場合には、インタープリターのバージョン更新作業を必要とせず、プリンター１００がサーバー２００にアクセスすることで、常に最新のインタープリターを取得することができる。よって、プリンター１００が印刷データを印刷する際、様々なページ記述言語に対応して印刷処理を実行することができる。
【００４１】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００４２】
Ｂ１．変形例１：
第１実施例ではサーバー２００が、インタープリター送信処理を行っていたが、サーバー２００の備える機能をホスト装置が備えるようにしても良い。このようにした場合、ホスト装置が印刷データの送信とインタープリターの送信とを行う。よって、予めホスト装置が、送信する印刷データに基づいて、その印刷データの解釈に必要なインタープリターを判定し、そのインタープリターをプリンターに送信するようにしてもよい。つまり第１実施例ではプリンターが行っていた印刷データの言語判定の処理を、変形例１では、ホスト装置に行わせることが可能である。こうすることによって、プリンターによる印刷データの言語判定の処理が省かれ、プリンターが行う処理の負担が軽減するので、印刷処理の実行速度が向上する。さらに、変形例１では、サーバーを必要としないので、プリンター及びホスト装置は、インターネットや、イントラネットに接続されている必要はなく、プリンターとホスト装置が、ＵＳＢや、ＩＥＥＥ１３９４等の接続インターフェイスを介して、互いにケーブル接続されているとしてもよい。
【００４３】
Ｂ２．変形例２：
上記変形例１の態様に加え、ホスト装置が送信する印刷データが、常に１種類のページ記述言語のみで記述された印刷データであるとしてもよい。この場合、プリンターとホスト装置とが共に、印刷データの言語判定の処理を必要とせず、印刷処理の実行速度が変形例１に比べてさらに向上する。
【００４４】
Ｂ３．変形例３：
第１実施例では、プリンター１００はホスト装置３００から印刷データを受信するものであったが、プリンターに、印刷データを記録した記録媒体の読み取り可能な、記録媒体読取部を備えるようにし、記録媒体から印刷データを取得し、サーバーから取得したインタープリターを用いて、印刷処理を実行するとしてもよい。
【００４５】
Ｂ４．変形例４：
サーバー２００に備えられる複数のインタープリターは、異なる種類のインタープリターを複数記憶しているとしてもよいし、同じ種類のインタープリターでバージョンの異なるものを複数記憶しているものとしてもよい。また、サーバー２００に、全てのインタープリターを備えるのではなく、プリンター１００とアクセス可能に接続されている複数のサーバーに、分散して、これら複数のインタープリターを備えるようにしてもよい。
【００４６】
Ｂ５．変形例５：
上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
【図面の簡単な説明】
【００４７】
【図１】第１実施例における印刷システム１の概略構成を示す説明図である。
【図２】第１実施例におけるサーバー２００の構成を示す説明図である。
【図３】第１実施例におけるプリンター１００の構成を示す説明図である。
【図４】印刷システム１が行う印刷処理の情報の流れを示したチャート図である。
【図５】プリンター１００が実行する印刷処理を示すフローチャートである。
【図６】印刷データのヘッダ情報の一例を示した図である。
【図７】サーバー２００が実行するインタープリター送信処理を示すフローチャートである。
【符号の説明】
【００４８】
１…印刷システム
１００…プリンター
１１０，２１０…ＣＰＵ
１１２…インタープリター取得部
１１４…言語解釈部
１１６…ラスタライザ
１１８…印刷制御部
１２０，２２０…ＲＯＭ
１４０，２４０…ＲＡＭ
１４２…受信バッファ
１４４…インタープリター格納部
１５０，２５０…ネットワークインターフェイス（ＮＴ−ＩＦ）
１８０，２８０…バス
１９０…プリンターエンジン
２００…サーバー
２１２…インタープリター送信制御部
２３０…ハードディスク（ＨＤＤ）
３００…ホスト装置
【図１】
2010176218.tif 000003
【図２】
2010176218.tif 000004
【図３】
2010176218.tif 000005
【図４】
2010176218.tif 000006
【図５】
2010176218.tif 000007
【図６】
2010176218.tif 000008
【図７】
2010176218.tif 000009