2017-12-09 6 views
0

pdf에서 모든 형식의 이미지를 추출하려고합니다. 나는 인터넷 검색을했고 StackOverflow에 this page을 찾았습니다. 이 코드를 시도했지만이 오류가 무엇입니까 :python에서 PDF에서 이미지를 추출하는 동안 오류가 발생했습니다.

내가 파이썬 3.x를을 사용하고 여기에 내가 사용하고있는 코드입니다. 나는 코멘트를 통해 가려고했지만 알아낼 수 없었다. 이 문제를 해결하도록 도와주세요. 여기

sample PDF.

import PyPDF2 

from PIL import Image 

if __name__ == '__main__': 
    input1 = PyPDF2.PdfFileReader(open("Aadhaar1.pdf", "rb")) 
    page0 = input1.getPage(0) 
    xObject = page0['/Resources']['/XObject'].getObject() 

    for obj in xObject: 
     if xObject[obj]['/Subtype'] == '/Image': 
      size = (xObject[obj]['/Width'], xObject[obj]['/Height']) 
      data = xObject[obj].getData() 
      if xObject[obj]['/ColorSpace'] == '/DeviceRGB': 
       mode = "RGB" 
      else: 
       mode = "P" 

      if xObject[obj]['/Filter'] == '/FlateDecode': 
       img = Image.frombytes(mode, size, data) 
       img.save(obj[1:] + ".png") 
      elif xObject[obj]['/Filter'] == '/DCTDecode': 
       img = open(obj[1:] + ".jpg", "wb") 
       img.write(data) 
       img.close() 
      elif xObject[obj]['/Filter'] == '/JPXDecode': 
       img = open(obj[1:] + ".jp2", "wb") 
       img.write(data) 
       img.close() 

내가 this page에 해결이 문제를 몇 가지 의견을 읽고 링크를 통해가는 발견이다. 누군가 그것을 구현할 수 있도록 도와 주시겠습니까?

+0

입력 PDF를 제공 할 수 있습니까? 사용중인 코드와 파일로 인해 발생하는 문제를 재현 할 수 있다면 훨씬 쉽게 도움을받을 수 있습니다. – Gary02127

+0

@ Gary02127 늦게 답장을 드려 죄송합니다. 현재 나의 위치에있는 Gary.Network가 다운되었습니다. 여러 PDF 시도했지만 동일한 오류가 발생했습니다. 그러나, 샘플 PDF로 질문을 편집했습니다. – john

+0

PDF 파일이 이미지에 사용하는 필터가 사용중인'PyPDF2' 라이브러리에서 지원되지 않는 것 같습니다. 나는이 필터를 포함하고있는 다른 PDF 리더를 잘 모르고 있지만 잘 지내고 있을지 모르지만 전문가는 아닙니다. – physicalattraction

답변

0

라이브러리 오류입니다 (PyPDF2). 변경 사항이있는 라이브러리를 제거하고 설치하거나 GitHub에서 변경 사항을 확인하고 변경 사항을 표시 할 수 있습니다. 제대로 작동하는지 확인하십시오.

+0

그게 효과가 있었어. 고맙습니다. – john

관련 문제