2014-12-20 4 views
3

필자는 JPEG 이미지 목록을 입력으로 사용하여 PDF 파일을 출력하는 작은 Python 2.7.9 스크립트를 작성하고 있습니다. 나는 시간 동안 인터넷 검색을하고있어하지만 해결책 찾을 수 없습니다 : img2pdf를 모듈로 사용하는 방법

  • 내가 pypdf 시도를하지만, 내가 가지고 있지만 설치 PIL이없는 말했다.
  • Reportlab을 시도했지만 이미지 크기보다 페이지 크기가 커서 문제를 해결할 방법을 찾지 못했습니다. 나는 또한 하드 ...
  • 내가 img2pdf을 시도 찾을 수 있지만,이

나는이 모든 라이브러리 정말 피곤 해요 사용하는 방법을 이해할 수 없었다, 그리고 내가 좋은를 찾고 있어요 해결책. 좋은 수단 : 가능한 한 파이썬으로

  • 이미지 (어쩌면 500)
  • 쉬운의 이미지 크기에
  • 에 맞게 페이지 크기
  • 지원 큰 양만큼

당신이 할 수있는 경우 내가 이미 시도한 모듈에 도움이된다./코드 예제가 멋지다. 또한 모듈 사용 경험이 있다면 공유 할 수있어서 기쁩니다.

편집 : 코멘트에 제안으로

, 나는 img2pdf 또 다른 기회를 제공하기로 결정했다.

import img2pdf 
pdf_bytes = img2pdf('test.jpg', dpi=150) 

을하지만 예외가 발생합니다 : 나는 공식 GitHub README에서 다음 코드를 사용하고 `형식 오류를 : '모듈'개체 누군가를 수행

는 모듈로 img2pdf를 사용하는 방법을 알고 호출되지 않습니다 `

+0

당신은'img2pdf'를 시도했다고 말합니다. 좀 더 시도하고 스크립트를 만들어보십시오. 어떤 오류가 발생하면 우리는 당신을 도울 것입니다. –

+1

감사합니다! 아픈 지금 다시 시도하십시오 ... – ohad987

+0

@BhargavRao GitHub 설명에서이 코드를 사용하려고합니다 :'import img2pdf pdf_bytes = img2pdf ('test.jpg', dpi = 150)', 그러나 그것은 예외를 던집니다 : ''모듈 '객체는 호출 가능하지 않습니다.' 어떤 생각? – ohad987

답변

1

GitHub 코드에는이 모듈을 호출 할 수 없다는 것이 나와 있습니다. 그것은 readme의 실수 일 수 있습니다. 그들은 예를 들어 convert 함수를 사용하는 것을 의미합니다. 대신이 시도 : the source code에서

import img2pdf 
pdf_bytes = img2pdf.convert(('test.jpg',), dpi=150, x=None, y=None) 

을,이 기능은 위치 인수가 필요 xy :

def convert(images, dpi, x, y, title=None, author=None, creator=None, producer=None, 
      creationdate=None, moddate=None, subject=None, keywords=None, 
      colorspace=None, verbose=False): 

을 그러나 오래 당신이 dpi 인수를 제공하기 때문에, 그것은 그것을 만드는 기본 케이스와 설정되어 xy과 같은 외모 (적어도 나에게)는 선택적 인수로 사용되었습니다.

if not x and not y: 
     pdf_x, pdf_y = 72.0*width/ndpi[0], 72.0*height/ndpi[1] 

PIP에있는 패키지가 반드시 GitHub의 코드와 동일하지는 않습니다. 과 y을 인자로 convert에 넘기지 않고 시도해 볼 수도 있습니다. 아니면 자신의 컴퓨터에서 소스 파일을 찾아 직접 확인해보십시오.

+0

우선, 상세한 답변을 주셔서 대단히 감사합니다! 트레이스 백 (가장 최근의 마지막 콜) : 파일 "createpdf.py", 라인 2, 에 pdf_bytes = img2pdf.convert ('example.jpg' , dpi = 150, x = 없음, y = 없음) 파일 "C : \ Python279 \ lib \ site-packages \ img2pdf.py", 줄 209, 변환시 열기 (imfilename, "rb" IOError : [Errno 2] 해당 파일이나 디렉토리가 없습니다. 'e' '이미지 파일이 있고 script + image가 모두 같은 디렉토리에 있습니다. 잘못된 점이 있습니까? 다시 한 번 감사드립니다! – ohad987

+1

소스를 다시보고, 예 : 첫 번째 인수는 반복 가능한 것으로 예상됩니다. 파이썬의 문자열은 문자를 반복 할 수 있습니다. 대신 목록 또는 튜플에 전달해야합니다 (업데이트 된 답변 참조). – Air

+0

대단히 감사합니다! 하지만 또 다른 문제가 있습니다. 출력 PDF 파일이 손상된 것입니다. 어도비 애크로뱃은 그것을 열지 못하지만, Foxit Reader는 이미지를 [이상하게] 보여줍니다 (http://i.imgur.com/pW61opy.png). 나는 그것이 일어나는 것을 전혀 모른다. 그리고 나는 구글로부터 약간의 JPG 이미지를 시도했다. 그리고 그것은 아직도 일하지 않는다. 아마도 PIL에 대한 문제 일지 모르지만 그 문제를 해결할 지식이 없습니다. 어쨌든, 도와 주셔서 감사합니다 !! @ AirThomas – ohad987

관련 문제