Administrar hipervínculos en presentaciones con Python
Visión general
Un hipervínculo es una referencia a un recurso externo, a un objeto o elemento de datos, o a una ubicación específica dentro de un archivo. Los tipos comunes de hipervínculo en presentaciones de PowerPoint incluyen:
- Enlaces a sitios web incrustados en texto, formas o medios
- Enlaces a diapositivas
Aspose.Slides for Python a través de .NET permite una amplia gama de operaciones relacionadas con hipervínculos en presentaciones.
Agregar hipervínculos URL
Esta sección explica cómo agregar hipervínculos URL a los elementos de diapositiva al trabajar con Aspose.Slides. Cubre la asignación de direcciones de enlace a texto, formas e imágenes para garantizar una navegación fluida durante las presentaciones.
Agregar hipervínculos URL a texto
El siguiente ejemplo de código muestra cómo agregar un hipervínculo a un sitio web en texto:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape.add_text_frame("Aspose: File Format APIs")
text_portion = shape.text_frame.paragraphs[0].portions[0]
text_portion.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
text_portion.portion_format.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Agregar hipervínculos URL a formas o marcos
El siguiente ejemplo de código muestra cómo agregar un hipervínculo a un sitio web en una forma:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50)
shape.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Agregar hipervínculos URL a medios
Aspose.Slides le permite agregar hipervínculos a imágenes, archivos de audio y video.
El siguiente ejemplo de código muestra cómo agregar un hipervínculo a una imagen:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Agregar una imagen a la presentación.
with open("image.jpeg", "rb") as image_stream:
image_data = image_stream.read()
image = presentation.images.add_image(image_data)
# Crear un marco de imagen en la diapositiva 1 usando la imagen agregada anteriormente.
picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
picture_frame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
picture_frame.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
El siguiente ejemplo de código muestra cómo agregar un hipervínculo a un archivo de audio:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("audio.mp3", "rb") as audio_stream:
audio_data = audio_stream.read()
audio = presentation.audios.add_audio(audio_data)
audio_frame = slide.shapes.add_audio_frame_embedded(10, 10, 100, 100, audio)
audio_frame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
audio_frame.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
El siguiente ejemplo de código muestra cómo agregar un hipervínculo a un video:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("video.avi", "rb") as video_stream:
video_data = video_stream.read()
video = presentation.videos.add_video(video_data)
video_frame = slide.shapes.add_video_frame(10, 10, 100, 100, video)
video_frame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
video_frame.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Tip
Puede que quiera ver Manage OLE in Presentations Using Python.Usar hipervínculos para crear una tabla de contenido
Dado que los hipervínculos le permiten hacer referencia a objetos o ubicaciones, puede utilizarlos para crear una tabla de contenido.
El siguiente código de ejemplo muestra cómo crear una tabla de contenido con hipervínculos:
import aspose.slides as slides
with slides.Presentation() as presentation:
first_slide = presentation.slides[0]
second_slide = presentation.slides.add_empty_slide(first_slide.layout_slide)
content_table = first_slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 40, 40, 300, 100)
content_table.fill_format.fill_type = slides.FillType.NO_FILL
content_table.line_format.fill_format.fill_type = slides.FillType.NO_FILL
content_table.text_frame.paragraphs.clear()
paragraph = slides.Paragraph()
paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID
paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black
paragraph.text = "Title of slide 2 .......... "
link_text_portion = slides.Portion()
link_text_portion.text = "Page 2"
link_text_portion.portion_format.hyperlink_manager.set_internal_hyperlink_click(second_slide)
paragraph.portions.add(link_text_portion)
content_table.text_frame.paragraphs.add(paragraph)
presentation.save("link_to_slide.pptx", slides.export.SaveFormat.PPTX)
Formato de hipervínculos
Esta sección muestra cómo dar formato a la apariencia de los hipervínculos en Aspose.Slides. Aprenderá a controlar el color y otras opciones de estilo para mantener un formato de hipervínculo coherente en texto, formas e imágenes.
Color del hipervínculo
Usando la propiedad color_source de la clase Hyperlink, puede establecer el color de un hipervínculo y leer su información de color. Esta característica se introdujo en PowerPoint 2019, por lo que los cambios realizados a través de esta propiedad no se aplican a versiones anteriores de PowerPoint.
El siguiente ejemplo muestra cómo agregar hipervínculos con diferentes colores a la misma diapositiva:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape1 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape1.add_text_frame("This is a sample of a colored hyperlink.")
text_portion1 = shape1.text_frame.paragraphs[0].portions[0]
text_portion1.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
text_portion1.portion_format.hyperlink_click.color_source = slides.HyperlinkColorSource.PORTION_FORMAT
text_portion1.portion_format.fill_format.fill_type = slides.FillType.SOLID
text_portion1.portion_format.fill_format.solid_fill_color.color = draw.Color.red
shape2 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 450, 50, False)
shape2.add_text_frame("This is a sample of a regular hyperlink.")
text_portion2 = shape2.text_frame.paragraphs[0].portions[0]
text_portion2.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
presentation.save("hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Eliminar hipervínculos de las presentaciones
Esta sección explica cómo eliminar hipervínculos de las presentaciones al trabajar con Aspose.Slides. Aprenderá a borrar los destinos de enlace de texto, formas e imágenes mientras conserva el contenido y formato original.
Eliminar hipervínculos de texto
El siguiente código de ejemplo muestra cómo eliminar hipervínculos del texto en una diapositiva de la presentación:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
for shape in slide.shapes:
if type(shape) is slides.AutoShape:
for paragraph in shape.text_frame.paragraphs:
for text_portion in paragraph.portions:
text_portion.portion_format.hyperlink_manager.remove_hyperlink_click()
presentation.save("removed_hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Eliminar hipervínculos de formas o marcos
El siguiente código de ejemplo muestra cómo eliminar hipervínculos de formas en una diapositiva de la presentación:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
for shape in slide.shapes:
shape.hyperlink_manager.remove_hyperlink_click()
presentation.save("removed_hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Hipervínculos mutables
La clase Hyperlink es mutable. Usando esta clase, puede cambiar los valores de estas propiedades:
El siguiente fragmento de código muestra cómo agregar un hipervínculo a una diapositiva y luego editar su información sobre herramientas:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape.add_text_frame("Aspose: File Format APIs")
text_portion = shape.text_frame.paragraphs[0].portions[0]
text_portion.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
text_portion.portion_format.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Propiedades admitidas en IHyperlinkQueries
Puede acceder a HyperlinkQueries desde la presentación, diapositiva o texto que contiene el hipervínculo.
La clase HyperlinkQueries admite estos métodos:
Preguntas frecuentes
¿Cómo puedo crear navegación interna no solo a una diapositiva, sino a una “sección” o a la primera diapositiva de una sección?
Las secciones en PowerPoint son agrupaciones de diapositivas; la navegación técnicamente apunta a una diapositiva específica. Para “navegar a una sección”, normalmente se enlaza a su primera diapositiva.
¿Puedo adjuntar un hipervínculo a los elementos de la diapositiva maestra para que funcione en todas las diapositivas?
Sí. Los elementos de la diapositiva maestra y de diseño admiten hipervínculos. dichos enlaces aparecen en las diapositivas hijas y son clicables durante la presentación.
¿Se conservarán los hipervínculos al exportar a PDF, HTML, imágenes o video?
En PDF y HTML, sí, los enlaces generalmente se conservan. Al exportar a images y video, la capacidad de clic no se mantendrá debido a la naturaleza de esos formatos (fotogramas rasterizados/video no admiten hipervínculos).