内容

ポストスクリプトエラーメッセージの表示または印刷

ポストスクリプトエラーメッセージによるトラブルシューティングの開始

ポストスクリプトエラーの種類

ポストスクリプトの不正なコマンド

ポストスクリプトエラーとして考えられる原因のトラブルシューティング

 

プリンタや Acrobat Distiller など、ポストスクリプトインタープリタにファイルを送信するときに、ポストスクリプトエラーが返されることがあります。

ポストスクリプトエラーは、ポストスクリプトインタープリタがファイルのポストスクリプトコードを解読できなかったり、ポストスクリプトコードがページ記述言語に組み込まれている制限を超えた場合に発生します。ポストスクリプトのインタープリタがデータを処理したかのように見えても、その後で停止した場合は、ポストスクリプトエラーが発生する可能性があります。

 

ポストスクリプトのエラーメッセージには、ポストスクリプトエラーの種類と、インタープリタが解読できなかったポストスクリプトの特定の部分を示す不正なコマンドが含まれています。不正なコマンドとは、問題の原因となったコマンドを指します。ポストスクリプトエラーには、問題の原因を直接的に示すものや、問題の方向性のみ示すものがあります。

 

以下はポストスクリプトエラーメッセージの例です。

 

%%[Error: <type>; OffendingCommand: <offending command> ]%%

 

例えば、%%[Error: dictfull; OffendingCommand: def ]%% というポストスクリプトエラーには、"dictfull" という種類のポストスクリプトエラーと "def" という不正なコマンドが含まれています。エラーの種類は、辞書に最大数のエントリが含まれていることを示しています。不正なコマンドは、ポストスクリプトインタープリタが処理しようとした最後のコマンド "def" を示しています。この def コマンドは、辞書に新しい語を定義するときに使われます。

 

■ポストスクリプトエラーメッセージの表示または印刷

ポストスクリプトエラーが発生したと思われるのに、画面上にもプリントアウトにもエラーが示されない場合は、次の A~D うちいずれか、もしくは両方をを実行して、エラーメッセージを表示または印刷することができます。

 

A. エラーハンドラユーティリティを使用します(Win/Mac)。

例えば、Adobe PageMaker の[プリント]メニューを選択して表示されるダイアログボックスで[オプション]を選択します。ここで表示されるダイアログボックスには[エラー発生時に内容を印刷する]オプションが提供されています。

 

B. 次の手順でプリンタを設定し、エラーメッセージを印刷します(Win)。

Windows 2000 の場合

1.[スタート-設定-プリンタ]を選択します。

2. 対象となるプリンタを右クリックして、ポップアップメニューから「プロパティ」を選択します。

3.[全般]タブをクリックします。

4.[PostScriptエラー情報を印刷する]オプションを選択します。

5.[OK]をクリックします。

 

Windows 95/98 の場合

1.[スタート-設定-プリンタ]を選択します。

2. 対象となるプリンタを右クリックして、ポップアップメニューから「プロパティ」を選択します。

3.[PostScript]タブをクリックし、[レイアウト]タブの[詳細設定]ボタンをクリックします。

4.[PostScript]オプションの[PostScriptエラーハンドラを送信]を選択します。

5.[OK]をクリックします。

 

Windows 3.1x の場合

1. プログラムマネージャで、メイングループのコントロールパネルを開きます。

2.[プリンタ]アイコンをダブルクリックします。

3. インストール済みプリンタ一覧から対象となるプリンタを選択します。

4.[Setup(設定)]をクリックします。

5.[オプション]をクリックし、[Advanced(詳細)]をクリックします。

6.[Print PostScript Error Information(ポストスクリプトエラー情報の印刷)]オプションを選択します。

7. [OK]をクリックして、残りのダイアログボックスを閉じます。

 

C. 次の手順で、Apple LaserWriter 8.x または Adobe PSPrinter 8.x プリンタドライバを設定し、エラーメッセージを表示または印刷します(Mac)。

1.[印刷]ダイアログボックスで[オプション]をクリックします。

2.[PostScriptエラー]オプションのプルダウンメニューから[スクリーン上に表示(要約のみ)]、または[詳細レポートの出力]を選択します。

3.[OK]をクリックします。

4.[プリント]をクリックします。

 

D. 次の手順で、バックグラウンド印刷を含む印刷スプーラを使用できないようにします(Mac)。

1.セレクタでプリンタドライバを選択します。

2.[バックグラウンドプリント]オプションの[切]をチェックします。

 

■ポストスクリプトエラーメッセージによるトラブルシューティングの開始

特定のポストスクリプトエラーメッセージを受け取ったら、そのエラーのトラブルシューティングを開始します。

まず、「ポストスクリプトエラーの種類」と「ポストスクリプトの不正なコマンド」のセクションでエラーの種類と不正なコマンドを検索します。

次に、問題の修復を開始します。

 

例1: "%%[Error: limitcheck; OffendingCommand: image ]%%"

まず、下記に記載している「ポストスクリプトエラーの種類」のセクションで "limitcheck" を検索します。

"limitcheck" は「プリンタのメモリまたはポストスクリプト言語の制限を超えています」という見出しの下にあります。「ポストスクリプトの不正なコマンド」では、"image" はビットマップデータ関連の問題を示す見出しの下にあります。これで、プリンタのメモリまたはポストスクリプト言語の制限を超えるビットマップデータが含まれていることが判明します。ビットマップデータのソースとして最も可能性が高いのは、ファイルに含まれるグラフィックイメージです。そこで、ファイル内のグラフィックイメージを調べて、問題の原因を探ります。原因と思われるグラフィックが見つかったら、それを削除して、再インポートするか(破損している場合)、dpi(1 インチ当たりに含まれるドットの数)を減らします。また、出力先のプリンタのメモリを増設することによってグラフィックイメージが正しく印刷できるようになることもあります。

 

例2: "%%[Error: undefined; OffendingCommand: <random characters> ]%%"

原因を判断できないポストスクリプトエラーもあります。"undefined" は、「ポストスクリプトエラーの種類」セクションの「解読できないポストスクリプトコードを示すエラー」という見出しの下にあります。"<random characters>" は、「ポストスクリプトの不正なコマンド」セクションの要素またはファイルに関する問題を示す見出しの下にあります。この場合は、ポストスクリプトインタープリタが解読できないポストスクリプトコードがファイルに含まれていると考えられます。詳細は、「ポストスクリプトエラーとして考えられる原因のトラブルシューティング」セクションを参照してください。

 

■ポストスクリプトエラーの種類

一般的な原因別に分類したエラーの種類を見出しの下に一覧表示します。

 

ポストスクリプトインタープリタのメモリまたはポストスクリプト言語の制限を超えていることを示します。

-dictfull

-fatal system error at [various]

-limitcheck

-VMerror

 

通信の問題を示します。

-interrupt

-ioerror(不良セクタなど、プリンタのハードディスクでディスクの問題によって発生することもあります)

-timeout

 

解読できないポストスクリプトコードがファイルに含まれていることを示します。

-dictstackoverflow

-dictstackunderflow

-execstackoverflow

-handleerror -invalidaccess

-invalidexit -invalidfileaccess

-invalidfont -invalidrestore

-nocurrentpoint -rangecheck

-stackoverflow

-stackunderflow

-syntaxerror

-typecheck

-undefined

-undefinedfilename

-undefinedresult

-unmatchedmark

-unregistered

 

■ポストスクリプトの不正なコマンド

一般的な原因別に分類した不正なコマンドを見出しの下に一覧表示します。

特定のテキストまたはフォント要素に関する問題を示します。

-ashow

-awidthshow

-charpath

-definefont

-findfont

-imagemask

-kshow

-makefont

-selectfont

-show

-stringwidth

-widthshow

 

クリッピングパスなど、特定のマスクに関する問題を示します。

-clip

-eoclip

 

インポートしたオブジェクト、ベクトル、グラフィックス(PS や PICT など)の塗りつぶしや線に関する問題を示します。

-arc

-arcto

-currentpoint

-curveto

-eofill

-fill

-lineto

-moveto

-rcurveto

-rlineto

-setdash

-setlinecap

-setlinejoin

-stroke

 

ビットマップデータに関する問題を示します。

-colorimage

-image

-imagemask(1 ビットのビットマップ画像およびビットマップフォントに関連付けられます。)

 

要素またはグラフィックに関する問題を示します。

-array

-def

-dict

-exch

-get

-index

-itransform

-nostringval

-packedarray

-put

-restore

-save

-setgray

-setpageparams

-setscreen

-[random characters]

 

■ポストスクリプトエラーとして考えられる原因のトラブルシューティング

大部分のポストスクリプトエラーメッセージは、問題の原因を即座に示しますが、原因が特定できないポストスクリプトエラーメッセージが返された場合、またはポストスクリプトエラーが発生したと思われるのにエラーメッセージが返されない場合は、さらに問題の原因を追求する必要があります。ポストスクリプトエラーのトラブルシューティング方法としては、問題が発生した時点で原因と考えられる要素を切り離し、問題の原因がシステムレベル、アプリケーション固有、ファイル固有、または要素固有かどうかを判別します。次に、問題が解決するまで可能性のある原因を排除していきます。

 

-システムレベルの印刷の問題の切離し

複数のアプリケーションで同じエラーが発生する場合は、問題の原因がシステムレベルにある可能性が高くなります。

通常、システムレベルの問題は、フォントの破損、システムファイルの破損、プリンタドライバの破損、ハードディスクの空き領域の不足、ネットワークの問題、またはハードウェアの問題などによって発生します。問題が特定のアプリケーションだけで発生する場合は、「アプリケーション固有の問題の切離し」セクションを参照してください。

 

ご使用のポストスクリプトデバイスドライバ(プリンタドライバなど)が最新のものかどうか、またはアプリケーションに適したバージョンのものかを確認してください。ポストスクリプトインタープリタに大容量ファイルを送って印刷する場合は、ハードディスクに十分な空き領域が必要です。また、ハードディスクの空き領域が断片化していないかどうかを確認してください。

 

外部のポストスクリプトデバイスに印刷する場合は、ケーブルやスイッチボックスなどのコネクタが外部デバイスにしっかり接続されているかを確認し、ゆるい場合は締め直します。コネクタがしっかり接続されていないと、デバイスはデータを受信しないため何も起きず、問題の原因を特定しにくくなります。この場合、デバイスが小さいジョブしか受け取らなかったり、ドライバが一時的に Macintosh のセレクタに表示されたりすることがあります。

 

古いポストスクリプトプリンタ、またはポストスクリプトエミュレータ(Pacific Page カートリッジや Phoenix PostScript Interpreter など)を使用するプリンタに印刷する場合、新しいポストスクリプトコードを認識できないことがあります。弊社が著作権を持つ現行バージョンのポストスクリプトにファイルを印刷してみてください。

 

-アプリケーション固有の問題の切離し

そのエラーが特定のアプリケーションでのみ発生する場合は、長方形や線など、単純な要素だけを含むテストファイルを新規作成して、エラーの原因がアプリケーションにあるのか、特定のファイルにあるのかを判断する必要があります。このテストファイルを使ってエラーが発生しない場合は、原因がアプリケーション自体にはないと考えられるので、「ファイル固有の問題の切離し」に進んでください。このテストファイルを使ってエラーが発生した場合は、そのアプリケーションが壊れている可能性があります。アプリケーションの設定ファイルを削除して、元のインストールディスクからアプリケーションを再インストールしてください。

 

-ファイル固有の問題の切離し

特定のファイルに限ってエラーが発生する場合は、ポストスクリプトインタープリタに対して選択したファイルの印刷設定が間違っているか、グラフィックが破損しているなど、問題のある要素がファイルに含まれている可能性があります。エラーが発生しないファイルの印刷設定を使って、ファイルのトラブルシューティングを行ってください。

 

ファイル自体が破損しているかどうかを判断するには、そのファイルの内容を含む新しいファイルを次の手順で作成して、新しいファイルでエラーが発生するかどうかを調べます。

1. エラーが発生するファイルの内容を新しいファイルにコピーします。

2.[別名で保存]コマンドを使って新しいファイルを保存します。

 

新しいファイルでエラーが発生しない場合は、元のファイルが破損していることになります。

新しいファイルでもエラーが発生する場合は、アプリケーションに組み込みの診断ルーチンを実行してください。

 

例えば PageMaker では、次の手順で[ファイルの自動診断]機能を使ってファイルの問題を修復することができます。

A. Windows の場合:

1. ファイル内のすべての要素の選択を解除します。

2. Ctrl キーと Shift キーを押しながら[書式-入力-ハイフネーション]を選択します。

 

B. Macintosh の場合:

1. ファイル内のすべての要素の選択を解除します。

2. Option キーと Shift キーを押しながら[書式-ハイフネーション]を選択します。

 

それでもエラーが発生する場合は、ファイル内の個々の要素が破損している可能性があります。「要素固有の問題の切離し」へ進んでください。

-要素固有の問題の切離し

特定のページやページの要素に限ってエラーが返される場合は、エラーの原因と考えられるファイル内の要素やフォントが破損しているか、または正しく記述されていない可能性があります。また、使用可能メモリよりも多くのメモリ容量を必要とする要素の組合せによってエラーが発生することもあります。複数のページに渡ってエラーが発生する場合は、それらのページに共通する要素を探してください。要素を個別または小グループに分けて印刷すればエラーは発生せず、すべての要素を一度に印刷するとエラーが発生する場合は、それらの要素の組み合わせが使用可能メモリよりも多くのメモリ容量を必要としていることになります。

 

問題の原因となる要素を切り離すには、ファイルのコピーを作成してから、ページのグループをポストスクリプトインタープリタに送信します。グループからエラーが発生した場合は、そのグループから 1 度に 1 ページずつ印刷します。問題のページを特定できるまでページの送信を続けてください。各ページから要素を削除することで、問題の原因となった要素を切り離すことができます。ページを削除した後で、そのページからエラーが発生しなくなった場合は、削除した要素が問題を引き起こす原因と考えられます。PageMaker では、ファイルをポストスクリプトインタープリタに送信するときに、ある要素だけを含めて別の要素は含めないというオプションが提供されています。具体的には、PageMaker の[プリント]メニューで表示されるダイアログダイアログボックスで[校正刷り]オプションを選択すると、グラフィックスではなくテキストが印刷されます。このオプションを使用すると、問題の原因がインポートされたグラフィックにあるのか、または PageMaker 文書のテキストとは別の要素にあるのかを即座に判断することができます。

 

問題の原因となる要素がテキストまたはアプリケーションで作成された要素にある場合は、その要素を作成し直します。テキスト要素の場合は、別のフォントを使用してみてください(例えば、別の種類のフォントを使ってテキストの書式を設定し直します)。別のフォントを使うとエラーが発生しない場合は、元のフォントを再インストールしてください。

 

問題の原因となる要素がインポートされたグラフィックにある場合は、そのグラフィックを再インポートしてください。それでもまだエラーが発生する場合は、グラフィックを作成したアプリケーションでグラフィックを開いて保存し直し、そのアプリケーションから印刷できることを確認してからグラフィックを再インポートしてください。それでもエラーが発生する場合は、別の形式で保存し、別のアプリケーションからエクスポートするか、グラフィックを簡略化して必要なメモリを少なくします。インポートされたグラフィックに破損している情報や正しく記述されていない情報が含まれている場合や、ポストスクリプトインタープリタが解読しきれない場合(つまり、使用可能なメモリよりも多くの容量を必要とする場合)は、インポートされたグラフィックがポストスクリプトエラーの原因である可能性があります。

 

ファイルの複雑さが原因でポストスクリプトエラーが発生する場合は、ファイルを簡略化して印刷できるかどうかを調べてください。複雑なファイルの簡略化には、以下の方法があります。

 

-インポートされたグラフィックスの数を減らす

-ダウンロードが必要なフォントの数を減らす

-斜体や回転などのテキスト効果の数を減らす

-必要のない要素を削除する

-少ないポイントを使ってパスを作成するか

-低解像度で再サンプリングしたビットマップイメージを再インポートする

 

EPS などのグラフィックの書式は定期的に更新されるため、新しいポストスクリプトインタープリタでは解読できない古いグラフィック標準を古いアプリケーションで使用されていることもあります。

 

 

 

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー