DEV Community 日本語
フォロー
ページ位置、ページラベル、印刷番号は異なるPDFデータです。
PDFサブセットは、ページ数やテキスト抽出のチェックがすべてパスした場合でも、正しいコンテンツを持ちながら誤解を招くページラベルを持つことがあります。これは、ページには文書内での位置、論理ラベル(例:「i」、「1」)、およびページ自体に印刷された番号という3つの異なる値が関連付けられる可能性があるためです。特定のテストケースでは、6ページのソースから抽出された3ページのPDFが、選択されたソースページのラベルを保持するのではなく、元の文書の先頭からの論理ラベルを継承して、正しいコンテンツを示しました。元のソースには「COVER」、「i」、「1」、「2」、「A-1」、「A-2」というラベルがあり、選択されたページはソース位置3、4、6にありました。しかし、ダウンロードされたPDFでは、期待される「1」、「2」、「A-2」の代わりに、出力ページ1、2、3にそれぞれ「COVER」、「i」、「1」というラベルが表示されました。この不一致は、単にページを抽出するだけでは、元の論理ラベルや印刷された番号が自動的に再マッピングされたり保持されたりしないことを強調しています。Pythonスクリプト「audit-labels.py」は、サブセットPDFのラベルが、保存ポリシーに基づいて、対応するソースページのラベルと一致するかどうかを確認するために開発されました。このスクリプトは、テストケースにおけるラベルの不一致を確認しました。抽出されたPDFサブセットに対して、ソースラベルを保持するか新しいラベルを生成するかなど、望ましいラベルポリシーを定義することが重要です。このチェッカーは、ラベルの保存のみに焦点を当てており、レンダリング、ブックマーク、その他のPDF機能は検証しません。