บทนำ
Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx ไฟล์ทั้งหมดใน Java โดยไม่มีการพึ่งพา Microsoft Office หรือ runtime ที่เป็นกรรมสิทธิ์ใด ๆ.
ไลบรารีนี้ออกแบบมาสำหรับนักพัฒนาที่ต้องการสร้างหรือจัดการไฟล์การนำเสนอโดยโปรแกรม: ทำอัตโนมัติชุดสไลด์จากข้อมูล, ดึงข้อความและเมตาดาต้าจากไฟล์ PPTX ที่อัปโหลด, สร้างไพป์ไลน์การรายงานที่อิงการนำเสนอ, หรือฝังการสร้างการนำเสนอเข้าแอปพลิเคชัน Spring Boot. เนื่องจาก aspose-slides-foss เป็น Java แท้ ๆ จึงสามารถปรับใช้ได้เหมือนกันบน Windows, macOS, Linux และคอนเทนเนอร์ Docker.
คุณลักษณะหลัก
- รองรับ PPTX แบบรอบเต็ม: เปิดไฟล์ใดก็ได้
.pptxไฟล์, แก้ไขเนื้อหา, และบันทึกกลับโดยไม่สูญเสียส่วน XML ที่ไม่รู้จักซึ่งไลบรารียังไม่เข้าใจ. - การจัดการสไลด์: เพิ่ม, ลบ, และวนซ้ำสไลด์โดยใช้
prs.getSlides(); การนำเสนอจะเริ่มด้วยสไลด์เปล่า 1 แผ่นหลังจากnew Presentation(). - AutoShapes, ตาราง, และคอนเนคเตอร์: แทรกรูปทรงผ่าน
slide.getShapes().addAutoShape(), ข้อมูลตารางผ่านslide.getShapes().addTable(), และคอนเนคเตอร์ภาพระหว่างรูปทรงผ่านslide.getShapes().addConnector(). - การจัดรูปแบบข้อความแบบ Rich Text: จัดรูปแบบข้อความในระดับอักขระด้วย
PortionFormat: ขนาดฟอนต์, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, และสี ARGB ผ่านFillType.SOLIDและColorFormat. - ประเภทการเติม: ใช้
FillType.SOLID,GRADIENT,PATTERN, หรือPICTUREเติมเต็มให้กับรูปทรงใดก็ได้. - เอฟเฟกต์ภาพ: เงานอก, แสงเรืองแสง, ขอบนุ่ม, เบลอ, การสะท้อน, และเงาภายในผ่าน
shape.getEffectFormat(). - 3D formatting: Bevel, camera, light rig, material, และ extrusion depth ผ่าน
shape.getThreeDFormat(). - บันทึกของผู้พูด: แนบข้อความบันทึกไปยังแต่ละสไลด์ผ่าน
getNotesSlideManager().addNotesSlide(). - คอมเมนต์แบบเธรด: เพิ่มคอมเมนต์พร้อมข้อมูลเมตาของผู้เขียนและตำแหน่งสไลด์.
- ภาพฝังในเอกสาร: ฝังจากเส้นทางไฟล์, ไบต์, หรือ
InputStream. - คุณสมบัติของเอกสาร: อ่านและเขียน core, app, และ custom properties.
เริ่มต้นใช้งาน
เพิ่มการพึ่งพา Maven. จำเป็นต้องใช้ Java 21 หรือใหม่กว่า.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
สร้างการนำเสนอแรกของคุณด้วยรูปทรงและบันทึกมัน:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
public class HelloSlides {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx");
}
}
}
ควรใช้เสมอ Presentation ภายในบล็อก try-with-resources; สิ่งนี้ทำให้แน่ใจว่าทรัพยากรภายในทั้งหมดจะถูกปล่อยเมื่อบล็อกสิ้นสุด.
ตัวอย่างการจัดรูปแบบข้อความ
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(28);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
prs.save("formatted.pptx");
}
ข้อจำกัดปัจจุบัน
ส่วนต่อไปนี้จะทำให้เกิดข้อยกเว้น UnsupportedOperationException ในรุ่นนี้:
- แผนภูมิ, SmartArt, และอ็อบเจกต์ OLE
- การเคลื่อนไหวและการเปลี่ยนสไลด์
- ส่งออกเป็น PDF, HTML, SVG, หรือรูปแบบภาพ
- ไฮเปอร์ลิงก์, การตั้งค่าการกระทำ, แมโคร VBA, และลายเซ็นดิจิทัล
ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตอนบันทึก, ดังนั้นไฟล์ PPTX ที่สร้างโดยเครื่องมืออื่นจะทำการรอบทริปได้อย่างปลอดภัย.