What text does a resume PDF actually give a parser?
We generated six fictional resumes, ran the same native text-layer parser against every file, and published the fixtures, source, and exact output. The test isolates text extraction; it does not score resume quality.
Results from six controlled files
An anchor is a unique label embedded in a fixture. Counting anchors detects missing anchors, not every possible text loss. Comparing anchor positions measures their order without judging the resume content.
Measured (UTC):
| Fixture | Anchors found | Extracted text | Expected order | Source file |
|---|---|---|---|---|
| Single-column text PDF | 10/10 | 378 characters | Matched | Download PDF |
| Two-column text PDF | 10/10 | 287 characters | Matched | Download PDF |
| Korean text PDF | 7/7 | 140 characters | Matched | Download PDF |
| Korean and English PDF | 7/7 | 193 characters | Matched | Download PDF |
| Table and links PDF | 9/9 | 218 characters | Matched | Download PDF |
| Image-only scan | 0/6 | 0 characters | Not measurable | Download PDF |
What this run shows
- All anchors were returned in order for the single-column, two-column, Korean, mixed-language, and table/link fixtures.
- The table/link fixture returned its visible table cells, URL, and link label. This parser does not expose the destination behind a labeled PDF link, so destination preservation was not evaluated.
- The image-only negative control returned no native text. We did not run OCR, so this result says nothing about OCR accuracy.
Method and limits
The six one-page fixtures contain only fictional names and organizations. They were generated with ReportLab 4.4.9 and Pillow 12.3.0, then measured with the default text extraction in pdf-parse 1.1.1. The script stores the complete extracted text, anchor counts and order, page count, byte size, and SHA-256 hash in the result JSON.
The baseline JSON is an archival record of the September 11 run. The original two-column and image-only binaries are not bundled, so those two historical hashes and byte counts cannot be reproduced from the current generator.
This is not an ATS acceptance test, an OCR experiment, a resume-field accuracy test, or a test of the refresh.cv production importer. A successful extraction in these controlled files does not predict screening or hiring. Review imported names, dates, links, sections, and bullets against the source PDF.
Check your own PDF in an editable resume
Import the file, then compare the source PDF with every editable section before you tailor or export it.
Import a PDF resume