แปลง PPT และ PPTX เป็น JPG ด้วย Java
บทนำ
การแปลงงานนำเสนอ PowerPoint และ OpenDocument เป็นรูปภาพ JPG ช่วยในเรื่องการแชร์สไลด์, การเพิ่มประสิทธิภาพ, และการฝังเนื้อหาในเว็บไซต์หรือแอปพลิเคชัน Aspose.Slides ช่วยให้คุณแปลงไฟล์ PPTX, PPT, และ ODP ให้เป็นภาพ JPEG คุณภาพสูง คู่มือนี้อธิบายวิธีการแปลงที่ต่างกัน
ด้วยคุณลักษณะเหล่านี้ การสร้างผู้ชมงานนำเสนอของคุณเองและสร้างรูปย่อสำหรับแต่ละสไลด์ทำได้ง่าย อาจเป็นประโยชน์หากคุณต้องการป้องกันการคัดลอกสไลด์หรือแสดงงานนำเสนอในโหมดอ่านอย่างเดียว Aspose.Slides ให้คุณแปลงงานนำเสนอทั้งหมดหรือสไลด์หนึ่งสไลด์เป็นรูปภาพได้
แปลง PowerPoint PPT/PPTX เป็น JPG
- สร้างอินสแตนซ์ของประเภท Presentation
- รับอ็อบเจกต์สไลด์ของประเภท ISlide จากคอลเลกชัน Presentation.getSlides()
- สร้างรูปย่อของแต่ละสไลด์แล้วแปลงเป็น JPG. ISlide.getImage(float scaleX, float scaleY) ใช้เพื่อรับรูปย่อของสไลด์, จะคืนค่าอ็อบเจกต์ Images เป็นผลลัพธ์. วิธี getImage ต้องถูกเรียกจากสไลด์ที่ต้องการของประเภท ISlide, ค่าตามสเกลของรูปย่อที่ได้จะถูกส่งเข้าเมธอด.
- หลังจากได้รูปย่อของสไลด์แล้ว, เรียกเมธอด [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/th/java/com.aspose.slides/IImage#save(String formatName, int imageFormat)) จากอ็อบเจกต์รูปย่อ. ส่งชื่อไฟล์ผลลัพธ์และรูปแบบภาพเข้าเมธอดนั้น.
Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
for (ISlide sld : pres.getSlides()) {
// สร้างภาพเต็มสเกล
IImage slideImage = sld.getImage(1f, 1f);
// บันทึกภาพลงดิสก์ในรูปแบบ JPEG
try {
slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
}
} finally {
if (pres != null) pres.dispose();
}
แปลง PowerPoint PPT/PPTX เป็น JPG ด้วยมิติที่กำหนดเอง
เพื่อเปลี่ยนมิติของรูปย่อและภาพ JPG ที่ได้, คุณสามารถตั้งค่า ScaleX และ ScaleY โดยส่งค่าเหล่านี้เข้าเมธอด ISlide.getImage(float scaleX, float scaleY)
Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
// กำหนดมิติ
int desiredX = 1200;
int desiredY = 800;
// รับค่าการสเกลของ X และ Y
float ScaleX = (float) (1.0 / pres.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float) (1.0 / pres.getSlideSize().getSize().getHeight()) * desiredY;
for (ISlide sld : pres.getSlides())
{
// สร้างภาพเต็มสเกล
IImage slideImage = sld.getImage(ScaleX, ScaleY);
// บันทึกภาพลงดิสก์ในรูปแบบ JPEG
try {
slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
}
} finally {
if (pres != null) pres.dispose();
}
เรนเดอร์คอมเมนต์เมื่อบันทึกสไลด์เป็นภาพ
Aspose.Slides for Java มีฟีเจอร์ที่ช่วยให้คุณเรนเดอร์คอมเมนต์ในสไลด์ของงานนำเสนอเมื่อทำการแปลงสไลด์เหล่านั้นเป็นภาพ โค้ด Java นี้แสดงการทำงาน:
Presentation pres = new Presentation("presentation.pptx");
try {
NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(NotesPositions.BottomTruncated);
IRenderingOptions opts = new RenderingOptions();
opts.setSlidesLayoutOptions(notesOptions);
for (ISlide sld : pres.getSlides()) {
IImage slideImage = sld.getImage(opts, new Dimension(740, 960));
try {
slideImage.save(String.format("Slide_%d.png", sld.getSlideNumber()));
} finally {
if (slideImage != null) slideImage.dispose();
}
}
} finally {
if (pres != null) pres.dispose();
}
Tip
Aspose มีแอปเว็บ Collage ฟรี (https://products.aspose.app/slides/th/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 เมื่อต้องทำงานกับงานนำเสนอขนาดใหญ่หรือภาพความละเอียดสูง
ดูเพิ่มเติม
ดูตัวเลือกอื่น ๆ เพื่อแปลง PPT/PPTX เป็นภาพ เช่น: