Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Erstelldatum einer PDF auslesen

Erstelldatum einer PDF auslesen
18.03.2014 13:53:35
michael
Hallo zusammen,
ich habe das Ziel eine Tabelle zu erstellen in dem alle PDF-Dateien eines Laufwerkspfad aufgelistet sind.
Das geht noch.
Das Problem ist, das ich die Daten "Erstellt" und "Geändert" aus den Metadaten der Eigenschaften der PDF auslesen will/muß. Das sind nicht dieselben wie win7 sie im explorer angibt.
Wenn man eine PDF öffnet und dann auf Eigenschaften geht findet man die Daten.
Das Programm "BeCyPDFMetaEdit" kann die daten anzeigen ohne die ganze PDF zu öffnen, also muss das irgendwie gehen.
also Vorgabe für diese Unterroutine wäre:
- Pfad mit Dateiname
Rückgabe
- Erstellt
- Geändert
und das ganze mit VBA
Weder Google & Co noch Forumssuche haben mich weiter gebracht.
im voraus vielen Dank für hilfen
Michael

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erstelldatum einer PDF auslesen
18.03.2014 14:45:55
UweD
Hallo
erste Googlesuche:
Sub GetFileDate()
Dim fso As Object
Dim fsFile As Object
Dim dReturn As Date
Dim sFilePath As String
Set fso = CreateObject("Scripting.FileSystemObject")
sFilePath = "C:\Temp\Test.pdf"
'Existiert die Datei?
If fso.FileExists(sFilePath) Then
Set fsFile = fso.GetFile(sFilePath)
dReturn = fsFile.DateLastModified   ' - Letzte Änderung
'Alternativen:
'dReturn = fsFile.DateLastAccessed  ' - Letzter Zugriff
'dReturn = fsFile.DateCreated       ' - Erstelldatum
Else
'Irgendein Rückgabedatum für den Elsefall wählen, um diesen nachher abzufangen
dReturn = " #9 9 99#"
End If
MsgBox dReturn
End Sub
Gruß UweD

Anzeige
AW: Erstelldatum einer PDF auslesen
18.03.2014 15:26:05
michael
Hallo UweD
Danke für deine mühe aber die Daten habe ich schon.
Nochmal was ich will:
nimm eine beliebige PDF kopiere sie in ein anderen Pfad.
Dadurch ändern sich die von deiner Routine ermittelten Daten.
jetzt PDF öffnen und im reader auf Eigenschaften gehen, dann sieht man das Datum wann die PDF erstellt wurde, das ist nicht das dasselbe wie bei deiner Kopieraktion.
Diese Daten brauche ich. Wenn du jetzt das original öffnest sind die Daten identisch.
Ich brauche wann die PDF zum ersten mal in ihrem leben erstellt wurde nicht wann sie nochmal kopiert wurde.
https://www.herber.de/bbs/user/89727.jpg
aber nochmal danke für den schnellen hilfe versuch.
im voraus vielen Dank für hilfen
Michael

Anzeige
PDF Dateien - Erstelldatum...
18.03.2014 15:18:39
Case
Hallo, :-)
da sich die Daten doch erheblich unterscheiden (schon beim kopieren der Datei wird das Erstelldatum angepasst) hast Du zwei Möglichkeiten:
entweder über das Tool "PDFtk":
PDFtk...
Dann die Metadaten auslesen:
Wie macht man das...
Das Tool muss nicht zwingend installiert werden, da es dieses auch als Portable Version gibt.
Oder Du liest die PDF-Datei per VBA einfach in einen Textstream und splittest nach "ModDate" bzw. "CreationDate". Für die Anzahl Seiten würdest Du z. B. nach "Pages/Count" suchen.
Servus
Case

Anzeige
AW: PDF Dateien - Erstelldatum...
18.03.2014 15:39:38
michael
Hallo case
Damit ist mein Problem gelöst ;-))
Super
Wuste gar nicht das es als Klartext in der Datei steht!
Danke nochmal
michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Erstelldatum einer PDF auslesen und verarbeiten


Schritt-für-Schritt-Anleitung

Um das Erstelldatum einer PDF zu ermitteln, kannst Du verschiedene Methoden nutzen. Eine häufige Vorgehensweise ist die Verwendung von VBA in Excel. Hier ist ein einfaches Beispiel:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu (Einfügen > Modul).

  3. Kopiere und füge den folgenden Code ein:

    Sub GetPDFMetadata()
       Dim pdfFilePath As String
       Dim pdfInfo As Object
       pdfFilePath = "C:\Temp\Test.pdf"
       Set pdfInfo = CreateObject("Adobe.Acrobat.Pdf")
    
       ' PDF öffnen
       pdfInfo.Open pdfFilePath
    
       ' Erstelldatum und Änderungsdatum auslesen
       MsgBox "Erstelldatum: " & pdfInfo.GetInfo("CreationDate") & vbCrLf & _
              "Änderungsdatum: " & pdfInfo.GetInfo("ModDate")
    
       ' PDF schließen
       pdfInfo.Close
    End Sub
  4. Stelle sicher, dass der Pfad zur PDF-Datei korrekt ist.

  5. Führe das Skript aus, um das Erstelldatum und das Änderungsdatum anzuzeigen.

Diese Methode funktioniert gut, um die PDF-Metadaten auszulesen, insbesondere das Erstelldatum.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe den Pfad zur PDF-Datei. Stelle sicher, dass die Datei existiert und der Pfad korrekt ist.
  • Fehler: "Objekt kann nicht gefunden werden"

    • Lösung: Stelle sicher, dass Adobe Acrobat installiert ist und die richtige Referenz im VBA-Editor hinzugefügt wurde.
  • Fehler: Das Erstelldatum wird nicht korrekt angezeigt.

    • Lösung: Überprüfe die PDF-Eigenschaften im Acrobat Reader. Manchmal können die angezeigten Daten von den Metadaten abweichen.

Alternative Methoden

Falls Du keine VBA-Programmierung verwenden möchtest, gibt es mehrere Tools, die Dir helfen können, das Erstelldatum einer PDF herauszufinden:

  1. BeCyPDFMetaEdit:

    • Ein kostenloses Tool, das die PDF-Metadaten auslesen kann, ohne die Datei zu öffnen. Du kannst es hier herunterladen.
  2. PDFtk:

    • Ein weiteres nützliches Tool, um PDF-Metadaten auszulesen. Es ist als portable Version verfügbar und benötigt keine Installation. Weitere Informationen findest Du auf der PDFtk-Website.

Praktische Beispiele

Hier sind einige Beispiele, wie Du das Erstelldatum einer PDF ermitteln kannst:

  • Verwende BeCyPDFMetaEdit:

    • Öffne das Programm, lade die PDF-Datei und klicke auf „Metadaten anzeigen“. Dort findest Du das Erstelldatum.
  • VBA mit Textstream:

    • Du kannst auch einen Textstream verwenden, um die PDF-Datei zu lesen und nach den Schlüsselwörtern „CreationDate“ oder „ModDate“ zu suchen.
    Sub ReadPDFMetadata()
       Dim pdfFilePath As String
       Dim fileStream As Object
       pdfFilePath = "C:\Temp\Test.pdf"
       Set fileStream = CreateObject("Scripting.FileSystemObject").OpenTextFile(pdfFilePath)
       Dim line As String
    
       Do While Not fileStream.AtEndOfStream
           line = fileStream.ReadLine
           If InStr(line, "CreationDate") > 0 Then
               MsgBox "Erstelldatum gefunden: " & line
           End If
       Loop
       fileStream.Close
    End Sub

Tipps für Profis

  • Nutze die PDF-Metadaten auslesen-Funktion von Tools wie PDFtk oder BeCyPDFMetaEdit, um die Daten schnell und effizient zu extrahieren.
  • Wenn Du regelmäßig mit PDF-Metadaten arbeitest, automatisiere den Prozess mit VBA und speichere die Ergebnisse in einer Excel-Tabelle.
  • Achte darauf, dass Du die Berechtigungen hast, die PDF-Dateien zu bearbeiten oder auszulesen, um rechtliche Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich das Erstelldatum einer bearbeiteten PDF erkennen?
Das Erstelldatum ist in den Metadaten gespeichert. Tools wie BeCyPDFMetaEdit und PDFtk helfen dabei, die Metadaten auszulesen und Änderungen nachzuverfolgen.

2. Kann ich das Erstelldatum einer PDF ändern?
Ja, mit den richtigen Tools wie BeCyPDFMetaEdit kannst Du das Erstelldatum in den PDF-Metadaten ändern. Achte darauf, dass solche Änderungen rechtliche Konsequenzen haben können.

3. Welche Excel-Version benötige ich für die VBA-Methoden?
Die oben genannten VBA-Methoden funktionieren in Excel 2010 und späteren Versionen. Stelle sicher, dass Du die entsprechenden Bibliotheken hinzugefügt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige