2016-07-12 19 views
2

私はpdkitをHTMLページをpdfに変換するためにpythonでPDFkitを使用しています。私はこのようなHTMLをPDFに変換する場合がpdfkitからPDFへの変換がありません

<html> 
    <body style="margin: 0px;"> 
     <img style="-webkit-user-select: none; cursor: -webkit-zoom-in;" src="https://blah.blah.com" height="768"> 
    </body> 
</html> 

pdfkit.from_file(file, 'labels.pdf', configuration=config) 

私は空白のページを取得し、HTMLの体で唯一の画像タグは次のように完全なURLへのsrcポインテ​​ィングであり画像の代わりに枠が付いたボックス。

pdfkitがイメージを変換しないのはなぜですか?

ドメイン名を含む完全なイメージパスを指定する必要があります。しかし、私が提供しているイメージURLは完全です。それから私が間違っていることは何ですか?

+0

私はすぐにこれをテストしてPDFを得ました画像。これが 'pdfkit.from_file(file、 'labels.pdf')'の設定を渡すことなく動作するかどうかを見てください。そうした場合、設定に問題があります。オプションの代わりに設定を使用している可能性がありますか? –

答えて

2

は、私のような、画像SRC内のファイルのURLの代わりにファイルパスを使用します。

<img src="D:/image/path/pircure.png"> 

、それは多分あなたはそれを試すことができ、動作します。

+0

環境が変更されると失敗します。言語の命名法に従ってください。 –

+1

私は良い方法を見つけました。私はBase64で画像をエンコードし、htmlに渡しました。 –

1

@Manish Guptaの提案に続いて、画像をBase64データの文字列の文字列としてエンコードしました。 Pythonで:私のJinja2のテンプレートで

import base64 

def get_image_file_as_base64_data(): 
    with open(FILEPATH, 'r') as image_file: 
     return base64.b64encode(image_file.read()) 

(私は質問がJinja2のに固有のものではないが、これは私が使用しているものを知っている):

<img src="data:;base64,{{ get_image_file_as_base64_data() }}"> 
+0

これは、djangoバックエンド内のテンプレートをレンダリングするためのよりクリーンな方法です。ありがとう! –

関連する問題