MAC OS/ WINDOWS/ UNIX
Память PostScript-принтера. Общая информация
Память PostScript-принтера (RAM) состоит из двух частей, используемых следующим образом:
1. Буфер фрейма (формирует страницу с помощью пикселов).
2. Prep-файлы (словари, используемые принтером для определения понятий PostScript).
3. Шрифты, загружаемые вручную с помощью утилиты загрузки.
4. PostScript-информация, описывающая задания печати.
5. Шрифты, загружаемые в RAM во время печати. Большая часть памяти PostScript-принтера приходится на буфер фрейма, который используется для построения страницы. Чем выше разрешение и чем больше страница, тем больше памяти требует буфер фрейма. Так, при печати на бумаге формата Letter на стандартном принтере Apple LaserWriter NTX с разрешением 300 dpi для prep-файлов, загружаемых в память шрифтов и выводимого на принтер PostScript-файла доступно от 150 до 300 Кбайт памяти. У фотонаборных автоматов объем памяти больше, чем у лазерных принтеров, но и потребности у них также выше, поскольку для печати с высоким разрешением они создают больше пикселов.
Определение проблем при возникновении ошибок PostScript
Причиной ошибок PostScript может быть PostScript-код, непонятный PostScript-интерпретатору принтера, или PostScript-код, нарушающий правила языка PostScript вследствие превышения одного или нескольких свойственных ему ограничений. Сообщения об ошибках PostScript включают тип ошибки (число таких типов сравнительно невелико) и сбойную команду (offending command), которая может состоять из любой комбинации символов ASCII. Обычно сообщения об ошибках PostScript выглядят следующим образом:
%%[Error: <тип>; OffendingCoiranand: <сбойная
команда> ]%%
Например, в сообщении %% [Error: dictfull; OffendingCommand: def ]%% присутствуют ошибка типа dictfull и сбойная команда def. Тип ошибки показывает, с какой проблемой столкнулся интерпретатор PostScript, а сбойная команда — последнюю команду, которую тот пытался обработать. Иногда (но не всегда) эта команда и есть причина возникшей проблемы.
Одни сообщения указывают непосредственно на причину сбоя, другие — подсказывают направление поиска. Если принтер, казалось бы, начал обработку данных, но потом остановился, ничего не напечатав, скорее всего, он обнаружил ошибку PostScript. Если сообщения об ошибках у Вас не выводятся автоматически, можно добиться их отображения одним из следующих способов:
В Windows 95:
1. Выберите команду Start > Settings > Printers.
2. Щелкните правой кнопкой мыши пиктограмму принтера и выберите в раскрывающемся списке пункт Properties.
3. В диалоговом окне Properties откройте вкладку PostScript.
4. Включите параметр Print PostScript Error Information и нажмите кнопку ОК.
В Windows 3.1x:
1. Войдите в Program Manager и в группе Main откройте Control Panel.
2. Дважды щелкните пиктограмму Printers.
3. Выберите в списке установленных принтеров тот, который Вам нужен.
4. Нажмите кнопку Setup, затем Options, а затем Advanced.
5. В диалоговом окне Advanced Options включите параметр Print PostScript Error Information.
6. Кнопкой OK закройте диалоговые окна.
На Macintosh:
В Windows или на Macintosh:
Воспользуйтесь общей утилитой обработки ошибок или обработчиком ошибок, входящим в пакет Вашей программы. Например, Adobe PageMaker предлагает в диалоговом окне Print Options вариант Include PostScript Error Handler.
ОБЪЯСНЕНИЕ ОШИБОК POSTSCRIPT
Следующие два раздела — «Типы ошибок PostScript» и «Сбойные команды PostScript» — будут Вам полезны в поиске решения проблем, возникающих при печати. В первом перечислены наиболее распространенные типы ошибок и их общие причины, во втором — сбойные команды и вероятные причины ошибок.
Например, получив сообщение %%[ Error: limitcheck; OffendingCom-mand: image ]%%, найдите в соответствующих разделах тип limitcheck и сбойную команду image. Тип ошибки limitcheck приводится в группе «Завышенные требования к памяти принтера или превышение лимита PostScript», а команду image — в группе «растровой информации». Сложив то и другое, Вы поймете причину проблемы: печать растрового изображения требует большего объема памяти, чем есть у принтера, или как-то нарушает правила языка PostScript, превышая какой-либо из его лимитов. В этом случае нужно упростить растровую графику, понизив ее разрешение или просканировав еще раз с более низким разрешением, либо воспользоваться другим принтером с большим объемом памяти.
Некоторые ошибки PostScript не дают никакой подсказки относительно причины сбоя. Например, получив сообщение %% [Error: undefined; OffendingCommand: (случайный набор символов) ]%%, Вы находите тип ошибки undefined в группе «Непонятный PostScript-код», а сбойную команду [случайный набор символов] — в группе «каких угодно элементов или файлов». В таком случае поиск надо продолжить, пока не будет выявлена причина.
ТИПЫ ОШИБОК POSTSCRIPT
Завышенные требования к памяти принтера или превышение лимита PostScript:
dictfull
fatal system error at [various]
limitcheck
VMerror
Проблемы коммуникации:
interrupt
ioerror (может быть вызвана также неполадками с жестким диском принтера, например, дефектный сектор).
timeout
Непонятный PostScript-код:
dictstackoverflow
dictstackunderflow
execstackoverflow
handleerror
invalidaccess
invalidexit
invalidfileaccess
invalidfont
invalidrestore
nocurrentpoint
rangecheck
stackoverflow
stackunderflow
syntaxerror
typecheck
undefined
undefinedfilename
unde f inedre suit
urmatchedmark
unregistered
СБОЙНЫЕ КОМАНДЫ POSTSCRIPT
Связанные с текстом или шрифтами:
ashow
awidthshow
charpath
definefont
findfont
imagemask
kshow
makefont
selectfont
show
stringwidth
widthshow
Связанные с масками (обтравочными контурами):
clip
eoclip
Связанные с заливками и обводными линиями, часто в импортированной векторной графике (EPS-файлы, PICT-графика):
arc
arcto
currentpoint
curveto
eofill
fill
lineto
moveto
rcurveto
rlineto
setdash
setlinecap
setlinejoin
stroke
Связанные с растровой информацией:
colorimage
image
imagemask (черно-белая растровая графика и растровые шрифты)
Связанные с каким угодно элементом или файлом
array
def
diet
exch
get
index
itransform
nostringval
packedarray
put
restore
save
setgray
setpageparams
setscreen
[случайный набор символов]
РЕШЕНИЕ ПРОБЛЕМ ПЕЧАТИ
Многие сообщения об ошибках PostScript содержат указание на источник проблемы, но когда такое сообщение не выводится или не дает никакой подсказки, искать причину приходится самому. Прежде всего попробуйте определить, что это за проблема — на уровне системы, на уровне приложения, файла или отдельного элемента. Установив это, начинайте устранять ее вероятные источники, пока все не наладится.
ИЗОЛЯЦИЯ ПРОБЛЕМ ПЕЧАТИ НА УРОВНЕ СИСТЕМЫ
Если при печати из разных программ возникает одна и та же ошибка, скорее всего это проблема на уровне системы. Обычно причиной ее бывают поврежденные шрифты, поврежденные системные файлы, поврежденные принтерные драйверы, нехватка дискового пространства, неполадки в сети или оборудовании.
Отсоедините и снова вставьте в разъемы кабели, проверяя надежность соединений. Когда соединения повреждены, информация на принтер не поступает, лампочки не светятся и он, естественно, ничего не печатает. Неплотные соединения могут вызывать исчезающие проблемы, например, маленькие задания печатаются, а большие нет, пиктограмма принтера в реквизите Chooser на Macintosh может появляться, а потом вдруг исчезать.
Пользуйтесь новыми драйверами PostScript-принтера или версиями, которых требуют Ваши программы. Печать больших документов требует большого свободного пространства на диске. А чтобы печать шла быстрее, свободное пространство не должно быть фрагментированным, особенно это касается диска, который используется для создания временных файлов (обычно это диск с операционной системой).
Если у Вас PostScript-принтер устаревшей модели или использует эмулятор PostScript (например, картридж Pacific Page, Phoenix PostScript Interpreter), он может не понимать PostScript-кода, который генерирует Ваша программа или принтерный драйвер. В этом случае напечатайте файл на устройстве, использующем более новую версию PostScript, лицензированную у Adobe.
УСТРАНЕНИЕ ПРОБЛЕМ НА УРОВНЕ ПРОГРАММЫ
Когда возникает ошибка: при печати только в одной программе или в разных? Если в одной, создайте тестовый файл с простым элементом, вроде прямоугольника или линии, и попробуйте его напечатать. Если все нормально, значит, проблема на уровне файла. Если ошибка случается с разными файлами в одной и той же программе — виновата программа. Установите ее заново, включая все файлы поддержки и файл Preferences.
УСТРАНЕНИЕ ПРОБЛЕМ НА УРОВНЕ ФАЙЛА
Если ошибка происходит при печати только определенного файла, а все остальные получаются нормально, значит файл этот поврежден, включает поврежденный элемент или элемент, который невозможно напечатать по какой-либо другой причине. Проверьте установки и параметры проблемного файла и сравните их с установками файла, который печатается корректно.
Чтобы устранить причину, связанную с повреждением файла, скопируйте его элементы в новый файл и сохраните командой Save As, удалите ненужные для печати элементы или запустите встроенную подпрограмму диагностики, если таковая имеется. Например, в PageMaker некоторые проблемы файла можно устранить с помощью функции Diagnostic Recompose: отмените выделение всех элементов файла и, удерживая комбинацию клавиш Ctrl-Shift (Windows) или Option-Shift (Macintosh), выберите команду Type > Elements. Если проверка показала, что с файлом все в порядке, а ошибка все равно происходит, ищите проблему на уровне элементов.
УСТРАНЕНИЕ ПРОБЛЕМ НА УРОВНЕ ЭЛЕМЕНТОВ
Ошибка происходит при печати только определенной страницы или элементов на странице. Если причина не в файле, то скорее всего в поврежденном или неправильно записанном элементе, шрифте. Или какой-то элемент или комбинация элементов на странице требует большего объема памяти, чем есть у принтера. Если ошибка происходит, когда Вы подаете на печать сразу несколько страниц подряд, обратите внимание на общие элементы. Если порознь или небольшими группами элементы печатаются нормально, а все вместе нет, значит, для печати им требуется больше памяти, чем может предложить принтер.
Чтобы изолировать проблемный элемент или элементы, создайте копию файла и подавайте страницы на печать сначала группами, затем по одной, пока проблема не будет сведена до одной или нескольких страниц. Затем попробуйте печатать, удаляя но одному элементу. Продолжайте до тех пор, пока файл не будет напечатан без ошибок. (Можно удалять элементы группами, например, убрать сразу половину, а остальные отправить на печать. Если ошибки не происходит, попробуйте напечатать вторую группу). Некоторые программы, такие как PageMaker, имеют функции, позволяющие печатать только определенные элементы. Например, если выбрать вариант Proof Print, напечатан будет только текст, без графики. Так можно быстро определить, где кроется причина сбоя, в импортированной графике или других элементах публикации.
Если проблему вызывает элемент, генерированный в другой программе, создайте его заново. Если Вы подозреваете текст, задайте ему другой шрифт, попробуйте резидентный шрифт принтера. Если после этого файл печатается нормально, значит, в предыдущем шрифте есть повреждения, установите его заново.
Если дело в импортированной графике, импортируйте ее еще раз. Если проблема не исчезла, откройте графику в приложении, где она была создана, сохраните ее заново и попробуйте напечатать, а убедившись, что все идет нормально, импортируйте снова. Если импортированная графика все равно не печатается, попробуйте сохранить ее в другом формате, экспортировать из другой программы или упростить, тогда ей потребуется меньше принтерной памяти.
Импортированная графика, содержащая поврежденную или некорректно записанную информацию, или слишком сложная для принтера (требует для печати слишком много памяти) вызывает ошибку PostScript. Для упрощения файла старайтесь использовать меньше импортированной графики, меньше загружаемых шрифтов, меньше текстовых эффектов (наклонный, повернутый текст, эффекты символов), старайтесь удалять ненужные элементы, создавать контуры с меньшим числом точек, понижать разрешение растровой графики или сканировать ее заново с меньшим разрешением. Графические форматы, такие как EPS, периодически обновляются, поэтому старые программы могут использовать устаревшие стандарты, непонятные новым приложениям и устройствам.