Ошибка команды-нарушителя при печати EPS

#printing #command #postscript #eps

#печать #команда #postscript #eps

Вопрос:

Я печатаю EPS-файл, сгенерированный со следующими учетными данными.

 %-12345X@PJL JOB
@PJL ENTER LANGUAGE = POSTSCRIPT 
%!PS-Adobe-3.0
%%Title: InvoiceDetail_combine
%%Creator: PScript5.dll Version 5.2.2
%%CreationDate: 10/7/2011 4:46:59
%%For: Administrator
%%BoundingBox: (atend)
%%Pages: (atend)
%%Orientation: Portrait
%%PageOrder: Special
%%DocumentNeededResources: (atend)
%%DocumentSuppliedResources: (atend)
%%DocumentData: Clean7Bit
%%TargetDevice: (HP Color LaserJet 4500) (2014.200) 0
%%LanguageLevel: 2
%%EndComments
  

При печати с выделением на Ricoh Afficio 2090 или любых других драйверах / принтерах на листах отображается следующая ошибка

ОШИБКА: не определено
КОМАНДА-НАРУШИТЕЛЬ: F4S47
Стек:

.

Пожалуйста, просмотрите и предложите развернуться к тому же, что я уже застрял в этом аду. Я пытался преобразовать / извлечь в PS, но все напрасно. Я использую gsview для печати и просмотра этих файлов.

Ответ №1:

Это проблема:

%%PageOrder: специальный

Документ ps со «специальным» порядком страниц не может быть переупорядочен. Вы не можете выполнить выделение или диапазон с этим файлом, потому что он не подходит для этого использования. Вы должны повторно обработать файл с помощью Distiller или ghostscript (ps2ps или ps2pdf), чтобы распечатать выбранные или переупорядоченные страницы из документа.

Этого можно избежать, создав файлы postscript с помощью реального драйвера Postscript ™ (не созданного Microsoft).

В документации GSview есть больше об этом.

Ранее:

Эта строка …

%%TargetDevice: (HP Color LaserJet 4500) (2014.200) 0

… сообщает нам, что файл был создан с принтерами HP в качестве целевого. Так что это действительно не файл EPS. Потому что это не инкапсулируемо. Для генерации выходных данных на принтере файл должен выполнить showpage оператор, который является запретным для файлов EPS.

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

Комментарии:

1. пользователь, можете ли вы разработать некоторые общие драйверы Postscript. ЧТОБЫ я мог попробовать это.

2. @Azwar я попробую. Но лучшим местом для такого рода информации является сайт Дона Ланкастера. Раньше было так, что самый простой способ получить приличный файл postscript в Windows — это установить FILE: printer с драйвером Apple Laserwriter. Использование ФАЙЛА: в качестве принтера означает, что каждый раз, когда вы печатаете на этом «принтере», открывается диалоговое окно с вопросом, где сохранить файл. Я ожидаю, что лучший драйвер сейчас от Adobe. Но что бы вы ни делали, помните, что PS предназначен для печати, EPS — для встраивания в документ большего размера.

3. @AzwarDurrani возможно, вы захотите отправить это на comp.lang.postscript для получения дополнительных экспертов postscript на тематическом форуме. (Мы с Кеном тоже там.)

Ответ №2:

Во-первых, это недопустимый EPS-файл, поскольку спереди к нему прикреплен PJL. Многие принтеры PostScript удалят это, но далеко не все.

Вероятно, это не источник проблемы.

Невозможно «просмотреть» проблему, поскольку вы не предоставили полную программу PostScript. Без этого невозможно определить, что на самом деле не так, сообщение об ошибке сообщает вам, что интерпретатор столкнулся с ‘F4547’ при попытке проанализировать токен, и что это не было определено как процедура.

Скорее всего, файл поврежден, либо поврежден каким-либо образом, либо, возможно, это двойной файл и был передан каким-либо процессом, который выполняет какое-либо преобразование (CR / LF является обычным). Команда-нарушитель выглядит так, как будто она закодирована в ASCIIHex, так что это может быть отвлекающим маневром.

Если вам нужна дополнительная помощь, вам придется где-то сделать всю программу доступной.

Комментарии:

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

2. В любом общедоступном месте или в том, к которому вы готовы предоставить мне доступ.