문제
pyPdf는 PDF 파일을 분할하고 병합하는 훌륭한 라이브러리입니다.PDF 문서를 1페이지 문서로 분할하는 데 사용하고 있습니다.pyPdf는 순수 Python이며 추출된 페이지를 저장할 때 PdfFileWriter 개체의 _sweepIndirectReferences() 메서드에서 꽤 많은 시간을 소비합니다.더 나은 성능을 가진 것이 필요합니다.멀티스레딩을 사용해 보았지만 대부분의 시간을 Python 코드에 소비했기 때문에 GIL로 인해 속도가 향상되지 않았습니다(실제로는 느리게 실행되었습니다).
동일한 기능을 제공하는 c로 작성된 라이브러리가 있습니까?또는 성능을 향상시키는 방법에 대한 좋은 아이디어가 있는 사람이 있습니까(분할하려는 각 PDF 파일에 대해 새 프로세스를 생성하는 것 제외)
미리 감사드립니다.
후속 조치.때때로 pyPDF보다 빠른 것으로 입증될 수 있는 몇 가지 명령줄 솔루션에 대한 링크:
- http://multivalent.sourceforge.net/Tools/pdf/Split.html
- http://www.linuxsolutions.fr/how-to-extract-pages-from-a-pdf/
_sweepIndirectReferences() 메서드에 소요된 시간을 추적하기 위해 pyPDF PdfWriter 클래스를 수정했습니다.너무 길었다면(지금은 3초라는 마법의 값을 사용합니다) Python에서 호출하여 고스트스크립트 사용으로 되돌아갑니다.
모든 답변에 감사드립니다.(codelogic의 xpdf 참조는 내가 다른 접근 방식을 찾도록 만든 참조입니다)
제휴하지 않습니다 StackOverflow