przeszukuj pliki PDF z niestandardowymi kodowaniami znaków

19

Niektóre pliki PDF wytwarzają śmieci („ mojibake ”) podczas kopiowania tekstu (nawet jeśli są w porządku). Uniemożliwia to ich przeszukiwanie (cokolwiek, czego szukasz, nie pasuje do śmieci).

Czy ktoś ma łatwe obejście?

Przykłady:

  1. TEAC TV manual EU2816STF (daje powyższe problemy w programie Adobe Reader zarówno w systemie Windows, jak i na komputerze Mac, ale działa dobrze w wersji zapoznawczej na komputerze Mac)
  2. Leadtek Winfast PVR2 manual (link FTP; ma również problemy z podglądem na komputerze Mac)
  3. Instrukcja obsługi karty tunera TV Swann (łącze FTP; ma również problemy z podglądem na komputerze Mac)
  4. Umowa licencyjna Phonalisc (z nieistniejącego DTMS )
  5. Kwartalny przegląd funduszy Macquarie IFP
  6. BAN-TACS Small Business Booklet (wersja zarchiwizowana)
  7. Ulotka Easterfest 2004 (również z archiwum)

Korzystam z programu Adobe Reader (najnowsza wersja) dla systemu Windows - być może alternatywna przeglądarka może pomóc? Szukam darmowego rozwiązania dla systemu Windows. Otwarte źródło byłoby jeszcze lepsze.

Edycja: Dokumenty dla narzędzia Tekst wielowartościowy wyodrębniają dobre podsumowanie przyczyn niepowodzenia, w tym: (cytowany dokument ostatnio zmodyfikowano w styczniu 2006 r.)

  • Tekst może nie mieć odwzorowania Unicode. Czcionki PDF typu 3 często nie mają, a TeX DVI ma znaki, które nie mają odpowiedników Unicode.
  • Kodowanie Unicode może być wadliwe. Open Office mapuje niektóre znaki na ten sam kod Unicode, co powoduje, że list aparanta spada i podwaja się.

Wydaje mi się, że najlepszym rozwiązaniem w tych przypadkach byłoby OCR każdego glifu czcionką, aby dowiedzieć się, jaki to naprawdę znak. Zauważ, że byłoby to łatwiejsze niż OCR do skanowania hałaśliwego zeskanowanego dokumentu, ponieważ dostępny jest dokładny kształt glifu (w nieskończonej rozdzielczości, ponieważ jest to obraz „wektorowy”).

Hugh Allen
źródło
Za pomocą clipbrd.exe(patrz mydigitallife.info/2008/11/06/… ) możesz zobaczyć, co jest w schowku. Co ci to daje?
Arjan
@Arjan van Bentem: daje mi dokładnie te same śmieci, które dostaję po wklejeniu do Notatnika.
Hugh Allen,
Jakieś szczegóły dotyczące formatu? Jestem na komputerze Mac, ale zakładam, że Windows powie ci, jeśli coś jest obrazem lub tekstem, a następnie w przypadku tekstu może również ujawnić coś o kodowaniu?
Arjan
Na przykład w podręczniku TV: ten sam problem w programie Adobe Reader 8.1.2 na komputerze Mac, ale nie ma problemów z użyciem podglądu komputera Mac do kopiowania lub wyszukiwania tekstu. Jego właściwości dokumentu pokazują „Kodowanie: niestandardowe” dla czcionek (patrz img.skitch.com/20100318-827uckkb5i326eta291f3qig3u.png ). Inne dokumenty PDF pokazują takie rzeczy jak „Kodowanie: Ansi” lub „Roman” i nie mają problemów z Adobe Reader na Macu (jak adobe.com/education/pdf/type_primer.pdf daje img.skitch.com/20100318-tbyjrny9bsg684eqhr7b3au7fb.png ).
Arjan
1
Ponadto pdftextonline.com nie może pobrać tekstu z instrukcji telewizyjnej ani dokumentu Phonedisc (nie wypróbował innych). Ale wysyłania do Gmaila, a następnie oglądanie jak HTML czy pracę dla telewizji ręcznym (podobnie jak podgląd ma żadnych problemów z tym dokumentem) ...
Arjan

Odpowiedzi:

3

Być może Foxit Reader ?

Po prostu sprawdziłem plik PDF, który łączysz z Safari 4.0.4 w systemie Mac OS X 10.6.2 i chociaż jest trochę Engrish , PDF renderuje bezbłędnie bez żadnych „śmieci” na ekranie. Być może masz problemy z Unicode (częściej w systemie Windows niż Mac OS)?

Alex
źródło
Śmieci nie ma na ekranie - jest w schowku, kiedy kopiuję jakiś tekst. Co się stanie, gdy spróbujesz?
Hugh Allen,
@Hugh: Funkcje 􏰃 Jest to zdalnie sterowany kolorowy telewizor. 􏰃 Można zaprogramować 100 programów z pasm VHF, UHF lub kanałów kablowych. 􏰃 Może dostroić kanały kablowe. 􏰃 Sterowanie telewizorem jest bardzo łatwe dzięki systemowi opartemu na menu. 􏰃 Posiada trzy gniazda Euroconnector do urządzeń zewnętrznych (takich jak komputer, wideo, gry wideo, zestaw audio itp.)
Alex
@Hugh: Kule nie kopiują się poprawnie, ale reszta jest. Z którą sekcją / stroną / akapitem masz problem, a ja spróbuję?
Alex
Wszystko. Używam Adobe Reader dla Windows. Właśnie zaktualizowałem do najnowszej wersji, która nie pomogła. +1 dzięki za informację. Myślę, że Adobe Reader ma błąd, który nie jest współdzielony przez odpowiednik OSX.
Hugh Allen,
4
Próbowałem Foxit Reader i ma ten sam problem. Jego instalator jest również bardzo nachalny, ponieważ chce zainstalować pasek narzędzi, zmodyfikować stronę główną itp. :(
Hugh Allen
3

Najprostszym sposobem na obejście tego jest otwarcie pliku w najnowszej wersji Google Chrome z wbudowaną wtyczką do czytania plików PDF . Następnie możesz użyć funkcji wyszukiwania Chrome, aby znaleźć tekst, a kopiowanie i wklejanie działa poprawnie.

acatalept
źródło
2

Na przykład w podręczniku TV : ten sam problem w programie Adobe Reader 8.1.2 na komputerze Mac, ale nie ma problemów z użyciem podglądu komputera Mac do kopiowania lub wyszukiwania tekstu. Również wysłanie go na konto Gmail, a następnie wybranie „Wyświetl”, a następnie „Zwykły HTML” ujawnia tekst. Ale Adobe Reader nie lubi tego.

Jego właściwości dokumentu pokazują „Kodowanie: niestandardowe” dla czcionek. Inny dokument pokazuje takie rzeczy jak „Kodowanie: Ansi” lub „Roman” i nie ma problemów ani z podglądem, ani z programem Adobe Reader na komputerze Mac:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Jednak zarówno przykłady Leadtek , jak i Swann dają problemy w Podglądzie również na komputerze Mac oraz w Gmailu i oba pokazują „Kodowanie: Identity-H”. Test Phonalisc również się nie powiedzie, z „Encoding: Custom”.

Mylące i niespójne, ale na pewnym forum Adobe znalazłem następujące wyjaśnienie dla kolejnego przykładu, który pokazuje „Kodowanie: niestandardowe” (moje wyróżnienie):

Po przejrzeniu pliku PDF okazuje się, że nie ma żadnych użytecznych informacji o kodowaniu (ani w pliku PDF, ani w osadzonych danych czcionek), aby uzyskać znaczenie znaków / glifów wyświetlanych na stronach w dokumencie.

W rzeczywistości wszystkie czcionki są osadzone, ale w taki sposób, że wszystkie informacje o kodowaniu zostały usunięte. Jest to typowy przykład pliku PDF, który jest syntaktycznie w pełni zgodny ze specyfikacją PDF, ale ważne informacje o znaczeniu zawartego w nim tekstu zostały wyrzucone podczas tworzenia pliku PDF. O ile wiem, bardzo trudno byłoby odzyskać informacje o kodowaniu.

To nie wyjaśnia, dlaczego podgląd Maca (i najwyraźniej także Infix) może obsługiwać niektóre przykłady, gdy Adobe Reader zawiedzie, nawet z „Kodowaniem: niestandardowym”. Może Preview nie ma problemów, gdy na komputerze znajduje się dokładna czcionka? A może po prostu zgaduje kodowanie, które dzieje się w przypadku niektórych, ale nie wszystkich dokumentów?

Cokolwiek to powoduje: jeśli przechodzenie przez Dokumenty Google lub Gmail nie działa, być może najłatwiejszym (ale dalekim od łatwego) obejściem jest rzeczywiście zapisanie jako TIFF, a następnie wykonanie OCR . Usługi takie jak Evernote mogą robić to w locie (robi OCR na obrazach; wątpię, że zrobi to OCR na PDF).

Arjan
źródło
-1

Pobieranie pliku 1 nie powiodło się dla mnie, plik 2 mogłem otworzyć za pomocą xpdf, szybkiej i otwartej przeglądarki plików pdf. Myślę, że nie obsługuje formularzy, ale dla czystego tekstu i grafiki wolę go ze względu na krótki czas uruchamiania.

nieznany użytkownik
źródło
1
Pytanie nie dotyczyło „otwierania” plików PDF ani „otwierania z szybkim czasem uruchamiania”. Zamiast tego chodziło o niemożność kopiowania i wklejania fragmentów tekstu z renderowanych stron. Twoja odpowiedź prawdopodobnie jest dobra, ale nie pasuje do tego pytania.
Kurt Pfeifle
-2

Niestety nie można na to poradzić. Dokumenty PDF w rzeczywistości nie zawierają żadnych liter, ale zawierają kształty liter. Innymi słowy, zamiast czytać literę i rysować ją na ekranie Adobe Reader, tak jak każda inna aplikacja do odczytu PDF po prostu narysuje grafikę wektorową zakodowaną w pliku.

Jednak niektóre czytniki PDF są dostarczane z oprogramowaniem, które pozwala analizować kształt i odzyskiwać tekst za pomocą rozpoznawania tekstu. Działa tak samo, jakbyś zeskanował papier z wydrukowanym tekstem i użył oprogramowania, takiego jak ABBYY FineReader, aby przekonwertować go z powrotem na tekst, ale ze względu na nieskończenie wysoką jakość rysunków wektorowych wyniki są zwykle znacznie lepsze niż w przypadku skanowanych dokumentów.

Niektóre dokumenty można zabezpieczyć przed konwersją na tekst przez oszukanie programu Adobe Reader. Na przykład litery można narysować w kilku nakładających się kształtach w taki sposób, aby wizualnie nadal wyglądały tak samo, a oprogramowanie do rozpoznawania tekstu nie rozpoznaje tekstu. Twój dokument jest przykładem takiej ochrony.

Jednym ze sposobów byłoby wydrukowanie dokumentu na obrazie i umożliwienie rozpoznania go przez oprogramowanie do rozpoznawania tekstu. Wyższa rozdzielczość obrazu poprawi jakość. Ta metoda jednak nie jest naprawdę przydatna.

Sergiy Belozorov
źródło
2
Dokumenty PDF w rzeczywistości nie zawierają żadnych liter - nie dotyczy to większości nie skanowanych dokumentów; patrz en.wikipedia.org/wiki/Portable_Document_Format#Text
Arjan
Dziękuję Ci. Interesująca informacja. Zawsze jednak uważałem, że nie ma informacji o tekście w formacie PDF. Niemniej jednak wydaje się, że dokument dostarczony przez Aleksandra nie ma osadzonego tekstu. Możliwe też, że zastosowana tam czcionka ma dziwne kodowanie znaków, tzn. Nie odpowiadają typowemu kodowaniu ASCII.
Sergiy Belozorov
2
Jak mogłem skopiować tekst z pliku PDF, gdyby były to tylko kształty? Częściowo masz rację - nie jest rasteryzowany w pliku PDF (chyba że pochodzi ze zeskanowanego źródła), ale zawiera dane tekstowe. Jednak czcionki są (zwykle) również osadzone, co pozwala na renderowanie zawartego tekstu w wektorze.
Alex