truecopy vs pdfplumber
pdfplumber gives you every character and lets you see why extraction failed. truecopy tells you when the reading cannot be trusted. They answer different questions, and one of them runs in a browser.
Short answer. If you are in Python, doing exploratory work, and a human will look at every table, use pdfplumber. If you are in TypeScript and something downstream will act on the rows without a human in the loop, that is the case truecopy was written for.
What pdfplumber does better
- Everything is exposed. Chars, rects, lines, curves. You can define a table region by hand and tune the extraction settings until one issuer comes out exactly right.
- Visual debugging. You can render the page with the detected cells drawn on it and see what went wrong. That single feature is a large part of why it is the default.
- Years of tuning. It has met more layouts than anything you will write.
truecopy’s explainDocument is the same instinct in text rather than pixels (it goes into a terminal, a CI log and a test’s expected value), but pdfplumber’s images are better for a person staring at one difficult page.
What truecopy does that pdfplumber does not
It tells you when the reading is wrong. pdfplumber returns a table. Whether that table is the right one is a question it does not ask, and cannot: it has no notion of the document checking itself.
truecopy’s whole design is that question. opening + Σ = closing is the first law; a reading that contradicts the document never comes back as sound.
No configuration per issuer. The documented liability of a settings-driven extractor is that the settings do not scale: what you tuned for one bank has to be tuned again for the next, and only its author understands the block. truecopy learns the shape from the table rather than being told it, so a new issuer needs no new configuration, though it will tell you when that is not enough.
It runs in the browser. No server, no upload, no Python runtime. The demo on this site reads your file in your own tab; the same code ships to your users.
Honestly
pdfplumber is excellent and mature, and if you want a picture of the table rather than a judgement about it, it will beat this. The two are not really competitors: one is a microscope and the other is a scale.
| pdfplumber | truecopy | |
|---|---|---|
| Language | Python | TypeScript / JavaScript |
| Runs in a browser | no | yes |
| Every character exposed | yes | items and coordinates |
| Visual debugging | images | text |
| Says when the reading is wrong | no | yes |
| Per-issuer configuration | usually | no |
| Conformance suite for your reader | no | yes |