JP3250337B2 - 印刷制御装置および印刷制御方法 - Google Patents

印刷制御装置および印刷制御方法

Info

Publication number
JP3250337B2
JP3250337B2 JP24733793A JP24733793A JP3250337B2 JP 3250337 B2 JP3250337 B2 JP 3250337B2 JP 24733793 A JP24733793 A JP 24733793A JP 24733793 A JP24733793 A JP 24733793A JP 3250337 B2 JP3250337 B2 JP 3250337B2
Authority
JP
Japan
Prior art keywords
command
error
printer
print
emulation
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.)
Expired - Fee Related
Application number
JP24733793A
Other languages
English (en)
Other versions
JPH0784738A (ja
Inventor
孝信 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP24733793A priority Critical patent/JP3250337B2/ja
Publication of JPH0784738A publication Critical patent/JPH0784738A/ja
Application granted granted Critical
Publication of JP3250337B2 publication Critical patent/JP3250337B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ホストコンピュータ、
ワークステーション、パーソナルコンピュータ等が接続
されているネットワークにおける共有プリンタの印刷制
御装置および印刷制御方法に関するものである。特に、
上記ホストコンピュータ、ワークステーション、パーソ
ナルコンピュータ等において、複数の異なるプリンタの
制御命令体系を使用している場合の印刷制御装置および
印刷制御方法に関するものである。
【0002】
【従来の技術】最近、ホストコンピュータ、ワークステ
ーション、パーソナルコンピュータ等のクライアントと
共有プリンタとは、ネットワークを介して接続されてい
る。そして、各クライアントからのプリント要求は、ネ
ットワークを介して接続されている共有プリンタによっ
て印刷出力できるようなシステムが構築されている。こ
のシステムでは、各クライアントにより、プリントデー
タのコード体系やエミュレーションタイプ(コントロー
ルコマンド)が異なる。そのため、共有プリンタは、送
られてきたプリントデータがどのようなエミュレーショ
ンタイプであるかを識別する必要がある。
【0003】エミュレーションタイプの識別方法として
は、たとえば特開平4−130918号公報がある。上
記公報のコンピュータネットワークにおけるプリンタ共
有方式は、プリントデータに識別コードを付加してい
る。そして、共有プリンタにおけるデータ変換サーバ
は、プリントデータと識別コードを受信し、識別コード
に基づいて変換テーブルを選択する。その後、選択した
変換テーブルを用いて、受信したプリントデータは、共
有プリンタに対応するプリントデータに変換される。ま
た、特開平3−251915号公報におけるプリントサ
ーバは、プリントデータを送出するに先立って、プリン
トアウト先のプリンタ種別を考慮に入れなくとも、続い
てプリンタコマンドに対応したプリンタ名を送信するの
みの簡単な制御で所定の位置のプリンタにプリントアウ
トが可能である。
【0004】
【発明が解決しようとする課題】しかしながら、前述し
た方法では、各クライアントがプリントデータの先頭
に、常に、エミュレーションタイプを識別するための識
別コードを付加しなければならない。そのため、システ
ムの運用者は、クライアント側のアプリケーションソフ
トウエア全て(ホストコンピュータ、ワークステーショ
ン、パーソナルコンピュータのアプリケーションソフト
ウエア)にエミュレーションタイプを識別するための識
別コードを追加するソフトウエアを作成しなければなら
なかった。これは、ソフトウエアを開発する工数とメイ
ンテナンスの工数がかかるという問題だけでなく、ソフ
トウエアの追加による信頼性とパフォーマンスの低下と
いう問題が生じた。
【0005】本発明は、以上のような課題を解決するた
めのもので、クライアント側において、プリントデータ
にエミュレーションタイプを識別するための識別コード
を付加しなくとも、共有プリンタが誤りなくプリント出
力できる印刷制御装置および印刷制御方法を提供するこ
とを目的とする。
【0006】
【課題を解決するための手段】
(第1発明)以上のような問題を解決するために、本発
明の印刷制御装置は、クライアントからのプリント要求
を受け付けると共に、当該プリント要求によるプリント
データに基づき印刷するものであって、各種プリンタエ
ミュレーションタイプに対応するコマンド構文解析表
(図6)、およびコマンド構文の解析をどのプリンタエ
ミュレーションタイプ順で行うかを定めた優先順位表
(図4)が保持されている記憶手段(図2の211)
と、前記優先順位表の順位に従い、プリンタエミュレー
ションタイプのコマンド構文解析表を用いて、入力プリ
ントデータのコマンド構文の全てを解析し、このコマン
ド構文解析により発見された誤りを検出するエラー検出
手段(図3の34)と、上記エラー検出手段(34)に
よってエラーが検出されなかったプリンタエミュレーシ
ョンタイプを選択するエミュレーション選択手段(図3
の35)と、上記選択されたプリンタエミュレーション
タイプに従ってプリントデータに基づき印刷する印字出
力手段(図1の14)とから構成される。
【0007】(第2発明)本発明の印刷制御装置におけ
る優先順位表は、初期において、プリンタエミュレーシ
ョンタイプのコマンド数の少ないものが優先順位を高く
設定されていることを特徴とする。
【0008】(第3発明)本発明の印刷制御装置におけ
る優先順位表は、ユーザによって任意に変更できること
を特徴とする。
【0009】(第4発明)本発明の印刷制御装置におけ
る優先順位表は、プリンタエミュレーションの変更が行
われる毎に、自動的にその優先順位を上げることを特徴
とする。
【0010】(第5発明)本発明の印刷制御装置におけ
るエミュレーション選択手段(35)は、前記エラー検
出手段(34)において、全てのプリンタエミュレーシ
ョンタイプにエラーが検出された場合、最もエラーの少
ないプリンタエミュレーションタイプを選択することを
特徴とする。
【0011】(第6発明)本発明の印刷制御装置におけ
るエミュレーション選択手段(35)は、前記エラー検
出手段(34)において、全てのプリンタエミュレーシ
ョンタイプにエラーが検出された場合、前記優先順位表
の予め定められたプリンタエミュレーションタイプを選
択することを特徴とする。
【0012】(第7発明)本発明の印刷制御方法は、ク
ライアントからのプリント要求を受け付けると共に、当
該プリント要求によるプリントデータに基づき印刷する
ものであって、前記プリントデータの中のコマンド構文
をプリンタエミュレーションタイプに対応するコマンド
構文解析表と優先順位表に従って解析した後、当該解析
でエラーの検出されなかったプリンタエミュレーション
タイプによってエミュレーションを行なうことを特徴と
する。
【0013】(第8発明)本発明の印刷制御方法は、受
け付けられたプリントデータの中のコマンド構文をプリ
ンタエミュレーションタイプに対応するコマンド構文解
析表と優先順位表に従って解析した結果、当該解析でエ
ラーが検出された場合、予め定められたプリンタエミュ
レーションタイプによってエミュレーションを行なうこ
とを特徴とする。
【0014】
【作 用】
(第1発明)印刷制御装置は、ネットワークに接続され
たクライアントからプリント要求のあったプリントデー
タを受け付ける。たとえば、コマンド解析手段は、優先
順位表の先頭にあるプリンタエミュレーションタイプに
対応するコマンド構文解析表を基にコマンド構文を解析
する。コマンド解析手段の解析結果にしたがって、たと
えば、コマンド分解手段は、入力プリントデータをコマ
ンド列、コマンドパラメータ、データ列に分解する。エ
ラー検出手段は、コマンドのパラメータとデータの内容
が、コマンド構文解析表に定義された有効範囲にあるか
否かを、優先順位表の順位の高いプリンタエミュレーシ
ョンタイプから調べる。
【0015】エラー検出手段は、コマンドのパラメータ
とデータの内容がコマンド構文解析表に定義された有効
範囲にない場合、エラーと判断する。そして、エラー検
出手段は、この入力プリントデータがこのプリンタエミ
ュレーションタイプでないと判断し、優先順位表から次
に優先順位の高いプリンタエミュレーションタイプのコ
マンド構文解析表を用いてプリスキャンを行なう。エラ
ー検出手段は、順次エラーが無くなるまでプリンタエミ
ュレーションのタイプを変更する。そして、エミュレー
ション選択手段は、エラー検出手段によって、全くエラ
ーが無くなった場合、このプリンタエミュレーションを
この入力プリントデータのエミュレーションタイプであ
ると特定し、このプリンタエミュレーションタイプによ
って、その後の処理であるデータの展開と印字出力処理
を行う。
【0016】(第2発明)本発明の印刷制御装置は、入
力プリントデータに対して入力処理を行なうと共に、コ
マンド構文の解析を行なう必要があるため、プリンタエ
ミュレーションタイプのコマンド数の少ないものを高い
優先順位に設定しておく。このため、コマンド数の多い
プリンタエミュレーションタイプからコマンド構文の解
析を始めないため、効率が良い。
【0017】(第3発明)本発明の印刷制御装置におけ
る優先順位表は、ユーザがキーボードから指定すること
によって任意の順位に変更できる。したがって、予めプ
リンタエミュレーションタイプが判っているような場
合、ユーザは、そのプリンタエミュレーションタイプを
設定しておくことによって、処理時間を短縮することが
できる。
【0018】(第4発明)本発明の印刷制御装置におけ
る優先順位表は、プリンタエミュレーションの変更が行
われる毎に、そのプリンタエミュレーションタイプが自
動的に第1優先順位となるようにする。したがって、ユ
ーザがプリント要求を行なう度に、クライアントと対応
するプリンタエミュレーションタイプを選択するための
コマンド解析処理をなくすことができる。
【0019】(第5発明)本発明の印刷制御装置におけ
るエミュレーション選択手段は、エラー検出手段におい
て、全てのプリンタエミュレーションタイプにエラーが
検出された場合、最もエラーの少ないプリンタエミュレ
ーションタイプを選択する。そして、エラーの発生した
コマンドに対する処理は、たとえば無視する。このよう
な処理によって、エラーの検出されたプリンタエミュレ
ーションタイプであっても、プリンタエミュレーション
を行なうことが可能になる。
【0020】(第6発明)本発明の印刷制御装置におけ
るエミュレーション選択手段は、前記エラー検出手段に
おいて、全てのプリンタエミュレーションタイプにエラ
ーが検出された場合、前記優先順位表の予め定められた
プリンタエミュレーションタイプ、たとえばコマンドの
最も少ないプリンタエミュレーションタイプに定めてお
く。このような処理によって、エラーの検出されないプ
リンタエミュレーションタイプがなくとも、プリンタエ
ミュレーションを行なうことが可能になる。
【0021】(第7発明)本発明の印刷制御方法は、ク
ライアントからのプリント要求を受け付けられる。そし
て、受け付けられたプリントデータの中のコマンド構文
は、プリンタエミュレーションタイプに対応するコマン
ド構文解析表と優先順位表に従って解析される。その
後、コマンドの解析において、エラーが検出されなかっ
たプリンタエミュレーションタイプによってエミュレー
ションを行なう。したがって、プリントデータには、制
御命令体系を表す特別な識別コードを付加することな
く、しかも優先順位表によって、短時間に所望のプリン
タエミュレーションタイプを選択することができる。
【0022】(第8発明)本発明の印刷制御方法は、受
け付けられたプリントデータの中のコマンド構文をプリ
ンタエミュレーションタイプに対応するコマンド構文解
析表と優先順位表に従って解析される。そして、コマン
ド構文解析表の解析でエラーが検出された場合、予め定
められたプリンタエミュレーションタイプによってエミ
ュレーションを行なうことができる。したがって、エラ
ーの検出されないプリンタエミュレーションタイプがな
くとも、予め定められた優先順位表を見てプリンタエミ
ュレーションを行なうことが可能になる。
【0023】
【実 施 例】以下添付図面を参照して本発明に好適な
る一実施例を詳細に説明する。図1は本実施例における
印刷制御装置の基本的構成を説明するための図である。
図1において、印刷制御装置は、クライアントから印刷
要求のあった入力プリントデータを受け付けると共に、
図示されていないバッファメモリに記憶する処理を行な
う入力処理部11と、入力プリントデータのコマンドを
解析して、当該コマンドに適合するプリンタエミュレー
ションタイプを選択するプリスキャン部12と、前記入
力プリントデータをエミュレーションした後、ビットマ
ップデータに展開するプリントデータ展開部13と、ビ
ットマップに展開されたデータを印刷する印字出力部1
4とから構成されている。
【0024】図2は本実施例における印刷制御装置の基
本ハードウエア構成図である。図2において、印刷制御
装置201は、ネットワーク202を介して、ホストコ
ンピュータ203、ワークステーション204、パーソ
ナルコンピュタ205等のクライアント、および印字出
力部14にそれぞれ接続されている。また、印刷制御装
置201は、入出力インタフェース206を介して送ら
れてきたプリントデータを受信すると共に、解析して所
定のエミュレーションを行なう印刷制御部207と、当
該印刷制御部207が利用する主記憶装置208と、エ
ミュレーションされたプリントデータを印字出力部14
へ送信する入出力インタフェース209と、操作に必要
なガイダンスやジョブのステータスを画面上に表示する
ためのディスプレイ210と、プリントジョブをスプー
ルしたり、フォント、フォーム、イメージなどを格納す
る磁気ディスク211と、システムの起動、システムの
メニューを選択、優先順位表の優先順位の変更指示、お
よび必要な文字情報を入力するキーボード212と、前
記ディスプレイ210、磁気ディスク211、キーボー
ド212等の外部機器とのやりとりを行なう入出力イン
タフェース213とから構成されている。
【0025】図3は本実施例における印刷制御部をさら
に詳細に説明するための図である。すなわち、図3は具
体的に図1における入力処理部11とプリスキャン部1
2、または図2における印刷制御部207に対応するも
のである。図3において、入力処理部11は、クライア
ントからの要求のあったプリントデータを受信し、図示
されていないバッファメモリに記憶するための処理を行
なうデータ入力処理手段31から構成されている。プリ
スキャン部12は、プリント要求のあったプリントデー
タがどのようなプリンタエミュレーションタイプに対応
しているかを解析するコマンド解析手段32と、前記プ
リントデータをコマンド列、コマンドパラメータ、デー
タ列にそれぞれ分解するコマンド分解手段33と、分解
されたコマンドを後述の優先順位表36、あるいはコマ
ンド構文解析表37を用いてエラーが検出されるか否か
を調べるエラー検出手段34と、当該エラー検出手段3
4によってエラーの出なかったエミュレーションを選択
するエミュレーション選択手段35とから構成される。
【0026】磁気ディスク211には、分解されたコマ
ンド構文にエラーがあるか否かを調べるプリンタエミュ
レーションタイプの順序を記載した優先順位表36と、
コマンドのパラメータあるいは有効範囲等を調べるため
のコマンド構文解析表37とが格納されている。そし
て、優先順位表36およびコマンド構文解析表37は、
キーボード212によって予め設定される。
【0027】図4は本実施例における優先順位表の一例
を説明するための図である。図4において、優先順位表
36は、たとえばプリンタエミュレーションタイプ1か
らプリンタエミュレーションタイプ26まで、この順で
エラー検出を行なうことが表わされている。優先順位表
36は、プリンタエミュレーションタイプ1がAであ
り、プリンタエミュレーションタイプ2がBであり、・
・・プリンタエミュレーションタイプ26がZであるこ
とを表している。そして、優先順位表36は、コマンド
の解析の結果、プリンタエミュレーションタイプが不明
の場合、プリンタエミュレーションタイプZを採用する
ということを表している。
【0028】上記優先順位表36は、前述のごとく、ユ
ーザがキーボード212によって書き換えることができ
る。しかし、優先順位表36にプリンタエミュレーショ
ンタイプがない場合、そのコマンドを無視し、解析でき
たコマンドのみをエミュレーションすることができる。
また、解析できないコマンドに対して、エラー通知を行
なうことも可能である。また、解析できないコマンドに
対して、サンプル印字させ、どのプリンタエミュレーシ
ョンタイプで印字したものが一番良いかをユーザに選択
させることもできる。さらに、解析できないコマンドに
対して、判断に迷った場合、ユーザにコマンドの処理の
仕方をキーボード212から入力してもらうこともでき
る。
【0029】図5は本実施例におけるプリンタエミュレ
ーションタイプとコマンドが記載されているコマンド構
文解析表の一例を説明するための図である。図5におい
て、コマンド構文解析表37は、各プリンタエミュレー
ションタイプAないしCのコマンド数とコマンド群が記
載されている。優先順位は、コマンド数の少ないものか
らエラー検出を行なうこともできる。
【0030】図6は本実施例におけるコマンドとパラメ
ータの定義および有効範囲の関係が記載されたコマンド
構文解析表を説明するための図である。図6において、
コマンド「ESCa」は、パラメータがx座標位置、バ
イト数2、有効範囲0〜432(mm)である。同様
に、コマンド「ESCb」は、パラメータがy座標位
置、バイト数2、有効範囲0〜432(mm)である。
コマンド「ESCc」は、パラメータがフォント番号、
バイト数1、有効範囲0〜255である。そして、1ラ
インの終了を表すコマンド「CR」、および入力プリン
トデータの終了を表すコマンド「EOF」は、最後を示
すものであるからパラメータおよび有効範囲がない。そ
して、このコマンド構文解析表37は、プリンタエミュ
レーションタイプの数だけ備えている。
【0031】図7は本実施例における文字列の有効範囲
を調べるためのコマンド構文解析表を説明するための図
である。図7において、「ASCII」および「JI
S」による文字のデータ有効範囲が16進法で記載され
ている。図8(イ)および(ロ)は本実施例における入
力プリントデータの一例を説明するための図である。図
8(イ)において、プリントデータ「Test Dat
a」の例が示されている。コマンド「ESCa」は、x
座標「x1」であることを、コマンド「ESCb」は、
y座標「y1」であることを、コマンド「ESCc」
は、fontIndexを表している。fontInd
exは、フォントの番号指定であり、たとえば一番が
「明朝体」であると設定しておく。そして、文字列「T
est Data」がこれに続き、最後に1ラインの終
了「CR」と入力プリントデータの終了「EOF」が示
されている。そして、図8(ロ)には、実際にx座標お
よびy座標における(x1,y1)の位置に表れる文字
列「Test Data」が示されている。
【0032】図9(イ)ないし(ハ)は本実施例におけ
る入力プリントデータをコマンド列、パラメータ、デー
タ列に分解した後のもので、コードで表した例を示す。
図9(イ)はコマンドの例、図9(ロ)はパラメータの
例、図9(ハ)はデータの例であり、16進法のコード
で表されている。次に、以上のような優先順位表36、
コマンド構文解析表37等を利用した本実施例を説明す
る。
【0033】図10は本実施例におけるプリンタエミュ
レーションタイプを選択するためのフローチャートであ
る。図11は本実施例におけるプリンタエミュレーショ
ンタイプを選択するためのフローチャートで、図10と
a−a′によって接続された一つの図である。図10お
よび図11に示すフローチャートを参照して、プリンタ
エミュレーションタイプを選択する手順を説明する。デ
ータ入力処理手段31は、クライアントからのプリント
要求によって、プリントデータが入力されると、このプ
リントデータを磁気デイスク211にスプールし、次の
プリスキャンに備える(ステップ101)。
【0034】コマンド解析手段32は、磁気ディスク2
11にスプールされたプリントデータがどのプリンタエ
ミュレーションタイプに対応するかを決めるために、プ
リントデータを読み込み、その内容を調べる。初めに、
コマンド解析手段32は、PDL(Page Desc
ription Language)と呼ばれる高級な
プリント言語であるかどうかを調べる。PDLは、構造
化文書規定が定義されているため、プリントデータの先
頭をチェックすることで、どのプリンタエミュレーショ
ンタイプであるかの判断が可能である。本実施例におい
て、PDLがInterpressの場合、コマンド解
析手段32は、「Interpress」というアスキ
ー文字が書かれているかどうかを調べる(ステップ10
2)。
【0035】コマンド解析手段32が「Interpr
ess」というアスキー文字が書かれていると判断した
場合、エミュレーション選択手段35は、プリンタエミ
ュレーションタイプとしてInterpressを選択
する(ステップ103)。次の処理として、プリントデ
ータ展開部13は、プリントデータをビットマップに展
開する(ステップ104)。コマンド解析手段32は、
ステップ102において、プリントデータの先頭に「I
nterpress」というアスキー文字が書かれてい
ないと判断した場合、プリントデータの先頭が「%!P
S」というアスキー文字で始まっているか否かを調べる
(ステップ105)。コマンド解析手段32がプリント
データの先頭が「%!PS」というアスキー文字で始ま
っていると判断した場合、エミュレーション選択手段3
5は、プリンタエミュレーションタイプとしてPost
scriptを選択する(ステップ106)。次の処理
として、プリントデータ展開部13は、プリントデータ
をビットマップに展開する(ステップ107)。
【0036】コマンド解析手段32は、たとえば、PD
Lに属さないプリンタエミュレーションタイプA、B、
C(通常エスケープシーケンスと呼ばれる)であると判
断した場合、プリンタエミュレーションタイプAによっ
て、コントロールコマンドを解析する。すなわち、コマ
ンド解析手段32は、プリスキャンAによるプリントデ
ータの解析を行なう(ステップ108)。なお、コント
ロールコマンドの解析方法については後で述べる。エラ
ー検出手段34は、コントロールコマンドの解析処理
で、プリンタエミュレーションタイプAに規定されてい
ないコントロールコマンドやパラメータが存在するか否
かを図6に示すコマンドとパラメータのテーブル(コマ
ンド構文解析表)を見て調べる(ステップ109)。エ
ラー検出手段34は、上記処理において、エラーを検出
しない場合、プリンタエミュレーションタイプとしてA
を選択する(ステップ110)。次の処理として、プリ
ントデータ展開部13は、プリントデータをビットマッ
プに展開する(ステップ111)。
【0037】ステップ109において、エラー検出手段
34がプリスキャンAでエラーを検出した場合、コマン
ド解析手段32は、プリスキャンBによるプリントデー
タの解析を行なう(ステップ112)。エラー検出手段
34は、プリスキャンBでエラーが生じたか否かを調べ
る(ステップ113)。エラー検出手段34は、上記処
理において、エラーを検出しない場合、プリンタエミュ
レーションタイプとしてBを選択する(ステップ11
4)。また、エラー検出手段34は、プリンタエミュレ
ーションタイプBを選択すると同時に、優先順位表のア
ップデートを自動的に行なう。すなわち、優先順位表の
順位は、プリンタエミュレーションタイプBが先で、そ
の次をプリンタエミュレーションタイプAとする(ステ
ップ115)。その後、プリントデータ展開部13は、
次の処理であるプリントデータを展開するための処理を
行なう(ステップ116)。
【0038】ステップ113において、エラー検出手段
34がプリスキャンBでエラーを検出した場合、コマン
ド解析手段32は、プリスキャンCによるプリントデー
タの解析を行なう(ステップ117)。エラー検出手段
34は、プリスキャンCでエラーが生じたか否かを調べ
る(ステップ118)。エラー検出手段34は、上記処
理において、エラーを検出しない場合、プリンタエミュ
レーションタイプとしてCを選択する(ステップ11
9)。また、エラー検出手段34は、プリンタエミュレ
ーションタイプCを選択すると同時に、優先順位表のア
ップデートを自動的に行なう。すなわち、優先順位表の
順位は、プリンタエミュレーションタイプC、プリンタ
エミュレーションタイプB、プリンタエミュレーション
タイプAの順になる(ステップ120)。その後、プリ
ントデータ展開部13は、次の処理であるプリントデー
タを展開するための処理を行なう(ステップ121)。
【0039】ステップ118において、エラー検出手段
34がプリスキャンCでエラーを検出した場合、たとえ
ばエラーを無視したままプリンタエミュレーションを行
なう(ステップ122)。以上のような処理の優先順位
は、最初図5に示すように、コマンドの数の最も少ない
順、プリンタエミュレーションタイプA、B、Cの順と
なっている。また、エラー検出手段34は、全てのプリ
ンタエミュレーションタイプでエラーが生じたとき、該
当するプリンタエミュレーションタイプのソフトウエア
が存在しないことをシステムに通知する。さらに、この
エラー通知は、例外処理としてエラーシートが作成さ
れ、印字出力部14からプリントアウトされる(ステッ
プ123)。
【0040】また、ステップ115およびステップ12
0における優先順位表をどのようにアップデートするか
は、LIFO(Last In First Out)
方式を用いて、最後に選択されたプリンタエミュレーシ
ョンタイプを最初に取り出せば良い。さらに、メモリの
キャッシュシステムなどで良く知られているアルゴリズ
ムLRU(Least Recently Used)
方式を利用して、選択回数に応じてアップデートしても
良い。
【0041】図12は本実施例におけるプリスキャン部
のプリントデータを解析するためのフローチャートであ
る。図12および図6を参照してプリスキャンの処理の
流れを詳細に説明する。コマンド解析手段32は、入力
プリントデータの終端(アスキーコードでEOF)かど
うかを調べる(ステップ1211)。コマンド解析手段
32は、入力プリントデータのスキャンが終了であると
判断した場合、処理を終了させる(ステップ121
2)。コマンド解析手段32は、入力プリントデータの
スキャンが終了していないと判断した場合、データの終
端まで、入力プリントデータがコントロールコマンドで
あるか否かを調べる。すなわち、コマンド解析手段32
は、コントロールコマンド(ESCで始まるコマンド、
アスキー文字のキャリッジリターン(CR)、フォーム
フィード(FF)など)を調べる(ステップ121
3)。アスキー文字では、1FH以下であればコントロ
ールコマンドである。「ESC」で始まるコマンドであ
れば、その次に続くデータもコマンドの一部である。
【0042】コマンド解析手段32は、入力プリントデ
ータがコントロールコマンドであると判断した場合、図
示されていないバッファメモリにコントロールコマンド
を一旦入力する(ステップ1214)。コマンド解析手
段32は、入力プリントデータがコントロールコマンド
でないと判断した場合、プリントデータが有効範囲内に
あるか否かを調べる(ステップ1215)。コマンド解
析手段32は、入力プリントデータが有効範囲内にある
と判断した場合、ページデータの処理を行なう。すなわ
ち、コマンド解析手段32は、パラメータの範囲をスキ
ップさせて、次のコントロールコマンドが採れるような
処理を行ない、データをテキストデータとして図示され
ていないバッファメモリに格納する(ステップ121
6)。
【0043】コマンド解析手段32は、コントロールコ
マンドが、図5のコマンド構文解析表にコマンド群に存
在するか否かを調べる(ステップ1217)。コマンド
解析手段32は、コントロールコマンドが図5のコマン
ド構文解析表に存在すると判断した場合、コントロール
コマンドのパラメータを図示されていないバッファメモ
リに入力する(ステップ1218)。コマンドに続くパ
ラメータの内容は、図6に示すように「x座標位置」、
「y座標位置」、「フォント番号」等がある。「x座標
位置」、「y座標位置」は、それぞれ2バイトコード
で、定義域が0〜432(mm)である。「フォント番
号」は、フォントの種類を選択するためのもの(1バイ
トコード)で、定義域が0〜255(個)である。
【0044】コマンド解析手段32は、パラメータの内
容が有効範囲内であるか否かを調べる(ステップ121
9)。すなわち、コマンド解析手段32は、パラメータ
のデータ内容や数が異なっているか、あるいはデータ値
が定義域の範囲内にあるか否かを調べる。コマンド解析
手段32は、パラメータの内容が有効範囲内であると判
断した場合、コントロールコマンドの解析において、エ
ラーが発生したか否かを調べる。コマンド解析手段32
は、エラーが発生したと判断した場合、処理を中断する
(ステップ1220)。コマンド解析手段32は、コン
トロールコマンドの解析にエラーが発生していないと判
断した場合、処理を続行する。
【0045】コマンド解析手段32は、ステップ121
9において、パラメータの内容が有効範囲内にないと判
断した場合、およびステップ1215において、データ
が有効範囲内にないと判断した場合、エラーフラグのセ
ット処理を行なう(ステップ1221)。以上、実施例
のプリントデータをアスキーコードとして説明したが、
これはEBCDIC(8ビット符号)コードでも同様に
して実現できる。また、アスキーコードとEBCDIC
コードのプリントデータ両者が混在する場合には、図1
0のステップ101の処理の後に、アスキーコードとE
BCDICコードのどちらであるかを判断する処理を設
ければ良い。たとえば、コマンド解析手段32は、「8
0」以上のデータが複数存在する場合、EBCDICコ
ードで、複数存在しない場合、アスキーコードであると
判断するようにする。
【0046】
【発明の効果】以上述べたように、本発明によれば、ク
ライアントから送られてきたプリントデータに識別コー
ドを追加しなくても、優先順位表およびコマンド構文解
析表とを参照することで、プリントデータに適合したプ
リントエミュレーションタイプが選択される。したがっ
て、クライアントは、ネットワークに接続された共有プ
リンタによって、所望の印刷を行なうことができる。本
発明によれば、優先順位表は、クライアントの設定、プ
リンタエミュレーションタイプの更新による自動設定
等、プリスキャン処理を考慮して任意に設定できる。ま
た、優先順位表によって、プリスキャンが処理されるた
め、処理時間を短縮でき効率の良い処理が可能となっ
た。本発明によれば、コマンド解析手段によって、最適
なプリンタエミュレーションタイプが検出されない場
合、優先順位表に予め設定されたプリンタエミュレーシ
ョンタイプで処理を行なうことができるため、効率のよ
いエミュレーションとなる。
【図面の簡単な説明】
【図1】 本実施例における印刷制御装置の基本的構成
を説明するための図である。
【図2】 本実施例における印刷制御装置の基本ハード
ウエア構成図である。
【図3】 本実施例における印刷制御部をさらに詳細に
説明するための図である。
【図4】 本実施例における優先順位表の一例を説明す
るための図である。
【図5】 本実施例におけるプリンタエミュレーション
タイプとコマンドが記載されているコマンド構文解析表
の一例を説明するための図である。
【図6】 本実施例におけるコマンドとパラメータの定
義および有効範囲の関係が記載されたコマンド構文解析
表を説明するための図である。
【図7】 本実施例における文字列の有効範囲を調べる
ためのコマンド構文解析表を説明するための図である。
【図8】 (イ)および(ロ)は本実施例における入力
プリントデータの一例を説明するための図である。
【図9】 (イ)ないし(ハ)は本実施例における入力
プリントデータをコマンド列、パラメータ、データ列に
分解した後のもので、コードで表した例を示す。
【図10】 本実施例におけるプリンタエミュレーショ
ンタイプを選択するためのフローチャートである。
【図11】 本実施例におけるプリンタエミュレーショ
ンタイプを選択するためのフローチャートで、図10と
a−a′によって接続された一つの図である。
【図12】 本実施例におけるプリスキャン部のプリン
トデータを解析するためのフローチャートである。
【符号の説明】
11・・・入力処理部 12・・・プリスキャン部 13・・・プリントデータ展開部 14・・・印字出力部 201・・・印刷制御装置 202・・・ネットワーク 203・・・ホストコンピュータ 204・・・ワークステーション 205・・・パーソナルコンピュータ 206、209、213・・・入出力インタフェース 207・・・印刷制御部 208・・・主記憶装置 210・・・ディスプレイ 211・・・磁気ディスク 212・・・キーボード 31・・・データ入力処理手段 32・・・コマンド解析手段 33・・・コマンド分解手段 34・・・エラー検出手段 35・・・エミュレーション選択手段 36・・・優先順位表 37・・・コマンド構文解析表
フロントページの続き (56)参考文献 特開 平7−61058(JP,A) 特開 平6−161681(JP,A) 特開 平6−71952(JP,A) 特開 平6−242895(JP,A) 特開 平7−72996(JP,A) 特開 平5−131726(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/12

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 クライアントからのプリント要求を受け
    付けると共に、当該プリント要求によるプリントデータ
    に基づき印刷する印刷制御装置において、 各種プリンタエミュレーションタイプに対応するコマン
    ド構文解析表、およびコマンド構文の解析をどのプリン
    タエミュレーションタイプ順で行うかを定めた優先順位
    表が保持されている記憶手段と、 前記優先順位表の順位に従い、プリンタエミュレーショ
    ンタイプのコマンド構文解析表を用いて、入力プリント
    データのコマンド構文の全てを解析し、このコマンド構
    文解析により発見された誤りを検出するエラー検出手段
    と、 上記エラー検出手段によってエラーが検出されなかった
    プリンタエミュレーションタイプを選択するエミュレー
    ション選択手段と、 上記選択されたプリンタエミュレーションタイプに従っ
    てプリントデータに基づき印刷する印字出力手段と、 から構成された印刷制御装置。
  2. 【請求項2】 前記優先順位表は、初期において、プリ
    ンタエミュレーションタイプのコマンド数の少ないもの
    が優先順位を高く設定されていることを特徴とする請求
    項1記載の印刷制御装置。
  3. 【請求項3】 前記優先順位表は、ユーザによって任意
    に変更できることを特徴とする請求項1記載の印刷制御
    装置。
  4. 【請求項4】 前記優先順位表は、プリンタエミュレー
    ションの変更が行われる毎に、自動的にその優先順位を
    上げることを特徴とする請求項1記載の印刷制御装置。
  5. 【請求項5】 エミュレーション選択手段は、前記エラ
    ー検出手段において、全てのプリンタエミュレーション
    タイプにエラーが検出された場合、最もエラーの少ない
    プリンタエミュレーションタイプを選択することを特徴
    とする請求項1記載の印刷制御装置。
  6. 【請求項6】 エミュレーション選択手段は、前記エラ
    ー検出手段において、全てのプリンタエミュレーション
    タイプにエラーが検出された場合、前記優先順位表の予
    め定められたプリンタエミュレーションタイプを選択す
    ることを特徴とする請求項1記載の印刷制御装置。
  7. 【請求項7】 クライアントからのプリント要求を受け
    付けると共に、当該プリント要求によるプリントデータ
    に基づき印刷する印刷制御方法において、 前記プリントデータの中のコマンド構文をプリンタエミ
    ュレーションタイプに対応するコマンド構文解析表と優
    先順位表に従って解析した後、当該解析でエラーの検出
    されなかったプリンタエミュレーションタイプによって
    エミュレーションを行なうことを特徴とする印刷制御方
    法。
  8. 【請求項8】 受け付けられたプリントデータの中のコ
    マンド構文をプリンタエミュレーションタイプに対応す
    るコマンド構文解析表と優先順位表に従って解析した結
    果、当該解析でエラーが検出された場合、予め定められ
    たプリンタエミュレーションタイプによってエミュレー
    ションを行なうことを特徴とする請求項7記載の印刷制
    御方法。
JP24733793A 1993-09-09 1993-09-09 印刷制御装置および印刷制御方法 Expired - Fee Related JP3250337B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24733793A JP3250337B2 (ja) 1993-09-09 1993-09-09 印刷制御装置および印刷制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24733793A JP3250337B2 (ja) 1993-09-09 1993-09-09 印刷制御装置および印刷制御方法

Publications (2)

Publication Number Publication Date
JPH0784738A JPH0784738A (ja) 1995-03-31
JP3250337B2 true JP3250337B2 (ja) 2002-01-28

Family

ID=17161912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24733793A Expired - Fee Related JP3250337B2 (ja) 1993-09-09 1993-09-09 印刷制御装置および印刷制御方法

Country Status (1)

Country Link
JP (1) JP3250337B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7973954B2 (en) 2006-08-28 2011-07-05 Sharp Laboratories Of America, Inc. Method and apparatus for automatic language switching for an imaging device
JP4385386B2 (ja) 2007-05-31 2009-12-16 株式会社沖データ 印刷装置

Also Published As

Publication number Publication date
JPH0784738A (ja) 1995-03-31

Similar Documents

Publication Publication Date Title
US6522330B2 (en) Character processing system and method
US6476930B1 (en) Output processing and merging of hybrid electronic documents
US7466442B2 (en) Printing system and method for customization of a print job
US8543915B2 (en) “Proof print” for job settings
US6650431B1 (en) Processing documents with multiple output devices
US7319532B2 (en) Printing control apparatus and printing control method capable of accurately printing embedded font
US6535293B1 (en) Printing system, printing control method, data processing apparatus and method, and storage medium therefor
US6486968B2 (en) Output control method and apparatus
EP0750250B1 (en) Print control apparatus, print control method, information processing apparatus, information processing method, and storage medium storing control program
JPH06131338A (ja) 文書処理装置
EP0702289B1 (en) A method of automatically recognizing a language in which digital data are received
JPH09114611A (ja) 印刷処理装置および方法
JPH0798639A (ja) 印刷システムの動作を診断するための方法
US6476938B1 (en) Print control system and method
JP2003044472A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法、記憶媒体、及び制御プログラム
JP3250337B2 (ja) 印刷制御装置および印刷制御方法
US7583396B2 (en) Printing system, printing method, and computer program
JP4469036B2 (ja) ホストとプリンタとの間での繰返しオブジェクトの単一パス送信
EP0687972B1 (en) Print system and method for presenting required record time of print system
US6781710B1 (en) Print job capture subsystem with pass-through support
JP2842177B2 (ja) プリンタ装置の制御方式
JP3097558B2 (ja) 印刷制御方法及び印刷装置
JP2003330658A (ja) 印刷システム
JPH07121478A (ja) ジョブ前処理装置及びジョブ前処理方法
JPH0596824A (ja) プリンタ装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees