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
GELÖST

Batch Teil des Dateinamens einer pdf-Datei als Titel der pdf-Datei zuweisen

Frage Entwicklung Batch & Shell

Mitglied: stoppel70

stoppel70 (Level 1) - Jetzt verbinden

19.04.2012, aktualisiert 18.10.2012, 4119 Aufrufe, 18 Kommentare

Hallo zusammen,
ich möchte gerne einen Teil des Namens einer pdf-Datei selbiger als Titel zuweisen. Tiel ist, anhand des Titels sortieren können.

Der Name der pdfs folgt konsequent einer Schablone etwa in der Art:
bwa_arg_df_2_xyz_A_2.pdf
wobei der Abschnitt 'xyz' zum Titel der pdf gemacht werden soll.

in
https://www.administrator.de/forum/Batch-Teile-des-Dateinamen-auslesen-5 ...
ist eine einigermaßen vergleichbare Aufgabe gelöst, wo ein Abschnitt aus dem Dateinamen als Verzeichnisname verwendet wird.

auf
http://compgroups.net/comp.text.pdf/batch-update-pdf-titles-from-text-f ...
wird pdftk für das update des pdf-Titels verwendet, allerdings muß zuvor eine Steuerdatei gebastelt werden, die alten und neuen Dateinamen beinhaltet.
(Mir scheint, dass in der Zeile
"for "/F "tokens=1,2 delims= " %%j in (this.dat) do (
" die Zeichen "1," ein falsches Ergebnis verursachen und entfallen müssen.)

der token "xyz" müßte also mit InfoValue: %%j in eine this.info geschrieben werden und anschließend mit pdftk zugewiesen werden.

Alternativ zum Durch-Arbeiten eines ganzen Verzeichnisses fände ich das Auslösen des Befehl via Explorer/rechte Maustaste noch eleganter.

Kann mir da jemand weiterhelfen?

Schönen Dank schon mal!

Stoppel
Mitglied: bastla
19.04.2012, aktualisiert 18.10.2012
Hallo stoppel70 und willkommen im Forum!

Etwa so:
01.
@echo off & setlocal 
02.
for /f "tokens=5 delims=_" %%i in ("%~1") do ( 
03.
    echo InfoKey: Title 
04.
    echo InfoValue: %%i 
05.
)>%temp%\this.info  
06.
move %1 %temp%\PDF.tmp 
07.
pdftk %temp%\PDF.tmp update_info %temp%\this.info output "%~1"
Dieser Batch lässt sich per Drag & Drop oder zB im "SendTo"-Ordner verwenden - zum Erstellen eines Kontextmenüeintrages siehe hier oder besser da ...

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
19.04.2012 um 23:05 Uhr
Gut, Bastla, danke schon mal (-:

ich werde das morgen gleich mal austesten.

Kurze Frage noch: wodurch regelst du, welcher Abschnitt des Dateinamens verarbeitet wird?
Den muß ich für meinen Bedarf mglw. noch anpassen. Ich vermute es ist der ..."tokens=5"...?!

Außerdem scheinst du eine Steuerdatei zu schreiben... Die sollte wieder gelöscht werden

Gruß
Stoppel
Bitte warten ..
Mitglied: bastla
19.04.2012 um 23:11 Uhr
Hallo stoppel70!
Kurze Frage noch: wodurch regelst du, welcher Abschnitt des Dateinamens verarbeitet wird?
Den muß ich für meinen Bedarf mglw. noch anpassen. Ich vermute es ist der ..."tokens=5"...?!
So isses ...
Die sollte wieder gelöscht werden
Mach nur (obwohl: ob die im Temp-Ordner herumliegt oder nicht - und beim nächsten Mal wird sie ohnehin überschrieben); abgesehen davon sind es zwei Dateien ...

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
21.04.2012 um 16:21 Uhr
Hallo bastla,
so, jetzt hatte ich in Ruhe Zeit, das mal auszutesten. Leider funktioniert hier was noch nicht. Der richtige Titel wird leider nicht geschrieben.

Es landen die richtigen Dateien im temp-Verzeichnis und deren Inhalt passt auch (die this.info hat die korrekten Parameter und die pdf.tmp ist eigentlich eine pdf)

Ich habe mal versucht, das Original als .pdf zu verschieben und nicht wie vorgeschlagen als .tmp (Zeile 6). Vielleicht mag ja pdftk keine .tmp-Dateien verarbeiten. Das bringt keinen Erfolg.

Hast du eine Idee, wo es hakt?

Gruß
stoppel70
Bitte warten ..
Mitglied: bastla
21.04.2012 um 16:36 Uhr
Hallo stoppel70!
Ich habe mal versucht, das Original als .pdf zu verschieben und nicht wie vorgeschlagen als .tmp (Zeile 6). Vielleicht mag ja pdftk keine .tmp-Dateien verarbeiten.
Bei meinen Tests war das kein Problem.
Hast du eine Idee, wo es hakt?
Wo hat Du die "pdftk.exe" gespeichert? Falls der Ordner nicht in der %path%-Liste enthalten ist, in der letzten Zeile anstatt nur "pdftk" auch den vollen Pfad angeben ...

Zur Fehlersuche solltest Du außerdem in Zeile 1 "echo on" verwenden und den Batch aus der CMD-Shell starten (oder noch "pause" als Zeile 8 hinzufügen).

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 20:56 Uhr
Hallo Bastla,
ich habe nochmal ein bisschen rum probiert und folgendes festgestellt:
- im Explorer bekomme ich einen falsches Titel angezeigt (auch in der Statusleiste und wenn ich auf den Dateinamen zeige)
- im aktuellen Reader ebenso
- im Acrobat Reader 4.0 wird der RICHTIGE Titel dargestellt

Vermute mal, dass es sich um ein Versionsproblem von pdftk handeln könnte. Ich arbeite mit Version 1.44 und habe sie gemäß
http://www.pdflabs.com/docs/install-pdftk/
'installiert'.

Zu deinen Hinweisen:
ich habe die Ergänzungen übernommen, bekomme aber im cmd-Fenster keine Fehlermeldung.
Aber: nach dem Abarbeiten haben die pdfs ein neues Speicherdatum!

Gruß
stoppel70
Bitte warten ..
Mitglied: bastla
22.04.2012 um 21:06 Uhr
Hallo stoppel70!
Vermute mal, dass es sich um ein Versionsproblem von pdftk handeln könnte.
Das könnte sein - ich habe mit 1.41 (erfolgreich) getestet - wenn Du das nachvollziehen möchtest, findest Du hier den Download ...

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 21:11 Uhr
Du antwortest schneller, als ich den win7-Rechner booten kann... habe da nochmal nachgesehen: hier bekomme ich gar nichts angezeigt

Gruß
stoppel

PS
werde gezwungenermaßen gleich nochmal den XP-Rechner anschmeissen und mit deiner anderen Version testen.
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 21:24 Uhr
So,
next one: auch Version 1.41 bringt keinen Erfolg.

Allerdings habe ich mal manuell den Titel gelöscht. Und siehe da: plötzlich klappt's.

Noch eine Anmerkung:
ich habe die Testdateien mit pdfcreator erstellt, das arbeitet mit Ghostscript 9.05. Beim Ausdruck kann ich Titel und Co eintragen, hier lösche ich dann alle vorgeschlagenen Einträge.
Bitte warten ..
Mitglied: bastla
22.04.2012 um 21:49 Uhr
Hallo stoppel70!

Habe jetzt auch nochmal mit verschiedenen PDF (Version 1.3 bis 1.6), mit unterschiedlichen Programmen erstellt, getestest - wie es scheint, hat "pdftk" öfter Probleme damit, einen vorhandenen Titel zu ersetzen ...

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 21:51 Uhr
Hallo nochmal,
eine andere Sache, die mir bei einem anderen Programm, das die Infos in einer pdf aufbereitet, im Gedächtnis geblieben ist: dort konnte man die neuen Infos "anhängen" oder überschreiben. In dem Sinn, dass etwas nicht endgültig ist. Leider finde ich das Programm auf die Schnelle nicht.

Schreiben wir ständig einen Wert, der in den aktuellen Programmen nicht eindeutig ist, für Acrobat 4.0 aber schon? Schließlich wird der Wert ja geschrieben, nur nicht angezeigt...!
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 21:57 Uhr
Zitat von bastla:
scheint, hat "pdftk" öfter Probleme damit, einen vorhandenen Titel zu ersetzen ...

Ja genau, schließlich bekomme ich, wenn ich den Wert beim Druckendialog von pdfcreator lösche, im Ergebnis zwei Klammern ohne Inhalt angezeigt. Auch wird also etwas geschrieben, das nicht ersetzt werden kann.

Das alles steht allerdings im Widerspruch zu
http://www.lagotzki.de/pdftk/
wo uns mitgeteilt wird, dass gerade ein Aktualisieren möglich sein soll. und "update_info" scheint ja auch auf Aktualisieren hinzudeuten...

Gruß
stoppel
Bitte warten ..
Mitglied: bastla
22.04.2012 um 22:01 Uhr
Hallo stoppel70!

Gute Frage - Antwort habe ich allerdings leider auch keine; aber vielleicht wirst Du ja noch fündig ...

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 22:17 Uhr
Hallo bastla,
vielleicht sollten wir erst mal die Metadaten entfernen und dann neu schreiben?

http://www.marshalgraham.com/2011/04/removing-pdf-metadata-with-pdf-too ...
schildert, wie das gehen soll. Ich habe es mal getestet und in deinem Skript hinter info_value den Parameter gelöscht: die this.info hat dann auch keinen Wert mehr! An der pdf ändert sich weiterhin nur das Speicherdatum.

Gruß
Stoppel
Bitte warten ..
Mitglied: bastla
22.04.2012 um 22:22 Uhr
Hallo stoppel70!

Dort (bei der Überlegung und der verlinkten Seite ) war ich vorhin auch schon - es ist aber eigentlich logisch, dass, wenn kein neuer Titel eingefügt wird, auch das Überschreiben des Titels mit "Nichts" (mit dem gleichen Programm) nicht funktioniert ...

Grüße
bastla
Bitte warten ..
Mitglied: stoppel70
22.04.2012 um 22:39 Uhr
Zitat von bastla:
Dort (bei der Überlegung und der verlinkten Seite ) war ich vorhin auch schon -

*grins*

ja, das war mir auch durch den Kopf gegangen, aber wenn einer schon ein so aufwendiges Tutorial schreibt, dann hat er das ja erfolgreich getestet.
Ich habe zwischenzeitlich auch mal diverse andere Versionen von pdftk getestet, ebenfalls ohne Erfolg.

ALLERDINGS
läßt sich der Titel mit deinem Tool ändern, wenn sie mit pdf-Writer geschrieben wurde.(pdf-Version 1.2)!!!

Grüße
stoppel70
Bitte warten ..
Mitglied: stoppel70
24.04.2012 um 21:25 Uhr
Hallo mal wieder,
nachdem pdftk mit Ghostscript-basierten pdf-Dateien scheinbar nicht klar kommt, habe ich nach einer Alternative gesucht und auch gefunden:
http://www.becyhome.de/download_ger.htm#becypdfmetaedit

Mit nachfolgendem Skript funktioniert das Ganze per Drag&Drop wie beabsichtigt; auch die sendto-Methode klappt.

01.
@echo off & setlocal 
02.
for /f "tokens=5 delims=_" %%i in ("%~1") do ( 
03.
    echo [Info] 
04.
    echo Title="%%i" 
05.
)>%temp%\this.ini 
06.
C:\Programme\BeCyPDFMetaEdit\BeCyPDFMetaEdit.com "%~1" -X 1 -tf %temp%\this.ini
Das Argument '-X 1' scheint nötig zu sein um zunächst die XMP-Metadaten zu eleminieren, genaueres unter Punkt 1.3 der Hilfe zu becypdfmetaedit.

Wer's eleganter möchte, wird den PATH anpassen und evtl. die this.ini löschen lassen. Was noch nicht funktioniert ist, mehrere Dateien auf einmal abarbeiten zu lassen.

Grüße, stoppel70
Bitte warten ..
Mitglied: stoppel70
27.04.2012 um 23:34 Uhr
so, ich denke das Thema ist dann gelöst:

01.
@echo off & setlocal 
02.
:Loop 
03.
if "%~1"=="" goto :eof 
04.
for /f "tokens=5 delims=_" %%i in ("%~1") do ( 
05.
    echo [Info] 
06.
    echo Title="%%i" 
07.
)>%temp%\this.ini 
08.
"C:\Program Files (x86)\BeCyPDFMetaEdit\BeCyPDFMetaEdit.com" %1 -X 1 -tf %temp%\this.ini 
09.
shift 
10.
goto :Loop
Der Batch wird in das sendto Verzeichnis (im Explorer 'shell:sendto') gelegt und kann jetzt auch mit mehreren markierten pdf-Dateien ausgelöst werden.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Microsoft Office
gelöst Excel Pdf Datei als Icon Symbol in Word einfügen per Drag and drop? (4)

Frage von Geforce zum Thema Microsoft Office ...

Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

VB for Applications
gelöst PDF Datei auslesen und per VBA in Excel schreiben (3)

Frage von Julian8990 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

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

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...