5

Возможный дубликат:
Как мне конвертировать SVG в PDF на Linux

Я хотел бы программно конвертировать файлы SVG в файлы PDF. Однако файлы SVG содержат текст, который должен быть доступен для поиска в созданных файлах PDF. Кроме того, он должен работать в Red Hat Enterprise Linux 5.3 или CentOS 5.3 для архитектуры x86_64. Было бы неплохо, если бы это был Open Source или, по крайней мере, не очень дорогой.

Вот что я попробовал. Все они, кроме батика, отлично работают на Debian Lenny.

Inkscape
Я могу установить его, используя autopackages с http://inkscape.modevia.com/ap, но когда я использую его из командной строки, текст не доступен для поиска.

Растеризатор батика [sic]
Когда он преобразует файлы SVG в файлы PDF, текст становится недоступным для поиска.

svg2pdf
Источник для этого и несколько его зависимостей доступны для скачивания. Я пытался заставить его скомпилировать в CentOS, но пока не увенчался успехом. Я нашел предварительно скомпилированную версию для Debian x86_64, но она не работает на CentOS.

rsvg-новообращенный
Созданный PDF не доступен для поиска в CentOS 5.3. Возможно, установка более новой версии cairo поможет. Спасибо DaveParillo за упоминание rsvg-convert (в суперпользователе).

РЕШЕНИЕ (но, возможно, некоторые из вышеперечисленных будут полезны читателю)
princeXML
Он отлично работает на CentOS при установке из источника. По какой-то причине он не работает при установке из .rpm. Спасибо, Эрик Дальстрём! (предоставленное решение, которое работало для моего случая на stackoverflow)

Крест размещен на stackoverflow

2 ответа2

2

Еще одна (пока очень малоизвестная) альтернатива - gsvg от GhostPDL (в Windows: gsvg.exe). GhostPDL является родственным приложением для Ghostscript (в настоящее время объединяется в один репозиторий по адресу http://svn.ghostscript.com/ghostpdl/). GhostPDL предназначен для обработки SVG, XPS и PCL, аналогично Ghostscript для обработки PostScript и PDF. Вот оно:

gsvg.exe ^
   -dBATCH ^
   -dNOPAUSE ^
   -dSAFER ^
   -sDEVICE=pdfwrite ^
   -sOutputFile=my.pdf ^
   [...more options you may want/need...] ^
   c:/path/to/my.svg
2

большинство инструментов (таких как батик или imagemagick) превратят ваши векторные данные в растровую карту.

Я бы попробовал rsvg-convert. Он использует cairo в качестве бэкэнда, поэтому у вас могут возникнуть те же проблемы с компиляцией, что и с svg2pdf.

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