タイトル : PythonでPDF作成 やっぱりIPAフォントが見やすい
更新日 : 2024-11-02
カテゴリ : プログラミング
IPAのフォントが見やすい
ReportLabにはHeiseiMin-W3,HeiseiKakuGo-W5が最初から入っているけど、
IPAのフォントがやっぱり見易いです
IPAフォント
-
最新は IPAexフォント(Ver.004.01) 2019-04-26 ですね
確認ソース
(ipag00303は最新じゃなかった...)
import datetime
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, portrait
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
from reportlab.pdfbase.ttfonts import TTFont
# 白紙をつくる(A4縦)
FILENAME = "test.pdf"
pdf_canvas = canvas.Canvas(FILENAME, pagesize=portrait(A4))
# 出力用文字列
now_time = datetime.datetime.now()
time_str1 = now_time.strftime('%Y年%m月%d日 %H時%M分%S秒')
test_str1 = f"スカンク 茅ヶ崎市 Test ① +-*/ {time_str1}"
# 各種フォントを使用できるようにする。
# HeiseiMin-W3、HeiseiKakuGo-W5は最初から使える
font_name_heisei_min = "HeiseiMin-W3"
pdfmetrics.registerFont(UnicodeCIDFont(font_name_heisei_min))
font_name_heisei_kakugo = "HeiseiKakuGo-W5"
pdfmetrics.registerFont(UnicodeCIDFont(font_name_heisei_kakugo))
# IPAフォントをダウンロード・配置して、TTFのパスを指定する
font_name_ipag = 'ipa_font1'
pdfmetrics.registerFont(TTFont(font_name_ipag, "./ipag00303/ipag.ttf"))
# 表示位置
px = 50
py = 750
for font_name in [font_name_heisei_min, font_name_heisei_kakugo, font_name_ipag]:
# フォント指定。サイズも指定
pdf_canvas.setFont(font_name, 16)
# フォント名表示
pdf_canvas.drawString(px, py, font_name)
py -= 20
#テスト文字表示
pdf_canvas.drawString(px, py, test_str1)
py -= 30
# PDFファイルを保存
pdf_canvas.save()
pip install reportlab