Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PDF Dateien an zwei Stellen per Batch auslesen

Frage Entwicklung Batch & Shell

Mitglied: Hawkeye1981

Hawkeye1981 (Level 1) - Jetzt verbinden

25.05.2011 um 14:13 Uhr, 5474 Aufrufe, 8 Kommentare

Hallo zusammen,

ich brauche Eure Hilfe:
es soll ein großes PDF-Dokument mit Ausgangsrechnungen für eine Frankiermaschine optimiert werden. Ich habe zwar genaue Vorstellungen, was passieren muss, jedoch habe ich noch kein Werkzeug dazu gefunden.
Vielleicht könnt ihr mir helfen?
Danke

Also:

Ich bräuchte als erstes ein Tool, welches per Batch jede Seite dieser PDF-Datei an 3 gleichen Stellen ausliest. Oder kann man dies auch über einen Batch-Befehl selbst lösen?

Die ausgelesen Daten sollten in einer Log-Datei geschrieben werden, mit etwa folgendem Inhalt:
"Seite1;Kunde;Rechnungsnummer;Rechnungsseite"

Dann sollte ein Tool diese PDF-Datei auseinander nehmen und für jeden Kunden eine einzelne PDF erstellen.



So ungefähr stelle ich mir den Ablauf vor.
Kennt jemand entsprechende Tools um so ein Vorhaben mit einer Batch-Datei abzuwickeln?

Vielen Dank für Eure Mühe im Voraus

Gruß
Hawkeye
Mitglied: Connor1980
25.05.2011 um 14:37 Uhr
Hallo hawkeye,

für das Auseinandernehmen wäre PDFTK das jenige welche Tool

Grüße
Bitte warten ..
Mitglied: Friemler
25.05.2011 um 14:52 Uhr
Hallo Hawkeye1981,

hier gibt es Xpdf, eine Sammlung von Konsolenprogrammen mit verschiedenem Schwerpunkt, um den Inhalt von PDF-Dateien zu extrahieren. Eines davon, PDFToText, konvertiert eine PDF- in eine Text-Datei, die sich ja dann recht einfach per Batchscript/VBS zerpflücken lässt.

Gruß
Friemler
Bitte warten ..
Mitglied: Hawkeye1981
25.05.2011 um 18:26 Uhr
Hallo zusammen,

vielen Dank für Tipp.

@Connor:PDFTK funktioniert super. Danke
@Friemler: Xpdf bzw. das dftotext ist genau das was ich brauche. Danke ebenfalls

Ich habe jetzt eine Frage zu einer For-Schleife:
Ich habe eine Schleife gebaut, die in einer festen Datei einen Wert ausliest und dann die Datei danach benennt:

rem Kunde
for /f "delims=" %%i in ('findstr /n /v "tzasfdre" pg_0001.txt^|findstr "^3!"') do @Set "ln=%%i"
@Set "Kunde=%ln:~66,6%"
ren pg_0001.txt %kunde%.txt

Wie muss ich dass jetzt bauen, damit alle txt-Dateien in dem Verzeichnis (pg_0001,pg0002,...) angesprochen und dementsprechend umbenannt werden?
Die Batch startet in dem Verzeichnis, wo die betreffenden Dateien liegen.

Vielen Dank für Eure Hilfe.

Gruß
Hawkeye
Bitte warten ..
Mitglied: Friemler
25.05.2011 um 18:35 Uhr
Hallo Hawkeye,

versuche es mal damit (ungetestet):
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
for /f "tokens=1,2* delims=:" %%i in ('findstr /n /v "tzasfdre" pg_*.txt') do ( 
06.
  set "file=%%i" 
07.
  set "line=%%k" 
08.
  call :ProcessFile 
09.
10.
 
11.
exit /b 
12.
 
13.
 
14.
:ProcessFile 
15.
if "%line:~0,2%" neq "3!" exit /b 
16.
 
17.
set "Kunde=%line:~66,6%" 
18.
echo ren "%file%" "%kunde%.txt" 
19.
 
20.
exit /b
Gruß
Friemler
Bitte warten ..
Mitglied: Hawkeye1981
26.05.2011 um 08:10 Uhr
Hallo Friemler,

leider funktioniert das Skript nicht.

Bekomme als Meldung "findstr kann pg_*.txt nicht finden.

Woran kann das liegen?

Gruß
Hawkeye
Bitte warten ..
Mitglied: Friemler
26.05.2011 um 11:41 Uhr
Hallo Hawkeye,

Du hast geschrieben, dass das Script aus dem Verzeichnis gestartet werden soll, wo auch die zu bearbeitenden Dateien abgelegt sind. Wenn diese Voraussetzung nicht erfüllt ist, kann FINDSTR seine Dateien nicht finden.

Öffne bitte ein Konsolenfenster und wechsele in das Verzeichnis mit den zu verarbeitenden Dateien. Kommentiere im Script die Zeile 1 (@echo off) aus (mit REM oder ::) und starte es aus dem Konsolenfenster. Dann kannst Du den Scriptlauf am Bildschirm verfolgen.

Gruß
Friemler
Bitte warten ..
Mitglied: Hawkeye1981
26.05.2011 um 12:32 Uhr
Hallo Friemler,

ich habe es direkt auf der Konsole ausprobiert, um gerade dieses Problem zu vermeiden. Leider bekomme ich immer noch bei Deinem Skript die gleich Fehlermeldung.
Bitte warten ..
Mitglied: Friemler
26.05.2011 um 12:58 Uhr
Hallo Hawkeye,

dann kann es eigentlich nur noch daran liegen, dass keine Dateien, auf die die Maske pg_*.txt passt, vorhanden sind.

Gib doch mal in einem Konsolenfenster dir /b pg_*.txt ein.

Oder heißen die Dateien bei Dir garnicht pg_xxxx.txt sondern evtl. pg xxxx.txt? Wenn Leerzeichen in der Maske enthalten sind, muss sie in Anführungszeichen gesetzt werden.

Gruß
Friemler
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Drucker und Scanner
Problem mit Ausdruck von PDF Dateien (4)

Frage von CountryBoy zum Thema Drucker und Scanner ...

Viren und Trojaner
gelöst "Gefährlichkeit" von PDF-Dateien (8)

Frage von thaefliger zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...