Μετατροπή PPT και PPTX σε PDF σε PHP [Συμπεριλαμβανομένων Προχωρημένων Χαρακτηριστικών]

Επισκόπηση

Η μετατροπή παρουσιάσεων PowerPoint (PPT, PPTX, ODP κλπ.) σε μορφή PDF σε PHP προσφέρει αρκετά πλεονεκτήματα, συμπεριλαμβανομένης της συμβατότητας σε διάφορες συσκευές και της διατήρησης της διάταξης και του μορφοποίησης της παρουσίασής σας. Αυτός ο οδηγός δείχνει πώς να μετατρέψετε παρουσιάσεις σε έγγραφα PDF, να χρησιμοποιήσετε διάφορες επιλογές για τον έλεγχο της ποιότητας εικόνας, να συμπεριλάβετε κρυφές διαφάνειες, να προστατεύσετε το PDF με κωδικό, να εντοπίσετε αντικαταστάσεις γραμματοσειρών, να επιλέξετε συγκεκριμένες διαφάνειες για μετατροπή και να εφαρμόσετε πρότυπα συμμόρφωσης στα έγγραφα εξόδου.

Μετατροπές PowerPoint σε PDF

Χρησιμοποιώντας το Aspose.Slides, μπορείτε να μετατρέψετε παρουσιάσεις στις ακόλουθες μορφές σε PDF:

  • PPT
  • PPTX
  • ODP

Για να μετατρέψετε μια παρουσίαση σε PDF, περάστε το όνομα του αρχείου ως όρισμα στην κλάση Presentation και στη συνέχεια αποθηκεύστε την παρουσίαση ως PDF χρησιμοποιώντας τη μέθοδο save. Η κλάση Presentation εκθέτει τη μέθοδο save που χρησιμοποιείται συνήθως για τη μετατροπή μιας παρουσίασης σε PDF.

Το Aspose.Slides σάς επιτρέπει να μετατρέψετε:

  • Ολόκληρες παρουσιάσεις σε PDF
  • Συγκεκριμένες διαφάνειες από μια παρουσίαση σε PDF

Το Aspose.Slides εξάγει παρουσιάσεις σε PDF, διασφαλίζοντας ότι τα παραγόμενα PDF ταιριάζουν στενά με τις αρχικές παρουσιάσεις. Τα στοιχεία και τα χαρακτηριστικά αποδίδονται ακριβώς κατά τη μετατροπή, συμπεριλαμβανομένων:

  • Εικόνες
  • Πλαίσια κειμένου και σχήματα
  • Μορφοποίηση κειμένου
  • Μορφοποίηση παραγράφου
  • Υπερσυνδέσμους
  • Κεφαλίδες και υποσέλιδα
  • Κουκκίδες
  • Πίνακες

Μετατροπή PowerPoint σε PDF

Η τυπική διαδικασία μετατροπής PowerPoint‑to‑PDF χρησιμοποιεί τις προεπιλεγμένες επιλογές. Σε αυτήν την περίπτωση, το Aspose.Slides προσπαθεί να μετατρέψει την παρεχόμενη παρουσίαση σε PDF χρησιμοποιώντας βέλτιστες ρυθμίσεις στις μέγιστες ποιότητες.

Το παρακάτω παράδειγμα φορτώνει μια παρουσίαση και αποθηκεύει όλες τις ορατές διαφάνειες σε PDF χρησιμοποιώντας τις προεπιλεγμένες ρυθμίσεις εξαγωγής.

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("PowerPoint.pptx");
try {
    $presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
    $presentation->dispose();
}

Μετατροπή PowerPoint σε PDF με Επιλογές

Το Aspose.Slides παρέχει προσαρμοσμένες επιλογές—ιδιότητες στην κλάση PdfOptions—που σας επιτρέπουν να προσαρμόσετε το τελικό PDF, να κλειδώσετε το PDF με κωδικό ή να ορίσετε πώς θα διεξαχθεί η διαδικασία μετατροπής.

Μετατροπή PowerPoint σε PDF με Προσαρμοσμένες Επιλογές

Χρησιμοποιώντας προσαρμοσμένες επιλογές μετατροπής, μπορείτε να ορίσετε την προτιμώμενη ρύθμιση ποιότητας για raster εικόνες, να καθορίσετε πώς θα χειριστούν τα metafiles, να ορίσετε επίπεδο συμπίεσης για κείμενο, να ρυθμίσετε DPI για εικόνες κ.ά.

Το παρακάτω παράδειγμα εξάγει μια παρουσίαση σε PDF 1.5 με ποιότητα JPEG 90, ανάλυση εικόνας 300 DPI, metafiles αποθηκευμένα ως PNG, και συμπίεση κειμένου Flate.

use aspose\slides\PdfCompliance;
use aspose\slides\PdfOptions;
use aspose\slides\PdfTextCompression;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$pdfOptions = new PdfOptions();
$pdfOptions->setJpegQuality(90);
$pdfOptions->setSufficientResolution(300);
$pdfOptions->setSaveMetafilesAsPng(true);
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
$pdfOptions->setCompliance(PdfCompliance::Pdf15);

$presentation = new Presentation("PowerPoint.pptx");
try {
    $presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Αυτόματη Επιλογή Συμπίεσης Εικόνας

Όταν μια παρουσίαση περιέχει πολλές φωτογραφίες ή στιγμιότυπα, η μείωση του μεγέθους του εξαγόμενου PDF μπορεί να διευκολύνει την αποστολή ή τη λήψη. Καλέστε τη PdfOptions::setBestImagesCompressionRatio με true για να επιλέγεται αυτόματα ο πιο κατάλληλος αλγόριθμος συμπίεσης για κάθε εικόνα κατά την εξαγωγή PDF.

Το παρακάτω παράδειγμα φορτώνει μια υπάρχουσα παρουσίαση, ενεργοποιεί την αυτόματη επιλογή συμπίεσης εικόνας και την αποθηκεύει ως έγγραφο PDF. Όλες οι άλλες ρυθμίσεις εξαγωγής PDF διατηρούν τις προεπιλεγμένες τιμές τους.

use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$pdfOptions = new PdfOptions();
$pdfOptions->setBestImagesCompressionRatio(true);

$presentation = new Presentation("image-heavy.pptx");
try {
    $presentation->save("image-heavy.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Αυτή η επιλογή επιλέγει αλγόριθμο συμπίεσης για κάθε εικόνα. Η μείωση της τιμής που περνιέται στη setJpegQuality μειώνει την ποιότητα εικόνας JPEG, ενώ η μείωση της τιμής που περνιέται στη setSufficientResolution επιτρέπει την υποδείγματη κάθοδο εικόνων σε χαμηλότερη ανάλυση, κάτι που μπορεί να μειώσει τις λεπτομέρειες. Η ενεργοποίηση της αυτόματης επιλογής συμπίεσης δεν μειώνει αυτόματα καμία από αυτές τις ρυθμίσεις.

Η επιλογή αλγορίθμων συμπίεσης εικόνας απαιτεί πρόσθετο χρόνο επεξεργασίας και μνήμη. Η μείωση του μεγέθους εξαρτάται από τις εικόνες της παρουσίασης και τις ρυθμίσεις εξαγωγής· δεν εγγυάται σταθερή μείωση για κάθε παρουσίαση.

Διατήρηση Ενσωματωμένων Αρχείων OLE ως Συνημμένα PDF

Εάν μια παρουσίαση περιέχει ενσωματωμένο βιβλίο εργασίας Excel, ίσως θελήσετε οι παραλήπτες του PDF να έχουν πρόσβαση στα δεδομένα του βιβλίου εργασίας καθώς και να βλέπουν τις διαφάνειες. Καλέστε τη setIncludeOleData με true για να διατηρήσετε τα ενσωματωμένα αρχεία OLE ως συνημμένα στο προκύπτον PDF.

Η προεπιλεγμένη τιμή είναι false: η εικόνα προεπισκόπησης ή το εικονίδιο του αντικειμένου OLE αποδίδεται στη σελίδα PDF, αλλά το ενσωματωμένο αρχείο δεν περιλαμβάνεται ως συνημμένο. Ορίζοντας την επιλογή σε true περιλαμβάνει επίσης τα δεδομένα του αρχείου. Η προεπισκόπηση παραμένει οπτική αναπαράσταση· το συνημμένο επιτρέπει στους παραλήπτες να ανοίξουν ή να αποθηκεύσουν το ενσωματωμένο αρχείο ξεχωριστά. Το αντικείμενο OLE δεν μετατρέπεται σε διαδραστικό φύλλο Excel στη σελίδα PDF.

Το παρακάτω παράδειγμα φορτώνει μια παρουσίαση που ήδη περιέχει ενσωματωμένο βιβλίο εργασίας Excel και το εξάγει σε PDF με το βιβλίο εργασίας συνημμένο.

use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$pdfOptions = new PdfOptions();
$pdfOptions->setIncludeOleData(true);

$presentation = new Presentation("presentation.pptx");
try {
    $presentation->save("presentation.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Για να ελέγξετε το αποτέλεσμα:

  1. Ανοίξτε το εξαγόμενο PDF σε πρόγραμμα προβολής που υποστηρίζει συνημμένα αρχείων, όπως το Adobe Acrobat Reader.
  2. Ανοίξτε το πάνελ Attachments του προγράμματος προβολής και εντοπίστε το ενσωματωμένο βιβλίο εργασίας.
  3. Αποθηκεύστε το συνημμένο και ανοίξτε το σε Excel για να ελέγξετε τα δεδομένα του, ή ανοίξτε το απευθείας εάν το πρόγραμμα το επιτρέπει. Η προεπισκόπηση στη σελίδα PDF είναι ξεχωριστή από το συνημμένο.

Μετατροπή PowerPoint σε PDF με Κρυφές Διαφάνειες

Εάν μια παρουσίαση περιέχει κρυφές διαφάνειες, μπορείτε να χρησιμοποιήσετε τη μέθοδο setShowHiddenSlides από την κλάση PdfOptions για να συμπεριλάβετε τις κρυφές διαφάνειες ως σελίδες στο παραγόμενο PDF.

Το παρακάτω παράδειγμα εξάγει μια παρουσίαση σε PDF, συμπεριλαμβάνοντας τυχόν κρυφές διαφάνειες.

use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$pdfOptions = new PdfOptions();
$pdfOptions->setShowHiddenSlides(true);

$presentation = new Presentation("PowerPoint.pptx");
try {
    $presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Μετατροπή PowerPoint σε PDF με Προστασία Κωδικού

Το παρακάτω παράδειγμα εξάγει μια παρουσίαση σε PDF που απαιτεί τον κωδικό password για άνοιγμα. Τα δικαιώματα πρόσβασης επιτρέπουν εκτύπωση, συμπεριλαμβανομένης της εκτύπωσης υψηλής ποιότητας.

use aspose\slides\PdfAccessPermissions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$pdfOptions = new PdfOptions();
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);

$presentation = new Presentation("PowerPoint.pptx");
try {
    $presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Εντοπισμός Αντικατάστασης Γραμματοσειράς

Το Aspose.Slides παρέχει τη μέθοδο setWarningCallback στην κλάση PdfOptions, επιτρέποντας τον εντοπισμό αντικαταστάσεων γραμματοσειρών κατά τη διαδικασία μετατροπής παρουσίασης‑σε‑PDF.

Το παρακάτω παράδειγμα εξάγει μια παρουσίαση σε PDF και εκτυπώνει προειδοποιήσεις αντικατάστασης γραμματοσειράς στην κονσόλα. Μία προειδοποίηση εκτυπώνεται μόνο όταν μια μη διαθέσιμη γραμματοσειρά αντικαθίσταται κατά την εξαγωγή.

use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\ReturnAction;
use aspose\slides\SaveFormat;
use aspose\slides\WarningType;

class FontSubstitutionHandler {
    function warning($warning)
    {
        if (java_values($warning->getWarningType()) == WarningType::DataLoss && $warning->getDescription()->startsWith("Font will be substituted")) {
            echo("Font substitution warning: " . $warning->getDescription());
        }

        return ReturnAction::Continue;
    }
}

$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));

$pdfOptions = new PdfOptions();
$pdfOptions->setWarningCallback($warningCallback);

$presentation = new Presentation("sample.pptx");
try {
    $presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Διαχείριση Γραμματοσειρών χωρίς Αφοσιωμένη Έντονη Καρδιά

Μια παρουσίαση μπορεί να εφαρμόσει έντονη μορφοποίηση σε κείμενο ακόμη και όταν η γραμματοσειρά της δεν διαθέτει αφιερωμένο έντονο τύπο. Το κείμενο μπορεί να εμφανιστεί έντονο μέσω συνθετικής έντονης μορφοποίησης, η οποία παχύνει τεχνητά τα κανονικά γλύφοι. Όταν αυτό το κείμενο φαίνεται υπερβολικά βαρύ ή διαφορετικό από την προτινόμενη εμφάνιση στο PDF, δοκιμάστε να καλέσετε τη PdfOptions::setRasterizeUnsupportedFontStyles με true. Αυτή η επιλογή αποδίδει το επηρεαζόμενο κείμενο ως bitmap κατά την εξαγωγή PDF και μπορεί να βελτιώσει την εμφάνισή του για ορισμένες γραμματοσειρές. Η προεπιλεγμένη τιμή είναι false.

Η δείγμα παρουσίαση περιέχει δύο πλαίσια κειμένου: ένα με κανονικό κείμενο και ένα με έντονη μορφοποίηση στην ίδια γραμματοσειρά, η οποία δεν διαθέτει αφιερωμένο έντονο τύπο. Το παρακάτω παράδειγμα φορτώνει την παρουσίαση, ενεργοποιεί την rasterization των μη υποστηριζόμενων στυλ γραμματοσειράς και το εξάγει σε PDF:

use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$pdfOptions = new PdfOptions();
$pdfOptions->setRasterizeUnsupportedFontStyles(true);

$presentation = new Presentation("unsupported-bold.pptx");
try {
    $presentation->save("rasterized.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Οι παρακάτω προεπισκοπήσεις δείχνουν την έξοδο με την επιλογή απενεργοποιημένη και ενεργοποιημένη. Σε αυτό το παράδειγμα, το έντονο κείμενο έχει πιο παχιές γραμμές όταν η επιλογή είναι απενεργοποιημένη. Με την επιλογή ενεργοποιημένη, οι γραμμές του είναι πιο ελαφριές· το κανονικό κείμενο παραμένει αμετάβλητο. Συγκρίνετε τα αποτελέσματα πριν επιλέξετε τη ρύθμιση για την παρουσίασή σας.

Επιλογή απενεργοποιημένη (false, η προεπιλογή) Επιλογή ενεργοποιημένη (true)
PDF with unsupported font style rasterization disabled PDF with unsupported font style rasterization enabled

Σε αυτό το παράδειγμα, η ενεργοποίηση της επιλογής μετατρέπει μόνο το έντονο κείμενο σε bitmap: δεν μπορεί να επιλεγεί, αντιγραφεί ή αναζητηθεί ως κείμενο χωρίς OCR, και οι άκρες του φαίνονται πιο απαλές σε ζουμ 800 %. Το κανονικό κείμενο παραμένει αναζητήσιμο. Με την επιλογή απενεργοποιημένη, και οι δύο αλυσίδες παραμένουν κείμενο.

Αυτή η επιλογή rasterizes κείμενο μορφοποιημένο ως έντονο όταν η γραμματοσειρά του δεν έχει αφιερωμένο έντονο τύπο. Η Font substitution επιλέγει εναλλακτική γραμματοσειρά όταν η αρχική δεν είναι διαθέσιμη.

Μετατροπή Επιλεγμένων Διαφανειών από PowerPoint σε PDF

Το παρακάτω παράδειγμα εξάγει τις διαφάνειες 1 και 3 από μια παρουσίαση σε PDF. Οι αριθμοί διαφανειών σε αυτό το πίνακα είναι με βάση το 1, και η είσοδος παρουσίαση πρέπει να περιέχει τουλάχιστον τρεις διαφάνειες.

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("PowerPoint.pptx");
try {
    $slides = array(1, 3);
    $presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
    $presentation->dispose();
}

Μετατροπή PowerPoint σε PDF με Προσαρμοσμένο Μέγεθος Διαφάνειας

Το παρακάτω παράδειγμα αντιγράφει την πρώτη διαφάνεια από μια παρουσίαση σε μια νέα παρουσίαση με μέγεθος διαφάνειας 612 × 792 points (8.5 × 11 ίντσες). Κάνει κλιμάκωση του περιεχομένου της διαφάνειας ώστε να ταιριάζει και εξάγει τη μοναδική διαφάνεια σε PDF.

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\SlideSizeScaleType;

$slideWidth = 612.0;
$slideHeight = 792.0;

$presentation = new Presentation("SelectedSlides.pptx");
$resizedPresentation = new Presentation();

try {
    $resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);
    $slide = $presentation->getSlides()->get_Item(0);
    $resizedPresentation->getSlides()->insertClone(0, $slide);

    // Αφαιρέστε τη κενή διαφάνεια που δημιουργήθηκε με τη νέα παρουσίαση.
    $resizedPresentation->getSlides()->removeAt(1);

    $resizedPresentation->save("PDF_with_custom_slide_size.pdf", SaveFormat::Pdf);
} finally {
    $resizedPresentation->dispose();
    $presentation->dispose();
}

Μετατροπή PowerPoint σε PDF σε Προβολή Σημειώσεων Διαφάνειας

Το παρακάτω παράδειγμα εξάγει μια παρουσίαση σε PDF, τοποθετώντας τις σημειώσεις του ομιλητή κάτω από κάθε διαφάνεια. Χρησιμοποιήστε μια παρουσίαση που περιέχει σημειώσεις ομιλητή για να δείτε το αποτέλεσμα.

use aspose\slides\NotesCommentsLayoutingOptions;
use aspose\slides\NotesPositions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);

$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);

$presentation = new Presentation("SelectedSlides.pptx");
try {
    $presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Πρόσβαση και Πρότυπα Συμμόρφωσης για PDF

Το Aspose.Slides σας επιτρέπει να χρησιμοποιήσετε μια διαδικασία μετατροπής που συμμορφώνεται με τις Web Content Accessibility Guidelines (WCAG). Μπορείτε να εξάγετε ένα έγγραφο PowerPoint σε PDF χρησιμοποιώντας οποιοδήποτε από τα παρακάτω πρότυπα συμμόρφωσης: PDF/A1a, PDF/A1b, και PDF/UA.

Αυτός ο κώδικας δείχνει μια διαδικασία μετατροπής PowerPoint‑to‑PDF που παράγει πολλαπλά PDF βάσει διαφορετικών προτύπων συμμόρφωσης:

$presentation = new Presentation("pres.pptx");
try {
    $pdfOptions = new PdfOptions();

    $pdfOptions->setCompliance(PdfCompliance::PdfA1a);
    $presentation->save("pres-a1a-compliance.pdf", SaveFormat::Pdf, $pdfOptions);

    $pdfOptions->setCompliance(PdfCompliance::PdfA1b);
    $presentation->save("pres-a1b-compliance.pdf", SaveFormat::Pdf, $pdfOptions);

    $pdfOptions->setCompliance(PdfCompliance::PdfUa);
    $presentation->save("pres-ua-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Σημείωση: Κατά την εξαγωγή σε PDF/UA, το Aspose.Slides αντιμετωπίζει σύνθετα γραφικά όπως SmartArt, διαγράμματα και τύπους ως μία ενιαία εικόνα. Τα μεμονωμένα στοιχεία διαδρομής δεν διατηρούνται ως ξεχωριστό περιεχόμενο και μπορεί να χαρακτηριστούν ως αντικείμενα· εναλλακτικό κείμενο παρέχεται μόνο για ολόκληρη τη φιγούρα.

FAQ

Μπορώ να μετατρέψω πολλαπλά αρχεία PowerPoint σε PDF μαζικά;

Ναι, το Aspose.Slides υποστηρίζει μαζική μετατροπή πολλαπλών αρχείων PPT ή PPTX σε PDF. Μπορείτε να επαναλάβετε τα αρχεία σας και να εφαρμόσετε τη διαδικασία μετατροπής προγραμματιστικά.

Μπορεί να προστατευτεί με κωδικό το μετατρεπόμενο PDF;

Ναι. Χρησιμοποιήστε την κλάση PdfOptions για να ορίσετε κωδικό και να ορίσετε δικαιώματα πρόσβασης κατά τη διαδικασία μετατροπής.

Πώς να συμπεριλάβετε κρυφές διαφάνειες στο PDF;

Καλέστε τη setShowHiddenSlides με true στην κλάση PdfOptions για να συμπεριλάβετε κρυφές διαφάνειες στο παραγόμενο PDF.

Μπορεί το Aspose.Slides να διατηρήσει υψηλή ποιότητα εικόνας στο PDF;

Ναι, μπορείτε να ελέγξετε την ποιότητα εικόνας χρησιμοποιώντας μεθόδους όπως η setJpegQuality και η setSufficientResolution στην κλάση PdfOptions για να εξασφαλίσετε υψηλής ποιότητας εικόνες στο PDF σας.

Υποστηρίζει το Aspose.Slides πρότυπα συμμόρφωσης PDF/A;

Ναι, το Aspose.Slides σας επιτρέπει να εξάγετε PDF που συμμορφώνονται με various standards, συμπεριλαμβανομένων των PDF/A1a, PDF/A1b, και PDF/UA, εξασφαλίζοντας ότι τα έγγραφά σας πληρούν τις απαιτήσεις προσβασιμότητας και αρχειοθέτησης.

Additional Resources