ดึงพื้นหลังสไลด์ทั้งหมดจากการนำเสนอเป็นภาพ
ภาพรวม
ในการนำเสนอ PowerPoint พื้นหลังสไลด์อาจประกอบด้วยหลายองค์ประกอบ รวมถึงภาพพื้นหลังสไลด์, ธีมการนำเสนอ, โทนสี, และวัตถุต่าง ๆ ที่วางบนสไลด์มาสเตอร์หรือสไลด์เลเอาต์
บทความนี้แสดงวิธีดึงพื้นหลังสไลด์ทั้งหมดเป็นภาพโดยใช้ Aspose.Slides เนื่องจากไม่มีวิธีเดียวที่ทำได้ งานนี้จึงทำโดยการโคลนสไลด์ที่เลือกไปยังการนำเสนอชั่วคราว, ลบรูปร่างบนสไลด์ที่โคลน, แล้วแปลงพื้นหลังสไลด์ที่ได้เป็นภาพ
ดึงพื้นหลังสไลด์ทั้งหมด
Aspose.Slides for PHP via Java ไม่ได้ให้วิธีง่าย ๆ ในการดึงพื้นหลังสไลด์ทั้งหมดของการนำเสนอเป็นภาพ แต่คุณสามารถทำตามขั้นตอนต่อไปนี้ได้:
- โหลดการนำเสนอโดยใช้คลาส Presentation
- รับขนาดสไลด์จากการนำเสนอ
- เลือกสไลด์หนึ่ง
- สร้างการนำเสนอชั่วคราว
- ตั้งค่าขนาดสไลด์เดียวกันในการนำเสนอชั่วคราว
- โคลนสไลด์ที่เลือกไปยังการนำเสนอชั่วคราว
- ลบรูปร่างจากสไลด์ที่โคลน
- แปลงสไลด์ที่โคลนเป็นภาพ
ตัวอย่างโค้ดต่อไปนี้ดึงพื้นหลังสไลด์ทั้งหมดของการนำเสนอเป็นภาพ
$slideIndex = 0;
$imageScale = 1;
$presentation = new Presentation("sample.pptx");
$slideSize = $presentation->getSlideSize()->getSize();
$slide = $presentation->getSlides()->get_Item($slideIndex);
$tempPresentation = new Presentation();
$slideWidth = $slideSize->getWidth();
$slideHeight = $slideSize->getHeight();
$tempPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::DoNotScale);
$clonedSlide = $tempPresentation->getSlides()->addClone($slide);
$clonedSlide->getShapes()->clear();
$background = clonedSlide->getImage($imageScale, $imageScale);
$background->save("output->png", ImageFormat::Png);
$tempPresentation->dispose();
$presentation->dispose();
คำถามที่พบบ่อย
การไล่สีที่ซับซ้อน, เนื้อผิว, หรือการเติมรูปภาพจากสไลด์มาสเตอร์จะถูกเก็บรักษาในภาพพื้นหลังที่ได้หรือไม่?
ใช่ Aspose.Slides จะเรนเดอร์การไล่สี, รูปภาพ, และการเติมเนื้อผิวที่กำหนดบนสไลด์, เลเอาต์, หรือมาสเตอร์ หากต้องการแยกลักษณะออกจากมาสเตอร์ที่สืบทอดมา ให้ ตั้งค่าพื้นหลังของตัวเอง บนสไลด์ปัจจุบันก่อนทำการส่งออก
ฉันสามารถเพิ่มลายน้ำลงในภาพพื้นหลังที่ได้ก่อนบันทึกหรือไม่?
ใช่ คุณสามารถ เพิ่มลายน้ำ รูปแบบหรือภาพบน สำเนาสไลด์ที่ทำงานอยู่ (วางไว้ด้านหลังเนื้อหาอื่น) แล้วทำการส่งออก วิธีนี้จะทำให้คุณสร้างภาพพื้นหลังที่มีลายน้ำรวมอยู่ในตัว
ฉันสามารถดึงพื้นหลังสำหรับเลเอาต์หรือมาสเตอร์เฉพาะได้โดยไม่ต้องเชื่อมกับสไลด์ที่มีอยู่หรือไม่?
ใช่ ใหเข้าถึงมาสเตอร์หรือเลเอาต์ที่ต้องการ นำไปใช้กับ สไลด์ชั่วคราว ที่มีขนาดที่ต้องการ แล้วส่งออกสไลด์นั้นเพื่อรับพื้นหลังที่มาจากเลเอาต์หรือมาสเตอร์นั้น
มีข้อจำกัดด้านใบอนุญาตที่ส่งผลต่อการส่งออกภาพหรือไม่?
ฟีเจอร์การเรนเดอร์พร้อมใช้งานเต็มที่เมื่อมี ใบอนุญาตที่ถูกต้อง. ในโหมดประเมินผล ผลลัพธ์อาจมีข้อจำกัดเช่นลายน้ำ เปิดใช้งานใบอนุญาตหนึ่งครั้งต่อกระบวนการก่อนทำการส่งออกแบบชุด