Μετατροπή Διαφανειών Παρουσίασης σε Εικόνες με Java
Εισαγωγή
Το Aspose.Slides for Java σας επιτρέπει να μετατρέπετε εύκολα διαφάνειες παρουσιάσεων PowerPoint και OpenDocument σε διάφορες μορφές εικόνας, συμπεριλαμβανομένων BMP, PNG, JPG (JPEG), GIF και άλλων.
Για να μετατρέψετε μια διαφάνεια σε εικόνα, ακολουθήστε τα παρακάτω βήματα:
- Ορίστε τις επιθυμητές ρυθμίσεις μετατροπής και επιλέξτε τις διαφάνειες που θέλετε να εξάγετε χρησιμοποιώντας:
- Το interface ITiffOptions , ή
- Το interface IRenderingOptions .
- Δημιουργήστε την εικόνα της διαφάνειας καλώντας τη μέθοδο getImage .
Στο Aspose.Slides for Java, το IImage είναι ένα interface που επιτρέπει την εργασία με εικόνες που ορίζονται από δεδομένα pixel. Μπορείτε να χρησιμοποιήσετε αυτό το interface για να αποθηκεύσετε εικόνες σε μια μεγάλη γκάμα μορφών (BMP, JPG, PNG κλπ).
Μετατροπή Διαφανειών σε Bitmap και Αποθήκευση Εικόνων σε PNG
Μπορείτε να μετατρέψετε μια διαφάνεια σε αντικείμενο bitmap και να το χρησιμοποιήσετε απευθείας στην εφαρμογή σας. Εναλλακτικά, μπορείτε να μετατρέψετε μια διαφάνεια σε bitmap και, στη συνέχεια, να αποθηκεύσετε την εικόνα σε JPEG ή σε οποιαδήποτε άλλη προτιμώμενη μορφή.
Αυτός ο κώδικας δείχνει πώς να μετατρέψετε την πρώτη διαφάνεια μιας παρουσίασης σε αντικείμενο bitmap και στη συνέχεια να αποθηκεύσετε την εικόνα σε μορφή PNG:
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Μετατρέψτε τη πρώτη διαφάνεια στην παρουσίαση σε bitmap.
IImage image = presentation.getSlides().get_Item(0).getImage();
try {
// Αποθηκεύστε την εικόνα σε μορφή PNG.
image.save("Slide_0.png", ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Μετατροπή Διαφανειών σε Εικόνες με Προσαρμοσμένα Μεγέθη
Μπορεί να χρειαστείτε μια εικόνα συγκεκριμένου μεγέθους. Χρησιμοποιώντας μια υπερφόρτωση της μεθόδου getImage, μπορείτε να μετατρέψετε μια διαφάνεια σε εικόνα με συγκεκριμένες διαστάσεις (πλάτος και ύψος).
Αυτός ο δείγματος κώδικας δείχνει πώς να το κάνετε:
Dimension imageSize = new Dimension(1820, 1040);
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Μετατρέψτε την πρώτη διαφάνεια στην παρουσίαση σε bitmap με το καθορισμένο μέγεθος.
IImage image = presentation.getSlides().get_Item(0).getImage(imageSize);
try {
// Αποθηκεύστε την εικόνα σε μορφή JPEG.
image.save("Slide_0.jpg", ImageFormat.Jpeg);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Μετατροπή Διαφανειών με Σημειώσεις και Σχόλια σε Εικόνες
Κάποιες διαφάνειες μπορεί να περιέχουν σημειώσεις και σχόλια.
Το Aspose.Slides παρέχει δύο interfaces—ITiffOptions και IRenderingOptions—που σας επιτρέπουν να ελέγχετε την απόδοση των διαφανειών παρουσίασης σε εικόνες. Και τα δύο interfaces περιλαμβάνουν τη μέθοδο setSlidesLayoutOptions, η οποία σας δίνει τη δυνατότητα να ρυθμίσετε την απόδοση σημειώσεων και σχολίων σε μια διαφάνεια κατά τη μετατροπή της σε εικόνα.
Με την κλάση NotesCommentsLayoutingOptions μπορείτε να καθορίσετε την προτιμώμενη θέση για σημειώσεις και σχόλια στην τελική εικόνα.
Αυτός ο κώδικας δείχνει πώς να μετατρέψετε μια διαφάνεια με σημειώσεις και σχόλια:
float scaleX = 2;
float scaleY = scaleX;
// Φορτώστε ένα αρχείο παρουσίασης.
Presentation presentation = new Presentation("Presentation_with_notes_and_comments.pptx");
try {
NotesCommentsLayoutingOptions notesCommentsOptions = new NotesCommentsLayoutingOptions();
notesCommentsOptions.setNotesPosition(NotesPositions.BottomTruncated); // Ορίστε τη θέση των σημειώσεων.
notesCommentsOptions.setCommentsPosition(CommentsPositions.Right); // Ορίστε τη θέση των σχολίων.
notesCommentsOptions.setCommentsAreaWidth(500); // Ορίστε το πλάτος της περιοχής σχολίων.
notesCommentsOptions.setCommentsAreaColor(Color.LIGHT_GRAY); // Ορίστε το χρώμα της περιοχής σχολίων.
// Δημιουργήστε τις επιλογές απόδοσης.
RenderingOptions options = new RenderingOptions();
options.setSlidesLayoutOptions(notesCommentsOptions);
// Μετατρέψτε την πρώτη διαφάνεια της παρουσίασης σε εικόνα.
IImage image = presentation.getSlides().get_Item(0).getImage(options, scaleX, scaleY);
try {
// Αποθηκεύστε την εικόνα σε μορφή GIF.
image.save("Image_with_notes_and_comments_0.gif", ImageFormat.Gif);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Note
Σε οποιαδήποτε διαδικασία μετατροπής διαφάνειας σε εικόνα, η μέθοδος setNotesPosition δεν μπορεί να εφαρμόσει τοBottomFull (για τον καθορισμό της θέσης των σημειώσεων) επειδή το κείμενο μιας σημείωσης μπορεί να είναι πολύ μεγάλο, καθιστώντας αδύνατη τη χωρητικότητα στην καθορισμένη διάσταση της εικόνας.
Μετατροπή Διαφανειών σε Εικόνες Χρησιμοποιώντας TIFF Options
Το interface ITiffOptions παρέχει μεγαλύτερο έλεγχο πάνω στην τελική εικόνα TIFF, επιτρέποντας τον καθορισμό παραμέτρων όπως μέγεθος, ανάλυση, παλέτα χρωμάτων κλπ.
Αυτός ο κώδικας δείχνει μια διαδικασία μετατροπής όπου χρησιμοποιούνται οι επιλογές TIFF για την εξαγωγή μιας ασπρόμαυρης εικόνας με ανάλυση 300 DPI και μέγεθος 2160 × 2800:
// Φορτώστε ένα αρχείο παρουσίασης.
Presentation presentation = new Presentation("sample.pptx");
try {
// Λάβετε την πρώτη διαφάνεια από την παρουσίαση.
ISlide slide = presentation.getSlides().get_Item(0);
// Διαμορφώστε τις ρυθμίσεις της εξαγόμενης εικόνας TIFF.
TiffOptions tiffOptions = new TiffOptions();
tiffOptions.setImageSize(new Dimension(2160, 2880)); // Ορίστε το μέγεθος της εικόνας.
tiffOptions.setPixelFormat(ImagePixelFormat.Format1bppIndexed); // Ορίστε τη μορφή pixel (μαύρο και άσπρο).
tiffOptions.setDpiX(300); // Ορίστε την οριζόντια ανάλυση.
tiffOptions.setDpiY(300); // Ορίστε την κάθετη ανάλυση.
// Μετατρέψτε τη διαφάνεια σε εικόνα με τις καθορισμένες επιλογές.
IImage image = slide.getImage(tiffOptions);
try {
// Αποθηκεύστε την εικόνα σε μορφή TIFF.
image.save("output.tiff", ImageFormat.Tiff);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Note
Η υποστήριξη TIFF δεν είναι εγγυημένη σε εκδόσεις παλαιότερες από το JDK 9.Μετατροπή Όλων των Διαφανειών σε Εικόνες
Το Aspose.Slides σας επιτρέπει να μετατρέψετε όλες τις διαφάνειες μιας παρουσίασης σε εικόνες, μετατρέποντας ουσιαστικά ολόκληρη την παρουσίαση σε μια σειρά εικόνων.
Αυτός ο δείγματος κώδικας δείχνει πώς να μετατρέψετε όλες τις διαφάνειες μιας παρουσίασης σε εικόνες σε Java:
float scaleX = 2;
float scaleY = scaleX;
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Απόδοση της παρουσίασης σε εικόνες διαφάνεια ανά διαφάνεια.
for (int i = 0 ; i < presentation.getSlides().size(); i++)
{
// Έλεγχος κρυμμένων διαφανειών (να μην αποδίδονται κρυμμένες διαφάνειες).
if (presentation.getSlides().get_Item(i).getHidden())
continue;
// Μετατροπή της διαφάνειας σε εικόνα.
IImage image = presentation.getSlides().get_Item(i).getImage(scaleX, scaleY);
try {
// Αποθήκευση της εικόνας σε μορφή JPEG.
image.save("Slide_" + i + ".jpg", ImageFormat.Jpeg);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Απόδοση Χρωματιστών Emoji
Note
Για να αποδοθούν σωστά τα χρωματιστά emoji κατά τη μετατροπή διαφανειών παρουσίασης σε εικόνες, οι γραμματοσειρές emoji που χρησιμοποιούνται στην παρουσίαση πρέπει να είναι εγκατεστημένες και διαθέσιμες στο σύστημα που εκτελεί τη μετατροπή. Για παράδειγμα, αν η παρουσίαση χρησιμοποιεί Segoe UI Emoji και αυτή η γραμματοσειρά λείπει, τα emoji ενδέχεται να εμφανιστούν μονόχρωμα στις εξαγόμενες εικόνες.Συχνές Ερωτήσεις
Υποστηρίζει το Aspose.Slides την απόδοση διαφανειών με κινούμενα γραφικά;
Όχι, η μέθοδος getImage αποθηκεύει μόνο μια στατική εικόνα της διαφάνειας, χωρίς κινούμενα γραφικά.
Μπορούν οι κρυμμένες διαφάνειες να εξαχθούν ως εικόνες;
Ναι, οι κρυμμένες διαφάνειες μπορούν να υποβληθούν σε επεξεργασία όπως οι κανονικές. Απλώς βεβαιωθείτε ότι περιλαμβάνονται στο βρόχο επεξεργασίας.
Μπορούν οι εικόνες να αποθηκευτούν με σκιές και εφέ;
Ναι, το Aspose.Slides υποστηρίζει την απόδοση σκιών, διαφάνειας και άλλων γραφικών εφέ κατά την αποθήκευση των διαφανειών ως εικόνες.