Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   mit VBA PDF-Informationen auslesen (https://www.delphipraxis.net/103368-mit-vba-pdf-informationen-auslesen.html)

FriFra 14. Nov 2007 21:26


mit VBA PDF-Informationen auslesen
 
Hat jemand eine Idee, wie man mit VBA an die PDF-Infos (z.B. Created oder Modified) heran kommen kann?


P.S.: Das Erstellungsdatum der datei ist NICHT das pdf-Erstellungsdatum ;)

Bernhard Geyer 14. Nov 2007 21:36

Re: mit VBA PDF-Informationen auslesen
 
Wenns der Explorer nicht über erweiterte Dateieigenschaften anbieten kann wirst du entweder die Acrobat Vollversion, Komponenten wie PDF-Toolkit benötigen oder du ziehst dir ein paar Wochen das PDF-Format rein und liest es selbst aus.

omata 14. Nov 2007 21:54

Re: mit VBA PDF-Informationen auslesen
 
Oder du schaust dir mal pdftk an...

FriFra 16. Nov 2007 10:46

Re: mit VBA PDF-Informationen auslesen
 
Zitat:

Zitat von Bernhard Geyer
Wenns der Explorer nicht über erweiterte Dateieigenschaften anbieten kann wirst du entweder die Acrobat Vollversion, Komponenten wie PDF-Toolkit benötigen oder du ziehst dir ein paar Wochen das PDF-Format rein und liest es selbst aus.

Der Explorer zeigt es auf einem extra Reiter "PDF" an... nur wie komme ich da dran?
Das ganze soll möglichst mit Bordmitteln (Acrobat Reader ist installiert) erfolgen.

omata 16. Nov 2007 19:46

Re: mit VBA PDF-Informationen auslesen
 
Da du mich ja so erfolgreich ignoriert hast...
Code:
  Set objShell = CreateObject("WScript.Shell")
  Set objExec = objShell.Exec("c:\...\pdftk.exe c:\...\datei.pdf dump_data")
  strPingResults = LCase(objExec.StdOut.ReadAll)
  MsgBox (strPingResults)

störe ich eigentlich nur sehr ungern.

Aber vielleicht ist der Vorschlag mit pdftk zu einfach, immerhin muss dafür nichts installiert werden.

FriFra 16. Nov 2007 21:42

Re: mit VBA PDF-Informationen auslesen
 
Zitat:

Zitat von omata
Da du mich ja so erfolgreich ignoriert hast...

Ok, die Idee ist nicht schlecht, aber ichbrauche eben doch die pdftk.exe ... Für so etwas muss doch der Acrobat-Reader selbst auch gehen... der Explorer bekommt es doch auch ohne pdftk.exe hin :?

hathor 16. Nov 2007 23:42

Re: mit VBA PDF-Informationen auslesen
 
Warum mit VBA?

Es geht auch mit Bordmittel ohne ACROBAT-Zeugs:

Delphi-Quellcode:
FUNCTION getcreationtime(SR : TsearchRec) : string;
begin result:= getfiletime(SR.finddata.ftCreationtime); end;

FUNCTION getcreationdate(SR : TsearchRec) : string;
begin result:= getfiledate(SR.finddata.ftCreationtime); end;

FUNCTION getlastaccessdate(SR : TsearchRec) : string;
begin result:= getfiledate(SR.finddata.ftCreationtime); end;

FUNCTION getlastaccesstime(SR : TsearchRec) : string;
begin result:= getfiletime(SR.finddata.ftCreationtime); end;

FUNCTION getLastWritedate(SR : TsearchRec) : string;
begin result:= getfiledate(SR.finddata.ftLastWriteTime); end;

FUNCTION getLastWritetime(SR : TsearchRec) : string;
begin result:= getfiletime(SR.finddata.ftLastWriteTime); end;
oder direkt aus dem File: Creationdate suchen - da steht Datum und Uhrzeit:
Delphi-Quellcode:
 Offset   0  1  2  3  4  5  6  7  8  9  A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F

00000D20  3C 3C 2F 50 72 6F 64 75 63 65 72 28 41 46 50 4C 20 47 68 6F 73 74 73 63 72 69 70 74 20 38 2E 35 
<</Producer(AFPL Ghostscript 8.5
00000D40  34 29 0A 2F 43 72 65 61 74 69 6F 6E 44 61 74 65 28 44 3A 32 30 30 37 31 31 31 37 30 30 31 35 32  4)./CreationDate(D:2007111700152
00000D60  33 29 0A 2F 4D 6F 64 44 61 74 65 28 44 3A 32 30 30 37 31 31 31 37 30 30 31 35 32 33 29 0A 2F 54  3)./ModDate(D:20071117001523)./T
00000D80  69 74 6C 65 28 54 45 53 54 74 68 29 0A 2F 43 72 65 61 74 6F 72 28 46 72 65 65 50 44 46 20 58 50  itle(TESTth)./Creator(FreePDF XP
00000DA0  20 33 2E 32 34 20 2D 20 68 74 74 70 3A 2F 2F 73 68 62 6F 78 2E 64 65 29 0A 2F 41 75 74 68 6F 72   
3.24 - [url]http://shbox.de[/url])./Author
00000DC0  28 48 41 54 48 4F 52 29 3E 3E 65 6E 64 6F 62 6A 0A 78 72 65 66 0A 30 20 31 34 0A 30 30 30 30 30  (HATHOR)>>endobj.xref.0 14.00000
00000DE0  30 30 30 30 30 20 36 35 35 33 35 20 66 20 0A 30 30 30 30 30 30 30 35 31 39 20 30 30 30 30 30 20 
00000 65535 f .0000000519 00000 
00000E00  6E 20 0A 30 30 30 30 30 30 33 33 35 32 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 34 35 
n .0000003352 00000 n .000000045
00000E20  31 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 32 39 31 20 30 30 30 30 30 20 6E 20 0A 30 
1 00000 n .0000000291 00000 n .0
00000E40  30 30 30 30 30 30 30 31 35 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 32 37 32 20 30 30 
000000015 00000 n .0000000272 00
00000E60  30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 35 36 37 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 
000 n .0000000567 00000 n .00000
00000E80  30 30 36 36 38 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 39 37 34 20 30 30 30 30 30 20 
00668 00000 n .0000000974 00000 
00000EA0  6E 20 0A 30 30 30 30 30 30 30 36 30 38 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 36 33 
n .0000000608 00000 n .000000063
00000EC0  38 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 31 31 37 37 20 30 30 30 30 30 20 6E 20 0A 30 
8 00000 n .0000001177 00000 n .0
00000EE0  30 30 30 30 30 30 38 36 31 20 30 30 30 30 30 20 6E 20 0A 74 72 61 69 6C 65 72 0A 3C 3C 20 2F 53 
000000861 00000 n .trailer.<< /S
00000F00  69 7A 65 20 31 34 20 2F 52 6F 6F 74 20 31 20 30 20 52 20 2F 49 6E 66 6F 20 32 20 30 20 52 0A 2F
ize 14 /Root 1 0 R /Info 2 0 R./
00000F20  49 44 20 5B 3C 34 44 44 33 30 34 34 35 33 34 33 32 37 42 45 34 45 31 37 35 36 32 37 43 33 32 46 
ID [<4DD3044534327BE4E175627C32F
00000F40  35 38 31 35 30 3E 3C 34 44 44 33 30 34 34 35 33 34 33 32 37 42 45 34 45 31 37 35 36 32 37 43 33  58150><4DD3044534327BE4E175627C3
00000F60  32 46 35 38 31 35 30 3E 5D 0A 3E 3E 0A 73 74 61 72 74 78 72 65 66 0A 33 35 33 37 0A 25 25 45 4F 2F58150>].>>.startxref.3537.%%EO
00000F80  46 0A                                                                                           F.

FriFra 18. Nov 2007 22:39

Re: mit VBA PDF-Informationen auslesen
 
Zitat:

Zitat von hathor
Warum mit VBA?

Weil es sich eben nicht überall vermeiden lässt ;)

Also getcreationtime, liefert auf keinen Fall das Erstellungsdatum des PDF, bestenfalls das Downloaddatum ;)

Der Tip mit dem ModDate ist gut... den werde ich jetzt mal weiter verfolgen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz