2017-12-15 5 views
1

pydf을 사용하여 HTML을 Google 서버의 PDF로 변환합니다. 난간단한 HTML to PDF 파이썬 라이브러리 오류

(pdf) <computer>:<folder> <user>$ python pdf.py 
Traceback (most recent call last): 
    File "pdf.py", line 3, in <module> 
    pdf = pydf.generate_pdf('<h1>this is html</h1>') 
    File "/Users/nilesbrandon/Projects/pdf/pdf/lib/python2.7/site-packages/pydf/wkhtmltopdf.py", line 121, in generate_pdf 
    return gen_pdf(html_file.name, cmd_args) 
    File "/Users/nilesbrandon/Projects/pdf/pdf/lib/python2.7/site-packages/pydf/wkhtmltopdf.py", line 105, in gen_pdf 
    _, stderr, returncode = execute_wk(*cmd_args) 
    File "/Users/nilesbrandon/Projects/pdf/pdf/lib/python2.7/site-packages/pydf/wkhtmltopdf.py", line 22, in execute_wk 
    p = subprocess.Popen(wk_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__ 
    errread, errwrite) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child 
    raise child_exception 

:이 파일을 실행 갈 때

import pydf 

pdf = pydf.generate_pdf('<h1>this is html</h1>') 
with open('test_doc.pdf', 'wb') as f: 
    f.write(pdf) 

, 내가 같은 오류가 매번 얻을 :이 문제를 보여 그들의 문서에서 바로 오는 예입니다

python-pdf==0.30 

하십시오 virtualenvpip freeze이를 실행하면 다음과 같은 아니라 어떤 생각이 잘못 될 수 있습니까? 당신이 맥 OS를 사용하는 것처럼

답변

2

, 당신은 자신에 의해 wkhtmltopdf 바이너리를 다운로드해야합니다

pydf은 리눅스 AMD64 아키텍처에서 작동하는 wkhtmltopdf 바이너리와 함께 번들로 제공됩니다. 다른 OS 또는 아키텍처를 사용하는 경우 milage가 다를 수 있으므로 WKHTMLTOPDF_PATH 변수를 설정하여 자체 wkhtmltopdf 바이너리를 제공하고 pydf를 가리 키도록해야합니다.

+0

독자적으로 wkhtmltopdf 바이너리를 다운로드하려면 몇 가지 단계를 설명해 주시겠습니까? 어디서부터 시작해야할지 모르겠습니다. – qarthandso

+1

[웹 사이트] (https://wkhtmltopdf.org/downloads.html) 또는 homebrew-cask에서 wkhtmltopdf를 먼저 다운로드 한 다음 env 변수 'WKHTMLTOPDF_PATH =/usr/local/bin/wkhtmltopdf'를 설정하십시오. – georgexsh

+0

여전히 실제로 문제가 있습니다. – qarthandso