ATS a tabele w CV — czy system czyta ramki, nagłówki i stopki
Ten tekst jest częścią przewodnika Czym jest system ATS i jak napisać CV, które przez niego przejdzie.
ATS a tabele w CV to nie jest pytanie o to, czy system zobaczy ich zawartość, tylko o to, w jakiej kolejności ją odczyta i do którego pola profilu wpisze. Ekstrakcja tekstu to etap, na którym system rekrutacyjny zamienia plik DOCX albo PDF na jeden ciąg znaków — zanim cokolwiek rozpozna, musi najpierw ustawić całą treść w jednej linii. Tabela, ramka, pole tekstowe oraz nagłówek i stopka Worda zachowują się na tym etapie zupełnie inaczej: jedne są czytane i spłaszczane, inne leżą fizycznie poza główną treścią pliku, a jeszcze inne potrafią zostać odczytane dwa razy. Poniżej rozbieram każdy z tych elementów osobno — co dzieje się z nim w DOCX, co w PDF i czym go zastąpić.
Czy ATS czyta tabele w CV, czy je pomija?
Tabela w pliku DOCX jest czytana i nie znika, ale zostaje spłaszczona wiersz po wierszu i komórka po komórce, w kolejności zapisu w pliku, a nie w kolejności, w jakiej czyta ją oko na ekranie. Element tabeli (w:tbl) siedzi w głównym strumieniu dokumentu, czyli w pliku word/document.xml, więc każdy ekstraktor tekstu do niego dotrze. Kłopot polega na tym, że dwuwymiarowy układ zostaje zamieniony na jeden ciąg zdań.
Przy tabeli „daty po lewej, opis po prawej” zwykle kończy się to dobrze, bo daty i stanowisko leżą w tym samym wierszu. Awaria zaczyna się przy tabeli obejmującej całe CV: lewa kolumna to jedna wielka komórka z umiejętnościami i kontaktem, prawa to druga komórka z całym doświadczeniem. Po spłaszczeniu cały pasek boczny ląduje przed pierwszym pracodawcą. Sam wybór układu to osobne pytanie — rozstrzyga je porównanie, czy lepsze jest CV dwukolumnowe, czy jednokolumnowe.
Drugi próg to złożoność siatki. Microsoft w wytycznych dostępności Worda pisze wprost, że czytniki zawartości ekranu śledzą swoje położenie w tabeli, licząc komórki, a przy tabeli zagnieżdżonej albo komórce scalonej lub podzielonej tracą rachubę i od tego miejsca nie podają już sensownych informacji o tabeli. Wbudowane w Office Sprawdzanie ułatwień dostępu ma dokładnie taką regułę: tabela ma mieć prostą strukturę — prostokąt, bez komórek scalonych, dzielonych i bez zagnieżdżania.
Czy CV z tabelką zostanie automatycznie odrzucone przez system?
Nie — warstwa ekstrakcji tekstu niczego nie odrzuca, ona tylko źle wypełnia pola profilu kandydata. Decyzję o odsiewie podejmuje filtr ustawiony przez rekrutera albo człowiek przeglądający listę, a nie parser; całą ścieżkę od wgranego pliku do rekordu w bazie pokazuje przewodnik po tym, czym jest system ATS.
Twarde progi bywają za to zupełnie prozaiczne: Greenhouse Recruiting nie parsuje CV większych niż 2,5 MB — plik wgrywa się do systemu, ale pola profilu kandydata zostają puste. W materiałach pomocy Greenhouse wymienia formatowe przyczyny nieudanego odczytu: spacje wstawione między pojedyncze litery, grafiki i obrazy, układy kolumnowe, brak wyraźnego podziału na sekcje, skrócone nazwy stanowisk, niestandardowy typ pliku i znaki nierozpoznawane przez technologię odczytu tekstu.
Polskie systemy działają na tej samej zasadzie. tomHRM czyta pliki .doc, .docx, .rtf i .pdf, wyciąga z nich imię i nazwisko, adres, miasto, e-mail, telefon oraz adresy profili LinkedIn i Facebook, a rozpoznawanie pól opiera na słowach kluczowych konfigurowanych przez pracodawcę (Ustawienia → Rekrutacja → Odczytywanie CV). Dokumentacja zaznacza, że stopień uzupełnienia formularza zależy od tego, jak kandydat przygotował CV — dlatego te same dane muszą się zgadzać w formularzu aplikacyjnym i w CV, skoro część pól i tak poprawisz ręcznie.
Czy pole tekstowe (ramka) w CV jest czytane przez ATS?
Zwykle tak — i to jest właśnie problem, bo pole tekstowe potrafi zostać odczytane dwa razy. W formacie DOCX ramka jest zapisana w pliku podwójnie: raz w gałęzi mc:Choice jako obiekt DrawingML (wps:txbx), a raz w gałęzi mc:Fallback jako starszy obiekt VML (v:textbox), obie wewnątrz bloku mc:AlternateContent. Ekstraktor idący naiwnie po wszystkich węzłach tekstowych zbierze obie kopie i wpisze do rekordu kandydata numer telefonu dwa razy.
Treść ramek bywa czytana i widać to w ustawieniach popularnych bibliotek: Apache Tika ma w klasie OfficeParserConfig przełącznik setIncludeShapeBasedContent domyślnie włączony, więc wyciąga tekst z kształtów i pól tekstowych Worda. Ryzyko nie polega więc na gwarantowanym zniknięciu treści, tylko na duplikacie i na złej pozycji w kolejności czytania — ramka jest zakotwiczona do akapitu, a jej miejsce w pliku nie ma nic wspólnego z miejscem, w którym widzisz ją na wydruku.
Czy dane kontaktowe wpisane w nagłówek albo stopkę Worda w ogóle trafiają do systemu?
Mogą nie trafić, bo nagłówek i stopka w pliku DOCX leżą w osobnych częściach pakietu — word/header1.xml i word/footer1.xml — podpiętych do treści referencjami wewnątrz definicji sekcji. W samym word/document.xml tej treści fizycznie nie ma, więc ekstraktor czytający wyłącznie główny dokument nigdy jej nie zobaczy.
Bywa też odwrotnie: Apache Tika ma setIncludeHeadersAndFooters domyślnie włączone, więc wyciągnie tę treść — tyle że doklei ją w kolejności wynikającej z budowy pakietu, a nie z wyglądu strony. Microsoft stwierdza wprost, że czytniki zawartości ekranu nie skanują nagłówków ani stopek, i zaleca umieszczanie tytułów, numerów i wszystkich innych ważnych informacji w głównej treści dokumentu. To najprostsza reguła w całym temacie: imię, nazwisko, telefon, e-mail, adres profilu i klauzula zgody należą do treści CV, nigdy do nagłówka ani stopki pliku.
„Anna Kowalska | Specjalistka ds. kadr i płac | Telefon: +48 600 100 200 | E-mail: anna.kowalska@example.com | LinkedIn: linkedin.com/in/annakowalska | Poznań”
Czy tabela w PDF jest takim samym problemem jak tabela w Wordzie?
Nie, w PDF scenariusz awarii jest zupełnie inny: plik PDF w ogóle nie przechowuje kolejności czytania. Zgodnie z normą ISO 32000-1 (PDF 1.7) tabela istnieje w tym formacie wyłącznie wtedy, gdy dokument jest otagowany — typy struktury Table, TR, TH i TD opisuje rozdział 14.8 normy. Bez tagów w PDF nie ma pojęcia tabeli: są tylko fragmenty tekstu ze współrzędnymi na stronie.
Program pdftotext z pakietu Poppler domyślnie cofa fizyczny układ strony i wypisuje tekst w odtworzonej kolejności czytania, przełącznik -layout zachowuje układ fizyczny, a -raw kolejność ze strumienia zawartości pliku (dokumentacja odradza ten ostatni tryb). Ten sam PDF daje więc różny tekst w zależności od trybu, którego użył dany system — a tego trybu nie wybierasz. Sam wybór między formatami rozstrzyga porównanie CV w PDF czy w Wordzie.
Nagłówki i stopki w PDF mają własną regułę. Norma PDF/UA (ISO 14289-1) wymaga oznaczania żywej paginacji — nagłówków, stopek i numerów stron — jako artefaktów, a Word i Acrobat PDFMaker domyślnie tak właśnie znakują numery stron. Treść oznaczona jako artefakt jest przy odczycie strukturalnym pomijana z założenia. Dlatego przy eksporcie z Worda zostaw zaznaczoną opcję „Tagi struktury dokumentu dla ułatwień dostępu” — to ona decyduje, czy w pliku w ogóle powstanie drzewo tagów.
Jak sprawdzić, czy moje CV zawiera tabelę albo pole tekstowe, jeśli pobrałem gotowy szablon?
Masz trzy testy i każdy zajmuje mniej niż minutę — zrób je nawet wtedy, gdy plik pobrałeś z paczki opisanej jako szablon CV pod ATS. Pierwszy: kliknij w tekst w Wordzie — jeśli w lewym górnym rogu bloku pojawi się uchwyt przenoszenia i wstążka pokaże karty do obsługi tabeli, to jest tabela; jeśli wokół tekstu pojawi się ramka z uchwytami i karta formatowania kształtu — to pole tekstowe.
Drugi test: zrób kopię pliku, zmień jej rozszerzenie z .docx na .zip i otwórz jak archiwum. Obecność plików word/header1.xml i word/footer1.xml oznacza, że coś siedzi w nagłówku albo stopce, a w word/document.xml wyszukaj ciągów w:tbl (tabela) i mc:AlternateContent (pole tekstowe lub kształt). Trzeci test to Recenzja → Sprawdź ułatwienia dostępu: reguła o prostej strukturze tabeli wyłapie komórki scalone, podzielone i zagnieżdżone.
Dla gotowego PDF zaznacz całą stronę, skopiuj i wklej do notatnika — to, co zobaczysz, jest bliskie temu, co dostanie parser, bo parsowanie CV zaczyna się dokładnie od takiego wyciągnięcia tekstu. Pozostałe kontrole przed wysłaniem aplikacji znajdziesz w instrukcji, jak sprawdzić CV pod ATS.
Czym zastąpić tabelę z datami po lewej i opisem po prawej?
Zastąp ją jedną linią akapitu w stałej kolejności — stanowisko, firma, miasto, daty — a szczegóły przenieś do punktorów pod spodem. Wyrównanie dat do prawej krawędzi zrób tabulatorem, nie kolumną tabeli: tabulator to zwykły znak w tym samym akapicie, więc nie tworzy w pliku żadnej nowej struktury.
| Element układu | Co się z nim dzieje przy odczycie | Czym go zastąpić |
|---|---|---|
| Tabela obejmująca całe CV | Spłaszczenie komórka po komórce; pasek boczny ląduje przed doświadczeniem | Jedna kolumna zwykłych akapitów |
| Tabela „daty obok opisu” | Daty i stanowisko rozdzielone na osobne fragmenty | Linia „Stanowisko — Firma, Miasto, MM.RRRR – MM.RRRR” |
| Komórki scalone i tabela w tabeli | Utrata rachuby komórek, dalej brak sensownej struktury | Prosty prostokąt albo brak tabeli |
| Pole tekstowe i ramka | Zapis w pliku dwa razy, ryzyko duplikatu i złej kolejności | Zwykły akapit w treści dokumentu |
| Nagłówek i stopka Worda | Osobne części pakietu poza główną treścią | Pierwsze i ostatnie linie treści CV |
| Ikona telefonu lub koperty zamiast etykiety | Grafika bez warstwy tekstowej | Słowa „Telefon:” i „E-mail:” |
Po tej zamianie zostaje jeszcze warstwa treści, bo sam poprawny odczyt niczego nie punktuje — dopiero słowa kluczowe w CV wyciągnięte z ogłoszenia decydują o dopasowaniu. Jeśli nie chcesz przebudowywać dokumentu ręcznie, zacznij od układu, który już spełnia te warunki: gotowe wzory bez tabel, ramek i stopek znajdziesz w kreatorze ŁatweCV.
Checklista
Częste pytania
Czy klauzula RODO wpisana w stopkę CV zostanie odczytana przez system rekrutacyjny?
Może zostać pominięta i nie warto tego ryzykować. Stopka pliku DOCX jest zapisana w osobnej części dokumentu (word/footer1.xml), a nie w głównym strumieniu treści, więc ekstraktor czytający wyłącznie treść dokumentu jej nie zobaczy. Klauzulę zgody wpisuj jako ostatni akapit w treści CV, nad krawędzią stopki.
Czy numer strony w stopce (Strona 1 z 2) szkodzi przy parsowaniu?
Sam numer strony nie szkodzi. Norma PDF/UA wymaga oznaczania żywej paginacji jako artefaktu, a Word przy zapisie do PDF domyślnie tak właśnie oznacza numery stron, więc przy odczycie strukturalnym są celowo pomijane. Problem zaczyna się wtedy, gdy obok numeru strony w stopce siedzą dane kontaktowe albo podpis z imieniem i nazwiskiem.
Czy tabela z ukrytym obramowaniem, bez widocznych kresek, też psuje parsowanie?
Tak, ukrycie krawędzi niczego nie zmienia. Obramowanie to wyłącznie właściwość wyglądu — element tabeli w pliku DOCX zostaje ten sam, a w PDF ta sama zostaje siatka współrzędnych tekstu na stronie. Parser widzi dokładnie tę samą strukturę co przy tabeli z widoczną kratką.
Czy w CV można w ogóle użyć tabeli, jeśli jest prosta?
Można. Nie ma normy ani wymogu pracodawcy zakazującego tabel w CV, a prosta tabela — prostokątna, bez komórek scalonych, dzielonych i bez zagnieżdżania — bywa odczytana bez straty. Ryzyko rośnie dopiero przy układach, w których cała treść CV siedzi w jednej dużej tabeli.