บทนำ

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ใช่
PDF.pdfใช่
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 – เอกสารอธิบายคลาสและเมธอดอย่างเต็มรูปแบบ