Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Testing Google Docs resume PDFs against an open-source parser: ligatures, page breaks and a missing name

Описание и применение

Автоматизированный тест проверяет, какие поля резюме корректно извлекаются из PDF, экспортированных из Google Docs, и выявляет ошибки, связанные с лигатурами, разрывами страниц и отсутствующим именем.

Задача

Determine which resume fields are correctly parsed from Google Docs PDFs and which are mis‑parsed by an open‑source parser.

Результат

The test revealed that ligatures, page breaks, and missing names caused parsing errors. Adjustments to the parser and normalization logic improved accuracy, but some fields remained out of scope.

Рабочий процесс

  • Download each template as PDF and DOCX via Google Docs export URL.
  • Run OpenResume’s parser in Node, re‑implementing PDF loading to avoid browser dependencies.
  • Normalize extracted text (NFC, dash replacement, whitespace collapse, case folding).
  • Compare each field, list entry, and bullet against an expected JSON file with strict ordering and length checks.
  • Run pdfminer.six to obtain raw text for a second opinion on layout and content.
  • Generate a report including SHA‑256 of the PDF, parsing results, and out‑of‑scope items.
  • Store all test artifacts in a GitHub repository for reproducibility.

Доказательства

The test never generates its own PDFs. A script downloads each template as PDF and .docx through Google Docs' public export URL.

Источник

OpenResume runs its parser in the browser. Its read-pdf.ts loads pdf.js through a browser worker entry, and that doesn't run in Node.

Источник

Each sample resume has an expected-resume.json shaped like OpenResume's own Resume type: name, email, phone, location, link and summary, then every job, school and project, then skills.

Источник

  • Дата записи: 2026-10-20T18:41:37.219Z