Gestionar patrones de diapositivas de presentación en Android
Qué es un Patrón de diapositivas en PowerPoint
Un Patrón de diapositivas es una plantilla de diapositiva que define el diseño, los estilos, el tema, las fuentes, el fondo y otras propiedades para las diapositivas de una presentación. Si deseas crear una presentación (o una serie de presentaciones) con el mismo estilo y plantilla para tu empresa, puedes usar un patrón de diapositivas.
Un Patrón de diapositivas es útil porque permite establecer y cambiar el aspecto de todas las diapositivas de la presentación a la vez. Aspose.Slides admite el mecanismo de Patrón de diapositivas de PowerPoint.
VBA también permite manipular un Patrón de diapositivas y ejecutar las mismas operaciones compatibles en PowerPoint: cambiar fondos, añadir formas, personalizar el diseño, etc. Aspose.Slides ofrece mecanismos flexibles para que puedas usar Patrones de diapositivas y realizar tareas básicas con ellos.
Estas son operaciones básicas con Patrones de diapositivas:
- Crear o Patrón de diapositivas.
- Aplicar el Patrón de diapositivas a las diapositivas de la presentación.
- Cambiar el fondo del Patrón de diapositivas.
- Añadir una imagen, marcador de posición, Smart Art, etc. al Patrón de diapositivas.
Estas son operaciones más avanzadas que implican Patrones de diapositivas:
- Comparar Patrones de diapositivas.
- Fusionar Patrones de diapositivas.
- Aplicar varios Patrones de diapositivas.
- Copiar una diapositiva con Patrón de diapositivas a otra presentación.
- Detectar Patrones de diapositivas duplicados en presentaciones.
- Establecer el Patrón de diapositivas como vista predeterminada de la presentación.
Cómo se aplica un Patrón de diapositivas
Antes de trabajar con un patrón de diapositivas, quizá desees entender cómo se usan en las presentaciones y cómo se aplican a las diapositivas.
- Cada presentación tiene, por defecto, al menos un Patrón de diapositivas.
- Una presentación puede contener varios Patrones de diapositivas. Puedes añadir varios Patrones de diapositivas y usarlos para dar estilo a diferentes partes de una presentación de distintas maneras.
En Aspose.Slides, un Patrón de diapositivas está representado por el tipo IMasterSlide.
El objeto Presentation de Aspose.Slides contiene la lista getMasters del tipo IMasterSlideCollection, que contiene una lista de todos los patrones de diapositivas definidos en una presentación.
Además de las operaciones CRUD, la interfaz IMasterSlideCollection incluye estos métodos útiles: addClone(ILayoutSlide sourceLayout) y insertClone(int index, IMasterSlide sourceMaster) . Esos métodos se heredan de la función básica de clonación de diapositivas. Pero al trabajar con Patrones de diapositivas, esos métodos permiten implementar configuraciones complejas.
Cuando se añade una nueva diapositiva a una presentación, se le aplica automáticamente un Patrón de diapositivas. Por defecto se selecciona el Patrón de diapositivas de la diapositiva anterior.
Nota: Las diapositivas de la presentación se almacenan en la lista getSlides() y cada diapositiva nueva se añade al final de la colección por defecto. Si una presentación contiene un único Patrón de diapositivas, ese patrón se selecciona para todas las diapositivas nuevas. Esto explica por qué no tienes que definir el Patrón de diapositivas para cada nueva diapositiva que creas.
El principio es el mismo en PowerPoint y en Aspose.Slides. Por ejemplo, en PowerPoint, cuando añades una nueva diapositiva, puedes pulsar en la línea inferior bajo la última diapositiva y se creará una nueva diapositiva (con el Patrón de diapositivas de la última presentación):

En Aspose.Slides, puedes realizar la tarea equivalente con el método addClone(ISlide sourceSlide) bajo la clase Presentation.
Patrón de diapositivas en la jerarquía de Slides
Usar Diseños de diapositivas con un Patrón de diapositivas permite la máxima flexibilidad. Un Diseño de diapositiva te permite establecer los mismos estilos que el Patrón de diapositivas (fondo, fuentes, formas, etc.). Sin embargo, cuando varios Diseños de diapositiva se combinan en un Patrón de diapositivas, se crea un nuevo estilo. Cuando aplicas un Diseño de diapositiva a una sola diapositiva, puedes cambiar su estilo respecto al aplicado por el Patrón de diapositivas.
El Patrón de diapositivas precede a todos los elementos de configuración: Patrón de diapositivas → Diseño de diapositiva → Diapositiva:
Cada objeto IMasterSlide tiene una propiedad getLayoutSlides con una lista de Diseños de diapositiva. Un tipo Slide posee la propiedad getLayoutSlide que enlaza al Diseño de diapositiva aplicado a la diapositiva. La interacción entre una diapositiva y el Patrón de diapositivas se realiza a través de un Diseño de diapositiva.
Nota
- En Aspose.Slides, todas las configuraciones de diapositiva (Patrón de diapositivas, Diseño de diapositiva y la propia diapositiva) son en realidad objetos de diapositiva que implementan la interfaz IBaseSlide.
- Por lo tanto, Patrón de diapositivas y Diseño de diapositiva pueden implementar las mismas propiedades y debes saber cómo se aplicarán sus valores a un objeto Slide. El Patrón de diapositivas se aplica primero a una diapositiva y después se aplica el Diseño de diapositiva. Por ejemplo, si el Patrón de diapositivas y el Diseño de diapositiva tienen ambos un valor de fondo, la diapositiva acabará con el fondo del Diseño de diapositiva.
Qué contiene un Patrón de diapositivas
Para entender cómo se puede modificar un Patrón de diapositivas, necesitas conocer sus componentes. Estas son las propiedades principales de MasterSlide.
- getBackground obtener/establecer el fondo de la diapositiva.
- getBodyStyle obtener/establecer los estilos de texto del cuerpo de la diapositiva.
- getShapes obtener/establecer todas las formas del Patrón de diapositivas (marcadores de posición, marcos de imagen, etc.).
- getControls obtener/establecer controles ActiveX.
- getThemeManager obtener el gestor de temas.
- getHeaderFooterManager obtener el gestor de encabezado y pie de página.
Métodos del Patrón de diapositivas:
- getDependingSlides obtener todas las diapositivas que dependen del Patrón de diapositivas.
- applyExternalThemeToDependingSlides permite crear un nuevo Patrón de diapositivas basado en el actual y un tema nuevo. El nuevo Patrón de diapositivas se aplicará entonces a todas las diapositivas dependientes.
Obtener un Patrón de diapositivas
En PowerPoint, el Patrón de diapositivas se puede acceder desde el menú Vista → Patrón de diapositivas:

Usando Aspose.Slides, puedes acceder a un Patrón de diapositivas de esta forma:
Presentation pres = new Presentation();
try {
// Da acceso al patrón de diapositivas de la presentación
IMasterSlide masterSlide = pres.getMasters().get_Item(0);
} finally {
pres.dispose();
}
La interfaz IMasterSlide representa un Patrón de diapositivas. La propiedad Masters (relacionada con el tipo IMasterSlideCollection) contiene una lista de todos los Patrones de diapositivas definidos en la presentación.
Añadir una imagen a un Patrón de diapositivas
Cuando añades una imagen a un Patrón de diapositivas, esa imagen aparecerá en todas las diapositivas que dependen de ese patrón.
Por ejemplo, puedes colocar el logotipo de tu empresa y algunas imágenes en el Patrón de diapositivas y luego volver al modo de edición de diapositivas. Deberías ver la imagen en cada diapositiva.

Puedes añadir imágenes a un Patrón de diapositivas con Aspose.Slides:
Presentation pres = new Presentation();
try {
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
pres.getMasters().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, picture);
pres.save("pres.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
Ver también
Para más información sobre cómo añadir imágenes a una diapositiva, consulta el artículo Picture Frame.Añadir un marcador de posición a un Patrón de diapositivas
Estos campos de texto son marcadores de posición estándar en un Patrón de diapositivas:
-
Haz clic para editar el estilo del título del patrón
-
Editar los estilos de texto del patrón
-
Segundo nivel
-
Tercer nivel
También aparecen en las diapositivas basadas en el Patrón de diapositivas. Puedes editar esos marcadores de posición en el Patrón de diapositivas y los cambios se aplicarán automáticamente a las diapositivas.
En PowerPoint, puedes añadir un marcador de posición mediante la ruta Patrón de diapositivas → Insertar marcador de posición:

Veamos un ejemplo más complicado de marcadores de posición con Aspose.Slides. Considera una diapositiva con marcadores de posición templados a partir del Patrón de diapositivas:

Queremos cambiar el formato del Título y Subtítulo en el Patrón de diapositivas de esta forma:

Primero, recuperamos el contenido del marcador de posición del título del objeto Patrón de diapositivas y luego usamos el campo PlaceHolder.FillFormat:
public static void main(String[] args) {
Presentation pres = new Presentation();
try {
IMasterSlide master = pres.getMasters().get_Item(0);
IAutoShape placeHolder = findPlaceholder(master, PlaceholderType.Title);
placeHolder.getFillFormat().setFillType(FillType.Gradient);
placeHolder.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
placeHolder.getFillFormat().getGradientFormat().getGradientStops().add(0, new Color(255, 0, 0));
placeHolder.getFillFormat().getGradientFormat().getGradientStops().add(255, new Color(128, 0, 128));
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
}
static IAutoShape findPlaceholder(IMasterSlide master, int type)
{
for (IShape shape : master.getShapes())
{
IAutoShape autoShape = (IAutoShape) shape;
if (autoShape != null)
{
if (autoShape.getPlaceholder().getType() == type)
{
return autoShape;
}
}
}
return null;
}
El estilo y formato del título cambiará para todas las diapositivas basadas en el patrón:

Ver también
Cambiar el fondo en un Patrón de diapositivas
Cuando cambias el color de fondo de un patrón de diapositivas, todas las diapositivas normales de la presentación obtendrán el nuevo color. Este código Java muestra la operación:
Presentation pres = new Presentation();
try {
IMasterSlide master = pres.getMasters().get_Item(0);
master.getBackground().setType(BackgroundType.OwnBackground);
master.getBackground().getFillFormat().setFillType(FillType.Solid);
master.getBackground().getFillFormat().getSolidFillColor().setColor(Color.GREEN);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ver también
Clonar un Patrón de diapositivas a otra presentación
Para clonar un Patrón de diapositivas a otra presentación, llama al método addClone de la presentación de destino pasando como argumento el Patrón de diapositivas. Este código Java muestra cómo clonar un Patrón de diapositivas a otra presentación:
Presentation presSource = new Presentation();
Presentation presTarget = new Presentation();
try {
IMasterSlide master = presTarget.getMasters().addClone(presSource.getMasters().get_Item(0));
} finally {
if (presSource != null) presSource.dispose();
}
Añadir varios Patrones de diapositivas a una presentación
Aspose.Slides permite añadir varios Patrones de diapositivas y Diseños de diapositiva a cualquier presentación. Esto permite configurar estilos, diseños y opciones de formato para las diapositivas de la presentación de muchas maneras.
En PowerPoint, puedes añadir nuevos Patrones de diapositivas y Diseños (desde el «menú Patrón de diapositivas») de esta forma:

Usando Aspose.Slides, puedes añadir un nuevo Patrón de diapositivas llamando al método addClone:
// Añade una nueva diapositiva maestra
IMasterSlide secondMasterSlide = pres.getMasters().addClone(masterSlide);
Comparar Patrones de diapositivas
Un Patrón de diapositiva implementa la interfaz IBaseSlide que contiene el método equals, que puede usarse para comparar diapositivas. Devuelve true para Patrones de diapositivas idénticos en estructura y contenido estático.
Dos Patrones de diapositivas son iguales si sus formas, estilos, textos, animaciones y otras configuraciones, etc., son iguales. La comparación no tiene en cuenta los valores de identificadores únicos (p. ej., SlideId) ni el contenido dinámico (p. ej., valor de fecha actual en un marcador de posición de fecha).
Establecer un Patrón de diapositivas como vista predeterminada de la presentación
Aspose.Slides permite establecer un Patrón de diapositivas como vista predeterminada de una presentación. La vista predeterminada es lo que ves primero al abrir una presentación.
Este código muestra cómo establecer un Patrón de diapositivas como vista predeterminada de la presentación en Java:
// Instancia una clase Presentation que representa el archivo de presentación
Presentation presentation = new Presentation();
try {
// Establece la vista predeterminada como SlideMasterView
presentation.getViewProperties().setLastView(ViewType.SlideMasterView);
// Guarda la presentación
presentation.save("PresView.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Eliminar Patrones de diapositivas no usados
Aspose.Slides proporciona el método removeUnusedMasterSlides (de la clase Compress) para permitir eliminar patrones de diapositivas no deseados y sin usar. Este código Java muestra cómo eliminar un patrón de diapositivas de una presentación de PowerPoint:
Presentation pres = new Presentation("pres.pptx");
try {
Compress.removeUnusedMasterSlides(pres);
pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Preguntas frecuentes
¿Qué es un Patrón de diapositivas en PowerPoint?
Un Patrón de diapositivas es una plantilla que define el diseño, los estilos, los temas, las fuentes, el fondo y otras propiedades para las diapositivas de una presentación. Permite establecer y cambiar el aspecto de todas las diapositivas a la vez.
¿Cómo se aplica un Patrón de diapositivas en una presentación?
Cada presentación tiene, por defecto, al menos un Patrón de diapositivas. Cuando se añade una nueva diapositiva, se le aplica automáticamente un Patrón de diapositivas, normalmente heredando el patrón de la diapositiva anterior. Una presentación puede contener varios Patrones de diapositivas para dar estilo a diferentes partes de forma única.
¿Qué elementos pueden personalizarse en un Patrón de diapositivas?
Un Patrón de diapositivas comprende varias propiedades principales que pueden personalizarse:
- Background: establecer el fondo de la diapositiva.
- BodyStyle: definir los estilos de texto del cuerpo de la diapositiva.
- Shapes: gestionar todas las formas del Patrón de diapositivas, incluidos marcadores de posición y marcos de imagen.
- Controls: manejar los controles ActiveX.
- ThemeManager: acceder al gestor de temas.
- HeaderFooterManager: gestionar encabezados y pies de página.
¿Cómo puedo añadir una imagen a un Patrón de diapositivas?
Añadir una imagen a un Patrón de diapositivas garantiza que aparezca en todas las diapositivas que dependen de ese patrón. Por ejemplo, colocar el logotipo de la empresa en el Patrón de diapositivas lo mostrará en cada diapositiva de la presentación.
¿Cómo se relacionan los Patrones de diapositivas con los Diseños de diapositiva?
Los Diseños de diapositiva funcionan junto con los Patrones de diapositivas para ofrecer flexibilidad en el diseño. Mientras que un Patrón de diapositivas define estilos y temas globales, los Diseños permiten variaciones en la disposición del contenido. La jerarquía es la siguiente:
- Patrón de diapositivas → Define estilos globales.
- Diseño de diapositiva → Proporciona diferentes disposiciones de contenido.
- Diapositiva → Hereda el diseño de su Diseño de diapositiva.
¿Puedo tener varios Patrones de diapositivas en una sola presentación?
Sí, una presentación puede contener varios Patrones de diapositivas. Esto permite dar estilo a distintas secciones de la presentación de diversas maneras, proporcionando flexibilidad en el diseño.
¿Cómo accedo y modifico un Patrón de diapositivas usando Aspose.Slides?
En Aspose.Slides, un Patrón de diapositivas está representado por la interfaz IMasterSlide. Puedes acceder a un Patrón de diapositivas mediante el método getMasters del objeto Presentation.