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

Aspose.Slides FOSS สำหรับ Java

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

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

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

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

คลาส Presentation implements AutoCloseable ดังนั้นใช้ try-with-resources เพื่อทำความสะอาดอย่างเชื่อถือได้. ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อบันทึก ดังนั้นการทำ round-tripping จะไม่ทำลายเนื้อหาที่ไลบรารียังไม่เข้าใจ. สำหรับคุณลักษณะและการสนับสนุนเพิ่มเติม ดู Aspose.Slides for Java enterprise edition.

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

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

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

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

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

  • การจัดรูปแบบระดับอักขระ: ใช้ตัวหนา, ตัวเอียง, ขนาดฟอนต์, และสีกับวัตถุ Portion แต่ละอันผ่าน getPortionFormat().
  • การเติมแบบทึบและไล่สี: ตั้งค่าการเติมรูปทรงเป็นสีทึบหรือไล่สีเชิงเส้นหลายจุดโดยใช้ getFillFormat() และ FillType
  • เอฟเฟกต์เงาและแสงเรืองแสง: ใช้เงานอก, แสงเรืองแสง, เบลอ, และการสะท้อนกับรูปทรงใดก็ได้ผ่าน getEffectFormat().
  • การจัดแนวย่อหน้า: ตั้งค่าการจัดแนวซ้าย, กลาง, ขวา หรือจัดแนวเต็มตามย่อหน้าด้วย getParagraphFormat().setAlignment()
  • ปลอดภัยในการทำรอบ: ส่วนที่ไม่รู้จัก XML จะถูกเก็บไว้ตามเดิมอย่างตรงตัวเมื่อบันทึกใหม่.

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

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

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

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

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

<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);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

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

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

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

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

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

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

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    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 automation หรือ runtime ที่เป็นกรรมสิทธิ์ใดๆ

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

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

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

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

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

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

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

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

ฉันจะหาโค้ดต้นฉบับได้จากที่ไหน?

ไลบรารีนี้ใช้สัญญาอนุญาต MIT และโฮสต์บน GitHub รายงานบั๊กและคำขอดึง (pull request) ยินดีรับ

  

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

 ภาษาไทย