Przejdź do treści
HNarzędzia
pl
Kategorie

PDF

Dlaczego nie można zaznaczyć tekstu w PDF

Klikasz w PDF i zaznacza się cała strona, kopiowanie daje krzaczki, a Ctrl+F niczego nie znajduje. Każdy z tych objawów ma inną przyczynę i inne rozwiązanie.

PDF może wyglądać jak zwykły dokument, a mimo to nie zawierać ani jednej litery, którą program rozpozna jako tekst. Strona może być zdjęciem kartki, tekst może być zapisany jako zbiór kształtów, a czasem jest na miejscu, ale autor zablokował kopiowanie lub czcionka nie ma poprawnego opisu znaków.

Trzy główne przyczyny

Skan, czyli obraz strony

Drukarka wielofunkcyjna, skaner i aplikacja do skanowania w telefonie zapisują stronę jako zdjęcie. Litery są w nim pikselami, tak samo jak plama na kartce. Bez rozpoznawania znaków (OCR) żaden program nie odczyta z takiego pliku tekstu.

Dokument tekstowy z utrudnieniem

Tekst jest w pliku, ale coś przeszkadza w jego użyciu:

  • Ograniczenia ustawione przez autora. PDF może mieć zablokowane kopiowanie zawartości. W Adobe Acrobat Reader sprawdzisz to we właściwościach dokumentu, na karcie Zabezpieczenia. Jeśli potrzebujesz tekstu, poproś nadawcę o wersję bez ograniczeń.
  • Tekst zamieniony na krzywe. Programy graficzne i niektóre drukarnie zamieniają litery na kształty wektorowe. Strona wygląda ostro przy każdym powiększeniu, ale z punktu widzenia programu nie ma na niej tekstu.
  • Zepsute kodowanie czcionki. Litery wyświetlają się poprawnie, ale plik nie zawiera informacji, jakim znakom odpowiadają. Skopiowany fragment zamienia się wtedy w ciąg przypadkowych symboli albo traci polskie litery.

Strona zamieniona w obraz po drodze

Plik mógł mieć tekst, który zniknął przy dalszej obróbce:

  • kompresja, która rysuje strony jako obrazy, np. Kompresja PDF w HNarzędziach,
  • drukowanie do PDF jako obrazu, które oferują niektóre programy,
  • zamiana stron na zdjęcia i złożenie ich z powrotem, np. PDF na JPG, a potem JPG na PDF,
  • wydrukowanie dokumentu i zeskanowanie go ponownie.

Jeśli masz plik sprzed tej obróbki, użyj go. Taki oryginał ma prawdziwy tekst i nie wymaga OCR.

Jak to sprawdzić

Test Wynik Co to oznacza
Przeciągnij kursorem po zdaniu Zaznacza się cała strona albo nic Obraz: skan lub strona po rasteryzacji
Przeciągnij kursorem po zdaniu Zaznaczają się pojedyncze słowa Tekst jest w pliku
Ctrl+F (na Macu Cmd+F) i słowo widoczne na stronie Brak wyników Brak warstwy tekstowej albo zepsute kodowanie
Powiększenie do 400% Litery mają poszarpane, rozmyte krawędzie Obraz
Powiększenie do 400% Litery są ostre, ale nie da się ich zaznaczyć Tekst zamieniony na krzywe
Skopiuj zdanie i wklej do notatnika Krzaczki lub brak polskich liter Zepsute kodowanie czcionki
PDF na tekst Pusty wynik lub komunikat, że to skan Brak warstwy tekstowej

Narzędzie PDF na tekst odczytuje tekst zapisany w pliku, a gdy na stronach prawie go nie ma (średnio mniej niż ok. 15 znaków na stronę), uznaje plik za skan i pokazuje komunikat.

Sprawdziliśmy to na plikach testowych, które przygotowaliśmy sami. Dwustronicowy dokument A4 wygenerowany z tekstem ma po 1422 znaki (bez spacji) na stronę i PDF na tekst odczytuje go w całości, razem z polskimi literami. Pięciostronicowy „skan”, w którym każda strona jest obrazem JPEG 2480 × 3508 px z tym samym rodzajem tekstu, nie ma ani jednego znaku, a narzędzie pokazuje komunikat „Brak warstwy tekstowej”. Ten sam komunikat dostaliśmy dla dokumentu tekstowego zamienionego na obrazy w PDF na JPG (150 DPI) i złożonego z powrotem w JPG na PDF, choć strony wyglądają prawie tak samo.

Kiedy użyć OCR

OCR ma sens, gdy plik nie ma tekstu (skan, strona po rasteryzacji) albo gdy tekst jest, ale kopiuje się jako krzaczki. W tym drugim przypadku OCR PDF ostrzeże, że plik ma już warstwę tekstową, ale pozwoli uruchomić rozpoznawanie. Rozpoznany tekst skopiuj lub pobierz jako .txt. Przeszukiwalny PDF dodaje nową warstwę tekstu obok istniejącej, więc przy kopiowaniu z takiego pliku krzaczki mogą nadal się pojawiać.

Gdy tekst jest poprawnie zapisany w pliku, OCR nie jest potrzebny. PDF na tekst odczyta go szybciej i bez błędów rozpoznawania.

Jak działa OCR PDF w HNarzędziach:

  • Każda wybrana strona jest renderowana w 300 DPI i rozpoznawana silnikiem Tesseract.
  • Do wyboru są cztery języki: polski, angielski, niemiecki i ukraiński. Domyślnie zaznaczone są polski i angielski. Zaznacz tylko języki, które są w dokumencie, bo każdy dodatkowy spowalnia rozpoznawanie. Bez języka polskiego litery takie jak ł czy ę zostaną odczytane jako t i e.
  • Przy pierwszym użyciu przeglądarka pobiera z CDN jsDelivr silnik OCR i dane wybranych języków. Sam dokument nie jest nigdzie wysyłany.
  • Wynik możesz pobrać jako .txt albo jako przeszukiwalny PDF: oryginalne strony z niewidoczną warstwą tekstu. Ta druga opcja nie działa dla plików chronionych hasłem.

Pojedyncze zdjęcie kartki lub zrzut ekranu rozpoznasz w narzędziu Tekst ze zdjęcia, które używa tego samego silnika i tych samych języków.

OCR PDF: pierwsza strona skanu rozpoznana ze średnią pewnością 95%

Jak sprawdzić wynik OCR

OCR zgaduje, jakie litery widzi na obrazie, i czasem się myli. Średnia pewność pokazywana przez narzędzie pomaga ocenić skalę problemu (poniżej 60% narzędzie ostrzega, że tekst wymaga dokładnej korekty), ale nawet wysoka pewność nie gwarantuje, że wszystkie liczby są poprawne. Przed użyciem tekstu w piśmie, arkuszu albo formularzu sprawdź:

  • Liczby: kwoty, daty, numery kont, PESEL, NIP, numery faktur. Porównaj je z obrazem strony cyfra po cyfrze. Zamiana 0 z O, 1 z l albo 5 z S zmienia sens dokumentu.
  • Nazwiska i nazwy własne. Silnik nie zna ich ze słownika, więc myli się w nich częściej.
  • Polskie znaki. Jeśli w wyniku brakuje ą, ę, ł albo pojawiają się w złych miejscach, sprawdź, czy zaznaczony był język polski.
  • Wyszukiwanie. W przeszukiwalnym PDF wyszukaj kilka słów z różnych miejsc strony. Jeśli któregoś nie znajdziesz, w tym miejscu OCR się pomylił.

W naszym teście OCR PDF rozpoznał pierwszą stronę pięciostronicowego skanu z językami polskim i angielskim ze średnią pewnością 95%. Wszystkie 40 wierszy zgadzało się z oryginałem co do znaku, łącznie z kwotami „2450,00 zł” i adresem „Źródlanej 14/7”, a w pobranym przeszukiwalnym PDF dało się wyszukać słowo „Kaucja”. Ta sama strona rozpoznana tylko po angielsku dostała 87% pewności, choć „ł” zamieniło się w „t” („2450,00 zt”, „ptatny”), „ą” w „g” („miesigca”), a „Łodzi” w „todzi”.

Co ogranicza OCR

  • Jakość skanu. Najlepiej rozpoznawane są skany proste, kontrastowe, w około 300 DPI. Krzywa kartka, cień, wyblakły druk lub zdjęcie zrobione pod kątem pogarszają wynik. Przy szarych, bladych skanach pomaga opcja „Popraw obraz przed rozpoznaniem” (skala szarości i większy kontrast).
  • Rozdzielczość źródła. OCR PDF renderuje strony w 300 DPI, ale nie doda szczegółów, których nie było w oryginale. Skan zapisany w niskiej rozdzielczości albo mocno skompresowany pozostanie trudny do odczytania. Jeśli masz wpływ na skanowanie, ustaw 300 DPI. Zdjęcie kartki telefonem możesz najpierw wyprostować w skanerze dokumentów.
  • Języki. Rozpoznawane są tylko zaznaczone języki. Tekst w innym alfabecie lub języku spoza listy zostanie odczytany źle.
  • Pismo odręczne, tabele i kolumny. Odręczne notatki rozpoznają się słabo. W tabelach i układach wielokolumnowych kolejność tekstu w wyniku może różnić się od tej na stronie.

Jeśli plik bez tekstu jest efektem kompresji przed wysyłką, wróć do poradnika Jak przygotować PDF do wysłania mailem. Opisujemy tam, kiedy kompresja z rasteryzacją ma sens, a kiedy lepiej wysłać oryginał.