Pdf в svg не идеален

Я пробовал почти каждую библиотеку для преобразования pdf в svg. Ниже приведены их результаты.

  1. gs или ghostscript и imagemagick: размер умножается на 100
  2. pdf2svg и inkscape: изображение в верхней части pdf-файла совсем не точное, вот ссылки на pdf и svg.

PDF: https://drive.google.com/open?id=0BxyQR1owWa_pcnhhSk5wQWJGMVk SVG: https://drive.google.com/open?id=0BxyQR1owWa_pVnhoLVlob1U2d1k

Пожалуйста, предложите мне, если я упускаю что-то, что нужно сделать.


person Aditya_Anand    schedule 23.05.2016    source источник
comment
Этот парень рассказывает о своем опыте использования различных библиотек для этого в конвертеры SVG   -  person Ooker    schedule 30.06.2021


Ответы (1)


Устройство вывода Ghostscript SVG серьезно устарело и больше не поддерживается (или даже встроено в стандартный двоичный файл Ghostscript).

В любом случае, вы должны знать, что PDF — это очень богатая графическая модель, и просто невозможно воспроизвести все возможные нюансы PDF, используя графическую модель SVG, в частности, шрифты — это проблема, но почти любая вид прозрачности. Когда это произойдет, Ghostscript преобразует PDF в изображение и вставит его в файл SVG. Почти наверняка именно поэтому вы видите, что файл SVG значительно больше, чем файл PDF. Вы должны иметь возможность использовать переключатель -r для управления разрешением рендеринга, что позволит вам обменять качество на размер.

Даже если весь файл не преобразуется в растровое изображение, возможно, большие его части преобразованы, или сжатие растрового изображения в SVG хуже, чем в PDF (или GS не использует все возможности). FWIW несжатый файл PDF имеет размер> 4 МБ.

person KenS    schedule 23.05.2016
comment
Можем ли мы использовать -r и в svg? Я думал, что это только для операций с PDF. - person Aditya_Anand; 23.05.2016
comment
Я попробовал это, используя параметр -r, учитывая значение 10, он возвращает svg размером 51 МБ. - person Aditya_Anand; 23.05.2016
comment
-r используется всякий раз, когда Ghostscript необходимо отображать контент, он работает (очевидно) для всех устройств рендеринга, таких как TIFF или PNG. Но он также используется, когда векторным устройствам высокого уровня нужно что-то визуализировать, они будут использовать указанное разрешение или разрешение по умолчанию (для pdfwrite это 720 dpi). Я не могу сказать, почему устройство SVG создает большой файл, это устройство не поддерживается. - person KenS; 24.05.2016
comment
Итак, есть ли какой-либо другой подход, который вы можете предложить, потому что я пробовал с Pdf, html и Png, все они так или иначе не подходят для устройств Android. Единственный метод, который я нашел работающим, это SVG .Я попробовал библиотеку IDR для преобразования PDF в SVG, она отлично работает, но это платная библиотека. - person Aditya_Anand; 24.05.2016
comment
Я бы просто придерживался PDF, на Android есть много программ для чтения PDF - person KenS; 24.05.2016
comment
Да, но они очень медленные, когда дело доходит до рендеринга и масштабирования. - person Aditya_Anand; 24.05.2016
comment
Может быть, вам стоит посмотреть на другой просмотрщик тогда. - person KenS; 24.05.2016
comment
Я пробовал много бесплатных и платных библиотек. Это не так гладко, как в IOS, поэтому мы попробовали рендеринг SVG, и он хорош в Android, но на сервере мы не можем преобразовать его в SVG. - person Aditya_Anand; 25.05.2016