<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://wiki.redatek.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.redatek.de/feed.php">
        <title>dynaDAT | UNIXoni | REDATEK | ITVeteran  - paperless</title>
        <description></description>
        <link>http://wiki.redatek.de/</link>
        <image rdf:resource="http://wiki.redatek.de/_media/logo.png" />
       <dc:date>2026-07-29T12:29:03+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.redatek.de/paperless:pdf_konvertierung_und_ocr?rev=1777790823&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.redatek.de/_media/logo.png">
        <title>dynaDAT | UNIXoni | REDATEK | ITVeteran </title>
        <link>http://wiki.redatek.de/</link>
        <url>http://wiki.redatek.de/_media/logo.png</url>
    </image>
    <item rdf:about="http://wiki.redatek.de/paperless:pdf_konvertierung_und_ocr?rev=1777790823&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-03T06:47:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pdf_konvertierung_und_ocr</title>
        <link>http://wiki.redatek.de/paperless:pdf_konvertierung_und_ocr?rev=1777790823&amp;do=diff</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;texterkennung_und_dokumentenbearbeitung&quot;&gt;Texterkennung und Dokumentenbearbeitung&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Dieser Beitrag beschreibt, wie eine einfache Konvertierung von Bildern in ein geeignetes Schwarz/Weiß-Format und eine anschließende Texterkennung mit Tesseract durchgeführt werden kann. Zudem wird erklärt, wie man komfortabel das Dokumentendatum aus einem PDF-Dokument ausliest.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Texterkennung und Dokumentenbearbeitung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;texterkennung_und_dokumentenbearbeitung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-339&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;bildkonvertierung&quot;&gt;Bildkonvertierung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Eine einfache Konvertierung eines Fotos in ein Schwarz/Weiß-Bild kann mit dem folgenden Befehl durchgeführt werden:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;convert IMG_1674837489306.jpg -auto-orient -colorspace gray -resize 2000 -threshold 60% +dither -colors 2 -type bilevel IMG_1674837489306-sw.jpg&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Erklärung&lt;/strong&gt;:
&lt;/p&gt;

&lt;p&gt;
-auto-orient: Stellt sicher, dass das Bild korrekt ausgerichtet ist.
&lt;/p&gt;

&lt;p&gt;
-colorspace gray: Wandelt das Bild in Graustufen um.
&lt;/p&gt;

&lt;p&gt;
-resize 2000: Ändert die Größe des Bildes auf eine maximale Breite von 2000 Pixeln.
&lt;/p&gt;

&lt;p&gt;
-threshold 60%: Setzt einen Schwellenwert von 60% für die Umwandlung in Schwarz/Weiß.
&lt;/p&gt;

&lt;p&gt;
+dither und -colors 2 -type bilevel: Sorgt dafür, dass das Bild nur zwei Farben (Schwarz und Weiß) verwendet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bildkonvertierung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bildkonvertierung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;340-1080&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;texterkennung_mit_tesseract&quot;&gt;Texterkennung mit Tesseract&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Schwarz/Weiß-Bild ist für die Texterkennung wesentlich effektiver. Der Schwellenwert im threshold-Parameter kann angepasst werden, falls der Schwarzwert nicht optimal ist.
&lt;/p&gt;

&lt;p&gt;
Provisorischer Test der Texterkennung:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;tesseract IMG_1724050088313-sw.jpg ausgabe
cat ausgabe&lt;/pre&gt;

&lt;p&gt;
Falls eine PDF-Version benötigt wird, kann das Bild mit folgendem Befehl in ein PDF umgewandelt werden:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;convert IMG_1724050088313-sw.jpg IMG_1724050088313-sw.pdf&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Texterkennung mit Tesseract&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;texterkennung_mit_tesseract&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1081-1589&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;dokumentendatum_aus_pdf_auslesen&quot;&gt;Dokumentendatum aus PDF auslesen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das folgende Python-Skript liest komfortabel das Dokumentendatum aus einem PDF-Dokument aus. Es wird davon ausgegangen, dass das Datum auf der oberen Hälfte eines DIN-A4-Dokuments steht. Die Suche erfolgt nach zwei Mustern:
&lt;/p&gt;

&lt;p&gt;
TAG.MONAT.JAHR (z. B. 01.01.2025)
&lt;/p&gt;

&lt;p&gt;
TAG MONAT JAHR (z. B. 01. Januar 2025)
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;python-skriptauslesenpy&quot;&gt;Python-Skript: auslesen.py&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;import sys
from pdf2image import convert_from_path
import pytesseract
import re

# Laden des ersten Bildes aus dem PDF
def main(pdf_path):
    image = convert_from_path(pdf_path)[0]
    breit, hoch = image.size

    # Definition der Suchmuster
    sdatum = re.compile(r&amp;quot;\d{1,2}\.\d{1,2}\.\d{2,4}&amp;quot;)
    mdatum = re.compile(r&amp;quot;\d{1,2}\. \D[a-zA-Z]+\ \d{2,4}&amp;quot;)  

    # Beschneiden des Bildes auf die obere Hälfte
    beleg = image.crop((0, 0, breit, int(hoch / 2)))

    # Texterkennung
    text = pytesseract.image_to_string(beleg)

    # Datumsuche
    datum = sdatum.findall(text)
    datum2 = mdatum.findall(text)

    # Ausgabe
    print(text)
    print(&amp;quot;------------------------&amp;quot;)
    for ausdruck in datum2:
        print(ausdruck)
    for ausdruck in datum:
        print(ausdruck)
    print(&amp;quot;------------------------&amp;quot;)

if __name__ == &amp;quot;__main__&amp;quot;:
    if len(sys.argv) != 2:
        print(&amp;quot;Usage: python auslesen.py &amp;lt;PDF-Datei&amp;gt;&amp;quot;)
    else:
        main(sys.argv[1])&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dokumentendatum aus PDF auslesen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dokumentendatum_aus_pdf_auslesen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1590-2959&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;fazit&quot;&gt;Fazit&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mit diesen Befehlen und dem Python-Skript lassen sich Bilder effektiv für die Texterkennung aufbereiten, Texte auslesen und spezifische Informationen wie Dokumentendaten automatisiert extrahieren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fazit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fazit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2960-3176&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;stichworte&quot;&gt;Stichworte&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;em&gt;ImageMagick, Tesseract, OCR, PDF, Python, Dokumentendatum&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Stichworte&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;stichworte&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3177-&amp;quot;} --&gt;</description>
    </item>
</rdf:RDF>
