Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>"Echtes" Änderungsdatum eines PDF auslesen

"Echtes" Änderungsdatum eines PDF auslesen

camaso
camaso01.10.1817:23
Hallo Gemeinde
Es geht um Bankbelege, welche ich sporadisch runterlade und ablege. Diese erhalten durch den Downloadvorgang neue Erstellungs- und Änderungsdaten = heute, jetzt. Ich benötige für den Sortiervorgang jedoch das tatsächliche, "echte" Änderungsdatum jeder Datei, welches natürlich davor liegen muss. Die Vorschau zeigt (vermutlich) dieses letzte Änderungsdatum des Dokumenterstellers, welches ich benutzen würde, könnte ich es auslesen. Kann mir jemand zeigen, wie ich das bewerkstelligen kann?

Angaben im Finder:



Angaben in der Vorschau:

0

Kommentare

dan@mac
dan@mac01.10.1818:54
Wo sortierst du denn die Daten? Der Finder kann das offensichtlich nicht auslesen. Vielleicht wäre etwas wie diese App https://gobdokumente.de/deutsch.html was für dich, wenn es sich um geschäftliche Belege handelt.
0
camaso
camaso02.10.1809:17
Ich verwalte die Daten mit DevonThinkPro. Ob dieses (oder das von Dir verlinkte Programm) dieses Änderungsdatum auslesen kann, welches die Vorschau offenbar problemlos findet, weiss ich allerdings nicht, denke aber, wenn es die Vorschau so einfach schafft, wäre es schön, wenn man damit auch arbeiten könnte.
Wo würde man denn dieses Datum finden können? Es muss doch in irgendwelchen Metadaten enthalten sein.
0
MikeMuc02.10.1809:26
Da das korrekte Datum auch im Dateinamen steckt kannst du dir auch ein simples AppleScript Droplet erstellen welches das Datum aus dem Namen extrahiert und dann das Änderungsdatum der Datei entsprechen anpaßt. Kein Hexenwerk und im Internet gibts für beides Beispiele. Mußt du dann nur noch „zusammenrühren“
0
Deichkind02.10.1809:51
Das eine sind Metadaten des Dateisystems, das andere Metadaten des pdf-Dokuments.
Ich verlasse mich bei der zeitlich richtigen Sortierung nie auf das Dateidatum, sondern füge das Dokumentendatum im ISO-Format YYYY-MM-DD an einer passenden Stelle in den Dateinamen ein und sortiere alphabetisch.
+3
camaso
camaso02.10.1810:44
MikeMuc
Da das korrekte Datum auch im Dateinamen steckt kannst du dir auch ein simples AppleScript Droplet erstellen welches das Datum aus dem Namen extrahiert und dann das Änderungsdatum der Datei entsprechen anpaßt. Kein Hexenwerk und im Internet gibts für beides Beispiele. Mußt du dann nur noch „zusammenrühren“
Das Problem dabei ist, dass ich eine Menge Bankbelege so bekomme, die z.T. dasselbe Datum im Namen tragen plus eine fünfstellige Nummer. Zunächst dachte ich, mit der Nummer liesse sich was anfangen, aber die ist nicht fortlaufend... Auch die Zeitangabe reicht nicht, denn sie ist nur hh:mm, es fehlt ss.
Mittlerweile habe ich herausgefunden, dass die Daten in Acrobat angezeigt werden (xmp). Kann mir jemand sagen, wie ich die auslesen kann, sodass ich sie bspw. als Dateiname verwenden kann?

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.1.0-jc003">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about=""
        xmlns:xmp="http://ns.adobe.com/xap/1.0/"
        xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
        xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent #"
        xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"
      xmp:CreatorTool="Compart Docponent API"
      xmp:CreateDate="2018-09-29T06:34:51+01:00"
      xmp:ModifyDate="2018-09-29T06:42:15+02:00"
      xmp:MetadataDate="2018-09-29T06:42:15+02:00"
      pdf:Producer="iText¬Æ 5.5.9 ¬©2000-2015 iText Group NV (KEYON AG; licensed version)"

0
Sindbad02.10.1810:53
Cool.
Wusste ich bisher nicht, dass das echte Erstellungsdatum im PDF nochmal hinterlegt ist.

Dein Wunsch, dieses auszulesen und als Datei-creation-Datum zu setzen, wäre nützlich.
Prädestiniert dafür wäre "A better Finder attributes 6" .
Das Programm kann dies aber nur für Bilder: Aus den EXIF-Daten kann es das Creation-Datum ändern.

Schreib dem Programmierer eine Mail . Das Feature wäre eine super Bereicherung für seine Software.
+1
Peter Eckel02.10.1813:24
camaso
Mittlerweile habe ich herausgefunden, dass die Daten in Acrobat angezeigt werden (xmp). Kann mir jemand sagen, wie ich die auslesen kann, sodass ich sie bspw. als Dateiname verwenden kann?

Andersherum gefragt: Wie gut kommst Du mit der Programmierung kleiner Hilfstools, z.b. in Python, klar?

Das hier wäre z.B. ein Codeschnipsel, der das Erstellungs- und das letzte Modifikationsdatum einer Datei aus dem PDF-Header ausliest:
#!/usr/local/bin/python3

import sys
from PyPDF2 import PdfFileReader

with open(sys.argv[1], 'rb') as pdf_file:
    pdf_doc =  PdfFileReader(pdf_file)
    pdf_info = pdf_doc.getDocumentInfo()

    print('Creation Date:     %s' % pdf_info['/CreationDate'])
    print('Modification Date: %s' % pdf_info['/ModDate'])

Angewandt sieht das dann so aus:
macallan:~ pete$ ./pdfinfo.py test.pdf 
Creation Date:     D:20140819094058+02'00'
Modification Date: D:20140819094058+02'00'

Wenn Du nicht gerade zwei linke Hände beim Programmieren hast, kannst Du das ziemlich einfach zu einem Tool aufblasen, das Dir die Dateien entsprechend umbenennt.

python3 bekommst Du im Zweifel per Homebrew, PyPDF2 dann über pip.
„Ceterum censeo librum facierum esse delendum.“
0
camaso
camaso02.10.1813:34
Hui, da bin ich schon etwas am Anschlag...

Liest dieser Code das Änderungsdatum des Finders aus oder dasjenige aus den xmp-Daten? Weil die sind ja unterschiedlich, wie oben gezeigt.

*********

Ich habe mir erlaubt, einen neuen Thread aufzumachen, weil dieser hier zwar an der richtigen Frage arbeitet, aber nicht (mehr) den richtigen Titel hat: Wie xmp-Daten auslesen und für Dateinamen verwenden?
0
Peter Eckel02.10.1819:07
camaso
Hui, da bin ich schon etwas am Anschlag...

Liest dieser Code das Änderungsdatum des Finders aus oder dasjenige aus den xmp-Daten? Weil die sind ja unterschiedlich, wie oben gezeigt.

Genau ersteres - der Code liest den PDF-Header aus dem File und extrahiert die Daten.

Wenn das aber schon Dein Anschlag ist, ist das vermutlich nicht ganz der richtige Weg. Man muß sich ja für eine Routeineaufgabe keine Gewalt antun.
„Ceterum censeo librum facierum esse delendum.“
0
camaso
camaso03.10.1808:30
Wenn damit das Finder-Änderungsdatum ausgelesen wird, bringt es mir leider nichts. Ich muss an die xmp-Daten rankommen. Die stehen wohl nicht im Header, denn gefunden habe ich sie erst nach längerem suchen mithilfe von TextEdit.

Routineaufgaben sind für denjenigen, der sie schon immer gemacht hat, einfach. Für Leute, die das Feld überhaupt nicht kennen, sind sie eine Hürde. Aber die kann man überwinden.
0
Peter Eckel03.10.1814:38
camaso
Wenn damit das Finder-Änderungsdatum ausgelesen wird, bringt es mir leider nichts.

Nochmal: Es ist nicht das Finder-Änderungsdatum, sondern das im PDF abgelegte Datum. Für das Finder-Änderungsdatum braucht man kein Script und kein PyPDF2, das ist trivial.

Argh, ich sehe gerade woher dieses Mißverständnis kommt ... in meinem letzten Beitrag sollte es natürlich "Genau letzteres" und nicht "Genau ersteres" heißen. Aber wie gesagt, ein Python-Programm mit einem spezifischen PDF-Modul herzunehmen, um das Finder-Datum auszulesen, wäre ziemlich übler Bullshit, das macht nicht mal jemand, der "ersteres" und "letzteres" verwechselt
„Ceterum censeo librum facierum esse delendum.“
+2
camaso
camaso03.10.1815:09
Danke für die Erklärung. Dann mache ich mich mal an die Arbeit...
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.