Kein Scanner. Und das Formular will jetzt ein PDF.
Fotografieren Sie das Dokument mit dem Handy — zurück kommt ein A4-PDF, das dort durchgeht, wo ein Scan verlangt wird.

Ein Foto eines Dokuments ist kein Scan.
Das Blatt liegt schräg, die Hälfte im Schatten, das Papier ist grau und die Datei vier Megabyte groß. Das Amt schickt es zurück, und einen Scanner gibt es nicht im Haus.
Kommt Ihnen bekannt vor?
Das ist für Sie, wenn…
Ja
- Sie ein Dokument an ein Amt, eine Bank oder eine Versicherung schicken müssen
- Es keinen Scanner gibt und der Copyshop eine eigene Fahrt ist
- Das Dokument auf Papier liegt und das Formular ein PDF will
- Es mehrere Seiten sind und sie als eine Datei ankommen müssen
Nein
- Sie Texterkennung und Suche im Dokument brauchen
- Sie eine Unterschrift oder Rechtskraft brauchen
- Sie täglich Hunderte Seiten scannen
Was du bekommst
Ein gerades Blatt statt einer schrägen Aufnahme
Das Viereck des Blattes wird im Bild gefunden und wieder zum Rechteck entzerrt.
Schreibtisch, Schatten und Spirale verschwinden
Alles, was von außerhalb des Blattes ins Bild ragt, wird gelöscht — auch die Bindungsringe.
Papier wird weiß
Das ungleiche Licht von Lampe und Fenster wird ausgeglichen, graues Papier wird weiß.
Die blaue Unterschrift bleibt blau
Tinte wird neutral schwarz, eine blaue Unterschrift und ein roter Stempel behalten ihre Farbe.
Ein Album ist ein Dokument
Mehrere Aufnahmen zusammen geschickt kommen als ein mehrseitiges PDF zurück.
Exaktes A4, ein paar hundert Kilobyte
Kein Bild in einer PDF-Hülle, sondern eine Seite in der richtigen Größe, die jedes Upload-Formular annimmt.
Drei Schritte
Nichts zu installieren — alles passiert in Telegram.
Aufnahme schicken
Als Foto oder als Datei. Mehrere Seiten als ein Album.
PDF abholen
Meist etwa eine halbe Minute pro Seite. Der Bot meldet sich, sobald es fertig ist.
Vorher und nachher
Zwei echte Aufnahmen und zwei echte Ergebnisse, unretuschiert.

Mit dem Handy vom Tisch aufgenommen: schräg, Schatten, der warme Ton des Holzes, die Spirale im Bild. Der obere Teil mit Bleistift, die letzten Zeilen und die Unterschrift mit blauem Kugelschreiber.

Dasselbe danach: das Blatt entzerrt, Schreibtisch und Spirale weg, das Papier weiß. Der Bleistift blieb grau, der Kugelschreiber blau.

Der ganz normale Fall: eine ausgedruckte Rechnung, abends auf dem Sofa fotografiert. Grauer Stoff ringsum, Schatten in der Ecke, das Blatt leicht schief, die Unterschrift mit blauem Kugelschreiber. Alle Angaben auf der Rechnung sind erfunden.

Danach: das Blatt gerade, das Papier weiß, die Tabelle lesbar, die Unterschrift blau. Man sieht auch, was nicht geklappt hat: unten rechts, wo der Schatten am tiefsten war, bleibt eine Spur des Stoffs.
Probieren Sie es an dem, was vor Ihnen liegt
Kostenlos, ohne Konto, ohne Installation. Eine Aufnahme genügt, um zu sehen, ob das etwas für Sie ist.
Bot in Telegram öffnenAußerdem
- Baut ein mehrseitiges Dokument. Schicken Sie die Seiten als ein Album — zurück kommt ein PDF, in der Reihenfolge, in der sie losgingen.
- Unterscheidet Dokument und Schnappschuss. Ist kein Blatt im Bild, passiert nichts davon: die Aufnahme wird einfach auf die Seite gelegt. So wird derselbe Bot auch zum PDF-Bauer für gewöhnliche Fotos.
- Gibt die Seiten als Bilder zurück.
/jpegmacht aus dem letzten PDF wieder Bilder — praktisch, wenn die Gegenseite „schicken Sie ein Foto" sagt. - Spricht drei Sprachen. Russisch, Deutsch und Englisch, nach der Sprache Ihres Telegram-Clients.
- Funktioniert auch ganz ohne Telegram. Es ist ein normaler Container:
docker runmit einem Ordner, und das PDF entsteht auf Ihrem eigenen Rechner, offline. - Lebt auch in Claude Code. Es gibt einen Skill — Claude nimmt Ihre Aufnahmen und baut das PDF, ohne das Terminal zu verlassen. Er liegt bei den übrigen Skills.
Datenschutz
- Aufnahmen werden nicht gespeichert. Das n8n-Protokoll speichert zu keinem Lauf Daten, weder bei Erfolg noch bei einem Fehler — bewusst so gesetzt, weil hier fremde Dokumente durchlaufen.
- Verarbeitung auf dem eigenen Server. Nicht in einer Cloud, nicht über eine fremde API. Der interne Dienst ist nach außen überhaupt nicht erreichbar.
- Keine Cloud in der Verarbeitung. Im normalen Image steckt weder OpenCV noch NumPy noch ein Modell — schlichtes Python und ImageMagick. Das zweite hat ein lokales Offline-Modell, das im Container selbst liegt. Ihre Aufnahme wird auf diesem Server verarbeitet und verlässt ihn nicht. Dorthin gelangt sie über Telegram, wie jede Nachricht dort.
- Ein Verweis bleibt. Der Bot merkt sich die Kennung Ihres letzten fertigen PDFs eine Woche lang, nur damit
/jpegfunktioniert. Die Datei selbst liegt in Ihrem eigenen Telegram-Chat, wie jede andere Nachricht. - Zählungen ohne Namen. Der Bot notiert, wie viele Seiten er verarbeitet hat, wie lange das gedauert hat und über welchen Link Sie gekommen sind — und, wenn Sie selbst eine abgeben, Ihre Bewertung oder Ihr Feedback. Keine Namen, keine Usernamen, kein Dokumentinhalt.
- Der Code ist offen. MIT-Lizenz, alles auf GitHub — nachlesen oder selbst betreiben.
- Der rechtlich genaue Text steht in der Datenschutzerklärung, Abschnitt 12: was Telegram übermittelt, die Rechtsgrundlagen und wie Sie Ihre Daten löschen lassen.
Häufige Fragen
Was kostet das?
Nichts. Keine Bezahlung, kein Limit, kein Konto — und es ist keine Aktion. Die Verarbeitung läuft auf einem kleinen Server, der das bisher allein schafft und fast nichts kostet. Sollte er es einmal nicht mehr schaffen, sage ich das offen, statt still ein Bezahlformular aufzuhängen.
Wie lange dauert es?
Etwa eine halbe Minute pro Seite. Ein Album aus acht Aufnahmen braucht ein paar Minuten: die Seiten laufen nacheinander, damit nicht ein Nutzer den ganzen Server belegt.
Wie bekomme ich die beste Qualität?
Am einfachsten: beim Senden des Fotos auf HD umschalten. Telegram komprimiert Bilder sonst so stark, dass Details schon vor der Verarbeitung verloren gehen. Ganz ohne Verlust geht es, wenn Sie die Aufnahme als Datei schicken — über die Büroklammer, Punkt „Datei" —, das sind ein paar Tipps mehr.
Und bringen Sie das ganze Blatt ins Bild: an seinen Kanten wird die wahre Größe der Seite abgelesen.
Und wenn das Dokument kein A4 ist?
Die Seite wird trotzdem A4 — das ist das Format, nach dem Upload-Formulare fragen. Ein breites Dokument landet auf einer Querformatseite: gedreht wird die SEITE, nicht der Inhalt, der Text bleibt also lesbar.
Wird der Text erkannt?
Nein. a4norm erzeugt ein Bild der Seite, keine Textebene. Durchsuchbarer Inhalt ist eine andere Aufgabe.
Worin unterscheidet sich das von Scanner-Apps?
Die muss man installieren, viele wollen ein Konto, und manche schicken die Aufnahme in eine Cloud und zeigen Werbung. Hier gibt es weder Installation noch Konto noch Cloud — und der Code ist nachlesbar.
Kann ich das selbst betreiben?
Ja, das ist sogar die eigentliche Form:
docker run --rm -v "$PWD:/work" ghcr.io/georg-malahov/a4norm:latest \
-o /work/document.pdf /work/page1.jpg /work/page2.jpgDas Image ist rund 40 MB zum Herunterladen und rund 105 MB entpackt, und es geht nie ins Netz. Beide Images liegen in der GitHub-Registry, die Dockerfiles im Repository.
Geht das auch aus Claude Code heraus?
Ja, dafür gibt es einen Skill: Claude erkennt eine Bitte wie „mach daraus einen Scan" und startet denselben Code. Alle Skills liegen hier.
Warum gibt es zwei Images?
latest ist das Werkzeug selbst: rund 105 MB auf der Platte, schlichtes Python und ImageMagick, keine Modelle. full ist dasselbe plus ein Segmentierungsmodell, das nur anspringt, wenn sich das Blatt nicht über die Helligkeit finden lässt — ein weißes Blatt auf einem hellen Tisch etwa. Es ist größer und wird längst nicht immer gebraucht.
Der Bot läuft auf full, als Absicherung für die unbequemen Aufnahmen. Das Vorher/Nachher auf dieser Seite kommt in latest genauso heraus: das Blatt wurde über die Helligkeit gefunden, das Modell blieb außen vor.