Prezentáció szövegének formázása Pythonban
Áttekintés
Ez a cikk bemutatja, hogyan formázhatja a szöveget PowerPoint és OpenDocument prezentációkban az Aspose.Slides for Python via .NET segítségével. Tárgyalja a háttérszíneket, átlátszóságot, karakterközeletet, betűtulajdonságokat, forgatást, bekezdésközeletet, automatikus méretezést, szöveg rögzítését, tabulátorállásokat és nyelvi beállításokat.
Hacsak másként nincs megjelölve, a példák a sample.pptx fájlt használják. Az első diáján az első alakzat egy szövegdoboz, és az első bekezdése a lent bemutatott szöveget tartalmazza. A diák és az alakzat indexei nullától indulnak. A félkövér szakaszokat kiválasztó példák a hatékony formázást használják, beleértve az örökölt félkövér formázást:

A szó szerinti szöveg vagy reguláris kifejezés találatok megtalálásához és kiemeléséhez lásd a Keresés és szövegcsere oldalt.
Szöveg háttérszín beállítása
Használja a ParagraphFormat.default_portion_format metódust a bekezdés alapértelmezett kiemelési színének beállításához, vagy a BasePortionFormat.highlight_color metódust az egyes szövegrészekhez.
Az alábbi példa a első bekezdés alapértelmezett kiemelését világosszürkére állítja. Az egyes részekre kifejezett kiemelési színek felülbírálják ezt az alapértelmezettet:
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]
# Állítsa be a teljes bekezdés kiemelésének színét.
paragraph.paragraph_format.default_portion_format.highlight_color.color = draw.Color.light_gray
presentation.save("gray_paragraph.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Az alábbi kódrészlet bemutatja, hogyan állítható be a háttérszín félkövér betűtípusú szövegrészek számára:
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:
# Állítsa be a szövegrész kiemelésének színét.
portion.portion_format.highlight_color.color = draw.Color.light_gray
presentation.save("gray_text_portions.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Bekezdés szöveg igazítása
Használja a ParagraphFormat.alignment tulajdonságot a bekezdés igazításának beállításához egy szövegdobozon belül. Az érték lehet középre, balra, jobbra, sorkizárás stb.
Az alábbi kódrészlet a bekezdést középre igazítja:
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]
# Állítsa be a bekezdés igazítását középre.
paragraph.paragraph_format.alignment = slides.TextAlignment.CENTER
presentation.save("aligned_paragraph.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Betűk igazítása egy soron belül
Használja a ParagraphFormat.font_alignment tulajdonságot a különböző betűméretű szövegrészek függőleges igazításához egy soron belül. Ez a beállítás az egész bekezdésre vonatkozik, és a sorokban végzi az igazítást.
Az alábbi önálló példa négy címkézett szövegdobozt hoz létre egy dián. Minden bekezdés ugyanazt a szöveget tartalmazza 18, 36 és 54 pontos mérettel, különböző betűigazítással. Arial betűtípust használ, letiltja az automatikus méretezést és a sortörést, és a szövegdobozok elég nagyok egy sor megjelenítéséhez.
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)
Az eredmény:

A betűigazítás betűmetrikákon alapul, ezért az egyes betűk látható szélei nem feltétlenül esnek pontosan egy vonalra. A példa tartalmaz nagybetűt és egy lejjebb nyúló (descender) karaktert, hogy bemutassa a baseline és az alsó igazítás közti különbséget. A betűtípus elérhetősége, helyettesítése, a használt karakterek és a betűméretek közötti különbség mind hatással van az eredményre. A keret méretei, margók, sortávolság, sortörés és az automatikus méretezés szintén befolyásolják a megjelenést; a módok összehasonlításakor használjon ugyanazokat a betűket és elrendezési beállításokat.
Ez a beállítás eltér a ParagraphFormat.alignment‑tól, amely a vízszintes bekezdésigazítást szabályozza, valamint a TextFrameFormat.anchoring_type‑tól, amely a szövegblokk függőleges pozícióját állítja be az alakzatban. A BasePortionFormat.escapement segítségével a fel‑ és alsó indexelés egyedi részeket helyez el a baseline-hez képest, ahelyett, hogy a bekezdés soraira vonatkozó betűigazítást állítaná be.
Szöveg átlátszóságának beállítása
A szöveg átlátszóságát a BasePortionFormat.fill_format színének alfa komponense szabályozza. Az alábbi példákban az alpha = 50 egy 0–255 skálájú ARGB alfa-érték, nem átlátszósági százalék.
Az alábbi kódrészlet a teljes bekezdés átlátszóságát állítja be:
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]
# Állítsa be a szöveg félig átlátszó fekete kitöltését.
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)
Az eredmény:

A következő kódrészlet a félkövér betűtípusú szövegrészek átlátszóságát állítja be:
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:
# Állítsa be a szövegrész átlátszóságát.
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)
Az eredmény:

Karakterközelet beállítása szöveghez
Használja a BasePortionFormat.spacing tulajdonságot a karakterek közötti távolság növelésére vagy csökkentésére egy szövegdobozban. A példák 3 pont távolságot adnak hozzá; a negatív értékek a szöveget tömörítik.
Az alábbi Python kód a teljes bekezdés karakterközeletét növeli:
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]
# Megjegyzés: Negatív értékekkel lehet összenyomni a karakterközeletet.
paragraph.paragraph_format.default_portion_format.spacing = 3 # Bővítse a karakterközeletet.
presentation.save("character_spacing_in_paragraph.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Az alábbi kódrészlet a félkövér betűtípusú szövegrészek karakterközeletét növeli:
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:
# Megjegyzés: Negatív értékekkel lehet összenyomni a karakterközeletet.
portion.portion_format.spacing = 3 # Bővítse a karakterközeletet.
presentation.save("character_spacing_in_text_portions.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Kerning letiltása adott betűtípusokra
Bizonyos esetekben az Aspose.Slides által renderelt szöveg kissé szorosabb lehet, mint a PowerPointban megjelenített szöveg. Ez előfordulhat, ha a PowerPoint bizonyos betűtípusok esetén figyelmen kívül hagyja a kerning adatokat, még akkor is, ha a betűtípus rendelkezik érvényes kerning információval, és a PowerPoint beállításaiban engedélyezve van a kerning.
Az ilyen esetekben a szövegrészeknél, amelyek az érintett betűtípust használják, letilthatja a kerninget. Állítsa a BasePortionFormat.kerning_minimal_size értékét a tényleges betűmérettől nagyobbra. Ez a példa a „presentation.pptx” fájlt igényli, amelynek első alakzata egy szövegdoboz az első dián. A hatékony betűneveket, beleértve az örökölt betűtípusokat, ellenőrzi, és 100 pontos küszöböt állít be a Roboto betűtípust használó részekre. Ez letiltja a kerninget a 100 pont alatti méretű részeknél:
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)
Az alacsonyabb küszöb alatti egyező szöveg esetén ez a beállítás megakadályozza a kerninget, és segíthet az Aspose.Slides renderelésének összhangba hozásában a PowerPoint vizuális megjelenésével az érintett betűtípusok esetén.
Szöveg betűtulajdonságainak kezelése
A betűtulajdonságok beállíthatók bekezdés szinten a ParagraphFormat.default_portion_format vagy egyes részeknél a PortionFormat segítségével.
Az alábbi példa az első bekezdés alapértelmezett betűtípusát 12 pontos Times New Romanra állítja be, félkövér, dőlt és pontozott aláhúzással. Az egyes részekre kifejezett formázás felülbírálja ezeket az alapértelmezéseket:
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]
# Állítsa be a bekezdés betűtulajdonságait.
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)
Az eredmény:

Az alábbi példa 13 pontos Times New Roman, dőlt formázás és pontozott aláhúzás alkalmazását mutatja a félkövér hatékony formázású részekre:
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:
# Állítsa be a szövegrész betűtulajdonságait.
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)
Az eredmény:

Szöveg forgatása
Használja a TextFrameFormat.text_vertical_type tulajdonságot egy előre definiált szövegtorientáció beállításához egy alakzaton belül.
Az alábbi kódrészlet a szövegorientációt a TextVerticalType.VERTICAL270 értékre állítja, amely a szöveget 90 fokkal óramutató járásával ellentétesen forgatja:
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)
Az eredmény:

Egyéni forgatás beállítása szövegdobozokhoz
Használja a TextFrameFormat.rotation_angle tulajdonságot egy egyéni forgatási szög beállításához egy TextFrame számára.
Az alábbi kódrészlet a szövegdobozt 3 fokkal óramutató járásával megegyező irányban forgatja az alakzaton belül:
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)
Az eredmény:

Bekezdés sorhúzása beállítása
Az Aspose.Slides a ParagraphFormat.space_after, ParagraphFormat.space_before és ParagraphFormat.space_within tulajdonságokkal szabályozza a bekezdésközt. Ezeket a következő módon használhatja:
- Pozitív érték meghatározza a sorhúzást a sor magasságának százalékában.
- Negatív érték meghatározza a sorhúzást pontban.
Az alábbi példa a bekezdés sorhúzását a sormagasság 200%-ára (dupla sorhúzás) állítja:
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)
Az eredmény:

Sortörés szabályainak vezérlése
A bekezdés sortörési szabályai szűk szövegtömbökben és olyan prezentációkban hasznosak, ahol latin és kelet-ázsiai szöveg keveredik. Az alábbi tulajdonságok a ParagraphFormat részei, így egy egész bekezdésre vonatkoznak:
- latin_line_break szabályozza a latin sortörési szabályokat. Vegyes szöveg esetén ennek módosítása megváltoztathatja a kelet-ázsiai szöveg és írásjel tördelésének helyét is.
- east_asian_line_break szabályozza a kelet-ázsiai sortörési szabályokat, beleértve a sor elején és végén megengedett karaktereket.
Ezek a szabályok nem helyettesítik a TextFrameFormat.wrap_text beállítást, amely a szövegdobozon belüli automatikus sortörést engedélyezi. A szabályok a csomagoláskor befolyásolják az elrendezést; nem helyettesítik a sortörő karaktereket. Egy explicit sortörés új sort hoz létre a bekezdésen belül, függetlenül a rendelkezésre álló szélességtől.
Az alábbi önálló példa egy keskeny szövegtömböt hoz létre, amely kínai és latin szöveget tartalmaz. Mindkét sortörési tulajdonságot explicit módon beállítja, és a „line_breaking.pptx” fájlt menti. A szabályok kipróbálásához változtassa meg az adott tulajdonság értékét, miközben a másik beállítást változatlanul hagyja. A példa 24 pontos Arial és SimSun betűket, 160 pontos keretszélességet és nulla vízszintes szövegdoboz-margót használ. A TextFrameFormat.autofit_type értéke TextAutofitType.NONE, így a szövegméret és a keretméretek rögzítve maradnak:
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)
Függőleges írásjelek kezelése
A ParagraphFormat.hanging_punctuation lehetővé teszi, hogy a jogosult írásjelek a sor jobb szélén túlnyúljanak ahelyett, hogy a következő sorra kerülnek. Ez az egész bekezdésre vonatkozik, és különbözik a függőleges behúzástól.
Az alábbi önálló példa 100 pontos széles szövegdobozban engedélyezi a függőleges írásjeleket, és a „hanging_punctuation.pptx” fájlt menti. 24 pontos Arial és nulla vízszintes szövegdoboz-margó mellett a végpont a „sentence” után marad, és túlnyúlik a jobb szövegszegmensen. A tulajdonság beállítása NullableBool.FALSE értékre összehasonlításhoz: e beállítás esetén a pont külön sorban jelenik meg. A sortörés engedélyezett, az automatikus méretezés letiltott a szélesség rögzítése érdekében.
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)
Nem minden írásjel tud függőlegesen nyúlni. A látható eredmény a betűtípus és elrendezési feltételektől függ: a betűtípus, a rendelkezésre álló szélesség, a margók vagy az automatikus méretezés módosítása eltüntetheti a látható különbséget.
Automatikus méretezés típusa szövegdobozokhoz
A TextFrameFormat.autofit_type határozza meg, hogyan viselkedik a szöveg, ha túllépi a tárolójának határait. Használja a szöveg zsugorodásának, átfedésének vagy az alakzat automatikus átméretezésének vezérlésére. Az alábbi példa úgy konfigurálja a alakzatot, hogy a szöveghez igazodjon, és a „autofit_type.pptx” fájlba menti az eredményt:
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)
Az automatikus sortörés utáni sorok számlálásához és a szöveg vagy alakzat szélességének változásának megtekintéséhez lásd a Renderelt sorok számlálása. A sorok száma önmagában nem mutatja, hogy a szöveg túlcsordul-e a tárolóban.
Szövegdoboz rögzítésének beállítása
A TextFrameFormat.anchoring_type meghatározza, hogyan helyezkedik el a szöveg függőlegesen egy alakzaton belül, például a tetején, közepén vagy alján. Az alábbi példa a szöveget az első alakzat aljához rögzíti, és a „text_anchor.pptx” fájlba menti az eredményt:
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)
Szöveg tabuláció beállítása
Használja a ParagraphFormat.default_tab_size és a ParagraphFormat.tabs beállításokat a bekezdés tabulátorpontjainak konfigurálásához. Az alábbi példa az alapértelmezett tabulátorintervallumot 100 pontra állítja, és balra igazított tabot ad hozzá 30 pontnál. Ezek a beállítások a tabulátor karaktert tartalmazó szövegre hatnak.
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)
Az eredmény:

Helyesírási nyelv beállítása
Az Aspose.Slides a BasePortionFormat.language_id tulajdonsággal lehetővé teszi a szövegrész helyesírási nyelvének beállítását. A helyesírási nyelv határozza meg a PowerPointban a helyesírás- és nyelvtani ellenőrzés nyelvét.
Az alábbi példa a „presentation.pptx” fájlt igényli, amelynek első alakzata egy szövegdoboz az első dián, és legalább egy bekezdést tartalmaz. Az első bekezdés tartalmát „1。”‑re cseréli, a betűtípust SimSunra állítja, és a leegyszerűsített kínai helyesírási nyelvet (zh-CN) rendeli hozzá. Az eredményt a „proofing_language.pptx” fájlba menti:
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
# Állítsa be a helyesírási nyelvet leegyszerűsített kínaira.
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)
Alapértelmezett nyelv beállítása
Használja a LoadOptions.default_text_language beállítást a prezentáció betöltése vagy létrehozása során létrehozott szöveg alapértelmezett nyelvének meghatározásához. Az alábbi példa egy prezentációt hoz létre, amelynek alapértelmezett szövegnyelvének az amerikai angol van beállítva, egy szövegdobozt ad hozzá, és az első szövegrész nyelvének en-US értéket ír ki.
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]
# Adjon hozzá egy új téglalap alakzatot szöveggel.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 50)
shape.text_frame.text = "Sample text"
# Ellenőrizze az első rész nyelvét.
portion = shape.text_frame.paragraphs[0].portions[0]
print(portion.portion_format.language_id)
Alapértelmezett szövegstílus beállítása
A prezentáció szintjén alapértelmezett szövegformázás alkalmazásához használja a Presentation.default_text_style tulajdonságot.
Az alábbi példa egy 14 pontos félkövér betűtípust állít be alapértelmezettként a felső szintű bekezdésekhez egy új prezentációban, és a „default_text_style.pptx” fájlba menti. A szöveg örökölheti ezeket az alapértelmezéseket, hacsak egy specifikusabb formázás felül nem írja őket.
import aspose.slides as slides
with slides.Presentation() as presentation:
# Szerezze meg a felső szintű bekezdés formátumát.
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)
Szöveg kinyerése All-Caps effektussal
PowerPointban az All Caps betűhatás alkalmazása a szöveget nagybetűs formában jeleníti meg a dián, még akkor is, ha eredetileg kisbetűvel lett beírása. Amikor az Aspose.Slides ezzel a szövegrészlettel dolgozik, a könyvtár pontosan úgy adja vissza a szöveget, ahogyan azt beírták. A megjelenített szöveghez illeszkedéshez ellenőrizze a TextCapType értékét, és a visszaadott karakterláncot nagybetűssé konvertálja, ha az érték ALL.
Ez a példa a „sample2.pptx” fájlt igényli, amelynek első alakzata egy szövegdoboz az első dián. Első bekezdésének első része a „Hello, Aspose!” szöveget tartalmazza All Caps effektussal, az alábbi módon:

Az alábbi kódrészlet megmutatja, hogyan nyerhető ki a All Caps effektussal ellátott szöveg:
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)
Kimenet:
Original text: Hello, Aspose!
All-Caps effect: HELLO, ASPOSE!
GYIK
Hogyan módosíthatom a táblázatban lévő szöveget egy dián?
A táblázat szövegének módosításához használja a Table osztályt. Iteráljon a cellákon, és frissítse a cellát a Cell.text_frame segítségével, valamint a bekezdés formázását a Paragraph.paragraph_format segítségével.
Hogyan alkalmazhatok színátmenetet a szövegre egy PowerPoint dián?
A színátmenet alkalmazásához a szövegre használja a BasePortionFormat.fill_format tulajdonságot. Állítsa a FillFormat.fill_type értékét FillType.GRADIENT-ra, és konfigurálja a színátmeneti állomásokat, az irányt és az átlátszóságot.