แปลงสไลด์ PowerPoint เป็น PNG ใน C++
ภาพรวม
บทความนี้อธิบายวิธีแปลงงานนำเสนอ PowerPoint เป็นภาพ PNG โดยใช้ Aspose.Slides แสดงวิธีโหลดไฟล์งานนำเสนอในรูปแบบ เช่น PPT, PPTX, และ ODP เรนเดอร์สไลด์เป็นภาพและบันทึกผลลัพธ์เป็นรูปแบบ PNG
บทความยังสาธิตวิธีปรับแต่งภาพ PNG ที่สร้างขึ้นโดยการตั้งค่าค่าการสเกลหรือระบุความกว้างและความสูงที่ต้องการ
แปลง PowerPoint เป็น PNG
ทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- รับอ็อบเจ็กต์สไลด์จากคอลเลกชัน Presentation::get_Slides() ภายใต้อินเทอร์เฟส ISlide.
- ใช้เมธอด ISlide::GetImage() เพื่อรับรูปย่อของแต่ละสไลด์.
- ใช้เมธอด IImage::Save(String, ImageFormatPtr เพื่อบันทึกรูปย่อสไลด์เป็นรูปแบบ PNG.
โค้ด C++ นี้แสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PNG:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
auto slide = pres->get_Slides()->idx_get(index);
auto fileName = String::Format(u"slide_{0}.png", index);
slide->GetImage()->Save(fileName, ImageFormat::Png);
}
แปลง PowerPoint เป็น PNG ด้วยมิติที่กำหนดเอง
หากต้องการได้ไฟล์ PNG ที่มีสเกลบางอย่าง คุณสามารถตั้งค่าของ desiredX และ desiredY ซึ่งกำหนดมิติของรูปย่อที่ได้
โค้ด C++ นี้แสดงการทำงานตามที่อธิบาย:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
float scaleX = 2.f;
float scaleY = 2.f;
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
auto slide = pres->get_Slides()->idx_get(index);
auto fileName = String::Format(u"slide_{0}.png", index);
slide->GetImage(scaleX, scaleY)->Save(fileName, ImageFormat::Png);
}
แปลง PowerPoint เป็น PNG ด้วยขนาดที่กำหนดเอง
หากต้องการได้ไฟล์ PNG ที่มีขนาดบางอย่าง คุณสามารถส่งอาร์กิวเมนต์ width และ height ที่ต้องการสำหรับ ImageSize
โค้ดนี้แสดงวิธีแปลง PowerPoint เป็น PNG พร้อมระบุขนาดของภาพ:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
Size size(960, 720);
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
auto slide = pres->get_Slides()->idx_get(index);
auto fileName = String::Format(u"slide_{0}.png", index);
slide->GetImage(size)->Save(fileName, ImageFormat::Png);
}
คำถามที่พบบ่อย
ฉันจะส่งออกเฉพาะรูปร่างที่กำหนด (เช่น แผนภูมิหรือรูปภาพ) แทนที่จะส่งออกทั้งสไลด์ได้อย่างไร?
Aspose.Slides รองรับการ สร้างรูปย่อสำหรับรูปร่างแต่ละชิ้น; คุณสามารถเรนเดอร์รูปร่างเป็นภาพ PNG ได้.
การแปลงแบบขนานได้รับการสนับสนุนบนเซิร์ฟเวอร์หรือไม่?
ใช่ แต่ต้อง ไม่แชร์ อินสแตนซ์การนำเสนอเดียวกันระหว่างเธรด ควรใช้อินสแตนซ์แยกสำหรับแต่ละเธรดหรือโพรเซส.
ข้อจำกัดของรุ่นทดลองเมื่อส่งออกเป็น PNG มีอะไรบ้าง?
โหมดประเมินจะเพิ่มลายน้ำลงในภาพผลลัพธ์และบังคับใช้ ข้อจำกัดอื่น จนกว่าจะมีการใช้งานไลเซนส์.