Отключить сглаживание в ps2pdf

Отключить сглаживание в ps2pdf

Я сам сгенерировал файлы EPS. В файлах EPS я установил опцию \interpolate false. Я включаю их в исходный код LaTeX с помощью includegraphicsTikZ (потому что я хочу, чтобы несколько из них были расположены довольно близко друг к другу).

Затем я выполняю стандартный набор шагов:

latex src.tex
dvips -Ppdf src.dvi
ps2pdf src.ps

В текстовом редакторе я вижу, что исходный файл PostScript сохранил полный текст файла EPS. Даже мои комментарии в нем (как и должно быть). Так что строка \interpolate falseтакже осталась. Когда я открываю исходный файл PostScript с помощью Evince (GNOME PDF viewer), действительно нет никакой интерполяции. Просто для проверки я установил \interpolate trueи снова открыл файл PostScript с помощью редактора и подтвердил, что теперь Evince действительно интерполирует изображение. Это показывает, что по крайней мере Evince понимает эту опцию.

Но когда я открываю src.pdfфайл, который был выведен из ps2pdf. Я вижу, что вывод интерполирован (сглажен) в любом случае! Я также открыл файл PDF с помощью текстового редактора и обнаружил, что остались только самые основные параметры изображения EPS (например, ширина или высота). \interpolate falseбыли удалены.

Из результатов выше я вижу, что проблема не в includegraphicsшагах LaTeX и даже не в моем просмотрщике PDF. Проблема в ps2pdf.

В своемдокументация, кажется, есть AntiAliasColorImages, AntiAliasGrayImagesи AntiAliasMonoImages, но затем в следующем тексте говорится:

(note 0) This parameter can be set and queried, but currently has no effect. 

Итак, когда я запускаю следующую команду, разницы нет:

ps2pdf -dAntiAliasGrayImages=false -dAntiAliasMonoImages=false src.ps

Я хотел посмотреть, есть ли способ решить эту проблему. Для меня очень важно, чтобы в файле PDF не возникало сглаживания.

решение1

Значение по умолчанию для ключа /Interpolateв словаре изображений PDF-файла — false, см.Спецификация PDF, раздел8.9.5.3 Интерполяция изображения. Поэтому добавление /Interpolate falseтолько делает значение по умолчанию явным. Вероятно, сглаживание выполняется просмотрщиком PDF и его следует отключить там.

Обратите также внимание на примечание, которое идет вместе с описанием /Interpolate:

Соответствующий требованиям Читатель может решить не реализовывать эту функцию PDF или использовать любую конкретную реализацию интерполяции по своему усмотрению.

Тест/Interpolate

Драйвер pdftex.defдля пакета graphicsподдерживает логический ключ interpolate, который сопоставляет его настройку с ключом /Interpolateв словаре изображений. Значение по умолчанию (false) и включенный ключ показывают ожидаемые результаты с этимизображениев AR9 или xpdf 3.03 или evince 3.4.0:

\documentclass{article}        
\pagestyle{empty}
\usepackage{graphicx}
\begin{document}
\centering
\includegraphics[width=.48\linewidth]{uJ9k7.png}\hfill
\includegraphics[width=.48\linewidth, interpolate]{uJ9k7.png}
\end{document}

Результат

Связанный контент