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

Áttekintés

A PowerPoint‑prezentációk (PPT, PPTX, ODP stb.) PDF formátumba konvertálása PHP‑ben számos előnnyel jár, többek között eszközök közötti kompatibilitással és a prezentáció elrendezésének, formázásának megőrzésével. Ez az útmutató bemutatja, hogyan konvertálhatók a prezentációk PDF‑dokumentumokká, hogyan szabályozhatók a képminőség, hogyan vehetők fel rejtett dia­k, hogyan védhetők jelszóval a PDF‑fájlok, hogyan detektálhatók betűkészlet‑helyettesítések, hogyan választhatók ki adott diák a konverzióhoz, valamint hogyan alkalmazhatók megfelelőségi szabványok a kimeneti dokumentumokban.

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 meg a fájl nevét argumentumként a Presentation osztálynak, majd mentse a prezentációt PDF‑ként a save metódussal. 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:

  • Teljes prezentációk PDF‑be konvertálását
  • Kiválasztott diák PDF‑be konvertálását

Az Aspose.Slides exportálja a prezentációkat PDF‑be, biztosítva, hogy a PDF‑ek szorosan megegyezzenek az eredeti prezentációkkal. A konverzió során a következő elemek és attribútumok pontosan megjelennek:

  • Képek
  • Szövegdobozok és alakzatok
  • Szövegformázás
  • Bekezdésformázás
  • Hipertárgyak
  • Fejlécek és láblécek
  • Listaelemek
  • Táblák

PowerPoint konvertálása PDF‑be

Az alapvető PowerPoint‑PDF konverziós folyamat az alapértelmezett beállításokat használja. Ebben az esetben az Aspose.Slides a megadott prezentációt a legmagasabb minőségi szinteken, optimális beállításokkal próbálja PDF‑be konvertálni.

Az alábbi példában betölt egy prezentációt, majd az összes látható diát az alapértelmezett exportálási beállításokkal PDF‑ként menti.

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 konvertálása PDF‑be opciókkal

Az Aspose.Slides egyedi opciókat – a PdfOptions osztályban található tulajdonságokat – biztosít, amelyekkel testre szabhatja a létrehozott PDF‑et, jelszóval védekezhet, vagy meghatározhatja a konverzió menetének részleteit.

PowerPoint konvertálása PDF‑be egyedi opciókkal

Egyedi konverziós opciók használatával megadhatja a raszteres képek kívánt minőségi beállítását, a metafájlok kezelését, a szöveg tömörítési szintjét, a képek DPI‑ját és még sok mást.

Az alábbi példa egy prezentációt PDF 1.5‑re exportál, 90‑es JPEG‑minőséggel, 300 DPI‑os képfelbontással, a metafájlokat PNG‑ként mentve, és Flate szöveg‑tömörítéssel.

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

Beágyazott OLE‑fájlok megőrzése PDF‑csatolmányokként

Ha a prezentáció beágyazott Excel‑munkafüzetet tartalmaz, a PDF‑fogadó számára is hozzáférhetővé teheti a munkafüzet adatát a diák megtekintése mellett. Hívja meg a setIncludeOleData metódust true‑val a beágyazott OLE‑fájlok PDF‑csatolmányként való megőrzéséhez.

Az alapértelmezett érték false: az OLE‑objektum előnézeti képe vagy ikonját jeleníti meg a PDF‑oldalon, de a beágyazott fájl nincs csatolva. true beállításakor a fájladatok is csatolmányként kerülnek a PDF‑be. Az előnézet továbbra is vizuális reprezentáció marad; a csatolmány lehetővé teszi a beágyazott fájl különálló megnyitását vagy mentését. Az OLE‑objektum nem válik interaktív Excel‑munkalappá a PDF‑oldalon.

Az alábbi példában betölt egy már beágyazott Excel‑munkafüzetet tartalmazó prezentációt, majd PDF‑ként exportálja a munkafüzettel együtt.

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

Az eredmény ellenőrzéséhez:

  1. Nyissa meg az exportált PDF‑et egy olyan nézőben, amely támogatja a csatolmányokat, például az Adobe Acrobat Reader‑ben.
  2. Nyissa meg a Attachments panelt, és keresse meg a beágyazott munkafüzetet.
  3. Mentse a csatolmányt, majd nyissa meg Excelben az adatok megtekintéséhez, vagy nyissa meg közvetlenül, ha a néző engedélyezi. A PDF‑oldalon megjelenő előnézet különálló a csatolmánytól.

PowerPoint konvertálása PDF‑be rejtett diákkal

Ha a prezentáció rejtett diákat tartalmaz, a setShowHiddenSlides metódust a PdfOptions osztályból használva a rejtett diák is oldalként kerülnek a kimeneti PDF‑be.

Az alábbi példában egy prezentációt exportál PDF‑be, a rejtett diákat is beleértve.

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 konvertálása jelszóval védett PDF‑be

Az alábbi példa egy olyan PDF‑et hoz létre, amely megnyitásához a password jelszó szükséges. A hozzáférési jogosultságok engedélyezik a nyomtatást, köztük a magas minőségű nyomtatást is.

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

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

Az Aspose.Slides a setWarningCallback metódust biztosítja a PdfOptions osztályban, amellyel a prezentáció‑PDF konverzió során észlelhetőek a betűkészlet‑helyettesítések.

Az alábbi példa egy prezentációt PDF‑be exportál, és a konzolra írja a betűkészlet‑helyettesítési figyelmeztetéseket. Figyelmeztetés csak akkor jelenik meg, ha egy nem elérhető betűkészlet helyettesítésre kerül az exportálás során.

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

Betűkészletek kezelése, amelyeknek nincs dedikált félkövér változata

A prezentációk alkalmazhatnak félkövér formázást olyan betűkészletekre, amelyeknek nincs külön félkövér változata. Ilyenkor a szöveg szintetikus félkövérré válik, ami mesterségesen vastagabbá teszi az alapgörbéket. Ha a PDF‑ben ez a szöveg túl nehéznek vagy másképp megjelenítettnek tűnik, hívja meg a PdfOptions::setRasterizeUnsupportedFontStyles metódust true‑val. Ez a beállítás a problémás szöveget bitmapként rendereli a PDF‑exportálás során, és javíthatja megjelenését bizonyos betűkészleteknél. Alapértelmezett értéke false.

A mintaprezentáció két szövegdobozt tartalmaz: egyet normál szöveggel, egyet pedig ugyanazon betűkészlet félkövér formázásával, amelynek nincs dedikált félkövér változata. Az alábbi példa betölti a prezentációt, engedélyezi a nem támogatott betűstílusok rasterizálását, és PDF‑ként exportálja:

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

Az alábbi előnézetek a letiltott és a engedélyezett kimenetet mutatják. Ebben a példában a félkövér szöveg vastagabb vonalakkal jelenik meg a beállítás letiltásakor. Amikor a beállítás engedélyezett, a vonalai vékonyabbak; a normál szöveg változatlan marad. Hasonlítsa össze az eredményeket, mielőtt kiválasztja a beállítást a saját prezentációjához.

Letiltott opció (false, alapértelmezett) Engedélyezett opció (true)
PDF with unsupported font style rasterization disabled PDF with unsupported font style rasterization enabled

Ebben a példában az opció engedélyezése csak a félkövér szöveget alakítja bitmap‑gé; nem lehet kijelölni, másolni vagy OCR nélkül keresni, és élei lágyabbnak tűnnek 800 % nagyításnál. A normál szöveg továbbra is kereshető. Letiltott állapotban mindkét karakterlánc szöveg marad.

Ez az opció a félkövérként formázott szöveget rasterizálja, ha a betűkészletnek nincs dedikált félkövér változata. A Font substitution ehelyett egy másik betűkészletet választ, ha az eredeti nem érhető el.

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

Az alábbi példa a prezentáció 1. és 3. diáját exportálja PDF‑be. A tömbben szereplő diaszámok egy‑alapúak, és a bemeneti prezentációnak legalább három diával kell rendelkeznie.

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 konvertálása PDF‑be egyedi dia‑mérettel

Az alábbi példa az első diát másolja egy új prezentációba, amelynek dia‑mérete 612 × 792 pont (8,5 × 11 hüvelyk). A diatartalmat átméretezi, hogy illeszkedjen, és az egyetlen diát PDF‑ként exportálja.

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

    // Távolítsa el az üres diát, amelyet az új prezentáció létrehozott.
    $resizedPresentation->getSlides()->removeAt(1);

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

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

Az alábbi példa egy prezentációt exportál PDF‑be, minden dia előadói jegyzeteit a dia alá helyezve. A kívánt eredmény megtekintéséhez használjon előadói jegyzeteket tartalmazó prezentációt.

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‑hez kapcsolódó hozzáférhetőség és megfelelőségi szabványok

Az Aspose.Slides lehetővé teszi olyan konverziós eljárás használatát, amely megfelel a Web Content Accessibility Guidelines (WCAG) szabványnak. A PowerPoint‑dokumentumok PDF‑be exportálhatók a következő megfelelőségi szabványok valamelyikével: PDF/A1a, PDF/A1b, és PDF/UA.

Az alábbi kód egy PowerPoint‑PDF konverziós folyamatot mutat be, amely több PDF‑et hoz létre különböző megfelelőségi szabványok szerint:

$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 egyedi útvonal‑elemek nem maradnak meg különálló tartalomként, és esetleg jelölve lesznek artefaktumként; az alternatív szöveg csak az egész ábrához kerül.

GYIK

Több PowerPoint‑fájlt is konvertálhatok egyszerre PDF‑be?

Igen, az Aspose.Slides támogatja több PPT vagy PPTX fájl kötegelt konvertálását PDF‑be. Programozott módon bejárhatja a fájlokat, és alkalmazhatja a konverziós folyamatot.

Lehet jelszóval védeni a konvertált PDF‑et?

Igen. A PdfOptions osztály segítségével beállíthatja a jelszót és a hozzáférési jogosultságokat a konverzió során.

Hogyan vehetők fel a rejtett diák a PDF‑be?

Hívja meg a setShowHiddenSlides metódust true‑val a PdfOptions osztályban, hogy a rejtett diák a kimeneti PDF‑be kerüljenek.

Az Aspose.Slides képes megőrizni a magas képminőséget a PDF‑ben?

Igen, a képminőséget a setJpegQuality és a setSufficientResolution metódusokkal szabályozhatja a PdfOptions osztályban, biztosítva a magas minőségű képeket a PDF‑ben.

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

Igen, az Aspose.Slides lehetővé teszi, hogy olyan PDF‑eket exportáljon, amelyek megfelelnek a különféle szabványoknak, beleértve a PDF/A1a, PDF/A1b és PDF/UA szabványokat, ezáltal biztosítva a hozzáférhetőségi és archiválási követelményeket.

További források