Code-Tipp: iTextSharp – Texterkennung mittels Schriftart, Position des Textes erkennen und Text entfernen

Ich beschäftigte mich schon seit Längerem mit iText und konnte diese Bibliothek vor Kurzem erfolgreich in ein kommerzielles Produkt (SmartStore) integrieren.
Grund genug, einen kleinen Artikel bzw. ein kleines How-To für iText zu verfassen.

Hauptgrund für die Anschaffung von iText war die relativ einfache Implementierung der Bibliothek in vorhandenen Code. Ein weiterer Vorteil war und ist, dass die Bibliothek zu Testzwecken kostenlos genutzt werden kann.

Mein Umsetzungsziel war die Erkennung von Text in PDF-Dateien, der in einer spezifischen und frei definierbaren Schriftart hinterlegt ist.
Nach erfolgter Texterkennung soll der gefundene Text vom PDF gelöscht werden.

Nach vielen Versuchen und Fehlschlägen (das Format von PDFs ist für mich offensichtlich nicht so einfach zu verstehen…) bin ich dann auf diesen Artikel auf stackoverflow gestoßen.

Der Code brauchte nur noch geringfügige Änderungen und der font-spezifische Text wurde erfolgreich ausgelesen.
Ergänzt wurde das Ganze dann noch um die Ermittlung der Text-Koordinaten und schließlich um das „Cleanen“ des PDFs.

Hier nun der C#-Code für die Text- und Positionserkennung:

Da die Positionen des Textes in der Liste cleanUpLocations gespeichert sind, ist das Entfernen dann nicht weiter schwer.

Der Code, in eine kleine Funktion eingebettet, könnte dann z. B. so aussehen:

Happy coding!

Kommentar verfassen

Mehr in Allgemein, Fundstücke, Snippets
Stats
Rückblick: Blog-Statistik für 2015

Etwas später als gewohnt, melde ich mich nach der Weihnachtspause mit der traditionellen Blog-Statistik für 2015 zurück. Allen Lesern, Besuchern...

Schließen