แปลงสไลด์ PowerPoint เป็น PNG ใน .NET
ภาพรวม
บทความนี้อธิบายวิธีการแปลงงานนำเสนอ PowerPoint เป็นรูปภาพ PNG ด้วย Aspose.Slides พร้อมแสดงวิธีโหลดไฟล์งานนำเสนอในรูปแบบเช่น PPT, PPTX และ ODP, ทำการเรนเดอร์สไลด์เป็นภาพ และบันทึกผลลัพธ์เป็นรูปแบบ PNG
บทความยังสาธิตวิธีปรับแต่งภาพ PNG ที่สร้างโดยการกำหนดค่าตำแหน่งสเกลหรือระบุความกว้างและความสูงที่ต้องการ
แปลง PowerPoint เป็น PNG
ทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation
- ดึงอ็อบเจกต์สไลด์จากคอลเล็กชัน Presentation.Slides ภายใต้ส่วนติดต่อ ISlide
- ใช้เมธอด ISlide.GetImage เพื่อรับภาพย่อของแต่ละสไลด์
- ใช้เมธอด IPresentation.Save(String, SaveFormat, ISaveOptions เพื่อบันทึกภาพย่อของสไลด์เป็นรูปแบบ PNG
โค้ด C# นี้แสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PNG โดยอ็อบเจกต์ Presentation สามารถโหลดไฟล์ PPT, PPTX, ODP เป็นต้น แล้วแต่ละสไลด์ในอ็อบเจกต์ Presentation จะถูกแปลงเป็นรูปแบบ PNG หรือรูปแบบภาพอื่น ๆ
using (Presentation pres = new Presentation("pres.pptx"))
{
for (var index = 0; index < pres.Slides.Count; index++)
{
ISlide slide = pres.Slides[index];
using (IImage image = slide.GetImage())
{
image.Save($"slide_{index}.png", ImageFormat.Png);
}
}
}
แปลง PowerPoint เป็น PNG ด้วยมิติที่กำหนดเอง
หากต้องการรับไฟล์ PNG ที่มีสเกลใกล้เคียงกับที่ต้องการ คุณสามารถตั้งค่าตัวแปร desiredX และ desiredY ซึ่งกำหนดขนาดของภาพย่อผลลัพธ์ได้
โค้ดใน C# นี้สาธิตการดำเนินการที่อธิบายไว้:
using (Presentation pres = new Presentation("pres.pptx"))
{
float scaleX = 2f;
float scaleY = 2f;
for (var index = 0; index < pres.Slides.Count; index++)
{
ISlide slide = pres.Slides[index];
using (IImage image = slide.GetImage(scaleX, scaleY))
{
image.Save($"slide_{index}.png", ImageFormat.Png);
}
}
}
แปลง PowerPoint เป็น PNG ด้วยขนาดที่กำหนดเอง
หากต้องการรับไฟล์ PNG ที่มีขนาดใกล้เคียงตามที่ต้องการ คุณสามารถส่งอาร์กิวเมนต์ width และ height ที่ต้องการสำหรับ imageSize
โค้ดนี้แสดงวิธีแปลง PowerPoint เป็น PNG พร้อมระบุขนาดของภาพ:
using (Presentation pres = new Presentation("pres.pptx"))
{
Size size = new Size(960, 720);
for (var index = 0; index < pres.Slides.Count; index++)
{
ISlide slide = pres.Slides[index];
using (IImage image = slide.GetImage(size))
{
image.Save($"slide_{index}.png", ImageFormat.Png);
}
}
}
คำถามที่พบบ่อย
ฉันจะส่งออกเฉพาะรูปร่างที่กำหนด (เช่น แผนภูมิหรือรูปภาพ) แทนที่จะส่งออกสไลด์ทั้งหมดได้อย่างไร?
Aspose.Slides รองรับ generating thumbnails for individual shapes; คุณสามารถเรนเดอร์รูปร่างเป็นภาพ PNG
การแปลงพร้อมกันแบบขนานรองรับบนเซิร์ฟเวอร์หรือไม่?
ใช่ แต่ต้อง don’t share อินสแตนซ์ Presentation เดียวข้ามเธรด ใช้อินสแตนซ์แยกต่อเธรดหรือกระบวนการ
ข้อจำกัดของรุ่นทดลองเมื่อส่งออกเป็น PNG มีอะไรบ้าง?
โหมดการประเมินค่าจะใส่น้ำแสดงบนภาพผลลัพธ์และบังคับใช้ other restrictions จนกว่าจะมีการใส่ใบอนุญาต