Создавайте PDF из Inkscape SVG, не разрушая шрифты и эффекты

8

У меня есть файл Inkscape SVG с несколькими эффектами прозрачности и различными слоями, которые я хочу экспортировать в файл PDF для распространения. Когда я использую «Сохранить как ...» или «Сохранить копию ...» и выбираю формат PDF, все эффекты искажаются:

Вверху: ожидаемый результат.  Внизу: фактический объем производства

Вверху: ожидаемый результат. Внизу: фактический объем производства.

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

При поиске решений этой проблемы, помимо прочего, я нашел эту ветку, изначально с 2006 года , в которой самый последний ответ - с 2012 года и гласит:

6 лет спустя .. та же проблема. Inkscape не может экспортировать в непрозрачность уровня PDF. Так грустно.

Неужели нет способа сделать это?

Томас Ашан
источник
Какую сборку Inkscape вы используете? Прозрачные пленки и экспорт в PDF работают нормально (последняя версия inkscape dev trunk из этого PPA ). Вы уверены, что прозрачные пленки - это настоящая проблема? Мне кажется, что с выводом в PDF есть что-то не так. В худшем случае вы всегда можете экспортировать файл как растр с высоким разрешением и преобразовать его в PDF с помощью convert image filename.pdf.
Glutanimate
inkscape --versionдает мне Inkscape 0.48.4, после первой распечатки предупреждающего сообщения (inkscape:19694): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",несколько раз. Он был установлен из репозиториев по умолчанию в Ubuntu 13.04. Что касается PDF, я полагаю, что могут быть и другие проблемы (например, кажется, что шрифт отключен), но я думаю, что они в конечном итоге связаны.
Томас Ашан
Я думаю, что стоит установить последнюю версию разработки. Если вы еще не использовали PPA, пожалуйста, смотрите здесь . Вы всегда можете отменить изменения с помощью PPA-Purge . Эти предупреждения - это проблемы, которые не должны появляться, но не о чем беспокоиться.
Glutanimate
Просто чтобы прояснить, вы применили эти эффекты к «Сидамерике» вручную или они являются частью шрифта?
Glutanimate
@Glutanimate: я написал текст шрифтом белого цвета, а затем создал цветовое смещение, создав белый и синий прямоугольники, сгруппировав их, а затем применив прямоугольники и текст в качестве маски. За исключением этого, я не сделал ничего «эффекта-у» с этим текстом.
Томас Ашан

Ответы:

4

Вам следует обновить Inkscape до версии PPA Pre-0.49, мои тесты дали результаты с использованием маскирования, отсечения и разницы эталонного пути:

пример изображения, показывающего маску клипа и разницу в Inkscape в формате PDF

Чтобы обновить ваш inkscape, откройте терминал и выполните следующие команды:

sudo add-apt-repository ppa:inkscape.dev/trunk
sudo apt-get update
sudo apt-get install inkscape-trunk

Это должно удалить версию Inkscape для 0.48 и заменить ее версией до 0.49, которая вам нужна для вашего pdf файла.

Мартин Оуэнс -доктормо-
источник
3

Вы также можете попробовать конвертировать файл inkscape .svgв .pdf использование rsvg-convertиз librsvg2-binпакета:

rsvg-convert -f pdf -o foo.pdf foo.svg

Это сохранило прозрачность в моем файле.

user168118
источник
3

Хорошо, вот мои два цента на обходной путь для этого.

Я попытался использовать предыдущий ответ rsvg-convert, который отлично работал для прозрачных элементов. Проблема в том, что у меня в SVG есть встроенное изображение, которое фактически растеризовано с очень низким разрешением. Указание более высокого значения X / Y dpi для rsvg-convertэтого не изменило.

Поэтому я сделал следующее, что решило проблему:

  1. «Растеризация» изображения в PDF: rsvg-convert -f pdf -o rasterized.pdf orig.svg
  2. Откройте исходное изображение в Inkscape: inkscape orig.svg
  3. Откройте растровое изображение (теперь содержащее прозрачные фигуры, а также растровое встроенное изображение) в Inkscape: inkscape rasterized.pdf
  4. Разгруппируйте все элементы в последнем, пока не дойдете до неправильно растеризованного изображения.
  5. Скопируйте встроенное изображение из 2. в изображение из 4. , заменив неправильно растеризованное.
  6. Сохраните его как PDF через Inkscape как обычно.

Результат: прозрачные формы и изображения с высоким разрешением .

J ..
источник
3

Одно решение, которое я нашел, чтобы решить эту очевидную ошибку, это: В Inkscape сохраните как: EPS, затем epstopdf файл. Результат выглядит идеально

user370171
источник