JP2012221198A - プリントシステム - Google Patents
プリントシステム Download PDFInfo
- Publication number
- JP2012221198A JP2012221198A JP2011085901A JP2011085901A JP2012221198A JP 2012221198 A JP2012221198 A JP 2012221198A JP 2011085901 A JP2011085901 A JP 2011085901A JP 2011085901 A JP2011085901 A JP 2011085901A JP 2012221198 A JP2012221198 A JP 2012221198A
- Authority
- JP
- Japan
- Prior art keywords
- font
- server
- information
- job
- 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.)
- Withdrawn
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 印刷ジョブを生成し、サーバー等に一時溜め置きし、プリンターからの印刷要求に応じてジョブを出力する、というプルプリントシステム(どこプリ)がある。クライアントPCにしか存在しないフォントを使用すると、サーバー上にそのフォントが存在しないのでサーバー上でフォントをラスタライズするときユーザーが意図しないフォントが選択されてしまう。この問題を回避する方法として、印刷データに常にフォントを埋め込む方法や、文字をグラフィックスとして描画する方法が知られているが、これらは印刷データの肥大化を招き、サーバーのストレージ容量の逼迫や印刷速度性能の劣化が懸念される。
【解決手段】 ユーザーがクライアントPC上で印刷実行すると、仮想プリンタードライバーはプリントサーバーで使用可能なフォント情報を取得し、その情報に基づきテキスト描画方法を決定する。
【選択図】 図6
【解決手段】 ユーザーがクライアントPC上で印刷実行すると、仮想プリンタードライバーはプリントサーバーで使用可能なフォント情報を取得し、その情報に基づきテキスト描画方法を決定する。
【選択図】 図6
Description
本発明は、プルプリント制御を行うためのデバイス制御装置、デバイスの制御方法及びプログラムに関する。
従来、ユーザーがクライアントPC上で印刷装置を特定することなく印刷実行した後、印刷装置からサーバー上に一時蓄積された印刷データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能にする所謂「プルプリント」の印刷システムが提案されている(例えば、特許文献1参照)。これにより、ユーザーはアプリケーションからの印刷時に特定の印刷装置への出力ではなく、所望の印刷装置からの印刷データ出力を可能としている。
ユーザーがクライアントPC上で印刷実行する際に、クライアントPCにしか存在しないフォントを使用すると、サーバー上にそのフォントが存在しないのでサーバー上でフォントをラスタライズするときユーザーが意図しないフォントが選択されてしまう。即ち、ユーザーが意図しない印刷物が出力される。従来、よく知られる解決方法としては、印刷データに常にフォントを埋め込む方法や、文字をグラフィックスとして描画する方法が知られている。しかしながら、何れの方法も印刷データの肥大化を招き、サーバーのストレージ容量の逼迫や印刷速度性能の劣化が懸念される。
本発明に係るプリントシステムの構成は、
中間形式の印刷ジョブ生成する仮想プリンタードライバーを備える情報処理装置(100)とプリントサーバー(101)と前記プリントサーバー(101)のアドレスを解決する手段を有するアドレス管理サーバー(103)と印刷装置(102)とで構成されるプリントシステムであって、前記情報処理装置(100)は、
前記プリントサーバー(101)で使用可能なフォント情報を取得する手段と(1−2、SA602)、
前記取得したフォント情報に基づきテキストの描画方法を決定する手段(1−3、SA603〜SA609)と、
を有することを特徴とする。
中間形式の印刷ジョブ生成する仮想プリンタードライバーを備える情報処理装置(100)とプリントサーバー(101)と前記プリントサーバー(101)のアドレスを解決する手段を有するアドレス管理サーバー(103)と印刷装置(102)とで構成されるプリントシステムであって、前記情報処理装置(100)は、
前記プリントサーバー(101)で使用可能なフォント情報を取得する手段と(1−2、SA602)、
前記取得したフォント情報に基づきテキストの描画方法を決定する手段(1−3、SA603〜SA609)と、
を有することを特徴とする。
本発明のプリントシステムによれば、ユーザーが印刷装置からサーバー上に一時蓄積された印刷データに対して印刷要求を行う際に、ユーザーが意図した正しい印刷物が出力可能となる。しかも、印刷データのサイズが著しく肥大化することが無いので、サーバーのストレージ容量の逼迫や印刷速度性能劣化が生じにくい。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
図1は、本発明の情報処理装置およびプリントサーバーおよびアドレス管理サーバーおよび印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。図1の「事業所A」に示すように、本実施形態のプリントシステムは、1又は複数のクライアントPC100(例えば、ユーザー毎)、1又は複数のプリントサーバー101(例えば、階毎に設置)、1又は複数の複合機102(例えば、階毎に設置)、アドレス管理サーバー103、1又は複数のログインサービスPC104(例えば、階毎に設置)、ディレクトリサービスサーバー105がローカルエリアネットワーク(LAN)106を介して接続される構成となっている。
クライアントPC100には、仮想プリンタードライバーがインストールされており、このプリンタードライバーは、クライアント・アプリケーションから受け取ったデータに基づいて特定の複合機に依存しない中間形式の印刷ジョブを生成し、プリントサーバー101へ送信する。なお、中間形式の印刷ジョブとは、フォーマットに関する仕様が公開されていて、かつ再編集が容易な形式の印刷データを意味する。例えば、EMFSPOOL形式(Enhanced Metafile Spool Format)、XPS(XML Paper Specification)などがある。本実施形態においては、EMFSPOOL形式を使って説明するが、XPSやPDFなど他の中間形式の印刷データであってもかまわない。
プリントサーバー101は、受信した該印刷ジョブを所定の格納場所に保存する。また、プリントサーバー101は、ジョブ管理データベース(以後、ジョブ管理DBと呼ぶ)を備え、該印刷ジョブに関するメタデータを、ジョブ管理DBにより記憶管理する。プリントサーバー101は、ジョブ管理DBに記録管理しているメタデータから印刷ジョブ一覧データを生成し、複合機102へ転送制御する。プリントサーバー101は、ジョブ管理DBに記録管理しているメタデータと複合機102から受信する印刷設定情報を使って、印刷設定情報の更新を行い、複合機102へ更新した印刷設定を転送制御する。さらに、プリントサーバー101は、上記所定の格納場所に保存している印刷ジョブ及とジョブ管理DBに記録管理しているメタデータからPDL(Printer Description Language)データ生成し、複合機102へ転送制御する。
アドレス管理サーバー103は、アドレス管理データベース(以後、アドレス管理DBと呼ぶ)を備え、本実施形態の「プルプリント」実行時に、印刷ジョブを管理するプリントサーバー101のアドレスとユーザー識別子を、アドレス管理DBにより記憶管理する。さらに、アドレス管理サーバー103は、複合機102からの印刷ジョブ一覧要求に応じて、複合機102から受信したユーザー識別子に対応するプリントサーバー101のアドレスを複合機102へ送信する。
ログインサービスPC104は、複合機102のログインサービスとして、ディレクトリサービスサーバー105で記憶管理されているクライアントPC100のログインユーザー名、パスワード(例えば、マイクロソフト社のWindows(登録商標)のログインユーザー名、パスワード)に基づく認証処理(SSOと称する。Single Sign−ONの略)を行うものであり、例えば、キヤノン社のセキュリティエージェント(Security Agent)を搭載したパーソナルコンピュータである。
ディレクトリサービスサーバー105は、ネットワーク上に存在するサーバー、クライアント、プリンター等のハードウェア資源や、それらを使用するユーザーの属性(クライアントPC100のログインユーザー名、パスワード(例えば、マイクロソフト社のWindows(登録商標)のログインユーザー名、パスワード)を含む)、アクセス権等の情報を一元記憶管理するものであり、例えば、アクティブディレクトリ(Active Directory)機能を搭載したサーバーである。
また、本実施形態のプリントシステムは、上述した構成の「事業所A」と、1又は複数のクライアントPC100,1又は複数のプリントサーバー101,1又は複数の複合機102がLAN106を介して接続される構成の1又は複数の「事業所B」とが、WAN107を介して接続される構成であってもよい。
図2を用いて、図1に示したクライアントPC100、プリントサーバー101、アドレス管理サーバー103、ログインサービスPC104、ディレクトリサービスサーバー105に適用可能な情報処理装置のハードウェア構成について説明する。図2は、図1に示したクライアントPC100、プリントサーバー101、アドレス管理サーバー103、ログインサービスPC104、ディレクトリサービスサーバー105に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバー或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。また、205は入力コントローラで、キーボード209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、モニター210への表示を制御する。
一般に、モニター210は液晶ディスプレイやCRT等の表示器である。これらは必要に応じて管理者が使用するものである。207はメモリコントローラーで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)、SSD(Solid State Drive)、SDメモリーカード等の外部メモリ211へのアクセスを制御する。208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN106)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、モニター210上での表示を可能としている。また、CPU201は、モニター210上の不図示のマウスカーソル等でのユーザー指示を可能とする。本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
図3を用いて、図1に示した複合機102を制御するコントローラーユニットのハードウェア構成について説明する。図3は、図1に示した複合機102のコントローラーユニットのハードウェア構成の一例を示すブロック図である。図3において、316はコントローラーユニットで、画像入力デバイスとして機能するスキャナー314や、画像出力デバイスとして機能するプリンター312と接続する一方、LAN(例えば、図1に示したLAN106)や公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。コントローラーユニット316において、301はCPUで、システム全体を制御するプロセッサである。302はRAMで、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
303はROMで、システムのブートプログラムや各種制御プログラムが格納されている。304はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム,画像データ等を格納する。307は操作部インターフェース(操作部I/F)で、操作部(UI)308とのインターフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザー情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザーが押下(指等でタッチ)することにより、各種指示を行うことができる。305はネットワークインターフェース(Network I/F)で、ネットワーク(LAN)に接続し、データの入出力を行う。306はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
318は外部インターフェース(外部I/F)で、USB、IEEE1394,プリンターポート,RS−232C等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダー319が外部I/F部318に接続されている。そして、CPU301は、この外部I/F318を介してカードリーダー319によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。320はイメージバスインターフェース(IMAGE BUS I/F)であり、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
310はラスターイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。311はプリンタインターフェース(プリンターI/F)で、プリンター312とコントローラーユニット316を接続し、画像データの同期系/非同期系の変換を行う。また、313はスキャナーインターフェース(スキャナI/F)で、スキャナー314とコントローラーユニット316を接続し、画像データの同期系/非同期系の変換を行う。317は画像処理部で、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンターの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナー部314は、原稿となる紙上の画像を照明し、CCDラインセンサーで走査することで、ラスターイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダーのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナー314に指示を与え、フィーダーは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。プリンター部312は、ラスターイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。
なお、プリンター部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。
また、操作部308のIDキーは、使用者のユーザーIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。カードリーダー319は、CPU301からの制御により、ICカード(例えば、ソニー社のフェリカ(FeliCa)(登録商標))内に記憶されている情報を読み取り、該読み取った情報を外部I/F318を介してCPU301へ通知する。以上のような構成によって、複合機102は、スキャナー314から読み込んだ画像データをLAN106上に送信し、LAN106から受信した印刷データをプリンター312により印刷出力することができる。また、スキャナー314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信し、公衆回線からFAX受信した画像データをプリンター312により出力することできる。
図4を用いて、本実施形態のプリントシステムにおけるプルプリントの全体の流れについて説明する。その前に、まず、本実施形態のプルプリントを実行するための前提について説明する。本実施形態のプルプリントを実現するための仮想プリンタードライバーをプリントサーバー101に共有プリンターとしてインストールしておく。プリンタードライバーは、アプリケーションから指示された印字や描画命令の出力に基づいて印刷データを生成するだけでなく、プリンタードライバーやプリンターが持つ機能を制御するための印刷設定を行う機能(ユーザーインターフェース)と、その印刷設定をインストールされた論理プリンター毎に外部記憶装置に記憶する機能等を有する。
また、この印刷設定は、米国Microsoft社のWindows(登録商標)の場合、DEVMODE構造体に格納される。このDEVMODE構造体とは、プリンターが使用可能な機能,レイアウト設定,仕上げ設定,給・排紙設定,印字品質設定等の論理プリンターに関するデフォルトの動作条件を含む各種設定を記憶するために、米国Microsoft社が規定したものであり、インストールされた論理プリンター毎に外部記憶装置に記憶される。各クライアントPC100へは、仮想プリンタードライバーを前記プリントサーバー101からポイント&プリント等でダウンロードしてインストールして、該仮想プリンタードライバーの論理プリンターを追加しておく。
以下、本実施形態のプルプリントの全体の流れについて説明する。図4は、本実施形態のプリントシステムにおけるプルプリント(どこでもプリント)の全体の流れを説明する模式図である。図4に示すように、まず、ユーザーは、クライアントPC100にログインし、該クライアントPC100で実行されるクライアント・アプリケーション400から仮想プリンタードライバー401に対応する論理プリンターへの印刷指示を行う(1−1)。この印刷指示に応じて、クライアントPC100のクライアント・アプリケーション400は、グラフィックエンジンを介して、仮想プリンタードライバー401にデータを送信する。
クライアントPC100の仮想プリンタードライバー401は、該クライアント・アプリケーションからグラフィックエンジンを介して印刷に必要なデータを受け取る(1−1)。さらにフォント情報管理サービス409からプリントサーバー101に関するフォント情報を受信する(1−2)。そして、受信したフォント情報に基づいてデバイスに依存しないEMFSPOOL形式の印刷ジョブを生成する。なお、フォント情報の詳細とフォント情報に基づいたデバイスに依存しないEMFSPOOL形式の印刷ジョブ生成方法については後述する。そして、クライアントPC100は、生成したEMFSPOOL形式の印刷ジョブをプリントサーバー101に送信する(1−3)。プリントサーバー101にて、プリントプロセッサー402は、仮想プリンタードライバー401から送信されてきたEMFSPOOL形式の印刷ジョブを読み取り、印刷ジョブのメタデータを生成する。
そして、ジョブ管理サービス403へメタデータと印刷ジョブを送信する(1−4)。ジョブ管理サービス403は、プリントサーバー101上の所定の格納場所にEMFSPOOL形式の印刷ジョブを保存し、さらにメタデータをジョブ管理DB404(プリントサーバー101の外部記憶装置上に構築される)に登録する(1−5)。このとき、プリントサーバー101は、上記所定の格納場所に印刷ジョブを保存するだけで、印刷装置への送信は行わない。さらに、プリントサーバー101は、印刷ジョブの識別子とユーザー識別子をアドレス管理サーバー103上のアドレス管理サービス405へ登録するために送信する(1−6)。
アドレス管理サービス405は、ジョブ管理サービス403から、印刷ジョブの識別子とユーザー識別子を受信すると、プリントサーバー101のアドレスも加えてアドレス管理DB406(アドレス管理サーバー103の外部記憶装置上に構築される)に登録する(1−7)。
なお、本実施形態では、機器を判別するためのアドレスとしてIPアドレスを使用する。本実施形態では、ジョブ識別子としてGUID(Global Unique Identifier)を使用する。
複合機102は、カードリーダー319により読み取り可能なICカードを検知すると、該ICカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として不出図の認証サーバーに送信する。個人認証情報は、認証に用いられる情報であり該ICカードの製造番号でも良い。認証サーバーは、複合機102より個人認証情報を受信すると、該個人認証情報の認証処理を認証サーバーの外部記憶装置上に記憶されるICカード認証用テーブルに基づいて行い、認証結果を複合機102に返信する。なお、認証処理に成功した場合には、認証結果として、クライアントPC100のユーザー識別子を送信するものとする。なお、この認証サーバーの機能はアドレス管理サーバー103にあってもよい。
複合機102上のパネル・アプリケーション407は、認証に成功した旨の認証結果(クライアントPC100のログインユーザー識別子)を受信する。本実施形態では、ユーザー識別子としてユーザー名を使用する。もちろん、ユーザーを識別する手段としてICカードの製造番号などでもかまわない。パネル・アプリケーション407は、プリントサーバー101に印刷ジョブ一覧を要求するが、その前にプリントサーバー101のIPアドレスを取得する前処理を実施する。アドレス管理サーバー103上のアドレス管理サービス405にユーザー名を送信する(2−1)。アドレス管理サービス405は、受信したユーザー名に対応するプリントサーバー101のIPアドレスを得る(2−2)。
そして、パネル・アプリケーション407へプリントサーバー101のアドレスを返信する(2−3)。パネル・アプリケーション407は、アドレス管理サービス405からプリントサーバー101のIPアドレスを受信すると、プリントサーバー101上のジョブ管理サービス403へ対し印刷ジョブ一覧を要求する(2−4)。ジョブ管理サービス403は、ジョブ管理DB404を参照して(2−5)、該ユーザー名に対応する印刷ジョブ一覧を生成し、パネル・アプリケーション407へ印刷ジョブ一覧を返信する(2−6)。パネル・アプリケーション407は、ジョブ管理サービス403から印刷ジョブ一覧を受信すると、該印刷データ一覧を操作部308のUI上に表示する。
そして、ユーザーにより、印刷ジョブが選択され、印刷設定変更及び印刷指示がなされると、パネル・アプリケーション407は、該選択された印刷ジョブの印刷設定をジョブ管理サービス403に送信する(3−1)。ジョブ管理サービス403は、パネル・アプリケーション407から印刷設定を受信すると、ジョブ管理DB404を参照して(3−2)、印刷設定の変更を行う。そして、パネル・アプリケーション407へ変更した印刷設定を返信する(3−3)。パネル・アプリケーション407は送信した印刷設定と受信した印刷設定を比較し、印刷設定変更が正しく機能したかどうか判定する。正しく機能しなかった場合は、操作部308のUI上にその旨のメッセージを表示する。
そして、パネル・アプリケーション407は、改めてジョブ管理サービス403に対し印刷要求(出力指示)を行う(4−1)。ジョブ管理サービス403は、パネル・アプリケーション407から印刷指示を受信すると、ジョブ管理DB404を参照して印刷に必要な情報を取得し(4−2)、該印刷指示に基づいて印刷処理を実行し(4−3)、複合機102にPDLジョブを送信して複合機102で印刷する(4−4)。
最後に、ユーザーにより、印刷ジョブの削除が指示されると、パネル・アプリケーション407は、ジョブ管理サービス403に対し指定された印刷ジョブの削除を指示する。ジョブ管理サービス403は、パネル・アプリケーション407から印刷ジョブの削除要求を受信すると、まず、アドレス管理サービス405へ登録した印刷ジョブ識別子の削除を指示する(5−2)。アドレス管理サービス405は、ジョブ管理サービス403から印刷ジョブ識別子の登録解除要求を受信すると、アドレス管理DB406の該当するレコードを削除する(5−3)。次に、ジョブ管理サービス403は、ジョブ管理DBの該当するレコードを削除し(5−4)、EMFSPOOL形式の印刷ジョブファイルも削除する。
以上、プリントシステム全体の流れを説明した。
図1に示したクライアントPC100上で動作するクライアント・アプリケーション400上での印刷指示について説明する。図5は、図1に示したクライアントPC100上で動作するクライアント・アプリケーション400の印刷画面の一例を示す模式図であり、クライアントPC100のCPUの制御により表示器に表示される。510は論理プリンター選択部で、クライアントPC100に設定されている論理プリンターから、印刷を行う論理プリンターを選択するためのものである。このプリンター選択部510において、「どこでも印刷」501は、本実施形態のプルプリント設定された仮想プリンタードライバーに対応する論理プリンターとする。
さらに、「Cxxxx ix3250」502,「Cxxxx ix5051」503は、通常のプリンタードライバーに対応する論理プリンターとする。プリンター選択部510で、いずれかの論理プリンターを選択され、OKボタン505をポインティングデバイス等で指示されると、クライアント・アプリケーションは、印刷のためのデータを、プリンター選択部510で選択された論理プリンターに対応するプリンタードライバーにグラフィックエンジンを介して送信する。以下、プリンター選択部510で「どこでも印刷」501が選択されて印刷指示がなされた場合のプリンタードライバーの動作について説明する。
図6は、本発明のプリントシステムにおける制御処理手順の一例を示すフローチャートであり、図4に示した1−1から1−3までの処理手順の一部に対応する。ステップSA600〜ステップSA610は、図4に示した仮想プリンタードライバー401による印刷ジョブ投入処理におけるテキスト描画処理に対応する。これらフローチャートの処理は、図1に示したクライアントPC100のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。ステップSC600〜ステップSC601は、図4に示したフォント情報管理サービス409によるフォント情報送信処理対応する。これらフローチャートの処理は、図1に示したプリントサーバー101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
仮想プリンタードライバー401には、図4のクライアント・アプリケーション400から入力されたデータをEMFSPOOL形式の印刷ジョブとして出力する。これは図4の1−1〜1−3に相当する。米国Microsoft社のWindows(登録商標)の場合、プリンタードライバーへの入力はDDI(Device Driver Interface)と呼ばれるOS(Operating System)による関数呼び出しによって実施される。仮想プリンタードライバー401は、DDIの呼び出しと同時に渡されるパラメーターを解釈して、EMFSPOOL形式の印刷ジョブを生成し、OSが管理するスプーラーへ生成したジョブを出力する。一般に、プリンタードライバーの役割は、出力対象のデバイスに依存した印刷ジョブを生成し出力することであるが、本実施形態においては、複合機102に依存しない中間形式の印刷ジョブを生成し出力する。
以下、テキストに関するDDIの呼び出しがあった場合、即ち仮想プリンタードライバー401によるテキスト描画処理を説明する。ステップSA600において、仮想プリンタードライバー401のテキスト描画処理が開始する。ステップSA601において、テキスト描画に使用するフォントがOSのシステムフォントかどうかを判断する。システムフォントではない、ということは、アプリケーションが独自に管理するフォントという意味である。システムフォントではないと判断した場合、ステップSA605へ進み、フォントをEMFSPOOL形式の印刷ジョブにフォントを埋め込む。そして、ステップSA607へ進み、テキスト描画に相当するEMFSPOOL形式のレコードを生成し出力する。ステップSA601にて、テキスト描画に使用するフォントがOSのシステムフォントシステムフォントであると判断した場合、ステップSA602へ進み、フォント情報管理サービス409からフォント情報をhttp(Hypertext Transfer Protocol)を使って受信する。なお、通信プロトコルはhttpに限定するものではなく、他のプロセス間通信のプロトコルを使用してもかまわない。フォント情報の一例を図7に示す。
次にステップSA603にて、テキスト描画に使用するフォントがプリントサーバー101にインストールされているかどうか判断する。即ち、テキスト描画に使用するフォントのファイル名が、図7の701に記述されているかどうか判断する。図7の701に記述されていたら、プリントサーバー101にインストールされているとみなす。プリントサーバー101にインストールされていないと判断した場合、ステップSA607へ進み、テキスト描画に相当するEMFSPOOL形式のレコードを生成し出力する。この場合、ステップSA605を経由していないので、フォントをEMFSPOOL形式の印刷ジョブに埋め込まない。ステップSA603にて、テキスト描画に使用するフォントがプリントサーバー101にインストールされていないと判断した場合、ステップSA604へ進み、フォントのファイルサイズが図7の702に記述されている値(バイト数)より小さいかどうか判断する。小さいと判断した場合、ステップSA605へ進む。大きいと判断した場合、ステップSA606へ進み、フォントからアウトライン抽出可能かどうか判断する。フォントが、書体のアウトライン情報を保持するOpenTypeやTrueTypeなどのフォント形式の場合、アウトライン抽出可能である。フォントが、書体のアウトライン情報を保持しないラスターフォント形式の場合、アウトライン抽出不可能である。テキスト描画に使用するフォントがアウトライン抽出可能と判断した場合、ステップSA608へ進み、フォントからアウトラインを抽出し、グラフィックス描画に相当するEMFSPOOL形式のレコードを生成し出力する。ステップSA606にて、テキスト描画に使用するフォントがアウトライン抽出不可能と判断した場合、ステップSA609へ進み、フォントからビットマップを抽出し、ラスターイメージ描画に相当するEMFSPOOL形式のレコードを生成し出力する。
以上でテキスト描画処理を終了する(ステップSA610)。以上の仕組みより、フォントを埋め込まずにテキストを描画する(ステップSA603とステップSA607)処理が実現する。つまり、EMFSPOOL形式の印刷データが著しく肥大化することはない。
次にフォント情報管理サービス409によるフォント情報送信処理を説明する。ステップSC600にて、フォント情報管理サービス409は、Webサーバーとしての機能を開始する。そして、クライアントPC100上の仮想プリンタードライバー401からフォント情報の要求を受け付けると、レスポンスとしてフォント情報を送信する(ステップSC601)。以降、この応答を繰り返す。
なお、この実施形態では、仮想プリンタードライバー401がプリントサーバー101で使用可能なフォント情報を得るためにプリントサーバー101とプロセス間通信を行うが、予めフォント情報をファイルとしてクライアントPC100上に保持することで、プロセス間通信を省略してもかまわない。
101 プリントサーバー
102 複合機
103 アドレス管理サーバー
104 ログインサービスPC
102 複合機
103 アドレス管理サーバー
104 ログインサービスPC
Claims (5)
- 中間形式の印刷ジョブ生成する仮想プリンタードライバーを備える情報処理装置(100)とプリントサーバー(101)と前記プリントサーバー(101)のアドレスを解決する手段を有するアドレス管理サーバー(103)と印刷装置(102)とで構成されるプリントシステムであって、前記情報処理装置(100)は、
前記プリントサーバー(101)で使用可能なフォント情報を取得する手段と(1−2、SA602)、
前記取得したフォント情報に基づきテキストの描画方法を決定する手段(1−3、SA603〜SA609)と、
を有することを特徴とするプリントシステム。 - テキスト描画に使用するフォントがシステムフォントの場合(SA601)、フォントを埋め込んで(SA605)、テキストで描画する(SA607)、
ことを特徴とする請求項1に記載のプリントシステム。 - テキスト描画に使用するフォントがプリントサーバーにインストール済みのフォントと判断した場合(SA603)、フォントを埋め込まずにテキストで描画する(SA607)、
ことを特徴とする請求項1に記載のプリントシステム。 - テキスト描画に使用するフォントがプリントサーバーに未インストールのフォントと判断した場合(SA603)、さらに前記フォントのサイズが既定のサイズより小さい場合(SA604)、フォントを埋め込んで(SA605)、テキストで描画する(SA607)、
ことを特徴とする請求項1に記載のプリントシステム。 - テキスト描画に使用するフォントがプリントサーバーに未インストールのフォントと判断した場合(SA603)、さらに前記フォントのサイズが既定のサイズ以上の場合(SA604)、テキストをアウトライン(SA608)もしくはビットマップ(SA609)で描画する、
ことを特徴とする請求項1に記載のプリントシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011085901A JP2012221198A (ja) | 2011-04-08 | 2011-04-08 | プリントシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011085901A JP2012221198A (ja) | 2011-04-08 | 2011-04-08 | プリントシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012221198A true JP2012221198A (ja) | 2012-11-12 |
Family
ID=47272637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011085901A Withdrawn JP2012221198A (ja) | 2011-04-08 | 2011-04-08 | プリントシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012221198A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014103975A1 (en) * | 2012-12-27 | 2014-07-03 | Ricoh Company, Ltd. | Terminal apparatus, output system, and output method |
JP2017084391A (ja) * | 2016-12-22 | 2017-05-18 | 株式会社リコー | 印刷システム、印刷方法、画像形成装置及び制御デバイス |
-
2011
- 2011-04-08 JP JP2011085901A patent/JP2012221198A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014103975A1 (en) * | 2012-12-27 | 2014-07-03 | Ricoh Company, Ltd. | Terminal apparatus, output system, and output method |
JP2014127126A (ja) * | 2012-12-27 | 2014-07-07 | Ricoh Co Ltd | プログラム及び出力システム |
JP2017084391A (ja) * | 2016-12-22 | 2017-05-18 | 株式会社リコー | 印刷システム、印刷方法、画像形成装置及び制御デバイス |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5763904B2 (ja) | プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム | |
JP5854654B2 (ja) | プリントシステム、印刷方法、プリントサーバ、制御方法、及びプログラム | |
JP5680926B2 (ja) | プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム | |
JP5719198B2 (ja) | プリントシステム、情報処理装置、制御方法、およびプログラム | |
JP5677047B2 (ja) | 印刷システム、情報処理装置、印刷方法、及び、プログラム | |
US9258437B2 (en) | Printing system, control method, and computer-readable medium for controlling printing of data stored in a print server | |
US8970865B2 (en) | Printing control device, storage medium storing printing control program, and printing control method | |
US8773699B2 (en) | Information processing apparatus, printing system, and method for controlling the same | |
US8941867B2 (en) | Printing system, server apparatus, information processing method, and storage medium | |
JP2007179197A (ja) | プリントシステムおよびプリントサーバおよび印刷管理サーバおよび印刷装置およびプリント方法およびプログラムおよび記録媒体 | |
WO2013108377A1 (ja) | デバイス、情報処理装置、情報処理システム、制御方法、及びプログラム | |
JP2010146486A (ja) | 画像処理装置、ネットワークインタフェース装置、制御方法、画像処理システム、及びプログラム | |
JP5274203B2 (ja) | データ処理装置、方法、プログラム、並びに、データ処理システム | |
JP2007286831A (ja) | プリントシステムおよび印刷管理サーバおよび印刷装置および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラムおよび記憶媒体 | |
JP2018097620A (ja) | 画像形成システム、画像形成装置、画像処理装置、及びその制御方法、プログラム | |
JP2012221198A (ja) | プリントシステム | |
JP5954104B2 (ja) | 印刷管理装置、印刷管理装置の制御方法、印刷管理システムおよびプログラム | |
JP2012181695A (ja) | 情報処理装置、プリントシステム、制御方法、及び、プログラム | |
JP7374625B2 (ja) | 印刷システム、および制御方法 | |
JP5764924B2 (ja) | 情報処理装置、情報処理装置の制御方法、プログラム、記憶媒体 | |
JPWO2013108377A1 (ja) | デバイス、情報処理装置、情報処理システム、制御方法、及びプログラム | |
JP2009223382A (ja) | 画像形成装置、印刷ドライバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140701 |