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?

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.

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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.