บทนำ
Aspose.Slides FOSS for Java ตอนนี้พร้อมให้ใช้บน Maven Central: ไลบรารีฟรีที่ใช้สัญญาอนุญาต MIT สำหรับการสร้าง อ่าน และแก้ไขไฟล์ 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, Tables, และ Connectors: แทรกรูปทรงผ่าน
slide.getShapes().addAutoShape(), ข้อมูลตารางผ่านslide.getShapes().addTable(), และตัวเชื่อมต่อภาพระหว่างรูปทรงผ่านslide.getShapes().addConnector() - การจัดรูปแบบข้อความแบบ Rich: จัดรูปแบบข้อความระดับอักขระด้วย
PortionFormat: ขนาดฟอนต์, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, และสี ARGB ผ่านFillType.SOLIDและColorFormat - ประเภทการเติม: ใช้การเติม
FillType.SOLID,GRADIENT,PATTERNหรือPICTUREกับรูปทรงใดก็ได้ - เอฟเฟกต์ภาพ: เงานอก, แสงเรืองแสง, ขอบนุ่ม, เบลอ, การสะท้อน, และเงาภายในผ่าน
shape.getEffectFormat() - การจัดรูปแบบ 3D: Bevel, กล้อง, ระบบแสง, วัสดุ, และความลึกการดันออกผ่าน
shape.getThreeDFormat() - บันทึกของผู้พูด: แนบข้อความบันทึกไปยังแต่ละสไลด์ผ่าน
getNotesSlideManager().addNotesSlide() - คอมเมนต์แบบเธรด: เพิ่มคอมเมนต์พร้อมข้อมูลเมตาของผู้เขียนและตำแหน่งสไลด์
- ภาพฝัง: ฝังจากเส้นทางไฟล์, ไบต์, หรือ
InputStream - คุณสมบัติของเอกสาร: อ่านและเขียนคุณสมบัติหลัก, แอป, และคุณสมบัติที่กำหนดเอง
เริ่มต้น
เพิ่มการพึ่งพา 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 ที่สร้างโดยเครื่องมืออื่นจึงสามารถทำการรอบทริปได้อย่างปลอดภัย.