문제

pyPdf는 PDF 파일을 분할하고 병합하는 훌륭한 라이브러리입니다.PDF 문서를 1페이지 문서로 분할하는 데 사용하고 있습니다.pyPdf는 순수 Python이며 추출된 페이지를 저장할 때 PdfFileWriter 개체의 _sweepIndirectReferences() 메서드에서 꽤 많은 시간을 소비합니다.더 나은 성능을 가진 것이 필요합니다.멀티스레딩을 사용해 보았지만 대부분의 시간을 Python 코드에 소비했기 때문에 GIL로 인해 속도가 향상되지 않았습니다(실제로는 느리게 실행되었습니다).

동일한 기능을 제공하는 c로 작성된 라이브러리가 있습니까?또는 성능을 향상시키는 방법에 대한 좋은 아이디어가 있는 사람이 있습니까(분할하려는 각 PDF 파일에 대해 새 프로세스를 생성하는 것 제외)

미리 감사드립니다.

후속 조치.때때로 pyPDF보다 빠른 것으로 입증될 수 있는 몇 가지 명령줄 솔루션에 대한 링크:

_sweepIndirectReferences() 메서드에 소요된 시간을 추적하기 위해 pyPDF PdfWriter 클래스를 수정했습니다.너무 길었다면(지금은 3초라는 마법의 값을 사용합니다) Python에서 호출하여 고스트스크립트 사용으로 되돌아갑니다.

모든 답변에 감사드립니다.(codelogic의 xpdf 참조는 내가 다른 접근 방식을 찾도록 만든 참조입니다)

도움이 되었습니까?

해결책

MBTPDFASM PDF 처리를위한 빠른 오픈 소스 명령 줄 도구입니다.

XPDF GPL이기 때문에 C ++로 작성되었으므로 언급 할 가치가 있습니다. 소스 코드는 잘 모듈화되어 있으며 명령 줄 도구를 작성할 수 있습니다.

다른 팁

파이썬이어야 하나요?내 순수 Perl 라이브러리 캠::PDF PDF 문서 페이지를 추가하고 삭제하는 데 매우 빠릅니다.가능한 경우 마지막까지 청소 작업을 저장합니다.

pdflatex는 많은 PDF 관리를 할 수 있으며 매우 빠른.

나는 매우 복잡한 부과 웜에 그것을 사용했습니다. Tex 언어는 실제로 프로그래밍에 대한 외계인이지만 필요한 라텍스 레이아웃을 생성하고 처리하는 파이썬 스크립트를 쉽게 작성하기가 쉽습니다.

사용해 보셨습니까? psyco PYPDF와 함께?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top