Ajouter un espace de noms XML dans XMP | Python
Pour ajouter un espace de noms XML aux métadonnées XMP d’un fichier EPS, vous devez effectuer les étapes suivantes :
- 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 un nouvel espace de noms XML aux 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.
L’exemple de code suivant montre comment ajouter un espace de noms XML aux métadonnées XMP dans 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 XMP metadata values
13
14 # Add a new XML namespace "tmp".
15 xmp.register_namespace_uri("tmp", "http://www.some.org/schema/tmp#")
16
17 # Add a new string property in new namespace.
18 xmp.add("tmp:newKey", XmpValue("NewValue"))
19
20 # Save the EPS file with the changed XMP metadata
21
22 # Create an ouput stream
23 with open(data_dir + "add_namespace_output.eps", "wb") as out_ps_stream:
24 # Save EPS file
25 document.save(out_ps_stream)
26
27finally:
28 ps_stream.close()
Examinez et téléchargez cet exemple et les autres fichiers de données à partir de GitHub.