将来、私のように、xhtml2pdfを使用してヘブライ語を含む PDF ファイルを適切に作成する方法を見つけようとする人がいる場合は、次のようにします。
最初に、@eviltrue がここで説明したフォント設定を HTML に含めます。これは、ヘブライ文字をサポートする限り、任意のフォントにすることができます。それ以外の場合、入力 HTML 内のヘブライ文字は、PDF では単に黒い四角形として表示されます。
この回答を書いている時点で、ヘブライ文字を xhtml2pdf で PDF に出力することは可能ですが、ヘブライ文字は逆の順序で出力されשלום כיתה א
ますא התיכ םולש。
この時点で私は立ち往生しましたが、その後、このSO回答に出くわしました:
https://stackoverflow.com/a/15449145/1918837
パッケージをインストールした後python-bidiの完全なソリューションの例を次に示します (Python アプリで使用):
from bidi import algorithm as bidialg
from xhtml2pdf import pisa
HTMLINPUT = """
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
@page {
size: a4;
margin: 1cm;
}
@font-face {
font-family: DejaVu;
src: url(my_fonts_dir/DejaVuSans.ttf);
}
html {
font-family: DejaVu;
font-size: 11pt;
}
</style>
</head>
<body>
<div>Something in English - משהו בעברית</div>
</body>
</html>
"""
pdf = pisa.CreatePDF(bidialg.get_display(HTMLINPUT, base_dir="L"), outpufile)
# I'm using base_dir="L" so that "< >" signs in HTML tags wouldn't be
flipped by the bidi algorithm
Bidi アルゴリズムの優れた点は、(上記の HTML の例のように) 同じ行に RTL 言語と LTR 言語を混在させても、正しい形式の結果が得られることです。
編集:今行く最善の方法は間違いなくwkhtmltopdfを使用することです