Jak wyszukać tekst w pliku PDF

2

Chciałbym wyszukać tekst w pliku PDF. Na przykład, gdzie w moim pliku PDF jest słowo „przejdź do”? Jeśli ją znajdziesz, jaka jest tam strona?

Znajduję ten wiersz poleceń:

find /TEMP -name 'manu.pdf' -exec pdftotext {} - \; | grep "go to"

Wynikiem są niektóre elementy.

Chciałbym uzyskać numer strony mojego wyniku. Jak odzyskać ten przedmiot?

Braiam
źródło

Odpowiedzi:

7

pdfgrep wydaje się to robić. Od strony man :

-n, --page-number
Prefix each match with the number of the page where it was found.
Kai Sternad
źródło
Dziękuję bardzo, przepraszam za ten temat, powinienem zobaczyć tę stronę!
Przepraszamy, ale pdfgrep nie jest zainstalowany na moim serwerze. Instaluję poppler-utils, ale nie mogę zainstalować pdfgrep. Więc nie mam żadnego rezultatu
Dlaczego nie możesz zainstalować pdfgrep?
Kai Sternad
Na Centos 5.7 i Ubuntu 9.10: apt-get (lub yum) zainstaluj pdfgrep: brak dostępnego pakietu pdfgrep. Pobieram 1.3.0.tar.gz, rozpakuj, ./configure: configure: error: Wymagania dotyczące pakietu (poppler-cpp) nie zostały spełnione: Nie znaleziono pakietu „poppler-cpp”. Nic nie mogę zrobić
Pdfgrep jest dostępny od Ubuntu 10.10. Właśnie pomyślnie zainstalowałem go na maszynie Wirtualnej Ubuntu 11
Kai Sternad
1

Jak domyślnie, pdftotext nie wstawia znaków stronicowania (0xC) między stronami. Możesz je policzyć do wyglądu szukanego słowa.

Innym sposobem jest użycie bboxopcji:

 Generate an XHTML file containing bounding box information for each word in the file.

Tutaj każde słowo jest zamknięte w pagepojemniku. Możesz więc wziąć indeks + 1 pagetwojego słowa jako numer strony


źródło
Czy masz przykład, aby go zdobyć?
1

Recoll może wyszukiwać dokumenty PDF. Ma tryb wiersza poleceń, ale GUI będzie bardziej pomocny w określaniu, gdzie występują dopasowania, i pozwoli ci kliknąć dokument w odpowiedniej pozycji.

użytkownik2391635
źródło