Я пытаюсь конвертировать большой файл PDF в SVG (для создания веб-анимации с помощью Java-скрипта). Я пробовал различные методы, которые доступны в моей системе:
- Преобразование с помощью инструмента под названием
pdf2svg
- Преобразование с
pdftocairo -svg
- Импорт с помощью Inkscape
- Конвертация с
pstoedit -f plot-svg -dt -ssp eqn.ps eqn.svg
объяснением здесь http://svgkit.sourceforge.net/SVGLaTeX.html
Первые два варианта визуально дают мне лучшие результаты. Кажется, что текст преобразуется в пути, а вывод выглядит как оригинал. Тем не менее, трудно работать с источником полученного SVG. Сгруппированные объекты в оригинальном PDF не сгруппированы в выводе. Напротив, третий метод дает SVG, который, кажется, содержит сгруппированные объекты, так, как мне нужно, каждый с идентификатором. Однако здесь текст, очевидно, импортируется как текст, и шрифт изменяется, так что результат визуально не является привлекательным (это, кажется, не зависит от параметров, которые я использую при импорте).
Есть ли другой способ, который дает мне как правильное преобразование текста, так и сгруппированных объектов? Если нет, то как я могу изолировать и адаптировать механизм, который Inkscape использует для этого преобразования? Обратите внимание, что я использую Linux и что оригинальный файл PDF получен с помощью xelatex
.
источник
gs -o target.pdf -dNoOutputFonts -sDEVICE=pdfwrite source.pdf
. Тем не менее, я чувствую, что либо вывод svg с inkscape становится намного больше, чем PDF (кажется, связано с графикой), или, если я не встраивать цифры, размер файла в порядке, но это нужно очень долго для отображения в браузере так как он загружает все файлы.