еще волосатые картники
Mar. 26th, 2010 08:40 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В-общем, приехал образец. Получилась жопа полная, все картинки в мелком растре. Не зря оно ругалось при ихней проверке, что разрешение неправильное. В-общем, в чем нашлась фигня: png как ни заставляй, а меньше одного байта на пиксель делать не умеет. Поэтому глубина возвращается все равно в 8. И если у меня Акробат прочухивает, что хоть она и 8, но полутонов там на самом деле нет, то ихний софт не прочухивает, конвертирует эти 1200dpi в серый 300dpi, что потом честно и отрисовывает, и оттенки серого выходят в виде волосатости.
Правильный способ - видимо, использовать tiff. Он честный однобитный. И кроме того может вставляться в PDF прямо в сжатом виде, так что файлы делаются гораздо меньше. Я попробовал закачать к ним - проверка не заругалась. Так что видимо будет работать.
Но выписать не успел, мне пришла в голову более умная идея как засунуть картинки прямо в векторном виде. В-общем, фигня с EPS нашлась в том, что нынче оно в PDF считается deprecated. И потому FOP не хочет их туда вставлять. Новый умный векторный формат - SVG, который превращается в родные PDFные инструкции рисования. Но OpenOffice конвертит в SVG криво. Единственная вещь, которую OpenOffice имеет внятно генерить - EPS. Но нашлось, что Ghostscript умеет конвертить в SVG. Единственная проблема - ему нужно явно указать размер, а не то он рисует на умолчальном Letter. Но масенький скрипт решает эту проблему. Вот.
Правильный способ - видимо, использовать tiff. Он честный однобитный. И кроме того может вставляться в PDF прямо в сжатом виде, так что файлы делаются гораздо меньше. Я попробовал закачать к ним - проверка не заругалась. Так что видимо будет работать.
Но выписать не успел, мне пришла в голову более умная идея как засунуть картинки прямо в векторном виде. В-общем, фигня с EPS нашлась в том, что нынче оно в PDF считается deprecated. И потому FOP не хочет их туда вставлять. Новый умный векторный формат - SVG, который превращается в родные PDFные инструкции рисования. Но OpenOffice конвертит в SVG криво. Единственная вещь, которую OpenOffice имеет внятно генерить - EPS. Но нашлось, что Ghostscript умеет конвертить в SVG. Единственная проблема - ему нужно явно указать размер, а не то он рисует на умолчальном Letter. Но масенький скрипт решает эту проблему. Вот.
#!/bin/sh # converter wrapper from .eps to .svg # Use: eps2svg src-file dst-file die() { echo "$*" >&2 exit 1 } SRC=$1 DST=$2 set -- `grep '%%BoundingBox:' "$SRC"` || die "Can't read $SRC" WIDTH=$4 HEIGHT=$5 [ -n "$WIDTH" -a -n "$HEIGHT" ] || die "Unable to read the bounding box" gs -sDEVICE=svg -sOutputFile="$DST" -dNOPAUSE -dBATCH -dDEVICEWIDTHPOINTS="$WIDTH" -dDEVICEHEIGHTPOINTS="$HEIGHT" "$SRC"
no subject
Date: 2010-03-26 04:44 pm (UTC)no subject
Date: 2010-03-26 04:49 pm (UTC)no subject
Date: 2010-03-26 07:08 pm (UTC)no subject
Date: 2010-03-26 09:13 pm (UTC)Да ладно :)
no subject
Date: 2010-03-26 10:37 pm (UTC)no subject
Date: 2010-10-21 07:30 am (UTC)