Python'da Sunum Köprülerini Yönetme
Giriş
Bir köprü, sunum içeriğini bir web sitesine veya sunum içinde bir konuma bağlar. PowerPoint’te köprüler genellikle iki amaçla kullanılır:
- Metin, şekil veya medya çerçevesinden bir web sitesini açmak.
- Örneğin, bir içerik tablosundan başka bir slayta geçiş yapmak.
Aspose.Slides for Python via .NET, bu bağlantıları eklemenize, görünümünü ve sesini kontrol etmenize, özelliklerini güncellemenize ve kaldırmanıza olanak sağlar. Aşağıdaki örnekler, tek tek öğeler üzerindeki köprülerle nasıl çalışılacağını ve sunum, slayt veya metin‑çerçevesi düzeyinde köprülere nasıl erişileceğini gösterir.
Not
Ayrıca sunumları ücretsiz çevrimiçi Aspose PowerPoint düzenleyicisi ile düzenleyebilirsiniz.URL Köprüleri Ekleme
Bir web sitesi URL’sini metne, şekle veya medya çerçevesine atayabilirsiniz. Köprüyü atadığınız öğe, tıklanabilir alanı belirler: bir metin bölümü seçili metni, bir şekil veya çerçeve ise slayt nesnesini bağlar.
Metne URL Köprüsü Ekleme
Metni bir web sitesine bağlamak için, metin bölümünün hyperlink_click özelliğine bir Köprü atayın. Aşağıda gösterildiği gibi yalnızca o metin bölümü tıklanabilir olur.
import aspose.slides as slides
with slides.Presentation() as presentation:
text_shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
text_shape.add_text_frame("Aspose: File Format APIs")
portion_format = text_shape.text_frame.paragraphs[0].portions[0].portion_format
portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
portion_format.hyperlink_click.tooltip = "Explore Aspose file format APIs"
portion_format.font_height = 32
presentation.save("presentation-out.pptx", slides.export.SaveFormat.PPTX)
Şekillere ve Medya Çerçevelerine URL Köprüsü Ekleme
Bir şekil veya çerçeveyi tıklanabilir yapmak için, onun hyperlink_click özelliğini ayarlayın. Köprü, nesnenin kendisine aittir; içinde bulunan bir metin bölümüne değil.
Aynı yaklaşım resim, ses ve video çerçevelerine de uygulanır: köprüyü çerçeveye atayın ve gerekirse bağlantının tooltip özelliğini ayarlayın.
Aşağıdaki örnek bir dikdörtgeni tıklanabilir hâle getirir:
import aspose.slides as slides
with slides.Presentation() as presentation:
shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50)
shape.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape.hyperlink_click.tooltip = "Explore Aspose file format APIs"
presentation.save("presentation-out.pptx", slides.export.SaveFormat.PPTX)
Köprüleri Kullanarak İçindekiler Tablosu Oluşturma
Dahili köprüler, okuyucuların içindekiler tablosundan belirli bir slayta atlamasını sağlar. Aşağıdaki örnek, ilk slaydın “Sayfa 2” metnini ikinci slayta bağlamak için set_internal_hyperlink_click metodunu kullanır.
import aspose.pydrawing as draw
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)
table_of_contents = first_slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 40, 40, 300, 100)
table_of_contents.fill_format.fill_type = slides.FillType.NO_FILL
table_of_contents.line_format.fill_format.fill_type = slides.FillType.NO_FILL
table_of_contents.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_portion = slides.Portion()
link_portion.text = "Page 2"
link_portion.portion_format.hyperlink_manager.set_internal_hyperlink_click(second_slide)
paragraph.portions.add(link_portion)
table_of_contents.text_frame.paragraphs.add(paragraph)
presentation.save("link_to_slide.pptx", slides.export.SaveFormat.PPTX)
Köprüleri Biçimlendirme
Renk
Hyperlink nesnesinin color_source özelliği, köprünün sunumun köprü rengine mi yoksa metin bölümünün biçimlendirmesine mi göre renginin belirleneceğini tanımlar. Özel bir metin rengi uygulamak için HyperlinkColorSource.PORTION_FORMAT seçilir ve bölümün dolgu rengi ayarlanır. Bu özellik PowerPoint 2019’da tanıtıldı; eski sürümler bu ayarı uygulamaz.
Aşağıdaki örnek aynı slayta iki metin köprüsü ekler. İlkinde kırmızı bir metin dolgusu kullanılır, ikincisi ise varsayılan köprü rengini korur.
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
colored_shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 450, 50, False)
colored_shape.add_text_frame("This hyperlink uses a custom color.")
colored_portion_format = colored_shape.text_frame.paragraphs[0].portions[0].portion_format
colored_portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
colored_portion_format.hyperlink_click.color_source = slides.HyperlinkColorSource.PORTION_FORMAT
colored_portion_format.fill_format.fill_type = slides.FillType.SOLID
colored_portion_format.fill_format.solid_fill_color.color = draw.Color.red
default_shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 450, 50, False)
default_shape.add_text_frame("This hyperlink uses the default color.")
default_shape.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
presentation.save("presentation-out-hyperlink.pptx", slides.export.SaveFormat.PPTX)
Ses
Bir köprü, etkinleştirildiğinde bir ses çalabilir veya hâlihazırda çalan bir sesi durdurabilir. Bu davranışları yapılandırmak için aşağıdaki özellikleri kullanın:
- Hyperlink.sound köprüye ilişkilendirilen ses dosyasını belirtir.
- Hyperlink.stop_sound_on_click köprünün etkinleştirilmesinin önceki sesi durdurup durdurmayacağını kontrol eder.
Köprülü Ses Ekleme
Aşağıdaki örnek sampleaudio.wav dosyasını yükler ve ilk slayttaki bir düğmeye ilişkilendirir. Düğmeye tıklandığında ses çalar ve bir sonraki slayta geçiş yapılır. Aynı slayttaki ikinci bir şekil, tıklandığında önceki sesi durdurur; bir geçiş eylemi gerçekleştirmez.
import aspose.slides as slides
with slides.Presentation() as presentation:
with open("sampleaudio.wav", "rb") as audio_file:
audio_data = audio_file.read()
hyperlink_sound = presentation.audios.add_audio(audio_data)
first_slide = presentation.slides[0]
play_button = first_slide.shapes.add_auto_shape(slides.ShapeType.SOUND_BUTTON, 100, 100, 100, 50)
play_button.hyperlink_click = slides.Hyperlink.next_slide
if not play_button.hyperlink_click.stop_sound_on_click and play_button.hyperlink_click.sound is None:
play_button.hyperlink_click.sound = hyperlink_sound
second_slide = presentation.slides.add_empty_slide(first_slide.layout_slide)
stop_button = second_slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 100, 50)
stop_button.hyperlink_click = slides.Hyperlink.no_action
stop_button.hyperlink_click.stop_sound_on_click = True
presentation.save("hyperlink-sound.pptx", slides.export.SaveFormat.PPTX)
Köprü Sesini Çıkarma
Aşağıdaki örnek, yukarıda oluşturulan sunumu açar ve ilk şeklin köprü sesini sound ve binary_data aracılığıyla belleğe okur.
import aspose.slides as slides
with slides.Presentation("hyperlink-sound.pptx") as presentation:
if len(presentation.slides) > 0 and len(presentation.slides[0].shapes) > 0:
hyperlink = presentation.slides[0].shapes[0].hyperlink_click
sound = hyperlink.sound if hyperlink is not None else None
if sound is not None:
audio_data = sound.binary_data
print(f"Extracted {len(audio_data)} bytes of hyperlink audio.")
else:
print("The first shape has no hyperlink sound.")
else:
print("The presentation has no first slide or shape to inspect.")
İpucu ve Etkileşim Ayarları
Bir köprüyü metne veya şekle atadıktan sonra aşağıdaki Hyperlink özelliklerini güncelleyebilirsiniz:
- tooltip izleyicinin bağlantı için ipucu olarak gösterebileceği metni belirler.
- target_frame geçerli olduğunda, bir üst HTML çerçeve kümesindeki hedef çerçeveyi belirtir.
- history bağlantının etkinleştirilmesinin hedefini görüntülenen köprüler listesine ekleyip eklemeyeceğini kontrol eder.
- highlight_click bağlantının tıklandığında vurgulanıp vurgulanmayacağını belirler.
Sunumlardan Köprüleri Kaldırma
Köprü kapsayıcılarını (metin‑parça bağlantıları dahil) toplamak için get_any_hyperlinks yöntemini kullanın; ardından bunları değiştirin. Aşağıdaki örnek, ilk slayttan her iki etkinleştirme türünü de kaldırır. Yalnızca bir türü kaldırmak isterseniz, yalnızca remove_hyperlink_click veya remove_hyperlink_mouse_over yöntemini çağırın; bir tıklama eylemini kaldırmak, fare‑üzerinde eylemi kaldırmaz.
import aspose.slides as slides
with slides.Presentation("pres.pptx") as presentation:
if len(presentation.slides) > 0:
containers = list(presentation.slides[0].hyperlink_queries.get_any_hyperlinks())
for container in containers:
container.hyperlink_manager.remove_hyperlink_click()
container.hyperlink_manager.remove_hyperlink_mouse_over()
presentation.save("pres-removed-hyperlinks.pptx", slides.export.SaveFormat.PPTX)
else:
print("The presentation has no slides to process.")
Koşulsuz kaldırma için, remove_all_hyperlinks seçilen kapsam içinde her iki etkinleştirme türünü tek bir çağrıyla siler. Ustalar, düzenler ve notlar dahil olmak üzere seçici temizlik ve kapsamlı kapsama için Raporla, Temizle ve Köprüleri Doğrula bölümüne bakın.
Tam Bir Köprü Envanteri Oluşturma
Bir sunumu dağıtmadan önce, etkileşimli eylemlerini ve web bağlantılarını envantere alın. get_any_hyperlinks yöntemi, URL dizesi listesi yerine IHyperlinkContainer nesnelerini döndürür. Her kapsayıcıda hem hyperlink_click hem de hyperlink_mouse_over incelenmelidir. Bunlar bağımsızdır; aynı kapsayıcı iki eylemi de sunabilir, bu yüzden tam bir rapor her kapsayıcı için iki satır gerektirebilir.
Yalnızca şekil‑seviyesindeki köprüleri taramak, metin bölümlerine eklenmiş bağlantıları kaçırabilir. Bunun yerine uygun kapsamı sorgulayın ve döndürülen kapsayıcıları saklayarak daha sonra eylemlerini güncelleyebilir veya kaldırabilirsiniz.
Sunum, Slayt ve Metin‑Çerçeve Kapsamlarını Sorgulama
HyperlinkQueries sınıfına, Presentation.hyperlink_queries, BaseSlide.hyperlink_queries ve TextFrame.hyperlink_queries üzerinden erişilir. Her kapsam aynı sorguları destekler:
- get_hyperlink_clicks tıklama eylemi içeren kapsayıcıları döndürür.
- get_hyperlink_mouse_overs fare‑üzerinde eylemi olan kapsayıcıları döndürür.
- get_any_hyperlinks bir veya iki eylemi içeren kapsayıcıları döndürür.
Aşağıdaki örnek, dış bağlantılı bir tıklama, dosya fare‑üzerinde bağlantısı, dahili slayt navigasyonu, metin fare‑üzerinde bağlantısı ve bir makro eylemi içeren hyperlink-audit-input.pptx dosyasını oluşturur. Bu eylemler hiçbir zaman çalıştırılmaz. Aynı üç sorgu her kapsamda çalışır; sayımlar eylem toplamı değil, kapsayıcı sayısını verir. Metin‑çerçeve kapsamı, içinde bulunduğu şeklin kendi bağlantılarını dışarıda bırakır.
import aspose.slides as slides
def print_counts(scope, queries):
click_containers = queries.get_hyperlink_clicks()
mouse_over_containers = queries.get_hyperlink_mouse_overs()
all_containers = queries.get_any_hyperlinks()
print(f"{scope}: click={len(click_containers)}, mouse-over={len(mouse_over_containers)}, any={len(all_containers)}")
with slides.Presentation() as presentation:
slide = presentation.slides[0]
destination = presentation.slides.add_empty_slide(slide.layout_slide)
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 400, 60)
shape.text_frame.text = "Click the text to go to slide 2"
shape.hyperlink_manager.set_external_hyperlink_click("https://example.com/")
shape.hyperlink_click.tooltip = "Public website"
shape.hyperlink_manager.set_external_hyperlink_mouse_over("file:///C:/private/report.xlsx")
portion_format = shape.text_frame.paragraphs[0].portions[0].portion_format
portion_format.hyperlink_manager.set_internal_hyperlink_click(destination)
portion_format.hyperlink_manager.set_external_hyperlink_mouse_over("https://example.com/help")
macro_button = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 120, 200, 60)
macro_button.hyperlink_manager.set_macro_hyperlink_click("ReviewPresentation")
print_counts("Presentation", presentation.hyperlink_queries)
print_counts("Slide 1", slide.hyperlink_queries)
print_counts("Text frame", shape.text_frame.hyperlink_queries)
presentation.save("hyperlink-audit-input.pptx", slides.export.SaveFormat.PPTX)
Bu örnek için, sunum ve slayt sorguları üç tıklama kapsayıcısı, iki fare‑üzerinde kapsayıcısı ve her iki eylemden birini içeren üç kapsayıcı raporlar. Metin‑çerçeve sorgusu ise her kategori için bir kapsayıcı raporlar.
Eylemleri ve Hedefleri Sınıflandırma
Bir eylemi yorumlamadan önce, hedefini yorumlamak için Hyperlink.action_type özelliğini kullanın. HyperlinkActionType değerleri sadece web navigasyonundan daha fazlasını kapsar:
| Değerler | Denetim için anlamı |
|---|---|
HYPERLINK |
Dış köprü; URL ve şemasını inceleyin. |
JUMP_SPECIFIC_SLIDE |
Belirli bir slayta dahili geçiş. |
JUMP_FIRST_SLIDE, JUMP_PREVIOUS_SLIDE, JUMP_NEXT_SLIDE, JUMP_LAST_SLIDE, JUMP_LAST_VIEWED_SLIDE |
Slayt gösterisi içinde yerleşik gezinme, slayt gösterisi bağlamında çözülür. |
JUMP_END_SHOW, START_CUSTOM_SLIDE_SHOW |
Mevcut gösteriyi sonlandır veya özel bir gösteri başlat. |
START_MACRO |
Bir makro çalıştır. |
START_PROGRAM |
Bir program başlat. |
OPEN_FILE, OPEN_PRESENTATION |
Bir dosya veya başka bir sunum aç; web URL’lerinden ayrı değerlendir. |
START_STOP_MEDIA |
Medya oynatımını başlat veya durdur. |
NO_ACTION, UNKNOWN |
Navigasyon eylemi yok veya tanınmayan eylem; inceleme gerektirir. |
Dış hedefleri external_url üzerinden, belirli dahili hedefleri ise target_slide üzerinden okuyun. Dahili eylemler ve yerleşik komutlar dış URL içermeyebilir; boş bir URL, kapsayıcının eylemi olmadığı anlamına gelmez. Normalleştirilmiş URL’den farklıysa external_url_original değerini koruyun ve mevcutsa tooltip ekleyin.
Köprüleri Raporla, Temizle ve Doğrula
Aşağıdaki Python örneği, mevcut bir sunumu (yukarıda oluşturulan dosyayı) okur, hyperlink-audit.json dosyasına yazar, bir politika uygular, hyperlink-sanitized.pptx olarak kaydeder ve ardından hem tıklama hem de fare‑üzerinde eylemlerini tekrar kontrol eder. Değiştirmeden önce kapsayıcıları toplar ve her slayt kapsamını yalnızca bir kez sorgular; böylece tekrarlı işleme engel olur. Sunum sorguları normal slaytları kapsar; paket‑geneli envanter için örnek, normal slaytların yanı sıra ustaları, düzenleri, notları ve mevcutsa not ve el ilanı ustalarını da sorgular.
Rapor, bir‑tabanlı slayt indeksini ve mevcutsa slide_id değerini kaydeder. Toplayıcı, her döndürülen kapsayıcı için sahip slaytı ve kapsamı tutar. Ustalar, düzenler ve notlar normal slayt indeksi taşımadığından kapsamlarıyla tanımlanır. Şekil kapsayıcıları ve metin‑parça biçimlendirme kapsayıcıları ayrı ayrı etiketlenir; diğer kapsayıcı türleri çalışma zamanı tip adını korur. Her kapsayıcı, iki eylemin ilişkilendirilebilmesi için rapor‑yerel bir ID alır.
Bu kısıtlayıcı uygulama politikası yalnızca mutlak HTTPS URL’lerini ve geçerli dahili slayt hedeflerini kabul eder. Makrolar, programlar, dosya eylemleri, diğer slayt gösterisi eylemleri, bilinmeyen eylemler ve diğer URL şemaları reddedilir. Bu reddetmeler politika kararlarıdır, Aspose.Slides güvenlik kararı değildir. HTTPS tek başına güvenilirlik sağlamaz; uygulamanıza host izin listeleri ve ek kontroller ekleyin. Hem orijinal hem de normalleştirilmiş dış URL’ler kontrol edilir. Örnek, bağları takip etmeden veya eylemleri çalıştırmadan meta verileri denetler.
Düzeltme için, kapsayıcının hyperlink_manager aşağıdaki yöntemleri destekler: set_external_hyperlink_click, remove_hyperlink_click ve remove_hyperlink_mouse_over. Burada, izin
verilmeyen dış tıklama bağlantıları sabit bir HTTPS açılış sayfası ile değiştirilir; diğer yasaklı tıklama ve fare‑üzerinde eylemler bağımsız olarak kaldırılır. Tüm politika ihlallerini kaldırmak için replace_external_clicks değerini False yapın. Dağıtıma almadan önce uygulama‑sahibi bir değiştirme sayfası seçin.
Raporun dışa aktarma işareti, temkinli bir PDF inceleme politikası kullanır: fare‑üzerinde eylemler ve dış bağlantı olmayan veya belirli slayt atlaması olmayan her şey potansiyel olarak desteklenmez olarak işaretlenir. Bu bir inceleme ipucu olup, işaretlenmemiş bağlantıların dışa aktarımda hayatta kalacağını garanti etmez. Desteklenen PDF ve HTML dışa aktarmaları, eyleme, dışa aktarım seçeneklerine ve görüntüleyiciye bağlı olarak köprüleri koruyabilir; raster görseller ve videolar etkileşimli köprüleri saklayamaz; bu çıktılar için denetim sırasında her eylemi işaretleyin.
import json
import sys
from urllib.parse import urlsplit
import aspose.slides as slides
def is_https(value):
if not value or any(character.isspace() for character in value):
return False
try:
uri = urlsplit(value)
return uri.scheme.lower() == "https" and bool(uri.hostname)
except ValueError:
return False
def policy_violation(link):
if link is None:
return None
if link.action_type == slides.HyperlinkActionType.JUMP_SPECIFIC_SLIDE:
return "Missing target slide" if link.target_slide is None else None
if link.action_type != slides.HyperlinkActionType.HYPERLINK:
return "Action is not allowed"
if not is_https(link.external_url):
return "Normalized URL is not absolute HTTPS"
original = link.external_url_original
if original and not is_https(original):
return "Original URL is not absolute HTTPS"
return None
def slide_index(presentation, slide):
if slide is not None:
for index, candidate in enumerate(presentation.slides, start=1):
if candidate.slide_id == slide.slide_id:
return index
return None
def collect_containers(presentation):
# Her slayt kapsamını bir kez sorgula, her kapsayıcıyla birlikte sahibini tut.
scopes = [("Slide", slide) for slide in presentation.slides]
scopes.extend(("Master", master) for master in presentation.masters)
scopes.extend(("Layout", layout) for layout in presentation.layout_slides)
scopes.extend(("Notes", slide.notes_slide_manager.notes_slide) for slide in presentation.slides)
scopes.append(("Notes master", presentation.master_notes_slide_manager.master_notes_slide))
scopes.append(("Handout master", presentation.master_handout_slide_manager.master_handout_slide))
found = []
for scope, owner in scopes:
if owner is not None:
containers = list(owner.hyperlink_queries.get_any_hyperlinks())
found.extend((container, scope, owner) for container in containers)
return found
def add_row(rows, presentation, link, activation, container, container_id, scope, owner):
if link is None:
return
target_slide = link.target_slide
violation = policy_violation(link)
if isinstance(container, slides.Shape):
owner_type = "Shape"
elif isinstance(container, slides.PortionFormat):
owner_type = "Text portion"
else:
owner_type = type(container).__name__
ordinary_action = link.action_type in (slides.HyperlinkActionType.HYPERLINK, slides.HyperlinkActionType.JUMP_SPECIFIC_SLIDE)
original_url = link.external_url_original if link.external_url_original != link.external_url else None
rows.append({
"container_id": container_id,
"slide_index": slide_index(presentation, owner) if scope == "Slide" else None,
"slide_id": owner.slide_id,
"scope": scope,
"owner_type": owner_type,
"activation": activation,
"action_type": link.action_type.name,
"external_url": link.external_url,
"target_slide_index": slide_index(presentation, target_slide),
"target_slide_id": target_slide.slide_id if target_slide is not None else None,
"tooltip": link.tooltip,
"original_external_url": original_url,
"potentially_unsafe": violation is not None,
"policy_violation": violation,
"target_export": "PDF",
"potentially_unsupported_by_export": activation == "mouse-over" or not ordinary_action,
})
replace_external_clicks = True
replacement_url = "https://example.com/blocked-link"
with slides.Presentation("hyperlink-audit-input.pptx") as presentation:
containers = collect_containers(presentation)
rows = []
for container_id, (container, scope, owner) in enumerate(containers, start=1):
add_row(rows, presentation, container.hyperlink_click, "click", container, container_id, scope, owner)
add_row(rows, presentation, container.hyperlink_mouse_over, "mouse-over", container, container_id, scope, owner)
with open("hyperlink-audit.json", "w", encoding="utf-8") as report_file:
json.dump(rows, report_file, indent=2)
for container, scope, owner in containers:
click = container.hyperlink_click
if policy_violation(click) is not None:
if replace_external_clicks and click.action_type == slides.HyperlinkActionType.HYPERLINK:
container.hyperlink_manager.set_external_hyperlink_click(replacement_url)
else:
container.hyperlink_manager.remove_hyperlink_click()
if policy_violation(container.hyperlink_mouse_over) is not None:
container.hyperlink_manager.remove_hyperlink_mouse_over()
presentation.save("hyperlink-sanitized.pptx", slides.export.SaveFormat.PPTX)
with slides.Presentation("hyperlink-sanitized.pptx") as reopened:
remaining_containers = collect_containers(reopened)
violations = 0
for container, scope, owner in remaining_containers:
if policy_violation(container.hyperlink_click) is not None:
violations += 1
if policy_violation(container.hyperlink_mouse_over) is not None:
violations += 1
print(f"Audit rows: {len(rows)}; prohibited actions after reopening: {violations}")
if violations != 0:
print("Verification failed: do not distribute the saved presentation.")
sys.exit(1)
Yukarıda oluşturulan giriş ile rapor beş eylem satırı içerir. Dosya fare‑üzerinde bağlantısı ve makro tıklaması kaldırılır, HTTPS bağlantıları ve dahili slayt navigasyonu kalır. Doğrulama, sıfır yasaklı eylem gösterir. Yasaklı bir dış tıklama URL’si içeren bir giriş, değiştirme dalını da çalıştırır. İzin verilen bir tıklama ve yasaklı bir fare‑üzerinde eylemi olan bir kapsayıcı, tıklama eylemini tutar.
Bu seçici temizlik, remove_all_hyperlinks yönteminden farklıdır; bu yöntem, politika göz önüne alınmaksızın seçilen kapsam içindeki her iki etkinleştirme türünü de kaldırır. Buradaki doğrulama yalnızca köprü eylemlerini kontrol eder; gömülü VBA projelerini, OLE nesnelerini veya diğer aktif içeriği kaldırmaz ve dışa aktarılmış bir PDF veya HTML dosyasını doğrulamaz.
SSS
Bir bölüme ya da onun ilk slaytına nasıl bağlanabilirim?
PowerPoint’te bölümler slaytları gruplar, ancak dahili bir köprü sadece tek bir slaytı hedef alır. Bir bölüme geçiş oluşturmak için, o bölümün ilk slaytına bağlanın.
Usta slayt öğelerine köprü ekleyebilir miyim, böylece tüm slaytlarda çalışır?
Evet. Usta slayt ve düzen öğeleri köprüleri destekler. Bu öğelere eklenen bağlantılar, ilgili ustayı veya düzeni kullanan slayt gösterisi sırasında erişilebilir olur.
Köprüler PDF, HTML, görseller veya video olarak dışa aktarılırken korunur mu?
Desteklenen PDF ve HTML dışa aktarmaları köprüleri koruyabilir; raster görseller ve videolar koruyamaz. Detaylı dışa aktarım bilgileri için Raporla, Temizle ve Köprüleri Doğrula bölümüne bakın.