مقدمه
Aspose.Slides FOSS for Java اکنون در Maven Central در دسترس است: یک کتابخانه رایگان با مجوز MIT برای ایجاد، خواندن و ویرایش فایلهای PowerPoint .pptx بهصورت کامل در جاوا، بدون وابستگی به Microsoft Office یا هر زماناجرای مالکیتی.
کتابخانه برای توسعهدهندگانی طراحی شده است که نیاز به تولید یا دستکاری فایلهای ارائه بهصورت برنامهنویسی دارند: خودکارسازی اسلایدها از دادهها، استخراج متن و متادیتا از فایلهای PPTX بارگذاریشده، ساخت خطوط لوله گزارشگیری مبتنی بر ارائه، یا ادغام ایجاد ارائه در برنامههای Spring Boot. چون aspose-slides-foss خالص جاوا است، بهصورت یکسان بر روی 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: برجستگی، دوربین، نورپردازی، ماده و عمق برآمدگی از طریق
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 تولید شده توسط ابزارهای دیگر بهصورت ایمن دور‑دور میشوند.