2017-12-15 5 views
1

私はこのpydfを使用して、HTMLを当社のPDF上のPDFに変換しています。これは、右の問題を示して、そのドキュメントから来ている例です。シンプルなHTMLからPDFへのPythonライブラリのエラー

import pydf 

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

を私はしています

python-pdf==0.30 

virtualenvと私のpip freezeでこれを実行すると、次のみですどのようなアイデアがここで間違っていますか?

答えて

2

あなたはMacOSのを使用しているとして、あなたはあなた自身によってwkhtmltopdfバイナリをダウンロードする必要があります。

pydfは唯一のLinux AMD64アーキテクチャ上で動作しますwkhtmltopdfバイナリにバンドルされています。あなたが別のOSやアーキテクチャーを使用している場合、milageが変わる可能性があります.WKHTMLTOPDF_PATH変数を設定することによって、独自のwkhtmltopdfバイナリを指定し、pydfを指すようにする必要があります。

+0

自分でwkhtmltopdfバイナリをダウンロードするために必要な手順を教えてください。どこから始めるべきかわからない。 – qarthandso

+1

最初のwkhtmltopdfを[its website](https://wkhtmltopdf.org/downloads.html)またはhomebrew-caskからダウンロードして、env変数 'WKHTMLTOPDF_PATH =/usr/local/bin/wkhtmltopdf'を設定します。 – georgexsh

+0

はまだ実際に問題が発生しています。 – qarthandso

関連する問題