Bonjour à tous,
je me permets de vous demander de l'aide car cela fait depuis plusieurs jours que je cherche une solution, mais sans y arriver.
Donc voilà, je bosse en ce moment sur un projet qui consiste à extraire les métadonnées de PDF pour les intégrer dans une base de données.
Les métadonnées sont présents en XML qui ait lui même intégrer dans les fichiers PDF.
Le problème étant qu'Adobe n'a pas fait les choses simples et les XML contenues dans les PDF sont une vraie plaie.
Enfin voici un exemple d'XML que j'ai extrais:
Donc je voudrais récupérer les données contenues dans les balises suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 <?xpacket begin="?" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.2-c001 63.139439, 2010/09/27-13:37:26 "> <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/"> <xmp:CreateDate>2011-12-19T16:38:21+01:00</xmp:CreateDate> <xmp:ModifyDate>2011-12-19T16:44:21+01:00</xmp:ModifyDate> <xmp:MetadataDate>2011-12-19T16:44:21+01:00</xmp:MetadataDate> </rdf:Description> <rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> <pdf:Producer>doPDF Ver 7.2 Build 370 (Windows XP Professional Edition (SP 3) - Version: 5.1.2600 (x86))</pdf:Producer> </rdf:Description> <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:identifier>RAPPORT0001</dc:identifier> <dc:source>56</dc:source> <dc:coverage>Trédion</dc:coverage> <dc:format>application/pdf</dc:format> <dc:title> <rdf:Alt> <rdf:li xml:lang="x-default">Ceci est le nom de mon rapport</rdf:li> </rdf:Alt> </dc:title> <dc:publisher> <rdf:Bag> <rdf:li>Nom de l'entreprise</rdf:li> </rdf:Bag> </dc:publisher> <dc:date> <rdf:Seq> <rdf:li>2011</rdf:li> </rdf:Seq> </dc:date> <dc:creator> <rdf:Seq> <rdf:li>Dupont Luc</rdf:li> </rdf:Seq> </dc:creator> <dc:rights> <rdf:Alt> <rdf:li xml:lang="x-default">Publiable</rdf:li> </rdf:Alt> </dc:rights> <dc:description> <rdf:Alt> <rdf:li xml:lang="x-default">Type d'opération</rdf:li> </rdf:Alt> </dc:description> </rdf:Description> <rdf:Description rdf:about="" xmlns:dex="http://ns.optimasc.com/dex/1.0/"> <dex:licensetype>unknown</dex:licensetype> <dex:ffid>000000001-60-0015930</dex:ffid> </rdf:Description> <rdf:Description rdf:about="" xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"> <illustrator:StartupProfile>Print</illustrator:StartupProfile> </rdf:Description> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> <xmpMM:DocumentID>uuid:ba35b60b-e3bb-494d-94e9-436b5a60ce6b</xmpMM:DocumentID> <xmpMM:InstanceID>uuid:9ac3b895-bd69-4145-ad3b-b510126ad3af</xmpMM:InstanceID> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="w"?>
- "RAPPORT0001" qui se trouve dans la balise = dc:identifier
- "56" qui se trouve dans = dc:source
- "Trédion" qui se trouve dans = dc:coverage
- "Ceci est le nom de mon rapport" qui se trouve dans = dc:title et dans le sous-élément rdf:Alt
- "2011" qui se trouve dans = dc:date et dans le sous-élément rdf:Seq et rdf:li
- "Dupont Luc" = dc:creator et dans le sous-élément rdf:Seq et rdf:li
- "Publiable" = dc:rights et dans le sous-élément rdf:Alt et rdf;li
- et enfin "Type d'opération" qui se trouve dans dc:description et rdf:Alt
Partager