在 Python 中管理上标和下标
Contents
[
Hide
]
添加上标和下标文本
您可以向任何段落部分添加上标和下标文本。在 Aspose.Slides 中,使用 escapement 属性来控制此行为,属性位于 PortionFormat 类。
escapement 是一个百分比,范围从 -100% 到 100%:
- > 0 → 上标(例如,25% = 稍微上移;100% = 完全上标)
- 0 → 基线(无上标/下标)
- < 0 → 下标(例如,-25% = 稍微下移;-100% = 完全下标)
步骤:
- 创建一个 Presentation 并获取幻灯片。
- 添加一个矩形 AutoShape 并访问其 TextFrame。
- 清除已有的段落。
- 对于上标:创建一个段落和一个文本段,设置
portion.portion_format.escapement为 0 到 100 之间的值,设置文本,然后添加该文本段。 - 对于下标:创建另一个段落和文本段,设置
escapement为 -100 到 0 之间的值,设置文本,然后添加该文本段。 - 将演示文稿保存为 PPTX。
import aspose.slides as slides
with slides.Presentation("pres.pptx") as presentation:
# 获取幻灯片。
slide = presentation.slides[0]
# 创建文本框。
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100)
shape.text_frame.paragraphs.clear()
# 创建上标文本的段落。
superscript_paragraph = slides.Paragraph()
# 创建常规文本的文本段。
portion1 = slides.Portion()
portion1.text = "SlideTitle"
superscript_paragraph.portions.add(portion1)
# 创建上标文本的文本段。
superscript_portion = slides.Portion()
superscript_portion.portion_format.escapement = 30
superscript_portion.text = "TM"
superscript_paragraph.portions.add(superscript_portion)
# 创建下标文本的段落。
subscript_paragraph = slides.Paragraph()
# 创建常规文本的文本段。
portion2 = slides.Portion()
portion2.text = "a"
subscript_paragraph.portions.add(portion2)
# 创建下标文本的文本段。
subscript_portion = slides.Portion()
subscript_portion.portion_format.escapement = -25
subscript_portion.text = "i"
subscript_paragraph.portions.add(subscript_portion)
# 将段落添加到文本框。
shape.text_frame.paragraphs.add(superscript_paragraph)
shape.text_frame.paragraphs.add(subscript_paragraph)
presentation.save("TestOut.pptx", slides.export.SaveFormat.PPTX)
常见问题
我能在表格和其他容器中使用上标/下标,而不仅限于普通文本框吗?
是的。您可以在任何暴露 TextFrame 的对象(包括表格单元格)内部将文本格式化为上标或下标。该格式会应用于该框架内的文本段。
导出为 PDF、HTML 或图片时,上标/下标会被保留吗?
是的。Aspose.Slides 在导出到常见格式(如 PDF、HTML、以及 raster images)时会保留上标/下标格式,因为渲染管线会遵循文本段级别的格式设置。
我能在同一文本片段中将上标/下标与超链接组合使用吗?
是的。Hyperlinks 在文本段(片段)级别分配,因此同一个文本段可以同时包含超链接并设置为上标或下标。