Kelola Hyperlink dalam Presentasi dengan Python

Introduction

Hyperlink adalah referensi ke sumber eksternal, objek atau item data, atau lokasi spesifik dalam sebuah file. Jenis hyperlink umum dalam presentasi PowerPoint meliputi:

  • Tautan ke situs web yang disematkan dalam teks, bentuk, atau media
  • Tautan ke slide

Aspose.Slides for Python via .NET memungkinkan berbagai operasi terkait hyperlink dalam presentasi.

Bagian ini menjelaskan cara menambahkan hyperlink URL ke elemen slide saat bekerja dengan Aspose.Slides. Ini mencakup penetapan alamat tautan ke teks, bentuk, dan gambar untuk memastikan navigasi yang mulus selama presentasi.

Contoh kode berikut menunjukkan cara menambahkan hyperlink situs web ke teks:

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)

Contoh kode berikut menunjukkan cara menambahkan hyperlink situs web ke sebuah bentuk:

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)

Aspose.Slides memungkinkan Anda menambahkan hyperlink ke file gambar, audio, dan video.

Contoh kode berikut menunjukkan cara menambahkan hyperlink ke gambar:

import aspose.slides as slides

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Tambahkan gambar ke presentasi.
    with open("image.jpeg", "rb") as image_stream:
        image_data = image_stream.read()
        image = presentation.images.add_image(image_data)

    # Buat sebuah frame gambar pada slide 1 menggunakan gambar yang ditambahkan sebelumnya.
    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)

Contoh kode berikut menunjukkan cara menambahkan hyperlink ke file 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)

Contoh kode berikut menunjukkan cara menambahkan hyperlink ke 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)

Karena hyperlink memungkinkan Anda merujuk ke objek atau lokasi, Anda dapat menggunakannya untuk membuat daftar isi.

Contoh kode di bawah ini menunjukkan cara membuat daftar isi dengan hyperlink:

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)

Bagian ini menunjukkan cara memformat tampilan hyperlink di Aspose.Slides. Anda akan belajar mengontrol warna dan opsi gaya lainnya untuk menjaga konsistensi format hyperlink di teks, bentuk, dan gambar.

Dengan menggunakan properti color_source dari kelas Hyperlink, Anda dapat mengatur warna hyperlink dan membaca informasi warnanya. Fitur ini diperkenalkan di PowerPoint 2019, sehingga perubahan yang dibuat melalui properti ini tidak berlaku untuk versi PowerPoint sebelumnya.

Contoh berikut menunjukkan cara menambahkan hyperlink dengan warna berbeda ke slide yang sama:

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)

Bagian ini menjelaskan cara menghapus hyperlink dari presentasi saat bekerja dengan Aspose.Slides. Anda akan belajar cara menghapus target tautan dari teks, bentuk, dan gambar sambil mempertahankan konten dan format asli.

Contoh kode berikut menunjukkan cara menghapus hyperlink dari teks pada slide presentasi:

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)

Contoh kode berikut menunjukkan cara menghapus hyperlink dari bentuk pada slide presentasi:

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)

Kelas Hyperlink bersifat mutable. Dengan menggunakan kelas ini, Anda dapat mengubah nilai properti berikut:

Cuplikan kode berikut menunjukkan cara menambahkan hyperlink ke slide dan kemudian mengedit tooltip-nya:

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)

Supported Properties in IHyperlinkQueries

Anda dapat mengakses HyperlinkQueries dari presentasi, slide, atau teks yang berisi hyperlink.

Kelas HyperlinkQueries mendukung metode berikut:

FAQ

Bagaimana saya dapat membuat navigasi internal tidak hanya ke sebuah slide, tetapi ke “section” atau slide pertama dari sebuah section?

Section di PowerPoint adalah pengelompokan slide; navigasi secara teknis menargetkan slide tertentu. Untuk “menavigasi ke section”, Anda biasanya menautkan ke slide pertamanya.

Apakah saya dapat menempelkan hyperlink pada elemen master slide sehingga berfungsi di semua slide?

Ya. Elemen master slide dan layout mendukung hyperlink. Tautan semacam itu muncul di slide turunan dan dapat diklik selama presentasi.

Apakah hyperlink akan dipertahankan saat mengekspor ke PDF, HTML, gambar, atau video?

Pada PDF dan HTML, ya—tautan biasanya dipertahankan. Saat mengekspor ke gambar dan video, kemampuan mengklik tidak akan terbawa karena sifat format tersebut (frame raster/video tidak mendukung hyperlink).