테스트 환경
- 운영체제: Windows 7 64Bit
- PythonVersion: 2.7
ImageMagick 설치
- ImageMagick 다운로드 [링크]
- ImageMagick 설치
- 중요 환경 변수 등록 (IMAGEMAGICK_HOME)
PythonMagick 설치
PIP 또는 easy_install 을 이용하여 설치 할 수 없기 때문에 수동으로 설치를 해야 하는 부분이 있습니다.
- PythonMagick‑0.9.10‑cp27‑none‑win32.whl 파일 다운로드 [링크] (운영체제가 64Bit여도 32Bit 파일을 다운로드)
- pip 를 이용하여 설치
C:UserscoozplzDownloads>pip install PythonMagick-0.9.10-cp27-none-win32.whl
테스트
파이썬 명령 프롬프트에서 import를 했을때 Module Not Found 가 표시되지 않으면 정상적으로 설치된 것입니다.
>>> import PythonMagick
GhostScript 설치
GhostScript가 없는 경우 Windows에서 실행하면 파일의 저장경로를 찾을 수 없다는 오류가 발생됩니다.
- GhostScript 32Bit 다운로드 [링크] (운영체제가 64Bit여도 32Bit 파일을 다운로드)
- GhostScript 설치
- 환경변수 등록 (GHOSTSCRIPT_HOME)
PIL 설치
> easy_install PIL
테스트
파이썬 명령 프롬프트에서 import를 했을때 Module Not Found 가 표시되지 않으면 정상적으로 설치된 것입니다.
>>> import Image
소스
import PythonMagick import Image import time def loadPDFImage(pdfPath, outputFile): """ PDF 파일을 로딩하여 이미지 파일로 저장한다. :param pdfPath PDF 파일 경로 :param outputFile 추출한 이미지 저장 경로 """ pdfImage = PythonMagick.Image() pdfImage.density("300") pdfImage.read(pdfPath) pdfImage.write(outputFile) def splitImage(imageFileName, splittedImageSavingDir): """ 이미지 파일을 원하는 크기로 Split한 후 저장한다. :param imageFileName 원본 이미지의 경로 :param splittedImageSavingDir 잘린 이미지를 저장할 상위 디렉토리 """ loadedImage = Image.open(imageFileName) for i in range(3): left = 256 + (952 * i) + (15 * i) right = 1212 + (952 * i) + (15 * i) cropImage = loadedImage.crop((left, 278, right, 1800)) savingFileName = "%s_%d.jpg" % (time.strftime('%Y%m%d%H%M'), i) cropImage.save("%s/%s" % (splittedImageSavingDir, savingFileName)) print "Successfully saved, %s" % savingFileName if __name__ == '__main__': pdfPath = "D:/test.pdf" outputPath = "D:/test.jpg" splittedImageSavingDir = "D:/" loadPDFImage(pdfPath, outputPath) splitImage(outputPath, splittedImageSavingDir)
결과
원본 PDF
잘린 이미지