Converteer PPT en PPTX naar PDF in PHP [Geavanceerde functies inbegrepen]
Overzicht
Het converteren van PowerPoint‑presentaties (PPT, PPTX, ODP, enz.) naar PDF‑formaat in PHP biedt verschillende voordelen, waaronder compatibiliteit op verschillende apparaten en het behouden van de lay‑out en opmaak van uw presentatie. Deze gids laat zien hoe u presentaties naar PDF‑documenten converteert, verschillende opties gebruikt om de beeldkwaliteit te beheren, verborgen dia’s opneemt, PDF‑bestanden met wachtwoord beveiligt, lettertype‑substitutie detecteert, specifieke dia’s selecteert voor conversie en nalevingsstandaarden toepast op de uitvoer‑documenten.
PowerPoint naar PDF‑conversies
Met Aspose.Slides kunt u presentaties in de volgende indelingen naar PDF converteren:
- PPT
- PPTX
- ODP
Om een presentatie naar PDF te converteren, geeft u de bestandsnaam als argument aan de Presentation‑klasse en slaat u de presentatie vervolgens op als PDF met behulp van de save‑methode. De Presentation‑klasse biedt de save‑methode die doorgaans wordt gebruikt om een presentatie naar PDF te converteren.
Opmerking
Aspose.Slides for PHP via Java voegt zijn API‑informatie en versienummer toe aan de uitvoer‑documenten. Bijvoorbeeld, bij het converteren van een presentatie naar PDF vult Aspose.Slides het toepassingsveld in met “Aspose.Slides” en het PDF‑Producer‑veld met een waarde in de vorm “Aspose.Slides v XX.XX”. Let op dat u Aspose.Slides niet kunt instrueren deze informatie te wijzigen of te verwijderen uit de uitvoer‑documenten.Aspose.Slides maakt het mogelijk om:
- Complete presentaties naar PDF te converteren
- Specifieke dia’s uit een presentatie naar PDF te exporteren
Aspose.Slides exporteert presentaties naar PDF, waardoor de resulterende PDF‑bestanden nauw aansluiten bij de oorspronkelijke presentaties. Elementen en attributen worden nauwkeurig gerenderd tijdens de conversie, waaronder:
- Afbeeldingen
- Tekstvakken en vormen
- Tekstopmaak
- Alinea‑opmaak
- Hyperlinks
- Kop‑ en voetteksten
- Opsommingstekens
- Tabellen
PowerPoint naar PDF converteren
Het standaardproces voor PowerPoint‑naar‑PDF‑conversie gebruikt de standaardopties. In dit geval probeert Aspose.Slides de opgegeven presentatie naar PDF te converteren met optimale instellingen op het hoogste kwaliteitsniveau.
Het volgende voorbeeld laadt een presentatie en slaat alle zichtbare dia’s op als PDF met de standaard exportinstellingen.
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();
}
Opmerking
Aspose biedt een gratis online PowerPoint‑naar‑PDF‑converter die het presentatie‑naar‑PDF‑conversieproces demonstreert. U kunt een test uitvoeren met deze converter voor een live‑implementatie van de hier beschreven procedure.PowerPoint naar PDF converteren met opties
Aspose.Slides biedt aangepaste opties — eigenschappen onder de PdfOptions‑klasse — die u toelaten het resulterende PDF aan te passen, het PDF met een wachtwoord te beveiligen, of te specificeren hoe het conversieproces moet verlopen.
PowerPoint naar PDF converteren met aangepaste opties
Met aangepaste conversie‑opties kunt u uw gewenste kwaliteitsinstelling voor raster‑afbeeldingen definiëren, bepalen hoe metafiles verwerkt moeten worden, een compressieniveau voor tekst instellen, DPI voor afbeeldingen configureren, enz.
Het volgende voorbeeld exporteert een presentatie naar PDF 1.5 met JPEG‑kwaliteit ingesteld op 90, afbeeldingsresolutie op 300 DPI, metafiles opgeslagen als PNG en Flate‑tekstcompressie.
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();
}
Ingebedde OLE‑bestanden behouden als PDF‑bijlagen
Bevat een presentatie een ingebedde Excel‑werkmap, wilt u waarschijnlijk dat PDF‑ontvangers zowel de gegevens van de werkmap als de dia’s kunnen bekijken. Roep setIncludeOleData aan met true om ingebedde OLE‑bestanden als bijlagen in de resulterende PDF te behouden.
Standaard is de waarde false: de voorbeeld‑afbeelding of het pictogram van het OLE‑object wordt op de PDF‑pagina gerenderd, maar het ingebedde bestand wordt niet als bijlage toegevoegd. Het instellen van de optie op true voegt bovendien de bestandsdata toe. Het voorbeeld blijft een visuele weergave; de bijlage laat ontvangers het ingebedde bestand afzonderlijk openen of opslaan. Het OLE‑object wordt geen interactief Excel‑werkblad op de PDF‑pagina.
Het volgende voorbeeld laadt een presentatie die reeds een ingebedde Excel‑werkmap bevat en exporteert deze naar PDF met de werkmap als bijlage.
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();
}
Om het resultaat te controleren:
- Open de geëxporteerde PDF in een viewer die bestand‑bijlagen ondersteunt, zoals Adobe Acrobat Reader.
- Open het Attachments‑paneel van de viewer en zoek de ingebedde werkmap.
- Sla de bijlage op en open deze in Excel om de gegevens te inspecteren, of open deze direct als de viewer dit toelaat. Het voorbeeld op de PDF‑pagina is los van de bijlage.
Opmerking
De PDF/A‑normen leggen beperkingen op voor bijlagen: PDF/A‑1 verbiedt ingebedde bestanden, PDF/A‑2 staat alleen PDF/A‑bijlagen toe, en PDF/A‑3 staat andere bestandstypen toe, inclusief Excel‑werkmappen. Dit zijn eisen van de normen, geen beperkingen specifiek voor Aspose.Slides. Dit voorbeeld gebruikt de standaard PDF‑nalevingsinstelling en toont geen PDF/A‑export.PowerPoint naar PDF converteren met verborgen dia’s
Bevat een presentatie verborgen dia’s, dan kunt u de setShowHiddenSlides‑methode van de PdfOptions‑klasse aanroepen om de verborgen dia’s als pagina’s in de resulterende PDF op te nemen.
Het volgende voorbeeld exporteert een presentatie naar PDF, inclusief eventuele verborgen dia’s.
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 naar een met wachtwoord beveiligde PDF converteren
Het volgende voorbeeld exporteert een presentatie naar een PDF die geopend moet worden met het wachtwoord password. De toegangsrechten staan afdrukken toe, inclusief afdrukken van hoge kwaliteit.
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();
}
Lettertype‑substitutie detecteren
Aspose.Slides biedt de setWarningCallback‑methode onder de PdfOptions‑klasse, waarmee u lettertype‑substitutie kunt detecteren tijdens het presentatie‑naar‑PDF‑conversieproces.
Het volgende voorbeeld exporteert een presentatie naar PDF en geeft waarschuwingen over lettertype‑substitutie weer op de console. Een waarschuwing wordt alleen afgedrukt wanneer een niet‑beschikbaar lettertype wordt vervangen tijdens de export.
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();
}
Opmerking
Voor meer informatie over lettertype‑substitutie, zie het artikel Font Substitution.Omgaan met lettertypen zonder een eigen vet‑type
Een presentatie kan vetopmaak toepassen op tekst zelfs wanneer het gebruikte lettertype geen eigen vet‑type heeft. De tekst kan nog steeds vet verschijnen via synthetische vetting, die de gewone glyphs kunstmatig verdikt. Wanneer die tekst te zwaar of anderszinnig lijkt in de PDF, probeer dan PdfOptions::setRasterizeUnsupportedFontStyles aan te roepen met true. Deze optie rendert de betreffende tekst als bitmap tijdens de PDF‑export en kan de weergave voor bepaalde lettertypen verbeteren. De standaardwaarde is false.
De voorbeeldpresentatie bevat twee tekstvakken: één met gewone tekst en één met vetopmaak toegepast op hetzelfde lettertype, dat geen eigen vet‑type heeft. Het volgende voorbeeld laadt de presentatie, schakelt rasterisatie van niet‑ondersteunde lettertype‑stijlen in, en exporteert deze naar 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();
}
De volgende voorbeelden tonen de uitvoer met de optie uitgeschakeld en met de optie ingeschakeld. In dit voorbeeld heeft de vetgedrukte tekst dikkere lijnen wanneer de optie uitgeschakeld is. Met de optie ingeschakeld zijn de lijnen lichter; de gewone tekst blijft ongewijzigd. Vergelijk de resultaten voordat u de instelling voor uw presentatie kiest.
Optie uitgeschakeld (false, standaard) |
Optie ingeschakeld (true) |
|---|---|
![]() |
![]() |
In dit voorbeeld zet het inschakelen van de optie alleen de vetgedrukte tekst om in een bitmap: deze kan niet worden geselecteerd, gekopieerd of doorzocht als tekst zonder OCR, en de randen verschijnen zachter bij 800 % zoom. De gewone tekst blijft doorzoekbaar. Met de optie uitgeschakeld blijven beide strings tekst.
Deze optie rastert tekst die vet is opgemaakt wanneer het lettertype geen eigen vet‑type heeft. Font substitution selecteert in plaats daarvan een ander lettertype wanneer het oorspronkelijke niet beschikbaar is.
Selectieve dia’s van PowerPoint naar PDF converteren
Het volgende voorbeeld exporteert dia 1 en 3 uit een presentatie naar PDF. De dia‑nummers in dit array beginnen bij één, en de invoer‑presentatie moet minstens drie dia’s bevatten.
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 naar PDF converteren met aangepaste dia‑grootte
Het volgende voorbeeld kopieert de eerste dia uit een presentatie naar een nieuwe presentatie met een dia‑grootte van 612 × 792 punten (8,5 × 11 inch). Het schaalt de dia‑inhoud om te passen en exporteert de enkele dia naar 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);
// Verwijder de lege dia die bij het maken van de nieuwe presentatie is aangemaakt.
$resizedPresentation->getSlides()->removeAt(1);
$resizedPresentation->save("PDF_with_custom_slide_size.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
PowerPoint naar PDF in notitie‑dia‑weergave
Het volgende voorbeeld exporteert een presentatie naar PDF, waarbij de aantekeningen van elke dia onder de dia worden geplaatst. Gebruik een presentatie met aantekeningen om het resultaat te zien.
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();
}
Toegankelijkheid en nalevingsstandaarden voor PDF
Aspose.Slides maakt het mogelijk een conversieprocedure te gebruiken die voldoet aan de Web Content Accessibility Guidelines (WCAG). U kunt een PowerPoint‑document exporteren naar PDF met een van deze nalevingsstandaarden: PDF/A1a, PDF/A1b, en PDF/UA.
Deze code demonstreert een PowerPoint‑naar‑PDF‑conversieproces dat meerdere PDF’s genereert op basis van verschillende nalevingsstandaarden:
$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();
}
Opmerking
Aspose.Slides ondersteunt PDF‑conversie‑operaties, waardoor u PDF‑bestanden kunt converteren naar populaire bestandsformaten. U kunt PDF naar HTML, PDF naar afbeelding, PDF naar JPG, en PDF naar PNG conversies uitvoeren. Andere PDF‑conversie‑operaties naar gespecialiseerde formaten — PDF naar SVG, PDF naar TIFF, en PDF naar XML — worden eveneens ondersteund.Let op: Wanneer u exporteert naar PDF/UA, behandelt Aspose.Slides complexe grafieken zoals SmartArt, diagrammen en formules als één enkele figuur. Individuele pad‑elementen worden niet bewaard als aparte inhoud en kunnen als artefacten gemarkeerd worden; alternatieve tekst wordt alleen voor de gehele figuur geleverd.
FAQ
Kan ik meerdere PowerPoint‑bestanden in bulk naar PDF converteren?
Ja, Aspose.Slides ondersteunt batch‑conversie van meerdere PPT‑ of PPTX‑bestanden naar PDF. U kunt uw bestanden itereren en het conversieproces programmatisch toepassen.
Is het mogelijk het geconverteerde PDF te beveiligen met een wachtwoord?
Ja. Gebruik de PdfOptions‑klasse om een wachtwoord in te stellen en toegangsrechten te definiëren tijdens het conversieproces.
Hoe neem ik verborgen dia’s op in de PDF?
Roep setShowHiddenSlides aan met true in de PdfOptions‑klasse om verborgen dia’s in de resulterende PDF op te nemen.
Kan Aspose.Slides een hoge beeldkwaliteit in de PDF behouden?
Ja, u kunt de beeldkwaliteit beheersen met methoden zoals setJpegQuality en setSufficientResolution in de PdfOptions‑klasse om hoogwaardige afbeeldingen in uw PDF te waarborgen.
Ondersteunt Aspose.Slides PDF/A‑nalevingsstandaarden?
Ja, Aspose.Slides maakt het mogelijk PDF‑bestanden te exporteren die voldoen aan verschillende standaarden, waaronder PDF/A1a, PDF/A1b en PDF/UA, zodat uw documenten voldoen aan toegankelijkheids‑ en archiveringsvereisten.

