แปลง PPT และ PPTX เป็น JPG ใน C++
บทนำ
การแปลงงานนำเสนอ PowerPoint และ OpenDocument เป็นภาพ JPG ช่วยในการแบ่งปันสไลด์, ปรับประสิทธิภาพ, และฝังเนื้อหาเข้าสู่เว็บไซต์หรือแอปพลิเคชัน Aspose.Slides for C++ ช่วยให้คุณเปลี่ยนไฟล์ PPTX, PPT, และ ODP เป็นภาพ JPEG คุณภาพสูง คู่มือนี้อธิบายวิธีการแปลงที่แตกต่างกัน
ด้วยคุณลักษณะเหล่านี้จึงง่ายต่อการสร้างตัวดูงานนำเสนอของคุณเองและสร้างรูปย่อสำหรับทุกสไลด์ สิ่งนี้อาจมีประโยชน์หากคุณต้องการปกป้องสไลด์งานนำเสนอจากการคัดลอกหรือแสดงงานนำเสนอในโหมดอ่านอย่างเดียว Aspose.Slides อนุญาตให้คุณแปลงงานนำเสนอทั้งหมดหรือสไลด์เฉพาะเป็นรูปแบบภาพ
แปลงสไลด์งานนำเสนอเป็นภาพ JPG
ต่อไปนี้คือขั้นตอนการแปลงไฟล์ PPT, PPTX หรือ ODP เป็น JPG:
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ็อบเจกต์สไลด์ของประเภท ISlide จากคอลเลกชันสไลด์ของงานนำเสนอ
- สร้างภาพของสไลด์โดยใช้เมธอด ISlide.GetImage
- เรียกเมธอด IImage.Save บนวัตถุภาพ ส่งชื่อไฟล์เอาต์พุตและรูปแบบภาพเป็นอาร์กิวเมนต์
float scaleX = 1.0f;
float scaleY = scaleX;
auto presentation = MakeObject<Presentation>(u"PowerPoint-Presentation.ppt");
for (auto&& slide : presentation->get_Slides())
{
// สร้างภาพสไลด์ด้วยสเกลที่ระบุ.
auto image = slide->GetImage(scaleX, scaleY);
// บันทึกภาพลงดิสก์ในรูปแบบ JPEG.
auto fileName = String::Format(u"Slide_{0}.jpg", slide->get_SlideNumber());
image->Save(fileName, ImageFormat::Jpeg);
image->Dispose();
}
presentation->Dispose();
แปลงสไลด์เป็น JPG ด้วยขนาดที่กำหนดเอง
เพื่อเปลี่ยนขนาดของภาพ JPG ที่ได้ คุณสามารถตั้งค่าขนาดภาพโดยส่งผ่านพารามิเตอร์ไปยังเมธอด ISlide.GetImage(Size) วิธีนี้ทำให้คุณสร้างภาพที่มีความกว้างและความสูงตามที่กำหนดได้ ช่วยให้ผลลัพธ์ตรงตามความต้องการด้านความละเอียดและอัตราส่วนภาพ ความยืดหยุ่นนี้มีประโยชน์อย่างยิ่งเมื่อสร้างภาพสำหรับเว็บแอปพลิเคชัน, รายงาน หรือเอกสารที่ต้องการขนาดภาพที่แน่นอน
Size imageSize(1200, 800);
auto presentation = MakeObject<Presentation>(u"PowerPoint-Presentation.pptx");
for (auto&& slide : presentation->get_Slides())
{
// สร้างภาพสไลด์ด้วยขนาดที่ระบุ.
auto image = slide->GetImage(imageSize);
// บันทึกภาพลงดิสก์ในรูปแบบ JPEG.
auto fileName = System::String::Format(u"Slide_{0}.jpg", slide->get_SlideNumber());
image->Save(fileName, ImageFormat::Jpeg);
image->Dispose();
}
presentation->Dispose();
เรนเดอร์คอมเมนต์เมื่อบันทึกสไลด์เป็นภาพ
Aspose.Slides for C++ มีฟีเจอร์ที่อนุญาตให้เรนเดอร์คอมเมนต์บนสไลด์ของงานนำเสนอเมื่อแปลงเป็นภาพ JPG ฟังก์ชันนี้มีประโยชน์สำหรับการเก็บรักษาโน้ต, คำติชม, หรือการสนทนาที่ผู้ร่วมงานเพิ่มลงใน PowerPoint โดยการเปิดใช้งานตัวเลือกนี้ คอมเมนต์จะปรากฏในภาพที่สร้าง ทำให้การตรวจสอบและแชร์ฟีดแบ็กง่ายขึ้นโดยไม่ต้องเปิดไฟล์งานนำเสนอเดิม
สมมติว่าเรามีไฟล์งานนำเสนอ “sample.pptx” ที่มีสไลด์หนึ่งที่มีคอมเมนต์:

โค้ด C++ ต่อไปนี้แปลงสไลด์เป็นภาพ JPG พร้อมคอมเมนต์:
float scaleX = 2.0f;
float scaleY = scaleX;
auto presentation = MakeObject<Presentation>(u"sample.pptx");
{
auto commentOptions = MakeObject<NotesCommentsLayoutingOptions>();
commentOptions->set_CommentsPosition(CommentsPositions::Right);
commentOptions->set_CommentsAreaWidth(200);
commentOptions->set_CommentsAreaColor(Color::get_DarkOrange());
// ตั้งค่าตัวเลือกสำหรับคอมเมนต์ของสไลด์.
auto options = MakeObject<RenderingOptions>();
options->set_SlidesLayoutOptions(commentOptions);
// แปลงสไลด์แรกเป็นภาพ.
auto image = presentation->get_Slide(0)->GetImage(options, scaleX, scaleY);
image->Save(u"Slide_1.jpg", ImageFormat::Jpeg);
image->Dispose();
}
presentation->Dispose();
ผลลัพธ์:

ดูเพิ่มเติม
ดูตัวเลือกอื่น ๆ สำหรับการแปลง PPT, PPTX หรือ ODP เป็นภาพ เช่น:
- แปลง PowerPoint เป็น GIF
- แปลง PowerPoint เป็น PNG
- แปลง PowerPoint เป็น TIFF
- แปลง PowerPoint เป็น SVG

Tip
Aspose มีแอปเว็บ FREE Collage ให้บริการ คุณสามารถรวมภาพ JPG to JPG หรือ PNG to PNG, สร้าง photo grids ฯลฯ
โดยใช้หลักการเดียวกับที่อธิบายในบทความนี้ คุณสามารถแปลงภาพจากรูปแบบหนึ่งไปยังอีกรูปแบบหนึ่ง สำหรับข้อมูลเพิ่มเติมดูหน้าเหล่านี้: แปลง image to JPG; แปลง JPG to image; แปลง JPG to PNG; แปลง PNG to JPG; แปลง PNG to SVG; แปลง SVG to PNG
คำถามที่พบบ่อย
วิธีนี้รองรับการแปลงแบบแบตช์หรือไม่?
ใช่, Aspose.Slides รองรับการแปลงหลายสไลด์เป็น JPG ในการดำเนินการเดียว
การแปลงรองรับ SmartArt, แผนภูมิ, และวัตถุซับซ้อนอื่น ๆ หรือไม่?
ใช่, Aspose.Slides เรนเดอร์เนื้อหาทั้งหมดรวมถึง SmartArt, แผนภูมิ, ตาราง, รูปร่าง, และอื่น ๆ อย่างไรก็ตาม ความแม่นยำในการเรนเดอร์อาจแตกต่างเล็กน้อยเมื่อเทียบกับ PowerPoint โดยเฉพาะเมื่อใช้ฟอนต์ที่กำหนดเองหรือฟอนต์ที่หายไป
มีข้อจำกัดใด ๆ เกี่ยวกับจำนวนสไลด์ที่สามารถประมวลผลได้หรือไม่?
Aspose.Slides เองไม่ได้กำหนดข้อจำกัดที่เข้มงวดเกี่ยวกับจำนวนสไลด์ที่คุณสามารถประมวลผลได้ อย่างไรก็ตาม คุณอาจเจอข้อผิดพลาด out-of-memory เมื่อทำงานกับงานนำเสนอขนาดใหญ่หรือภาพความละเอียดสูง