作業目的
MS WordでテンプレートとするPDFを作成して、PyPDF2で文字列を埋め込んで帳票を作成しようとした。
発生した事象
帳票の合成時に以下のエラーが発生した。
「UnicodeEncodeError: 'latin-1' codec can't encode characters in position」
別のPDFファイルを用いると合成が行える。はて?
以下のサイトで『WordでPDFを保存すると、フォント名はShift_JISでエンコードされてしまいます』とある。
https://gammasoft.jp/support/pdf-file-read-warning-and-error/
では、Adobe AcrobatでWordファイルをPDFに変換したらどうだろう。と思い、実施してみたところ、合成が行えた。
Adobe AcrobatでPDFに変換する手順
1.「ファイル」メニューで「全てのファイル」で対象のWordファイルを開く。
2. PDFで保存する。
参考にさせていただいたサイト通りに、フォントを変更するのも選択肢かと思います。
参考