Skip to content

v0.1.5 — PDFの行整列と限定範囲のページ送り

Latest

Choose a tag to compare

@zredjet zredjet released this 27 Sep 11:02

PDFの行挿入・削除を整列する機能と、限定範囲のページ送り・文書集約を追加しました。

  • 行整列は、文字層のあるPDFの対応行を使い、構造変化と内容差分をCLI・JSON・HTMLへ報告します。領域・除外・PDF注釈・YAML出力との座標対応を保ちます。
  • ページ送りは、支持行・本文の対応・元帯の画素一致などを確認し、成立した原因ごとに集約します。集約後の件数とページ別内訳を併記し、送りも相違として扱います。片側ページの未比較状態と見送り理由を残します。
  • rows.enabled と rows.carry_enabled は既定ではfalseです。行整列だけを使う場合は carry_enabled をfalseにしてください。
rows:
  enabled: true
  carry_enabled: true
report:
  raw_overlay: true

確認用オーバーレイは、比較判定から独立した補正前の原画像を赤・青・共通色で重ねます。行整列や差分判定に使う加工を反映しません。既定の比較式・しきい値・依存バージョンは維持しています。

確認用オーバーレイ(v0.1.4撮影、同じ画像を継続掲載)

README · 設定と対応範囲 · 検証と保留事項

配布物

reportdiff-0.1.5-win-x64.zip はWindows x64の自己完結版です。exe・README・設定例・自作サンプル・文書・本体と第三者のライセンスを含み、.NETの別途インストールは不要です。再配布時は LICENSE・THIRD_PARTY_NOTICES.md・licenses/ を保持してください。

ZIPのSHA-256(SHA256SUMSにも収録):

066b3869d2b5af85fc9f3e0033b98ffc4528196888fc58088d824292af734eab

検証

対象コミット:75e79512001511de793401b6e677101b826d4600。

対象コミットのCIは両OSで成功しました。

  • Windows x64:2,369件成功、失敗0、スキップ6。ビルド警告・エラー0。

  • macOS Apple Silicon:2,375件成功、失敗0、スキップ0。ビルド警告・エラー0。

  • ローカルReleaseビルドは警告・エラー0。全2,375テスト成功、失敗・スキップ0。

  • 同梱サンプルは新版で再生成し、3箇所の相違と入力・出力15PNGの従来一致を確認。実CLIの出力13PNGも一致。JSONは日時・入力パスと直接生成器が省略する行整列用サイズ3項目を区別して一致を確認しました。READMEの3画面はv0.1.4撮影のものを維持しています。

  • 確定コミットを展開したソースからWindows exeを発行。4製品アセンブリの埋め込み版0.1.5と発行元DLLの一致、必須DLL・依存・許諾文のハッシュ、FFmpeg非同梱を確認しました。

  • ZIP 367ファイルのCRCと全マニフェストを検証し、同梱文書・サンプル・設定・許諾文 364ファイルが対象コミットと一致しました。READMEの確認用オーバーレイを含む3画像も同梱しています。

公開後にGitHubからZIPとSHA256SUMSを再取得し、原本との全バイト一致・GitHub側のアセットdigest・タグの参照先・ZIPのCRCと全ファイルのサイズ/SHA-256を確認しました。

制限と保留

対応は固定した条件で検証した限定範囲です。前側支持1行の二原因(R-01)、A4固定9条件(R-02)、薄色1px線の未検出(R-03)は未解消のまま保留し、元の期待を保持しています。通常の比較への復帰やraw overlayの目視確認は、これらの自動検出・集約の成功を意味しません。数値変更行自体のページ跨ぎ、横補正、補正と片側ページの組合せ等へは一般化していません。

条件別の行整列HTML確認(V-01)と元ゴールデン候補(R-04)は承認済み保留です。追加HTML(V-04)はユーザー代理確認の「概ねOK」に基づく完了で、全操作・環境の個別合格ではありません。完成版ZIPのWindows実機手動確認、実帳票・低メモリ環境の受け入れは未完了です。Windows CIの既存6スキップはリンク関連5条件とmacOS専用1条件で、Windowsのリンク動作は実機確認へ残します。exeは未署名、Intel Macは対象外です。T3-1b/T3-1cの親タスク・Phase 3全体の完了とは区別します。