1. ผลิตภัณฑ์
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS สำหรับ Java

สร้าง, อ่าน, และแก้ไขงานนำเสนอ PowerPoint จาก Java — ฟรีและเปิดแหล่งที่มา, ไม่ต้องพึ่งพา Office

ไลบรารี Java แบบเปิดแหล่งที่มาสำหรับงานนำเสนอ PowerPoint

Aspose.Slides FOSS สำหรับ Java เป็นไลบรารี pure-Java ที่ได้รับใบอนุญาต MIT สำหรับทำงานกับไฟล์ PowerPoint .pptx เพิ่มการพึ่งพา Maven เพียงหนึ่งรายการและเริ่มสร้าง อ่าน และแก้ไขงานนำเสนอได้ทันทีโดยไม่ต้องติดตั้ง Microsoft Office หรือรันไทม์ที่เป็นกรรมสิทธิ์ใดๆ

ไลบรารีนี้เปิดเผย Presentation API ที่สร้างขึ้นรอบ ๆ Presentation, Slide, Shape, TextFrame, Paragraph และ Portion ซึ่งเป็นโมเดลเชิงแนวคิดที่ PowerPoint เองใช้ เพิ่มและลบสไลด์ แทรก AutoShapes, ตาราง, และคอนเนคเตอร์ จัดรูปแบบข้อความในระดับอักขระด้วยตัวหนา, ตัวเอียง, ขนาดและสีของฟอนต์, ใช้การเติมสีแบบทึบหรือไล่สี, และเพิ่มเอฟเฟกต์ภาพ (เงา, แสงเรืองแสง, เบลอ, การสะท้อน)

คลาส PresentationimplementsAutoCloseable` ดังนั้นใช้ try-with-resources เพื่อทำความสะอาดอย่างเชื่อถือได้ ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตอนบันทึก ดังนั้นการวนรอบจึงไม่ทำลายเนื้อหาที่ไลบรารียังไม่เข้าใจ ไลบรารีนี้ต้องการ JDK 21 หรือใหม่กว่าและไม่มีส่วนขยายเนทีฟที่ต้องคอมไพล์

API งานนำเสนอและสไลด์

  • Create and open PPTX: สร้างงานนำเสนอใหม่หรือเปิดไฟล์ .pptx ที่มีอยู่ผ่าน new Presentation() หรือ new Presentation(path)
  • Add and remove slides: จัดการ SlideCollection อย่างโปรแกรมด้วย addClone(), addEmptySlide(), remove(), และ removeAt()
  • AutoShapes: แทรกสี่เหลี่ยม, วงรี, เส้น, และรูปทรง ShapeType อื่น ๆ ผ่าน addAutoShape()
  • Tables and Connectors: เพิ่มรูปทรงตารางที่มีโครงสร้างและเส้นคอนเนคเตอร์ระหว่างรูปทรงผ่าน addConnector()
  • Speaker notes: อ่านและเขียนบันทึกผู้พูดต่อสไลด์ผ่าน NotesSlideManager
  • Threaded comments: เข้าถึงเธรดคอมเมนต์ระดับสไลด์ด้วย getSlideComments().

ที่ที่ Aspose.Slides FOSS สามารถใช้ได้

  • Report generation: สร้างชุดสไลด์ที่มีแบรนด์จากแหล่งข้อมูลโดยไม่ต้องใช้ Office.
  • Template automation: เติมเทมเพลต PPTX ด้วยเนื้อหาแบบไดนามิกใน pipeline CI/CD.
  • การย้ายเนื้อหา: อ่านงานนำเสนอที่มีอยู่และจัดโครงสร้างหรือปรับสไตล์สไลด์ใหม่.
  • แบ็กเอนด์แบบ Serverless: ประมวลผลไฟล์ PPTX ภายในคอนเทนเนอร์ Docker หรือฟังก์ชัน Lambda.
  • การประมวลผลแบบชุด: ใช้การเปลี่ยนแปลงรูปแบบที่สอดคล้องกันทั่วไลบรารีสไลด์เด็คขนาดใหญ่.

การจัดรูปแบบข้อความและเอฟเฟกต์ภาพ

  • Character-level formatting: ใช้การจัดรูปแบบตัวอักษรแบบหนา, ตัวเอียง, ขนาดฟอนต์, และสีกับอ็อบเจ็กต์ Portion แต่ละอันผ่าน getPortionFormat().
  • Solid and gradient fills: ตั้งค่าการเติมรูปทรงเป็นสีทึบหรือไล่สีเชิงเส้นหลายจุดโดยใช้ getFillFormat() และ FillType.
  • Shadow and glow effects: ใช้เงานอก, แสงเรืองแสง, เบลอ, และการสะท้อนกับรูปทรงใด ๆ ผ่าน getEffectFormat().
  • Paragraph alignment: ตั้งค่าการจัดแนวซ้าย, กลาง, ขวา หรือเต็มบรรทัดสำหรับแต่ละย่อหน้าผ่าน getParagraphFormat().setAlignment().
  • Round-trip safe: ส่วน XML ที่ไม่รู้จักจะถูกเก็บไว้โดยไม่เปลี่ยนแปลงเมื่อบันทึกใหม่.

ประสบการณ์นักพัฒนา

Aspose.Slides FOSS ติดตั้งด้วยการพึ่งพา Maven เพียงหนึ่งรายการ (org.aspose.slides.foss:aspose-slides-foss). ไลบรารีนี้เป็น pure Java โดยไม่มีส่วนขยายเนทีฟที่ต้องคอมไพล์และไม่มีแพ็กเกจระบบที่ต้องติดตั้ง

API นี้สะท้อนโมเดลอ็อบเจ็กต์ของ PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion) ดังนั้นผู้ที่คุ้นเคยกับโมเดลอ็อบเจ็กต์ของ PowerPoint สามารถใช้ไลบรารีได้ทันที มันได้รับใบอนุญาต MIT, เป็นโอเพนซอร์สบน GitHub, และต้องการ JDK 21 หรือใหม่กว่า

สร้างงานนำเสนอและเพิ่มรูปทรง

ใช้ try-with-resources เพื่อให้แน่ใจว่า Presentation จะถูกปิดเสมอและทรัพยากรถูกปล่อยออก addAutoShape() รับค่า enum ShapeType แล้วตามด้วยตำแหน่ง x/y และความกว้าง/ความสูงเป็นหน่วย points — เมธอด getTextFrame().setText() ของรูปทรงจะตั้งค่าป้ายชื่อในหนึ่งคำสั่ง.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // เพิ่ม AutoShape รูปสี่เหลี่ยม
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.getTextFrame().setText("สวัสดี, Aspose.Slides!");

    prs.save("output.pptx");
}

จัดรูปแบบข้อความและใช้เอฟเฟกต์การเติม

การจัดรูปแบบข้อความทำงานที่ระดับ Portion — หน่วยที่เล็กที่สุดของชุดอักขระ เปิดไฟล์ที่บันทึกไว้, ไปยัง portion แรกของย่อหน้าแรก, และตั้งค่าคุณสมบัติฟอนต์ผ่าน getter และ setter การเติมสีของ Shape เป็นอิสระ: ตั้งค่า FillType เป็น SOLID และกำหนดสีผ่าน getSolidFillColor().setColor()

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IShape shape = prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // ตัวหนา, 18pt, ข้อความสีน้ำเงินเข้ม
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // เติมพื้นหลังแบบสีทึบบนรูปร่าง
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}

คำถามที่พบบ่อย

Aspose.Slides FOSS สำหรับ Java คืออะไร?

เป็นไลบรารี pure-Java ฟรีที่ใช้สัญญาอนุญาต MIT สำหรับการสร้าง, อ่าน, และแก้ไขงานนำเสนอ PowerPoint .pptx โดยไม่ต้องใช้ Microsoft Office.

รูปแบบไฟล์ใดบ้างที่รองรับ?

PPTX เป็นรูปแบบที่รองรับการอ่าน/เขียน การส่งออกเป็น PDF, HTML, SVG หรือรูปภาพไม่พร้อมให้ใช้ในรุ่นนี้.

ต้องการ Microsoft Office หรือ PowerPoint หรือไม่?

ไม่ใช่. Aspose.Slides FOSS เป็นไลบรารี pure-Java ที่ไม่มีการพึ่งพา Microsoft Office, การทำงานอัตโนมัติผ่าน COM, หรือรันไทม์ที่เป็นกรรมสิทธิ์ใด ๆ.

ฉันจะติดตั้งมันอย่างไร?

เพิ่มการพึ่งพา Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 ไปยังโปรเจกต์ของคุณ ไม่จำเป็นต้องมีแพ็กเกจระบบเพิ่มเติมหรือส่วนขยายเนทีฟ ต้องการ JDK 21 หรือใหม่กว่า

ฉันสามารถใช้เอฟเฟกต์ภาพเช่นเงาและแสงเรืองแสงได้หรือไม่?

ใช่. ไลบรารีรองรับเอฟเฟกต์เงานอก, แสงเรืองแสง, เบลอ, และการสะท้อนบนวัตถุรูปร่างใด ๆ ผ่าน EffectFormat API.

แนะนำให้ใช้รูปแบบ try-with-resources หรือไม่?

ใช่. Presentation implements AutoCloseable ดังนั้นควรใช้ try (Presentation prs = new Presentation()) { ... } เสมอเพื่อทำความสะอาดทรัพยากรอย่างเชื่อถือได้.

การทำ round‑tripping ไฟล์ PPTX จะทำให้เนื้อหาที่ไม่รู้จักเสียหายหรือไม่?

ไม่. ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตอนบันทึก ดังนั้นเนื้อหาที่ไลบรารียังไม่เข้าใจจะไม่สูญหาย.

ฉันสามารถหาโค้ดต้นฉบับได้จากที่ไหน?

ไลบรารีนี้มีสัญญาอนุญาต MIT และโฮสต์บน GitHub ยินดีรับรายงานบั๊กและ pull requests

  

ทรัพยากรสนับสนุนและการเรียนรู้

 ภาษาไทย