قالببندی متن ارائه در پایتون
بررسی کلی
این مقاله نشان میدهد چگونه متن را در ارائههای PowerPoint و OpenDocument با استفاده از Aspose.Slides برای Python از طریق .NET قالببندی کنید. این راهنما شامل رنگهای پسزمینه، شفافیت، فاصله بین حروف، ویژگیهای قلم، چرخش، فاصله بین پاراگرافها، رفتار خودتنظیم، نگهدارنده متن، توقفهای تب و تنظیمات زبان میشود.
مگر اینکه خلاف آن ذکر شده باشد، مثالها از sample.pptx استفاده میکنند. اولین شکل در اولین اسلاید یک جعبه متن است و اولین پاراگراف آن شامل متنی است که در زیر نشان داده شده است. هر دو اندیس اسلاید و شکل به صورت صفر مبنا هستند. مثالهایی که بخشهای بولد را انتخاب میکنند، از قالببندی مؤثر شامل قالببندی بولد به ارثبرده استفاده میکنند:

برای یافتن و برجستهسازی متن لITERAL یا تطابقهای عبارت منظم، به Search and Replace Text مراجعه کنید.
تنظیم رنگ پسزمینه متن
از ParagraphFormat.default_portion_format برای تنظیم رنگ برجسته پیشفرض یک پاراگراف استفاده کنید، یا از BasePortionFormat.highlight_color برای بخشهای متنی جداگانه استفاده کنید.
مثال زیر یک برجسته خاکستری روشن را بهعنوان پیشفرض برای اولین پاراگراف تنظیم میکند. رنگهای برجسته صریح روی بخشهای جداگانه بر این پیشفرض اولویت دارند:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# رنگ برجسته را برای کل پاراگراف تنظیم کنید.
paragraph.paragraph_format.default_portion_format.highlight_color.color = draw.Color.light_gray
presentation.save("gray_paragraph.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

مثال کد زیر نشان میدهد چگونه رنگ پسزمینه را برای بخشهای متنی با قلم بولد تنظیم کنید:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
for portion in paragraph.portions:
if portion.portion_format.get_effective().font_bold:
# رنگ برجسته را برای بخش متن تنظیم کنید.
portion.portion_format.highlight_color.color = draw.Color.light_gray
presentation.save("gray_text_portions.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تراز کردن پاراگرافهای متن
از ParagraphFormat.alignment برای تنظیم تراز پاراگراف درون یک فریم متن استفاده کنید. مقدار میتواند centered، left‑aligned، right‑aligned، justified و غیره باشد.
کد مثال زیر نشان میدهد چگونه پاراگراف را به مرکز تراز کنید:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# تراز پاراگراف را به مرکز تنظیم کنید.
paragraph.paragraph_format.alignment = slides.TextAlignment.CENTER
presentation.save("aligned_paragraph.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تراز کردن قلمها درون یک خط
از ParagraphFormat.font_alignment برای تراز عمودی بخشهای متنی با اندازههای قلم مختلف درون یک خط استفاده کنید. این تنظیم برای کل پاراگراف اعمال میشود و تراز در هر یک از خطوط آن را کنترل میکند.
مثال خودکفا زیر چهار جعبه متن دارای برچسب در یک اسلاید ایجاد میکند. هر پاراگراف همان متن را با اندازههای 18، 36 و 54 پوینت دارد و تراز قلم متفاوتی دارد. از Arial استفاده میشود، خودتنظیم و پیچش غیرفعال هستند و فریمهای متن به اندازه کافی بزرگ هستند تا یک خط را در بر بگیرند:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
alignments = [slides.FontAlignment.BASELINE, slides.FontAlignment.TOP, slides.FontAlignment.CENTER, slides.FontAlignment.BOTTOM]
font_sizes = [18, 36, 54]
for i, alignment in enumerate(alignments):
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 30, 20 + i * 130, 660, 120)
shape.fill_format.fill_type = slides.FillType.NO_FILL
shape.line_format.fill_format.fill_type = slides.FillType.NO_FILL
text_frame = shape.text_frame
text_frame.text_frame_format.anchoring_type = slides.TextAnchorType.TOP
text_frame.text_frame_format.autofit_type = slides.TextAutofitType.NONE
text_frame.text_frame_format.wrap_text = slides.NullableBool.FALSE
label = text_frame.paragraphs[0]
label.text = alignment.name.title()
label.paragraph_format.alignment = slides.TextAlignment.LEFT
label.paragraph_format.default_portion_format.font_height = 14
label.paragraph_format.default_portion_format.latin_font = slides.FontData("Arial")
label.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID
label.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.gray
paragraph = slides.Paragraph()
paragraph.paragraph_format.font_alignment = alignment
paragraph.paragraph_format.alignment = slides.TextAlignment.LEFT
paragraph.paragraph_format.default_portion_format.latin_font = slides.FontData("Arial")
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
for font_size in font_sizes:
portion = slides.Portion("Ag ")
portion.portion_format.font_height = font_size
paragraph.portions.add(portion)
text_frame.paragraphs.add(paragraph)
presentation.save("font_alignment.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تراز قلم از متریکهای قلم استفاده میکند، بنابراین لبههای قابل مشاهده حروف لزوماً با هم همسطح نمیشوند. این مثال شامل یک حرف بزرگ و یک حروف پایینخط برای نشان دادن تفاوت بین تراز baseline و bottom است. در دسترس بودن قلم و جایگزینی، کاراکترهای استفاده شده و تفاوت در اندازههای قلم بر نتیجه تأثیر میگذارند. ابعاد فریم، حاشیهها، فاصله بین خطوط، پیچش و خودتنظیم نیز بر طرحبندی تأثیر دارند؛ هنگام مقایسه حالتها از همان قلمها و تنظیمات طرحبندی استفاده کنید.
این تنظیم متفاوت از ParagraphFormat.alignment است که تراز افقی پاراگراف را کنترل میکند، و از TextFrameFormat.anchoring_type که بلوک متن را عموداً درون شکل موقعیت میدهد. فرمتگذاری ابرنویسی و زیرنویسی از طریق BasePortionFormat.escapement بخشهای جداگانه را نسبت به baseline جابهجا میکند بهجای تنظیم تراز قلم برای خطوط پاراگراف.
تنظیم شفافیت برای متن
شفافیت متن از طریق مؤلفه آلفای رنگی که به BasePortionFormat.fill_format اختصاص داده میشود کنترل میشود. در مثالهای زیر، alpha = 50 مقدار آلفای ARGB در مقیاس 0–255 است، نه درصد شفافیت.
کد مثال زیر نشان میدهد چگونه شفافیت را برای کل پاراگراف اعمال کنید:
import aspose.pydrawing as draw
import aspose.slides as slides
alpha = 50
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# پر رنگ سیاه نیمهشفاف را برای متن تنظیم کنید.
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.from_argb(alpha, draw.Color.black)
presentation.save("transparent_paragraph.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

مثال کد زیر نشان میدهد چگونه شفافیت را برای بخشهای متنی با قلم بولد اعمال کنید:
import aspose.pydrawing as draw
import aspose.slides as slides
alpha = 50
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
for portion in paragraph.portions:
if portion.portion_format.get_effective().font_bold:
# شفافیت بخش متن را تنظیم کنید.
portion.portion_format.fill_format.fill_type = slides.FillType.SOLID
portion.portion_format.fill_format.solid_fill_color.color = draw.Color.from_argb(alpha, draw.Color.black)
presentation.save("transparent_text_portions.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تنظیم فاصله بین حروف برای متن
از BasePortionFormat.spacing برای گسترش یا فشردهسازی فاصله بین حروف در یک جعبه متن استفاده کنید. مثالها 3 پوینت فاصله اضافه میکنند؛ مقادیر منفی متن را فشرده میکند.
کد پایتون زیر نشان میدهد چگونه فاصله بین حروف را در کل پاراگراف گسترش دهید:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# تذکر: برای فشردهسازی فاصله بین حروف از مقادیر منفی استفاده کنید.
paragraph.paragraph_format.default_portion_format.spacing = 3 # فاصله بین حروف را گسترش دهید.
presentation.save("character_spacing_in_paragraph.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

کد مثال زیر نشان میدهد چگونه فاصله بین حروف را در بخشهای متنی با قلم بولد گسترش دهید:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
for portion in paragraph.portions:
if portion.portion_format.get_effective().font_bold:
# نکته: برای فشردهسازی فاصله بین حروف از مقادیر منفی استفاده کنید.
portion.portion_format.spacing = 3 # فاصله بین حروف را گسترش دهید.
presentation.save("character_spacing_in_text_portions.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

غیرفعال کردن کرنینگ برای قلمهای خاص
در برخی موارد، متن رندر شده توسط Aspose.Slides ممکن است اندکی فشردهتر از متن مشابه در PowerPoint به نظر برسد. این میتواند به این دلیل باشد که PowerPoint ممکن است دادههای کرنینگ را برای برخی قلمها نادیده بگیرد، حتی زمانی که قلم دارای اطلاعات کرنینگ معتبر باشد و کرنینگ در تنظیمات PowerPoint فعال باشد.
برای نزدیکتر شدن خروجی رندر شده به PowerPoint در چنین مواردی، میتوانید کرنینگ را برای بخشهای متنی که از قلم موردنظر استفاده میکنند غیرفعال کنید. مقدار BasePortionFormat.kerning_minimal_size را بزرگتر از اندازه واقعی قلم تنظیم کنید. این مثال به «presentation.pptx» با یک جعبه متن بهعنوان اولین شکل در اولین اسلاید نیاز دارد. نامهای قلم مؤثر، از جمله قلمهای به ارثبرده، بررسی میشوند و برای بخشهایی که از Roboto استفاده میکنند آستانه 100 پوینت تنظیم میشود؛ این کار کرنینگ را برای بخشهای مطابق با اندازه قلم زیر 100 پوینت غیرفعال میکند:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
target_font = "Roboto"
for paragraph in auto_shape.text_frame.paragraphs:
for portion in paragraph.portions:
text_format = portion.portion_format.get_effective()
fonts = (text_format.latin_font, text_format.east_asian_font, text_format.complex_script_font)
uses_target_font = any(font is not None and font.font_name == target_font for font in fonts)
if uses_target_font:
portion.portion_format.kerning_minimal_size = 100
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
برای متن منطبق زیر آستانه، این تنظیم کرنینگ را منع میکند و میتواند به همراستاپذیری رندر Aspose.Slides با خروجی بصری PowerPoint برای قلمهای تحت تأثیر این رفتار خاص PowerPoint کمک کند.
مدیریت ویژگیهای قلم متن
ویژگیهای قلم میتوانند در سطح پاراگراف از طریق ParagraphFormat.default_portion_format یا در بخشهای جداگانه از طریق PortionFormat تنظیم شوند.
مثال زیر قلم پیشفرض اولین پاراگراف را به 12 پوینت Times New Roman با قالب بولد، ایتالیک و زیرخط نقطهای تنظیم میکند. قالببندی صریح روی بخشهای جداگانه بر این پیشفرضها اولویت دارد:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# ویژگیهای قلم را برای پاراگراف تنظیم کنید.
portion_format = paragraph.paragraph_format.default_portion_format
portion_format.font_height = 12
portion_format.font_bold = slides.NullableBool.TRUE
portion_format.font_italic = slides.NullableBool.TRUE
portion_format.font_underline = slides.TextUnderlineType.DOTTED
portion_format.latin_font = slides.FontData("Times New Roman")
presentation.save("font_properties_for_paragraph.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

مثال زیر 13 پوینت Times New Roman، قالب ایتالیک و زیرخط نقطهای را بر بخشهایی که قالب مؤثرشان بولد است اعمال میکند:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
for portion in paragraph.portions:
if portion.portion_format.get_effective().font_bold:
# ویژگیهای قلم را برای بخش متن تنظیم کنید.
portion.portion_format.font_height = 13
portion.portion_format.font_italic = slides.NullableBool.TRUE
portion.portion_format.font_underline = slides.TextUnderlineType.DOTTED
portion.portion_format.latin_font = slides.FontData("Times New Roman")
presentation.save("font_properties_for_text_portions.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تنظیم چرخش متن
از TextFrameFormat.text_vertical_type برای تنظیم یک جهت متنی پیشتعریفشده درون یک شکل استفاده کنید.
کد مثال زیر جهت متن در شکل را به TextVerticalType.VERTICAL270 تنظیم میکند که متن را 90 درجه به سمت ساعتگرد میچرخاند:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
auto_shape.text_frame.text_frame_format.text_vertical_type = slides.TextVerticalType.VERTICAL270
presentation.save("text_rotation.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تنظیم چرخش سفارشی برای فریمهای متن
از TextFrameFormat.rotation_angle برای تنظیم زاویه چرخش سفارشی برای یک TextFrame استفاده کنید.
کد مثال زیر فریم متن را 3 درجه به سمت ساعتگرد درون شکل میچرخاند:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
auto_shape.text_frame.text_frame_format.rotation_angle = 3
presentation.save("custom_text_rotation.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تنظیم فاصله خطوط پاراگرافها
Aspose.Slides ویژگیهای ParagraphFormat.space_after، ParagraphFormat.space_before و ParagraphFormat.space_within را برای کنترل فاصله پاراگراف ارائه میدهد. این ویژگیها بهصورت زیر استفاده میشوند:
- از مقدار مثبت برای مشخص کردن فاصله خط بهعنوان درصدی از ارتفاع خط استفاده کنید.
- از مقدار منفی برای مشخص کردن فاصله خط به پوینت استفاده کنید.
مثال زیر فاصله درون اولین پاراگراف را به 200٪ ارتفاع خط (دو برابر) تنظیم میکند:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
paragraph.paragraph_format.space_within = 200
presentation.save("line_spacing.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

کنترل شکست خطوط
قواعد شکست خطوط پاراگراف در بلوکهای متنی باریک و ارائههایی که متن لاتین و شرق آسیا را ترکیب میکنند مفید است. ویژگیهای زیر متعلق به ParagraphFormat هستند، بنابراین بر تمام پاراگراف اعمال میشوند:
- latin_line_break قواعد شکست خطوط لاتین را کنترل میکند. در متن ترکیبی، تغییر آن میتواند محل شکست متن شرق آسیا و علائم نگارشی مجاور را نیز تغییر دهد.
- east_asian_line_break قواعد شکست خطوط شرق آسیا را کنترل میکند، از جمله محدودیتهای کاراکترهای آغاز و پایان خط.
این قواعد جایگزین TextFrameFormat.wrap_text که پیچش خودکار را درون فریم متن فعال میکند، نمیشوند. آنها چیدمان را هنگام پیچش تحت تأثیر قرار میدهند؛ کاراکترهای شکست خط را وارد نمیکنند. یک شکست خط صریح یک خط جدید را درون پاراگراف مستقل از عرض در دسترس ایجاد میکند.
مثال خودکفا زیر یک بلوک متن باریک حاوی چینی و لاتین ایجاد میکند. هر دو ویژگی شکست خط بهصورت صریح تنظیم میشوند و «line_breaking.pptx» ذخیره میگردد. برای آزمایش هر قانون، مقدار آن ویژگی را تغییر دهید در حالی که تنظیمات دیگر ثابت میمانند. این مثال از Arial 24 پوینت و SimSun با عرض فریم 160 پوینت و حاشیه افقی صفر استفاده میکند. TextFrameFormat.autofit_type بر روی TextAutofitType.NONE تنظیم شده تا اندازه متن و ابعاد فریم ثابت بمانند:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 160, 300)
shape.fill_format.fill_type = slides.FillType.NO_FILL
text_frame = shape.text_frame
text_frame.text_frame_format.wrap_text = slides.NullableBool.TRUE
text_frame.text_frame_format.autofit_type = slides.TextAutofitType.NONE
text_frame.text_frame_format.margin_left = 0
text_frame.text_frame_format.margin_right = 0
paragraph = text_frame.paragraphs[0]
paragraph.text = "中文排版测试,PowerPoint 中文演示。"
paragraph_format = paragraph.paragraph_format
paragraph_format.alignment = slides.TextAlignment.LEFT
paragraph_format.default_portion_format.font_height = 24
paragraph_format.default_portion_format.latin_font = slides.FontData("Arial")
paragraph_format.default_portion_format.east_asian_font = slides.FontData("SimSun")
paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID
paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black
paragraph_format.latin_line_break = slides.NullableBool.FALSE
paragraph_format.east_asian_line_break = slides.NullableBool.TRUE
presentation.save("line_breaking.pptx", slides.export.SaveFormat.PPTX)
کنترل علائم نگارشی معلق
ParagraphFormat.hanging_punctuation اجازه میدهد علائم نگارشی مجاز از لبه راست خط متن فراتر بروند بهجای این که در خط بعدی قرار گیرند. این ویژگی برای تمام پاراگراف اعمال میشود و متفاوت از تورفتگی معلق است.
مثال خودکفا زیر علامتگذاری معلق را در فریم متنی به عرض 100 پوینت فعال میکند و «hanging_punctuation.pptx» را ذخیره میکند. با Arial 24 پوینت و حاشیه افقی صفر، نقطه نهایی پس از «sentence» میماند و از لبه راست متن فراتر میرود. برای مقایسه، ویژگی را به NullableBool.FALSE تنظیم کنید: در این حالت نقطه در خط جداگانهای قرار میگیرد. پیچش فعال و خودتنظیم غیرفعال شدهاند تا عرض در دسترس ثابت بماند:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 100, 200)
shape.fill_format.fill_type = slides.FillType.NO_FILL
text_frame = shape.text_frame
text_frame.text_frame_format.wrap_text = slides.NullableBool.TRUE
text_frame.text_frame_format.autofit_type = slides.TextAutofitType.NONE
text_frame.text_frame_format.margin_left = 0
text_frame.text_frame_format.margin_right = 0
paragraph = text_frame.paragraphs[0]
paragraph.text = "Simple text, next sentence."
paragraph_format = paragraph.paragraph_format
paragraph_format.alignment = slides.TextAlignment.LEFT
paragraph_format.default_portion_format.font_height = 24
paragraph_format.default_portion_format.latin_font = slides.FontData("Arial")
paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID
paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black
paragraph_format.hanging_punctuation = slides.NullableBool.TRUE
presentation.save("hanging_punctuation.pptx", slides.export.SaveFormat.PPTX)
هر علامت نگارشی نمیتواند معلق شود. نتیجه قابل مشاهده به شرایط قلم و طرحبندی وابسته است: تغییر قلم، عرض در دسترس، حاشیهها یا تنظیمات خودتنظیم میتوانند تفاوت قابل مشاهده را حذف کنند.
تنظیم نوع خودتنظیم برای فریمهای متن
TextFrameFormat.autofit_type تعیین میکند متن هنگام تجاوز از مرزهای محفظهٔ خود چگونه رفتار کند. از آن برای کنترل اینکه متن کوچک شود، سرریز شود یا بهصورت خودکار شکل را تغییر اندازه دهد استفاده کنید. مثال زیر شکل را طوری تنظیم میکند که برای متن خود تغییر اندازه دهد و نتیجه را در «autofit_type.pptx» ذخیره میکند:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
auto_shape.text_frame.text_frame_format.autofit_type = slides.TextAutofitType.SHAPE
presentation.save("autofit_type.pptx", slides.export.SaveFormat.PPTX)
برای شمارش خطوط پس از پیچش خودکار و مشاهدهٔ نحوهٔ تغییر عرض متن یا شکل، به Count Rendered Lines مراجعه کنید. تنها شمارش خطوط نشاندهندۀ سرریز شدن متن نیست.
تنظیم لنگر فریمهای متن
TextFrameFormat.anchoring_type تعریف میکند متن چگونه به صورت عمودی داخل یک شکل موقعیت یابد، برای مثال در بالا، وسط یا پایین. مثال زیر متن را به پایینترین شکل اولین شکل متصل میکند و نتیجه را در «text_anchor.pptx» ذخیره میکند:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
auto_shape.text_frame.text_frame_format.anchoring_type = slides.TextAnchorType.BOTTOM
presentation.save("text_anchor.pptx", slides.export.SaveFormat.PPTX)
تنظیم تبهای متن
از ParagraphFormat.default_tab_size و ParagraphFormat.tabs برای پیکربندی توقفهای تب در یک پاراگراف استفاده کنید. مثال زیر فاصله تب پیشفرض را به 100 پوینت تنظیم کرده و یک توقف تب چپتراز در 30 پوینت اضافه میکند. این تنظیمات بر متنی که شامل کاراکترهای تب است تأثیر میگذارد:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
paragraph.paragraph_format.default_tab_size = 100
paragraph.paragraph_format.tabs.add(30, slides.TabAlignment.LEFT)
presentation.save("paragraph_tabs.pptx", slides.export.SaveFormat.PPTX)
نتیجه:

تنظیم زبان اصلاح نویسی
Aspose.Slides ویژگی BasePortionFormat.language_id را فراهم میکند که به شما امکان میدهد زبان اصلاح نویسی یک بخش متنی را تنظیم کنید. زبان اصلاح نویسی تعیین میکند کدام زبان برای بررسی املایی و دستوری در PowerPoint استفاده شود.
مثال زیر به «presentation.pptx» با یک جعبه متن بهعنوان اولین شکل در اولین اسلاید و حداقل یک پاراگراف نیاز دارد. محتویات اولین پاراگراف را با «1。» جایگزین میکند، SimSun را بهعنوان قلم آن تنظیم میکند و زبان اصلاح نویسی چینی ساده (zh-CN) را اختصاص میدهد. نتیجه در «proofing_language.pptx» ذخیره میشود:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
paragraph.portions.clear()
font = slides.FontData("SimSun")
text_portion = slides.Portion()
text_portion.portion_format.complex_script_font = font
text_portion.portion_format.east_asian_font = font
text_portion.portion_format.latin_font = font
# زبان اصلاح نوشتاری را به چینی ساده تنظیم کنید.
text_portion.portion_format.language_id = "zh-CN"
text_portion.text = "1。"
paragraph.portions.add(text_portion)
presentation.save("proofing_language.pptx", slides.export.SaveFormat.PPTX)
تنظیم زبان پیشفرض
از LoadOptions.default_text_language برای تعریف زبان پیشفرض متنی که هنگام بارگذاری یا ایجاد یک ارائه ایجاد میشود استفاده کنید. مثال زیر ارائهای با زبان پیشفرض متن انگلیسی ایالات متحده ایجاد میکند، یک جعبه متن اضافه میکند و en-US را برای اولین بخش متنیاش چاپ میکند:
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.default_text_language = "en-US"
with slides.Presentation(load_options) as presentation:
slide = presentation.slides[0]
# یک شکل مستطیل جدید با متن اضافه کنید.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 50)
shape.text_frame.text = "Sample text"
# زبان بخش اول را بررسی کنید.
portion = shape.text_frame.paragraphs[0].portions[0]
print(portion.portion_format.language_id)
تنظیم سبک متن پیشفرض
برای اعمال قالببندی متن پیشفرض در سطح ارائه، از Presentation.default_text_style استفاده کنید.
مثال زیر یک قلم 14 پوینت بولد را بهعنوان پیشفرض برای پاراگرافهای سطح بالا در یک ارائهٔ جدید تنظیم میکند و آن را در «default_text_style.pptx» ذخیره مینماید. متن میتواند این پیشفرضها را به ارث ببرد مگر اینکه قالببندی خاصتری آنها را لغو کند:
import aspose.slides as slides
with slides.Presentation() as presentation:
# قالب پاراگراف سطح بالا را دریافت کنید.
paragraph_format = presentation.default_text_style.get_level(0)
if paragraph_format is not None:
paragraph_format.default_portion_format.font_height = 14
paragraph_format.default_portion_format.font_bold = slides.NullableBool.TRUE
presentation.save("default_text_style.pptx", slides.export.SaveFormat.PPTX)
استخراج متن با اثر تمام حروف بزرگ
در PowerPoint، اعمال اثر فونت All Caps باعث میشود متن روی اسلاید بهصورت حروف بزرگ نشان داده شود حتی اگر بهصورت حروف کوچک وارد شده باشد. وقتی چنین بخشی را با Aspose.Slides بازیابی میکنید، کتابخانه متن را دقیقاً همانطور که وارد شده است برمیگرداند. برای مطابقت با متن نمایش دادهشده، TextCapType را بررسی کنید و وقتی مقدار ALL باشد، رشتهٔ بازگرداندهشده را به حروف بزرگ تبدیل کنید.
این مثال به «sample2.pptx» با یک جعبه متن بهعنوان اولین شکل در اولین اسلاید نیاز دارد. اولین بخش اولین پاراگراف شامل «Hello, Aspose!» با اثر All Caps است، همانطور که در زیر نشان داده شده است.

کد مثال زیر نشان میدهد چگونه متن با اثر All Caps استخراج شود:
import aspose.slides as slides
with slides.Presentation("sample2.pptx") as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes[0]
text_portion = auto_shape.text_frame.paragraphs[0].portions[0]
print("Original text:", text_portion.text)
text_format = text_portion.portion_format.get_effective()
if text_format.text_cap_type == slides.TextCapType.ALL:
text = text_portion.text.upper()
print("All-Caps effect:", text)
خروجی:
Original text: Hello, Aspose!
All-Caps effect: HELLO, ASPOSE!
سوالات متداول
چگونه متن در یک جدول روی اسلاید را اصلاح کنم؟
برای اصلاح متن در یک جدول روی اسلاید، از Table استفاده کنید. از طریق سلولها پیمایش کنید و هر سلول را از طریق Cell.text_frame بهروز کنید و قالببندی پاراگراف را از طریق Paragraph.paragraph_format تنظیم کنید.
چگونه یک رنگ گرادیان به متن روی اسلاید PowerPoint اعمال کنم؟
برای اعمال رنگ گرادیان به متن، از BasePortionFormat.fill_format استفاده کنید. FillFormat.fill_type را به FillType.GRADIENT تنظیم کنید و نقاط توقف گرادیان، جهت و شفافیت را پیکربندی کنید.