Formatera presentationstext i Python
Översikt
Den här artikeln visar hur man formaterar text i PowerPoint- och OpenDocument-presentationer med Aspose.Slides för Python via .NET. Den täcker bakgrundsfärger, genomskinlighet, teckenavstånd, teckensegenskaper, rotation, styckeavstånd, autofit-beteende, textankring, tabbstopp och språkinställningar.
Om inget annat anges använder exemplen sample.pptx. Den första formen på dess första bild är en textruta, och dess första stycke innehåller texten som visas nedan. Både bild- och formindex är nollbaserade. Exempel som markerar fetstilta delar använder effektiv formatering, inklusive ärvd fetstilning:

För att hitta och markera bokstavlig text eller reguljära uttryck, se Sök och ersätt text.
Ange textbakgrundsfärg
Använd ParagraphFormat.default_portion_format för att ställa in standardmarkeringsfärgen för ett stycke, eller använd BasePortionFormat.highlight_color för enskilda textdelar.
Följande exempel ställer in en ljusgrå markering som standard för det första stycket. Explicita markeringsfärger på enskilda delar har företräde framför detta standardvärde:
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]
# Ställ in markeringsfärgen för hela stycket.
paragraph.paragraph_format.default_portion_format.highlight_color.color = draw.Color.light_gray
presentation.save("gray_paragraph.pptx", slides.export.SaveFormat.PPTX)
Resultatet:

Kodexemplet nedan visar hur man anger bakgrundsfärgen för textdelar med fet stil:
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:
# Ställ in markeringsfärgen för textdelen.
portion.portion_format.highlight_color.color = draw.Color.light_gray
presentation.save("gray_text_portions.pptx", slides.export.SaveFormat.PPTX)
Resultatet:

Justera textstycken
Använd ParagraphFormat.alignment för att ange styckejustering inom en textruta. Värdet kan vara centrerad, vänsterjusterad, höggerjusterad, justerad osv.
Följande kodexempel visar hur man justerar stycket till centrum:
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]
# Ställ in styckets justering till centrerad.
paragraph.paragraph_format.alignment = slides.TextAlignment.CENTER
presentation.save("aligned_paragraph.pptx", slides.export.SaveFormat.PPTX)
Resultatet:

Justera typsnitt inom en rad
Använd ParagraphFormat.font_alignment för att vertikalt justera textdelar med olika teckenstorlekar inom en rad. Denna inställning gäller hela stycket och styr justeringen inom varje rad.
Följande fristående exempel skapar fyra märkta textrutor på en bild. Varje stycke innehåller samma text i 18, 36 och 54 punkter, med olika teckenjustering. Det använder Arial, inaktiverar autofit och radbrytning, och håller textrutorna stora nog för en enda rad.
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)
Resultatet:

Teckenjustering använder teckensnittsmått, så de synliga kanterna på enskilda bokstäver nödvändigtvis inte aligneras exakt. Exemplet inkluderar både en versal bokstav och en nedåtgående del för att visa skillnaden mellan grundlinje- och bottenjustering. Tillgänglighet och ersättning av teckensnitt, de använda tecknen och skillnaden i teckenstorlekar påverkar resultatet. Ramens dimensioner, marginaler, radavstånd, radbrytning och autofit påverkar också layouten; använd samma teckensnitt och layoutinställningar när du jämför lägen.
Denna inställning skiljer sig från ParagraphFormat.alignment, som styr horisontell styckejustering, och TextFrameFormat.anchoring_type, som placerar textblocket vertikalt inom sin form. Upphöjd och nedsänkt formatering via BasePortionFormat.escapement förflyttar enskilda delar relativt grundlinjen istället för att ställa in teckenjustering för styckets rader.
Ställ in transparens för text
Texttransparens styrs via alfakomponenten i färgen som tilldelas BasePortionFormat.fill_format. I exemplen nedan är alpha = 50 ett ARGB alfa-kanalvärde på skalan 0–255, inte en transparensprocent.
Kodexemplet nedan visar hur man tillämpar transparens på hela stycket:
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]
# Ställ in en semitransparent svart fyllning för texten.
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)
Resultatet:

Följande kodexempel visar hur man tillämpar transparens på textdelar med fet stil:
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:
# Ställ in transparensen för textdelen.
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)
Resultatet:

Ställ in teckenavstånd för text
Använd BasePortionFormat.spacing för att öka eller minska avståndet mellan tecken i en textruta. Exemplen lägger till 3 punkters avstånd; negativa värden komprimerar texten.
Följande Python-kod visar hur man ökar teckenavståndet i hela stycket:
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]
# Obs: Använd negativa värden för att komprimera teckenavståndet.
paragraph.paragraph_format.default_portion_format.spacing = 3 # Öka teckenavståndet.
presentation.save("character_spacing_in_paragraph.pptx", slides.export.SaveFormat.PPTX)
Resultatet:

Kodexemplet nedan visar hur man ökar teckenavståndet i textdelar med fet stil:
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:
# Obs: Använd negativa värden för att komprimera teckenavståndet.
portion.portion_format.spacing = 3 # Öka teckenavståndet.
presentation.save("character_spacing_in_text_portions.pptx", slides.export.SaveFormat.PPTX)
Resultatet:

Inaktivera kerning för specifika typsnitt
I vissa fall kan text som renderas av Aspose.Slides se något tätare ut än samma text som visas i PowerPoint. Detta kan bero på att PowerPoint kan ignorera kerningdata för vissa typsnitt, även när typsnittet innehåller giltig kerninginformation och kerning är aktiverat i PowerPoint-inställningarna.
För att få den renderade utdata att närma sig PowerPoint i sådana fall kan du inaktivera kerning för textdelar som använder det berörda typsnittet. Ställ in BasePortionFormat.kerning_minimal_size till ett värde större än den faktiska teckenstorleken. Detta exempel kräver “presentation.pptx” med en textruta som den första formen på den första bilden. Det kontrollerar effektiva typsnittsnamn, inklusive ärvda typsnitt, och sätter ett tröskelvärde på 100 punkter för delar som använder Roboto. Detta inaktiverar kerning för matchande delar med en teckenstorlek under 100 punkter:
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)
För matchande text under tröskeln förhindrar denna inställning kerning och kan hjälpa till att anpassa Aspose.Slides-rendering med PowerPoints visuella resultat för typsnitt som påverkas av detta PowerPoint-specifika beteende.
Hantera textteckensnittsegenskaper
Teckensnittsegenskaper kan ställas in på stycknivå via ParagraphFormat.default_portion_format eller på enskilda delar via PortionFormat.
Följande exempel sätter förststyckets standardteckensnitt till 12-punkts Times New Roman med fet, kursiv och prickad underlinje. Explicita formateringar på enskilda delar har företräde framför dessa standardinställningar.
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]
# Ställ in teckensnittsegenskaper för stycket.
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)
Resultatet:

Följande exempel tillämpar 13-punkts Times New Roman, kursiv formatering och en prickad underlinje på delar vars effektiva formatering är fet:
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:
# Ställ in teckensnittsegenskaper för textdelen.
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)
Resultatet:

Ställ in textrotation
Använd TextFrameFormat.text_vertical_type för att ange en fördefinierad textorientering inom en form.
Följande kodexempel sätter textorienteringen i formen till TextVerticalType.VERTICAL270, vilket roterar texten 90 grader moturs:
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)
Resultatet:

Ange anpassad rotation för textrutor
Använd TextFrameFormat.rotation_angle för att ange en anpassad rotationsvinkel för en TextFrame.
Kodexemplet nedan roterar textrutan med 3 grader medurs inom formen:
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)
Resultatet:

Ställ in radavstånd för stycken
Aspose.Slides tillhandahåller ParagraphFormat.space_after, ParagraphFormat.space_before och ParagraphFormat.space_within för att kontrollera styckeavstånd. Dessa egenskaper används på följande sätt:
- Använd ett positivt värde för att ange radavstånd som en procentandel av radens höjd.
- Använd ett negativt värde för att ange radavstånd i punkter.
Följande exempel ställer in avståndet inom det första stycket till 200 % av radens höjd (dubbelt radavstånd):
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)
Resultatet:

Styr radbrytning
Regler för radbrytning i stycken är användbara i smala textblock och presentationer som blandar latinsk och östasiatisk text. Följande egenskaper tillhör ParagraphFormat, så de gäller för ett helt stycke:
- latin_line_break styr radbrytningsregler för latin. I blandad text kan ändring av den också förändra var intilliggande östasiatisk text och interpunktion radbryts.
- east_asian_line_break styr radbrytningsregler för östasiatisk text, inklusive begränsningar för tecken i början och slutet av en rad.
Dessa regler ersätter inte TextFrameFormat.wrap_text, som möjliggör automatisk radbrytning inom en textruta. De påverkar layouten när radbrytning sker; de infogar inte radbrytningstecken. En explicit radbrytning tvingar en ny rad inom stycket oberoende av tillgänglig bredd.
Följande fristående exempel skapar ett smalt textblock som innehåller kinesisk och latinsk text. Det anger båda radbrytningsegenskaperna explicit och sparar “line_breaking.pptx”. För att experimentera med någon av reglerna, ändra den egenskapens värde medan du behåller de andra inställningarna oförändrade. Exemplet använder 24-punkts Arial och SimSun med en rambredd på 160 punkter och noll horisontella textrutmarginaler. TextFrameFormat.autofit_type är satt till TextAutofitType.NONE så att textstorlek och ramdimensioner förblir fasta.
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)
Styr hängande interpunktion
ParagraphFormat.hanging_punctuation gör att berättigad interpunktion kan sträcka sig bortom textradens högra kant istället för att ta nästa rad. Den gäller för hela stycket och skiljer sig från ett hängande indrag.
Följande fristående exempel aktiverar hängande interpunktion i en 100-punkts bred textruta och sparar “hanging_punctuation.pptx”. Med 24-punkts Arial och noll horisontella textrutmarginaler förblir den sista punkten efter “sentence” och sträcker sig bortom högra textkanten. Ställ in egenskapen på NullableBool.FALSE för att jämföra: med dessa inställningar ligger punkten på en separat rad. Radbrytning är aktiverad och autofit är inaktiverat för att hålla tillgänglig bredd fast.
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)
Inte varje interpunktionstecken kan hänga. Det synliga resultatet beror på font- och layoutförhållanden: att ändra teckensnitt, tillgänglig bredd, marginaler eller autofit-inställningar kan ta bort den synliga skillnaden.
Ange autofit-typ för textrutor
TextFrameFormat.autofit_type bestämmer hur text beter sig när den överskrider behållarens gränser. Använd den för att styra om texten krymper, flödar över eller ändrar formens storlek automatiskt. Följande exempel konfigurerar formen att ändra storlek för att passa sin text och sparar resultatet till “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)
För att räkna rader efter automatisk radbrytning och se hur text- eller formbredd förändrar resultatet, se Räkna renderade rader. Radantalet ensam indikerar inte om texten överskrider sin behållare.
Ange ankare för textrutor
TextFrameFormat.anchoring_type definierar hur text placeras vertikalt inuti en form, till exempel högst upp, i mitten eller längst ner. Följande exempel förankrar texten till botten av den första formen och sparar resultatet till “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)
Ställ in texttabulering
Använd ParagraphFormat.default_tab_size och ParagraphFormat.tabs för att konfigurera tabbstopp i ett stycke. Följande exempel sätter standardtabbintervallet till 100 punkter och lägger till ett vänsterjusterat tabbstopp vid 30 punkter. Dessa inställningar påverkar text som innehåller tabulatortecken.
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)
Resultatet:

Ange korrekturläsningsspråk
Aspose.Slides erbjuder BasePortionFormat.language_id, som låter dig sätta korrekturläsningsspråket för en textdel. Korrekturläsningsspråket bestämmer vilket språk som används för stavnings- och grammatikkontroller i PowerPoint.
Följande exempel kräver “presentation.pptx” med en textruta som den första formen på den första bilden och minst ett stycke. Det ersätter det första styckets innehåll med “1。”, sätter SimSun som teckensnitt och tilldelar korrekturläsningsspråket förenklad kinesiska (zh-CN). Det sparar resultatet till “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
# Ställ in korrekturläsningsspråket till förenklad kinesiska.
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)
Ange standardspråk
Använd LoadOptions.default_text_language för att definiera standardspråket för text som skapas vid inläsning eller skapande av en presentation. Följande exempel skapar en presentation med amerikansk engelska som standardtextspråk, lägger till en textruta och skriver ut en-US för dess första textdel.
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]
# Lägg till en ny rektangelform med text.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 50)
shape.text_frame.text = "Sample text"
# Kontrollera första textdelens språk.
portion = shape.text_frame.paragraphs[0].portions[0]
print(portion.portion_format.language_id)
Ange standardtextstil
För att tillämpa standardtextformatering på presentationsnivå, använd Presentation.default_text_style.
Följande exempel sätter ett 14-punkts fetstilteckensnitt som standard för överordnade stycken i en ny presentation och sparar den till “default_text_style.pptx”. Text kan ärva dessa standardvärden såvida inte mer specifik formatering åsidosätter dem.
import aspose.slides as slides
with slides.Presentation() as presentation:
# Hämta formatet för översta nivåns stycke.
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)
Extrahera text med versaleffekten
I PowerPoint gör applicering av teckenseffekten All Caps att text visas med versaler på bilden även om den ursprungligen skrevs med gemener. När du hämtar en sådan textdel med Aspose.Slides returnerar biblioteket texten exakt som den matades in. För att matcha den visade texten, kontrollera TextCapType och konvertera den returnerade strängen till versaler när värdet är ALL.
Detta exempel kräver “sample2.pptx” med en textruta som den första formen på den första bilden. Dess första styckes första del innehåller “Hello, Aspose!” med All Caps-effekten tillämpad, som visas nedan.

Kodexemplet nedan visar hur man extraherar texten med den All Caps-effekt som tillämpats:
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)
Utdata:
Original text: Hello, Aspose!
All-Caps effect: HELLO, ASPOSE!
FAQ
Hur ändrar jag text i en tabell på en bild?
För att ändra text i en tabell på en bild, använd Table. Iterera genom cellerna och uppdatera varje cell via Cell.text_frame och styckeformatering via Paragraph.paragraph_format.
Hur applicerar jag en gradientfärg på text i en PowerPoint-bild?
För att applicera en gradientfärg på text, använd BasePortionFormat.fill_format. Ställ in FillFormat.fill_type till FillType.GRADIENT och konfigurera gradientstopp, riktning och transparens.