fix(pdf): bump pdf-inspector to 1.20.0 so RTL text extracts in logical order

SH
2mo ago
+64-167

Closes #170.

pdf-inspector 1.14.2 emits right-to-left runs in visual order, so Hebrew, Arabic and Persian text comes out character-reversed (in my corpus, 52 of 77 Hebrew PDFs). The fix landed upstream in firecrawl/pdf-inspector#440 and #441 and shipped in pdf-inspector 1.16.0 on 2026-08-21, but @firecrawl/anydoc-wasm 0.2.4 (published after that) still locks 1.14.2, so a plain npm install reproduces the bug.

This bumps Cargo.toml to 1.20.0 (current release) and regenerates Cargo.lock with cargo update -p pdf-inspector; lopdf moves 0.42 → 0.45 as part of that, everything else is transitive.

Snapshots. One snapshot changes, pdf/text.pdf, and each line of it is an improvement:

  • Persian with ZWNJ: مهاوخیم → میخواهم (was reversed, now reads as written; this is the bug from #170)
  • i An endnote follows here. → An endnote follows here<sup>i</sup>. (the endnote marker is now attached where it belongs)
  • the ## Table heading is now grouped with its rows on one line instead of split off as its own section

Checked locally, matching ci.yml: cargo clippy --workspace --all-targets --all-features -- -D warnings clean, cargo test --locked green (286 + 1 + 9 tests), cargo check --workspace builds anydoc-wasm and anydoc-python on the new lock.

Happy to adjust the version pin if you'd rather take 1.16 as the floor than 1.20.0.


Summary by cubic

Bumps pdf-inspector from 1.14.2 to 1.20.0 so right-to-left text (Hebrew, Arabic, Persian) extracts in logical order instead of character-reversed, closing #170.

  • lopdf moves 0.42 → 0.45 as a transitive update.
  • The one snapshot change (pdf/text.pdf) improves each affected line: Persian now reads as written, the endnote marker becomes <sup>, and the table heading stays with its rows.
  • Published @firecrawl/anydoc-wasm 0.2.4 still pins 1.14.2, so this affects source builds only.