рендеринг PDF немного беспорядок.
Лучшей системой, вероятно, является GhostScript, а MuPDF - ее библиотечная форма.Это очень быстро и хорошо масштабируется для больших документов.К сожалению, лицензирование библиотек (AFL) сложно, и вы не можете напрямую связать двоичный файл.
ImageMagick обходит это ограничение, добавляя инструмент командной строки ghostscript, но, конечно, это означает, что рендеринг страницы PDF теперь является многоэтапным процессом: PDF копируется в / tmp,ghostscript выполняется с набором флагов командной строки для вывода документа в файл изображения в / tmp, этот временный файл изображения снова считывается, страница извлекается и, наконец, изображение записывается в выходной PNG.
На моем ноутбуке я вижу:
$ time convert -density 400 nipguide.pdf[8] x.png
real 0m2.598s
Другой популярный рендер PDF poppler .Это вышло из проекта предварительного просмотра документов xpdf, так что это быстро, но действительно очень приятно рендерить в RGB.Он может работать и с большими документами, и это GPL, так что вы не можете ссылаться на него, не став также GPL.
libvips ссылки непосредственно на poppler-glib для рендеринга PDF, так что высохранить несколько копий.Я вижу:
$ time vips copy nipguide.pdf[page=8,dpi=400] x.png
real 0m0.904s
Наконец, есть PDFium .Это библиотека рендеринга PDF от Chrome - это старая программа просмотра PDF от Foxit, довольно грубо вырезанная и превращенная в библиотеку.Он немного медленнее, чем poppler, но у него очень щедрая лицензия, что означает, что вы можете использовать его в ситуациях, когда poppler просто не будет работать.
Есть экспериментальная ветка libvips, которая использует PDFium для рендеринга PDF.С этим я вижу:
$ time vips copy nipguide.pdf[page=8,dpi=400] x.png
real 0m1.152s