Nach dem Einscannen und der maschinellen Texterkennung durchsuchen Sie Ihre Dokumente komfortabel nach beliebigen Begriffen.
Unix-Veteranen nutzen das Kommandozeilenprogramm Grep, um Dateien nach einer bestimmten Zeichenkette zu durchsuchen. Dass Sie einen Stapel Papier hingegen mühsam durchblättern müssen, spiegelt der Ausspruch “You can’t grep dead trees” wider. “Dead trees”, also tote Bäume, steht dabei sinnbildlich für das Papier.
Zum Verwalten einiger Hundert eingescannter Dokumente auf dem heimischen PC sind die verbreiteten Programme zum Dokumentenmanagement meist überdimensioniert: Die im kommerziellen Bereich gefragte Rechteverwaltung ist schwer zu verstehen und bringt Ihnen als Heimanwender kaum Nutzen.
Paperwork [1] ist ein einfaches Desktop-Programm, das Scans per OCR mit einer zusätzlichen Ebene versieht, auf der sich der Text befindet (Abbildung 1). Das ermöglicht das Durchsuchen der Dokumente nach Wörtern. Auf Basis des erkannten Texts legt die Software zusätzlich einen Index mit Schlagworten an und weist dem Dokument sogar automatische Labels zu, also Tags, die die Dokumente klassifizieren. Nach dem Taggen einiger Dokumente per Hand funktioniert das automatische Zuordnen nach demselben Verfahren wie ein selbstlernender Spam-Filter.

Abbildung 1: Paperwork sortiert eingescannte Dokumente (Liste links) nach Labeln, die das Programm automatisch vergibt oder die Sie per Hand zuweisen (farbige Tags). Das wichtigste Werkzeug zum Finden einer Akte ist jedoch die Schlagwortsuche (links oben) im automatisch erkannten Text. Der Mauszeiger springt auf die wortweise hervorgehobenen Treffer.
Zusatzpaket
Ein Paket für OpenSuse gibt es für das praktische Programm nicht, doch dessen Autor veröffentlicht zum Glück ein Flatpak [2]. Dieses Format enthält nicht nur die gewünschte Software, sondern zusätzlich die passende Laufzeitumgebung. So läuft es unabhängig vom konkreten System, fällt aber sehr viel größer aus als ein Paket einer Distribution. Im Fall von Paperwork kommt ein Download von über 1 GByte zusammen (Abbildung 2).

Abbildung 2: Nach Eingabe eines einzigen Befehls und dem Beantworten einiger Fragen läuft die Installation von Paperwork per Flatpak automatisch ab.
Dafür steht das Programm immer in der aktuellsten Version bereit, da der Zwischenschritt über die Distribution entfällt. Um die stabile Version zu installieren, genügt es, den Befehl aus der ersten Zeile von Listing 1 im Terminal auszuführen. Genau wie der normale Paketmanager bindet Flatpak Online-Repositories ein – hier eines, das der Paperwork-Entwickler pflegt. Mit dem Befehl aus der zweiten Zeile bringen Sie die Software gegebenenfalls auf den neuesten Stand.
Listing 1
Installation und Update
$ flatpak --user install https://builder.openpaper.work/paperwork_master.flatpakref $ flatpak --user update work.openpaper.Paperwork
Als Flatpak installierte Programme laufen in einem Container und dürfen normalerweise nicht auf Hardware zugreifen – eine durchaus angebrachte Sicherheitsmaßnahme: Die Stärke der Flatpaks liegt darin, Pakete aus vielen Online-Quellen zu installieren. Das unterläuft aber die Strategie der Distributionen, alle Pakete signiert aus einer vertrauenswürdigen Quelle zu beziehen.
Zum Glück lösen Sie das Problem für den Scanner relativ leicht, denn ohne diesen wäre das Programm weitgehend nutzlos: Sane [3], das Standard-Framework für Scanner-Support unter Linux, ist netzwerkfähig. Es gelingt daher leicht, den Scanner lokal für einen Flatpak-Container freizugeben.
Fügen Sie zuerst der Datei /etc/sane.d/saned.conf die IP-Adresse 127.0.0.1 hinzu. Das geht am schnellsten per Konsolenbefehl (Listing 2, erste Zeile). Initialisieren Sie dann den Sane-Netzwerk-Daemon (zweite Zeile). Nun lässt sich der Scanner auf dem eigenen Computer über die interne Adresse 127.0.0.1 erreichen. Die Flatpak-Version von Paperwork ist bereits so konfiguriert, dass sie die dort geteilten Scanner nutzt.
Listing 2
Sane-Konfiguration erweitern
$ sudo sh -c "echo 127.0.0.1 >> /etc/sane.d/saned.conf" $ sudo systemctl --now enable saned.socket
In OpenSuse Leap 15.3 und Tumbleweed funktionieren viele per USB angeschlossene Scanner ohne weitere Konfiguration, sofern Sane einen Treiber für das entsprechende Gerät mitbringt [4]. Eine Ausnahme bilden Geräte von Hewlett-Packard, für die Sie das Paket hplip-sane installieren. Für Hardware, die nicht spontan kooperiert, zeichnet das YaST-Modul Scanner zuständig (Abbildung 3). Die zuverlässigste Methode, um das System auf funktionierende Scanner zu prüfen, ist der Aufruf von scanimage -L auf der Konsole.

Abbildung 3: Das Heraussuchen des Scanner-Modells im YaST-Modul Scanner ist inzwischen nur noch selten erforderlich: USB-Scanner sind in der Regel gleich nach dem Anstecken betriebsbereit.
Besitzen Sie mehrere Scanner, öffnen Sie in Paperwork über das Menü-Icon oben rechts in der Spalte Dokumente den Punkt Einstellungen und wählen in der Rubrik Scanner durch einen Klick auf die Zeile Gerät die gewünschte Hardware aus. Bei Bedarf stellen Sie hier die Auflösung und den vom Scanner angebotenen Farb-Modus ein.
Abfotografiert
Neue Seiten fügen Sie dem Archiv mit der Schaltfläche oben in der Titelleiste rechts neben dem Hamburger-Menü hinzu. Je nachdem, welchen Modus Sie gewählt haben, trägt er die Bezeichnung Importiere Datei(en), Scanne von Flachbett oder ähnlich, entsprechend den vom Scanner unterstützten Modi. Paperwork fügt die neuen Seiten dabei immer dem in der linken Spalte aktiven Dokument hinzu. Um eine neue Akte anzulegen, aktivieren Sie vor dem Scannen oder Importieren den Eintrag Neues Dokument oben in der Liste. Die Importfunktion unterstützt PDFs sowie die gängigen Bitmap-Formate.
Die Dokumente erscheinen in einer chronologischen, nach Monaten gegliederten Endlosliste links im Programmfenster. Um ein bestimmtes Dokument zu finden, geben Sie ins Textfeld oberhalb der Liste einen Suchbegriff ein – den Text der Scans hat Paperwork ja per OCR verschlagwortet. Eine Autovervollständigung hilft dabei, tatsächlich in den Dokumenten vorkommende Begriffe zu treffen.
Meist genügt die einfache Schlagwortsuche, um im Aktenschrankäquivalent eingescannter Papiere schnell das Gewünschte zu finden. Zusätzlich öffnet der kleine Button rechts vom Suchfeld eine erweiterte Suche, in der Sie beliebig viele Suchbegriffe, Labels und Datumsbereiche per und oder oder verknüpfen beziehungsweise per Negation ausschließen (Abbildung 4).

Abbildung 4: Labels, Suchbegriffe (im Text vorkommende Wörter) und Datumsbereiche stehen in der komplexen Suche als Kriterien für Verknüpfungen sowie als Ausschlusskriterien bereit.
Die erwähnte automatische Label-Zuweisung braucht eine gewisse Anzahl an Zuordnungen von Hand, aus denen die Software einen statistischen Zusammenhang zwischen Wörtern im Dokument und den passenden Labels errechnet. Nachträgliche Korrekturen fließen ebenfalls in diese Statistik ein. Zum Zuweisen von Labels per Hand klicken Sie auf das Reglersymbol rechts oben in der aktiven Zeile der Dokumentenliste (Abbildung 5).

Abbildung 5: Das Zuweisen der Label per Hand gestaltet sich schlicht und übersichtlich. Die Farbe ändern Sie per Klick auf das Farbfeld. Für neue Labels dient das Eingabefeld unterhalb der Liste.
Im Feld Zusätzliche Schlüsselwörter geben Sie weiteren Text für die Schlagwortsuche ein, falls die Software automatisch keine aussagekräftigen Strings findet. Die Schaltfläche unten in der Mitte neben denen zum Blättern durch die Seiten vergrößert die Darstellungen per Schieberegler und blendet mit dem Schalter unten den maschinell erkannten Text ein. In älteren Versionen der Software ist diese Funktion in die Leiste der Schaltflächen oben integriert.
Ein Vorteil des voluminösen Flatpak-Downloads für Paperwork: Es enthält eine aktuelle Version der Texterkennungssoftware, während OpenSuse Leap 15.3 lediglich die veraltete Version 3.05.01 mitbringt. Dementsprechend gut fällt die Erkennungsleistung bei gedruckten Vorlagen mit einigermaßen ausreichendem Kontrast aus, wenn Sie in Einstellungen die Standardeinstellung für die Auflösung des Scanners von 300 dpi beibehalten.
Die Sprache des Dokuments sollte einer der in der Sektion Texterkennung eingestellten Sprachen entsprechen. In der Flatpak-Umgebung sind Deutsch und Englisch vorinstalliert. Alle von Tesseract unterstützten Sprachen rüsten Sie mit dem Kommando aus Listing 3 nach. Im Sprachwahl-Popup erscheint ein Rollbalken, wenn Sie den Mauszeiger darüber platzieren, mit dem Sie nun aus den zahlreichen Sprachen wählen. Zu viele aktive Einträge verschlechtern aber die Performance beim Erkennen.
Listing 3
Sprachdateien für Tesseract nachrüsten
$ flatpak config --user --set languages "*" && flatpak update --user
Bordmittel
Paperwork erweist sich als gute Lösung für das Dokumentenmanagement auf einem einzelnen Rechner. Das einfach gehaltene Programm ist konsequent darauf getrimmt, Ihnen Arbeit abzunehmen. Wer jedoch einen Blick auf die in KDE enthaltene Desktop-Suchmaschine Baloo wirft, stellt schnell fest, dass es für ein komfortables Dokumentenarchiv genügt, PDFs mit per OCR erkanntem Text in einer Verzeichnisstruktur abzulegen.
Öffnen Sie das Basisverzeichnis des Dokumentenarchivs im Dateimanager Dolphin, dann finden Sie bereits eine Volltextsuche über den Dateiinhalt und – nach Einblenden der Seitenleiste Informationen über [F11] – sogar die Möglichkeit, jeder Datei Stichwörter genannte Tags sowie Kommentare hinzuzufügen (Abbildung 6).

Abbildung 6: Der KDE-Dateimanager Dolphin bringt eine Volltextsuche (rot), ein Tagging-System (Stichwörter, gelb) sowie eine Suche über Datumsbereiche mit – genau wie das Dokumentenmanagementprogramm Paperwork.
Doppelt genäht hält besser: Als zusätzlicher Mechanismus zum Gliedern der Einträge steht die Verzeichnishierarchie bereit, in der Links einzelne Dateien oder ganze Ordner an mehrere Stellen in der Hierarchie spiegeln, ohne dabei den Speicherplatzbedarf zu erhöhen. Auf diese Weise gestalten Sie Ihr Archiv so, dass Sie die meisten Dateien schnell finden. Haben Sie vergessen, wo eine bestimmte Datei liegt, springen die in KDE frei Haus mitgelieferte Volltextsuche und das Tagging-System ein.
Die Volltextindizierung von Dateien ist unter OpenSuse in der Voreinstellung deaktiviert: Das Durchkämmen von Dateien verbraucht viel CPU-Leistung, besonders, wenn die Desktop-Suchmaschine Baloo in der Standardeinstellung das gesamte Home-Verzeichnis durchforstet. Setzen Sie Baloo nur für einen PDF-Archivordner samt Unterverzeichnissen ein, beschränkt das die Indizierung auf den entsprechenden Ordner.
Das Modul Suche in den KDE-Systemeinstellungen unterstützt zwar das Einschalten des Indizierens von Dateiinhalten und den Ausschluss von Ordnern. Auf diesem Weg wäre es theoretisch möglich, alle Ordner bis auf den gewünschten auszuschließen. Dann müssten Sie jedoch jeden neuen Ordner im Home-Verzeichnis hier registrieren.
Da die Konfigurationsdatei ~/.config/baloofilerc aber Positivlisten von zu indizierenden Ordnern erlaubt, ist es effektiver, einen Texteditor zu starten und die Konfiguration von Hand anzupassen. Abbildung 7 zeigt ein Beispiel für eine entsprechende Konfiguration, die die Volltextsuche auf das Verzeichnis DMS/ im Home-Verzeichnis beschränkt.

Abbildung 7: Zum Einschränken der KDE-Desktop-Suche auf ein oder mehrere Verzeichnisse passen Sie am besten die Konfigurationsdatei ~/.config/baloofilerc an.
Entscheidend für die Wahl der Verzeichnisse sind die mit folders und exclude folders beginnenden Zeilen. Erstere schließt zunächst das ganze Home-Verzeichnis aus, das Baloo sonst verschlagworten würde, Letztere setzt das Verzeichnis ~/DMS/ wieder auf die Liste.
Sowohl die Liste exclude folders als auch die Liste folders akzeptieren nicht nur einzelne Verzeichnisse, sondern zusätzlich eine per Komma (ohne Leerzeichen) abgetrennte Liste von Ordnern wie folders[$e]=$HOME/DMS,$HOME/Bilder,$HOME/Texte. Die Variable $HOME steht dabei für Ihr eigenes Home-Verzeichnis. Achten Sie darauf, die Zeichenkette [$e] nicht zu verändern.
Die Liste exclude filters schließt auf Basis von Dateiendungen jene Dateien aus, die für die Suche nicht relevant sind. Haben Sie keine speziellen Formate gespeichert, bleibt diese am besten unverändert. Möchten Sie dieser Liste ebenfalls Dateiendungen (in der Form *.Zeichen) hinzufügen, hängen Sie diese wieder durch ein Komma getrennt an.
Die abschließende Zeile only basic indexing=false schaltet das Durchkämmen des Inhalts statt nur des Dateinamens ein. Sie fügen diese Zeile im Editor hinzu oder aktivieren die Funktion per Checkbox in den Systemeinstellungen.
Der Index kann mehrere Gigabyte groß werden, wenn Baloo nach Einschalten der Volltextindizierung viele Tausend Dateien im Home-Verzeichnis verarbeitet. Falls Sie die Suchmaschine nachträglich auf einen Ordner beschränken oder Ordner ausschließen wollen, ist es sinnvoll, den alten Index mit balooctl purge zu löschen und das Erfassen neu zu starten.
Das Kommando balooctl status zeigt den Fortschritt beim Anlegen der Daten an, nennt die Größe des Index und signalisiert, ob Fehler aufgetreten sind. Mit balooctl suspend unterbrechen Sie das ressourcenintensive Indizieren, falls Sie für eine Weile die uneingeschränkte Leistung des Rechners benötigen oder einen Laptop-Akku schonen möchten. Mit balooctl resume setzen Sie den Vorgang fort.
Gutes Team
Paperwork übernimmt als Allround-Werkzeug das Scannen sowie die Texterkennung via OCR und bietet eine Schlagwortsuche. Die Desktop-Suchmaschine von KDE deckt lediglich das Indizieren und die Suchfunktion ab.
Um Scans in PDFs mit eingebettetem Text zu verwandeln, empfiehlt sich unter OpenSuse außerdem Gscan2pdf [5]. Es ist im Moment nicht in den Standard-Repositories enthalten, lässt sich jedoch nach dem Einbinden zweier Build-Service-Repositories mit Bordmitteln installieren. Wählen Sie dazu im YaST-Modul Software | Konfiguration / Repositorys und im sich öffnenden Dialog die Schaltfläche Hinzufügen.
Die Option URL angeben im nächsten Bildschirm behalten Sie bei, im übernächsten geben Sie bei URL die Daten aus der ersten Zeile von Listing 4 ein und vergeben einen Repository-Namen wie Home:Sauerland. Klicken Sie auf Weiter, und bestätigen Sie die Anfrage für einen neuen Schlüssel mit Vertrauen. Wiederholen Sie diesen Vorgang für die URL aus der zweiten Zeile von Listing 4 und vergeben Sie als Namen etwa Publishing.
Listing 4
Repository-URLs Gscan2pdf
https://download.opensuse.org/repositories/home:/Sauerland/openSUSE_Leap_15.3/ https://download.opensuse.org/repositories/Publishing/openSUSE_Leap_15.3/
Das Herunterladen der Software dauert recht lang, weil das Programm als Abhängigkeit zahlreiche TeX-Pakete [6] mitzieht. Nun suchen Sie nach den Paketen tesseract-ocr, tesseract-ocr-traineddata-german sowie gscan2pdf und installieren diese. Die GUI (Abbildung 8) des komplexen Programms wirkt überladen und nicht besonders übersichtlich. Setzen Sie sich mit ihr aber auseinander, stellen Sie fest, dass sie zahlreiche Funktionen für Filter und zum Nachbearbeiten mitbringt, über die Sie die Ergebnisse feintunen. Es fehlt zwar ein umfassendes Handbuch, aber alle Bedienelemente zeigen bei Kontakt mit dem Mauszeiger eine kurze Hilfe.

Abbildung 8: Die recht komplexe Software Gscan2pdf erzeugt schon in den Standardeinstellungen PDFs mit per OCR erkanntem Text für eine Schlagwortsuche.
Die einzige nach dem Start nicht ausgegraute Scan-Schaltfläche in der oberen Leiste öffnet den Dialog Dokument scannen. Abbildung 9 zeigt die Einstellungen aus dem Test, die ein ordentliches Ergebnis ermöglichten. In allen Reitern finden Sie oben die Auswahl des Geräts, also des Scanners. Im Reiter Postprocessing wählen Sie die Sprache des zu erkennenden Texts. Sind Cuneiform und Tesseract auf dem System installiert, wählen Sie Tesseract für etwas bessere Ergebnisse.

Abbildung 9: Trotz der überfrachteten GUI brauchen Sie in Gscan2pdf lediglich eine Handvoll Einstellungen, um archivtaugliche PDFs mit eingebettetem, maschinell erkanntem Text zu erzeugen.
Im Reiter Scanmodus wählen Sie als Auflösung für eine gut funktionierende Texterkennung 300**ppi. Ob Sie die Seite als Graustufen oder in Farbe scannen, hat auf die Texterkennung meist keinen Einfluss, Letzteres verbraucht aber etwa eineinhalb Mal mehr Platz. Eventuell wichtig ist noch die Scanquelle darunter. Der Canoscan-Scanner aus unserem Beispiel bietet hier die Wahl zwischen dem normalen Flachbettscan und einer Durchlichteinheit.
Sie fügen dem Dokument per Scannen so lange wie gewünscht Seiten hinzu. Bei Einzugscannern wählen Sie im ersten Reiter Seitenoptionen die entsprechenden Bereiche oder Alle Seiten aus. Zum Exportieren des Scans als PDF wählen Sie Datei | Speichern. Neben dem Dokumenttyp PDF gibt es in diesem Dialog noch zahlreiche weitere Optionen wie Bilddateien oder das noch stärker komprimierende Djvu.
Die Funktion Herunterskalieren auf hilft Plattenplatz zu sparen: Die Texterkennung funktioniert erst bei 300 dpi optimal. Für tadellose Lesbarkeit genügen jedoch schon 150 dpi, die Dateien sind aber bis zu vier Mal kleiner. Die voreingestellte JPEG-Kompression schrumpft die PDFs noch einmal um ein Mehrfaches. In Kombination mit der vorgewählten JPEG-Qualität von 75 ergeben sich minimale Schlieren im Scan, die aber die Lesbarkeit ebenfalls nicht beeinträchtigen.
Fazit
Installieren Sie unter OpenSuse Paperwork als Flatpak, erhalten Sie eine simple, aber vollwertige Lösung zum Archivieren von Dokumenten. Lediglich deren Teilen im Netz mit Rechtemanagement beherrscht das Desktop-Programm aus gutem Grund nicht.
Ganz so simpel und geradlinig fällt das Arbeiten mit Gscan2pdf zum Scannen und der KDE-Desktop-Suchmaschine zum Durchsuchen der so erstellten PDF-Sammlung nicht aus. Insgesamt bietet die Lösung aber viele Vorteile: PDFs mit eingebettetem Text bleiben vermutlich für lange Zeit der Standard beim Archivieren und lassen sich unter jedem Betriebssystem öffnen und durchsuchen. (agr)
Infos
-
Paperwork: https://openpaper.work
-
Flatpak: https://flatpak.org
-
Sane-kompatible Scanner: http://www.sane-project.org/sane-mfgs.html
-
Gscan2pdf: http://gscan2pdf.sourceforge.net





