2025/08/18

Share

  • Share on Facebook
  • Share on Twitter

PDFファイルの差異検知ソフトウェアの開発 PDFファイルの差異検知ソフトウェアの開発

案件概要

クライアントは、システム移行後に新システムから出力されたPDFレポートと、移行前の旧システムから出力されたPDFレポートに差異がないことを確認したいというニーズを持っていました。本プロジェクトは、そのニーズに応えるためにPDFファイルの差異を検知できる専用ソフトウェアを構築することを目的としています。

このソフトウェアは、PDFファイル間の内容、レイアウト、表示位置の違いを比較する機能を備えており、差異があった場合に視覚的に分かりやすい画像およびHTML形式の詳細レポートを出力でき、ユーザーが差異を簡単に発見できるようになりました。

利用した技術スタック及び開発ツール

・プログラミング言語:PHP7.4
・タスク管理ツール:Backlog

クライアントの課題

システム移行(マイグレーション)後、クライアントは既存機能の整合性、特にPDFレポート出力機能の整合性を検証する必要があります。
発生している問題は以下の通りです:
・旧システムと新システムから出力された多数のPDFファイルを比較する必要がある
・内容は同じでも、表示位置や間隔、フォントなどにズレがある可能性がある
・手動での比較では時間がかかり、ミスも発生しやすい

クライアントの要望

旧システムと新システムのPDFファイルを2つ以上同時に比較できること
以下の差異を検出できること:
・テキスト内容の違い
・表示位置の違い(内容が同じでもズレていれば検出対象)
・全体のレイアウト(間隔、余白、整列など)
比較結果のレポートを出力すること:
・画像形式(差異箇所をハイライト表示)
・HTML形式(PDFの内容を表示し、差異部分をハイライト)
インターフェースはシンプルで使いやすく、インターネット接続不要のスタンドアロンで動作すること

当社の提案及びアプローチ

当社は、PDFファイルの一貫性チェックに特化したコンソールアプリケーション(コマンドラインで実行)を開発することを提案しました。
クライアントはIT企業であるため、コンソール形式はテストプロセスや自動化処理への統合が容易であり、技術的なワークフローにも適しています。

主なアプローチは以下の通りです:

・PDFファイル間のテキスト内容を自動で比較し、段落や行ごとに照合
・内容が同じでも表示位置が異なる場合は差異として検出・マーク
・視覚的なレポート出力:
– 差異箇所をハイライトした比較画像を生成
– PDF内容を表示し、差異をハイライトしたHTMLレポートを生成
・複数のPDFファイルを同時に比較する機能により、検証作業の効率化を図る
・このソリューションにより、クライアントのテスト・技術チームは、特に大量で複雑なPDFレポートを扱う大規模システムの移行検証を、迅速かつ正確に実施することが可能となりました。