Textabschnittsgrenzen aus Präsentationen in JavaScript ermitteln
Übersicht
Ein Textabschnitt stellt ein bestimmtes Fragment von Text innerhalb eines Absatzes dar und ermöglicht es Ihnen, mit diesem Fragment unabhängig vom umgebenden Inhalt zu arbeiten. In Aspose.Slides können Abschnitte verwendet werden, wenn Sie die Begrenzungsrahmen eines Textfragments ermitteln, Formatierungen nur auf einen Teil eines Absatzes anwenden oder das Textverhalten auf einer detaillierteren Ebene steuern müssen.
Dieser Artikel zeigt, wie man das Begrenzungsrechteck eines Abschnitts mit Portion.getRect ermittelt. Er zeigt außerdem, wie man die Koordinaten des Beginns eines Abschnitts mit Portion.getCoordinates erhält. Darüber hinaus werden gängige szenarienbezogene Anwendungsfälle vorgestellt, z. B. das Anwenden eines Hyperlinks auf ein einzelnes Textfragment, das Verständnis der Stilvererbung über Abschnitt, Absatz, Textfeld und Thema hinweg sowie der Umgang mit fehlenden Schriftarten.
Grenzrechteck eines Textabschnitts ermitteln
Verwenden Sie Portion.getRect, um das Begrenzungsrechteck eines Textabschnitts abzurufen:
const presentation = new aspose.slides.Presentation("Shapes.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().get_Item(0);
const paragraphs = shape.getTextFrame().getParagraphs();
for (let paragraphIndex = 0; paragraphIndex < paragraphs.getCount(); paragraphIndex++) {
const paragraph = paragraphs.get_Item(paragraphIndex);
const portions = paragraph.getPortions();
for (let portionIndex = 0; portionIndex < portions.getCount(); portionIndex++) {
const portion = portions.get_Item(portionIndex);
const rectangle = portion.getRect();
console.log("X = " + rectangle.x + "; Y = " + rectangle.y + "; Width = " + rectangle.width + "; Height = " + rectangle.height);
}
}
} finally {
presentation.dispose();
}
Koordinaten eines Textabschnitts ermitteln
Verwenden Sie Portion.getCoordinates, um die Koordinaten des Beginns eines Textabschnitts abzurufen:
const presentation = new aspose.slides.Presentation("Shapes.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().get_Item(0);
const paragraphs = shape.getTextFrame().getParagraphs();
for (let paragraphIndex = 0; paragraphIndex < paragraphs.getCount(); paragraphIndex++) {
const paragraph = paragraphs.get_Item(paragraphIndex);
const portions = paragraph.getPortions();
for (let portionIndex = 0; portionIndex < portions.getCount(); portionIndex++) {
const portion = portions.get_Item(portionIndex);
const point = portion.getCoordinates();
console.log("X = " + point.x + "; Y = " + point.y);
}
}
} finally {
presentation.dispose();
}
FAQ
Kann ich einen Hyperlink nur auf einen Teil des Textes innerhalb eines einzelnen Absatzes anwenden?
Ja, Sie können einen Hyperlink zuweisen zu einer einzelnen Portion; nur dieses Fragment ist anklickbar, nicht der gesamte Absatz.
Wie funktioniert die Stilvererbung: Was überschreibt eine Portion und was wird aus einem Absatz oder Textfeld übernommen?
Eigenschaften auf Portionsebene haben die höchste Priorität. Wenn eine Eigenschaft nicht auf der Portion festgelegt ist, übernimmt Aspose.Slides sie von dem Paragraph. Ist sie dort ebenfalls nicht gesetzt, verwendet Aspose.Slides den Stil des TextFrame oder des theme.
Was passiert, wenn die für eine Portion angegebene Schriftart auf dem Zielrechner oder Server fehlt?
Font substitution rules werden angewendet. Der Text kann umfließen: Metriken, Silbentrennung und Breite können sich ändern, was für eine präzise Positionierung wichtig ist.
Kann ich für eine Portion die Transparenz oder einen Farbverlauf der Textfüllung unabhängig vom Rest des Absatzes festlegen?
Ja, Textfarbe, Füllung und Transparenz auf der Portion Ebene können von benachbarten Fragmenten abweichen.