reportlabでPDFを正しく合成できない!!!

54回生
この記事は約2分で読めます。

この記事は,Qiita全国学生対抗戦 Advent Calendar 2023 #313日目の記事です.
12日目の昨日は@sekky_grさんのAutoHotkeyでXbox Game Barを常駐させるスクリプトを作ったでした.

出席停止の報告書に自動記入するweb app

本校では,コロナ関連(e.g. ワクチン接種, 自身の感染)の際には報告書を提出することになっています.この報告書,指定のテンプレがPDFなので軽く加筆するだけなのにスマホだけだとちょっとめんどくさいんですよね.
そこで,僕はこれをweb appで合成するようにしてみんなに使ってもらってチヤホヤされたいと楽をさせてあげたいと思ったわけです.

なんかおかしいのがでてくる!!!

基本構成としては,

  • web サーバ: Flask
  • 記述する内容のみのpdfをreportlabで作成
  • あとからテンプレと↑のpdfをpypdfで合成

みたいな感じにしました.Python使って色々やるのは初めてだったので不安でしたが,まあなんとかなるくらいの気持ちで行きましたね.
ところが,いざ動かしてみるとなんだかテンプレのpdfから90°回転した向きで合成されています.(問題作はすべて廃棄してしまったのでスクショもないっす….)
色々さがしてもなかなか治らぬこの問題,思わぬところに問題がありました.

結論

これは結局,テンプレートのpdfに問題がありました.このpdfはどうもスキャンしたもののようなのですが,

  1. スキャナーで取り込む
  2. そのpdfが横向きであることを取り込んだ人が確認
  3. 何らかの編集ソフトで縦向きに変更し,アップロード

↑この過程で,表示上の向きとデータ上の向きが変わった?ようです.正体はよくわかりません.ただ,Adobeの仮想プリンターで出力したら,なぜか直りました.僕の2日間よ…

だれか専門家の方教えてほしいです.
こんなこと起こるんでしょうか.

最後に

結局,いい感じのホストがなかったので公開してないです….
個人情報も含まれるのでローカルで処理するように改めてから,うまいこと公開したいですね.

駄文でしたが,最後まで読んでいただきありがとうございます!
14日目の明日は,@kurimochiさんの「Ubuntu 24.04LTS 開発速報2023年末版!!!!!! 第3回 フレーバーの新機能」です!
お楽しみに!

コメント

タイトルとURLをコピーしました