문제

파이썬을 사용하여 다중 페이지 PDF를 일련의 JPEG로 변환하려고합니다. 사용 가능한 도구를 사용하여 PDF를 개별 페이지로 쉽게 나눌 수 있지만 이미지에 대해 PDF를 덮을 수있는 것을 찾을 수 없었습니다.

PIL은 PDF를 읽을 수 없으므로 작동하지 않습니다. 내가 찾은 두 가지 옵션은 쉘을 통해 Ghostscript 또는 Imagemagick을 사용하는 것입니다. 이 프로그램은 크로스 플랫폼이어야하기 때문에 이것은 실행 가능한 옵션이 아니며, 해당 프로그램 중 하나가 설치 및 사용될 기계에서 사용할 수 있는지 확신 할 수 없습니다.

이를 수행 할 수있는 파이썬 라이브러리가 있습니까?

도움이 되었습니까?

해결책

다른 팁

다음은 Python Ghostscript 모듈 ( '$ pip install ghostscript'에 의해 설치됨)을 사용하여 저에게 효과가있는 것입니다.

import ghostscript

def pdf2jpeg(pdf_input_path, jpeg_output_path):
    args = ["pdf2jpeg", # actual value doesn't matter
            "-dNOPAUSE",
            "-sDEVICE=jpeg",
            "-r144",
            "-sOutputFile=" + jpeg_output_path,
            pdf_input_path]
    ghostscript.Ghostscript(*args)

또한 내 컴퓨터에 GhostScript 9.18을 설치했는데 아마도 다른 방식으로 작동하지 않았을 것입니다.

고스트 스크립트 종속성을 피할 수는 없습니다. Imagemagick조차도 PDF 읽기 기능을 위해 Ghostscript에 의존합니다. 그 이유는 PDF 형식의 복잡성입니다. PDF는 비트 맵 정보 만 포함 할뿐만 아니라 대부분 벡터 모양, 투명성 등을 포함합니다.

따라서 PDF 페이지의 올바른 렌더링은 순수한 Python 라이브러리의 범위를 벗어났습니다.

좋은 소식은 Ghostscript가 많은 PDF 프린터 (Adobe Acrobat 제외)에도 필요하기 때문에 많은 Windows 및 Linux 시스템에 사전 설치되어 있다는 것입니다.

Linux를 사용하는 경우 일부 버전에는 상자에서 'PDFTOPBM'이라는 명령 줄 유틸리티가 제공됩니다. 체크 아웃 netpbm

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