ソースコード(テキスト)を行番号付きでPDFにするプログラム。
- ubuntu 24
- python3
- python fpdf2
- Unicode フォント
広範囲のUnicodeをカバーする「No Tofu」フォントファミリーをインストール。
sudo apt install fonts-noto-cjk
pip install fpdf2
ヘッダとフッターを付けるためFPDFクラスを継承してPDFクラスを作成。
PDFクラスのコンストラクタでUnicodeフォントを設定。ヘッダにファイル名、フッターにページ番号を表示するように作成。
ファイルを読み込んで、行番号をつけるために、1行ごとに処理。 行番号をPDF出力してから読み込んだ行を出力。
デフォルトで、{nb}が総ページ数に置き換わるため、ソースコードに{nb}があると総ページ数に置き換わる。そのため{nb}を{\0nb}に変換。どのように変換するのかがよいのかは不明のままだが、{\0nb}へ変換するので表示はできる。
もしかしたら、何が弊害があるかもしれない。