حائز مكان Aspose.Slides FOSS Python API مرجع
(أ) حائز مكان هي منطقة محجوزة على تخطيط أو شريحة رئيسية تحدد الموقع الافتراضي والحجم والتنسيق لنوع معين من المحتوى (العنوان،, نص الجسم، وقدم الصفحة، والتاريخ، ورقم الشريحة ، إلخ.) عندما يستند شريح عادي إلى تخطيط الذي لديه الحافظات، والأشكال المقابلة على الشريحة ترث تلك المواقف والشكلات.
حزمة: aspose.slides_foss
كيف يعمل المحتلون في هذا التنفيذ؟
يتم تمثيل الحاملات الداخلية كشكل عادي والذي يحمل XML a <p:ph> عنصر يحدد نوع الحافظة على المكان والمؤشر. Shape الطبقة يقرأ: <p:ph> لتحديد ما إذا كان الشكل هو حامل مكان ويمشي على تصميم → السلسلة الرئيسية للتخلي عن وضع الشكل عندما لا يوجد محلي <a:xfrm> هو محدد.
لا يوجد واحد منفصل Placeholder ملف الطبقة في هذا الإصدار؛ حائز مكان هويتهم تحمل من قبل البند الأساسي. AutoShape, Table,أو غيرها من الأشكال.
اكتشاف أشكال الحاملة للمكان
الشكل على تخطيط أو شرائح XML هو حامل مكان عندما يكون nvSpPr/nvPr (أو المكالمة (مجموعة الخصائص غير البصرية) تحتوي على <p:ph> العنصر.
المجلس الوزاري Shape الفئة الأساسية تعرض المساعد الداخلي _get_placeholder_info() التي يعيد a (ph_type, ph_idx) المجموعة أو None لأشكال غير حاملة للمكان.
التراث في المخططات و الحامل الرئيسي للمكان
عندما لا يكون لشكله المنزلق شكله الخاص <a:xfrm> العنصر، الإطار يحدد الموقع والحجم من الحافظة على المكان المتوافقة في شرائح التخطيط، و ثم من الشريحة الرئيسية إذا لم يحدد المخطط واحدة. هذا يتم التعامل مع التراث تلقائياً؛ يصل رمز العميل فقط إلى shape.x, shape.y, shape.width,، و shape.height.
PlaceholderType (أعلن في __all__)
يتم الإعلان عن أنواع الحافظة التالية في سطح API العام. إنها ترسم خريطة إلى type سمة من <p:ph> في OOXML:
| قيمة النوع | وصف |
|---|---|
body | الجسم / مساحة المحتوى |
title | عنوان الشريحة |
ctrTitle | عنوان مركز |
subTitle | ترجمة: |
dt | التاريخ والوقت |
ftr | أسفل المقالة |
sldNum | رقم الشريحة |
pic | حافظ على مكان الصورة |
obj | المادة العامة |
chart | الرسم البياني |
tbl | الجدول |
clipArt | فنون المقطع |
dgm | الرسم البياني |
media | كائن الوسائط |
header | Header (notes pages) (مُحملة مكان) |
أمثلة رمزية
تحديد أشكال الحافظة على المكان في التخطيط
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
layout = prs.layout_slides[0]
print(f"Layout: {layout.name!r}")
for shape in layout.shapes:
# Access the internal placeholder info via the XML helper
ph_info = shape._get_placeholder_info() if hasattr(shape, '_get_placeholder_info') else None
if ph_info:
ph_type, ph_idx = ph_info
print(f" Placeholder: type={ph_type!r} idx={ph_idx}"
f" at ({shape.x:.0f}, {shape.y:.0f})")
else:
print(f" Regular shape: {shape.name!r}")إضافة شريحة و العمل مع عنوانها مكان الحامل
import aspose.slides_foss as slides
from aspose.slides_foss import SlideLayoutType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Use the Title layout which has a title placeholder
title_layout = prs.layout_slides.get_by_type(SlideLayoutType.TITLE)
if title_layout is None:
title_layout = prs.layout_slides[0]
slide = prs.slides.add_empty_slide(title_layout)
# The first shape on a TITLE layout is typically the title placeholder
for shape in slide.shapes:
if hasattr(shape, 'add_text_frame'):
shape.add_text_frame("Quarterly Review")
break
prs.save("titled-slide.pptx", SaveFormat.PPTX)إضافة النص إلى جميع الأشكال على الشريحة (بما في ذلك الحوائط)
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation("template.pptx") as prs:
slide = prs.slides[0]
for i, shape in enumerate(slide.shapes):
if hasattr(shape, 'add_text_frame'):
try:
shape.add_text_frame(f"Content {i + 1}")
except Exception:
pass # some shapes may not accept text
prs.save("filled.pptx", SaveFormat.PPTX)