مقدمه

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx فایل‌ها به‌صورت کامل در Java هستند و هیچ وابستگی به Microsoft Office یا هیچ زمان‌اجرای مالکیتی ندارند.

این کتابخانه برای توسعه‌دهندگانی طراحی شده است که نیاز به تولید یا دستکاری فایل‌های ارائه به‌صورت برنامه‌نویسی دارند: خودکارسازی اسلایدها از داده‌ها، استخراج متن و متادیتا از فایل‌های PPTX بارگذاری‌شده، ساخت خطوط لوله گزارش‌گیری مبتنی بر ارائه، یا ادغام ایجاد ارائه در برنامه‌های Spring Boot. زیرا aspose-slides-foss به‌صورت خالص Java است، به‌طور یکسان بر روی Windows، macOS، Linux و کانتینرهای Docker مستقر می‌شود.

ویژگی‌های کلیدی

  • پشتیبانی کامل دورگرد PPTX: هر فایل را باز کنید .pptx فایل، محتویات آن را تغییر دهید و بدون از دست دادن بخش‌های XML ناشناسی که کتابخانه هنوز درک نکرده است، آن را دوباره ذخیره کنید.
  • مدیریت اسلایدها: افزودن، حذف و تکرار اسلایدها با استفاده از prs.getSlides(); ارائه با یک اسلاید خالی پس از new Presentation().
  • AutoShapes، جداول و کانکتورها: درج اشکال از طریق slide.getShapes().addAutoShape(),، داده‌های جدولی از طریق slide.getShapes().addTable(), و اتصالات بصری بین اشکال از طریق slide.getShapes().addConnector().
  • قالب‌بندی متن غنی: متن را در سطح کاراکتر با PortionFormat: اندازه قلم، ضخیم، ایتالیک، زیرخط و رنگ ARGB از طریق FillType.SOLID و ColorFormat.
  • انواع پر کردن: اعمال FillType.SOLID, GRADIENT, PATTERN, یا PICTURE پرکننده‌ها برای هر شکل.
  • جلوه‌های بصری: سایه خارجی، درخشندگی، لبه نرم، تاری، بازتاب، و سایه داخلی از طریق shape.getEffectFormat().
  • 3D formatting: برجستگی، دوربین، ست نور، ماده، و عمق برآمدگی از طریق shape.getThreeDFormat().
  • یادداشت‌های سخنران: متن یادداشت‌ها را به هر اسلاید از طریق getNotesSlideManager().addNotesSlide().
  • نظرات زنجیره‌ای: نظرات را با متادیتای نویسنده و موقعیت اسلاید اضافه کنید.
  • تصاویر تعبیه‌شده: از مسیر فایل، بایت‌ها یا InputStream.
  • ویژگی‌های سند: خواندن و نوشتن ویژگی‌های هسته، برنامه و سفارشی.

شروع کار

وابستگی Maven را اضافه کنید. Java نسخهٔ ۲۱ یا بالاتر مورد نیاز است.

<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 تولید شده توسط ابزارهای دیگر به‌صورت ایمن دورگرد می‌شوند.

موارد مرتبط