2

Мне нужно создать графическое изображение данных в формате 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 неправильно отрисовывают его, сглаживая?

1 ответ1

1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .