Uzyskiwanie granic fragmentu tekstu w prezentacjach w Pythonie za pośrednictwem Java
Przegląd
Fragment tekstu reprezentuje określony fragment tekstu w akapicie i umożliwia pracę z tym fragmentem niezależnie od otaczającej zawartości. W Aspose.Slides fragmenty mogą być używane, gdy potrzebujesz uzyskać granice fragmentu tekstu, zastosować formatowanie tylko do części akapitu lub kontrolować zachowanie tekstu na bardziej szczegółowym poziomie.
Ten artykuł pokazuje, jak uzyskać prostokąt ograniczający fragment, korzystając z Portion.getRect. Pokazuje również, jak uzyskać współrzędne początku fragmentu przy użyciu Portion.getCoordinates. Dodatkowo podkreśla typowe scenariusze związane z fragmentami, takie jak zastosowanie hiperłącza do pojedynczego fragmentu tekstu, zrozumienie, jak formatowanie jest dziedziczone przez fragment, akapit, ramkę tekstową i motyw, oraz obsługę przypadków, gdy określona czcionka nie jest dostępna.
Uzyskanie granic fragmentu tekstu
Użyj Portion.getRect, aby pobrać prostokąt ograniczający fragment tekstu:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
presentation = Presentation("Shapes.pptx")
try:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().get_Item(0)
for paragraph in shape.getTextFrame().getParagraphs():
for portion in paragraph.getPortions():
rectangle = portion.getRect()
print(f"X = {rectangle.x}; Y = {rectangle.y}; Width = {rectangle.width}; Height = {rectangle.height}")
finally:
presentation.dispose()
Uzyskanie współrzędnych fragmentu tekstu
Użyj Portion.getCoordinates, aby pobrać współrzędne początku fragmentu tekstu:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
presentation = Presentation("Shapes.pptx")
try:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().get_Item(0)
for paragraph in shape.getTextFrame().getParagraphs():
for portion in paragraph.getPortions():
point = portion.getCoordinates()
print(f"X = {point.x}; Y = {point.y}")
finally:
presentation.dispose()
FAQ
Czy mogę zastosować hiperłącze tylko do części tekstu w jednym akapicie?
Tak, możesz przypisać hiperłącze do pojedynczego fragmentu; tylko ten fragment będzie klikalny, a nie cały akapit.
Jak działa dziedziczenie stylu: co fragment nadpisuje, a co jest pobierane z akapitu lub ramki tekstowej?
Właściwości na poziomie fragmentu mają najwyższy priorytet. Jeśli właściwość nie jest ustawiona na Portion, Aspose.Slides pobiera ją z Paragraph. Jeśli nie jest ustawiona również tam, Aspose.Slides używa stylu z TextFrame lub theme.
Co się stanie, jeśli czcionka określona dla fragmentu jest nieobecna na docelowej maszynie lub serwerze?
Zastosowane zostaną zasady zastępowania czcionek. Tekst może się przeflować: metryki, podziały wyrazów i szerokość mogą się zmienić, co ma znaczenie przy precyzyjnym pozycjonowaniu.
Czy mogę ustawić przeźroczystość wypełnienia tekstu lub gradient specyficzny dla fragmentu niezależnie od reszty akapitu?
Tak, kolor tekstu, wypełnienie i przeźroczystość na poziomie Portion mogą różnić się od sąsiednich fragmentów.