Gerenciar sobrescrito e subscrito em Python
Visão geral
Aspose.Slides oferece recursos para integrar texto sobrescrito e subscrito em suas apresentações PowerPoint (PPT, PPTX) e OpenDocument (ODP). Seja para destacar fórmulas químicas, equações matemáticas ou anotar conteúdo com notas de rodapé, essas opções de formatação especial ajudam a manter clareza e precisão. Neste artigo, você aprenderá como aplicar estilos de sobrescrito e subscrito de forma fluida e garantir resultados profissionais em cada slide.
Adicionar texto sobrescrito e subscrito
Você pode adicionar texto sobrescrito e subscrito a qualquer porção de parágrafo. No Aspose.Slides, use a propriedade escapement da classe PortionFormat para controlar isso.
escapement é uma porcentagem de -100% a 100%:
- > 0 → sobrescrito (por exemplo, 25% = elevação leve; 100% = sobrescrito completo)
- 0 → linha base (sem sobrescrito/subscrito)
- < 0 → subscrito (por exemplo, -25% = redução leve; -100% = subscrito completo)
- Crie uma Presentation e obtenha um slide.
- Adicione um retângulo AutoShape e acesse seu TextFrame.
- Limpe os parágrafos existentes.
- Para sobrescrito: crie um parágrafo e uma porção, defina
portion.portion_format.escapementpara um valor entre 0 e 100, defina o texto e adicione a porção. - Para subscrito: crie outro parágrafo e uma porção, defina
escapementpara um valor entre -100 e 0, defina o texto e adicione a porção. - Salve a apresentação como PPTX.
import aspose.slides as slides
with slides.Presentation("pres.pptx") as presentation:
# Obter um slide.
slide = presentation.slides[0]
# Criar uma caixa de texto.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100)
shape.text_frame.paragraphs.clear()
# Criar um parágrafo para texto sobrescrito.
superscript_paragraph = slides.Paragraph()
# Criar uma porção de texto com texto normal.
portion1 = slides.Portion()
portion1.text = "SlideTitle"
superscript_paragraph.portions.add(portion1)
# Criar uma porção de texto com texto sobrescrito.
superscript_portion = slides.Portion()
superscript_portion.portion_format.escapement = 30
superscript_portion.text = "TM"
superscript_paragraph.portions.add(superscript_portion)
# Criar um parágrafo para o texto subscrito.
subscript_paragraph = slides.Paragraph()
# Criar uma porção de texto com texto normal.
portion2 = slides.Portion()
portion2.text = "a"
subscript_paragraph.portions.add(portion2)
# Criar uma porção de texto com texto subscrito.
subscript_portion = slides.Portion()
subscript_portion.portion_format.escapement = -25
subscript_portion.text = "i"
subscript_paragraph.portions.add(subscript_portion)
# Adicionar os parágrafos à caixa de texto.
shape.text_frame.paragraphs.add(superscript_paragraph)
shape.text_frame.paragraphs.add(subscript_paragraph)
presentation.save("TestOut.pptx", slides.export.SaveFormat.PPTX)
FAQ
Posso aplicar sobrescrito/subscrito em tabelas e outros contêineres, não apenas em caixas de texto normais?
Sim. Você pode formatar o texto como sobrescrito ou subscrito dentro de qualquer objeto que exponha um TextFrame (incluindo células de tabela). A formatação é aplicada às porções de texto dentro desse frame.
Os sobrescritos/subscritos serão preservados ao exportar para PDF, HTML ou imagens?
Sim. Aspose.Slides preserva a formatação de sobrescrito/subscrito durante a exportação para formatos comuns como PDF, HTML e raster images porque o pipeline de renderização respeita a formatação de texto em nível de porção.
Posso combinar sobrescrito/subscrito com hyperlinks no mesmo fragmento de texto?
Sim. Hyperlinks são atribuídos ao nível da porção (fragmento), de modo que uma porção pode ter simultaneamente um hyperlink e estar formatada como sobrescrito ou subscrito.