Prezentáció szövegének formázása Pythonban
Áttekintés
Ez a cikk bemutatja, hogyan formázhatunk szöveget PowerPoint- és OpenDocument‑prezentációkban az Aspose.Slides for Python via .NET segítségével. Kitér a háttérszínekre, átlátszóságra, karaktertávolságra, betűtulajdonságokra, forgatásra, bekezdés‑távolságra, automatikus méretezésre, szöveg‑horgonyozásra, tabulátor‑állásokra és nyelvi beállításokra.
Az alábbi példákban egy „sample.pptx” nevű fájlt használunk, amely az első dián egyetlen szövegdobozt tartalmaz a következő szöveggel:

A szó szerinti szöveg vagy reguláris kifejezéssel egyező részek megtalálásához és kiemeléséhez lásd a Szöveg keresése és cseréje.
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 PortionFormat.highlight_color metódust az egyedi szövegdarabokhoz.
Az alábbi kódrészlet bemutatja, hogyan állítható be a háttérszín a teljes bekezdés számára:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# Állítsa be a teljes bekezdés kiemelés 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 a félkövér betűtípusú szövegdarabok számára:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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övegdarab kiemelés 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:

Szöveg bekezdések igazítása
Használja a ParagraphFormat.alignment metódust a bekezdés igazításának beállításához egy szövegkeretben. Az érték lehet középre, balra, jobbra igazított, sorkizárt stb.
Az alábbi kódrészlet bemutatja, hogyan igazítható a bekezdés középre:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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:

Szöveg átlátszóságának beállítása
Az átlátszóságot a PortionFormat.fill_format színének alfa komponensén keresztül lehet szabályozni. Az alábbi példákban a alpha = 50 egy ARGB alfa‑csatorna érték 0‑255 skálán, nem átlátszósági százalék.
Az alábbi kódrészlet bemutatja, hogyan alkalmazható a átlátszóság a teljes bekezdésre:
import aspose.pydrawing as draw
import aspose.slides as slides
alpha = 50
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# Állítsa be a szöveg kitöltő színét átlátszó színre.
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:

Az alábbi kódrészlet bemutatja, hogyan alkalmazható a átlátszóság a félkövér betűtípusú szövegdarabokra:
import aspose.pydrawing as draw
import aspose.slides as slides
alpha = 50
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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övegdarab á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:

Karaktertávolság beállítása a szövegben
Használja a BasePortionFormat.spacing metódust a karakterek közötti távolság növelésére vagy csökkentésére egy szövegdobozban.
Az alábbi Python‑kód bemutatja, hogyan növelhető a karaktertávolság a teljes bekezdésben:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# Megjegyzés: Negatív értékek használata a karaktertávolság csökkentéséhez.
paragraph.paragraph_format.default_portion_format.spacing = 3 # Karaktertávolság növelése.
presentation.save("character_spacing_in_paragraph.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Az alábbi kódrészlet bemutatja, hogyan növelhető a karaktertávolság a félkövér betűtípusú szövegdarabokban:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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ékek használata a karaktertávolság csökkentéséhez.
portion.portion_format.spacing = 3 # Karaktertávolság növelése.
presentation.save("character_spacing_in_text_portions.pptx", slides.export.SaveFormat.PPTX)
Az eredmény:

Kerning letiltása meghatározott betűtípusoknál
Bizonyos esetekben az Aspose.Slides által renderelt szöveg valamivel szorosabb lehet, mint a PowerPoint‑ban megjelenő. Ennek oka lehet, hogy a PowerPoint bizonyos betűtípusoknál figyelmen kívül hagyja a kerning adatokat, akkor is, ha a betűtípus tartalmaz érvényes kerning információt és a PowerPoint beállításaiban engedélyezve van a kerning.
Ahhoz, hogy a renderelt kimenet közelebb kerüljön a PowerPointhez, letilthatja a kerninget azon szövegdaraboknál, amelyek az érintett betűtípust használják. Állítsa a BasePortionFormat.kerning_minimal_size értékét a tényleges betűméretnél jóval nagyobbra:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
auto_shape = presentation.slides[0].shapes[0]
target_font = "Roboto"
for paragraph in auto_shape.text_frame.paragraphs:
for portion in paragraph.portions:
latin_font = portion.portion_format.latin_font
east_asian_font = portion.portion_format.east_asian_font
complex_script_font = portion.portion_format.complex_script_font
if ((latin_font is not None and latin_font.font_name == target_font) or
(east_asian_font is not None and east_asian_font.font_name == target_font) or
(complex_script_font is not None and complex_script_font.font_name == target_font)):
portion.portion_format.kerning_minimal_size = 100
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Ez a beállítás megakadályozza a kerning alkalmazását a megfelelő szövegdarabokra, és segíthet az Aspose.Slides renderelésének a PowerPoint vizuális kimenetéhez igazításában azokra a betűtípusokra, amelyekre ez a PowerPoint‑specifikus viselkedés hatással van.
Szöveg betűtulajdonságok kezelése
A betűtulajdonságok beállíthatók bekezdés szinten a ParagraphFormat.default_portion_format segítségével, vagy egyedi darabokra a PortionFormat segítségével.
Az alábbi kód beállítja a betűtípust és a szövegstílust a teljes bekezdés számára: betűméretet, félkövér, dőlt, pontozott aláhúzást és a Times New Roman betűtípust alkalmaz minden darabra a bekezdésben.
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
# Állítsa be a betűtulajdonságokat a bekezdéshez.
paragraph.paragraph_format.default_portion_format.font_height = 12
paragraph.paragraph_format.default_portion_format.font_bold = slides.NullableBool.TRUE
paragraph.paragraph_format.default_portion_format.font_italic = slides.NullableBool.TRUE
paragraph.paragraph_format.default_portion_format.font_underline = slides.TextUnderlineType.DOTTED
paragraph.paragraph_format.default_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 kódrészlet hasonló tulajdonságokat alkalmaz a félkövér betűtípusú szövegdarabokra:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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 betűtulajdonságokat a szövegdarabhoz.
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ásának beállítása
Használja a TextFrameFormat.text_vertical_type metódust egy előre definiált szövegorientáció beállításához egy alakzatban.
Az alábbi kódrészlet a szövegorientációt a alakzatban VERTICAL270‑re állítja, ami 90 fokkal óramutatóval ellentétesen forgatja a szöveget:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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övegkeretekhez
Használja a TextFrameFormat.rotation_angle metódust egy egyedi forgatási szög beállításához egy TextFrame számára.
Az alábbi kódrészlet a szövegkeretet 3 fokkal óramutatóval azonos irányban forgatja az alakzatban:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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 sortávolság beállítása
Az Aspose.Slides a ParagraphFormat.space_after, ParagraphFormat.space_before és ParagraphFormat.space_within segítségével szabályozza a bekezdés távolságát. Ezeket a tulajdonságokat a következőképpen használjuk:
- Pozitív értékkel a sortávolság a sormagasság százalékában adható meg.
- Negatív értékkel a sortávolság pontban adható meg.
Az alábbi kódrészlet bemutatja, hogyan adható meg a sortávolság a bekezdésen belül:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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:

Automatikus méretezés típusának beállítása szövegkereteknél
A TextFrameFormat.autofit_type meghatározza, hogyan viselkedik a szöveg, ha meghaladja a tároló határait. Ezzel szabályozható, hogy a szöveg zsugorodjon, kilógjon vagy a forma automatikusan átméreteződjön.
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].shapes[0]
auto_shape.text_frame.text_frame_format.autofit_type = slides.TextAutofitType.SHAPE
presentation.save("autofit_type.pptx", slides.export.SaveFormat.PPTX)
Szövegkeretek horgonypontjának beállítása
A TextFrameFormat.anchoring_type határozza meg, hogyan helyezkedik el a szöveg függőlegesen egy alakzatban, például felül, középen vagy alul.
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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 metódusokat a tabulátorok beállításához egy bekezdésben.
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
auto_shape = presentation.slides[0].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 PortionFormat.language_id segítségével lehetővé teszi a helyesírási nyelv beállítását egy szövegdarabhoz. A helyesírási nyelv meghatározza, mely nyelvet használja a PowerPoint a helyesírás- és nyelvtan-ellenőrzéshez.
Az alábbi kódrészlet bemutatja, hogyan állítható be a helyesírási nyelv egy szövegdarabhoz:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
auto_shape = presentation.slides[0].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 nyelv azonosítóját.
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 metódust, hogy meghatározza a prezentáció betöltése vagy létrehozása közben létrehozott szöveg alapértelmezett nyelvét.
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]
# Új téglalap alakzat hozzáadása 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
Alapértelmezett szövegformázás alkalmazásához a prezentáción szintjén használja a Presentation.default_text_style metódust.
Az alábbi kódrészlet bemutatja, hogyan állítható be egy alapértelmezett félkövér betű 14 pt mérettel minden szöveghez az új prezentáció diáin.
import aspose.slides as slides
with slides.Presentation() as presentation:
# Szerezze meg a legfelső szintű bekezdésformátumot.
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 nagybetűs effektussal
A PowerPointban a All Caps (Nagybetűs) betűhatás alkalmazása a szöveget nagybetűsen jeleníti meg a dián, még akkor is, ha eredetileg kisbetűkkel írták. Amikor az Aspose.Slides‑kel ilyen szövegdarabot kérünk le, a könyvtár pontosan úgy adja vissza a szöveget, ahogy beírták. A megjelenített szöveghez illeszkedő eredmény eléréséhez ellenőrizze a TextCapType értékét, és a visszakapott karakterláncot konvertálja nagybetűssé, ha az érték ALL.
Az alábbi kódrészlet bemutatja, hogyan nyerhető ki a szöveg a All Caps hatással:
import aspose.slides as slides
with slides.Presentation("sample2.pptx") as presentation:
auto_shape = presentation.slides[0].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ítható a szöveg egy dián lévő táblázatban?
A szöveg módosításához egy táblázatban egy dián használja a Table elemet. Iteráljon a cellákon, és frissítse minden cellát a Cell.text_frame és a bekezdésformázást a Paragraph.paragraph_format segítségével.
Hogyan alkalmazhatók átmenet színek a szövegre egy PowerPoint-dián?
Az átmenetes szín alkalmazásához a szövegre használja a PortionFormat.fill_format metódust. Állítsa a FillFormat.fill_type értékét a FillType.GRADIENT típusra, és konfigurálja az átmenet állomásait, irányát és átlátszóságát.