s0l1v3r
Goto Top

PDF auslesen und umbennen

Hallo,

ich bin neu in diesem Forum und hätte ein dringendes Anliegen.

Ich habe eine PDF in dieser sind Daten drin und ich müsste diese auslesen und jeweils nach diesen Daten umbennen. Diese müssten nach objektiver Betrachtung immer an der gleichen Stelle liegen. Wenn ich jedoch diese in eine TXT Datei konvertiere haben diese immer unterschiedliche Abstände.
Die Kombination sieht immer nach einem bestimmte Schema aus , die Kombinationen sind auch immer einzigartig. Bsp. "E0Z D2.0 010"

Der sinn besteht daraus ,dass ich eine Excel Liste habe , dort sind die Schildnummern gespeichert und wenn ich die anklicke sollte sich die PDF
öffnen zu der das Schild gehört. Idee dabei ... alles in einzelne PDF Dateien zerteilen (ist eine große ) und mit den Schildernnummern als Namen speichern das die Excel Liste direkt als Hyperlink die Dateien öffnen kann.

Wäre jemand in der Lage mir zu helfen ich verzweifel hier ziemlich.

MFG
Kommentar vom Moderator Biber am Nov 19, 2014 um 18:04:37 Uhr
Zitat von @s0l1v3r:

PDF-Dateien auslesen und umbennen
Ich habe eine PDF in dieser sind Daten drin und ich müsste diese auslesen und jeweils nach diesen Daten umbennen
Set /a rgc+=2
#898

Content-Key: 255015

Url: https://administrator.de/contentid/255015

Printed on: April 20, 2024 at 00:04 o'clock

Member: fisi-pjm
fisi-pjm Nov 17, 2014 at 10:57:30 (UTC)
Goto Top
Hi,

wenn du es doch schon bis zur Textdatei geschafft hast müsstest du doch darin nach dem String suchen können. Da du uns leider nicht einweihst in welcher sprache das umgesetzt werden soll gibts hier auch keine weitere Hilfe, alle Glaskugeln sind gerade zum vorweihnachtlichen Checkup bei @keine-ahnung im Wartezimmer.

Gruß
PJM
Member: colinardo
colinardo Nov 17, 2014 updated at 11:11:10 (UTC)
Goto Top
Hallo s0l1v3r, Willkommen auf Administrator.de!

Erste Lektion:
Suchfunktion nutzen lernen:

Grüße @colinardo
Member: s0l1v3r
s0l1v3r Nov 17, 2014 at 11:11:22 (UTC)
Goto Top
Hey erstmal danke für die erste Antwort... So nun würde ich das gerne in batch umsetzten meine wissen ist bis auf grund Befehle beschränkt jedoch bin ich sehr bereitwillig dazu zu lernen.. Leider weiß ich nicht wie ich den string suchen soll da er immer wo anders zu stehen scheint und ja auch nicht immer der gleiche ist
Member: s0l1v3r
s0l1v3r Nov 17, 2014 updated at 11:27:21 (UTC)
Goto Top
Die Beiträge hatte ich gelesen, leiderhelfen sie nicht wirklich weiter. Das Exportieren in eine Tabelle funktioniert nicht da wird mir nur mist ausgegeben. Die Tabellen bzw Spalten und Zeilen zeigen keine Regelmäßigkeit, so das ich sagen könnte lese jedes 80 zigste spalte aus oder so was . Ich habe auch kein Ankündigungs String Bsp: LFDNR: "zu kopierender Text ". Die PDF sind alles Pläne so das unten Rechts eine Art Stückliste ist .
Daher denke ich, das dort auch in der PDF die Zahlen immer an der gleichen Stellen sind. Aber ich weis nicht wie ich diese dort rausbekomme.


Ich könnte auch eine vereinfachte (Copyright Datenschutz e.tc bla ) hochladen wenn das weiterhelfen würde
Mitglied: 114757
114757 Nov 17, 2014 updated at 11:42:40 (UTC)
Goto Top
Moin,
Zitat von @s0l1v3r:
Ich könnte auch eine vereinfachte (Copyright Datenschutz e.tc bla ) hochladen wenn das weiterhelfen würde
dann mach mal ... ohne ein Muster von deiner Seite ist das definieren eines Regex-Pattern hier sonst schlichtweg unmöglich ...

Gruß jodel32
Member: s0l1v3r
s0l1v3r Nov 17, 2014 updated at 12:46:07 (UTC)
Goto Top
Also hier mal die Datei bzw der Link zu meinerDropbox

https://www.dropbox.com/s/pk9lekxi833bti3/Seiten%20aus%201MON3H3001----5 ...

Die hier genante Information die wichtig wäre ist diese "E0Z D2.0 010"


PS: was ist ein Regex Pattern
Mitglied: 114757
114757 Nov 17, 2014 updated at 13:13:16 (UTC)
Goto Top
Zitat von @s0l1v3r:
PS: was ist ein Regex Pattern
hättest du die oben verlinkten Anleitungen von @colinardo mal richtig gelesen, wüsstest du wovon ich spreche ...

Hier der passende Regex-Pattern für dein Vorhaben: (und nein das ließt nicht die Lfd-Nr aus sondern die Zeile darunter !)
^Lfd-Nr.\s+.*\s+(.*)
Damit dieser Pattern funktioniert musst du dein PDF mit pdftotext so in eine Textdatei extrahieren
pdftotext.exe demo.pdf
dann kannst du den gewünschten String mit VBS aus der Textdatei extrahieren
Set fso = CreateObject("Scripting.FileSystemObject")   
SubjectString = fso.OpenTextFile("C:\demo.txt",1).ReadAll()  

Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.MultiLine = True
myRegExp.Pattern = "^Lfd-Nr.\s+.*\s+(.*)"  
Set myMatches = myRegExp.Execute(SubjectString)
If myMatches.Count > 0 Then
  msgbox "Der String lautet: " & Trim(myMatches(0).submatches(0))  
else
  msgbox "String wurde nicht gefunden"  
End If
Den Rest findest du in den oben verlinkten Anleitungen.

Gruß jodel32