Converti PPT e PPTX in PDF in PHP [Funzionalità Avanzate Incluse]
Panoramica
La conversione delle presentazioni PowerPoint (PPT, PPTX, ODP, ecc.) in formato PDF in PHP offre diversi vantaggi, tra cui la compatibilità su diversi dispositivi e la conservazione del layout e della formattazione della presentazione. Questa guida dimostra come convertire le presentazioni in documenti PDF, utilizzare varie opzioni per controllare la qualità delle immagini, includere le diapositive nascoste, proteggere con password i file PDF, rilevare le sostituzioni di caratteri, selezionare diapositive specifiche per la conversione e applicare standard di conformità ai documenti di output.
Conversioni da PowerPoint a PDF
Utilizzando Aspose.Slides, è possibile convertire le presentazioni nei seguenti formati in PDF:
- PPT
- PPTX
- ODP
Per convertire una presentazione in PDF, passare il nome del file come argomento alla classe Presentation e poi salvare la presentazione come PDF utilizzando il metodo save. La classe Presentation espone il metodo save che è tipicamente usato per convertire una presentazione in PDF.
NOTE
Aspose.Slides per PHP via Java inserisce le informazioni sull’API e il numero di versione nei documenti di output. Per esempio, durante la conversione di una presentazione in PDF, Aspose.Slides popola il campo Application con “Aspose.Slides” e il campo PDF Producer con un valore nella forma “Aspose.Slides v XX.XX”. Nota che non è possibile istruire Aspose.Slides a modificare o rimuovere queste informazioni dai documenti di output.Aspose.Slides consente di convertire:
- Tutte le presentazioni in PDF
- Diapositive specifiche di una presentazione in PDF
Aspose.Slides esporta le presentazioni in PDF, garantendo che i PDF risultanti corrispondano fedelmente alle presentazioni originali. Gli elementi e gli attributi sono renderizzati accuratamente nella conversione, includendo:
- Immagini
- Caselle di testo e forme
- Formattazione del testo
- Formattazione dei paragrafi
- Collegamenti ipertestuali
- Intestazioni e piè di pagina
- Elenchi puntati
- Tabelle
Converti PowerPoint in PDF
Il processo standard di conversione da PowerPoint a PDF utilizza le opzioni predefinite. In questo caso, Aspose.Slides tenta di convertire la presentazione fornita in PDF utilizzando impostazioni ottimali al massimo livello di qualità.
Questo codice mostra come convertire una presentazione (PPT, PPTX, ODP, ecc.) in PDF:
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Salva la presentazione come PDF.
$presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Converti PowerPoint in PDF con Opzioni
Aspose.Slides fornisce opzioni personalizzate—proprietà della classe PdfOptions—che consentono di personalizzare il PDF risultante, proteggere il PDF con una password o specificare come deve procedere il processo di conversione.
Converti PowerPoint in PDF con Opzioni Personalizzate
Utilizzando opzioni di conversione personalizzate, è possibile definire l’impostazione di qualità preferita per le immagini raster, specificare come gestire i metafili, impostare un livello di compressione per il testo, configurare i DPI per le immagini e altro ancora.
# Istanzia la classe PdfOptions.
$pdfOptions = new PdfOptions();
# Imposta la qualità per le immagini JPG.
$pdfOptions->setJpegQuality(90);
# Imposta i DPI per le immagini.
$pdfOptions->setSufficientResolution(300);
# Imposta il comportamento per i metafili.
$pdfOptions->setSaveMetafilesAsPng(true);
# Imposta il livello di compressione del testo per il contenuto testuale.
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
# Definisci la modalità di conformità PDF.
$pdfOptions->setCompliance(PdfCompliance::Pdf15);
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Salva la presentazione come documento PDF.
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Converti PowerPoint in PDF con Diapositive Nascoste
Se una presentazione contiene diapositive nascoste, è possibile utilizzare il metodo setShowHiddenSlides della classe PdfOptions per includere le diapositive nascoste come pagine nel PDF risultante.
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Istanzia la classe PdfOptions.
$pdfOptions = new PdfOptions();
# Aggiungi le diapositive nascoste.
$pdfOptions->setShowHiddenSlides(true);
# Salva la presentazione come PDF.
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Converti PowerPoint in PDF Protetto da Password
Questo codice dimostra come convertire una presentazione PowerPoint in un PDF protetto da password utilizzando i parametri di protezione della classe PdfOptions:
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Istanzia la classe PdfOptions.
$pdfOptions = new PdfOptions();
# Imposta una password PDF e i permessi di accesso.
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
# Salva la presentazione come PDF.
$presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Rileva Sostituzioni di Font
Aspose.Slides fornisce il metodo setWarningCallback nella classe PdfOptions, permettendo di rilevare le sostituzioni di font durante il processo di conversione da presentazione a PDF.
Questo codice mostra come rilevare le sostituzioni di font:
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;
}
}
// Imposta il callback di avviso nelle opzioni PDF.
$pdfOptions = new PdfOptions();
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions->setWarningCallback($warningCallback);
// Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("sample.pptx");
try {
// Salva la presentazione come PDF.
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Converti Diapositive Selezionate in PowerPoint in PDF
Questo codice dimostra come convertire solo diapositive specifiche da una presentazione PowerPoint in PDF:
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Imposta l'array dei numeri di diapositiva.
$slides = array(1, 3);
# Salva la presentazione come PDF.
$presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Converti PowerPoint in PDF con Dimensione Personalizzata della Diapositiva
Questo codice dimostra come convertire una presentazione PowerPoint in PDF con una dimensione di diapositiva specificata:
$slideWidth = 612.0;
$slideHeight = 792.0;
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("SelectedSlides.pptx");
# Crea una nuova presentazione con una dimensione della diapositiva regolata.
$resizedPresentation = new Presentation();
try {
# Imposta la dimensione personalizzata della diapositiva.
$resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);
# Clona la prima diapositiva dalla presentazione originale.
$slide = $presentation->getSlides()->get_Item(0);
$resizedPresentation->getSlides()->insertClone(0, $slide);
# Salva la presentazione ridimensionata in PDF con le note.
$resizedPresentation->save("PDFnotes_out.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
Converti PowerPoint in PDF in Visualizzazione Note delle Diapositive
Questo codice dimostra come convertire una presentazione PowerPoint in un PDF che include le note:
# Istanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
$presentation = new Presentation("SelectedSlides.pptx");
try {
# Configura le opzioni PDF con layout delle note.
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);
$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);
# Salva la presentazione in PDF con le note.
$presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Accessibilità e Standard di Conformità per PDF
Aspose.Slides consente di utilizzare una procedura di conversione che conforma alle Linee Guida per l’Accessibilità dei Contenuti Web (WCAG). È possibile esportare un documento PowerPoint in PDF utilizzando uno di questi standard di conformità: PDF/A1a, PDF/A1b e PDF/UA.
Questo codice dimostra un processo di conversione da PowerPoint a PDF che produce più PDF basati su diversi standard di conformità:
$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();
}
Note
Aspose.Slides supporta operazioni di conversione PDF, consentendo di convertire i file PDF in formati di file popolari. È possibile eseguire le conversioni PDF in HTML, PDF in immagine, PDF in JPG, e PDF in PNG. Altre operazioni di conversione PDF verso formati specializzati—PDF in SVG, PDF in TIFF, e PDF in XML—sono anch’esse supportate.Nota: Quando si esporta in PDF/UA, Aspose.Slides tratta grafiche complesse come SmartArt, chart e formule come una singola figura. Gli elementi di percorso individuali non sono preservati come contenuto separato e possono essere marcati come artefatti; il testo alternativo è fornito solo per l’intera figura.
FAQ
Posso convertire più file PowerPoint in PDF in blocco?
Sì, Aspose.Slides supporta la conversione batch di più file PPT o PPTX in PDF. È possibile iterare sui file e applicare il processo di conversione programmaticamente.
È possibile proteggere con password il PDF convertito?
Assolutamente. Utilizzare la classe PdfOptions per impostare una password e definire i permessi di accesso durante il processo di conversione.
Come includere le diapositive nascoste nel PDF?
Utilizzare il metodo setShowHiddenSlides nella classe PdfOptions per includere le diapositive nascoste nel PDF risultante.
Aspose.Slides può mantenere alta qualità dell’immagine nel PDF?
Sì, è possibile controllare la qualità delle immagini utilizzando metodi come setJpegQuality e setSufficientResolution nella classe PdfOptions per garantire immagini ad alta qualità nel PDF.
Aspose.Slides supporta gli standard di conformità PDF/A?
Sì, Aspose.Slides consente di esportare PDF conformi a vari standard, tra cui PDF/A1a, PDF/A1b e PDF/UA, assicurando che i documenti soddisfino i requisiti di accessibilità e archiviazione.