Gestión de Etiquetas y Datos Personalizados

Almacenamiento de Datos en Archivos de Presentación

Los archivos PPTX—elementos con la extensión .pptx—se almacenan en el formato PresentationML, que es parte de la especificación Office Open XML. El formato Office Open XML define la estructura para los datos contenidos en las presentaciones.

Con una diapositiva siendo uno de los elementos en las presentaciones, una parte de diapositiva contiene el contenido de una sola diapositiva. Se permite que una parte de diapositiva tenga relaciones explícitas con muchas partes—como Etiquetas Definidas por el Usuario—definidas por la ISO/IEC 29500.

Los datos personalizados (específicos de una presentación) o del usuario pueden existir como etiquetas (ITagCollection) y CustomXmlParts (ICustomXmlPartCollection).

Obteniendo los Valores de las Etiquetas

En las diapositivas, una etiqueta corresponde a los métodos IDocumentProperties.getKeywords() y IDocumentProperties.setKeywords(). Este código de muestra te muestra cómo obtener el valor de una etiqueta con Aspose.Slides para PHP a través de Java para Presentation:

  $pres = new Presentation("pres.pptx");
  try {
    $keywords = $pres->getDocumentProperties()->getKeywords();
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Añadiendo Etiquetas a las Presentaciones

Aspose.Slides te permite añadir etiquetas a las presentaciones. Una etiqueta típicamente consiste en dos elementos:

  • el nombre de una propiedad personalizada - MyTag
  • el valor de la propiedad personalizada - My Tag Value

Si necesitas clasificar algunas presentaciones basadas en una regla o propiedad específica, entonces podrías beneficiarte de añadir etiquetas a esas presentaciones. Por ejemplo, si deseas categorizar o agrupar todas las presentaciones de países de América del Norte, puedes crear una etiqueta de América del Norte y luego asignar los países relevantes (EE. UU., México y Canadá) como los valores.

Este código de muestra te muestra cómo añadir una etiqueta a una Presentation usando Aspose.Slides para PHP a través de Java:

  $pres = new Presentation("pres.pptx");
  try {
    $tags = $pres->getCustomData()->getTags();
    $pres->getCustomData()->getTags()->set_Item("MyTag", "My Tag Value");
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Las etiquetas también se pueden establecer para Slide:

  $pres = new Presentation();
  try {
    $slide = $pres->getSlides()->get_Item(0);
    $slide->getCustomData()->getTags()->set_Item("tag", "value");
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

O cualquier Shape individual:

  $pres = new Presentation();
  try {
    $slide = $pres->getSlides()->get_Item(0);
    $shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 10, 10, 100, 50);
    $shape->getTextFrame()->setText("My text");
    $shape->getCustomData()->getTags()->set_Item("tag", "value");
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }