Tips en Trucs 2017

PDF documenten doorzoeken met Recoll

Zoeken in een PDF document wordt door elke PDF lezer ondersteund. Maar dit is niet het geval als je meerdere PDF documenten wilt doorzoeken. Zowel Evince, Okular als Xpdf kunnen dit niet.

Met behulp van opdrachten zoals pdftotext en pdfgrep kan je in de terminal of met scripts meerdere documenten tegelijk doorzoeken, maar vandaag doen we het met Recoll, een bureaublad applicatie die je bedient met de muis en dus een stuk gebruiksvriendelijker is.

Recoll is een open source applicatie gespecialiseerd in het zoeken van tekst. Om snel te kunnen zoeken, maakt Recoll gebruik van een vooraf aangemaakte database van documenten opgeslagen in bepaalde mappen. De database teksten worden door externe programma's uit documenten gehaald. Door het gebruik van een database kan Recoll geavanceerde zoekacties snel uitvoeren.

Enkele krachtige Recoll functies:

Recoll installeren

Recoll is niet beschikbaar in de standaard softwarebronnen van openSUSE zodat we een softwarebron moeten toevoegen. In openSUSE installeer je Recoll als volgt:

Start Menu Toepassingen > Hulpmiddelen > Recoll.

Een database met documenten aanmaken

Bij de eerste start van Recoll, zie je onderstaand dialoogvenster. De schermafdruk is gemaakt vanaf een HiDPI scherm, waardoor de titels niet correct gepositioneerd worden.
Recoll index setup

Het eerste onderdeel Indexing configuration bepaalt hoe de database wordt opgebouwd. Het tweede onderdeel Indexing schedule bepaalt hoe vaak de database wordt bijgewerkt. We beginnen met een klik op het onderdeel Indexing configuration.

In het configuratie venster op het tabblad Global parameters staan Top directories (mappen die documenten bevatten die doorzocht worden) en Skipped paths (mappen die niet doorzocht worden). In het voorbeeld heb ik met de + knop de map /home/dany/Documenten/Linux Magazine/ aan de Top directories toegevoegd en de standaard Persoonlijke map (~) met de - knop verwijderd.
Recoll Top directories

Op het tabblad Local parameters stel je andere criteria in, zoals de te negeren bestanden (Skipped names), maximum bestandsgrootte (Max. text file size(MB)), enz. Als je klaar bent, keer je terug met de OK knop.
Recoll Local parameters

Klik op de knop Start indexing now om de database aan te maken. Om de tekst uit documenten te extraheren, gebruikt Recoll externe programma's (zoals pdftotext - een onderdeel van het pakket poppler-tools voor PDF documenten), waarmee dan een database wordt opgebouwd. Na het voltooien van het indexeren, krijg je een melding No helpers found missing, waardoor je weet dat alles goed is verlopen. Sluit de melding.

Om de zien welke soort documenten in de database opgenomen werden, start je in het menu Help de opdracht Indexed MIME types.
Recoll Indexed MIME Types
Sluit dit info venster.

Verschillende PDF documenten doorzoeken

Je bent nu klaar om documenten te doorzoeken. Voer in het zoekvak een zoekwoord of zinsdeel (tussen aanhalingstekens) in. Je krijgt een lijst met PDF documenten, gesorteerd op hun zoekscore. De zoekresultaten tonen een stukje tekst en het paginanummer.
Recoll Search
Je kunt de gevonden informatie raadplegen via een ingebouwde tekstviewer (Voorbeeld of deze openen in een externe viewer (open). Bij het openen wordt een door Recoll standaard ingestelde viewer gebruikt, voor PDF documenten is dit Evidence, maar KDE gebruikt standaard Okular. Vandaar het dialoogvenster Native Viewers. Selecteer de regel application/pdf, activeer de optie Exception to Desktop preferences en klik op de knop Apply to current selection. Daar het tekstvak Action leeg was, wordt de instelling van KDE (Desktop Default) overgenomen. Nog beter wordt het als je in het tekstvak Action een passende opdracht plaatst. Zo wordt in de afbeelding hieronder het PDF document op de juiste pagina met Okular geopend.
Recoll Native Viewers

Gebruik in het menu Tools de opdracht Advanced Search om met andere zoekcriteria te werken.
Recoll Advanced search

Na het toevoegen, aanpassen en verwijderen, moet je de database bijwerken. Daarvoor start je in het menu File de opdracht Update index. Om het bijwerken van de database te automatiseren, start je in het menu Preferences de opdracht Indexing schedule. Dit gebeurt dan periodiek (Cron scheduling) of met een achtergrondproces (deamon of Real time indexing start up).
Recoll Index scheduling