Szövegrész határainak lekérése prezentációkból Java-ban

Áttekintés

Egy szövegrész egy bekezdésen belüli konkrét szövegtöredéket képvisel, és lehetővé teszi, hogy a töredékkel a környező tartalomtól függetlenül dolgozzon. Az Aspose.Slides‑ben a részek akkor használhatók, amikor a szövegtöredék határait kell lekérni, csak a bekezdés egy részére kell formázást alkalmazni, vagy részletesebb szinten kell a szöveg viselkedését szabályozni.

Ez a cikk bemutatja, hogyan lehet egy rész határoló téglalapját lekérdezni a IPortion.getRect használatával. Emellett megmutatja, hogyan lehet egy rész kezdetének koordinátáit lekérni a IPortion.getCoordinates használatával. Továbbá kiemeli a gyakori, a részekkel kapcsolatos helyzeteket, például egyetlen szövegtöredékhez hiperhivatkozás alkalmazását, a formázás átvitelének megértését a rész, bekezdés, szövegkeret és téma öröklődésén keresztül, valamint a megadott betűtípus hiányának kezelését.

A szövegrész határainak lekérése

Használja a IPortion.getRect metódust egy szövegrész határoló téglalapjának lekéréséhez:

Presentation presentation = new Presentation("Shapes.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IAutoShape shape = (IAutoShape) slide.getShapes().get_Item(0);

    for (IParagraph paragraph : shape.getTextFrame().getParagraphs())
    {
        for (IPortion portion : paragraph.getPortions())
        {
            java.awt.geom.Rectangle2D.Float rectangle = portion.getRect();
            System.out.println("X = " + rectangle.x + "; Y = " + rectangle.y + "; Width = " + rectangle.width + "; Height = " + rectangle.height);
        }
    }
} finally {
    presentation.dispose();
}

A szövegrész koordinátáinak lekérése

Használja a IPortion.getCoordinates metódust egy szövegrész kezdetének koordinátáinak lekéréséhez:

Presentation presentation = new Presentation("Shapes.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IAutoShape shape = (IAutoShape) slide.getShapes().get_Item(0);

    for (IParagraph paragraph : shape.getTextFrame().getParagraphs())
    {
        for (IPortion portion : paragraph.getPortions())
        {
            java.awt.geom.Point2D.Float point = portion.getCoordinates();
            System.out.println("X = " + point.x + "; Y = " + point.y);
        }
    }
} finally {
    presentation.dispose();
}

GYIK

Alkalmazhatok hiperhivatkozást csak a szöveg egy részére egy bekezdésen belül?

Igen, a hiperhivatkozást hozzárendelni egy egyedi részhez; csak az a töredék lesz kattintható, nem pedig a teljes bekezdés.

Hogyan működik a stílus öröklődés: mit felülír egy rész, és mi kerül át a bekezdésből vagy a szövegkeretből?

A rész szintű tulajdonságok a legmagasabb precedenciával rendelkeznek. Ha egy tulajdonság nincs beállítva az IPortion objektumban, az Aspose.Slides a IParagraph objektumból veszi át. Ha ott sem van beállítva, akkor az Aspose.Slides a ITextFrame vagy a theme stílusát használja.

Mi történik, ha egy részhez megadott betűtípus hiányzik a célgépen vagy szerveren?

A betűtípus-helyettesítési szabályok érvényesek. A szöveg újrarendeződhet: a metrikák, elválasztás és a szélesség változhat, ami a pontos elhelyezés szempontjából fontos.

Állíthatok-e a részhez specifikus szövegtöltés átlátszóságot vagy fokozatot a bekezdés többi részétől függetlenül?

Igen, a szövegszín, a kitöltés és az átlátszóság az IPortion szintjén eltérhet a szomszédos töredékektől.