SVG к PDF на общем сервере Linux

У меня есть веб-сайт, который использует SVG для интерактивной клиентской штучки. Я хотел бы предоставить возможность загружать PDF законченного вывода. Я могу передать заключительный вывод SVG назад серверу, где я хочу преобразовать в PDF, затем возвратите его клиенту для загрузки.

Это должно было бы работать над бездисплейным общим сервером Linux, где установка или компиляция являются или огромной болью, или невозможный. Веб-сайт является PHP, таким образом, идеальное решение было бы PHP или программным обеспечением использования, это легко установлено на общем веб-сервере. Python, жемчуг и рубин доступны, наряду с обычными вещами, которые Вы могли бы ожидать на поле Linux. Решения, которые включают Каир, пишущий сценарий inkscape, или установку, более сложную, чем 'FTP это', вероятно, отсутствуют. Расходы большие суммы денег также отсутствуют, естественно. Поскольку это - общий сервер, память и/или ЦП, голодные решения также отсутствуют, поскольку они будут иметь тенденцию быть уничтоженными; это более или менее исключает Батик.

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

Существует набор или связанные вопросы на StackOverflow, все из которых я прочитал, но они все предполагают, что можно или установить материал, потратьте деньги или обоих.

У кого-либо есть стандартное решение этого, или я должен просто провести некоторое время простоя, пытаясь добавить поддержку путей этому, XSL преобразовывают?

Спасибо, Dunc

13
задан Duncan Lock 11 May 2011 в 22:44
поделиться

4 ответа

Сегодня я наткнулся на TCPDF, который идеально подошел бы для этого, если бы я знал о нем в то время. Это просто набор чистых классов PHP, без внешних зависимостей для большинства вещей.

Он может создавать PDF-файлы с нуля, и вы можете включать в них практически все, что захотите, включая SVG (среди многих, многих других вещей), как показано в следующих примерах:

http://www.tcpdf.org /examples.php

Основная страница проекта находится здесь:

http://www.tcpdf.org/

Страница Sourceforge находится здесь:

http://sourceforge.net/projects/tcpdf/

16
ответ дан 1 December 2019 в 22:07
поделиться

Вы смотрели на ImageMagick ? Я подозреваю, что вам также нужно Ghostscript для завершения цикла, что может сделать сложность установки и производительностью.

2
ответ дан 1 December 2019 в 22:07
поделиться

Я бы посоветовал попробовать princexml , они предоставляют различные дополнения (в том числе один для PHP) и могут выводить PDF из SVG / HTML / XML.

2
ответ дан 1 December 2019 в 22:07
поделиться

Вы можете использовать Apache FOP свободный Batik SVG инструментарий, который имеет транскодер api для преобразования SVG в PDF.

Ссылка на скачивание

Вам нужно будет написать крошечный бит java. Здесь есть примеры кода - обратите внимание, что вместо Java необходимо установить транскодер в org.apache.fop.svg.PDFTranscoder.

Вы должны быть в состоянии сделать это без установки чего-либо на вашу машину - просто перетащите туда банки и запустите скрипт. Цитирую:

Все другие библиотеки, необходимые Batik, включены в дистрибутив. Как следствие, архив Батика довольно большой, но после того, как вы его скачаете, вам больше ничего не понадобится.

3
ответ дан 1 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: