2016-12-15 8 views
0

私は様々な不動産広告のためのPDFリーフレットをレンダリングするためにPythonでweasyprintライブラリを使用しています。ただし、レンダリングされたファイルの一部のテキストは、文全体の一部が欠落しています。weasyprintは不完全なテキストのPDFファイルをレンダリングする

テキストはチェコ語で書かれています。例えば、テキストを入力してください: "あなたのお気に入りのドメイン名を入力してください。3.名前を付けてドメイン名を入力してください。"

PDFでレンダリングされたテキスト: "Zrekonstruovaný、jižněvýtahem。"それで、文の真ん中が失われています。

特殊文字(ěščřžýáíé)を削除した後、この特定の文章はOKになりますが、これは普遍的なルールではありません。他のテキストはこれらの文字でもOKです。

これが発生するためのルールを見つけることができませんでした。また、これはDebian上で実行されているプロダクションサーバ上でのみ発生しています。私のローカルKubuntuでのレンダリングは正常に動作します。

weasyprintとその依存関係のみがインストールされている仮想環境で実行されているweasyprint v 0.31と0.33でテストされています。

私はどんなヒントにもうれしいです、ありがとう。

+0

おそらくKubuntuとDebianの間のCライブラリのバージョンの違いが原因です。特にpango、cairo、それが使用するさまざまなフォントとXライブラリ – Cfreak

答えて

0

LibreOfficeをサーバーにインストールすると、GUIなしで実行でき、pdfに変換するのには非常に優れています。最小限のバージョンをインストールし、それが動作するかどうかを確認することができます。最小限のインストールでは動作しない場合は、さらに推奨パッケージをインストールすることもできます。あなたはLibreOfficeのがインストールされている場合、あなたは、このコマンドを使用してPDFを作成することができ、

apt-get --no-install-recommends install libreoffice 

:次のコマンドは、最小限のバージョンをインストールします

libreoffice --invisible --convert-to pdf /folder/document.docx --outdir /destination/folder/ 

私はそれが役に立てば幸い!

関連する問題