0

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

テキストはチェコ語です。たとえば、テキストを入力します。

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

特殊文字 (ěščřžýáíé) を削除した後、この特定の文は問題なくレンダリングされますが、これらの文字を使用しても他のテキストを問題なくレンダリングできるため、これは普遍的なルールではありません。

これが起こる規則を見つけることができませんでした。また、これは Debian で実行されている実稼働サーバーでのみ発生しています。ローカルの Kubuntu でのレンダリングは問題なく実行されます。

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

ヒントをいただければ幸いです、ありがとう。

4

1 に答える 1

0

考えられる回避策は、サーバーにインストールするLibreOfficeことです。GUI なしで実行でき、ドキュメントを pdf に変換するのに非常に適しています。最小バージョンをインストールして、それが機能するかどうかを確認できます。最小インストールで機能しない場合は、追加の推奨パッケージまたは完全バージョンをインストールできます。次のコマンドは、最小バージョンをインストールします。

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

LibreOffice がインストールされている場合は、次のコマンドで PDF を作成できます。

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

それが役立つことを願っています!

于 2016-12-16T21:07:24.233 に答える