Dapatkan Batas Bagian Teks dari Presentasi dalam PHP
Ikhtisar
Bagian teks mewakili fragmen khusus teks di dalam paragraf dan memungkinkan Anda bekerja dengan fragmen tersebut secara independen dari konten di sekitarnya. Di Aspose.Slides, bagian dapat digunakan ketika Anda perlu mengambil batas fragmen teks, menerapkan pemformatan hanya pada sebagian paragraf, atau mengontrol perilaku teks pada tingkat yang lebih detail. Artikel ini menunjukkan cara mendapatkan persegi panjang pembatas sebuah bagian dengan menggunakan Portion::getRect. Artikel ini juga menunjukkan cara mendapatkan koordinat awal sebuah bagian dengan menggunakan Portion::getCoordinates. Selain itu, artikel ini menyoroti skenario umum terkait bagian, seperti menerapkan hyperlink pada satu fragmen teks, memahami bagaimana pemformatan diselesaikan melalui bagian, paragraf, bingkai teks, dan pewarisan tema, serta menangani kasus di mana font yang ditentukan tidak tersedia.
Dapatkan Batas Bagian Teks
Gunakan Portion::getRect untuk mengambil persegi panjang pembatas sebuah bagian teks:
$presentation = new Presentation("Shapes.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->get_Item(0);
foreach ($shape->getTextFrame()->getParagraphs() as $paragraph) {
foreach ($paragraph->getPortions() as $portion) {
$rectangle = $portion->getRect();
$rectangleX = java_values($rectangle->getX());
$rectangleY = java_values($rectangle->getY());
$rectangleWidth = java_values($rectangle->getWidth());
$rectangleHeight = java_values($rectangle->getHeight());
echo("X = " . $rectangleX . "; Y = " . $rectangleY . "; Width = " . $rectangleWidth . "; Height = " . $rectangleHeight);
}
}
} finally {
$presentation->dispose();
}
Dapatkan Koordinat Bagian Teks
Gunakan Portion::getCoordinates untuk mengambil koordinat awal sebuah bagian teks:
$presentation = new Presentation("Shapes.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->get_Item(0);
foreach ($shape->getTextFrame()->getParagraphs() as $paragraph) {
foreach ($paragraph->getPortions() as $portion) {
$point = $portion->getCoordinates();
$pointX = java_values($point->getX());
$pointY = java_values($point->getY());
echo("X = " . $pointX . "; Y = " . $pointY);
}
}
} finally {
$presentation->dispose();
}
FAQ
Apakah saya dapat menerapkan hyperlink hanya pada sebagian teks dalam satu paragraf?
Ya, Anda dapat menetapkan hyperlink ke sebuah bagian individual; hanya fragmen itu yang dapat diklik, bukan seluruh paragraf.
Bagaimana cara kerja pewarisan gaya: apa yang di-override oleh bagian, dan apa yang diambil dari paragraf atau bingkai teks?
Properti tingkat Bagian memiliki prioritas tertinggi. Jika sebuah properti tidak diatur pada Portion, Aspose.Slides mengambilnya dari Paragraph. Jika juga tidak diatur di sana, Aspose.Slides menggunakan gaya TextFrame atau theme.
Apa yang terjadi jika font yang ditentukan untuk sebuah bagian tidak ada di mesin atau server target?
Aturan substitusi font berlaku. Teks mungkin akan mengalir kembali: metrik, hyphenasi, dan lebar dapat berubah, yang penting untuk penempatan yang presisi.
Apakah saya dapat mengatur transparansi isian teks khusus bagian atau gradien secara independen dari sisa paragraf?
Ya, warna teks, isian, dan transparansi pada tingkat Portion dapat berbeda dari fragmen tetangga.