【ポテのトーク】「PDFに電子スタンプを押す方法」を執筆してみた感想


いつもありがとうございます。
つい先日、首題の記事を投稿しました。この記事では、その感想を綴りたいと思います。
もしよろしければ、元記事もご覧ください。
ポテのトーク
執筆のきっかけ
冒頭に記載しました通り、先般の記事でPDFに電子スタンプを押す方法を紹介しました。このアプリを作成したのは、日々の業務で、スタンプをデジタルで処理できれば便利だなと思ったのがきっかけです。もちろん、紙にハンコを押す方法にはそれなりの味わいもありますが、作業効率を求める場面ではデジタルの力を借りたいところです。
クラス設計はキマると爽快だが難しいよね
この感情には共感してくださる方がいらっしゃるのではないかと思いますが、いかがでしょうか。
このアプリは、PDFHandlerというクラスの中に複数のメソッドを作り、それぞれが順に動作して機能する仕組みになっています。これは、一見プロフェッショナルな印象を与えますが、実際に実装するのは難しいです。
やっぱり、メソッド間の連携部分は難しいですかね。例えば、一つのメソッドが返す値を次のメソッドが受け取る際、「期待通りの値を受け取れているか」などを、きちんと確認しないといけないです。
このようなプログラム上の動きを頭の中に描きながら、コードを実装していくのが難しい。すごい集中力を要します。だんだんと、頭の中には描画しきれなくなってくる、つまり、ついていけなくなるんですね。
このような部分のコードの実装には、AIの力を借りました。頑張って自分でゴリゴリとコードを書いていくこともできますが、このような場面では、やはりAIの力は偉大です。
回転するPDFページの罠・・・
クラス設計にも苦労しましたが、結局、最も手間取ったのは、回転属性を持つPDFページでのスタンプ位置の調整でした。
通常のページであれば、単純にX座標とY座標を指定するだけで問題ありません。しかし、回転属性があるページでは、同じやり方ではだめなのです。本来「左上」に配置したいスタンプが「右下」や「左下」にずれてしまう、といった現象が発生します。
この問題を解決するには、ページが持つ回転角度を動的に取得し、座標を正しく変換する必要があります。
「こういう座標変換はAIが得意な分野では?」と思ったのですが、意外にもAIでは解決に至りませんでした。高度な推論が期待できるChatGPT o-1 previewでも、期待通りの結果を得ることができませんでした。
もちろん、私のプロンプトが良くないという、要因もあると思います。
最終的には、この部分は自力で実装しました。そこまで複雑な変換ではないものの、頭の中で考えていると訳がわからなくなってくるので、こういうところはAIにやってほしかったところではあります。
とはいえ、「まだAIよりも優れている部分がある?」と感じられたことには、なぜかほんの少しほっとするものがありました・・・(気休めですが)。
実務で生産性向上に活用してほしい
こうして完成したこのコードは、これまで投稿した記事の中では、規模が大きい方です。
書類に電子スタンプを追加する作業が簡単にできます。皆さんのコミュニティにて、少しでも役立つものであれば嬉しいです。
集中している時間が尊い
コードを書いている時は深く集中します。
さまざまな観点や価値観があると思いますが、やはり「集中している時間」がいかに尊いかを感じます。
時を忘れ、煩悩を忘れ、ただ一つのことに没頭する――そのように没頭できるものがあるということは、人生において何ものにも代え難く、尊いものではないでしょうか。
今後の挑戦
今回の記事を通じて、クラス設計の難しさや、プログラムを組み立てる面白さを改めて感じました。これからも、読者の皆さんの実務や日常に役立情報をお届けできるよう、努めて行きたいと思います。次回の記事も、どうぞお楽しみに。
おわりに


ご覧いただきありがとうございました。
この記事では、「Pythonで「PDFに電子スタンプを押す方法」を執筆した感想」をお届けしました。
お問い合わせやご要望等ございましたら、「お問い合わせ/ご要望」またはコメントにて、ご連絡いただければ幸いでございます。
皆様の人生がより一層素晴らしいものになるよう、少しでもお役に立てれば幸いでございます。
なお、当サイトでは様々な情報を発信しております。もしよろしければ、トップページもご覧いただけると幸いでございます。
記事関連経験
- Python 3 エンジニア認定基礎試験
経済産業省が定めたガイドライン「ITスキル標準(ITSS)」に掲載されている民間資格です。 - Python 使用経験 約5年
実務に使用する アプリを多数作成してきました。
Python プログラミングスキルアップのための参考情報
ここでは参考図書を紹介いたしますが、これに限らず自分に合うものを選ぶことが重要だと考えております。皆様の、より一層のご成功を心からお祈りしております。
「独学プログラマー」というPythonを題材にした書籍は大変勉強になりました。Pythonの技術解説だけにとどまらず、プログラミングの魅力や基本的な知識、思考法、仕事の進め方まで幅広く学べます。
こちらの記事でも紹介しております。もしよろしければご覧ください。
また、Pythonに関する書籍は多数出版されています。興味のある方は、チェックしてみてください。
\チェックしてみよう/
\チェックしてみよう/
\チェックしてみよう/
