บทนำ
Aspose.Slides FOSS for Java เป็นไลบรารีฟรีแบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนา Java สามารถสร้างและจัดการงานนำเสนอ PowerPoint ได้โดยไม่ต้องพึ่งพา Microsoft Office. ไลบรารีนี้จัดจำหน่ายภายใต้แพ็กเกจ org.aspose.slides.foss และรองรับ Java 21 ขึ้นไป.
โครงการนี้ถูกปล่อยภายใต้สัญญาอนุญาต MIT ดังนั้นคุณจึงสามารถใช้ได้ทั้งในโครงการส่วนบุคคลและเชิงพาณิชย์โดยไม่มีค่าใช้จ่ายและไม่ต้องใช้คีย์ API มันให้โมเดลวัตถุที่ครอบคลุมสำหรับสไลด์, รูปร่าง, ข้อความ, ตาราง, รูปภาพ, ความคิดเห็น, และคุณสมบัติของเอกสาร โดยอาศัยการจัดการโดยตรงของรูปแบบแพ็กเกจ Office Open XML.
ด้วย 273 คลาส, มากกว่า 2,600 เมธอด, และ 42 enumerations, API แกนหลักครอบคลุมบล็อกการสร้างที่คุณต้องการเพื่อทำให้กระบวนการนำเสนอทำงานอัตโนมัติในแอปพลิเคชัน Java ใด ๆ
สิ่งที่รวมอยู่
วงจรชีวิตของการนำเสนอ
คลาส Presentation เป็นจุดเริ่มต้นสำหรับทุกการดำเนินการ คุณสามารถสร้างงานนำเสนอเปล่าและบันทึกผลลัพธ์ลงดิสก์หรือไปยัง OutputStream ในรูปแบบต่าง ๆ คลาสนี้ implements AutoCloseable ดังนั้นจึงทำงานได้อย่างเป็นธรรมชาติร่วมกับบล็อก try-with-resources.
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation pres = new Presentation()) {
// A new presentation starts with one blank slide
System.out.println("Slides: " + pres.getSlides().size());
pres.save("output.pptx", SaveFormat.PPTX);
}
การจัดการสไลด์
SlideCollection ให้การควบคุมเต็มรูปแบบเหนือชุดสไลด์ คุณสามารถเพิ่มสไลด์เปล่าด้วย addEmptySlide(), ทำสำเนาสไลด์ที่มีอยู่ด้วย addClone(), แทรกสไลด์ที่ตำแหน่งเฉพาะด้วย insertEmptySlide(), ลบสไลด์โดยอ้างอิงหรือดัชนี, และวนซ้ำผ่านคอลเลกชันได้
try (Presentation pres = new Presentation()) {
ILayoutSlide layout = pres.getLayoutSlides().get(0);
pres.getSlides().addEmptySlide(layout);
pres.getSlides().addClone(pres.getSlides().get(0));
System.out.println("Total slides: " + pres.getSlides().size());
}
รูปร่างและรูปร่างอัตโนมัติ
คลาส AutoShape แสดงถึงอ็อบเจ็กต์ที่วาดได้ที่พบบ่อยที่สุดบนสไลด์ คุณสร้างรูปทรงผ่าน IShapeCollection.addAutoShape() โดยระบุค่าคงที่ ShapeType (เช่น ShapeType.RECTANGLE) และพิกัดตำแหน่ง แต่ละ AutoShape เปิดเผย TextFrame สำหรับเนื้อหาข้อความและ FillFormat สำหรับการจัดสไตล์ภาพ
try (Presentation pres = new Presentation()) {
ISlide slide = pres.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 300, 100, false);
ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
System.out.println(tf.getText());
}
ข้อความและย่อหน้า
ข้อความแบบ Rich text ถูกจำลองเป็นโครงสร้างลำดับชั้นของอ็อบเจกต์ TextFrame, ParagraphCollection, Paragraph, PortionCollection, และ Portion. คุณสามารถตั้งค่าข้อความธรรมดาบนเฟรมโดยตรงด้วย TextFrame.setText(), หรือสร้างย่อหน้าที่มีหลายรันโดยการเพิ่มอินสแตนซ์ Portion แต่ละอันที่มีการจัดรูปแบบที่แตกต่างกัน.
try (Presentation pres = new Presentation()) {
ISlide slide = pres.getSlides().get(0);
IAutoShape shape = slide.getShapes()
.addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
ITextFrame tf = shape.addTextFrame("First run ");
Portion extra = new Portion("second run");
tf.getParagraphs().get(0).getPortions().add(extra);
System.out.println(tf.getText());
}
คุณสมบัติของเอกสาร
คลาส DocumentProperties เปิดเผยฟิลด์เมตาดาต้ามาตรฐาน เช่น title, author, subject, keywords, category, และ timestamps. คุณสมบัติต่างๆ จะถูกบันทึกไว้ในส่วน core และ extended properties ของ PPTX และยังคงอยู่ผ่านรอบการบันทึก/โหลดซ้ำ.
try (Presentation pres = new Presentation()) {
IDocumentProperties props = pres.getDocumentProperties();
props.setTitle("Quarterly Report");
props.setAuthor("Engineering Team");
pres.save("report.pptx", SaveFormat.PPTX);
}
ความคิดเห็นและคำอธิบาย
ระบบย่อยของความคิดเห็นรวมถึง CommentAuthorCollection และ CommentCollection. คุณสามารถเพิ่มผู้เขียน, แนบความคิดเห็นไปยังสไลด์และตำแหน่งเฉพาะ, และอ่านกลับคำอธิบายที่มีอยู่. ข้อมูลความคิดเห็นถูกจัดเก็บในส่วน ppt/commentAuthors.xml และ ppt/comments/*.xml ของแพ็กเกจ PPTX.
เริ่มต้นอย่างรวดเร็ว
เพิ่มการพึ่งพา Maven ไปยัง pom.xml ของคุณ:
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
จากนั้นสร้างและบันทึกการนำเสนอ:
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;
public class QuickStart {
public static void main(String[] args) {
try (Presentation pres = new Presentation()) {
ISlide slide = pres.getSlides().get(0);
// Add a title shape
IAutoShape title = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 30, 600, 60, false);
title.addTextFrame("Aspose.Slides FOSS for Java");
// Add a content shape
IAutoShape body = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 120, 600, 300, false);
body.addTextFrame(
"This presentation was created entirely in Java "
+ "using a free, open-source library.");
pres.save("quick-start.pptx", SaveFormat.PPTX);
}
}
}
รูปแบบที่รองรับ
การนับ SaveFormat กำหนดรูปแบบผลลัพธ์ทุกแบบที่ไลบรารีสามารถเขียนได้. ตารางด้านล่างแสดงรายการที่ได้รับการยืนยัน.
| รูปแบบ | นามสกุล | เขียน |
|---|---|---|
| PPTX | .pptx | ใช่ |
| PPTM | .pptm | ใช่ |
| PPSX | .ppsx | ใช่ |
| PPSM | .ppsm | ใช่ |
| POTX | .potx | ใช่ |
| POTM | .potm | ใช่ |
| ODP | .odp | ใช่ |
| OTP | .otp | ใช่ |
| FODP | .fodp | ใช่ |
| PPT | .ppt | ใช่ |
| PPS | .pps | ใช่ |
| POT | .pot | ใช่ |
| ใช่ | ||
| XPS | .xps | ใช่ |
| HTML | .html | ใช่ |
| HTML5 | .html | ใช่ |
| SVG | .svg | ใช่ |
| TIFF | .tiff | ใช่ |
| PNG | .png | ใช่ |
| JPEG | .jpeg | ใช่ |
| BMP | .bmp | ใช่ |
| GIF | .gif | ใช่ |
| MD | .md | ใช่ |
รูปแบบที่ระบุข้างต้นเป็นเป้าหมายการส่งออกที่ได้รับการยืนยันซึ่งกำหนดไว้ใน enum SaveFormat.
ซอร์สเปิดและการให้สิทธิ์
Aspose.Slides FOSS for Java ถูกแจกจ่ายภายใต้สัญญาอนุญาต MIT. โค้ดต้นฉบับเต็มพร้อมให้ใช้งานบน GitHub ที่ Aspose.Slides-FOSS-for-Java. คุณสามารถใช้, แก้ไข, และแจกจ่ายไลบรารีนี้ในโครงการใดก็ได้โดยไม่มีค่าลิขสิทธิ์หรือคีย์ใบอนุญาต.
เริ่มต้นใช้งาน
พร้อมจะลึกซึ้งยิ่งขึ้นหรือยัง? นี่คือแหล่งข้อมูลที่จะช่วยให้คุณเริ่มต้นได้:
- Developer Guide – การสาธิตและบทเรียนสำหรับทุกพื้นที่ฟีเจอร์
- Knowledge Base – บทความวิธีทำและคำถามที่พบบ่อย
- API Reference – เอกสารอธิบายคลาสและเมธอดอย่างเต็มรูปแบบ