Кто-нибудь знает, можно ли импортировать полный SVG в документ PDFKit? В документах я вижу, что у него полная поддержка SVG, есть методы рисования путей и т. Д., Но я не вижу метода импорта полного документа SVG.Импорт полного SVG с PDFKit
ответ
К сожалению, начиная с V0.7 (ноябрь 2014), PDFKit не поддерживает вывод содержимого SVG в PDF. Hovever, большинство строительных блоков (функции, охватывающие большинство атрибутов SVG-презентаций + парсер SVG path
), поэтому реализация этого вопроса будет связана с перемещением дерева документов SVG из корня, отслеживанием состояния преобразования и атрибута (в случай унаследованных значений) и рисование графических примитивов SVG (включая path
с), с которыми вы сталкиваетесь. Конечно, некоторые вещи, такие как определения символов и фильтры, были бы сложнее реализовать, но для базовой геометрии & стиль не должен занимать больше нескольких часов, чтобы реализовать данные функции, предоставленные PDFKit.
При поиске ответа на этот вопрос я нашел небольшую библиотеку с открытым исходным кодом, которая делает трюк: SVG-to-PDFKit.
Если внедрение свой собственный интерфейс не очень удобно, это один довольно простой в использовании (образец кода из Readme):
PDFDocument.prototype.addSVG = function(svg, x, y, options) {
return SVGtoPDF(this, svg, x, y, options), this;
};
doc.addSVG(svg, x, y, options);
Параметры являются такие:
документ [PDFDocument ] = Ф документ, созданный с PDFKit
SVG [SVGElement или строка] = объект SVG или код XML
х, у [число] = положение, в котором SVG будет добавлен
Проверьте демонстрационную here.
В конце концов, я решил использовать API для своих конверсий, я использую CloudConvert, который покажется вам замечательным. Если кому-то все еще нужна эта поддержка в PDFKit, то, как вы говорите, не похоже, что было бы слишком сложно добавить эту функцию и сделать запрос на pull. – jcvandan
Я пытаюсь построить интерфейс между SVG и PDFKit, однако я столкнулся с проблемой при использовании преобразований. Матрица преобразования в формате pdf странно, не может найти, почему ... однако при использовании 'scale',' rotate' ... он отлично работает, будет изучать его, сообщим вам, если мне удастся заставить его работать без проблем –
любые обновления на этом? – gaitat