Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
Delphi 11 Alexandria
|
Re: PDF to Txt
3. Apr 2010, 08:20
Wenn Du es selbst machen willst:
--> PDF Spec durcharbeiten
Dann einen PDF Parser schreiben, der Dir die Textelemente bestimmt (Verschlüsselungsalgorithmen, verschachtelte/gestreamte Crossreferenzen, linearisierte PDFs, Codetabellen beachten). Dann schauen, daß Du den zugehörigen Font aus den Eigenschaften des Textelements bzw. des umgebenden graphischen Containers auslesen kannst.
Was die Leerzeichen betrifft: Wenn Du noch die Koordinaten der einelnen Zeichen bekommst, dann kannst Du hergehen und schauen, ob sie sich auf einer y-Koordinate befinden. Wenn nicht, dann entweder Fontwechsel oder neue Zeile. Für die Leerzeichen zwischen zwei Worten: wenn der Font einer mit fester Zeichenbreite ist, dann die kannst Du anhand der Abstände zwischen den beiden Wörtern bestimmen, ob da ein Zeichen reinpaßt. Wenn ja, dann Leerzeichen.
Bei Fonts ohne fixe Zeichenbreite helf ich mir gerade damit, daß ich mir über den ganzen Text die durchschnittliche Zeichenbreite des Fonts berechne und dann für ein Leerzeichen diese Durchschnittsbreite verwende. Mit ein bischen tricksen an einer geeigneten Skalierung krieg ich dann ganz gute Ergebnisse (aber halt selten völlig korrekte).
Grüße,
Uli
|