Converti PPT e PPTX in PDF con Python | Opzioni Avanzate

Panoramica

Convertire presentazioni PowerPoint (PPT, PPTX, ODP) in formato PDF con Python offre diversi vantaggi, tra cui garantire la compatibilità su diversi dispositivi e preservare il layout e la formattazione della tua presentazione. Questa guida dimostra come convertire le presentazioni in documenti PDF, utilizzare varie opzioni per controllare la qualità delle immagini, includere diapositive nascoste, proteggere con password i documenti PDF, rilevare le sostituzioni di caratteri, selezionare diapositive specifiche per la conversione e applicare gli standard di conformità ai documenti di output.

Conversioni da PowerPoint a PDF

Utilizzando Aspose.Slides, è possibile convertire le presentazioni in questi formati in PDF:

  • PPT
  • PPTX
  • ODP

Per convertire una presentazione in PDF con Python, è sufficiente passare il nome del file come argomento alla classe Presentation e quindi 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.

Aspose.Slides consente di convertire:

  • Intere presentazioni in PDF
  • Diapositive specifiche di una presentazione in PDF

Aspose.Slides esporta le presentazioni in PDF, garantendo che il contenuto dei PDF risultanti corrisponda fedelmente alle presentazioni originali. Elementi e attributi sono resi accuratamente durante la conversione, inclusi:

  • Immagini
  • Caselle di testo e forme
  • Formattazione del testo
  • Formattazione dei paragrafi
  • Collegamenti ipertestuali
  • Intestazioni e piè di pagina
  • Elenco puntato
  • 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 usando impostazioni ottimali ai massimi livelli di qualità.

L’esempio seguente carica una presentazione e salva tutte le diapositive visibili in PDF utilizzando le impostazioni di esportazione predefinite.

import aspose.slides as slides

with slides.Presentation("PowerPoint.ppt") as presentation:
    presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF)

Converti PowerPoint in PDF con Opzioni

Aspose.Slides fornisce opzioni personalizzate—proprietà nella classe PdfOptions—che consentono di personalizzare il PDF (ottenuto dal processo di conversione), bloccare il PDF con una password o persino specificare come deve avvenire il processo di conversione.

Converti PowerPoint in PDF con Opzioni Personalizzate

Utilizzando opzioni di conversione personalizzate, è possibile impostare la qualità desiderata per le immagini raster, specificare come gestire i metafile, impostare un livello di compressione per il testo, impostare DPI per le immagini, ecc.

L’esempio seguente esporta una presentazione in PDF 1.5 con qualità JPEG impostata a 90, risoluzione dell’immagine impostata a 300 DPI, metafile salvati come PNG e compressione del testo Flate.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.jpeg_quality = 90
pdf_options.sufficient_resolution = 300
pdf_options.save_metafiles_as_png = True
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE
pdf_options.compliance = slides.export.PdfCompliance.PDF15

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Seleziona Automaticamente la Compressione delle Immagini

Quando una presentazione contiene molte fotografie o screenshot, ridurre le dimensioni del PDF esportato può renderlo più facile da inviare via email o da scaricare. Imposta PdfOptions.best_images_compression_ratio su True per selezionare automaticamente l’algoritmo di compressione più appropriato per ciascuna immagine durante l’esportazione in PDF.

L’esempio seguente carica una presentazione esistente, abilita la selezione automatica della compressione delle immagini e la salva come documento PDF. Tutte le altre impostazioni di esportazione PDF mantengono i loro valori predefiniti.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.best_images_compression_ratio = True

with slides.Presentation("image-heavy.pptx") as presentation:
    presentation.save("image-heavy.pdf", slides.export.SaveFormat.PDF, pdf_options)

Questa opzione seleziona un algoritmo di compressione per ciascuna immagine. Ridurre jpeg_quality diminuisce la qualità dell’immagine JPEG, mentre ridurre sufficient_resolution consente di ridurre la risoluzione delle immagini, il che può ridurre i dettagli. L’abilitazione della selezione automatica della compressione non riduce di per sé nessuna di queste impostazioni.

La selezione degli algoritmi di compressione delle immagini richiede tempo di elaborazione e memoria aggiuntivi. La riduzione delle dimensioni dipende dalle immagini della presentazione e dalle impostazioni di esportazione; una riduzione fissa non è garantita per ogni presentazione.

Preserva i File OLE Incorporati come Allegati PDF

Se una presentazione contiene una cartella di lavoro Excel incorporata, potresti desiderare che i destinatari del PDF possano accedere ai dati della cartella di lavoro oltre a visualizzare le diapositive. Imposta PdfOptions.include_ole_data su True per preservare i file OLE incorporati come allegati nel PDF risultante.

Il valore predefinito è False: l’immagine di anteprima o l’icona dell’oggetto OLE viene renderizzata sulla pagina PDF, ma il file incorporato non viene incluso come allegato. Impostare l’opzione su True include inoltre i dati del file. L’anteprima rimane una rappresentazione visiva; l’allegato consente ai destinatari di aprire o salvare separatamente il file incorporato. L’oggetto OLE non diventa un foglio di calcolo Excel interattivo nella pagina PDF.

L’esempio seguente carica una presentazione che contiene già una cartella di lavoro Excel incorporata e la esporta in PDF con la cartella di lavoro allegata.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.include_ole_data = True

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save("presentation.pdf", slides.export.SaveFormat.PDF, pdf_options)

Per verificare il risultato:

  1. Apri il PDF esportato in un visualizzatore che supporta gli allegati di file, come Adobe Acrobat Reader.
  2. Apri il pannello Allegati del visualizzatore e individua la cartella di lavoro incorporata.
  3. Salva l’allegato e aprilo in Excel per esaminarne i dati, o aprilo direttamente se il visualizzatore lo consente. L’anteprima sulla pagina PDF è separata dall’allegato.

Converti PowerPoint in PDF con Diapositive Nascoste

Se una presentazione contiene diapositive nascoste, è possibile utilizzare un’opzione personalizzata—la proprietà show_hidden_slides della classe PdfOptions—per istruire Aspose.Slides a includere le diapositive nascoste come pagine nel PDF risultante.

L’esempio seguente esporta una presentazione in PDF, includendo eventuali diapositive nascoste.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.show_hidden_slides = True

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Converti PowerPoint in un PDF Protetto da Password

L’esempio seguente esporta una presentazione in un PDF che richiede la password password per essere aperto. Le autorizzazioni di accesso consentono la stampa, inclusa la stampa ad alta qualità.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.password = "password"
pdf_options.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Gestisci i Font Senza un Carattere Grassetto Dedicato

Una presentazione può applicare la formattazione grassetto al testo anche quando il suo font non dispone di un carattere grassetto dedicato. Il testo può comunque apparire in grassetto tramite grassetto sintetico, che ispessisce artificialmente i glifi normali. Quando quel testo appare troppo pesante o differisce dall’aspetto previsto nel PDF, prova a impostare PdfOptions.rasterize_unsupported_font_styles su True. Questa opzione rende il testo interessato come bitmap durante l’esportazione in PDF e può migliorarne l’aspetto per alcuni font. Il valore predefinito è False.

La presentazione di esempio contiene due caselle di testo: una con testo normale e una con formattazione grassetto applicata allo stesso font, che non ha un carattere grassetto dedicato. L’esempio seguente carica la presentazione, abilita la rasterizzazione degli stili di font non supportati e la esporta in PDF:

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.rasterize_unsupported_font_styles = True

with slides.Presentation("unsupported-bold.pptx") as presentation:
    presentation.save("rasterized.pdf", slides.export.SaveFormat.PDF, pdf_options)

Le anteprime seguenti mostrano l’output con l’opzione disabilitata e quello abilitata. In questo esempio, il testo in grassetto ha tratti più spessi con l’opzione disabilitata. Con l’opzione abilitata, i suoi tratti sono più leggeri; il testo normale rimane invariato. Confronta i risultati prima di scegliere l’impostazione per la tua presentazione.

Opzione disabilitata (False, predefinita) Opzione abilitata (True)
PDF with unsupported font style rasterization disabled PDF with unsupported font style rasterization enabled

In questo esempio, abilitare l’opzione trasforma solo il testo in grassetto in una bitmap: non può essere selezionato, copiato o ricercato come testo senza OCR, e i suoi bordi appaiono più morbidi a ingrandimento 800%. Il testo normale rimane ricercabile. Con l’opzione disabilitata, entrambe le stringhe rimangono testo.

Questa opzione rasterizza il testo formattato in grassetto quando il suo font non ha un carattere grassetto dedicato. Sostituzione dei font invece seleziona un altro font quando l’originale non è disponibile.

Converti Diapositive Selezionate in PowerPoint in PDF

L’esempio seguente esporta le diapositive 1 e 3 da una presentazione in PDF. I numeri delle diapositive in questo array partono da 1, e la presentazione di input deve contenere almeno tre diapositive.

import aspose.slides as slides

with slides.Presentation("PowerPoint.pptx") as presentation:
    slide_numbers = [1, 3]
    presentation.save("PPTX-to-PDF.pdf", slide_numbers, slides.export.SaveFormat.PDF)

Converti PowerPoint in PDF con Dimensione Personalizzata della Diapositiva

L’esempio seguente copia la prima diapositiva da una presentazione in una nuova presentazione con dimensione diapositiva di 612 × 792 punti (8,5 × 11 pollici). Scala il contenuto della diapositiva per adattarlo ed esporta la singola diapositiva in PDF.

import aspose.slides as slides

slide_width = 612
slide_height = 792

with slides.Presentation("SelectedSlides.pptx") as presentation:
    with slides.Presentation() as resized_presentation:
        resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT)
        slide = presentation.slides[0]
        resized_presentation.slides.insert_clone(0, slide)

        # Rimuovi la diapositiva vuota con cui è stata creata la nuova presentazione.
        resized_presentation.slides.remove_at(1)

        resized_presentation.save("PDF_with_custom_slide_size.pdf", slides.export.SaveFormat.PDF)

Converti PowerPoint in PDF nella Vista Note della Diapositiva

L’esempio seguente esporta una presentazione in PDF, posizionando le note del relatore di ciascuna diapositiva sotto la diapositiva stessa. Usa una presentazione contenente note del relatore per vedere il risultato.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.slides_layout_options = slides.export.NotesCommentsLayoutingOptions()
pdf_options.slides_layout_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL

with slides.Presentation("NotesFile.pptx") as presentation:
    presentation.save("Pdf_Notes_out.pdf", slides.export.SaveFormat.PDF, pdf_options)

Standard di Accessibilità e Conformità per PDF

Aspose.Slides consente di utilizzare una procedura di conversione che rispetta le Web Content Accessibility Guidelines (WCAG). È possibile esportare un documento PowerPoint in PDF utilizzando uno di questi standard di conformità: PDF/A1a, PDF/A1b e PDF/UA.

Questo codice Python dimostra un’operazione di conversione da PowerPoint a PDF in cui si ottengono più PDF basati su diversi standard di conformità:

import aspose.slides as slides

pres = slides.Presentation("pres.pptx")

options = slides.export.PdfOptions()

options.compliance = slides.export.PdfCompliance.PDF_A1A
pres.save("pres-a1a-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_A1B
pres.save("pres-a1b-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_UA
pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options)

Nota: Quando si esporta in PDF/UA, Aspose.Slides tratta le grafiche complesse come SmartArt, grafici e formule come un’unica figura. Gli elementi di percorso individuali non vengono conservati come contenuto separato e possono essere contrassegnati come artefatti; il testo alternativo è fornito solo per l’intera figura.

FAQ

Aspose.Slides per Python può rimuovere le informazioni sull’applicazione dal PDF?

No, Aspose.Slides per Python include automaticamente le informazioni API e il numero di versione nel PDF di output. Queste informazioni non possono essere modificate o rimosse.

Come includere solo diapositive specifiche nella conversione PDF?

È possibile specificare gli indici delle diapositive da convertire passando un array di posizioni di diapositiva al metodo save.

È possibile proteggere con password il PDF durante la conversione?

Sì, è possibile impostare una password e definire le autorizzazioni di accesso utilizzando la classe PdfOptions prima di salvare la presentazione come PDF.

Aspose.Slides supporta la conversione di PDF in altri formati?

Sì, Aspose.Slides supporta la conversione di PDF in formati come HTML, formati immagine (JPG, PNG), SVG, TIFF e XML.

Come posso garantire che il mio PDF sia conforme agli standard di accessibilità?

Imposta la proprietà compliance nella classe PdfOptions su standard come PDF_A1A, PDF_A1B o PDF_UA per garantire la conformità alle linee guida di accessibilità.

Posso includere le diapositive nascoste nell’output PDF?

Sì, impostando la proprietà show_hidden_slides nella classe PdfOptions su True, le diapositive nascoste verranno incluse nel PDF.

Come regolare la qualità e la risoluzione delle immagini durante la conversione?

Utilizza le proprietà jpeg_quality e sufficient_resolution nella classe PdfOptions per controllare la qualità e la risoluzione delle immagini nel PDF risultante.

Aspose.Slides gestisce automaticamente le sostituzioni di font?

Aspose.Slides rileva le sostituzioni di font durante la conversione e puoi gestirle utilizzando la proprietà warning_callback in SaveOptions (attualmente limitata).

Risorse Aggiuntive