Edited at

PDFをツールを使わず比較する。

この記事は帳票出力などのプログラムで、開発の前後の出力したPDFファイルを比較してチェックしたいが、PDF比較ツールを使用できない状況で、ベストプラクティスを求めたメモです。


やりたい事

帳票出力を行うプログラムにおいて、一部のグラフの形状を変更、一部の入力データの変更が、他の箇所に意図せぬ影響を及ぼしていないかのチェックを行う。

目視によるチェックでは、精度が保てない、時間がかかる、かつ 何より大変でストレスフルなので目視オンリーの手法から別の手法としたい。


前提条件


  • Windows環境 

  • AdobeReader

PDF比較ソフトはなく、目視によるチェックが主流で、変更前と変更後のPDFを画面に並べて一つ一つ文章やグラフに意図しない変更が加えられてはないかの確認を実施する手法。

PDFは10p~30p 1ページにはグラフ、テーブル、注釈が並ぶ。


やった事

対象のPDFの文字列のコピー&ペーストなどを通してデータの構成状況を検証し、文字データ(テーブル、注釈)と、画像データ(グラフ、グラフ判例など)の2要素によってのみ構成されていることが確認できた。そのため、文字データの比較はツールに任せ、画像データの比較

のみ目視で行う事とした。


  • 文字データの比較

    文字データ(テーブルと注釈のデータ)は完全にコピー可能であったため、diffなど、文字列比較を行えるツールで比較を行い、比較結果をチェックする。


  • 画像データの比較

    画像データ(グラフ、グラフ判例など)はグラフについては2つの帳票を並べての比較ではなく、2つの帳票を同じサイズ(拡大率)とし、重ねて、Ctrl+Tabキーで素早くPDFを何度も切り替えつつ、目視を行う。

    グラフが重なった状態で繰り返し切り替わるので、2コマのアニメーションとなり、グラフ単位で変化が無いという判断がし易くなる。



結果

データの比較をツールに任せた事で、チェックの精度が担保された。

また、目視によるチェックの対象から、データの中身を除外出来たので、目視のストレスが低減され、精度、スピードが格段に上がった(1pあたりの時間が3分〜1分)

また、文字の修飾(大きさ、色など)についても注視する場合も、画像データの比較の際に合わせて確認を行いやすい。