2013-03-18 5 views
0

У меня есть приложение, которое выводит SVG-файл с текстом и изображениями. Текстовые элементы в SVG-файле имеют пользовательские шрифты.Преобразование SVG в PDF/JPG/PNG с пользовательскими шрифтами

Мне нужен файл PDF, чтобы отображать эти текстовые элементы точно так же, как на SVG. Я попытался сделать это с помощью TCPDF. Преобразование SVG в PDF преуспевает, но когда я пытаюсь преобразовать PDF в JPG или PNG, текст не отображается. Я конвертирую PDF в JPG с помощью Imagick.

Кто-нибудь знает, как включить текст в изображения JPG?

ответ

0

Попробуйте использовать Inkscape. Это редактор SVG с открытым исходным кодом. Вы можете сохранить как PDF, экспортировать как PNG, а кривая обучения достаточно умеренная.

Он не поддерживает jpeg напрямую, хотя.

+0

Спасибо за ваш ответ. Можете ли вы также использовать Inkscape из файла PHP? И Inkscape установлен на большинстве серверов? –

0

Вы действительно можете позвонить Inkscape с PHP - я это сделал, см. here. Используя этот подход, вы можете отобразить SVG во всех форматах, которые вам нужны: PDF, PNG и JPG.

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

Inkscape по умолчанию установлен на веб-серверах, поэтому вам придется использовать сервер, на котором у вас есть root-доступ, такой как VPS, и установить его самостоятельно.

Вы должны помнить, что в Inkscape есть security vulnerability, который позволяет файлам, созданным пользователем, украсть файлы сервера и привести к тому, что у сервера закончится нехватка памяти (т. Е. Сбой). Это исправление стало общедоступным, но я не уверен, что он был выпущен. Итак, если вы просматриваете файлы SVG, которые были загружены пользователями, осторожно используйте их.

Смежные вопросы