รับขอบเขตส่วนข้อความจากงานนำเสนอใน PHP
ภาพรวม
ส่วนข้อความ (text portion) แสดงถึงส่วนย่อยเฉพาะของข้อความภายในย่อหน้าและให้คุณทำงานกับส่วนนั้นได้อย่างอิสระจากเนื้อหารอบข้าง ใน Aspose.Slides สามารถใช้ส่วนข้อความเมื่อคุณต้องการดึงขอบเขตของส่วนย่อยของข้อความ, ใช้การจัดรูปแบบกับเพียงบางส่วนของย่อหน้า, หรือควบคุมพฤติกรรมของข้อความในระดับที่ละเอียดขึ้น
บทความนี้แสดงวิธีการรับสี่เหลี่ยมขอบเขตของส่วนข้อความโดยใช้ Portion::getRect นอกจากนี้ยังแสดงวิธีการรับพิกัดของจุดเริ่มต้นของส่วนข้อความโดยใช้ Portion::getCoordinates อีกทั้งยังสรุปสถานการณ์ทั่วไปที่เกี่ยวกับส่วนข้อความ เช่น การใส่ลิงก์ไฮเปอร์ลิงก์ให้กับส่วนข้อความเดียว, การทำความเข้าใจว่าการจัดรูปแบบถูกสืบทอดผ่านส่วนข้อความ, ย่อหน้า, กรอบข้อความและธีมอย่างไร, และการจัดการกับกรณีที่ฟอนต์ที่ระบุไม่พร้อมใช้
รับขอบเขตของส่วนข้อความ
ใช้ Portion::getRect เพื่อดึงสี่เหลี่ยมขอบเขตของส่วนข้อความ:
$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();
}
รับพิกัดของส่วนข้อความ
ใช้ Portion::getCoordinates เพื่อดึงพิกัดของจุดเริ่มต้นของส่วนข้อความ:
$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();
}
คำถามที่พบบ่อย
ฉันสามารถใส่ลิงก์ไฮเปอร์ลิงก์ให้กับส่วนของข้อความเพียงบางส่วนในย่อหน้าหนึ่งเดียวได้หรือไม่?
ได้, คุณสามารถ assign a hyperlink ให้กับส่วนข้อความแต่ละส่วน; เฉพาะส่วนนั้นจะเป็นลิงก์ที่คลิกได้, ไม่ใช่ทั้งย่อหน้า.
การสืบทอดสไตล์ทำงานอย่างไร: ส่วนข้อความจะบังคับอะไรและอะไรถูกนำมาจากย่อหน้าหรือกรอบข้อความ?
คุณสมบัติระดับ Portion มีลำดับความสำคัญสูงสุด หากคุณสมบัติไม่ได้ตั้งค่าใน Portion, Aspose.Slides จะดึงมาจาก Paragraph. หากไม่ได้ตั้งค่าในนั้นเช่นกัน, Aspose.Slides จะใช้สไตล์จาก TextFrame หรือ theme.
จะเกิดอะไรขึ้นถ้าฟอนต์ที่ระบุสำหรับส่วนข้อความไม่มีในเครื่องหรือเซิร์ฟเวอร์เป้าหมาย?
Font substitution rules จะถูกนำมาใช้ ข้อความอาจมีการไหลใหม่: ตัวชี้วัด, การตัดคำ, และความกว้างอาจเปลี่ยนแปลง ซึ่งมีผลต่อการกำหนดตำแหน่งที่แม่นยำ.
ฉันสามารถตั้งค่าความโปร่งแสงหรือการไล่สีของการเติมข้อความระดับ Portion แยกจากย่อหน้าที่เหลือได้หรือไม่?
ได้, สีข้อความ, การเติมและความโปร่งแสงในระดับ Portion สามารถแตกต่างจากส่วนใกล้เคียงได้.