Przeszukiwanie plików pdf i txt

Ostatnio dostałem maila od Pana któremu czasem pomagam:

„Witam
Aplikacja napisana sprawdziła się w 97% 🙂 (potrzeba jeszcze troszkę potestować).
Boryka się jeszcze z jednym problemem, a mianowicie w aplikacji wykorzystuję przeglądanie plików w formacie pdf (tekst), czy istnieje możliwość przeszukania kilkunastu plików w tym formacie pod kontem wystąpienia jakiejś frazy tekstowej?
Przeryłem internet i nie znalazłem nic co by mi w tym pomogło.
Z góry dziękuję z podpowiedz.”

Nie będzie to aż tak łatwe ale jakoś pokażę jak to zrobić. Zaczniemy od prostej części czyli znajdziemy wszystkie pliki PDF w wybranym folderze. Aby tego dokonać przeciągamy z toolboxa element o nazwie „FolderBrowserDialog”

wyszukiwanieslow_1Następnie dodajemy przycisk który będzie aktywował nasz dialog i zmienną która będzie przechowywać ścieżkę do naszego folderu.

wyszukiwanieslow_2Dodamy obok przycisku „label” który będzie wyświetlać adres wybranego folderu, dodajemy również funkcjonalność naszego przycisku. Wszystko wygląda tak jak na obrazku wraz z odpaleniem i wybraniem folderu:

wyszukiwanieslow_3Teraz dodamy sobie „ListBox” aby można było wyświetlić wszystkie pliki „pdf” i „txt”. Aby to zrobić stworzymy sobie listę list. Poco na listalist zapytacie. Otóż ułatwi nam to zadanie. Jak zobaczycie nasz listalist będzie składała się z listy w której będziemy przechowywać wszystkie ścieżki do plików „txt” i z listy ścieżek do plików „pdf” co ułatwi nam w późniejszym etapie ich przeszukiwanie gdyż pliki „txt” będziemy mogli bez problemu przeszukać a pliki „pdf” będziemy musieli najpierw przekonwertować na „txt”

wyszukiwanieslow_4Cały kod do testowania:

Zaczniemy teraz od prostszej  czyli przeszukiwanie plików „txt” aby tego dokonać musimy dodać sobie „Textbox” w którym umieścimy szukaną frazę i jakiś przycisk do zainicjowania metody:

wyszukiwanieslow_5Dobra najpierw zajmiemy się tymi plikami „txt”. Lista plików „txt” znajduje się w „ListaPlikow(1)” aby znaleźć szukaną frazę będziemy  musieli otworzyć każdy z tych plików i je przeszukać.

Efekt można podziwiać na filmie poniżej.

Teraz zajmiemy się plikami PDF. aby tego dokonać należy pobrać paczkę ze strony: http://www.squarepdf.net/how-to-convert-pdf-to-text-in-net-vb

i zastosować się do podanych instrukcji:

 

Dodać Referencje:

  • IKVM.OpenJDK.Core.dll
  • IKVM.OpenJDK.SwingAWT.dll
  • pdfbox-1.8.9.dll

In addition to these libraries, it is necessary to copy the following files to the application directory:

(Konieczne jest również skopiowanie tych plików do folderu programu.)

  • commons-logging.dll
  • fontbox-1.8.9.dll
  • IKVM.OpenJDK.Text.dll
  • IKVM.OpenJDK.Util.dll
  • IKVM.Runtime.dll

Wszystkie te kroki pokazuje film poniżej który ułatwi wam zadanie trzeba tutaj podkreślić, że w dziale publikuj gdzie dołączamy jeśli pliki nie mają statusu include to należy takowy im dodać.

Kiedy już dodamy wszystkie te pliki należy zaimportować potrzebne elementy:

Cały kod wygląda tak:

Jego efektywność możemy podziwiać na filmie poniżej:

Cały projekt do pobrania: WyszukiwanieSlow

 

Mam nadzieję, że tutorial był pomocny. Piszcie do mnie maile ze swoimi problemami a spróbuje pomóc je wam rozwiązać. Pozdrawiam

 

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/przeszukiwanie-plikow-pdf-i-txt/

1 komentarz

  1. hej, pojawia się następujący komunikat: java.io.IOException w funkcji parseUsingPDFBox w linijce = Return stripper.getText(doc)

Dodaj komentarz

Twój adres email nie będzie publikowany.