pyPdf est une bibliothèque géniale permettant de fusionner et de fusionner des fichiers PDF. Je l'utilise pour diviser des documents PDF en documents d'une page. pyPdf est pure python et passe beaucoup de temps dans la méthode _sweepIndirectReferences() de l'objet PdfFileWriter lors de l'enregistrement de la page extraite. J'ai besoin de quelque chose avec de meilleures performances. J'ai essayé d'utiliser le multi-threading mais comme la plupart du temps on passe en code python, il n'y a pas eu de gain de vitesse à cause du GIL (il était plus lent).Bibliothèque de séparateurs Fast PDF
Y a-t-il une bibliothèque écrite en c qui offre la même fonctionnalité? ou est-ce que quelqu'un a une bonne idée sur la façon d'améliorer la performance (autre que de générer un nouveau processus pour chaque fichier pdf que je veux diviser)
Merci d'avance.
Suivi. Liens vers quelques solutions de ligne de commande, qui peut se révéler parfois plus vite que pypdf:
- http://multivalent.sourceforge.net/Tools/pdf/Split.html
- http://www.linuxsolutions.fr/how-to-extract-pages-from-a-pdf/
I modifié pypdf classe PdfWriter de garder une trace de combien de temps a été passé sur la méthode _sweepIndirectReferences(). Si cela a été trop long (en ce moment j'utilise la valeur magique de 3 secondes) alors je reviens à utiliser ghostscript en faisant un appel à partir de python.
Merci pour toutes vos réponses. (la référence de xpdf de codelogic est celle qui m'a fait chercher une approche différente)
Je dois démonter le pdf. Si je comprends bien mbtPdfAsm assemble pdfs. – Nathan
Il peut être utilisé pour assembler et désassembler les fichiers PDF. – codelogic