Cambiar valores simples en metadatos XMP EPS |Java
Para cambiar valores simples en los metadatos XMP del archivo EPS es necesario seguir varios pasos:
- Inicialice un flujo de entrada para el archivo EPS de entrada.
- Cree una instancia de PsDocument a partir del flujo de entrada creado anteriormente.
- Obtenga una instancia de XmpMetadata del PsDocument. Si el archivo EPS dado no contiene metadatos XMP, el nuevo se creará, se completará con valores de los comentarios de metadatos de PS y se le devolverá.
- Ahora puedes cambiar los valores de los campos de metadatos.
- Inicialice un flujo de salida para el archivo EPS de salida.
- Guarde el archivo EPS con los metadatos XMP modificados.
El siguiente fragmento de código muestra cómo cambiar valores simples en metadatos XMP de un archivo EPS en Java:
1// Change values in XMP metadata in EPS document.
2
3// Initialize EPS file input stream
4try (FileInputStream psStream = new FileInputStream(getDataDir() + "get_input.eps")) {
5 // Create PsDocument instance from stream
6 PsDocument document = new PsDocument(psStream);
7
8 String outputFileName = "change_values_out.eps";
9 ZoneId systemZone = ZoneId.systemDefault();
10 OffsetDateTime now = LocalDateTime.now().atZone(systemZone).toOffsetDateTime();
11
12 try {
13 // Get XMP metadata. If EPS file doesn't contain XMP metadata we get new one filled with values from PS metadata comments (%%Creator, %%CreateDate, %%Title etc)
14 XmpMetadata xmp = document.getXmpMetadata();
15
16 //Change XMP metadata values
17
18 // Change ModifyDate value
19 xmp.put("xmp:ModifyDate", new XmpValue(Date.from(now.toInstant())));
20
21 // Change Creator value
22 XmpValue value = new XmpValue("Aspose.Page");
23 xmp.put("dc:creator", value);
24
25 // Change Title value
26 value = new XmpValue("(change_values.eps)");
27 xmp.put("dc:title", value);
28
29 // Save EPS file with changed XMP metadata
30
31 // Create ouput stream
32 try (FileOutputStream outPsStream = new FileOutputStream(getOutputDir() + outputFileName)) {
33 // Save EPS file
34 document.save(outPsStream);
35 }
36 } catch (IOException ex) {
37 }Puede descargar ejemplos y archivos de datos desde GitHub.