You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(parser): PDF text via pdftable v0.4.0 (fixes reversed/garbled extraction) (#51)
* fix(parser): extract PDF text via pdftable v0.4.0, not ledongthuc
PDF section titles came out reversed and full of U+FFFD (e.g.
'Retrieval'->'laveirteR', plus 654 spurious sections) because text rows
were sourced from ledongthuc/pdf, whose weak font-encoding + ordering
mangles real design/academic PDFs. pdftable (our pdfplumber port) reads
them correctly; v0.4.0 also fixes its word spacing (size-relative
tolerance + explicit-space boundaries).
Switch extractPDFRows to pdftable's Words() with those options, reusing
the existing row bucketing / bold / letter-spacing-collapse logic.
ledongthuc/pdf is now used ONLY for /Outlines and its failure is
non-fatal (text no longer depends on it).
Verified: the Vectorless whitepaper now parses to 6 clean sections with
correct titles and zero replacement chars (was 654 reversed).
* chore(deps): go mod tidy after pdftable v0.4.0 bump
* fix(parser): serialize pdftable Words() to avoid data race
pdftable's Words() mutates the same package-level state as OpenBytes and
is not concurrent-safe; parallel ingest parses tripped the race detector.
Hold pdftableOpenMu during row extraction, matching the existing guard on
OpenBytes.
0 commit comments