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:

  1. 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:
  2. 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();
}

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();
}

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.