บทนำ

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 ที่สร้างโดยเครื่องมืออื่นจึงสามารถทำการรอบทริปได้อย่างปลอดภัย.

ดูเพิ่มเติม