PPT és PPTX konvertálása PDF-be PHP-ban [Haladó funkciók beépítve]

Áttekintés

A PowerPoint‑prezentációk (PPT, PPTX, ODP stb.) PDF formátumba való konvertálása PHP‑ben számos előnnyel jár, többek között különböző eszközök közötti kompatibilitást és a prezentáció elrendezésének, formázásának megőrzését. Ez az útmutató bemutatja, hogyan konvertálhatók a prezentációk PDF‑dokumentumokká, hogyan használhatók különféle beállítások a képminőség szabályozásához, a rejtett diák belefoglalásához, a PDF‑fájlok jelszóval védéséhez, a betűkészlet‑helyettesítések észleléséhez, a konkrét diák kiválasztásához a konvertáláshoz, valamint a megfelelőségi szabványok alkalmazásához a kimeneti dokumentumokon.

PowerPoint‑PDF konverziók

Az Aspose.Slides segítségével a következő formátumú prezentációk konvertálhatók PDF‑be:

  • PPT
  • PPTX
  • ODP

A prezentáció PDF‑be konvertálásához adja át a fájlnevet argumentumként a Presentation osztálynak, majd a save metódussal mentse a prezentációt PDF‑ként. A Presentation osztály a save metódust teszi elérhetővé, amelyet általában a prezentáció PDF‑be konvertálásához használnak.

Az Aspose.Slides lehetővé teszi a konvertálást:

  • Teljes prezentációk PDF‑be
  • Egyes diák a prezentációból PDF‑be

Az Aspose.Slides a prezentációkat PDF‑be exportálja, biztosítva, hogy a keletkezett PDF‑ek szorosan megegyezzenek az eredeti prezentációkkal. Az elemek és attribútumok pontosan kerülnek renderelésre a konvertálás során, többek között:

  • Képek
  • Szövegdobozok és alakzatok
  • Szövegformázás
  • Bekezdésformázás
  • Hiperhivatkozások
  • Fej- és láblécek
  • Felsorolások
  • Táblázatok

PowerPoint PDF‑be konvertálása

A standard PowerPoint‑PDF konvertálási folyamat az alapértelmezett beállításokat használja. Ebben az esetben az Aspose.Slides megpróbálja a megadott prezentációt a legoptimálisabb beállításokkal, maximális minőségi szinten PDF‑be konvertálni.

Ez a kód bemutatja, hogyan konvertálhat egy prezentációt (PPT, PPTX, ODP stb.) PDF‑be:

# Példányosítja a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("PowerPoint.pptx");
try {
    # Mentse a prezentációt PDF formátumba.
    $presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
    $presentation->dispose();
}

PowerPoint PDF‑be konvertálása beállításokkal

Az Aspose.Slides egyedi beállításokat—tulajdonságokat a PdfOptions osztályban—kínál, amelyek lehetővé teszik a keletkezett PDF testreszabását, jelszóval való zárolását, vagy a konvertálási folyamat menetének meghatározását.

PowerPoint PDF‑be konvertálása egyéni beállításokkal

Az egyéni konvertálási beállításokkal meghatározhatja a raszteres képek kívánt minőségi beállítását, megadhatja a metafájlok kezelésének módját, beállíthatja a szöveg tömörítési szintjét, konfigurálhatja a képek DPI‑jét, és még sok mást.

# PdfOptions osztály példányosítása.
$pdfOptions = new PdfOptions();

# JPG képek minőségének beállítása.
$pdfOptions->setJpegQuality(90);

# Képek DPI értékének beállítása.
$pdfOptions->setSufficientResolution(300);

# Metafájlok viselkedésének beállítása.
$pdfOptions->setSaveMetafilesAsPng(true);

# Szöveges tartalom szövegkompressziós szintjének beállítása.
$pdfOptions->setTextCompression(PdfTextCompression::Flate);

# PDF megfelelőségi mód definiálása.
$pdfOptions->setCompliance(PdfCompliance::Pdf15);

# A Presentation osztály példányosítása, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("PowerPoint.pptx");
try {
    # A prezentáció mentése PDF dokumentumként.
    $presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

PowerPoint PDF‑be konvertálása rejtett diák beillesztésével

Ha egy prezentáció rejtett diákot tartalmaz, a setShowHiddenSlides metódust a PdfOptions osztályból használhatja a rejtett diák eredményként kapott PDF‑ben történő oldalként való belefoglalásához.

# Példányosítja a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("PowerPoint.pptx");
try {
    # PdfOptions osztály példányosítása.
    $pdfOptions = new PdfOptions();

    # Rejtett diák hozzáadása.
    $pdfOptions->setShowHiddenSlides(true);

    # A prezentáció mentése PDF‑ként.
    $presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

PowerPoint PDF‑be konvertálása jelszóval védve

Ez a kód bemutatja, hogyan konvertálhat egy PowerPoint‑prezentációt jelszóval védett PDF‑be a PdfOptions osztály védelmi paramétereinek használatával:

# Példányosítja a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("PowerPoint.pptx");
try {
    # PdfOptions osztály példányosítása.
    $pdfOptions = new PdfOptions();

    # PDF jelszó és hozzáférési jogosultságok beállítása.
    $pdfOptions->setPassword("password");
    $pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);

    # A prezentáció mentése PDF‑ként.
    $presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Betűkészlet‑helyettesítések észlelése

Az Aspose.Slides a setWarningCallback metódust a PdfOptions osztályban biztosítja, ami lehetővé teszi a betűkészlet‑helyettesítések észlelését a prezentáció‑PDF konvertálási folyamat során.

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

// Állítsa be a figyelmeztető visszahívást a PDF opciókban.
$pdfOptions = new PdfOptions();
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions->setWarningCallback($warningCallback);

// Példányosítsa a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("sample.pptx");
try {
    // Mentse a prezentációt PDF‑ként.
    $presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

Kiválasztott diák konvertálása PowerPoint‑ból PDF‑be

Ez a kód bemutatja, hogyan konvertálhat csak a PowerPoint‑prezentáció bizonyos diáit PDF‑be:

# Példányosítja a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("PowerPoint.pptx");
try {
    # Diák számait tartalmazó tömb beállítása.
    $slides = array(1, 3);

    # A prezentáció mentése PDF‑ként.
    $presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
    $presentation->dispose();
}

PowerPoint PDF‑be konvertálása egyéni diamérettel

Ez a kód bemutatja, hogyan konvertálható a PowerPoint‑prezentáció PDF‑be meghatározott diamérettel:

$slideWidth = 612.0;
$slideHeight = 792.0;

# Példányosítja a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("SelectedSlides.pptx");

# Létrehoz egy új prezentációt módosított diamérettel.
$resizedPresentation = new Presentation();

try {
    # Beállítja az egyéni diaméretet.
    $resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);

    # Klónozza az első diát az eredeti prezentációból.
    $slide = $presentation->getSlides()->get_Item(0);
    $resizedPresentation->getSlides()->insertClone(0, $slide);

    # Mentse a méretezett prezentációt PDF-be jegyzetekkel.
    $resizedPresentation->save("PDFnotes_out.pdf", SaveFormat::Pdf);
} finally {
    $resizedPresentation->dispose();
    $presentation->dispose();
}

PowerPoint PDF‑be konvertálása jegyzetdia nézetben

Ez a kód bemutatja, hogyan konvertálható egy PowerPoint‑prezentáció PDF‑be, amely tartalmazza a jegyzeteket:

# Példányosítja a Presentation osztályt, amely egy PowerPoint vagy OpenDocument fájlt képvisel.
$presentation = new Presentation("SelectedSlides.pptx");
try {
    # PDF opciók beállítása Jegyzet elrendezéssel.
    $notesOptions = new NotesCommentsLayoutingOptions();
    $notesOptions->setNotesPosition(NotesPositions::BottomFull);
    $pdfOptions = new PdfOptions();
    $pdfOptions->setSlidesLayoutOptions($notesOptions);

    # A prezentáció mentése PDF-be jegyzetekkel.
    $presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
    $presentation->dispose();
}

PDF hozzáférhetőségi és megfelelőségi szabványok

Az Aspose.Slides lehetővé teszi egy olyan konvertálási eljárás használatát, amely megfelel a Web Content Accessibility Guidelines (WCAG) irányelveinek. A PowerPoint-dokumentumot PDF‑re exportálhatja a következő megfelelőségi szabványok bármelyikével: PDF/A1a, PDF/A1b, és PDF/UA.

Ez a kód bemutat egy PowerPoint‑PDF konvertálási folyamatot, amely különböző megfelelőségi szabványok alapján több PDF‑et hoz létre:

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

Megjegyzés: PDF/UA exportálásakor az Aspose.Slides a komplex grafikákat, például a SmartArt‑ot, diagramokat és képleteket egyetlen ábraként kezeli. Az egyes útvonal elemek nem maradnak meg különálló tartalomként, és előfordulhat, hogy artefaktumként vannak megjelölve; alternatív szöveg csak az egész ábrához kerül biztosításra.

GYIK

Konvertálhatok több PowerPoint fájlt egyszerre PDF‑be?

Igen, az Aspose.Slides támogatja több PPT vagy PPTX fájl kötegelt PDF‑be konvertálását. A fájlokon programozottan iterálhat, és alkalmazhatja a konvertálási folyamatot.

Lehetséges a konvertált PDF jelszóval védése?

Természetesen. Használja a PdfOptions osztályt, hogy beállítson jelszót és meghatározza a hozzáférési jogosultságokat a konvertálási folyamat során.

Hogyan foglalhatom bele a rejtett diákat a PDF‑be?

Használja a setShowHiddenSlides metódust a PdfOptions osztályban, hogy a rejtett diák a keletkezett PDF‑ben is szerepeljenek.

Az Aspose.Slides képes magas képminőséget biztosítani a PDF‑ben?

Igen, a képminőséget szabályozhatja a setJpegQuality és setSufficientResolution metódusok használatával a PdfOptions osztályban, hogy magas minőségű képek legyenek a PDF‑ben.

Az Aspose.Slides támogatja a PDF/A megfelelőségi szabványokat?

Igen, az Aspose.Slides lehetővé teszi a PDF‑ek exportálását, amelyek megfelelnek különböző szabványoknak, beleértve a PDF/A1a, PDF/A1b és PDF/UA szabványokat, ezáltal biztosítva, hogy dokumentumai megfeleljenek a hozzáférhetőségi és archiválási követelményeknek.

További források