Библиотека быстрого разделения PDF-файлов
Вопрос
pyPdf — отличная библиотека для разделения и объединения PDF-файлов.Я использую его для разделения PDF-документов на одностраничные документы.pyPdf — это чистый Python, и он тратит довольно много времени в методе _sweepIndirectReferences() объекта PdfFileWriter при сохранении извлеченной страницы.Мне нужно что-то с большей производительностью.Я пробовал использовать многопоточность, но поскольку большая часть времени тратится на код Python, прироста скорости не было из-за GIL (на самом деле он работал медленнее).
Есть ли какая-нибудь библиотека, написанная на c, которая обеспечивает ту же функциональность?или есть ли у кого-нибудь хорошая идея, как повысить производительность (кроме создания нового процесса для каждого PDF-файла, который я хочу разделить)
Заранее спасибо.
Следовать за.Ссылки на пару решений для командной строки, которые иногда могут оказаться быстрее, чем pyPDF:
- http://multiвалент.sourceforge.net/Tools/pdf/Split.html
- http://www.linuxsolutions.fr/how-to-extract-pages-from-a-pdf/
Я изменил класс pyPDF PdfWriter, чтобы отслеживать, сколько времени было потрачено на метод _sweepIndirectReferences().Если прошло слишком много времени (сейчас я использую магическое значение в 3 секунды), я возвращаюсь к использованию Ghostscript, вызывая его из Python.
Спасибо за все ваши ответы.(ссылка на xpdf codelogic заставила меня искать другой подход)
Другие советы
Это обязательно должен быть питон?Моя библиотека на чистом Perl КАМ::PDF довольно быстро добавляет и удаляет страницы PDF-документа.Это позволяет приберечь подметание до самого конца, где это возможно.
pdfLaTex может выполнять большую работу по управлению PDF-файлами и очень быстрый.
я использовал его для некоторых довольно сложных рабочих процессов наложения.язык TeX действительно чужд программированию, но написать скрипт на Python, который генерирует нужную LaTex-разметку и обрабатывает ее, несложно.
Вы пробовали использовать Псико с pyPDF?