On Mon, 26 Feb 2007 09:58:39 +0100, "Is"
<detteerminnewsgruppemailadresse2@get2net.dk> wrote:
>På en hjemmeside lægger jeg nogle .pdf filer ud, som man så kan åbne
>med et klik på et pdf logo.
>
>Men for at brugerne kan vide hvornår filerne er fra, har jeg under
>hvert sat dato for hvornår filen er lavet.
>
>Kan man lave noget, så fra .pdf filen henter "senest gemt den"
Det er det, der hedder PDF'ens Metadata, og de ligger gemt i PDF-filen.
Problemet er, at PDF'er kan være genereret af mange forskellige
applikationer - og i mange forskellige versioner. Og Meta-data kan have
forskellige formater.
Jeg har kigget på nogle forskellige PDF-filer, jeg har liggende, ved at
at åbne dem med en ASCII-viewer - og får fx:
1)
Genereret fra PageMaker 7.0:
<xap:CreateDate>2007-02-19T02:02:49+01:00</xap:CreateDate>
<xap:CreatorTool>PageMaker 7.0</xap:CreatorTool>
<xap:ModifyDate>2007-02-19T02:02:49+01:00</xap:ModifyDate>
2)
Genereret af en "PDF-printer" fra Word:
/CreationDate (D:20030814231448)
3)
Genereret af et ASP-script:
/CreationDate (D:200721425722)
- altså samme format
Tager jeg så det sidste dokument og gemmer det fra Acrobat, får jeg
tilføjet en række ekstra Metadata i forskellige formater:
11 0 obj
/CreationDate(D:200721425722)
/CreationDate--Text(D:200721425722)
17 0 obj
<pdf:CreationDate--Text>D:200721425722</pdf:CreationDate--Text>
<xap:ModifyDate>2007-03-01T03:47:37+01:00</xap:ModifyDate>
<xap:MetadataDate>2007-03-01T03:47:37+01:00</xap:MetadataDate>
- de nederste er i et eller andet XML-format
4)
Endnu et dokument
13 0 obj
/CreationDate(D:20072143312)
/CreationDate--Text(D:20072143312)
/ModDate(D:20070301033034+01'00')
<pdf:CreationDate--Text>D:20072143312</pdf:CreationDate--Text>
<xap:ModifyDate>2007-03-01T03:30:34+01:00</xap:ModifyDate>
<xap:CreateDate>2007-03-01T03:29:31+01:00</xap:CreateDate>
Så det ser ud til, at der er mindst 3 "grundformater":
a) /CreationDate(D:20072143312)
b) /ModDate(D:20070301033034+01'00')
c) Det XML-baserede
Jeg kan ikke umiddelbart gennemskue formatet for:
/CreationDate (D:20030814231448)
- mens
/ModDate(D:20070301033034+01'00')
og
<xap:ModifyDate>2007-03-01T03:30:34+01:00</xap:ModifyDate>
er lige til at læse.
Så hvis alle dine PDF-filer har /ModDate eller :ModifyDate i "læsbart"
format, kan du nemt hente dem ved at indlæse PDF-filen med FSO og så
hente strengen med alm. streng-funktioner. Herfra kan du nemt uddrage
din dato/tid.
Jeg vil dog advare mod at hente dem hver eneste gang en bruger tilgår
siden, da det formentlig vil tage tid.
Men du kunne gemme denne info (fx i en Application-variabel), hver gang
du opdaterer, og/eller fx en gang i døgnet (eller oftere/sjældnere,
afhængigt af dit behov).
Good luck,
Jørn
--
Jørn Andersen, Brønshøj
ALLE danske tropper HJEM fra Irak, NU
Skriv under:
www.kirkmand-initiativet.dk
Demonstrér 17. marts:
www.nejtilkrig.dk