Как вставить графическое изображение с масштабированными размерами в PDF без эффектов сглаживания?

519
ws_e_c421

Мне нужно создать графическое изображение данных в формате PDF. В данных имеется небольшое количество пикселей (примерно 100 x 100), поэтому каждый пиксель различим (не гладкое изображение). Я пытался экспортировать PDF-файл с помощью нескольких различных программ для научных вычислений, но при просмотре PDF-файла в OS X Preview или в плагине Firefox pdf.js данные выглядят плохо. Каждый отдельный пиксель данных выглядит так, как будто он разделен на пять пикселей по одному измерению и три по другому (соотношение сторон на рисунке не равно 1: 1), и эти подпиксели имеют немного разные цвета, поэтому данные размыты, Я попытался открыть PDF-файл в Inkscape, и он выглядит там хорошо. Из Inkscape я определил, что данные внедряются в формате PNG размером 100x100 пикселей, что прекрасно выглядит в режиме предварительного просмотра, когда я извлекаю их из файла PDF и просматриваю сам.

Итак, что является лучшим вариантом для получения PDF с четким графиком данных? На данный момент я собираюсь создать png данных с передискретизацией и вставить их в pdf. Мне не очень нравится это решение, потому что оно делает размер файла рисунка неоправданно большим и, тем не менее, означает, что при увеличении изображение размыто. Можно ли получить PDF-файл для рендеринга растянутого изображения без сглаживания? Мои научные вычислительные программы (Igor Pro и MATLAB) неправильно форматируют pdf, или Preview и Firefox неправильно отрисовывают его, сглаживая?

2

1 ответ на вопрос

1
ws_e_c421

Итак, я наконец-то нашел ответ на этот вопрос в паре постов в секции Teex: Tex: моя идеальная картинка становится размытой при компиляции в LaTeX, а включенный PNG в PDF выглядит размытым .

Краткое содержание этих сообщений: многие программы просмотра PDF имеют необязательный параметр для сглаживания вывода PDF («Сглаживание текста и штриховых рисунков» в OS X Preview, «Сглаживание текста и штриховых рисунков» в Skim; некоторые программы, такие как расширение pdf.js в Firefox, имеют этот параметр включен без очевидного способа его отключения, другие, такие как Google Chrome для просмотра PDF, по-видимому, не имеют этого параметра, обратите внимание, что имена параметров предварительного просмотра и Skim вводят в заблуждение, потому что растровые изображения, а не только линии, сглаживаются, если этот параметр включен). Для программ, у которых есть этот параметр, отключение этого параметра делает встроенное изображение хорошим, но другие аспекты PDF (и других PDF-файлов) будут выглядеть не так хорошо (текст будет пикселизирован и т. Д.). В формате PDF отсутствует внутренняя опция, позволяющая программе просмотра не сглаживать элемент (возможно, однажды ...),

Другой вариант - преобразовать изображение в векторное изображение из цветных прямоугольников. Я экспериментировал с этим методом с Inkscape (используйте опцию трассировки метода клонирования плитки, чтобы клонировать прямоугольник одного пикселя над изображением; см. Эту страницу документации для некоторых деталей), но потому что этот метод требует указания всех координат каждого Прямоугольный объект пикселя оказывается гораздо менее эффективным по сравнению с встраиваемым растровым пространством.

* Одним из способов передискретизации изображения является использование ImageMagick с флагом выборки, устанавливающим размеры, кратные размеру базового изображения. Обратите внимание, что вам нужно \!после новых размеров, если вы хотите изменить соотношение сторон (например, если вы растягиваете изображение в pdf, вы можете захотеть сделать каждый оригинальный пиксель шириной в десять пикселей, но высотой всего в три пикселя).

Похожие вопросы