以降の各節では,日本語DECprint Supervisorの現在の制限事項について説明します。 プリンタ固有の制限事項については,『 日本語DECprint Supervisor for OpenVMSシステム・マネージャーズ・ガイド』および『 日本語DECprint Supervisor for OpenVMSユーザーズ・ガイド』を参照してください。
raw TCP/IP接続を使用するDCPSキューを設定する際にプリンタに不正なTCP ポート番号を指定した場合,そのキューに出力したプリント・ジョブは"Starting" 状態のままとなります。これは,DCPSがネットワーク障害とプリンタのビジー状態あるいはオフライン状態を区別できないため,DCPS がユーザによる不正なポート番号指定であるかどうかを判断することができないことが原因です。
これ以外の理由によってもraw TCP/IPキュー内のプリント・ジョブが"Starting" 状態のままとなる場合があることに注意してください。
プリンタ,ネットワーク・インタフェース・カード,プリント・サーバ, ターミナル・サーバのドキュメントをチェックし,正しいTCPポート番号を使用していることを確認してください。TCP ポート番号については, 本書の表 A-1あるいは『 日本語DECprint Supervisor for OpenVMSシステム・マネージャーズ・ガイド』にも記述されています。
raw TCP/IP接続を使用している場合,長いプリント・ジョブについてはCONTERMINATED エラーが発生する可能性があります。単一のファイルから構成されるジョブあるいはプリンタのネイティブPostScript 互換機能のみを使用している場合( たとえば,ネイティブPCLを使用しない場合)は,このエラーはジョブの最後で発生する傾向があり,( キューに対してトレーラを指定している場合) トレーラ・ページは出力されず,(プリント・ジョブのアカウント機能を有効としている場合) アカウント情報は消失します。 これ以外のジョブについてはジョブの中間で発生する可能性があり, トレーラ・ページと同様に以降のドキュメントは出力されず,(プリント・ ジョブのアカウント機能を有効としている場合)アカウント情報は消失します。DCPS は中断されたジョブを再度キューに登録して"Holding"状態とし, ユーザによる問題解決後に再度そのジョブを出力できるようにします。
Hewlett-Packard JetDirectカードを含むいくつかのネットワーク・デバイスでは, 指定された時間内にホスト・システムから入力を受け取らない場合には,TCP/IP 接続が切断されます。これは,ホスト・ソフトウェアによるデバイスの専有を防ぐための機能です。 ただしDCPSは,プリンタがPostScript から別のネイティブ・プリンタ言語に切り替える場合,あるいはトレーラ・ ページの出力およびアカウント情報の収集を行う場合,その前に出力したドキュメントをプリンタが出力したことという通知を受け取るまで待ちます。 この場合はたとえプリンタがビジー状態であっても,指定されたタイムアウト時間が経過するまで,NIC はDCPSからのそれ以上の入力を受け取ることができません。
NICのTCP/IPアイドル・タイムアウト時間の変更が可能である場合は,タイムアウトを無効とすること, あるいはタイムアウト時間を長くすることによってこの問題を回避することができます。NIC のドキュメントをチェックして, これが可能であるかどうか,また可能であればその方法を確認してください。 続いて,必要な出力が得られないため,キューに再登録されたジョブを解除し, キューに再登録されているその他のジョブを削除してください。
重要なのはジョブのサイズではなく,その処理にかかる時間であることに注意してください。 たとえば,非常に小さなPostScriptプログラムであっても, 出力に非常に長い時間がかかる場合があります。このため,どの程度のタイムアウト時間が適当であるのかを予想することは一般的に困難です。
raw TCP/IP接続を使用するプリンタのキューにジョブを登録した際に,そのプリンタがビジー状態あるいはオフライン状態である場合は, そのプリンタについてNOT_READY 警告メッセージが表示されます。プリンタがビジー状態にあることが確実である場合は, このメッセージを無視することができます。DCPS は,プリンタがビジー状態であるか,オフライン状態であるか, その他の理由により使用不能であるかを区別することができません。
DCPSで提供されているトランスレータ(たとえばReGIS)は,カラー情報を含んでいるソース・ ファイルであっても,カラーPostScriptコマンドを生成することはできません。 カラー情報は,グレースケールに変換されます。
PostScript Level 2プリンタで各ジョブを分離して出力するようにジョブ・ シフト排紙を有効にしている場合,ジョブ本体とそのトレーラ・ページ間でシフト排紙が発生します。
トレイ選択のエスケープ・シーケンスを含むANSIファイルを出力する場合, 使用しているプリンタによっては出力できない可能性があります。この場合,offendig command is "setpapertray" というPostScript構成エラーが発生してジョブが中断されます。
また,Compaq Laser Printer LN16などのいくつかのプリンタでは, PostScriptトレイ番号0の給紙トレイを持っています。トレイを選択するためにANSI エスケープ・シーケンスDECASFCが使用されますが,0という値はトレイの変更がないという意味であり, トレイ0の選択はできません。 たとえば,次のANSIエスケープ・シーケンスはトレイ0を選択せず,トレイの変更なしを示します。
<CSI>0!v
この問題の回避策は,TRN$XLATE_DICTディレクトリ内にsettoptray, setbottomtray,setlcittrayというPostScriptコマンドを再定義するセットアップ・ モジュールを作成して起動することです。
たとえば,Compaq Laser Printer LN16あるいはDIGITAL Laser Printer LN15あるいはLN15+の場合は,settoptray,setbottomtray,setlcittray を次のように定義するセットアップ・モジュールを作成します。
TRN$XLATE_DICT begin /settoptray { statusdict begin 0 setpapertray end } def /setbottomtray { statusdict begin 1 setpapertray end } def /setmanualfeedtray { statusdict begin 3 setpapertray end } def end
たとえばHP LaserJet 4M Plusの場合には,settoptray,setbottomtray, setlcittrayを次のように定義するセットアップ・モジュールを作成します。
TRN$XLATE_DICT begin /settoptray { statusdict begin 3 setpapertray end } def /setbottomtray { statusdict begin 0 setpapertray end } def /setlcittray { statusdict begin 1 setpapertray end } def end
PostScriptトレイ番号は, 日本語DECprint Supervisor for OpenVMSユーザーズ・ ガイドに記述されています。
AppleTalkを使用するプロセスの最初のプリント・キューが次のようなエラーを発生して出力できず, キューが起動しないことがあります。
%DCPS-W-ATK_FOR_VMS, Error connecting to AppleTalk for VMS driver
AppleTalk接続を使用した別のキューが同一プロセス上で起動されている場合, このエラーは通知されません。これらのキューがその後に起動された場合でも, これらのキュー上のジョブは"Starting"状態のままとなります。
AppleTalkネットワーク・ソフトウェアが起動される前にAppleTalk接続を使用したキューが起動された場合, キューは起動されたとしても機能しません。 これは,DCPSがマルチストリーム・シンビオントとして起動されていて, 別のプリント・キューが同一プロセス内で起動されている場合に発生します。
このようなエラーからの回復方法は,AppleTalkネットワーク・ソフトウェアが起動していないことを検出した, 現在起動されているシンビオント・ プロセス(シンビオント・プロセス毎に1つのエラー・メッセージが通知されます) がサポートしているすべてのキューを停止させることです。 続いて,AppleTalkソフトウェアおよびキューを再起動します。
この問題の回避策は,DCPSプリント・キューを起動する前にAppleTalkネットワーク・ ソフトウェアを起動することです。
いくつかのプリンタではその内部的な構造により,プリンタと通信しているホスト・ システムではなく,プリンタ・コンソールにステータス情報を通知するものがあります。 このためDCPSはいくつかのステータス状態(たとえば紙切れ, 紙詰まり,複雑すぎるページ,カバーの開放など)を検出できないため, ユーザにその状態を通知することができません。その代わり, その後にDCPSがそのプリンタと通信しようとした場合に,DCPSキューは"Stalled" 状態となります。これは最初にこの問題を発生したジョブで表示されることもありますし, その後のジョブで表示されることもあります。
この問題が発生するプリンタは次のとおりです。
各国語対応文字がPostScript "printername"で使用されている場合,セパレータ・ ページの下部に出力されるプリンタ名が間違った文字セットで出力される可能性があります。
DDIFエンコード2値イメージを出力するには,DCPSはDECwindowsソフトウェアあるいはDECimage Application Services (DAS) がシステムにインストールされていることを必要とします。DAS はOpenVMS VAXシステムだけで使用可能です。
アプリケーションでLaserWriter 8.0あるいは8.1.1ドライバ,あるいはAdobe 2.1.1 Windows ドライバを使用して作成されたPostScriptファイルは,1 より大きなNUMBER_UPが指定された場合に正しく出力されません。
この場合,ページが抜けたり,NUMBER_UPページ位置とは異なる位置に出力されたり, 間違った拡大縮小率で出力されるという現象が発生します。
LISTトランスレータは,ページのフォーマットの際にPAGE_SIZEパラメータを無視します。 この場合,LISTトランスレータはA (レター用紙)およびA4 用紙に適合する最大サイズのページを作成します。
DCPS-Plusライセンスを持っている場合,PAGE_SIZEおよびSHEET_SIZEパラメータの両方を指定して, 論理ページを拡大縮小して異なるサイズの用紙に出力することが可能です。
DEClaser 5100およびHP LaserJet IVファミリーなどのPJLプリンタ用のファイルを作成するドライバは,Hewlett-Packard Printer Job Language (PJL)内にプリンタ制御コマンドを含んでいます。DCPSはそのデータを検出して無視します。 このため,そのようなドライバによって選択されたプリンタ・ オプションはプリンタ・ジョブに影響を与えません。
これらのドライバを使用する場合は,バイナリ・モードを選択してはなりません。 バイナリ・モードでは,DCPSを経由して出力する場合に不正な動作を引き起こす可能性を持つコマンドをファイルに追加するからです。 DCPSトランスレータを経由してジョブが渡されたかどうかに関わらず,出力フォームはキューに実際に接続されているプリンタに依存しています。
AppleTalk接続を使用していくつかのプリンタに出力した場合,プリント・ ジョブの最後で予測できないエラーが発生する可能性があります。この問題が発生するプリンタには,LaserWriter Pro 600 ,LaserWriter Pro 630,LaserWriter IIg,LaserWriter IIfなどが含まれます。一般的に, プリント・ジョブで特定の理由の明確なエラー,たとえばPostScriptインタプリタに"Flush to the EOJ" を発生させるPostScriptエラー,あるいはマニュアル操作による紙送りを待つ間にタイムアウト・ エラーなどが発生した場合, 予測できないエラーが発生します。次のような現象が発生します。
プリント・ジョブのユーザによる出力部分は正しく出力されます。 DECprint Supervisorによって処理されるジョブの最後(たとえば,ページ・ カウントの取得あるいはトレーラ・ページの出力)で,予測できないエラーが発生します。 不正なジョブが終了すると,以降のジョブは正しく出力されます。 システム・オペレータが介在しなければならない処理は必要とされません。
AppleTalk接続を使用して出力している場合,ジョブの削除要求(DELETE /ENTRY)はプリンタとの接続をクローズすることによって実行されます。 AppleTalkプロトコルはPostScriptインタプリタへの割り込みを提供しないため, プリンタはそのバッファに含まれているページ記述部分を継続して出力した後に, ジョブの出力を停止します。ジョブのトレーラ・ページは出力されません。
ジョブが"Starting"状態であり,プリンタが接続を拒否している場合(たとえば, そのPrintServerの電源が落ちている,あるいはブート中である場合) に,弊社のPrintServerプリンタのキューに対してSTOP/QUEUE/RESET コマンドを実行すると,そのキューは停止します。まれに,そのシンビオント・ プロセスが停止する可能性があります。PrintServerプリンタが使用可能となるまで, このコマンドを実行することは避けてください。ジョブが"Starting" 状態であり,PrintServerプリンタのジョブ・キューに登録されている場合,STOP/QUEUE/RESET コマンドは正しく実行されます。
プリンタでジョブのトレーラ・ページ出力中にDELETE/ENTRYコマンドを実行した場合, このページの出力を削除することは可能です。また,ファイルのすべてのデータを転送してPrintServer プリンタにジョブを出力している場合であっても, そのジョブに対するDELETE/ENTRYコマンドを実行して, そのジョブのトレーラ・ページが出力されないようにすることは可能です。
PostScriptファイルに/COPIES修飾子を指定した場合,DCPSは各ファイルの前後にPostScript の"save"および"restore"を追加して,プリンタ内の仮想メモリの消費を避けるようにします。
ただし,まれに不正なrestoreエラー・メッセージを表示してプリント・ ジョブが中断する場合があります。この現象が発生した場合は,/COPIES ではなく/JOB_COUNT修飾子を使用してください。
/JOB_COUNT修飾子を指定した場合にPAGE_LIMITパラメータを使用すると, 期待していない出力となる可能性があります。特に,ジョブの最初の何ページかを出力しないように指定した場合,DCPS は最初のコピーについては指定されたページを出力しませんが, 以降のコピーについてはすべてのページを出力してしまいます。 ジョブの最後の何ページかを出力しないように指定した場合,DCPS は最初のコピーについては指定されたページを出力しませんが, 以降のコピーについては指定を無視して出力してしまいます。
いくつかのページを出力しないで複数のコピーを必要とする場合は, /JOB_COUNT修飾子を使用するのではなく,必要な回数だけPRINTコマンドを実行するようにしてください。
DEClaser 5100およびHP LaserJet 4SiMXなどのいくつかのプリンタでは, プリント・ジョブのデータ・タイプを検出することができます。このようなプリンタでは, フロント・パネルを使用して,接続チャネル毎に現在の自動検出の状態を調べることができます。 また,自動検出機能の有効および無効を指定することもできます。
この機能を提供するほとんどのプリンタについては,プリンタが"PostScript" モードあるいは"Automatic"モードに設定されている場合, 日本語DECprint Supervisorソフトウェアは正しく動作します。このようなプリンタは,DCPS キューを起動する前に,上記のモードのいずれかのモードで動作するように設定しておかなければなりません。 プリンタが"PCL" モードに設定されている場合は,DCPSソフトウェアは正しく動作しません。
詳細については,本書の第6章および『日本語DECprint Supervisor for OpenVMS システム・マネージャーズ・ ガイド』を参照してください。
SYSGENパラメータのMAXBUFで設定されたI/Oバッファのサイズが小さすぎる場合, プリンタ・キューが停止し,OPCOMに次のメッセージが表示されます。
%SYSTEM-E-EXQUOTA, process quota exceeded
このエラーが発生した場合は,SYSGENパラメータのMAXBUFの値を増やしてください。
弊社のPrintServerソフトウェアのいくつかのバージョンについてのCPAP プロトコルのバグにより,特定のリソースの問い合わせに対してDCPSシンビオントが不正にフォーマットされたパケットを取得する可能性があります。 不正なパケットはシンビオントの起動を妨げます。この問題は,1つのパケット( ロードされたリソースを戻すことを記述している)に必要なリソースよりも多くの十分すぎるリソースをロードすることにより発生します。 推奨される回避策は,より少ないリソースをロードすることです。 経験的なテスト結果によると,その制限は7フォントです。この問題は, PrintServerソフトウェアのS5.0-29以降で解消されています。