Prezentációs diák konvertálása képekké PHP-ben
Bevezetés
Az Aspose.Slides for PHP via Java lehetővé teszi, hogy egyszerűen konvertálja a PowerPoint és OpenDocument prezentációs diákot különféle képtípusokra, például BMP, PNG, JPG (JPEG), GIF és egyebek.
A dia képbe konvertálásához kövesse az alábbi lépéseket:
- Határozza meg a kívánt konverziós beállításokat, és válassza ki a exportálni kívánt diákat a következők használatával:
- A TiffOptions osztályt, vagy
- A RenderingOptions osztályt.
- Generálja a dia képét a getImage metódus meghívásával.
Az Aspose.Slides for PHP via Java-ban az IImage egy olyan osztály, amely lehetővé teszi a pixeladatokkal definiált képek kezelését. Ezzel az osztállyal képeket menthet számos formátumban (BMP, JPG, PNG stb.).
Diák konvertálása bitmap képekké és a képek mentése PNG formátumban
Konvertálhat egy diát bitmap objektummá, és közvetlenül felhasználhatja az alkalmazásában. Alternatívaként konvertálhatja a diát bitmap-re, majd a képet JPEG vagy bármely más kívánt formátumban mentheti.
Ez a kód bemutatja, hogyan konvertálhatja egy prezentáció első diáját bitmap objektummá, majd PNG formátumban mentheti a képet:
$presentation = new Presentation("Presentation.pptx");
try {
// Konvertálja a prezentáció első diáját bitmap-re.
$image = $presentation->getSlides()->get_Item(0)->getImage();
try {
// Mentse a képet PNG formátumban.
$image->save("Slide_0.png", ImageFormat::Png);
} finally {
$image->dispose();
}
} finally {
$presentation->dispose();
}
Diák konvertálása képekké egyedi méretekkel
Lehet, hogy egy adott méretű képre van szüksége. A getImage egyik túlterhelésének használatával konvertálhat egy diát képpé meghatározott méretekkel (szélesség és magasság).
Ez a példakód bemutatja, hogyan hajtható végre:
$imageSize = new Java("java.awt.Dimension", 1820, 1040);
$presentation = new Presentation("Presentation.pptx");
try {
// Konvertálja a prezentáció első diáját a megadott mérettel bitmap-re.
$image = $presentation->getSlides()->get_Item(0)->getImage($imageSize);
try {
// Mentse a képet JPEG formátumban.
$image->save("Slide_0.jpg", ImageFormat::Jpeg);
} finally {
$image->dispose();
}
} finally {
$presentation->dispose();
}
Diák konvertálása képekké megjegyzésekkel és kommentárokkal
Egyes diák megjegyzéseket és kommentárokat tartalmazhatnak.
Aspose.Slides két osztályt biztosítTiffOptions és RenderingOptions—amelyek lehetővé teszik a prezentációs diák képre történő renderelésének szabályozását. Mindkét osztály tartalmazza a setSlidesLayoutOptions metódust, amely lehetővé teszi a megjegyzések és kommentárok renderelésének beállítását a diákon a kép konvertálásakor.
A NotesCommentsLayoutingOptions osztállyal megadhatja a megjegyzések és kommentárok kívánt pozícióját a keletkezett képen.
Ez a kód bemutatja, hogyan konvertálhat egy diát megjegyzésekkel és kommentárokkal:
$scaleX = 2;
$scaleY = $scaleX;
$presentation = new Presentation("Presentation_with_notes_and_comments.pptx");
try {
$notesCommentsOptions = new NotesCommentsLayoutingOptions();
$notesCommentsOptions->setNotesPosition(NotesPositions::BottomTruncated); // Állítsa be a jegyzetek pozícióját.
$notesCommentsOptions->setCommentsPosition(CommentsPositions::Right); // Állítsa be a kommentárok pozícióját.
$notesCommentsOptions->setCommentsAreaWidth(500); // Állítsa be a kommentárok területének szélességét.
$notesCommentsOptions->setCommentsAreaColor(java("java.awt.Color")->LIGHT_GRAY); // Állítsa be a kommentárok területének színét.
// Hozza létre a renderelési beállításokat.
$options = new RenderingOptions();
$options->setSlidesLayoutOptions($notesCommentsOptions);
// Alakítsa át a prezentáció első diáját képpé.
$image = $presentation->getSlides()->get_Item(0)->getImage($options, $scaleX, $scaleY);
try {
// Mentse a képet GIF formátumban.
$image->save("Image_with_notes_and_comments_0.gif", ImageFormat::Gif);
} finally {
$image->dispose();
}
} finally {
$presentation->dispose();
}
Megjegyzés
Bármely dia‑kép konvertálási folyamat során a setNotesPosition metódus nem alkalmazhatja aBottomFull beállítást (a megjegyzések pozíciójának meghatározásához), mivel a megjegyzés szövege túl nagy lehet, és így nem fér bele a megadott képméretbe.
Diák konvertálása képekké TIFF beállítások használatával
A TiffOptions osztály nagyobb szabályozást tesz lehetővé a keletkezett TIFF kép felett, lehetővé téve olyan paraméterek megadását, mint a méret, felbontás, színpaletta és egyebek.
Ez a kód egy olyan konvertálási folyamatot mutat be, amelyben a TIFF beállítások segítségével 300 DPI felbontású, 2160 × 2800 méretű fekete‑fehér képet állítunk elő:
// Töltsön be egy prezentációs fájlt.
$presentation = new Presentation("sample.pptx");
try {
// Szerezze meg a prezentáció első diáját.
$slide = $presentation->getSlides()->get_Item(0);
// Állítsa be a kimeneti TIFF kép beállításait.
$options = new TiffOptions();
$options->setImageSize(new Java("java.awt.Dimension", 2160, 2880)); // Állítsa be a kép méretét.
$options->setPixelFormat(ImagePixelFormat::Format1bppIndexed); // Állítsa be a pixel formátumot (fekete-fehér).
$options->setDpiX(300); // Állítsa be a vízszintes felbontást.
$options->setDpiY(300); // Állítsa be a függőleges felbontást.
// Konvertálja a diát a megadott beállításokkal képpé.
$image = $slide->getImage($options);
try {
// Mentse a képet TIFF formátumban.
$image->save("output.tiff", ImageFormat::Tiff);
} finally {
$image->dispose();
}
} finally {
$presentation->dispose();
}
Megjegyzés
A TIFF támogatás nem garantált a JDK 9-nél korábbi verziókban.Minden dia konvertálása képekké
Az Aspose.Slides lehetővé teszi, hogy egy prezentáció összes diáját képekké konvertálja, ezáltal a teljes prezentációt képsorozattá alakítva.
Ez a példakód bemutatja, hogyan konvertálhat egy prezentáció összes diáját képekké PHP-ben:
$scaleX = 2;
$scaleY = $scaleX;
$presentation = new Presentation("Presentation.pptx");
try {
// Renderelje a prezentációt képekké diaról diára.
for($i = 0; $i < java_values($presentation->getSlides()->size()) ; $i++) {
// Kezelje a rejtett diákat (ne renderelje a rejtett diákat).
if (java_values($presentation->getSlides()->get_Item($i)->getHidden())) {
continue;
}
// Konvertálja a diát képpé.
$image = $presentation->getSlides()->get_Item($i)->getImage($scaleX, $scaleY);
try {
// Mentse a képet JPEG formátumban.
$image->save("Slide_" . $i . ".jpg", ImageFormat::Jpeg);
} finally {
$image->dispose();
}
}
} finally {
$presentation->dispose();
}
GYIK
Támogatja-e az Aspose.Slides a diák animációval történő renderelését?
Nem, a getImage metódus csak a dia statikus képét menti, animációk nélkül.
Exportálhatók-e a rejtett diák képekként?
Igen, a rejtett diák ugyanúgy feldolgozhatók, mint a normálak. Csak gondoskodjon arról, hogy azok szerepeljenek a feldolgozási ciklusban.
Menthetők-e a képek árnyékokkal és hatásokkal?
Igen, az Aspose.Slides támogatja az árnyékok, átlátszóság és egyéb grafikai hatások renderelését a diák képként mentésekor.