biblioteca divisor rápido PDF
Pergunta
pyPdf é uma grande biblioteca para dividir, arquivos PDF de mesclagem. Eu estou usando-o para dividir documentos PDF em 1 documentos de página. pyPdf é pura python e passa bastante tempo nos _sweepIndirectReferences () método do objeto PdfFileWriter ao salvar a página extraído. Eu preciso de algo com melhor desempenho. Eu tentei usar multi-threading, mas desde que a maior parte do tempo é gasto no código python não houve ganho de velocidade por causa do GIL (ele realmente correu mais lento).
Existe alguma biblioteca escrita em C que oferece a mesma funcionalidade? Ou alguém tem uma boa idéia sobre como melhorar o desempenho (que não gerando um novo processo para cada arquivo pdf que eu quero split)
Agradecemos antecipadamente.
Siga-se. Links para um par de soluções de linha de comando, que podem revelar-se por vezes mais rápido do que pyPdf:
- http://multivalent.sourceforge.net/Tools/pdf/Split.html
- http://www.linuxsolutions.fr/ how-to-extrair-pages-de-a-pdf /
Eu modifiquei classe pyPdf PdfWriter para manter o controle de quanto tempo foi gasto com os _sweepIndirectReferences () método. Se ele tem sido muito longo (agora eu uso o valor mágico de 3 segundos), então eu voltar a usar ghostscript fazendo uma chamada para ele a partir python.
Obrigado por todas as suas respostas. (Referência xpdf de codelogic é o que me fez olhar para uma abordagem diferente)
Outras dicas
Tem que ser python? Minha biblioteca de Perl puro CAM :: PDF é bastante rápido em acrescentar e excluir PDF páginas do documento. Ele salva o varrendo para o fim, sempre que possível.
PDFLaTeX pode fazer um monte de gestão PDF e é muito rápido.
Eu usei-o para alguns worflows imposição bastante complexas. a linguagem TeX é realmente estranho a programação, mas é fácil escrever um script Python que gera o layout LaTex necessária e processos-lo.
Você já tentou usar Psyco com pyPdf?