Modifier la valeur nommée des métadonnées XMP | Python
Afin de modifier la valeur nommée dans les métadonnées XMP du fichier EPS, vous devrez suivre plusieurs é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 modifier la valeur nommée des champs de métadonnées de structure.
- Initialisez un flux de sortie pour le fichier EPS de sortie.
- Enregistrez le fichier EPS avec les nouvelles métadonnées XMP.
Voici un extrait de code qui montre comment modifier la valeur nommée dans les métadonnées XMP dans le fichier EPS en Python :
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_xmp_metadata_in_eps()
3# Initialize a EPS file input stream
4ps_stream = open(data_dir + "add_named_value_input.eps", "rb",)
5# Create a PsDocument instance from the stream
6document = PsDocument(ps_stream)
7
8try:
9 # Get XMP metadata. If the EPS file doesn't contain 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 # Change the named value "stDim:unit" in "xmpTPg:MaxPageSize" structure.
15 xmp.set_named_value("xmpTPg:MaxPageSize", "stDim:unit", XmpValue("Inches"))
16
17 # Add the named value "stDim:newKey" in "xmpTPg:MaxPageSize" structure.
18 xmp.set_named_value("xmpTPg:MaxPageSize", "stDim:newKey", XmpValue("NewValue"))
19
20 # Save the EPS file with changed XMP metadata
21
22 # Create an ouput stream
23 with open(data_dir + "change_named_value_output.eps", "wb") as out_ps_stream:
24 # Save EPS file
25 document.save(out_ps_stream)
26
27finally:
28 ps_stream.close()
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.