pyPdf - отличная библиотека для разделения, объединения PDF-файлов.
Я использую его для разделения документов PDF на документы на 1 страницу. pyPdf - это чистый python, который проводит довольно много времени в методе _sweepIndirectReferences () объекта PdfFileWriter при сохранении извлеченной страницы. Мне нужно что-то с лучшей производительностью. Я пытался использовать многопоточность, но так как большая часть времени была потрачена на код Python, не было никакого увеличения скорости из-за GIL (на самом деле он работал медленнее).
Существует ли какая-либо библиотека, написанная на c, которая обеспечивает такую же функциональность? или у кого-нибудь есть хорошая идея о том, как повысить производительность (кроме порождения нового процесса для каждого файла PDF, который я хочу разбить)
Заранее спасибо.
Продолжайте.
Ссылки на пару решений для командной строки, которые иногда оказываются быстрее pyPDF:
Я изменил класс pyPDF PdfWriter, чтобы отслеживать, сколько времени было потрачено на метод _sweepIndirectReferences (). Если это было слишком долго (сейчас я использую магическое значение 3 секунды), тогда я возвращаюсь к использованию ghostscript, вызывая его из python.
Спасибо за все ваши ответы. (ссылка на xpdf от codelogic заставила меня искать другой подход)