Δημιουργία προβολέα παρουσίασης σε PHP
Εισαγωγή
Aspose.Slides for PHP via Java χρησιμοποιείται για τη δημιουργία αρχείων παρουσίασης με διαφάνειες. Αυτές οι διαφάνειες μπορούν να προβληθούν ανοίγοντας τις παρουσιάσεις στο Microsoft PowerPoint, για παράδειγμα. Ωστόσο, μερικές φορές οι προγραμματιστές μπορεί να χρειαστούν να προβάλουν τις διαφάνειες ως εικόνες στον προτιμώμενο προβολέα εικόνας ή να δημιουργήσουν τον δικό τους προβολέα παρουσίασης. Σε τέτοιες περιπτώσεις, το Aspose.Slides σας επιτρέπει να εξάγετε μια μεμονωμένη διαφάνεια ως εικόνα. Αυτό το άρθρο περιγράφει πώς να το κάνετε.
Δημιουργία εικόνας SVG από διαφάνεια
Για να δημιουργήσετε μια εικόνα SVG από μια διαφάνεια παρουσίασης με το Aspose.Slides, ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Αποκτήστε την αναφορά της διαφάνειας με βάση το δείκτη της.
- Ανοίξτε μια ροή αρχείου.
- Αποθηκεύστε τη διαφάνεια ως εικόνα SVG στη ροή αρχείου.
$slideIndex = 0;
$presentation = new Presentation("sample.pptx");
$slide = $presentation->getSlides()->get_Item($slideIndex);
$svgStream = new Java("java.io.FileOutputStream", "output.svg");
$slide->writeAsSvg($svgStream);
$svgStream->close();
$presentation->dispose();
Δημιουργία SVG με προσαρμοσμένο αναγνωριστικό σχήματος
Το Aspose.Slides μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός SVG από μια διαφάνεια με προσαρμοσμένο αναγνωριστικό σχήματος. Για να το κάνετε αυτό, χρησιμοποιήστε τη μέθοδο setId από το SvgShape. Η κλάση CustomSvgShapeFormattingController μπορεί να χρησιμοποιηθεί για να ορίσει το αναγνωριστικό σχήματος.
$slideIndex = 0;
$presentation = new Presentation("sample.pptx");
$slide = $presentation->getSlides()->get_Item($slideIndex);
$shapeFormattingController = java_closure(new CustomSvgShapeFormattingController(0), null, java("com.aspose.slides.ISvgShapeFormattingController"));
$svgOptions = new SVGOptions();
$svgOptions->setShapeFormattingController($shapeFormattingController);
$svgStream = new Java("java.io.FileOutputStream", "output.svg");
$slide->writeAsSvg($svgStream, $svgOptions);
$svgStream->close();
$presentation->dispose();
class CustomSvgShapeFormattingController {
private $m_shapeIndex;
public function __construct($shapeStartIndex) {
$this->m_shapeIndex = $shapeStartIndex;
}
public function formatShape($svgShape, $shape) {
$svgShape->setId(sprintf("shape-%d", $m_shapeIndex++));
}
}
Δημιουργία εικόνας μικρογραφίας διαφάνειας
Aspose.Slides σας βοηθά να δημιουργήσετε εικόνες μικρογραφιών διαφανειών. Για να δημιουργήσετε μια μικρογραφία μιας διαφάνειας χρησιμοποιώντας το Aspose.Slides, ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Αποκτήστε την αναφορά της διαφάνειας με βάση το δείκτη της.
- Αποκτήστε την εικόνα μικρογραφίας της αναφοράς διαφάνειας σε καθορισμένη κλίμακα.
- Αποθηκεύστε την εικόνα μικρογραφίας σε οποιαδήποτε επιθυμητή μορφή εικόνας.
$slideIndex = 0;
$scaleX = 1.0;
$scaleY = $scaleX;
$presentation = new Presentation("sample.pptx");
$slide = $presentation->getSlides()->get_Item($slideIndex);
$image = $slide->getImage($scaleX, $scaleY);
$image->save("output.jpg", ImageFormat::Jpeg);
$image->dispose();
$presentation->dispose();
Δημιουργία μικρογραφίας διαφάνειας με διαστάσεις ορισμένες από τον χρήστη
Για να δημιουργήσετε μια εικόνα μικρογραφίας διαφάνειας με διαστάσεις που καθορίζονται από τον χρήστη, ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Αποκτήστε την αναφορά της διαφάνειας με βάση το δείκτη της.
- Αποκτήστε την εικόνα μικρογραφίας της αναφοράς διαφάνειας με τις καθορισμένες διαστάσεις.
- Αποθηκεύστε την εικόνα μικρογραφίας σε οποιαδήποτε επιθυμητή μορφή εικόνας.
$slideIndex = 0;
$slideSize = new Java("java.awt.Dimension", 1200, 800);
$presentation = new Presentation("sample.pptx");
$slide = $presentation->getSlides()->get_Item($slideIndex);
$image = $slide->getImage($slideSize);
$image->save("output.jpg", ImageFormat::Jpeg);
$image->dispose();
$presentation->dispose();
Δημιουργία μικρογραφίας διαφάνειας με σημειώσεις ομιλητή
Για να δημιουργήσετε τη μικρογραφία μιας διαφάνειας με σημειώσεις ομιλητή χρησιμοποιώντας το Aspose.Slides, ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε μια παρουσία της κλάσης RenderingOptions.
- Χρησιμοποιήστε τη μέθοδο
RenderingOptions.setSlidesLayoutOptionsγια να ορίσετε τη θέση των σημειώσεων ομιλητή. - Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Αποκτήστε την αναφορά της διαφάνειας με βάση το δείκτη της.
- Αποκτήστε την εικόνα μικρογραφίας της αναφοράς διαφάνειας με τις επιλογές απόδοσης.
- Αποθηκεύστε την εικόνα μικρογραφίας σε οποιαδήποτε επιθυμητή μορφή εικόνας.
$slideIndex = 0;
$layoutingOptions = new NotesCommentsLayoutingOptions();
$layoutingOptions->setNotesPosition(NotesPositions::BottomTruncated);
$renderingOptions = new RenderingOptions();
$renderingOptions->setSlidesLayoutOptions($layoutingOptions);
$presentation = new Presentation("sample.pptx");
$slide = $presentation->getSlides()->get_Item($slideIndex);
$image = $slide->getImage($renderingOptions);
$image->save("output.png", ImageFormat::Png);
$image->dispose();
$presentation->dispose();
Ζωντανό Παράδειγμα
Μπορείτε να δοκιμάσετε τη δωρεάν εφαρμογή Aspose.Slides Viewer για να δείτε τι μπορείτε να υλοποιήσετε με το API του Aspose.Slides:

Συχνές ερωτήσεις
Μπορώ να ενσωματώσω έναν προβολέα παρουσίασης σε μια εφαρμογή web;
Ναι. Μπορείτε να χρησιμοποιήσετε το Aspose.Slides στην πλευρά του διακομιστή για να αποδίδετε διαφάνειες ως εικόνες ή HTML και να τις εμφανίζετε στον πρόγραμμα περιήγησης. Οι λειτουργίες πλοήγησης και ζουμ μπορούν να υλοποιηθούν με JavaScript για μια διαδραστική εμπειρία.
Ποιος είναι ο καλύτερος τρόπος για να εμφανίσετε διαφάνειες μέσα σε έναν προσαρμοσμένο προβολέα;
Η συνιστώμενη προσέγγιση είναι να αποδίδετε κάθε διαφάνεια ως εικόνα (π.χ., PNG ή SVG) ή να τη μετατρέψετε σε HTML χρησιμοποιώντας το Aspose.Slides, και στη συνέχεια να εμφανίσετε το αποτέλεσμα μέσα σε ένα picture box (για επιφάνεια εργασίας) ή σε έναν HTML container (για το web).
Πώς να διαχειριστείτε μεγάλες παρουσιάσεις με πολλές διαφάνειες;
Για μεγάλα σετ διαφανειών, εξετάστε τη φόρτωση με καθυστέρηση (lazy-loading) ή την απόδοση κατά απαίτηση των διαφανειών. Αυτό σημαίνει ότι το περιεχόμενο μιας διαφάνειας δημιουργείται μόνο όταν ο χρήστης μεταβεί σε αυτήν, μειώνοντας τη μνήμη και το χρόνο φόρτωσης.