Ну ... Вы не предоставили ни файлы PostScript, ни PDF-файлы, что затрудняет комментирование.
Для меня не совсем очевидно, в какой момент вы получаете изображение, которое показываете,это то, что вы видите в файле PDF? Это то, что вы получаете при печати файла PDF на физическом принтере? Если это последний вопрос, как вы печатаете файл PDF на принтере?
Файл JPEG, на который вы указали ссылку, очень маленький (6 КБ), вы действительно пытаетесь использовать этот файл JPEG?
Мое предположение (а при отсутствии каких-либо файлов - это все, что может быть), что вы используете старую версию Ghostscript. Старые версии распаковывали изображение JPEG, а затем повторно сжимали изображение, используя любой фильтр, который давал наименьший результат, обычно снова JPEG.
Поскольку JPEG - это формат с потерями, каждый раз, когда вы применяете его к изображению, качество ухудшается.
Более новые версии Ghostscript не распаковывают данные изображения JPEG при переходе на устройство pdfwrite, если только другие варианты (например, преобразование цвета, уменьшение изображения и т. Д.) Не делают это необходимым. Текущая версия Ghostscript - 9.27, а выпуск 9.28 - неизбежен, я бы посоветовал вам попробовать один из них.
Другая возможность состоит в том, что либо программа PostScript была создана таким образом, чтобы выродитьсякаждое изображение попало в прямоугольник, или вы используете чрезвычайно старую версию Ghostscript, где также использовался этот метод.
Обратите внимание, что ни один из них, по моему мнению, не приведет к точнорезультат, который вы вставили сюда, но версию, безусловно, стоит изучить. Публикация файла программы PostScript (то есть файла, который вы отправляете в Ghostscript) была бы более полезной, поскольку это позволило бы мне хотя бы сузить место возникновения проблемы.
[EDIT]
Похоже, эта ошибка является интригующей ошибкой в Acrobat.
Программа PostScript использует функцию передачи цвета для инвертирования образцов цвета изображения RGB JPEG. (это осуждается на практике, не то, для чего нужны передаточные функции, но это не редкость). Устройство pdfwrite в Ghostscript сохраняет функцию передачи.
При правильном отображении Ghostscript, как и ожидалось, Acrobat, однако, впечатляюще не дает этого, я понятия не имею, какой беспорядок они сделали, что приводит к полученному результату. но это явно не так.
Если я изменю производственные параметры pdfwrite в Ghostscript, чтобы применить функции передачи вместо их сохранения:
-c "<</TransferFunctionInfo /Apply>> setdistillerparams" -f PostScript.ps
, тогда полученный файл будет корректно отображаться в Acrobat. Если я изменю настройки Adobe Acorbat, чтобы он использовал «Сохранить» вместо «Применить» для функций передачи (см. «Настройки» -> «Изменить параметры Adobe PDF», затем вкладку «Цвет» и «Когда функции передачи найдены»), установите раскрывающийся список на «Сохранить». вместо «Применить») полученный PDF-файл отображается правильно в Ghostscript, и в Acrobat тот же тип ошибок, что и в выходном файле pdfwrite Ghostscript.
Короче, я боюсь, что вы видите здесь, это ошибка рендеринга Acrobat, вы можете обойти это, изменив настройки функции передачи Ghostscript, как указано выше, но это действительно не проблема в Ghostscript.