تبدیل اسلایدهای PowerPoint به PNG در Java
مرور کلی
این مقاله توضیح میدهد که چگونه اسلایدهای ارائه را به تصاویر PNG با استفاده از Aspose.Slides for Java تبدیل کنید. میتوانید ارائهها را در قالبهای PPT، PPTX و ODP بارگذاری کنید، هر اسلاید را رندر کنید و به عنوان یک تصویر PNG جداگانه ذخیره کنید.
مثالهای زیر رندر با مقیاس پیشفرض، افزایش مقیاس، تعیین ابعاد خروجی بر حسب پیکسل و انتخاب سبک رندر گرادیان را نشان میدهند.
تبدیل PowerPoint به PNG
یک ارائه را با کلاس Presentation بارگذاری کنید و اسلایدهای آن را از طریق مجموعه Presentation.getSlides دسترسی پیدا کنید. مثال هر اسلاید را با ISlide.getImage بدون پارامترها رندر میکند تا یک تصویر بندانگشتی ایجاد شود. سپس با استفاده از IImage.save و ImageFormat.Png هر اسلاید رندر شده را به عنوان تصویر PNG ذخیره میکند.
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage();
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Note
بارگذاری بدون پارامتر ISlide.getImage با مقیاس ۰٫۲ رندر میشود. به عنوان مثال، اسلایدی با اندازه ۷۲۰ × ۵۴۰ پوینت یک تصویر بندانگشتی ۱۴۴ × ۱۰۸ پیکسل تولید میکند. برای کنترل ابعاد خروجی، از بارگذاریهای دارای عوامل مقیاس یا اندازه تصویر صریح نشاندادهشده در پایین استفاده کنید.تبدیل PowerPoint به PNG با ابعاد سفارشی
برای کنترل ابعاد رندر، عوامل مقیاس افقی و عمودی را به ISlide.getImage پاس دهید. در این مثال هر دو عامل برابر ۲ است، بنابراین اسلایدی با اندازه ۷۲۰ × ۵۴۰ پوینت یک تصویر ۱۴۴۰ × ۱۰۸۰ پیکسل تولید میکند. عوامل مقیاس برابر نسبت ابعاد اسلاید را حفظ میکند. هر تصویر با فرمت PNG توسط IImage.save ذخیره میشود.
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
float scaleX = 2f;
float scaleY = scaleX;
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage(scaleX, scaleY);
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
تبدیل PowerPoint به PNG با اندازه سفارشی
برای تعیین ابعاد خروجی بر حسب پیکسل، به جای عوامل مقیاس، یک اندازه را به ISlide.getImage پاس دهید. این مثال هر اسلاید را با ابعاد ۹۶۰ × ۷۲۰ پیکسل رندر میکند و نتیجه را با IImage.save ذخیره میکند. برای جلوگیری از کشیدگی تصویر، ابعادی را انتخاب کنید که نسبت عرض به ارتفاع اسلاید را حفظ کند.
import com.aspose.slides.*;
import java.awt.Dimension;
Presentation presentation = new Presentation("presentation.pptx");
try {
Dimension imageSize = new Dimension(960, 720);
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage(imageSize);
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
انتخاب سبک رندر گرادیان
فرض کنید اسلایدی دارای پرکنندههای گرادیان باشد، اما انتقالها در PNG صادر شده روشنتر یا متفاوت از آنچه در PowerPoint میبینید، به نظر برسند. میتوانید از متد SaveOptions.setGradientStyle که توسط RenderingOptions به ارث برده شده است، برای انتخاب نحوه رندر گرادیانها استفاده کنید.
فایل gradient-styles.pptx را دانلود کنید و در پوشه کاری برنامه قرار دهید. اسلاید اول آن شامل دو گرادیان خطی است: از فیروزهای به نارنجی در بالا و از آبی به زرد در پایین. هر گرادیان دو توقف دارد، در ۰٪ و ۱۰۰٪.
مثال زیر این ارائه را بارگذاری میکند و همان اسلاید اول را در هر دو حالت با ISlide.getImage رندر مینماید.
import com.aspose.slides.*;
Presentation presentation = new Presentation("gradient-styles.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
int[] gradientStyles = { GradientStyle.Default, GradientStyle.PowerPointUI };
for (int style : gradientStyles) {
RenderingOptions options = new RenderingOptions();
options.setGradientStyle(style);
String styleName = style == GradientStyle.Default ? "Default" : "PowerPointUI";
IImage image = slide.getImage(options, 1f, 1f);
try {
image.save("gradient-" + styleName + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
| Default | PowerPointUI |
|---|---|
![]() |
![]() |
در این مثال، Default رنگهای میانی روشنتری تولید میکند، در حالی که PowerPointUI رنگهای میانی تیرهتری میدهد. تفاوت بسته به رنگها و نقاط توقف در گرادیان است.
Default را زمانی انتخاب کنید که خروجی استاندارد Aspose.Slides برای نیازهای شما کافی باشد. وقتی هدف شما تطبیق ظاهر با PowerPoint است، PowerPointUI را امتحان کنید. هر دو خروجی را با نتیجه مورد نظر خود مقایسه کنید؛ هیچیک بهصورت تمامعیار برتر نیست.
پرسشهای متداول
چگونه میتوانم یک شکل خاص، مانند نمودار یا تصویر، بهجای کل اسلاید صادر کنم؟
Aspose.Slides از ایجاد تصویرهای بندانگشتی برای اشکال فردی پشتیبانی میکند و به شما امکان میدهد یک شکل را به عنوان تصویر PNG رندر کنید.
آیا تبدیل موازی بر روی سرور پشتیبانی میشود؟
بله. برای هر رشته یا فرایند یک نمونه جداگانه از ارائه استفاده کنید؛ از اشتراک یک نمونه واحد بین رشتهها خودداری کنید.
محدودیتهای حالت ارزیابی هنگام صادرات به PNG چیست؟
حالت ارزیابی یک واترمارک به تصاویر خروجی اضافه میکند و تا زمانی که لایسنس اعمال نشود، محدودیتهای دیگر را اعمال میکند.

