چگونه با Aspose.Slides FOSS برای Java شروع کنیم
aspose-slides-foss برای جاوا یک کتابخانهٔ رایگان با مجوز MIT برای ایجاد و ویرایش فایلهای PowerPoint .pptx است — نیازی به Microsoft Office نیست، در Maven Central در دسترس است.
راهنمای گام به گام
مرحله ۱: افزودن وابستگی Maven
وابستگی را به pom.xml خود اضافه کنید (نیاز به Java 21 یا بالاتر دارد):
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>با ساخت پروژه، اطمینان حاصل کنید که بسته بهدرستی حل میشود:
mvn dependency:resolveمرحله ۲: وارد کردن کلاسهای مورد نیاز
کلاسهای مورد نیاز برای بارگذاری ارائهها و ذخیرهسازی را وارد کنید:
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.ShapeType;
import org.aspose.slides.foss.FillType;مرحله ۳: ایجاد یک ارائه
یک Presentation بدون آرگومان بسازید تا با یک اسلاید خالی شروع کنید. همیشه از
try-with-resources استفاده کنید تا منابع داخلی آزاد شوند:
import org.aspose.slides.foss.Presentation;
try (Presentation prs = new Presentation()) {
System.out.println("Slides: " + prs.getSlides().size());
prs.save("new_presentation.pptx");
}مرحله ۴: افزودن یک شکل با متن
از slide.getShapes().addAutoShape() برای درج یک مستطیل استفاده کنید، سپس addTextFrame() را فراخوانی کنید
تا محتوای متنی را اضافه کنید:
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.NullableBool;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 150
);
ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS!");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(24);
fmt.setFontBold(NullableBool.TRUE);
prs.save("with_shape.pptx");
}مرحله 5: اعمال پر کردن و ذخیره
قبل از ذخیرهسازی، رنگ پر کردن ثابت را برای شکل تنظیم کنید:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 100, 100, 400, 200
);
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor().setColor(new Color(70, 130, 180));
shape.addTextFrame("Styled shape");
prs.save("styled.pptx");
}مشکلات رایج و راهحلها
ClassNotFoundException for org.aspose.slides.foss.Presentation
وابستگی Maven حل نشده است. mvn dependency:resolve را اجرا کنید و بررسی کنید که
آرتیفکت در Maven Central موجود است. نسخه را در pom.xml تأیید کنید.
UnsupportedOperationException هنگام فراخوانی برخی متدها
برخی ویژگیها (نمودارها، انیمیشنها، خروجی PDF) خطای UnsupportedOperationException را ایجاد میکنند
در این نسخه. بخش محدودیتهای شناختهشده در مرجع API را قبل از استفاده از
ویژگیهای پیشرفته بررسی کنید.
مختصات شکل به نظر نادرست میرسند
مختصات و ابعاد بر حسب EMU (واحدهای متریک انگلیسی) هستند. یک نقطه تقریباً 12700 EMU است. اسلاید پیشفرض 9144000 × 6858000 EMU است.
فایل یافت نشد هنگام بارگذاری یک PPTX موجود
یک مسیر مطلق را پاس کنید یا اطمینان حاصل کنید که دایرکتوری کاری بهدرستی تنظیم شده است:
import java.nio.file.Paths;
String path = Paths.get("presentations", "existing.pptx").toAbsolutePath().toString();
try (Presentation prs = new Presentation(path)) { ... }سوالات متداول
آیا aspose-slides-foss به Microsoft Office نیاز دارد؟
نه. این کتابخانه بهصورت بومی و در جاوا خالص فایلهای .pptx را ایجاد و میخواند بدون هیچ وابستگیای به Microsoft Office، خودکارسازی COM یا APIهای ویندوز.
کدام نسخههای جاوا پشتیبانی میشوند؟
جاوا ۲۱ یا بالاتر. کتابخانه بر روی ویندوز، macOS، لینوکس و کانتینرهای Docker اجرا میشود.
آیا کتابخانه برای استفاده تجاری رایگان است؟
بله. تحت مجوز MIT منتشر شده است. شما میتوانید برای
هر منظوری، از جمله برنامههای تجاری، از آن استفاده، تغییر و توزیع کنید.
آیا میتوانم یک فایل PPTX موجود را بارگذاری کنم؟
بله. مسیر فایل را به سازنده Presentation پاس دهید:
try (Presentation prs = new Presentation("existing.pptx")) {
System.out.println("Loaded " + prs.getSlides().size() + " slides");
prs.save("copy.pptx");
}آیا نیاز است که Presentation را بهصورت صریح ببندم؟
بله. Presentation پیادهسازی میکند AutoCloseable. همیشه از try-with-resources
(try (Presentation prs = new Presentation()) { ... }) برای تضمین پاکسازی استفاده کنید.