Вопросы и ответы по программам Adobe

         

Неожиданные результаты


MAC OS/ WINDOWS/ UNIX

Ошибки PostScript. Устранение неисправностей

Причины ошибок PostScript могут быть разными: сбои в коммуникации между принтером и компьютером, непонятный для интерпретатора PostScript-код, нарушение правил языка PostScript. Так, печать на принтере, страдающем от нехватки памяти, может дать неожиданный результат или вызвать ошибку PostScript.

Сообщения об ошибках PostScript состоят из двух частей: ошибки и сбойной команды.


%%[Error: limitcheck; OffendingCommand: image

]%

В данном примере первая часть (limitcheck) указывает на тип ошибки, а вторая (image) — на то, что именно обрабатывалось, когда произошла ошибка (иногда может отображаться как случайный набор символов). Сообщения помогают попять смысл ошибки, между тем многие проблемы могут быть решены и без такой информации.

Ошибки PostScript не выводятся на экран и на печать автоматически — для этого необходимо произвести дополнительную настройку. Когда функция отображения ошибок отключена, то столкнувшись с проблемой, принтер, казалось бы, продолжает обрабатывать данные, но затем вдруг останавливается, так ничего и не напечатав. Чтобы получать сообщения об ошибках на Macintosh, отключите в реквизите Chooser режим фоновой печати (Background Printing), а в Windows настройте драйвер принтера.

Чтобы выводить на печать сообщения об ошибках в Windows 95:

1. Выберите команду Start > Settings > Printers.

2. Правой кнопкой мыши щелкните целевой принтер и выберите в раскрывающемся списке пункт Properties.

3. В диалоговом окне Properties откройте вкладку PostScript.

4. Включите параметр Print PostScript Error Information и нажмите кнопку ОК.

 Чтобы выводить на печать сообщения об ошибках в Windows 3.1х:

1. В Program Manager и откройте Control Panel

2. Дважды щелкните пиктограмму Printers.

3. В списке установленных принтеров выберите тот, который Вам нужен.

4. Нажмите кнопку Setup, затем Options, затем Advanced.

5. В диалоговом окне Advanced Options включите параметр Print PostScript Error Information.

6. Кнопкой OK закройте диалоговые окна. Некоторые приложения, например, Adobe PageMaker, предлагают для загрузки свои собственные обработчики ошибок. Загляните в руководство пользователя и проверьте, есть ли такая возможность у Вашей программы. (Чтобы загрузить обработчик ошибок PageMaker, откройте Adobe PageMaker и в диалоговом окне Print Options включите параметр Include PostScript Error Handler). Утилиты обработки ошибок можно использовать и с другими программами.

Следующая информация разделена на четыре части: общие причины ошибок PostScript, техника определения причин ошибок, общие ошибки PostScript и их вероятные причины, общие сбойные команды и их вероятные причины. Научившись правильно истолковывать сообщения об ошибках и определять их причины, Вы наверняка пожелаете ознакомиться и с методами решения проблем.

ОБЩИЕ ПРИЧИНЫ ОШИБОК POSTSCRIPT

  •  Элемент страницы (текст или импортированная графика в форматах EPS, PICT или WMF).
  •  Искаженные данные.
  •  Испорченный шрифт.
  •  Сложность элементов (слишком высокие требования к памяти принтера).
  •  Ошибка коммуникации (неправильное подключение устройств, неплотно вставленные в разъемы соединения, проблемы на уровне системы, проблемы с аппаратной частью принтера).
  •  Поврежденный драйвер принтера.
  •  Печать на эмулятор PostScript (принтер, использующий не лицензированную версию PostScript фирмы Adobe, а какую-то другую).

ОПРЕДЕЛЕНИЕ ОШИБОК POSTSCRIPT

 Чтобы определить ошибку PostScript, установите сначала, когда именно она происходит. Вы получаете сообщение об ошибке,

  •  когда печатаете именно из этой программы на этом компьютере, или изо всех программ на этом компьютере?

Если все приложения генерируют одну и ту же ошибку или демонстрируют одинаково странное поведение, надо определить участок системы, где происходит сбой. Обычно это ошибки коммуникации, их могут вызывать поврежденные шрифты, поврежденные системные файлы, поврежденный драйвер принтера, проблемы подкачки по сети или проблемы с аппаратной частью принтера. Выключите принтер и проверьте надежность соединительных кабелей. При необходимости обратитесь за помощью к производителю принтера или системного программного обеспечения;

  •  когда печатаете определенный файл, созданный в этой программе, или при печати всех файлов той же программы?

Поскольку ошибки PostScript могут быть вызваны сложностью отдельных элементов страницы или даже соединением SCSI-порта (например, сканер или внешний дисковод), то нужно выяснить, насколько обширна проблема. Если все созданные в этой программе файлы при печати генерируют ошибку PostScript, возможно, понадобится переустановить программу. Может быть Ваш принтер использует эмулятор PostScript (например, картридж Pacific Page, Phoenix PostScript Interpreter), который работает с PostScript, генерированным устаревшими программами или устаревшими драйверами. Если у Вас принтер устаревшей модели или представляет собой эмулятор PostScript, попробуйте напечатать на устройстве, использующем новую версию PostScript, лицензированную у Adobe (например, PostScript-принтеры Apple LaserWriter II NTX или HP LaserJet 4). В крайнем случае обратитесь за помощью к фирме-производителю.

Возможно и то, что во всех файлах, вызывающих ошибку PostScript, используется какой-то определенный шрифт или графика. Чтобы проверить это, создайте новый файл, начертите прямоугольник или просто линию и попробуйте напечатать страницу. Если все прошло нормально, надо выяснить, какой из общих для всех файлов элементов (текст или графика) вызывает ошибку. Возможно, придется обновить или установить заново один или несколько шрифтов. Если ошибку вызывает графика из какой-то программы, проверьте, не повреждена ли графика и не слишком ли она сложна, воспользуйтесь другим графическим форматом или обратитесь в отдел технической поддержки и запросите для программы обновление.

  •  когда печатаете все страницы или только одну?

Вычислив проблемный файл или файлы, Вы можете обнаружить, что сбой происходит только при печати определенных страниц. Обратите внимание на общие для них элементы (текст или графика). Если на проблемных страницах присутствует логотип компании или корпоративный шрифт, уже есть повод для подозрения.

Независимо от того, где происходит ошибка, на одной и той же странице файла или на нескольких страницах в разных файлах, обнаружить ее поможет следующий метод. Откройте копию файла и попробуйте напечатать половину элементов страницы. Если выдается сообщение об ошибке, попробуйте напечатать вторую половину. Удаляйте по одному элементу, пока страница не будет печататься нормально. Если ничего не получается даже после удаления всех элементов, вероятно, поврежден сам файл. Чтобы проверить это, скопируйте все элементы, вставьте их в новый файл, сохраните его под другим именем и попробуйте напечатать. Если печать оказывается возможной только после сокращения информации, значит какой-то элемент содержит некорректные данные или для выбранного принтера файл слишком сложен.

Если в процессе удаления элементов так и не удалось обнаружить, причину сбоя, попробуйте напечатать текст и вычерченные элементы без импортированной графики. Некоторые программы, такие как Adobe PageMaker, позволяют это делать автоматически. Загляните в руководство своей программы и проверьте, есть ли у нее такая функция. Когда импортированная графика содержит поврежденную, плохо составленную информацию или слишком сложна (например, включает нестандартные заливки, сложные шрифтовые эффекты, вложенные объекты, контуры с большим числом точек), то может вызвать ошибку PostScript. Можно составить файл такой сложности, что ни один принтер, даже самого высокого класса, не сможет его напечатать. Не следует забывать и о том, что графические форматы периодически обновляются, поэтому в EPS-файле, созданном программой 4-летней давности, использованы несколько иные стандарты.

Найдя графический элемент, который может вызывать ошибку, импортируйте его заново. Если это не помогает, экспортируйте элемент из создавшей его программы в том же самом или другом формате и снова импортируйте. Проверьте, печатается ли эта графика, когда она единственный элемент в новом файле. Если она достаточно сложна, то в комбинации с другими элементами страницы представляет уже непосильную задачу для принтера и генерирует ошибку, связанную с нехваткой памяти. Если, будучи единственным элементом нового файла, графика все равно не печатается, значит с ней не все в порядке.

Ошибку может вызывать текст с каким-то шрифтом. Попробуйте напечатать подозрительный текст заново. Если Вам кажется, что причина сбоя в шрифте, замените его по всему тексту каким-нибудь другим. Возможно, он поврежден или не соответствует стандарту.

  •  когда печатаете сложные файлы или файлы со сложными элементами?

В этом случае файл нужно упростить. Некоторые программы, вроде Adobe PageMaker, сами

сложных элементов не создают, но позволяют импортировать их из других источников. Например, Adobe Illustrator и Adobe Photoshop могут создавать сложные файлы и без импорта данных. Чтобы упростить файл, скажем, в PageMaker, следует использовать меньше импортированных элементов или меньше шрифтов, которые приходится загружать на принтер. Если программа может генерировать сложные элементы сама, используйте контуры с меньшим числом точек, сведите до минимума операции многократного копирования или клонирования, упростите нестандартные заливки и градиенты. Ошибок, связанных со сложными текстовыми эффектами (наклонный, повернутый текст, кернинг), можно избежать путем преобразования текста в кривые. Нередко источниками ошибок PostScript являются EPS-файлы, поскольку содержат сложную информацию. Эта статья ни в коей мере не может служить справочным пособием по поиску и устранению ошибок PostScript. Она просто поможет Вам в решении многих проблем с печатью PostScript, а в особо трудных ситуациях, обращаясь за помощью к специалисту, Вы окажетесь в состоянии внятно изложить суть дела.

Некорректные установки принтера. Общая информация

Если все значения в PostScript-коде указаны правильно, а печать дает неожиданные результаты, значит дело в принтере. Подачей бумаги и ее растяжкой управляет сам принтер. Если эти или другие параметры установлены некорректно, Вы получите не то, что ожидали.

Чтобы проверить правильность работы принтера, можно загрузить тестовый файл с PostScript-кодом, описывающим какой-нибудь простой элемент, например, квадрат размером 4x4 дюйма.

Следующий PostScript-файл создает квадрат 4 на 4 дюйма, файл можно загрузить в принтер несколько раз подряд. Если на печати квадрат пусть немного, но все время получается деформированным, значит дело не в программе, а в принтере. Неправильное натяжение бумаги чаще всего влияет на высоту элементов.

Тот же квадрат, напечатанный на другом принтере, может выглядеть несколько иначе, на третьем — может отличаться еще чем-то.

Чтобы создать PostScript-файл, описывающий квадрат 4x4 дюйма:

1. Откройте новый файл в программе (Microsoft Word, SimpleText, MS-DOS Editor), способной сохранять текст в формате Text Only, и введите следующие строки:

%% 4 inch black box with no stroke 

144 288 moveto 

0 288 rlineto

 288 0 rlineto 

0 -288 rlineto 

closepath

fill 

showpage

2. Сохраните файл под именем «4 inch box.ps» в формате Text Only.

3. С помощью загрузочной утилиты (Adobe Font Downloader, Apple EaserWriter Font Utility) загрузите файл в принтер.

Ошибка PostScript «Undefined; OffendingCommand: featurecleanup»

ОПИСАНИЕ

При печати документа с помощью драйвера принтера LaserWriter 8.1.1 происходит ошибка PostScript «Undefined; OffendingCommand: featuredeanup».

СИМПТОМЫ

В драйвере EaserWriter 8.1.1 принтер настроен PPD-файлом, содержащим ключевое слово *JobPatchFile или TatchFile.

Выбранный в диалоговом окне Print программы (кроме PageMaker 5.0x) PPD-файл содержит ключевое слово *JobPatchFile или *PatchFile.

Вы печатаете из PageMaker 5.0х с активным режимом фоновой печати.

Вы печатаете публикацию PageMaker 5.0x, содержащую графику в формате PICT, CGM, WMF, DXF или ОЕЕ PICT.

РЕШЕНИЕ

Если Вы печатаете из PageMaker 5.Ох, отключите в реквизите Chooser режим фоновой печати (Background Printing).

ИЛИ: Чтобы проверить, не вызывает ли ошибку импортированная графика, напечатайте файл или страницу без нее (включив параметр Proof). Выявив графику, которая является причиной сбоя, сохраните ее еще раз и поставьте взамен прежней.

ИЛИ: Если Вы печатаете не из PageMaker 5.0x, а из другой программы, проделайте одно или несколько из следующих действий:

А. Войдите в Chooser, выберите драйвер принтера EaserWriter 8.1.1, выберите принтер и нажмите кнопку Setup, включите параметр Select PPD и замените PPD-файл другим, который не имеет ключевого слова *JobPatchFile или *PatchFile. 

Б. В программе, из которой выполняется печать, выберите PPD-файл, не имеющий ключевого слова *JobPatchFile или *PatchFile.

ИЛИ: Воспользуйтесь принтерным драйвером EaserWriter 8.0 или более ранней версии.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ 

Если для печати используется PPD-файл, содержащий ключевое слово *JobPatchFile или *PatchFile, для управления ими нужна команда featuredeanup. Драйвер EaserWriter 8.1.1 использует команду featuredeanup, до того как она определена в PostScript, в результате чего возникает ошибка «Undefined; OffendingCommand: featuredeanup».

 

Ошибки, связанные со сложностью элементов

ошибка

описание

возможная причина

решение

dictfull

Указывает на то, что один из словарей PostScript функционирует неправильно, переполнен или поврежден

-Импортированная графика -Поврежденный шрифт -Искажение данных

Изолируйте проблемный элемент

fatal system error at [цифровая строка]

limitcheck

Принтеру не хватает памяти, число в сообщении обозначает адрес ячейки в памяти принтера Превышено одно из ограничений PostScript

-Для печати файла требуется гораздо больше памяти, чем та, что доступна принтеру -Исчерпан объем памяти принтера или один из установленных в PostScript лимитов

Упростите публикацию, перезапустите принтер Обратите внимание на OffendingCommand

VMerror

Принтеру не хватает памяти Сбойная команда находится там, где прекратился процесс обработки. Была предпринята попытка создать композитный объект (строку, массив или словарь), в результате чего истощились ресурсы виртуальной памяти

-Файл предъявляет повышенные требования к памяти принтера

Упростите страницу или модифицируйте PPD-файл, если он используется

 

Ошибки коммуникации

ошибка

описание

возможная причина

решение

ioerror

Некорректная передача данных, невозможность считывания или записи данных

-Ошибка коммуникации -Двоичные данные изображения (графика TIFF, EPS или DCS) -Ошибки диска -Поврежденный драйвер принтера

Попробуйте напечатать файл из другой программы, установите заново драйвер принтера, проигнорируйте графическую информацию

timeout

Превышен временной лимит (например, лимит коммуникации между принтером и компьютером)

-Импортированная графика большого объема -Заливка сложным орнаментом -Сложные текстовые эффекты -Проблемы в сети -Вложенные сгруппированные элементы

Изолируйте элемент, увеличьте значение тайм-аута

 

Ошибки PostScript-кода

ошибка

описание

возможная причина

решение

invalidrestore

Неправильная попытка восстановления

-Импортированная графика -Порча данных

Изолируйте элемент

stackoverflow, stackunderflow

Слишком много объектов (значений или команд) в одном стеке (stackoverflow) или объект в стеке отсутствует (stackunderflow)

-Сбойный элемент -Импортированная графика -Проблемы памяти -Порча данных -Ошибка коммуникации

Изолируйте элемент, упростите страницу

typecheck

Объект или значение не соответствует требованиям PostScript. Typecheck не обязательно означает проблемы с текстом

-Сбойный элемент -Импортированная графика -Порча данных

Изолируйте элемент, скопируйте данные и вставьте в новый файл

undefined

Обнаружено ключевое слово, значение или объект, не поддающиеся определению

-Отсутствует какой-нибудь prep-файл или PostScript-словарь -Импортированная графика -Испорченный шрифт -Искаженные данные -Ошибка коммуникации -Отсутствует информация PostScript-заголовка

Изолируйте элемент, попробуйте напечатать из другой программы, скопируйте и вставьте данные в другой файл, если файл конвертирован из предыдущей версии, попробуйте напечатать из той версии

 

Сбойные команды, связанные со сложностью

Команда

возможная причина

charpath

Сложный текст или текстовые эффекты

clip, eoclip

Линейные или радиальные градиентные заливки, сложные или составные контуры, текстовые эффекты, маски

curveto

Сложные контуры из криволинейных сегментов

fill.eofill

Сложные или составные контуры

lineto, moveto

Контуры со множеством точек (могут включать преобразованную в векторный формат PICT-графику)

makefont

Текстовые эффекты (масштабированный, наклоненный, повернутый или отраженный текст)

Stroke

Сложные контуры, контуры со сложными заливками и обводкой, преобразованная в векторный формат PICT-графика. ПРИМЕЧАНИЕ: Сложным считается контур, включающий множество точек; контур может оказаться слишком сложным для заданной в иллюстрационной программе величины спрямления (flatness). Информацию о величинах спрямления Вы найдете в руководстве пользователя.

Сбойные команды, связанные с памятью принтера

Команда

Вероятная причина

def

Память принтера, принтерные шрифты или импортированная графика.

diet

Память принтера, принтерные шрифты (см. «Ошибки, связанные с компонентами системы»)

framedevice

Память принтера, печать из устаревшей программы, использование устаревшего принтерного драйвера (действительно только для PostScript Level 1)

index

Память принтера, импортированная графика

 

Сбойные команды, связанные с одним или несколькими элементами страницы

Команда

Вероятная причина

ashow, widthshow, awidthshow

Смещенный текст (например, текст с кернингом, надиндексы или подиндексы, нестандартные межбуквенные или межсловные пробелы) или поврежденный шрифт

colorimage

Цветные растровые изображения

currentpoint

Импортированная графика, элементы, созданные в другой программе

def

Импортированная графика (причина может быть связана также с принтерными шрифтами или памятью принтера)

exch

Импортированная графика (причина может быть связана также с поврежденным шрифтом)

get

Импортированная графика

image

Растровые изображения

imagemask

Черно-белые и закрашенные растровые изображения, растровые шрифты

index

Импортированная графика (причина может быть связана также с нехваткой памяти принтера)

itransform

Очень маленький элемент

kshow

Текст с кернингом

nostringval

Сбойный элемент, возможно, импортированная графика (может быть связано с поврежденным шрифтом)

packedarray

Импортированная графика (причина может быть связана также с искаженными данными или с печатью на эмулятор PostScript)

put

Нестандартные заливки (причина может быть связана также с поврежденным шрифтом)

setdash

Нестандартные линии PostScript, импортированная графика с нестандартными линиями

setgray

Оттенки, импортированные EPS-файлы, шрифты, созданные в старых версиях Fontographer

setlinecap

Нестандартные линии PostScript, импортированная графика с нестандартными линиями

setlinejoin

Нестандартные линии PostScript, импортированная графика с нестандартными линиями

show

Текст (в импортированной EPS-графике)

stringwidth

Текст (в импортированной EPS-графике)

character string

Импортированный файл изображения (поврежденный, слишком высокое разрешение, неправильно составленный), искажение данных

 

Сбойные команды, связанные с поврежденными компонентами системы

def

Принтерные шрифты (также импортированная графика, память принтера)

diet

Принтерные шрифты (также память принтера)

exch

Поврежденный шрифт (также импортированная графика)

flxproc

Поврежденный шрифт

nostringval

Поврежденный шрифт (также специфические элементы на странице)

put

Поврежденный шрифт (также нестандартные заливки в графических элементах)

setpageparams

Выбранный в приложении размер бумаге превосходит запечатываемую область, определенную в PPD для данного принтера. Неправильно отредактированный PPD-файл

PPD-файлы, модифицированные таким образом, чтобы при выводе на печать из PageMaker 5.0 TIFF-изображения не получались слишком темными или слишком светлыми, PPD-файл для Apple LaserWriter, включенный в пакет PageMaker 5.0, и другие PPD-файлы (например, AccelaWriter 8000 [РМ50] и AccelaWriter 4000 [РМ50]) содержат ключевое слово *JobPatchFile или TatchFile.

Если в PageMaker выбрать команду File > Print, не удерживая клавиши Option, программа генерирует PostScript-код публикации без PostScript-шрифтов и PICT-графики. PageMaker 5.0х преобразует Р1СТ-гра-фику (включая конвертированную графику CGM, WMF, DXF и OLE PICT) в графику EPS посредством драйвера принтера LaserWriter 8.x. Если выбирать команду File > Print, удерживая клавишу Option, PageMaker с помощью драйвера LaserWriter генерирует PostScript-код для всей публикации целиком.

Когда при включенном режиме фоновой печати информация из PageMaker подается на печатающее устройство, считывается соответствующий PPD-файл для принтера, указанного в драйвере LaserWriter 8.1.1. И если этот файл содержит ключевое слово *JobPatchFile или *PatchFile, происходит ошибка «Undefined; OffendingCommand: featurecleanup».

Документ с малым значением линиатуры печатается неправильно

ОПИСАНИЕ

Печать документа на PostScript-устройстве выполняется с более высоким значением линиатуры, чем то, которое было указано.

РЕШЕНИЕ

Отключите в RIP (растровом процессоре) фотонаборного автомата программу растрирования или калибровки.

ИЛИ: Воспользуйтесь другим устройством, способным печатать с малыми значениями линиатуры.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ 

Минимальные значения линиатуры (Ipi), которые может воспроизводить принтер, для разных устройств разные. Программы растрирования или калибровки, такие как Agfa Balanced Screen, HQS screens), оптимизируют параметры растра и угла его наклона на фотонаборных автоматах и могут препятствовать выводу на печать нестандартных значений линиатуры.

Загрузив в принтер PostScript-файл, воспроизводящий оттеночный прямоугольник со значением 1 линия на дюйм, можно определить минимальную величину линиатуры, с которой способен работать ваш принтер.

Чтобы сгенерировать такой файл:

1. Создайте новый файл в текстовом редакторе (Microsoft Word, SimpleText, MS-DOS Editor), способном сохранять текст в формате Text Only.

2. Введите следующий текст:

 gsave 

1 %% Значение линиатуры.

45 %% Угол наклона растра.

b180 mul cos exch 180 mill cos add 2 divd %%

Форма растровой точки, setscreen

%% 4 inch box, 20% fill, 1 pt. black stoke 

144 288 moveto 

0 288 rlineto 

288 0 rlineto

 0 -288 rlineto

 closepath gsave

.8 setgray fill

grestore

 stroke 

grestore

 showpage

3. Назовите файл «20box.ps» и сохраните в формате Text Only.

4. Отключите на фотонаборном автомате программы калибровки и растрирования.

5. Загрузите PostScript-файл в принтер.

6. Измерьте значение линиатуры в 4-дюймовом прямоугольнике. Это будет минимальной величиной Ipi, которую способен воспроизводить Ваш принтер.

 

Содержание раздела