(57)【特許請求の範囲】
【請求項１】
外部からダウンロードすることが必要であるＤＬオブジェクトのアドレスを含む所定形式の印刷データに基づいて印刷することが可能であるプリンタと、そのプリンタに通信可能に接続される外部装置とを備えるプリンタシステムであり、
プリンタは、
前記所定形式の印刷データを受信するプリンタ側第１受信手段と、
プリンタ側第１受信手段によって受信された前記所定形式の印刷データを外部装置に送信するプリンタ側送信手段と、
外部装置から送信された前記所定形式の変形処理後印刷データを受信するプリンタ側第２受信手段と、
プリンタ側第２受信手段によって受信された前記所定形式の変形処理後印刷データに基づいて印刷する印刷手段とを有し、
外部装置は、
プリンタから送信された前記所定形式の印刷データを受信する外部装置側受信手段と、
外部装置側受信手段によって受信された前記所定形式の印刷データに含まれる前記ＤＬオブジェクトのアドレスに従ってダウンロードされた前記ＤＬオブジェクトに対して変形処理を加えることによって、変形処理後ＤＬオブジェクトを作成する変形手段と、
変形手段によって作成された変形処理後ＤＬオブジェクトを前記所定形式の印刷データに書き込むことによって、前記所定形式の変形処理後印刷データを作成する変形処理後印刷データ作成手段と、
変形処理後印刷データ作成手段によって作成された前記所定形式の変形処理後印刷データをプリンタに送信する外部装置側送信手段とを有する
ことを特徴とするプリンタシステム。
【請求項２】
外部装置は、外部装置側受信手段によって受信された前記所定形式の印刷データに含まれる前記ＤＬオブジェクトのアドレスに従って前記ＤＬオブジェクトをダウンロードするダウンロード手段をさらに有し、
変形手段は、ダウンロード手段によってダウンロードされた前記ＤＬオブジェクトに対して変形処理を加えることによって、変形処理後ＤＬオブジェクトを作成する
ことを特徴とする請求項１に記載のプリンタシステム。
【請求項３】
プリンタは、プリンタ側第１受信手段によって受信された前記所定形式の印刷データに前記ＤＬオブジェクトのアドレスが含まれているのか否かを判断する第１判断手段をさらに有し、
プリンタ側送信手段は、第１判断手段によって肯定的に判断されたことを条件として、前記所定形式の印刷データを外部装置に送信する
ことを特徴とする請求項１又は２に記載のプリンタシステム。
【請求項４】
プリンタは、前記ＤＬオブジェクトに対して変形処理を加える必要があるのか否かを判断する第２判断手段をさらに備え、
プリンタ側送信手段は、第２判断手段によって肯定的に判断されたことを条件として、前記所定形式の印刷データを外部装置に送信する
ことを特徴とする請求項１から３のいずれかに記載のプリンタシステム。
【請求項５】
第２判断手段は、前記ＤＬオブジェクトに対して回転処理とリサイズ処理の少なくとも一方の処理を加える必要があるのか否かを判断する
ことを特徴とする請求項４に記載のプリンタシステム。
【請求項６】
プリンタは、前記ＤＬオブジェクトのデータサイズが所定サイズ以上であるのか否かを判断する第３判断手段をさらに有し、
プリンタ側送信手段は、第２判断手段によって否定的に判断されたこと、及び、第３判断手段によって肯定的に判断されたことを条件として、前記所定形式の印刷データを外部装置に送信し、
外部装置は、外部装置側受信手段によって受信された前記所定形式の印刷データに含まれる前記ＤＬオブジェクトのアドレスに従って前記ＤＬオブジェクトをダウンロードするダウンロード手段と、
ダウンロード手段によってダウンロードされたＤＬオブジェクトに対して変形処理を加えずに、そのＤＬオブジェクトを前記所定形式の印刷データに書き込むことによって、前記所定形式の書き込み後印刷データを作成する書き込み後印刷データ作成手段とをさらに有し、
外部装置側送信手段は、書き込み後印刷データ作成手段によって作成された前記所定形式の書き込み後印刷データをプリンタに送信し、
プリンタ側第２受信手段は、外部装置から送信された前記所定形式の書き込み後印刷データを受信し、
印刷手段は、プリンタ側第２受信手段によって受信された前記所定形式の書き込み後印刷データに基づいて印刷する
ことを特徴とする請求項４又は５に記載のプリンタシステム。
【請求項７】
外部からダウンロードすることが必要であるＤＬオブジェクトのアドレスを含む所定形式の印刷データに基づいて印刷することが可能であるプリンタに通信可能に接続される外部装置のためのコンピュータプログラムであり、
そのコンピュータプログラムは、外部装置に搭載されるコンピュータに、以下の処理、即ち、
プリンタから送信された前記所定形式の印刷データに含まれる前記ＤＬオブジェクトのアドレスに従ってダウンロードされた前記ＤＬオブジェクトに対して変形処理を加えることによって、変形処理後ＤＬオブジェクトを作成する変形処理と、
変形処理で作成された変形処理後ＤＬオブジェクトを前記所定形式の印刷データに書き込むことによって、前記所定形式の変形処理後印刷データを作成する変形処理後印刷データ作成処理と、
変形処理後印刷データ作成処理で作成された前記所定形式の変形処理後印刷データをプリンタに送信する送信処理と
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタとそのプリンタに通信可能に接続される外部装置とを備えるプリンタシステムに関する。特に、ＤＬオブジェクト（外部からダウンロードすることが必要であるオブジェクト）のアドレスを含む印刷データに基づいて印刷するプリンタシステムに関する。
【背景技術】
【０００２】
例えば、下記の特許文献１には、ＸＭＬ形式の印刷データに基づいて印刷するプリンタシステムが開示されている。プリンタは、ＸＭＬ形式の印刷データを受信すると、その印刷データをサーバに送信する。サーバは、印刷データに含まれるＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｒｃｅ  Ｌｏｃａｔｏｒ）にアクセスしてドキュメントデータをダウンロードする。サーバは、ダウンロードされたドキュメントデータが含まれるＳＶＧ形式の印刷データを作成する。即ち、サーバは、ＸＭＬ形式の印刷データをＳＶＧ形式の印刷データに変換する。サーバは、ＳＶＧ形式の印刷データをプリンタに送信する。プリンタは、ＳＶＧ形式の印刷データに基づいて印刷する。
【０００３】
【特許文献１】特開２００２−９１７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
外部からＤＬオブジェクトをダウンロードして印刷する場合、そのＤＬオブジェクトに対して様々な変形処理を加える必要がある。例えば、印刷可能なサイズにリサイズするリサイズ処理をＤＬオブジェクトに対して加えなければならないことがある。また、例えば、ダウンロードされた状態から指定された状態まで回転させる回転処理をＤＬオブジェクトに対して加えなければならないことがある。これらの変形処理を実行するためには多くのメモリ容量を必要とする。プリンタは、パーソナルコンピュータ等と比べると、大容量のメモリを搭載しているわけではない。このために、ＤＬオブジェクトに対する変形処理を実行するのに多くのメモリ容量を消費すると、他の処理を実行するためのメモリ容量を確保することができなくなる可能性がある。
【０００５】
本発明者は、プリンタが外部装置（例えばパーソナルコンピュータやサーバ）に通信可能に接続されて利用されることが多いことに着目した。ＤＬオブジェクトに対する変形処理を外部装置に実行させれば、プリンタのメモリが大きく消費される事象が発生することを防止することができる。この手法を利用する場合、プリンタが印刷データを外部装置に送信し、外部装置が処理後の印刷データをプリンタに返信する必要がある。上記の引用文献１の技術では、プリンタがＸＭＬ形式の印刷データを外部装置（サーバ）に送信し、外部装置がＳＶＧ形式の印刷データをプリンタに返信する。即ち、プリンタから外部装置に送信されるデータ形式が、外部装置からプリンタに返信されるデータ形式と異なる。例えば、複数のプリンタが外部装置に通信可能に接続されて利用されることがある。この場合、各プリンタが印刷データを外部装置に送信し、外部装置がＳＶＧ形式の印刷データを各プリンタに返信することになる。全てのプリンタがＳＶＧ形式に対応しているとは限らない。外部装置がＳＶＧ形式の印刷データを各プリンタに返信しても、ＳＶＧ形式に対応していないプリンタは印刷することができない。即ち、外部装置は、プリンタが外部装置から受信した印刷データに基づいて印刷処理を継続可能な形式で、プリンタに印刷データを返信する必要がある。
【０００６】
本明細書では、ＤＬオブジェクトの変形処理を外部装置が実行するプリンタシステムにおいて、変形処理後の印刷データをプリンタが印刷することができる技術を提供する。
【課題を解決するための手段】
【０００７】
本明細書によって開示される一つの技術は、プリンタと外部装置とを備えるプリンタシステムである。プリンタは、外部からダウンロードすることが必要であるＤＬオブジェクトのアドレスを含む所定形式の印刷データに基づいて印刷することが可能である。外部装置は、プリンタに通信可能に接続される。上記の「外部装置」という用語は、最も広義に解釈されるべきものであり、プリンタと別体に構成されているあらゆるデバイスを含む概念である。外部装置の一例として、パーソナルコンピュータ、サーバ、プリンタ、スキャナ、多機能機（複合機）、携帯端末等を挙げることができる。
【０００８】
プリンタは、プリンタ側第１受信手段とプリンタ側送信手段とプリンタ側第２受信手段と印刷手段とを有する。プリンタ側第１受信手段は、上記の所定形式の印刷データを受信する。プリンタ側送信手段は、プリンタ側第１受信手段によって受信された上記の所定形式の印刷データを外部装置に送信する。プリンタ側第２受信手段は、外部装置から送信された上記の所定形式の変形処理後印刷データを受信する。印刷手段は、プリンタ側第２受信手段によって受信された上記の所定形式の変形処理後印刷データに基づいて印刷する。
【０００９】
外部装置は、外部装置側受信手段と変形手段と変形処理後印刷データ作成手段と外部装置側送信手段とを有する。外部装置側受信手段は、プリンタから送信された上記の所定形式の印刷データを受信する。変形手段は、外部装置側受信手段によって受信された上記の所定形式の印刷データに含まれるＤＬオブジェクトのアドレスに従ってダウンロードされたＤＬオブジェクトに対して変形処理を加えることによって、変形処理後ＤＬオブジェクトを作成する。なお、ＤＬオブジェクトのダウンロードは、プリンタによって実行されてもよいし、外部装置によって実行されてもよい。前者の場合、上記のプリンタ側送信手段が印刷データとＤＬオブジェクトの両方を外部装置に送信することになる。変形処理後印刷データ作成手段は、変形手段によって作成された変形処理後ＤＬオブジェクトを上記の所定形式の印刷データに書き込むことによって、上記の所定形式の変形処理後印刷データを作成する。外部装置側送信手段は、変形処理後印刷データ作成手段によって作成された上記の所定形式の変形処理後印刷データをプリンタに送信する。
【００１０】
プリンタは、自身が対応していない形式（自身が印刷することができない形式）の印刷データを受信しても、その内容を解釈することができない。プリンタは、内容を解釈することができない印刷データを受信しても、それを外部装置に送信する処理を実行することができない。逆に言うと、プリンタが受信して外部装置に送信した印刷データと同じ形式の印刷データであれば、その内容をプリンタが解釈して印刷することが可能である。上記のプリンタシステムでは、プリンタが受信して外部装置に送信した変形処理前の印刷データの形式と、外部装置によって作成される変形処理後印刷データの形式とが一致している。このために、プリンタは、変形処理後印刷データに基づいて印刷することができる。上記のプリンタシステムによると、外部装置によって作成される変形処理後印刷データに基づいて、プリンタが確実に印刷することができる。
【００１１】
上述したように、ＤＬオブジェクトのダウンロードは、プリンタによって実行されてもよいし、外部装置によって実行されてもよい。プリンタにおいて大容量のメモリが使用されるのを防止するためには、後者の構成を採用することが好ましい。この構成は、以下のように表現することができる。即ち、外部装置は、外部装置側受信手段によって受信された上記の所定形式の印刷データに含まれるＤＬオブジェクトのアドレスに従ってＤＬオブジェクトをダウンロードするダウンロード手段をさらに有していてもよい。この場合、変形手段は、ダウンロード手段によってダウンロードされたＤＬオブジェクトに対して変形処理を加えることによって、変形処理後ＤＬオブジェクトを作成する。
【００１２】
プリンタによって受信された印刷データの中にＤＬオブジェクトのアドレスが含まれていない場合は、ＤＬオブジェクトに対して変形処理を加える必要がない。この場合、プリンタは、印刷データを外部装置に送信しなくてもよい。この構成によると、プリンタは、外部装置に印刷データを送信してそれが返信されるのを待たなくても、印刷処理を実行することができる。このために、印刷処理を高速で実行することができる。この構成は、以下のように表現することができる。
即ち、プリンタは、プリンタ側第１受信手段によって受信された上記の所定形式の印刷データにＤＬオブジェクトのアドレスが含まれているのか否かを判断する第１判断手段をさらに有していてもよい。この場合、プリンタ側送信手段は、第１判断手段によって肯定的に判断されたことを条件として、上記の所定形式の印刷データを外部装置に送信してもよい。
【００１３】
印刷データの中にＤＬオブジェクトのアドレスが含まれる場合でも、他の条件が満たされた場合は、プリンタから外部装置に印刷データを送信することを禁止してもよい。これにより、例えば、印刷処理の高速化を実現することができる。例えば、プリンタは、ＤＬオブジェクトに対して変形処理を加える必要があるのか否かを判断する第２判断手段をさらに備えていてもよい。この場合、プリンタ側送信手段は、第２判断手段によって肯定的に判断されたことを条件として、上記の所定形式の印刷データを外部装置に送信してもよい。なお、上記の第２判断手段は、ＤＬオブジェクトに対して回転処理とリサイズ処理の少なくとも一方の処理を加える必要があるのか否かを判断してもよい。
【００１４】
なお、上記の第２判断手段によって否定的に判断された場合でも、他の条件が満たされた場合は、プリンタから外部装置に印刷データが送信されてもよい。例えば、プリンタは、上記のＤＬオブジェクトのデータサイズが所定サイズ以上であるのか否かを判断する第３判断手段をさらに有していてもよい。この場合、プリンタ側送信手段は、第２判断手段によって否定的に判断されたこと、及び、第３判断手段によって肯定的に判断されたことを条件として、上記の所定形式の印刷データを外部装置に送信してもよい。この場合、外部装置は、外部装置側受信手段によって受信された上記の所定形式の印刷データに含まれるＤＬオブジェクトのアドレスに従ってＤＬオブジェクトをダウンロードするダウンロード手段をさらに有していてもよい。また、外部装置は、ダウンロード手段によってダウンロードされたＤＬオブジェクトに対して変形処理を加えずに、そのＤＬオブジェクトを所定形式の印刷データに書き込むことによって、上記の所定形式の書き込み後印刷データを作成する書き込み後印刷データ作成手段をさらに有していてもよい。この場合、外部装置側送信手段は、書き込み後印刷データ作成手段によって作成された上記の所定形式の書き込み後印刷データをプリンタに送信してもよい。プリンタ側第２受信手段は、外部装置から送信された上記の所定形式の書き込み後印刷データを受信してもよい。印刷手段は、プリンタ側第２受信手段によって受信された上記の所定形式の書き込み後印刷データに基づいて印刷してもよい。
【００１５】
上記の外部装置を実現するためのコンピュータプログラムも有用である。このコンピュータプログラムは、外部装置に搭載されるコンピュータに、以下の処理を実行させる。
（１）プリンタから送信された所定形式の印刷データに含まれるＤＬオブジェクトのアドレスに従ってダウンロードされたＤＬオブジェクトに対して変形処理を加えることによって、変形処理後ＤＬオブジェクトを作成する変形処理。
（２）変形処理で作成された変形処理後ＤＬオブジェクトを上記の所定形式の印刷データに書き込むことによって、上記の所定形式の変形処理後印刷データを作成する変形処理後印刷データ作成処理。
（３）変形処理後印刷データ作成処理で作成された上記の所定形式の変形処理後印刷データをプリンタに送信する送信処理。
このコンピュータプログラムによると、上記のプリンタシステムを構成する外部装置を実現することができる。
【発明を実施するための最良の形態】
【００１６】
ここでは、以下の実施例に記載の技術の主要な特徴の一部をまとめておく。
（形態１）変形処理後印刷データ作成手段は、変形手段によって作成されたバイナリ形式の変形処理後ＤＬオブジェクトをテキスト形式のデータに変換し、変換後のデータを上記の所定形式の印刷データに書き込んでもよい。
【００１７】
（形態２）第２判断手段は、プリンタ側第１受信手段によって受信された上記の所定形式の印刷データの内容に基づいて、ＤＬオブジェクトに対して変形処理を加える必要があるのか否かを判断してもよい。例えば、第２判断手段は、プリンタ側第１受信手段によって受信された上記の所定形式の印刷データに含まれるＤＬオブジェクトの回転角度情報に基づいて、ＤＬオブジェクトに対して回転処理を加える必要があるのか否かを判断してもよい。また、例えば、第２判断手段は、プリンタ側第１受信手段によって受信された上記の所定形式の印刷データに含まれるＤＬオブジェクトの印刷サイズ情報に基づいて、ＤＬオブジェクトに対してリサイズ処理を加える必要があるのか否かを判断してもよい。なお、上記の「ＤＬオブジェクトの印刷サイズ情報」は、ＤＬオブジェクトが印刷媒体に印刷される際のデータサイズ（縦横のサイズ）を意味する。
【００１８】
（形態３）上記の所定形式の印刷データは、ＤＬオブジェクトの回転角度情報を含むファイルのアドレスを含んでいてもよい。プリンタは、上記の所定形式の印刷データに含まれる上記のファイルのアドレスに従って当該ファイルをダウンロードする手段をさらに有していてもよい。この場合、第２判断手段は、ダウンロードされたファイルに含まれるＤＬオブジェクトの回転角度情報に基づいて、ＤＬオブジェクトに対して回転処理を加える必要があるのか否かを判断してもよい。
【００１９】
（形態４）上記の所定形式の印刷データは、ＤＬオブジェクトの印刷サイズ情報を含むファイルのアドレスを含んでいてもよい。プリンタは、上記の所定形式の印刷データに含まれる上記のファイルのアドレスに従って当該ファイルをダウンロードする手段と、上記の所定形式の印刷データに含まれるＤＬオブジェクトのアドレスに従ってＤＬオブジェクトの絶対サイズ情報をダウンロードする手段とをさらに有していてもよい。この場合、第２判断手段は、ダウンロードされたファイルに含まれるＤＬオブジェクトの印刷サイズ情報と、ダウンロードされたＤＬオブジェクトの絶対サイズ情報とを比較することによって、ＤＬオブジェクトに対してリサイズ処理を加える必要があるのか否かを判断してもよい。なお、上記の「ＤＬオブジェクトの絶対サイズ情報」は、ＤＬオブジェクトのアドレスに格納されている状態（例えばサーバに格納されている状態）でのＤＬオブジェクトのデータサイズ（縦横のサイズ）を意味する。
【実施例】
【００２０】
図面を参照して実施例を説明する。図１は、本実施例のプリンタシステム２を示す。プリンタシステム２は、複数のプリンタ１０，３０，４０とサーバ５０とＰＣ（パーソナルコンピュータ）７０を備える。
【００２１】
（プリンタの構成）
プリンタ１０は、操作部１２と表示部１４と制御部１６と印刷部１８と記憶部２０と入出力ポート２２を有する。操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な情報や指示をプリンタ１０に入力することができる。表示部１４は、様々な情報を表示することができる。制御部１６は、記憶部２０に記憶されているプログラムに従って、様々な処理を実行する。制御部１６が実行する処理の内容は、後で詳しく説明する。印刷部１８は、制御部１６の指示に従って様々なデータを印刷することができる。記憶部２０は、ＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ等によって構成されている。記憶部２０は、制御部１６に処理を実行させるためのプログラムを記憶している。また、記憶部２０は、入出力ポート２２に入力されたデータや制御部１６によって生成されたデータを記憶することができる。入出力ポート２２は、ＬＡＮ４５に接続されている。プリンタ１０は、入出力ポート２２及びＬＡＮ４５を介して、サーバ５０やＰＣ７０と通信可能である。プリンタ３０，４０は、プリンタ１０と同じ構成を有する。このために、プリンタ３０，４０についての説明を省略する。
【００２２】
（サーバの構成）
サーバ５０は、操作部５２と表示部５４と制御部５６と記憶部６０と入出力ポート６２を有する。操作部５２は、マウスやキーボードによって構成される。ユーザは、操作部５２を操作することによって、様々な情報や指示をサーバ５０に入力することができる。表示部５４は、様々な情報を表示することができる。制御部５６は、記憶部６０に記憶されているプログラムに従って、様々な処理を実行する。制御部５６が実行する処理の内容は、後で詳しく説明する。記憶部６０は、ＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ等によって構成されている。記憶部６０は、制御部５６に処理を実行させるためのプログラムを記憶している。また、記憶部６０は、入出力ポート６２に入力されたデータや制御部５６によって生成されたデータを記憶することができる。入出力ポート６２は、ＬＡＮ４５に接続されている。サーバ５０は、入出力ポート６２及びＬＡＮ４５を介して、各プリンタ１０，３０，４０やＰＣ７０と通信可能である。
【００２３】
（プリンタの印刷処理）
続いて、プリンタ１０が実行する印刷処理の内容について説明する。この処理は、プリンタ１０の制御部１６によって実行される。なお、他のプリンタ３０，４０も、プリンタ１０と同様に印刷処理を実行することができる。図２は、印刷処理のフローチャートを示す。印刷処理は、ＰＣ７０から送信された印刷データが受信されたことを契機に開始される。
【００２４】
プリンタ１０は、ＰＣ７０からの印刷データを受信する（Ｓ１０）。プリンタ１０は、印刷データの内容を解析することによって、ＸＨＴＭＬ−Ｐｒｉｎｔデータであるのか否かを判断する（Ｓ１２）。ＸＨＴＭＬ以外の形式の印刷データである場合（Ｓ１２でＮＯの場合）、Ｓ３２に進む。一方において、ＸＨＴＭＬ−Ｐｒｉｎｔデータである場合（Ｓ１２でＹＥＳの場合）、Ｓ１４に進む。なお、以下では、ＸＨＴＭＬ−Ｐｒｉｎｔデータのことを簡単に「ＸＨＴＭＬデータ」と呼ぶことがある。
【００２５】
図３は、ＸＨＴＭＬデータの一例を示す。ＸＨＴＭＬデータ８０は、スタイルシートファイルのアドレス８２と画像オブジェクトファイルのアドレス８４を含んでいる。図示省略しているが、ＸＨＴＭＬデータ８０は、スタイルシートファイルのベースアドレスも含んでいる。スタイルシートファイルのアドレスは、ベースアドレスとアドレス８２の組合せによって特定される。プリンタ１０は、Ｓ１０で受信されたＸＨＴＭＬデータにスタイルシートファイルのアドレス８２が含まれているのか否かを判断する（Ｓ１４）。ここでＹＥＳの場合、プリンタ１０は、アドレス８２にアクセスし、スタイルシートファイルをダウンロードする（Ｓ１６）。具体的には、プリンタ１０は、ベースアドレス（図示省略）から特定されるデバイスに対して、アドレス８２から特定されるスタイルシートファイルを送信するように指示する。これにより、プリンタ１０は、スタイルシートファイルを取得することができる。
【００２６】
図４は、スタイルシートファイルの一例を示す。スタイルシートファイル９０は、画像オブジェクトの印刷サイズ情報９２と回転角度情報９４を含んでいる。印刷サイズ情報９２は、画像オブジェクトが印刷媒体に印刷される際のデータサイズ（縦横のサイズ）を意味する。図４の例では、縦２０ｍｍ及び横２０ｍｍのサイズで印刷されることを意味している。回転角度情報９４は、画像オブジェクトが印刷媒体に印刷される際の回転角度を意味する。即ち、外部のネットワーク（例えばアドレス８４）に格納されている状態から何度回転させて画像オブジェクトが印刷されるのかを意味する。図４の例では、右回りに９０度回転させて印刷されることを意味している。
【００２７】
図５は、ＸＨＴＭＬデータの別の例を示す。ＸＨＴＭＬデータ１００は、スタイルシートファイルのアドレスを含んでいない。この場合、プリンタ１０は、Ｓ１４でＮＯと判断する。この場合、Ｓ１６をスキップする。ＸＨＴＭＬデータ１００は、印刷サイズ情報１０２と回転角度情報１０４を含んでいる。即ち、ＸＨＴＭＬデータ１００の中に印刷サイズ情報１０２と回転角度情報１０４が記述されている。なお、ＸＨＴＭＬデータ１００は、画像オブジェクトファイルのアドレス１０６を含んでいる。
【００２８】
プリンタ１０は、ＸＨＴＭＬデータの中に画像オブジェクトファイルのアドレスが含まれているのか否かを判断する（Ｓ１８）。例えば、図３のＸＨＴＭＬデータ８０にはアドレス８４が含まれている。この場合、Ｓ１８でＹＥＳと判断される。また、図５のＸＨＴＭＬデータ１００にもアドレス１０６が含まれている。この場合も、Ｓ１８でＹＥＳと判断される。Ｓ１８でＹＥＳと判断された場合、Ｓ２０に含む。一方において、Ｓ１８でＮＯと判断された場合、Ｓ３２に進む。
【００２９】
Ｓ２０では、プリンタ１０は、画像オブジェクトに対して回転処理を加える必要があるのか否かを判断する。上述したように、回転角度情報は、スタイルシートファイルの中に記述されることもあれば、ＸＨＴＭＬデータの中に記述されることもある。前者の場合、プリンタ１０は、スタイルシートファイル９０に含まれる回転角度情報９４がゼロであるのか否かを判断する。また、後者の場合、プリンタ１０は、ＸＨＴＭＬデータ１００に含まれる回転角度情報１０４がゼロであるのか否かを判断する。回転角度情報がゼロである場合、プリンタ１０は、Ｓ２０でＮＯと判断する。この場合、Ｓ２２に進む。回転角度情報がゼロ以外の数値である場合、プリンタ１０は、Ｓ２０でＹＥＳと判断する。この場合、Ｓ２８に進む。
【００３０】
Ｓ２２では、プリンタ１０は、画像オブジェクトファイルのヘッダ情報をダウンロードする。具体的には、プリンタ１０は、画像オブジェクトファイルのアドレス８４，１０６から特定されるデバイスに対して、アドレス８４，１０６から特定される画像オブジェクトファイルのヘッダ情報（先頭から所定バイトまでの情報）を送信するように指示する。これにより、プリンタ１０は、画像オブジェクトファイルのヘッダ情報を取得することができる。画像オブジェクトファイルのヘッダ情報には、画像オブジェクトの絶対サイズ情報が含まれている。絶対サイズ情報は、外部のネットワーク（例えばアドレス８４又は１０６）に格納されている状態での画像オブジェクトのデータサイズ（縦横のサイズ）を意味する。Ｓ２２を終えると、Ｓ２４に進む。
【００３１】
Ｓ２４では、プリンタ１０は、画像オブジェクトに対してリサイズ処理を加える必要があるのか否かを判断する。上述したように、印刷サイズ情報は、スタイルシートファイルの中に記述されることもあれば、ＸＨＴＭＬデータの中に記述されることもある。前者の場合、プリンタ１０は、スタイルシートファイル９０に含まれる印刷サイズ情報９２と、Ｓ２２でダウンロードされた絶対サイズ情報とが一致するのか否かを判断する。また、後者の場合、プリンタ１０は、ＸＨＴＭＬデータ１００に含まれる印刷サイズ情報１０２と、Ｓ２２でダウンロードされた絶対サイズ情報とが一致するのか否かを判断する。印刷サイズ情報と絶対サイズ情報が一致する場合、プリンタ１０は、Ｓ２４でＮＯと判断する。この場合、Ｓ２６に進む。印刷サイズ情報と絶対サイズ情報が一致しない場合、プリンタ１０は、Ｓ２４でＹＥＳと判断する。この場合、Ｓ２８に進む。
【００３２】
Ｓ２６では、プリンタ１０は、Ｓ２２でダウンロードされた絶対サイズ情報が所定バイトより大きいのか否かを判断する。この「所定バイト」としては様々な数値を採用することができる。例えば、予め設定されている値を「所定バイト」として採用してもよい。また、例えば、「所定バイト」は、記憶部２０の空き容量に基づいて設定されてもよい。記憶部２０の空き容量が大きい場合は「所定バイト」も大きくなり、記憶部２０の空き容量が小さい場合は「所定バイト」も小さくなってもよい。プリンタ１０は、絶対サイズ情報が所定バイトより大きい場合、プリンタ１０は、Ｓ２６でＹＥＳと判断する。この場合、Ｓ２８に進む。一方において、絶対サイズ情報が所定バイトより小さい場合、プリンタ１０は、Ｓ２６でＮＯと判断する。この場合、Ｓ３２に進む。
【００３３】
Ｓ２８では、プリンタ１０は、ＸＨＴＭＬデータ８０，１００をサーバ５０に送信する。Ｓ１６でスタイルシートファイル９０がダウンロードされた場合、プリンタ１０は、スタイルシートファイル９０もサーバ５０に送信する。このＳ２８の処理を実行することによって、後述する処理がサーバ５０によって実行されることになる。サーバ５０が実行する処理の内容は後で詳しく説明する。サーバ５０は、処理後のＸＨＴＭＬデータ８０，１００をプリンタ１０に送信する。プリンタ１０は、処理後のＸＨＴＭＬデータ８０，１００を受信する（Ｓ３０）。
【００３４】
最後に、プリンタ１０は、印刷処理を実行する（Ｓ３０）。例えば、Ｓ１２でＮＯと判断された場合、プリンタ１０は、ＸＨＴＭＬデータ以外の形式の印刷データに基づいてラスタライズ処理を実行してビットマップデータを作成し、そのビットマップデータに基づいて印刷する。また、例えば、Ｓ１８でＮＯと判断された場合、プリンタ１０は、ＸＨＴＭＬデータに基づいてラスタライズ処理を実行してビットマップデータを作成し、そのビットマップデータに基づいて印刷する。この場合、画像オブジェクトが印刷されることはなく、例えばテキストデータのみが印刷される。画像オブジェクトのアドレスがＸＨＴＭＬデータに含まれていないからである。また、例えば、Ｓ２６でＮＯと判断された場合、プリンタ１０は、ＸＨＴＭＬデータに基づいて印刷する。この場合、プリンタ１０は、ＸＨＴＭＬデータに含まれるアドレスに従って画像オブジェクトをダウンロードする。プリンタ１０は、ダウンロードされた画像オブジェクトに対してラスタライズ処理を実行してビットマップデータを作成し、そのビットマップデータに基づいて印刷する。また、例えば、Ｓ３０が実行された場合、プリンタ１０は、Ｓ３０で受信されたＸＨＴＭＬデータに基づいてラスタライズ処理を実行してビットマップデータを作成し、そのビットマップデータに基づいて印刷する。この場合、プリンタ１０は、画像オブジェクトをダウンロードする必要がない。後述するように、画像オブジェクトは、サーバ５０によってダウンロードされ、ＸＨＴＭＬデータ（Ｓ３０で受信されるＸＨＴＭＬデータ）の中に書き込まれているからである。
【００３５】
（サーバの処理）
続いて、サーバ５０が実行する処理の内容について説明する。この処理は、サーバ５０の制御部５６によって実行される。図７は、サーバ５０が実行する処理のフローチャートを示す。この処理は、プリンタ１０，３０，４０から送信されたＸＨＴＭＬデータが受信されることを契機に開始される。即ち、プリンタ１０等が図２のＳ２８の処理を実行することを契機に開始される。
【００３６】
サーバ５０は、プリンタ１０等からのＸＨＴＭＬデータを受信する（Ｓ４０）。次いで、サーバ５０は、書き込み処理を実行する（Ｓ４２）。書き込み処理については、後で詳しく説明する。サーバ５０は、Ｓ４２の書き込み処理後のＸＨＴＭＬデータをプリンタ１０等に返信する。これにより、プリンタ１０等は、上記の図２のＳ３０でＸＨＴＭＬデータを受信し、それに基づいて印刷処理を実行することになる。
【００３７】
図８は、書き込み処理のフローチャートを示す。サーバ５０は、図７のＳ４０で受信されたＸＨＴＭＬデータを所定量だけ読み込む（Ｓ５０）。次いで、サーバ５０は、ＸＨＴＭＬデータの最後まで読み込んだのか否かを判断する（Ｓ５２）。ここでＹＥＳの場合、書き込み処理が終了する。一方において、Ｓ５２でＮＯの場合、サーバ５０は、Ｓ５０で読み込まれたＸＨＴＭＬデータの中に画像オブジェクトのアドレスが含まれているのか否かを判断する（Ｓ５４）。ここでＮＯの場合、Ｓ５０に戻って次の所定量のＸＨＴＭデータを読み込む。一方において、Ｓ５４でＹＥＳの場合、Ｓ５６に進む。
【００３８】
Ｓ５６では、サーバ５０は、画像オブジェクトをダウンロードする。具体的には、プリンタ１０は、画像オブジェクトファイルのアドレス（例えば図３の符号８４、図５の符号１０６）から特定されるデバイスに対して、そのアドレスから特定される画像オブジェクトファイルを送信するように指示する。これにより、サーバ５０は、画像オブジェクトを取得することができる。この画像オブジェクトは、バイナリデータである。
【００３９】
次いで、サーバ５０は、画像オブジェクトに対してリサイズ処理を実行する（Ｓ５８）。このＳ５８の処理は、リサイズ処理が必要である場合にのみ実行される。リサイズ処理が必要でない場合、Ｓ５８の処理はスキップされる。サーバ５０は、Ｓ５６でダウンロードされた画像オブジェクトのヘッダ情報から絶対サイズ情報を読み込む。また、サーバ５０は、Ｓ４０で受信されたＸＨＴＭＬデータ又はスタイルシートファイルに記述されている印刷サイズ情報を読み込む。サーバ５０は、印刷サイズ情報と絶対サイズ情報とを比較することによって、リサイズ処理が必要であるのか否かを判断する。ここで肯定的に判断された場合、サーバ５０は、印刷サイズ情報に適合するように画像オブジェクトをリサイズ（例えば縮小）する。リサイズの手法は、公知の手法を利用すればよい。ここでは、リサイズの手法についての説明を省略する。なお、リサイズ処理後の画像オブジェクトもバイナリデータである。
【００４０】
次いで、サーバ５０は、画像オブジェクトに対して回転処理を実行する（Ｓ６０）。このＳ６０の処理は、回転処理が必要である場合にのみ実行される。回転処理が必要でない場合、Ｓ６０の処理はスキップされる。サーバ５０は、Ｓ４０で受信されたＸＨＴＭＬデータ又はスタイルシートファイルに記述されている回転角度情報を読み込む。サーバ５０は、回転角度情報がゼロであるのか否かを判断することによって、回転処理が必要であるのか否かを判断する。ここで肯定的に判断された場合、サーバ５０は、回転角度情報に適合するように画像オブジェクトを回転させる。回転の手法は、公知の手法を利用すればよい。ここでは、回転の手法についての説明を省略する。なお、回転処理後の画像オブジェクトもバイナリデータである。
【００４１】
上述したように、Ｓ５６でダウンロードされた画像オブジェクトは、Ｓ５８及び／又はＳ６０の処理が実行される場合もあれば、実行されない場合もある。以下では、いずれの画像オブジェクトも「処理後の画像オブジェクト」と呼ぶ。サーバ５０は、処理後の画像オブジェクトに対応するデータをＳ４０で受信されたＸＨＴＭＬデータに書き込む（Ｓ６２）。図６は、Ｓ６２の処理が実行された後のＸＨＴＭＬデータの一例を示す。図６のＸＨＴＭＬデータ１１０は、図５のＸＨＴＭＬデータ１００に処理後の画像オブジェクトが書き込まれたものである。ＸＨＴＭＬデータ１１０は、画像オブジェクトに対応するデータ１１６を含んでいる。上述したように、処理後の画像オブジェクトは、バイナリデータである。ＸＨＴＭＬデータは、テキスト形式で記述されるデータである。サーバ５０は、処理後の画像オブジェクトをバイナリデータからテキストデータに変換する。この変換には、ベース６４という記述方式が利用される。ＸＨＴＭＬデータ１１０は、ベース６４の記述方式を特定する文字列１１６ａを含んでいる。サーバ５０は、バイナリデータの画像オブジェクトをテキスト化することによって、処理後の画像オブジェクト（バイナリデータ）に対応するテキストデータを作成する。図６では、テキストデータ１１６の一例がよく示されている。Ｓ６２を終えると、サーバ５０は、Ｓ５０に戻って次の所定量のＸＨＴＭＬデータを読み込む。
【００４２】
上述したように、図７のＳ４４において処理後のＸＨＴＭＬデータ１１０がプリンタ１０等に送信される。プリンタ１０等は、ＸＨＴＭＬデータ１１０の内容を解析することによって、処理後の画像オブジェクトを再現することができる。プリンタ１０は、処理後の画像オブジェクトをラスタライズすることによってビットマップデータを作成し、それに基づいて印刷する。
【００４３】
実施例のプリンタシステム２について詳しく説明した。このプリンタシステム２では、プリンタ１０等が受信してサーバ５０に送信した処理前の印刷データの形式（ＸＨＴＭＬ形式）と、サーバ５０によって作成される処理後の印刷データの形式とが一致している。このために、プリンタ１０等は、処理後の印刷データに基づいて印刷することができる。上記のプリンタシステム２によると、サーバ５０によって作成される処理後の印刷データに基づいて、プリンタ１０等が確実に印刷することができる。
【００４４】
また、プリンタ１０は、画像オブジェクトのアドレスを含んでいないＸＨＴＭＬデータをサーバ５０に送信しない。また、プリンタ１０は、画像オブジェクトのアドレスを含んでいるＸＨＴＭＬデータであっても、回転処理とリサイズ処理を加える必要がなく、かつ、メモリの許容範囲内である場合は、ＸＨＴＭＬデータをサーバ５０に送信しない。これらの構成によると、プリンタ１０は、サーバ５０にＸＨＴＭＬデータを送信してそれが返信されるのを待たなくても、印刷処理を実行することができる。このために、印刷処理を高速で実行することができる。
【００４５】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００４６】
（１）上記の実施例では、画像オブジェクトに対する変形処理の例として、回転処理とリサイズ処理を採用している。しかしながら、画像オブジェクトに対する他の変形処理（グラデーション、塗りつぶし、色の変更、ぼかし、影の付加、上下左右の反転、色や明るさの反転等）を採用してもよい。この場合、これらの変形処理を実行することを指示する情報が、ＸＨＴＭＬデータやスタイルシートファイルに含まれていてもよい。プリンタ１０は、これらの変形処理を実行する必要があるのか否かを判断し、必要があればＸＨＴＭＬデータをサーバ５０に送信するようにしてもよい。
【００４７】
（２）画像オブジェクトのダウンロードは、プリンタ１０によって実行されてもよい。この場合、プリンタ１０は、ＸＨＴＭＬデータと、ダウンロードされた画像オブジェクトとをサーバ５０に送信する。この場合、サーバ５０は、画像オブジェクトをダウンロードする必要がない。
【００４８】
（３）上記のプリンタ１０は、ＸＨＴＭＬ形式以外の印刷データをサーバ５０に送信しない。しかしながら、プリンタ１０は、ＸＨＴＭＬ形式以外の印刷データをサーバ５０に送信してもよい。この場合、サーバ５０は、プリンタ１０から送信されてきたものと同じ形式の印刷データ（処理後の印刷データ）をプリンタ１０に返信してもよい。
【００４９】
（４）図２のＳ２６の処理は、Ｓ１８の後であってＳ２０の前に実行されてもよい。この場合、Ｓ２６の処理で肯定的に判断されると、Ｓ２８に進むようにしてもよい。Ｓ２６の処理で否定的に判断されると、Ｓ２０に進むようにしてもよい。
【００５０】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００５１】
【図１】プリンタシステムの構成を示す。
【図２】プリンタの印刷処理のフローチャートを示す。
【図３】ＸＨＴＭＬ−Ｐｒｉｎｔデータの一例を示す。
【図４】スタイルシートファイルの一例を示す。
【図５】ＸＨＴＭＬ−Ｐｒｉｎｔデータの一例を示す。
【図６】処理後のＸＨＴＭＬ−Ｐｒｉｎｔデータの一例を示す。
【図７】サーバの処理のフローチャートを示す。
【図８】書き込み処理のフローチャートを示す。
【符号の説明】
【００５２】
１０，３０，４０：プリンタ
１２：操作部
１４：表示部
１６：制御部
１８：印刷部
２０：記憶部
２２：入出力ポート
５０：サーバ
５２：操作部
５４：表示部
５６：制御部
６０：記憶部
６２：入出力ポート
８０，１００：ＸＨＴＭＬ−Ｐｒｉｎｔデータ
９０：スタイルシートファイル
１１０：処理後のＸＨＴＭＬ−Ｐｒｉｎｔデータ
【図１】
0004915325.tif 000002
【図２】
0004915325.tif 000003
【図３】
0004915325.tif 000004
【図４】
0004915325.tif 000005
【図５】
0004915325.tif 000006
【図６】
0004915325.tif 000007
【図７】
0004915325.tif 000008
【図８】
0004915325.tif 000009