在 Java 中將 PPT 和 PPTX 轉換為 JPG
簡介
將 PowerPoint 和 OpenDocument 簡報轉換為 JPG 圖像有助於共享投影片、優化效能,以及將內容嵌入網站或應用程式。Aspose.Slides 允許您將 PPTX、PPT 和 ODP 檔案轉換為高品質的 JPEG 圖像。本指南說明了不同的轉換方法。
藉由這些功能,您可以輕鬆實作自己的簡報檢視器,並為每張投影片建立縮圖。若您希望防止投影片被複製或以唯讀模式展示簡報,這將相當有用。Aspose.Slides 允許您將整個簡報或特定投影片轉換為圖像格式。
將 PowerPoint PPT/PPTX 轉換為 JPG
以下是將 PPT/PPTX 轉換為 JPG 的步驟:
- 建立 Presentation 類型的實例。
- 從 Presentation.getSlides() 集合中取得 ISlide 類型的投影片物件。
- 建立每張投影片的縮圖,然後將其轉換為 JPG。ISlide.getImage(float scaleX, float scaleY) 方法用於取得投影片的縮圖,會回傳 Images 物件。必須在所需的 ISlide 物件上呼叫 getImage 方法,並將縮圖的比例傳入該方法。
- 取得投影片縮圖後,從縮圖物件呼叫 [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/zh-hant/java/com.aspose.slides/IImage#save(String formatName, int imageFormat)) 方法。將產生的檔案名稱與圖像格式傳入該方法。
Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
for (ISlide sld : pres.getSlides()) {
// 建立完整比例的圖像
IImage slideImage = sld.getImage(1f, 1f);
// 將圖像以 JPEG 格式儲存至磁碟
try {
slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
}
} finally {
if (pres != null) pres.dispose();
}
將 PowerPoint PPT/PPTX 轉換為 JPG 並自訂尺寸
若要變更產生的縮圖與 JPG 圖像的尺寸,您可以在呼叫 ISlide.getImage(float scaleX, float scaleY) 方法時傳入 ScaleX 與 ScaleY 值:
Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
// 定義尺寸
int desiredX = 1200;
int desiredY = 800;
// 取得 X 與 Y 的縮放值
float ScaleX = (float) (1.0 / pres.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float) (1.0 / pres.getSlideSize().getSize().getHeight()) * desiredY;
for (ISlide sld : pres.getSlides())
{
// 建立完整比例的圖像
IImage slideImage = sld.getImage(ScaleX, ScaleY);
// 将图像以 JPEG 格式儲存至磁碟
try {
slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
}
} finally {
if (pres != null) pres.dispose();
}
在將投影片儲存為圖像時渲染註解
Aspose.Slides for Java 提供了在將投影片轉換為圖像時渲染簡報註解的功能。以下 Java 程式碼示範此操作:
Presentation pres = new Presentation("presentation.pptx");
try {
NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(NotesPositions.BottomTruncated);
IRenderingOptions opts = new RenderingOptions();
opts.setSlidesLayoutOptions(notesOptions);
for (ISlide sld : pres.getSlides()) {
IImage slideImage = sld.getImage(opts, new Dimension(740, 960));
try {
slideImage.save(String.format("Slide_%d.png", sld.getSlideNumber()));
} finally {
if (slideImage != null) slideImage.dispose();
}
}
} finally {
if (pres != null) pres.dispose();
}
Tip
Aspose 提供一個 免費的 Collage 網頁應用程式。使用此線上服務,您可以合併 JPG 到 JPG 或 PNG 到 PNG 圖像,建立 照片格子 等。
依照本篇文章中描述的相同原理,您可以將圖像由一種格式轉換為另一種格式。更多資訊請參閱以下頁面:將 image 轉換為 JPG; 將 JPG 轉換為 image; 將 JPG 轉換為 PNG, 將 PNG 轉換為 JPG; 將 PNG 轉換為 SVG, 將 SVG 轉換為 PNG。
常見問題
此方法是否支援批次轉換?
是,Aspose.Slides 允許在單一操作中將多張投影片批次轉換為 JPG。
轉換是否支援 SmartArt、圖表及其他複雜物件?
是,Aspose.Slides 會渲染所有內容,包括 SmartArt、圖表、表格、形狀等。但與 PowerPoint 相比,渲染精確度可能略有差異,特別是使用自訂或缺少的字型時。
處理的投影片數量有任何限制嗎?
Aspose.Slides 本身並未對可處理的投影片數量設定嚴格限制。但在處理大型簡報或高解析度圖像時,可能會遇到記憶體不足的錯誤。
另請參閱
另請參考其他將 PPT/PPTX 轉換為圖像的選項,例如: