ویژگیها و قابلیتها
ویژگیها و قابلیتها
Aspose.Slides FOSS for Java provides a broad set of capabilities for working with PowerPoint .pptx فایلها را بهصورت برنامهنویسی. این صفحه تمام حوزههای ویژگی پشتیبانیشده را همراه با مثالهای کد نماینده فهرست میکند.
ورودی/خروجی ارائه
یک مورد موجود را باز کنید .pptx فایل یا یک مورد جدید ایجاد کنید، سپس به فرمت PPTX ذخیره کنید.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
// Open an existing presentation
try (Presentation prs = new Presentation("input.pptx")) {
System.out.println("Slide count: " + prs.getSlides().size());
prs.save("output.pptx", SaveFormat.PPTX);
}
// Create a new presentation (starts with one blank slide)
try (Presentation prs = new Presentation()) {
prs.save("new.pptx", SaveFormat.PPTX);
}توجه: PPTX تنها فرمت ذخیرهسازی پشتیبانیشده است. خروجی به PDF، HTML، SVG یا تصاویر در دسترس نیست.
قسمتهای XML ناشناخته در فایل منبع بهصورت دقیق هنگام ذخیره حفظ میشوند، بنابراین باز کردن و ذخیره مجدد یک .pptx هرگز محتوایی را که کتابخانه هنوز درک نمیکند حذف نخواهد کرد.
مدیریت اسلایدها
افزودن، حذف، تکثیر و تغییر ترتیب اسلایدها.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
// Access the first slide
var slide = prs.getSlides().get(0);
// Add an additional blank slide at the end
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
System.out.println("Total slides: " + prs.getSlides().size());
prs.save("multi-slide.pptx", SaveFormat.PPTX);
}اشکال
افزودن AutoShapes، PictureFrames، جدولها و Connectors به یک اسلاید.
AutoShapes
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Add a rectangle at (x=50, y=50) with width=300, height=100
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 100);
shape.addTextFrame("Aspose.Slides FOSS");
prs.save("shapes.pptx", SaveFormat.PPTX);
}جدولها
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Column widths and row heights in points
double[] colWidths = {120.0, 120.0, 120.0};
double[] rowHeights = {40.0, 40.0, 40.0};
var table = slide.getShapes().addTable(50, 50, colWidths, rowHeights);
table.getRows().get(0).get(0).getTextFrame().setText("Product");
table.getRows().get(0).get(1).getTextFrame().setText("Quantity");
table.getRows().get(0).get(2).getTextFrame().setText("Price");
prs.save("table.pptx", SaveFormat.PPTX);
}اتصالات
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var box1 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 100, 150, 60);
var box2 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 350, 100, 150, 60);
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
conn.setStartShapeConnectedTo(box1);
conn.setStartShapeConnectionSiteIndex(3); // right side
conn.setEndShapeConnectedTo(box2);
conn.setEndShapeConnectionSiteIndex(1); // left side
prs.save("connector.pptx", SaveFormat.PPTX);
}قالببندی متن
متن را در سطح پاراگراف و کاراکتر قالببندی کنید با استفاده از PortionFormat.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 500, 150);
var tf = shape.addTextFrame("Bold blue heading");
var 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(Color.fromArgb(255, 0, 70, 127));
prs.save("text.pptx", SaveFormat.PPTX);
}NullableBool.TRUE بهطور صریح ویژگی را تنظیم میکند؛; NullableBool.NOT_DEFINED از اسلاید مستر ارث میبرد.
انواع پر
پر کردن اشکال با پرکنندههای ثابت، گرادیان، الگو یا تصویر.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 150);
// Solid fill
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 30, 120, 200));
prs.save("fill.pptx", SaveFormat.PPTX);
}افکتهای بصری
اعمال سایه خارجی، درخشندگی، لبه نرم، تاری، بازتاب و سایه داخلی بر روی اشکال.
ویژگیهای اثر از طریق قابل دسترسی هستند shape.getEffectFormat(). فراخوانی enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect(), یا enableInnerShadowEffect() برای پیکربندی هر کدام بهصورت مستقل.
3D Formatting
از طریق اعمال برش 3D، دوربین، رِگ نور، ماده و عمق برآمدگی shape.getThreeDFormat(). این کنترل عمق بصری و مدل نورپردازی برای رندر شکل در نمایشگرهای PPTX که از افکتهای 3D پشتیبانی میکنند، انجام میدهد.
یادداشتهای سخنران
یادداشتها را به هر اسلاید با استفاده از getNotesSlideManager().
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var notes = prs.getSlides().get(0).getNotesSlideManager().addNotesSlide();
notes.getNotesTextFrame().setText("Key talking point: emphasize the ROI benefit.");
prs.save("notes.pptx", SaveFormat.PPTX);
}نظرات
نظرات زنجیرهای با اطلاعات نویسنده و موقعیت اسلاید اضافه کنید.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.drawing.PointF;
import org.aspose.slides.foss.export.SaveFormat;
import java.time.LocalDateTime;
try (Presentation prs = new Presentation()) {
var author = prs.getCommentAuthors().addAuthor("Jane Smith", "JS");
var slide = prs.getSlides().get(0);
author.getComments().addComment(
"Please verify this data before the presentation.",
slide,
new PointF(2.0f, 2.0f),
LocalDateTime.now()
);
prs.save("comments.pptx", SaveFormat.PPTX);
}تصاویر جاسازیشده
یک تصویر را از فایل به ارائه جاسازی کنید و به عنوان یک PictureFrame.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;
try (Presentation prs = new Presentation()) {
byte[] imageData = Files.readAllBytes(Path.of("logo.png"));
var image = prs.getImages().addImage(imageData);
var slide = prs.getSlides().get(0);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);
prs.save("with-image.pptx", SaveFormat.PPTX);
}ویژگیهای سند
خواندن و نوشتن ویژگیهای اصلی، برنامه و سفارشی سند.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var props = prs.getDocumentProperties();
// Core properties
props.setTitle("Q1 Results");
props.setAuthor("Finance Team");
props.setSubject("Quarterly Review");
props.setKeywords("Q1, finance, results");
// Custom property
props.setCustomPropertyValue("ReviewedBy", "Legal Team");
prs.save("deck.pptx", SaveFormat.PPTX);
}محدودیتهای شناختهشده
مناطق زیر را برمیانگیزد UnsupportedOperationException و در این نسخه در دسترس نیستند:
| منطقه | وضعیت |
|---|---|
| نمودارها | پیادهسازی نشده |
| SmartArt | پیادهسازی نشده |
| انیمیشنها و انتقالها | پیادهسازی نشده |
| خروجی PDF / HTML / SVG / تصویر | پیادهسازی نشده (فقط PPTX) |
| ماکروهای VBA | پیادهسازی نشده |
| امضاهای دیجیتال | پیادهسازی نشده |
| لینکها و تنظیمات عمل | پیادهسازی نشده |
| اشیاء OLE | پیادهسازی نشده |
| متن ریاضی | پیادهسازی نشده |
همچنین ببینید
- شروع کار: نصب و اولین برنامه
- مرجع API: مرجع کلاس و متد
- راهنماهای گامبهگام: مقالات مبتنی بر وظیفه