(57)【特許請求の範囲】
【請求項１】
サーバ装置が、
端末から、印刷データに基づいて生成された第１中間形式データを受信し、
前記印刷データの印刷出力先に関する情報の受信に応じて、出力印刷機を特定し、
前記サーバ装置が備えている記憶部に記憶されている、前記出力印刷機の印刷設定仕様と中間形式データとの対応関係の情報を用いて、特定した前記出力印刷機に前記第１中間形式データが適合するかを、前記印刷設定仕様と対応関係を有する前記中間形式データと、前記第１中間形式データとの比較結果に基づいて判定し、
前記判定の結果に応じて、前記第１中間形式データより、特定した前記出力印刷機に適合する第２中間形式データを生成し、
前記第２中間形式データが生成された場合、該第２中間形式データまたは該第２中間形式データに基づいて前記サーバ装置が変換した印刷形式データを、特定した前記出力印刷機に送信する、
処理を実行することを特徴とする印刷出力方法。
【請求項２】
前記サーバ装置が、
前記第１中間形式データを前記記憶部に記憶し、
前記印刷データの印刷出力先に関する情報の受信に応じて、前記記憶部から前記第１中間形式データを取得する、
処理を実行することを特徴とする請求項１記載の印刷出力方法。
【請求項３】
前記サーバ装置が、
前記端末から、前記第１中間形式データと共に受信した、前記出力印刷機が指定された情報に基づいて、前記出力印刷機を特定する、
処理を実行することを特徴とする請求項１または２記載の印刷出力方法。
【請求項４】
前記サーバ装置が、
前記第１中間形式データに含まれる複数の印刷設定情報のうち、相互に対応付けられた複数の印刷設定情報を所定の規則に基づいて一括変換し、前記第２中間形式データを生成する、
処理を実行することを特徴とする請求項１乃至３のうち何れか１項に記載の印刷出力方法。
【請求項５】
前記サーバ装置が、
前記端末から、前記第１中間形式データと共に前記印刷データの印刷を許容する１以上のユーザを識別するユーザ情報を受信し、
前記第１中間形式データと前記ユーザ情報とを対応付けて前記記憶部に記憶し、
前記出力印刷機からのユーザ情報の受信に応じて、前記記憶部を参照して、該ユーザ情報に対応するユーザが前記印刷データの印刷を許容されたユーザであるかを判定し、
前記判定の結果に応じて、前記第２中間形式データまたは前記印刷形式データを前記出力印刷機に送信する、
処理を実行することを特徴とする請求項２記載の印刷出力方法。
【請求項６】
サーバ装置に、
端末から、印刷データに基づいて生成された第１中間形式データを受信し、
前記印刷データの印刷出力先に関する情報の受信に応じて、出力印刷機を特定し、
前記サーバ装置が備えている記憶部に記憶されている、前記出力印刷機の印刷設定仕様と中間形式データとの対応関係の情報を用いて、特定した前記出力印刷機に前記第１中間形式データが適合するかを、前記印刷設定仕様と対応関係を有する前記中間形式データと、前記第１中間形式データとの比較結果に基づいて判定し、
前記判定の結果に応じて、前記第１中間形式データより、特定した前記出力印刷機に適合する第２中間形式データを生成し、
前記第２中間形式データが生成された場合、該第２中間形式データまたは該第２中間形式データに基づいて前記サーバ装置が変換した印刷形式データを、特定した前記出力印刷機に送信する、
処理を実行させることを特徴とする印刷出力プログラム。
【請求項７】
端末が、印刷データに基づいて生成された第１中間形式データをサーバ装置に送信し、
前記サーバ装置が、前記印刷データの印刷出力先に関する情報の受信に応じて、出力印刷機を特定し、
前記サーバ装置が、前記サーバ装置が備えている記憶部に記憶されている、前記出力印刷機の印刷設定仕様と中間形式データとの対応関係の情報を用いて、特定した前記出力印刷機に前記第１中間形式データが適合するかを、前記印刷設定仕様と対応関係を有する前記中間形式データと、前記第１中間形式データとの比較結果に基づいて判定し、
前記サーバ装置が、前記判定の結果に応じて、前記第１中間形式データより、特定した前記出力印刷機に適合する第２中間形式データを生成し、
前記第２中間形式データが生成された場合、前記サーバ装置が、該第２中間形式データまたは該第２中間形式データに基づいて前記サーバ装置が変換した印刷形式データを、特定した前記出力印刷機に送信し、
前記出力印刷機が、前記第２中間形式データまたは前記印刷形式データに基づいて、印刷を行う、
ことを特徴とする印刷出力方法。
【請求項８】
前記サーバ装置が、
前記第１中間形式データを前記記憶部に記憶し、
前記印刷データの印刷出力先に関する情報の受信に応じて、前記記憶部から前記第１中間形式データを取得する、
ことを特徴とする請求項７記載の印刷出力方法。
【請求項９】
前記端末が、前記第１中間形式データと共に前記出力印刷機を指定した情報を前記サーバ装置に送信し、
前記サーバ装置が、前記出力印刷機を指定した情報に基づいて、前記出力印刷機を特定する、
ことを特徴とする請求項７または８記載の印刷出力方法。
【請求項１０】
前記サーバ装置が、
前記第１中間形式データに含まれる複数の印刷設定情報のうち、相互に対応付けられた複数の印刷設定情報を所定の規則に基づいて一括変換し、前記第２中間形式データを生成する、
ことを特徴とする請求項７乃至９のうち何れか１項に記載の印刷出力方法。
【請求項１１】
前記サーバ装置が、
前記端末から、前記第１中間形式データと共に前記印刷データの印刷を許容する１以上のユーザを識別するユーザ情報を受信し、
前記第１中間形式データと前記ユーザ情報とを対応付けて前記記憶部に記憶し、
前記出力印刷機からのユーザ情報の受信に応じて、前記記憶部を参照して、該ユーザ情報に対応するユーザが前記印刷データの印刷を許容されたユーザであるかを判定し、
前記判定の結果に応じて、前記第２中間形式データまたは前記印刷形式データを前記出力印刷機に送信する、
ことを特徴とする請求項８記載の印刷出力方法。
【請求項１２】
１以上の端末とサーバ装置と複数の印刷機とがネットワークにより接続された印刷出力システムであって、
前記サーバ装置は、
前記端末から、印刷データに基づいて生成された第１中間形式データを受信する通信部と、
前記印刷データの印刷出力先に関する情報の受信に応じて、出力印刷機を特定する特定部と、
前記出力印刷機の印刷設定仕様と中間形式データとの対応関係の情報が記憶されている記憶部と、
前記記憶部に記憶されている、前記出力印刷機の印刷設定仕様と中間形式データとの対応関係の情報を用いて、特定した前記出力印刷機に前記第１中間形式データが適合するかを、前記印刷設定仕様と対応関係を有する前記中間形式データと、前記第１中間形式データとの比較結果に基づいて判定する判定部と、
前記判定の結果に応じて、前記第１中間形式データより、特定した前記出力印刷機に適合する第２中間形式データを生成する生成部と、
を備え、
前記通信部は、前記第２中間形式データが生成された場合、該第２中間形式データまたは該第２中間形式データに基づいて前記サーバ装置が変換した印刷形式データを、特定した前記出力印刷機に送信する、
ことを特徴とする印刷出力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷出力方法、印刷出力プログラムおよび印刷出力システムに関する。
【背景技術】
【０００２】
端末が印刷機に印刷データを送信し、印刷機が該印刷データに基づいて印刷を行うシステムがある。近年、端末が印刷機に送信するデータとして、複数種類の印刷機で印刷可能な汎用性が高い中間形式データが用いられている。関連する技術として、以下の技術が提案されている（特許文献１乃至６を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２１５３６１号公報
【特許文献２】特開２００３−２９６２１４号公報
【特許文献３】特開２００８−１５２５４５号公報
【特許文献４】特開２００６−３１８２４５号公報
【特許文献５】特開２０１１−１４６００８号公報
【特許文献６】特開２０１２−７８９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
中間形式データは汎用性が高い印刷データであり、該中間形式データは、例えば、端末で実行されるプリンタドライバ等のソフトウェアにより生成される。この際、中間形式データを生成するプリンタドライバ等のソフトウェアによっては、該中間形式データに独自の印刷設定がされる場合がある。【０００５】
中間形式データに独自の印刷設定がされている場合、印刷出力先の印刷機によっては、設定された独自の印刷設定が印刷機により正しく解釈されない場合がある。また、中間形式データに独自の印刷設定がされていない場合でも、ソフトウェアにより生成された中間形式データが、印刷出力先の印刷機に正常に認識されない場合もある。このような場合、中間形式データに基づく印刷が正常に行われなくなる。【０００６】
１つの側面として、本発明は、出力先の印刷機によらず中間形式データに基づく印刷を正常に行わせることを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、サーバ装置は、端末から、印刷データに基づいて生成された第１中間形式データを受信し、前記印刷データの印刷出力先に関する情報の受信に応じて、出力印刷機を特定し、前記サーバ装置が備えている記憶部に記憶されている、前記出力印刷機の印刷設定仕様と中間形式データとの対応関係の情報を用いて、特定した前記出力印刷機に前記第１中間形式データが適合するかを、前記印刷設定仕様と対応関係を有する前記中間形式データと、前記第１中間形式データとの比較結果に基づいて判定し、前記判定の結果に応じて、前記第１中間形式データより、特定した前記出力印刷機に適合する第２中間形式データを生成し、前記第２中間形式データが生成された場合、該第２中間形式データまたは該第２中間形式データに基づいて前記サーバ装置が変換した印刷形式データを、特定した前記出力印刷機に送信する。
【発明の効果】
【０００８】
１つの側面によれば、出力先の印刷機によらず中間形式データに基づく印刷を正常に行わせることができる。
【図面の簡単な説明】
【０００９】
【図１】印刷出力システムの一例を示す図である。
【図２】端末の一例を示す図である。
【図３】サーバ装置の一例を示す図である。
【図４】印刷機の一例を示す図である。
【図５】タグの記述例を示す図である。
【図６】第２中間形式データの生成の一例を示す図である。
【図７】テーブルに基づく変換例を示す図（その１）である。
【図８】テーブルに基づく変換例を示す図（その２）である。
【図９】テーブルに基づく変換例を示す図（その３）である。
【図１０】第１印刷処理パターンの一例を示す図である。
【図１１】第１印刷処理パターンの処理の流れの一例を示すフローチャート（その１）である。
【図１２】第１印刷処理パターンの処理の流れの一例を示すフローチャート（その２）である。
【図１３】第１印刷処理パターンの処理の流れの一例を示すフローチャート（その３）である。
【図１４】第２印刷処理パターンの一例を示す図である。
【図１５】第２印刷処理パターンの処理の流れの一例を示すフローチャート（その１）である。
【図１６】第２印刷処理パターンの処理の流れの一例を示すフローチャート（その２）である。
【図１７】第２印刷処理パターンの処理の流れの一例を示すフローチャート（その３）である。
【図１８】第２印刷処理パターンの処理の流れの一例を示すフローチャート（その４）である。
【図１９】第３印刷処理パターンの一例を示す図である。
【図２０】第３印刷処理パターンの処理の流れの一例を示すフローチャート（その１）である。
【図２１】第３印刷処理パターンの処理の流れの一例を示すフローチャート（その２）である。
【図２２】変換処理の流れの一例を示すフローチャート（その１）である。
【図２３】変換処理の流れの一例を示すフローチャート（その２）である。
【図２４】他の例における変換処理のテーブル例を示す図である。
【図２５】他の例における変換処理の変換例を示す図である。
【図２６】他の例における変換処理の流れの一例を示すフローチャート（その１）である。
【図２７】他の例における変換処理の流れの一例を示すフローチャート（その２）である。
【図２８】変形例の処理の流れの一例を示すフローチャートである。
【図２９】端末のハードウェア構成の一例を示す図である。
【図３０】サーバ装置のハードウェア構成の一例を示す図である。
【図３１】印刷機のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
＜実施形態のシステムの全体構成の一例＞
図１は、実施形態の印刷出力システム１の一例を示す。印刷出力システム１において、複数の端末２（２Ａ、２Ｂ、・・・）とサーバ装置３と複数の印刷機４（４Ａ、４Ｂ、・・・）とがネットワーク５を介して接続される。
【００１１】
ネットワーク５に接続される端末２は１台であってもよい。また、ネットワーク５に接続される複数の印刷機４は、サーバ装置３により管理される。
【００１２】
端末２は、印刷機４に所定の印刷を実行させるための端末である。サーバ装置３は、端末２からの印刷指示を受信し、出力先に応じた印刷機４に印刷を実行させる。実施形態では、ネットワーク５に、複数種類の印刷機４が接続されるものとする。例えば、ベンダ（供給元）または機種が異なる印刷機４がネットワーク５に接続されるものとする。
【００１３】
端末２は、所定のコンピュータである。例えば、端末２は、パーソナルコンピュータやタブレット端末、スマートフォン等であってもよい。実施形態の端末２は、ハードウェアリソースが少ないシンクライアント端末であることを想定する。ただし、端末２は、シンクライアント端末には限定されない。
【００１４】
印刷機４は、印刷機能に特化したプリンタであってもよいし、印刷機能にファクシミリ機能やコピー機能等が付加された複合機等であってもよい。実施形態の印刷機４は、複合機であることを想定する。ただし、印刷機４は、複合機には限定されない。
【００１５】
実施形態のネットワーク５は、インターネット網であることを想定する。ただし、ネットワーク５は、Local Area Network(LAN)やWide Area Network(WAN)等の内部ネットワークであってもよい。
【００１６】
端末２は、印刷機４に所定の印刷を実行させるための第１中間形式データを生成し、生成された第１中間形式データをサーバ装置３に送信する。サーバ装置３は、端末２から受信した第１中間形式データを、印刷出力先（以下、出力先と称することもある）の印刷機４に適合する第２中間形式データに変換する。
【００１７】
これにより、印刷出力先の印刷機４に適合する第２中間形式データが生成される。以下、第１中間形式データおよび第２中間形式データを中間形式データと総称することがある。
【００１８】
実施形態では、第１中間形式データと第２中間形式データとの２段階の中間形式データが生成される。中間形式データは、例えば、Extensible Markup Language(XML)をベースとしたXML Paper Specification(XPS)であってもよい。
【００１９】
中間形式データは、複数種類の印刷機４が解釈可能な汎用性が高い印刷データである。サーバ装置３は、中間形式データまたは印刷形式データを、印刷出力先の印刷機４に送信する。印刷形式データは、印刷出力先の印刷機４に対応した印刷データである。印刷形式データは、例えば、Page Description Language(PDL)であってもよい。
【００２０】
＜端末の一例＞
図２は、端末２の一例を示す。端末２は、端末制御部１１と印刷データ生成部１２と仮想印刷ドライバ１３と端末通信部１４と端末入力部１５と端末表示部１６と端末記憶部１７とを含む。
【００２１】
端末制御部１１は、端末２の各種制御を行う。印刷データ生成部１２は、印刷データを生成する。例えば、印刷データは、端末２により実行される所定のアプリケーションプログラム（以下、ソフトウェアと称する）が生成する文書データや画像データ等である。
【００２２】
仮想印刷ドライバ１３は、印刷データ生成部１２が生成した印刷データから、第１中間形式データを生成する。例えば、仮想印刷ドライバ１３は、上記のソフトウェアの印刷機能により実現されてもよい。
【００２３】
端末通信部１４は、ネットワーク５を介して、サーバ装置３と通信を行う。端末入力部１５は、端末２に対して所定の入力を行うための入力部である。例えば、端末入力部１５は、キーボードやマウス等であってもよい。
【００２４】
端末表示部１６は、所定の情報を表示する表示部である。例えば、端末表示部１６は、ディスプレイ等であってもよい。端末入力部１５と端末入力部１５とは一体型のタッチパネルディスプレイ等であってもよい。端末記憶部１７は、所定の情報を記憶する。
【００２５】
＜サーバ装置の一例＞
図３は、サーバ装置３の一例を示す。サーバ装置３は、サーバ制御部２１と特定部２２と判定部２３と生成部２４と取得部２５とプリンタドライバ２６とサーバ通信部２７とサーバ記憶部２８とを含む。
【００２６】
サーバ制御部２１は、サーバ装置３の各種の制御を行う。特定部２２は、端末２からの情報に基づいて、または印刷機４からの情報に基づいて、端末２の印刷データ生成部１２が生成した印刷データの印刷出力先の印刷機４を特定する。
【００２７】
判定部２３は、端末２から受信した第１中間形式データが、特定された印刷出力先の印刷機４に適合するかを判定する。生成部２４は、判定部２３による判定の結果に応じて、第１中間形式データを変換して、第２中間形式データを生成する。
【００２８】
端末２から受信した第１中間形式データはサーバ記憶部２８に記憶される。取得部２５は、サーバ記憶部２８に記憶された第１中間形式データを取得する。プリンタドライバ２６は、第２中間形式データを、印刷出力先の印刷機４に対応した印刷形式データに変換する。
【００２９】
例えば、プリンタドライバ２６は、印刷出力先の印刷機４に対応した印刷形式データを生成するプログラムであり、印刷出力先の印刷機４の種類の数に応じて、該プログラムがサーバ記憶部２８に記憶される。なお、サーバ装置３にはプリンタドライバ２６の機能がない場合もある。
【００３０】
サーバ通信部２７は、ネットワーク５を介して、端末２および印刷機４と通信を行う。サーバ通信部２７は、通信部の一例である。サーバ記憶部２８は、所定の情報を記憶する。サーバ記憶部２８は、記憶部の一例である。
【００３１】
サーバ装置３のうち、サーバ記憶部２８と他の各部とは、異なる装置により実現されてもよい。サーバ装置３の機能を複数の装置で実現することにより、負荷の分散や、可用性の向上、たとえば、装置故障によるサービス停止の抑止を図ることができる。
【００３２】
＜印刷機の一例＞
図４は、印刷機４の一例を示す。印刷機４は、印刷機制御部３１と認証部３２とタッチパネルディスプレイ３３と印刷機通信部３４と印刷機記憶部３５とを含む。印刷機制御部３１は、印刷機４の各種の制御を行う。例えば、印刷機制御部３１は、印刷機４に内蔵される印刷機構を制御して、所定の紙葉類（印刷用紙等）に印刷を行う。
【００３３】
認証部３２は、印刷機４を操作するユーザが正当な権限を有するユーザであるかの認証（ユーザ認証）を行う。このため、認証部３２は、印刷機４を操作するユーザを識別するユーザ情報を認識する。
【００３４】
例えば、印刷機４にカードリーダが設けられる場合、該カードリーダがユーザの非接触式カードと近距離無線通信を行い、認証部３２はユーザ情報を認識してもよい。また、タッチパネルディスプレイ３３がユーザ情報の入力を受け付けた場合、認証部３２は、受け付けたユーザ情報に基づいて、ユーザ情報を認識してもよい。
【００３５】
タッチパネルディスプレイ３３は、表示機能と入力機能とを含む。該表示機能と該入力機能とは別個の装置により実現されてもよい。例えば、表示機能はディスプレイにより実現され、入力機能はキー等により実現されてもよい。
【００３６】
印刷機通信部３４は、ネットワーク５を介して、サーバ装置３と通信を行う。印刷機記憶部３５は、所定の情報を記憶する。
【００３７】
＜タグの記述例＞
次に、タグの記述例について説明する。中間形式データには１つ以上の印刷設定に関する情報（印刷設定情報）が含まれる。実施形態では、該印刷設定情報は、中間形式データに含まれるタグにより実現されるものとする。印刷設定情報は、タグ以外の情報により実現されてもよい。
【００３８】
実施形態では、中間形式データは、上述したＸＰＳ形式のデータであるものとする。ただし、中間形式データは、ＸＰＳ形式のデータには限定されない。
【００３９】
ＸＰＳ形式の場合、中間形式データのうち、プリントチケット領域と称される所定の領域に印刷設定を示すタグが記述される。該タグの記述（印刷設定仕様）が、印刷出力先の印刷機４に対応していない場合がある。この場合、印刷機４で正常な印刷が行われない。
【００４０】
例えば、プリントチケット領域には、所定の規約に準じたタグが記述される。端末２の仮想印刷ドライバ１３によっては、上記の規約に準じないタグが第１中間形式データに記述される場合がある。また、上記の規約にはない独自のタグが、プリントチケット領域以外の領域に記述される場合もある。
【００４１】
また、端末２の仮想印刷ドライバ１３が生成する第１中間形式データに規約に準じたタグが記述されている場合でも、印刷出力先の印刷機４が、該第１中間形式データを正常に解釈しない場合もある。以上のような場合、印刷機４で正常な印刷が行われない。
【００４２】
図５の例における「第１中間形式データの記述例」は、上記の規約に準じた第１中間形式データの一例である。「第１中間形式データの記述例」は、印刷用紙にパンチ穴を開ける加工を示す印刷設定の例を示す。第１中間形式データは汎用性が高い印刷データであるため、印刷設定の自由度は低い。
【００４３】
例えば、パンチ穴を開ける印刷設定の場合、パンチ穴を開ける加工のバリエーション数は少なくなる。図５の例における「第１中間形式データの記述例」は、印刷用紙の左端にパンチ穴を開ける印刷設定を示す記述例を示す（図５における「psk:LeftEdge」）。
【００４４】
例えば、端末２を操作するユーザが端末入力部１５を用いて、印刷用紙の２箇所にパンチ穴を開ける印刷設定を指定する操作を行ったとする。端末２は、該操作を受け付ける。
【００４５】
仮想印刷ドライバ１３は、指定された印刷設定に基づいて、第１中間形式データを生成する。該第１中間形式データは、上記の規約に準じていないタグの記述を含む。例えば、図５の例において、「独自タグの記述例１」は、パンチ穴の加工の印刷設定について、上記の規約に準じていない記述の例である。
【００４６】
図５の例において、「独自タグの記述例２」は、Ｚ折りの加工を示す印刷設定の記述例を示す。上記の規約では、折りの加工についての印刷設定は定義されていない。このため、折りの加工を示す印刷設定が指定された場合、仮想印刷ドライバ１３は、独自のタグの記述を含む第１中間形式データを生成する。
【００４７】
＜第２中間形式データの生成の一例＞
次に、図６を参照して、第２中間形式データの生成の一例について説明する。図６の例に示されるように、生成部２４は、第１中間形式データを入力する。生成部２４は、サーバ記憶部２８に記憶された複数のテーブルのうち、印刷出力先の印刷機４に応じたテーブルを参照して、第１中間形式データを第２中間形式データに変換する。該変換により、第２中間形式データが生成される。
【００４８】
サーバ装置３は、第１中間形式データの印刷出力先の印刷機４の種類を特定する情報を受信する。例えば、印刷機４の種類を特定する情報は、ベンダを特定する情報であってもよいし、印刷機４の機種を特定する情報であってもよい。
【００４９】
テーブルＴ（Ｔ１、Ｔ２、Ｔ３・・・）は、ベンダごと、または印刷機４の機種ごとに、サーバ記憶部２８に記憶される。テーブルＴは、ベンダごと、または印刷機４の機種ごとに、第１中間形式データから第２中間形式データへの変換対象を特定するテーブルである。
【００５０】
以下、テーブルＴは、ベンダごとのテーブルであるものとして説明するが、該テーブルＴは、印刷機４の機種ごとのテーブルであってもよい。生成部２４が、第１中間形式データを第２中間形式データに変換する際、同じベンダの印刷機４には共通の変換規則が適用される。
【００５１】
サーバ装置３は、第１中間形式データと共に印刷出力先の印刷機４を特定する情報（出力先情報）を端末２から受信する場合がある。サーバ装置３は、印刷機４から出力先情報を受信する場合もある。出力先情報は、印刷データの印刷出力先に関する情報の一例である。
【００５２】
生成部２４は、受信した出力先情報に応じたテーブルＴを選択し、選択されたテーブルＴを参照して、第１中間形式データのプリントチケット領域に記述されたタグのうち、変換対象のタグを特定する。
【００５３】
サーバ記憶部２８には、出力先情報が示す印刷機４に応じたタグ変換プログラムが記憶されている。生成部２４は、該タグ変換プログラムを用いて、特定された変換対象のタグを変換する。これにより、生成部２４は、第１中間形式データから第２中間形式データを生成する。
【００５４】
図７は、テーブルＴ１に基づく第１中間形式データの変換例を示す図である。例えば、テーブルＴ１は、ベンダＡについてのテーブルであるものとする。出力先情報がベンダＡに属する印刷機４であることを示す場合、生成部２４は、テーブルＴ１を参照する。
【００５５】
テーブルＴは、例えば、図７の例に示されるように、タグ名とｎａｍｅ属性の値との項目を含む。タグ名およびｎａｍｅ属性の値は、名前空間とローカル名との項目を含む。タグ名は、タグの名称を示す。ｎａｍｅ属性の値は、印刷設定の内容を示す。
【００５６】
図７の例において、点線で囲まれた部分の記述は、１つの意味をなす記述である。図７の例では、「psf:Featur」から「/psf:Feature」までが１つの意味（製本）をなす記述である。以下、１つの意味をなす記述を「要素」と称する。
【００５７】
例えば、図７の例における第１中間形式データの記述例のうち、点線で囲まれた部分の要素は、テーブルＴ１に対応する。生成部２４は、該要素を、ベンダＡの印刷設定仕様に適合する形式に変換する。図７の例では、「psk」が「vnd」に変換される。これにより、ベンダＡの印刷設定仕様に適合する第２中間形式データが生成される。
【００５８】
図８は、テーブルＴ２に基づく第１中間形式データの変換例を示す図である。テーブルＴ２は、ベンダＢについてのテーブルであるものとする。図８の第１中間形式データの記述例のうち、点線で囲まれた部分の要素は、テーブルＴ２に対応する。
【００５９】
生成部２４は、点線で囲まれた部分を、ベンダＢの印刷設定仕様に適合する形式に変換する。図８の例では、第１中間形式データに一点鎖線で囲まれた記述が追加される。これにより、ベンダＢの印刷設定仕様に適合する第２中間形式データが生成される。
【００６０】
図９は、テーブルＴ３に基づく第１中間形式データの変換例を示す図である。テーブルＴ３は、ベンダＣについてのテーブルであるものとする。図８の第１中間形式データの記述例のうち、テーブルＴ３に対応する要素はない。この場合、生成部２４は、第１中間形式データの変換を行わない。
【００６１】
上述した各例において、生成部２４は、第１中間形式データの要素（タグ）を変換し、第２中間形式データを生成する例を示したが、例えば、生成部２４は、第１中間形式データの印刷設定を木構造やKey-Valueとしたデータを変換してもよい。
【００６２】
＜第１印刷処理パターンの一例＞
図１０は、第１印刷処理パターンの一例を示す図である。図１０の例における印刷出力システム１では、端末２は、第１中間形式データと共に出力先情報をサーバ装置３に送信する。これにより、端末２からサーバ装置３に印刷指示が送信される。
【００６３】
また、図１０の例における印刷出力システム１では、サーバ装置３は、第１中間形式データから第２中間形式データを生成し、生成された第２中間形式データを印刷形式データに変換する。そして、サーバ装置３は、出力先情報により特定される印刷機４に印刷形式データを送信する。
【００６４】
サーバ装置３は、第１中間形式データから第２中間形式データを生成し、生成された第２中間形式データを印刷形式データに変換する。そして、サーバ装置３は、出力先情報により特定される印刷機４に印刷形式データを送信する。
【００６５】
次に、第１印刷処理パターンの処理の流れについて説明する。図１１は、端末２の処理の流れの一例を示すフローチャートである。例えば、端末２を操作するユーザは、所定のソフトウェア（例えば、文書作成ソフトウェア等）を起動させる操作を、端末入力部１５に対して行う。
【００６６】
端末２は、該操作を受け付け、指定されたソフトウェアを起動する。端末２に対して、起動中のソフトウェアの印刷設定操作が行われたとする。端末２は、該印刷設定操作を受け付ける（ステップＳ１）。
【００６７】
この印刷設定操作には、印刷出力先の印刷機４を指定する操作が含まれる。これにより、端末２は、出力先情報を認識する。受け付けた印刷設定操作に基づく印刷設定は、印刷出力先の印刷機４に対応していない場合がある。
【００６８】
端末２に対して、印刷実行操作が行われると、端末２は、該印刷実行操作を受け付ける（ステップＳ２）。この場合、印刷データ生成部１２は印刷データを生成する。該印刷データは、１つのデータ（例えば、文書データ）であってもよいし、複数のデータ（例えば、文書データおよび画像データ）を含んでいてもよい。
【００６９】
仮想印刷ドライバ１３は、該印刷データに基づく第１中間形式データを生成する（ステップＳ３）。端末２の端末通信部１４は、第１中間形式データと出力先情報とを含む印刷ジョブデータを印刷指示として、サーバ装置３に送信する（ステップＳ４）。この印刷ジョブデータには、ユーザを識別するユーザ情報が含まれてもよい。
【００７０】
次に、図１２を参照して、サーバ装置３の処理の流れの一例について説明する。サーバ通信部２７は、印刷ジョブデータを受信する（ステップＳ１１）。サーバ制御部２１は、受信した印刷ジョブデータをサーバ記憶部２８に記憶する（ステップＳ１２）。
【００７１】
そして、サーバ制御部２１は、サーバ記憶部２８に記憶された印刷ジョブデータを取得する（ステップＳ１３）。印刷ジョブデータをサーバ記憶部２８に記憶することで、例えば、サーバ装置３から印刷機４への印刷形式データの送信が失敗した場合でも、該印刷形式データの再送信を行うことができる。
【００７２】
印刷ジョブデータには、出力先情報が含まれる。特定部２２は、該出力先情報に基づいて、印刷出力先の印刷機４（出力印刷機）を特定する（ステップＳ１４）。そして、判定部２３は、特定された印刷機４の印刷設定仕様に、第１中間形式データが適合するかを判定する（ステップＳ１５）。
【００７３】
例えば、サーバ記憶部２８に、印刷機４の印刷設定仕様（例えば、ベンダの印刷設定仕様）と中間形式データとの対応関係が記憶されている場合、判定部２３は、該対応関係に基づいて、ステップＳ１５の判定を行ってもよい。
【００７４】
ステップＳ１５でＮＯの場合、第１中間形式データは、印刷出力先の印刷機４の印刷設定仕様に適合しない。この場合、生成部２４は、第１中間形式データを変換して、印刷出力先の印刷機４の印刷設定仕様に適合する第２中間形式データを生成する（ステップＳ１６）。
【００７５】
ステップＳ１５でＹＥＳの場合、第１中間形式データは、印刷出力先の印刷機４の印刷設定仕様に適合する。このため、ステップＳ１６の処理は行われない。
【００７６】
プリンタドライバ２６は、第１中間形式データまたは第２中間形式データを変換して、印刷形式データを生成する（ステップＳ１７）。印刷形式データは、印刷出力先の印刷機４に対応した印刷データである。
【００７７】
ステップＳ１５でＮＯの場合、プリンタドライバ２６は、第１中間形式データを変換する。ステップＳ１５でＹＥＳの場合、プリンタドライバ２６は、第２中間形式データを変換する。そして、サーバ通信部２７は、生成された印刷形式データを、出力先情報が示す印刷出力先の印刷機４に送信する（ステップＳ１８）。
【００７８】
次に、図１３を参照して、印刷機４の処理の流れの一例について説明する。印刷機制御部３１は、印刷機通信部３４が印刷形式データを受信したかを判定する（ステップＳ２１）。ステップＳ２１でＮＯの場合、処理は次のステップには進まない。
【００７９】
ステップＳ２１でＹＥＳの場合、印刷機通信部３４は、サーバ装置３から印刷形式データを受信する。該印刷形式データは、印刷機４に対応した印刷データである。印刷機制御部３１は、該印刷形式データに基づいて、印刷実行の制御を行う。これにより、印刷形式データに応じた印刷が実行される（ステップＳ２２）。
【００８０】
第１印刷処理パターンでは、端末２は、第１中間形式データと共に出力先情報をサーバ装置３に送信する。以下に説明する第２印刷処理パターンおよび第３印刷処理パターンでは、端末２は、出力先情報の送信を行わない。端末２は、第１中間形式データと共にユーザを識別するユーザ情報をサーバ装置３に送信する。
【００８１】
＜第２印刷処理パターンの一例＞
図１４は、第２印刷処理パターンの一例を示す図である。図１４の例における印刷出力システム１では、端末２は、第１中間形式データと共にユーザ情報をサーバ装置３に送信する。サーバ装置３は、受信した第１中間形式データをユーザ情報と対応付けて、サーバ記憶部２８に記憶する。
【００８２】
図１４の例における印刷出力システム１に示されるように、印刷機４からサーバ装置３にユーザ情報が送信される。例えば、端末２に対して印刷設定操作および印刷実行操作を行ったユーザが、印刷出力先の印刷機４で認証操作やタッチパネルディスプレイ３３に対する操作等を行ったとする。
【００８３】
例えば、認証操作が行われた場合、認証部３２が認証を行うことにより、認証を行ったユーザ情報が認識される。また、タッチパネルディスプレイ３３に対してユーザを識別する情報が入力されると、ユーザ情報が認識される。
【００８４】
印刷機制制御部３１は、認識されたユーザ情報をサーバ装置３に送信する。サーバ装置３は、印刷機４からのユーザ情報の受信に応じて、サーバ記憶部２８に記憶されているユーザ情報を参照する。
【００８５】
そして、サーバ装置３は、受信したユーザ情報に対応付けられている第１中間形式データを取得する。サーバ装置３は、取得された第１中間形式データから第２中間形式データを生成し、生成された第２中間形式データを印刷形式データに変換する。そして、サーバ装置３は、ユーザ情報の送信元の印刷機４に印刷形式データを送信する。
【００８６】
次に、第１印刷処理パターンの処理の流れについて説明する。図１５は、端末２の処理の流れの一例を示すフローチャートである。ステップＳ４−１以外の各処理は、図１１と同様であるため、説明を省略する。端末２の端末通信部１４は、第１中間形式データとユーザ情報とを含む印刷ジョブデータをサーバ装置３に送信する（ステップＳ４−１）。
【００８７】
次に、図１５および図１６を参照して、サーバ装置３の処理の流れの一例について説明する。サーバ通信部２７は、印刷ジョブデータを端末２から受信する（ステップＳ１１）。
【００８８】
サーバ制御部２１は、受信した印刷ジョブデータをサーバ記憶部２８に記憶する（ステップＳ１２）。印刷ジョブデータには第１中間形式データとユーザ情報とが含まれるため、第１中間形式データとユーザ情報とは対応付けられて、サーバ記憶部２８に記憶される。
【００８９】
サーバ制御部２１は、印刷機４からユーザ情報を受信したかを判定する（ステップＳ１２−１）。ステップＳ１２−１でＮＯの場合、ステップは次の処理には進まない。ステップＳ１２−１でＹＥＳの場合、取得部２５は、受信したユーザ情報に対応付けられた第１中間形式データをサーバ記憶部２８から取得する（ステップＳ１３）。
【００９０】
特定部２２は、印刷機４から受信したユーザ情報に基づいて、該印刷機４を出力印刷機として特定する（ステップＳ１４）。例えば、印刷機４がユーザ情報を送信する際、該ユーザ情報と共に印刷機４のネットワークアドレスをサーバ装置３に送信してもよい。
【００９１】
特定部２２は、受信したネットワークアドレスに基づいて、該ネットワークアドレスの送信元の印刷機４を出力印刷機として特定する。そして、処理は「Ａ」に進む。「Ａ」以降の処理について、図１７を参照して説明する。
【００９２】
判定部２３は、特定された印刷機４の印刷設定仕様に、第１中間形式データが適合するかを判定する（ステップＳ１５）。ステップＳ１５でＮＯの場合、生成部２４は、第１中間形式データを変換して、印刷出力先の印刷機４の印刷設定仕様に適合する第２中間形式データを生成する（ステップＳ１６）。
【００９３】
ステップＳ１５でＹＥＳの場合、生成部２４は、ステップＳ１６の処理を行わない。プリンタドライバ２６は、第１中間形式データまたは第２中間形式データを変換して、印刷形式データを生成する（ステップＳ１７）。
【００９４】
サーバ通信部２７は、生成された印刷形式データを、ユーザ情報の送信元である印刷機４に印刷形式データを送信する（ステップＳ１８−１）。例えば、上述したように、印刷機４からユーザ情報と共にネットワークアドレスが送信される場合、サーバ通信部２７は、該ネットワークアドレスが示す印刷出力先の印刷機４に、印刷形式データを送信する。
【００９５】
次に、図１８を参照して、印刷機４の処理の流れの一例について説明する。印刷機制御部３１は、ユーザ情報を認識したかを判定する（ステップＳ２０−１）。例えば、タッチパネルディスプレイ３３がユーザ情報の入力を受け付けた場合、または認証部３２による認証（ユーザ認証）が行われた場合に、印刷機制御部３１は、ユーザ情報を認識したと判定する。
【００９６】
ステップＳ２０−１でＮＯの場合、処理は次のステップには進まない。ステップＳ２０−１でＹＥＳの場合、ユーザ情報が認識される。
【００９７】
印刷機通信部３４は、ユーザ情報をサーバ装置３に送信する（ステップＳ２０−２）。この際、印刷機通信部３４は、ユーザ情報と共に上記のネットワークアドレスをサーバ装置３に送信してもよい。
【００９８】
印刷機制御部３１は、印刷機通信部３４が印刷形式データを受信したかを判定する（ステップＳ２１）。ステップＳ２１でＮＯの場合、処理は次のステップには進まない。
【００９９】
ステップＳ２１でＹＥＳの場合、印刷機通信部３４は、サーバ装置３から印刷形式データを受信する。印刷機制御部３１は、該印刷形式データに基づいて、印刷実行の制御を行う。これにより、印刷形式データに応じた印刷が実行される（ステップＳ２２）。
【０１００】
第２印刷処理パターンでは、端末２は、第１中間形式データと共にユーザ情報をサーバ装置３に送信し、サーバ装置３は、第１中間形式データを記憶する。例えば、ネットワーク５がインターネット網である場合、端末２は、ユーザ情報と共に第１中間形式データをサーバ装置３に送信（アップロード）する。
【０１０１】
この場合、端末２に、印刷出力先の印刷機４に対応するプリンタドライバがインストールされていなくても、該端末２は、任意の印刷機４に対して、正常な印刷を実行させることができる。例えば、端末２が第１中間形式データを送信した際の場所と、印刷機４が設置されている場所とが遠隔地であったとしても、該印刷機４の印刷設定仕様に応じた印刷が行われる。
【０１０２】
また、上述したように、ユーザは、任意の場所に設置された印刷機４に対して、アップロードされた第１中間形式データに基づく印刷を実行させることができる。このため、例えば、複数台の印刷機４のうち待ち時間の長い印刷機４を回避して、待ち時間の短い印刷機４に対して、印刷を実行させることができる。
【０１０３】
また、端末２からサーバ装置３に複数の印刷ジョブデータが送信されることも考えられる。この場合、サーバ装置３のサーバ記憶部２８には、ユーザ情報に対応付けられた複数の第１中間形式データが記憶される。
【０１０４】
上述したように、印刷機４に対して、タッチパネルディスプレイ３３を用いたユーザ情報の入力または認証部３２よるユーザ認証が行われた場合、該印刷機４は、ユーザ情報とネットワークアドレスとをサーバ装置３に送信する。
【０１０５】
サーバ装置３は、受信したユーザ情報に対応付けられた複数の第１中間形式データをサーバ記憶部２８から取得し、該複数の第１中間形式データの一覧（ジョブ一覧）を、ユーザ情報の送信元の印刷機４に送信してもよい。
【０１０６】
該印刷機４は、ジョブ一覧の受信に応じて、タッチパネルディスプレイ３３に、受信したジョブ一覧を表示する。これにより、ユーザは、タッチパネルディスプレイ３３に表示されたジョブ一覧の中から印刷を実行する第１中間形式データを選択することができる。
【０１０７】
タッチパネルディスプレイ３３は、第１中間形式データの選択を受け付けた場合、選択された第１中間形式データを指定する情報をサーバ装置３に送信する。これにより、サーバ装置３は、印刷を実行する第１中間形式データを特定することができる。これは、以下に説明する第３印刷処理パターンも同様である。
【０１０８】
＜第３印刷処理パターンの一例＞
図１９は、第３印刷処理パターンの一例を示す図である。第２印刷処理パターンでは、サーバ装置３が、印刷形式データを印刷出力先の印刷機４に送信する例を説明した。第３印刷処理パターンにおける印刷出力システム１では、サーバ装置３は、第２中間形式データを印刷出力先の印刷機４に送信する。
【０１０９】
印刷出力先の印刷機４は、第２中間形式データに基づいて、印刷を行う。このため、第３印刷処理パターンにおける印刷出力システム１では、印刷出力先の印刷機４は、中間形式データに基づく印刷が可能な印刷機であることが前提となる。以下、印刷出力先の印刷機４は、中間形式データの解釈が可能であるものとする。
【０１１０】
上述したように、プリンタドライバ２６は、第２中間形式データを、印刷出力先の印刷機４に対応した印刷形式データに変換する。また、ネットワーク５には複数の印刷機４が接続される。プリンタドライバ２６は印刷機４に対応した印刷形式データに変換するため、サーバ装置３には複数のプリンタドライバ２６がインストールされる。
【０１１１】
一方、第３印刷処理パターンの場合、印刷形式データは生成されない。プリンタドライバ２６の機能は使用されないため、サーバ装置３には、プリンタドライバ２６はインストールされない。このため、サーバ装置３にインストールされるプリンタドライバ２６の数を削減できる。
【０１１２】
次に、図２０を参照して、第３印刷処理パターンの処理の流れについて説明する。端末２が行う処理については、第２印刷処理パターンと同様であるため、説明を省略する。また、サーバ装置３が行う処理のうちステップＳ１１からステップＳ１６までの処理は、第２印刷処理パターンと同様であるため、説明を省略する。
【０１１３】
サーバ装置３は、ユーザ情報の送信元である印刷機４が中間形式データを印刷可能な場合、該中間形式データを印刷機４に送信する（ステップＳ１７−２）。該中間形式データは、第１中間形式データまたは第２中間形式データの何れかである。
【０１１４】
例えば、サーバ記憶部２８に、各印刷機４のそれぞれについて、中間形式データを印刷可能か否かの情報が記憶されているとする。この場合、サーバ装置３は、サーバ記憶部２８に記憶されている情報を参照して、ユーザ情報の送信元である印刷機４が中間形式データを印刷可能であるか否かを判定してもよい。
【０１１５】
図２１を参照して、印刷機４が行う処理の流れについて説明する。ステップＳ２０−１およびＳ２０−２については、第２印刷処理パターンと同様であるため、説明を省略する。印刷機制御部３１は、印刷機通信部３４が中間形式データを受信したかを判定する（ステップＳ２１）。ステップＳ２１でＮＯの場合、処理は次のステップには進まない。
【０１１６】
ステップＳ２１でＹＥＳの場合、印刷機通信部３４は、サーバ装置３から第１中間形式データまたは第２中間形式データを受信する。印刷機制御部３１は、第１中間形式データまたは第２中間形式データに基づいて、印刷実行の制御を行う。これにより、中間形式データに基づく印刷が実行される（ステップＳ２２−１）。
【０１１７】
＜変換処理の一例＞
次に、サーバ装置３の生成部２４が、第１中間形式データから第２中間形式データに変換する変換処理の一例について説明する。図２２および図２３は、変換処理の一例を示すフローチャートである。
【０１１８】
サーバ装置３のサーバ通信部２７は、第１中間形式データと出力先情報とを受信する（ステップＳ３１）。サーバ通信部２７は、第１中間形式データを端末２から受信する。サーバ通信部２７は、出力先情報を端末２または印刷機４から受信する。
【０１１９】
生成部２４は、受信した出力先情報に基づいて、サーバ記憶部２８に記憶されている複数のテーブルＴのうち、印刷出力先の印刷機４に応じたテーブルＴを選択する（ステップＳ３２）。
【０１２０】
上述したように、特定部２２は、受信した出力先情報に基づいて、印刷出力先の印刷機４を特定し、生成部２４は、特定された印刷機４が属するベンダに対応するテーブルＴをサーバ記憶部２８から選択する。
【０１２１】
中間形式データに記述されたＸＭＬのタグには印刷設定に関する要素が含まれる。生成部２４は、第１中間形式データの要素と、選択されたテーブルＴとを１つずつ照合する（ステップＳ３３）。
【０１２２】
生成部２４は、第１中間形式データに含まれる全ての要素が、選択されたテーブルＴと照合されたかを判定する（ステップＳ３４）。ステップＳ３４でＮＯの場合、生成部２４は、照合対象の要素が変換対象の要素であるかを判定する（ステップＳ３５）。
【０１２３】
生成部２４は、テーブルＴに要素が対応する場合、該要素を変換対象の要素（変換要素）であると判定する。ステップＳ３５でＮＯの場合、生成部２４は、変換要素を要素の集合に追加する（ステップＳ３６）。
【０１２４】
上述したように、要素は、１つの意味（印刷設定）をなす記述である。該要素には、複数のタグが含まれる場合がある。実施形態では、テーブルＴには、要素のタグが定義される。これにより、照合対象の要素が要素の集合に追加された際、照合対象の要素に含まれるタグも一括して要素の集合に追加される。
【０１２５】
実施形態では、要素のタグおよび要素に含まれる１または複数のタグは、相互に関連性があるタグであるものとする。該タグは、印刷設定情報の一例である。
【０１２６】
ステップＳ３６の処理が終了した後、またはステップＳ３５でＹＥＳの場合、処理はステップＳ３３に戻る。ステップＳ３４でＮＯの場合、処理は「Ｂ」に進む。「Ｂ」以降の処理について、図２３を参照して説明する。
【０１２７】
生成部２４は、第１中間形式データを、印刷出力先の印刷機４に適合する第２中間形式データに変換する。実施形態では、該変換をタグ変換プログラムが行う。該タグ変換プログラムは、テーブルＴに応じて、サーバ記憶部２８に記憶される。
【０１２８】
上述したように、テーブルＴは、ベンダごとにサーバ記憶部２８に記憶される。従って、タグ変換プログラムも、ベンダごとにサーバ記憶部２８に記憶される。タグ変換プログラムは、ベンダに応じたプログラムである。なお、該タグ変換プログラムは、印刷機４の機種に応じたプログラムであってもよい。
【０１２９】
生成部２４は、サーバ記憶部２８に記憶されているタグ変換プログラムから、出力先情報が示す印刷出力先の印刷機４が属するベンダに対応するタグ変換プログラムを選択する（ステップＳ３７）。
【０１３０】
生成部２４は、要素の集合から要素を取得する。生成部２４は、要素の集合が空になったかを判定する（ステップＳ３８）。ステップＳ３８でＮＯの場合、生成部２４は、取得された要素をタグ変換プログラムに入力する（ステップＳ３９）。
【０１３１】
タグ変換プログラムは、取得された要素を、第２中間形式データの印刷設定仕様に適合する要素に変換する。生成部２４は、変換後の要素を取得する（ステップＳ４０）。そして、処理は、ステップＳ３８に戻る。要素の集合が空になるまで、ステップＳ３９およびＳ４０の処理が行われる。
【０１３２】
ステップＳ３８でＹＥＳの場合、第１中間形式データのタグの記述のうち、要素の集合に追加された各要素に対応する記述を、変換後の要素に置換する（ステップＳ４１）。これにより、生成部２４は、第１中間形式データから第２中間形式データを生成する。従って、要素のタグおよび該要素に含まれる１または複数のタグが一括してタグ変換プログラムにより変換される。
【０１３３】
＜変換処理の他の例＞
次に、変換処理の他の例について説明する。変換処理の他の例では、生成部２４は、第１中間形式データのタグの記述から上述した要素を抽出し、該要素を機能データに変換する。機能データは、上述した要素に基づく構造的なデータであり、該要素が示す印刷設定の機能を表す。
【０１３４】
図２４は、該他の例におけるテーブルＴ１〜Ｔ３の一例を示す。例えば、テーブルＴ１には、「製本」と「ページサイズ」とが定義されている。
【０１３５】
該テーブルＴ１に基づいて、第１中間形式データから第２中間形式データが生成される場合、第１中間形式データのタグの記述に、「製本」という印刷設定の機能を示す要素が含まれていれば、該要素は、タグ変換プログラムにより変換される。
【０１３６】
図２５は、変換処理の他の例における変換例を示す。第１中間形式データには、ホールパンチに関する印刷設定はされていないことを示す要素、および製本に関する印刷設定（図２５の例では、「DocumentBinding」）は上部であることを示す要素が含まれている。変換処理の他の例では、第１中間形式データから、ホールパンチと製本との機能データが生成される。
【０１３７】
図２５のテーブルＴ１の例に示されるように、該テーブルＴ１には、「製本」と「ページサイズ」とが定義されている。また、第１中間形式データから「製本」の機能データが生成される。生成部２４は、第１中間形式データのうち、製本に関する要素をタグ変換プログラムにより変換して、印刷出力先の印刷機４に適合する第２中間形式データを生成する。
【０１３８】
図２６および図２７は、変換処理の他の例を示すフローチャートである。サーバ装置３のサーバ通信部２７は、第１中間形式データと出力先情報とを受信する（ステップＳ５１）。生成部２４は、第１中間形式データのタグの記述に含まれる各要素を上述した機能データに変換する（ステップＳ５２）。
【０１３９】
生成部２４は、受信した出力先情報に基づいて、サーバ記憶部２８に記憶されている複数のテーブルＴのうち、印刷出力先の印刷機４に応じたテーブルＴを選択する（ステップＳ５３）。そして、生成部２４は、第１中間形式データの機能データと、選択されたテーブルＴとを１つずつ照合する（ステップＳ５４）。
【０１４０】
生成部２４は、第１中間形式データの全ての機能データが、選択されたテーブルＴと照合されたかを判定する（ステップＳ５５）。ステップＳ５５でＮＯの場合、生成部２４は、照合対象の機能データが変換対象の機能データであるかを判定する（ステップＳ５６）。
【０１４１】
生成部２４は、テーブルＴに機能データが対応する場合、該機能データを変換対象の機能データであると判定する。ステップＳ３５でＹＥＳの場合、生成部２４は、照合対象の機能データを変換設定として変換設定の集合に追加する（ステップＳ５７）。変換対象でない機能データ（例えば、図２５の例の「パンチホールなし」）は、変換設定の集合に追加されない。
【０１４２】
ステップＳ５７の処理が終了した後、またはステップＳ５６でＮＯの場合、処理はステップＳ５４に戻る。ステップＳ５５でＮＯの場合、処理は「Ｃ」に進む。「Ｃ」以降の処理について、図２７を参照して説明する。
【０１４３】
生成部２４は、サーバ記憶部２８に記憶されているタグ変換プログラムから、出力先情報が示す印刷出力先の印刷機４が属するベンダに対応するタグ変換プログラムを選択する（ステップＳ５８）。
【０１４４】
生成部２４は、変換設定の集合から機能データを取得する。生成部２４は、変換設定の集合が空になったかを判定する（ステップＳ５９）。ステップＳ５９でＮＯの場合、生成部２４は、取得された機能データをタグ変換プログラムに入力する（ステップＳ６０）。
【０１４５】
タグ変換プログラムは、取得された機能データを、第２中間形式データの印刷設定仕様に適合する要素に変換する。生成部２４は、変換後の要素を取得する（ステップＳ６１）。そして、処理はステップＳ５９に戻る。要素の集合が空になるまで、ステップＳ６０およびＳ６１の処理が行われる。
【０１４６】
ステップＳ５９でＹＥＳの場合、第１中間形式データのタグの記述のうち、変換設定の集合に追加された各機能データに対応する要素の記述を、変換後の要素に置換する（ステップＳ４１）。これにより、生成部２４は、第１中間形式データから第２中間形式データを生成する。
【０１４７】
＜変形例＞
次に、変形例について説明する。変形例では、サーバ装置３が端末２から受信するユーザ情報と、該サーバ装置３が印刷機４から受信するユーザ情報とは異なるものとする。以下、端末２を操作するユーザをユーザＡとする。
【０１４８】
端末２を操作するユーザＡは、該端末２に対して、印刷設定操作および印刷実行操作を行う際に、印刷を許容するユーザを指定する。以下の変形例では、指定されたユーザは、ユーザＢであるものとして説明する。
【０１４９】
端末２は、ユーザＢの指定を受け付ける。端末２は、第１中間形式データと共に指定ユーザ情報（指定されたユーザＢを示す情報）をサーバ装置３に送信する。サーバ装置３は、第１中間形式データおよび指定ユーザ情報を受信する（ステップＳ７１）。
【０１５０】
サーバ制御部２１は、第１中間形式データと指定ユーザ情報とを対応付けて、サーバ記憶部２８に記憶する（ステップＳ７２）。例えば、ユーザＢが、印刷機４でユーザ認証を行ったとする。認証部３２は、ユーザＢを示すユーザ情報を認識する。印刷機通信部３４は、該ユーザ情報をサーバ装置３に送信する。
【０１５１】
サーバ装置３は、ユーザＢを示すユーザ情報を印刷機４から受信する（ステップＳ７３）。サーバ制御部２１は、サーバ記憶部２８に記憶されている指定ユーザ情報を参照して、受信したユーザ情報が指定ユーザ情報に含まれているかを判定する（ステップＳ７４）。これにより、印刷機４から受信したユーザ情報が、印刷を許容されたユーザであるかが判定される。
【０１５２】
ステップＳ７４でＹＥＳの場合、サーバ通信部２７は、印刷形式データまたは第２中間形式データを印刷機４に送信する（ステップＳ７５）。これにより、印刷機４で印刷が行われる。ステップＳ７４でＮＯの場合、ステップＳ７５の処理は行われない。
【０１５３】
ここで、ユーザＡが端末２により作成した印刷データを、ユーザＢに印刷させる場合、例えば、ユーザＡの端末２からユーザＢの端末２に、印刷データを添付した電子メールを送信することが考えられる。この場合、ユーザＢの端末２にも印刷データが記憶されることから、印刷データが漏洩する可能性が高くなる。
【０１５４】
一方、変形例では、ユーザＢの端末２には印刷データは送信されないため、印刷データが漏洩する可能性は低くなる。
【０１５５】
また、上記の場合、ユーザＢの端末２から印刷データの印刷を実行するためには、該印刷データに対応したソフトウェアがユーザＢの端末２にインストールされていることが前提となる。変形例では、サーバ装置３が、第１中間形式データから、印刷出力先の印刷機４に適合した第２中間形式データを生成する。
【０１５６】
このため、ユーザＢの端末２に、印刷データの印刷を実行するためのソフトウェアがインストールされていなくても、印刷データの印刷が可能になる。
【０１５７】
また、端末２からサーバ装置３に第１中間形式データが送信される。該第１中間形式データには、印刷設定がされている。このため、ユーザＢは、印刷設定操作を行うことなく、所定の印刷設定で印刷を実行できる。
【０１５８】
また、サーバ装置３は、所定のタイミングで、第２中間形式データまたは印刷形式データを、ユーザ情報と共に印刷出力先の印刷機４に送信してもよい。印刷機４は、受信したユーザ情報と同じユーザ情報を認識した場合（ユーザ認証が行われた場合やユーザ情報を入力する操作を受け付けた場合等）、印刷を実行してもよい。これにより、ユーザは、任意のタイミングで印刷を行うことができる。
【０１５９】
＜端末のハードウェア構成の一例＞
次に、図２９の例を参照して、端末２のハードウェア構成の一例を説明する。図２９の例に示すように、バス１００に対して、プロセッサ１１１とRandom Access Memory(RAM)１１２とRead Only Memory(ROM)１１３とが接続される。
【０１６０】
また、該バス１００に対して、補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６と入力装置１１７と表示装置１１８とが接続される。プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うプログラムが適用されてもよい。
【０１６１】
ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えば半導体メモリ等を補助記憶装置１１４に適用してもよい。
【０１６２】
媒体接続部１１５は、可搬型記録媒体１１９と接続可能に設けられている。端末２がシンクライアント端末の場合、補助記憶装置１１４および媒体接続部１１５は、端末２に含まれなくてもよい。
【０１６３】
可搬型記録媒体１１９としては、可搬型のメモリが適用されてもよい。この可搬型記録媒体１１９に実施形態の処理を行うプログラムが記録されていてもよい。
【０１６４】
端末記憶部１７は、ＲＡＭ１１２や補助記憶装置１１４等により実現されてもよい。端末通信部１４は、通信インタフェース１１６により実現されてもよい。端末入力部１５は、入力装置１１７により実現されてもよい。端末表示部１６は、表示装置１１８により実現されてもよい。
【０１６５】
端末制御部１１、印刷データ生成部１２および仮想印刷ドライバ１３は、与られたプログラムをプロセッサ１１１が実行することにより実現されてもよい。
【０１６６】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１１９は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１６７】
＜サーバ装置のハードウェア構成の一例＞
次に、図３０の例を参照して、サーバ装置３のハードウェア構成の一例を説明する。図３０の例に示すように、バス２００に対して、プロセッサ２１１とＲＡＭ２１２とＲＯＭ２１３とが接続される。
【０１６８】
また、該バス２００に対して、補助記憶装置２１４と媒体接続部２１５と通信インタフェース２１６と入力装置２１７と表示装置２１８とが接続される。プロセッサ２１１はＲＡＭ２１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うプログラムが適用されてもよい。
【０１６９】
ＲＯＭ２１３はＲＡＭ２１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置２１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクや半導体メモリ等を補助記憶装置２１４に適用してもよい。媒体接続部２１５は、可搬型記録媒体２１９と接続可能に設けられている。
【０１７０】
可搬型記録媒体２１９としては、可搬型のメモリや光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)）等が適用されてもよい。この可搬型記録媒体２１９に実施形態の処理を行うプログラムが記録されていてもよい。
【０１７１】
サーバ記憶部２８は、ＲＡＭ２１２や補助記憶装置２１４等により実現されてもよい。サーバ通信部２７は、通信インタフェース２１６により実現されてもよい。サーバ制御部２１、特定部２２、判定部２３、生成部２４、取得部２５およびプリンタドライバ２６は、与られたプログラムをプロセッサ２１１が実行することにより実現されてもよい。
【０１７２】
ＲＡＭ２１２、ＲＯＭ２１３、補助記憶装置２１４および可搬型記録媒体２１９は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１７３】
＜印刷機のハードウェア構成の一例＞
次に、図３１の例を参照して、印刷機４のハードウェア構成の一例を説明する。図３１の例に示すように、バス３００に対して、プロセッサ３１１とＲＡＭ３１２とＲＯＭ３１３とが接続される。
【０１７４】
また、該バス３００に対して、補助記憶装置３１４と媒体接続部３１５と通信インタフェース３１６とタッチパネルディスプレイ３３とが接続される。プロセッサ３１１はＲＡＭ３１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うプログラムが適用されてもよい。
【０１７５】
ＲＯＭ３１３はＲＡＭ３１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置３１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクや半導体メモリ等を補助記憶装置３１４に適用してもよい。媒体接続部３１５は、可搬型記録媒体３１９と接続可能に設けられている。
【０１７６】
可搬型記録媒体３１９としては、可搬型のメモリや光学式ディスク（例えば、ＣＤやＤＶＤ）等が適用されてもよい。この可搬型記録媒体３１９に実施形態の処理を行うプログラムが記録されていてもよい。
【０１７７】
印刷機記憶部３５は、ＲＡＭ３１２や補助記憶装置３１４等により実現されてもよい。印刷機通信部３４は、通信インタフェース３１６により実現されてもよい。印刷機制御部３１および認証部３２は、与られたプログラムをプロセッサ３１１が実行することにより実現されてもよい。
【０１７８】
ＲＡＭ３１２、ＲＯＭ３１３、補助記憶装置３１４および可搬型記録媒体３１９は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１７９】
＜その他＞
上述したように、実施形態では、サーバ装置３は、端末２から受信した第１中間形式データから、印刷出力先の印刷機４に適合する第２中間形式データを生成し、該第２中間形式データまたは該第２中間形式データに基づく印刷形式データを印刷機４に送信する。
【０１８０】
これにより、端末２が生成した第１中間形式データが、印刷出力先の印刷機４に適合しない場合でも、該印刷機４は、サーバ装置３が生成した第２中間形式データまたは印刷形式データに基づいて印刷を行うことができる。
【０１８１】
例えば、端末２がシンクライアント端末の場合、該端末２に複数の印刷機４に適合したプリンタドライバをインストールすることは難しい。実施形態では、端末２には、第１中間形式データを印刷するプリンタドライバ（仮想印刷ドライバ１３）がインストールされていればよく、複数のプリンタドライバがインストールされていなくてもよい。
【０１８２】
このため、端末２に複数のプリンタドライバがインストールされていなくても、任意の印刷機４を印刷出力先として、該印刷機４に正常な印刷を実行させることができる。
【０１８３】
また、実施形態では、端末２には、上述した第１形式データを印刷する仮想印刷ドライバ１３がインストールされていればよい。このため、端末２が認識していない印刷機４に印刷を実行させる場合、端末２に該印刷機４のプリンタドライバがインストールされなくてもよい。
【０１８４】
従って、端末２がシンクライアント端末でない場合でも、プリンタドライバのインストールという作業を省略することができる。
【０１８５】
また、サーバ装置３は、単に端末２から印刷出力先の印刷機４に送信する印刷データを中継するのではなく、該サーバ装置３は、第１中間形式データから印刷出力先の印刷機４に適合する第２中間形式データを送信する。このため、端末２は、任意の印刷機４に印刷を実行させることができる。
【０１８６】
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１８７】
１    印刷出力システム
２    端末
３    サーバ装置
４    印刷機
５    ネットワーク
１１    端末制御部
１２    印刷データ生成部
１３    仮想印刷ドライバ
１４    端末通信部
１５    端末入力部
１６    端末表示部
１７    端末記憶部
２１    サーバ制御部
２２    特定部
２３    判定部
２４    生成部
２５    取得部
２６    プリンタドライバ
２７    サーバ通信部
３１    印刷機制御部
３２    認証部
３３    タッチパネルディスプレイ
３４    印刷機通信部
３５    サーバ記憶部
１１１、２１１、３１１    プロセッサ
１１２、２１２、３１２    ＲＡＭ
１１３、２１３、３１３    ＲＯＭ
１１４、２１４、３１４    補助記憶装置
１１５、２１５、３１５    媒体接続部
１１６、２１６、３１６    通信インタフェース
１１７、２１７    入力装置
１１８、２１８    表示装置
１１９、２１９、３１９    可搬型記録媒体
【図１】
0006528905.tif 000002
【図２】
0006528905.tif 000003
【図３】
0006528905.tif 000004
【図４】
0006528905.tif 000005
【図５】
0006528905.tif 000006
【図６】
0006528905.tif 000007
【図７】
0006528905.tif 000008
【図８】
0006528905.tif 000009
【図９】
0006528905.tif 000010
【図１０】
0006528905.tif 000011
【図１１】
0006528905.tif 000012
【図１２】
0006528905.tif 000013
【図１３】
0006528905.tif 000014
【図１４】
0006528905.tif 000015
【図１５】
0006528905.tif 000016
【図１６】
0006528905.tif 000017
【図１７】
0006528905.tif 000018
【図１８】
0006528905.tif 000019
【図１９】
0006528905.tif 000020
【図２０】
0006528905.tif 000021
【図２１】
0006528905.tif 000022
【図２２】
0006528905.tif 000023
【図２３】
0006528905.tif 000024
【図２４】
0006528905.tif 000025
【図２５】
0006528905.tif 000026
【図２６】
0006528905.tif 000027
【図２７】
0006528905.tif 000028
【図２８】
0006528905.tif 000029
【図２９】
0006528905.tif 000030
【図３０】
0006528905.tif 000031
【図３１】
0006528905.tif 000032