Ajouter des propriétés dans XMP | Python
Pour ajouter des propriétés aux métadonnées XMP d’un fichier EPS, vous devrez suivre ces étapes :
- Initialisez un flux d’entrée pour le fichier EPS d’entrée.
- Créez une instance de PsDocument à partir du flux d’entrée précédemment créé.
- Obtenez une instance de XmpMetadata à partir du PsDocument. Si le fichier EPS ne contient pas de métadonnées XMP, un nouveau sera créé et rempli avec les valeurs des commentaires de métadonnées PS, puis vous sera renvoyé.
- Vous pouvez maintenant ajouter des propriétés aux champs de métadonnées.
- Initialisez un flux de sortie pour le fichier EPS de sortie.
- Enregistrez le fichier EPS avec les métadonnées XMP mises à jour.
Vous trouverez ci-dessous un extrait de code montrant comment ajouter des propriétés aux métadonnées XMP d’un fichier EPS à l’aide de Python :
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_xmp_metadata_in_eps()
3# Initialize an EPS file input stream
4ps_stream = open(data_dir + "add_simple_props_input.eps", "rb",)
5# Create a PsDocument instance from stream
6document = PsDocument(ps_stream)
7
8try:
9 # Get XMP metadata. If EPS file doesn't contain any XMP metadata we get a new one filled with values from PS metadata comments (%%Creator, %%CreateDate, %%Title etc)
10 xmp = document.get_xmp_metadata()
11
12 #Change the XMP metadata values
13
14
15 now = datetime.utcnow()
16
17 # Add an Integer poperty
18 xmp.add("xmp:Intg1", XmpValue(111))
19
20 # Add a DateTime poperty
21 xmp.add("xmp:Date1", XmpValue(now))
22
23 # Add a Double poperty
24 xmp.add("xmp:Double1", XmpValue(111.11))
25
26 # Add a String poperty
27 xmp.add("xmp:String1", XmpValue("ABC"))
28
29 # Save the EPS file with the changed XMP metadata
30
31 # Create an ouput stream
32 with open(data_dir + "add_simple_props_output.eps", "wb") as out_ps_stream:
33 # Save the EPS file
34 document.save(out_ps_stream)
35
36finally:
37 ps_stream.close()
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.